Lines Matching refs:sclk

772 	struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw);  in sclk_get_rate()  local
775 div = (readl(sclk->slew_reg) >> SLEW_SYSDIV_SHIFT) & SLEW_SYSDIV; in sclk_get_rate()
790 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_set_rate() local
797 spin_lock_irqsave(&sclk->core->reg_lock, flags); in sclk_set_rate()
800 v = readl(sclk->slew_reg); in sclk_set_rate()
806 writel(v, sclk->slew_reg); in sclk_set_rate()
809 err = readl_poll_timeout_atomic(sclk->slew_reg, v, in sclk_set_rate()
812 spin_unlock_irqrestore(&sclk->core->reg_lock, flags); in sclk_set_rate()
819 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_get_parent() local
822 v = (readl(sclk->mux_reg) >> OSC_CUR_SHIFT) & OSC_CUR_MASK; in sclk_get_parent()
824 if (!sclk->parent_map) in sclk_get_parent()
828 if (sclk->parent_map[i] == v) in sclk_get_parent()
835 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_set_parent() local
840 spin_lock_irqsave(&sclk->core->reg_lock, flags); in sclk_set_parent()
843 nosc = sclk->parent_map ? sclk->parent_map[index] : index; in sclk_set_parent()
846 v = readl(sclk->mux_reg); in sclk_set_parent()
852 writel(v, sclk->mux_reg); in sclk_set_parent()
855 writel(OSC_SWEN, PIC32_SET(sclk->mux_reg)); in sclk_set_parent()
862 err = readl_poll_timeout_atomic(sclk->slew_reg, v, in sclk_set_parent()
865 spin_unlock_irqrestore(&sclk->core->reg_lock, flags); in sclk_set_parent()
873 cosc = (readl(sclk->mux_reg) >> OSC_CUR_SHIFT) & OSC_CUR_MASK; in sclk_set_parent()
885 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_init() local
893 if (sclk->slew_div) { in sclk_init()
894 spin_lock_irqsave(&sclk->core->reg_lock, flags); in sclk_init()
895 v = readl(sclk->slew_reg); in sclk_init()
897 v |= sclk->slew_div << SLEW_DIV_SHIFT; in sclk_init()
899 writel(v, sclk->slew_reg); in sclk_init()
900 spin_unlock_irqrestore(&sclk->core->reg_lock, flags); in sclk_init()
926 struct pic32_sys_clk *sclk; in pic32_sys_clk_register() local
929 sclk = devm_kzalloc(core->dev, sizeof(*sclk), GFP_KERNEL); in pic32_sys_clk_register()
930 if (!sclk) in pic32_sys_clk_register()
933 sclk->core = core; in pic32_sys_clk_register()
934 sclk->hw.init = &data->init_data; in pic32_sys_clk_register()
935 sclk->mux_reg = data->mux_reg + core->iobase; in pic32_sys_clk_register()
936 sclk->slew_reg = data->slew_reg + core->iobase; in pic32_sys_clk_register()
937 sclk->slew_div = data->slew_div; in pic32_sys_clk_register()
938 sclk->parent_map = data->parent_map; in pic32_sys_clk_register()
940 clk = devm_clk_register(core->dev, &sclk->hw); in pic32_sys_clk_register()