Lines Matching refs:cpuclk

52 	struct cpu_clk *cpuclk = to_cpu_clk(hwclk);  in clk_cpu_recalc_rate()  local
55 reg = readl(cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_VALUE_OFFSET); in clk_cpu_recalc_rate()
56 div = (reg >> (cpuclk->cpu * 8)) & SYS_CTRL_CLK_DIVIDER_MASK; in clk_cpu_recalc_rate()
79 struct cpu_clk *cpuclk = to_cpu_clk(hwclk); in clk_cpu_off_set_rate() local
84 reg = (readl(cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_VALUE_OFFSET) in clk_cpu_off_set_rate()
85 & (~(SYS_CTRL_CLK_DIVIDER_MASK << (cpuclk->cpu * 8)))) in clk_cpu_off_set_rate()
86 | (div << (cpuclk->cpu * 8)); in clk_cpu_off_set_rate()
87 writel(reg, cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_VALUE_OFFSET); in clk_cpu_off_set_rate()
89 reload_mask = 1 << (20 + cpuclk->cpu); in clk_cpu_off_set_rate()
91 reg = readl(cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_CTRL_OFFSET) in clk_cpu_off_set_rate()
93 writel(reg, cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_CTRL_OFFSET); in clk_cpu_off_set_rate()
96 reg = readl(cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_CTRL_OFFSET) in clk_cpu_off_set_rate()
98 writel(reg, cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_CTRL_OFFSET); in clk_cpu_off_set_rate()
103 writel(reg, cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_CTRL_OFFSET); in clk_cpu_off_set_rate()
114 struct cpu_clk *cpuclk = to_cpu_clk(hwclk); in clk_cpu_on_set_rate() local
120 if (!cpuclk->pmu_dfs) in clk_cpu_on_set_rate()
125 reg = readl(cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_CTRL2_OFFSET); in clk_cpu_on_set_rate()
139 reg = readl(cpuclk->pmu_dfs); in clk_cpu_on_set_rate()
142 writel(reg, cpuclk->pmu_dfs); in clk_cpu_on_set_rate()
144 reg = readl(cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_CTRL_OFFSET); in clk_cpu_on_set_rate()
147 writel(reg, cpuclk->reg_base + SYS_CTRL_CLK_DIVIDER_CTRL_OFFSET); in clk_cpu_on_set_rate()
149 return mvebu_pmsu_dfs_request(cpuclk->cpu); in clk_cpu_on_set_rate()
169 struct cpu_clk *cpuclk; in of_cpu_clk_setup() local
188 cpuclk = kzalloc(ncpus * sizeof(*cpuclk), GFP_KERNEL); in of_cpu_clk_setup()
189 if (WARN_ON(!cpuclk)) in of_cpu_clk_setup()
213 cpuclk[cpu].parent_name = __clk_get_name(parent_clk); in of_cpu_clk_setup()
214 cpuclk[cpu].clk_name = clk_name; in of_cpu_clk_setup()
215 cpuclk[cpu].cpu = cpu; in of_cpu_clk_setup()
216 cpuclk[cpu].reg_base = clock_complex_base; in of_cpu_clk_setup()
218 cpuclk[cpu].pmu_dfs = pmu_dfs_base + 4 * cpu; in of_cpu_clk_setup()
219 cpuclk[cpu].hw.init = &init; in of_cpu_clk_setup()
221 init.name = cpuclk[cpu].clk_name; in of_cpu_clk_setup()
224 init.parent_names = &cpuclk[cpu].parent_name; in of_cpu_clk_setup()
227 clk = clk_register(NULL, &cpuclk[cpu].hw); in of_cpu_clk_setup()
240 kfree(cpuclk[ncpus].clk_name); in of_cpu_clk_setup()
242 kfree(cpuclk); in of_cpu_clk_setup()