Lines Matching refs:sclk

779 	struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw);  in sclk_get_rate()  local
782 div = (readl(sclk->slew_reg) >> SLEW_SYSDIV_SHIFT) & SLEW_SYSDIV; in sclk_get_rate()
797 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_set_rate() local
804 spin_lock_irqsave(&sclk->core->reg_lock, flags); in sclk_set_rate()
807 v = readl(sclk->slew_reg); in sclk_set_rate()
813 writel(v, sclk->slew_reg); in sclk_set_rate()
816 err = readl_poll_timeout_atomic(sclk->slew_reg, v, in sclk_set_rate()
819 spin_unlock_irqrestore(&sclk->core->reg_lock, flags); in sclk_set_rate()
826 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_get_parent() local
829 v = (readl(sclk->mux_reg) >> OSC_CUR_SHIFT) & OSC_CUR_MASK; in sclk_get_parent()
831 if (!sclk->parent_map) in sclk_get_parent()
835 if (sclk->parent_map[i] == v) in sclk_get_parent()
842 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_set_parent() local
847 spin_lock_irqsave(&sclk->core->reg_lock, flags); in sclk_set_parent()
850 nosc = sclk->parent_map ? sclk->parent_map[index] : index; in sclk_set_parent()
853 v = readl(sclk->mux_reg); in sclk_set_parent()
859 writel(v, sclk->mux_reg); in sclk_set_parent()
862 writel(OSC_SWEN, PIC32_SET(sclk->mux_reg)); in sclk_set_parent()
869 err = readl_poll_timeout_atomic(sclk->slew_reg, v, in sclk_set_parent()
872 spin_unlock_irqrestore(&sclk->core->reg_lock, flags); in sclk_set_parent()
880 cosc = (readl(sclk->mux_reg) >> OSC_CUR_SHIFT) & OSC_CUR_MASK; in sclk_set_parent()
892 struct pic32_sys_clk *sclk = clkhw_to_sys_clk(hw); in sclk_init() local
900 if (sclk->slew_div) { in sclk_init()
901 spin_lock_irqsave(&sclk->core->reg_lock, flags); in sclk_init()
902 v = readl(sclk->slew_reg); in sclk_init()
904 v |= sclk->slew_div << SLEW_DIV_SHIFT; in sclk_init()
906 writel(v, sclk->slew_reg); in sclk_init()
907 spin_unlock_irqrestore(&sclk->core->reg_lock, flags); in sclk_init()
933 struct pic32_sys_clk *sclk; in pic32_sys_clk_register() local
936 sclk = devm_kzalloc(core->dev, sizeof(*sclk), GFP_KERNEL); in pic32_sys_clk_register()
937 if (!sclk) in pic32_sys_clk_register()
940 sclk->core = core; in pic32_sys_clk_register()
941 sclk->hw.init = &data->init_data; in pic32_sys_clk_register()
942 sclk->mux_reg = data->mux_reg + core->iobase; in pic32_sys_clk_register()
943 sclk->slew_reg = data->slew_reg + core->iobase; in pic32_sys_clk_register()
944 sclk->slew_div = data->slew_div; in pic32_sys_clk_register()
945 sclk->parent_map = data->parent_map; in pic32_sys_clk_register()
947 clk = devm_clk_register(core->dev, &sclk->hw); in pic32_sys_clk_register()