Lines Matching refs:asiu

30 	struct iproc_asiu *asiu;  member
49 struct iproc_asiu *asiu = clk->asiu; in iproc_asiu_clk_enable() local
56 val = readl(asiu->gate_base + clk->gate.offset); in iproc_asiu_clk_enable()
58 writel(val, asiu->gate_base + clk->gate.offset); in iproc_asiu_clk_enable()
66 struct iproc_asiu *asiu = clk->asiu; in iproc_asiu_clk_disable() local
73 val = readl(asiu->gate_base + clk->gate.offset); in iproc_asiu_clk_disable()
75 writel(val, asiu->gate_base + clk->gate.offset); in iproc_asiu_clk_disable()
82 struct iproc_asiu *asiu = clk->asiu; in iproc_asiu_clk_recalc_rate() local
92 val = readl(asiu->div_base + clk->div.offset); in iproc_asiu_clk_recalc_rate()
133 struct iproc_asiu *asiu = clk->asiu; in iproc_asiu_clk_set_rate() local
142 val = readl(asiu->div_base + clk->div.offset); in iproc_asiu_clk_set_rate()
144 writel(val, asiu->div_base + clk->div.offset); in iproc_asiu_clk_set_rate()
156 val = readl(asiu->div_base + clk->div.offset); in iproc_asiu_clk_set_rate()
172 writel(val, asiu->div_base + clk->div.offset); in iproc_asiu_clk_set_rate()
191 struct iproc_asiu *asiu; in iproc_asiu_setup() local
196 asiu = kzalloc(sizeof(*asiu), GFP_KERNEL); in iproc_asiu_setup()
197 if (WARN_ON(!asiu)) in iproc_asiu_setup()
200 asiu->clk_data = kzalloc(struct_size(asiu->clk_data, hws, num_clks), in iproc_asiu_setup()
202 if (WARN_ON(!asiu->clk_data)) in iproc_asiu_setup()
204 asiu->clk_data->num = num_clks; in iproc_asiu_setup()
206 asiu->clks = kcalloc(num_clks, sizeof(*asiu->clks), GFP_KERNEL); in iproc_asiu_setup()
207 if (WARN_ON(!asiu->clks)) in iproc_asiu_setup()
210 asiu->div_base = of_iomap(node, 0); in iproc_asiu_setup()
211 if (WARN_ON(!asiu->div_base)) in iproc_asiu_setup()
214 asiu->gate_base = of_iomap(node, 1); in iproc_asiu_setup()
215 if (WARN_ON(!asiu->gate_base)) in iproc_asiu_setup()
229 asiu_clk = &asiu->clks[i]; in iproc_asiu_setup()
231 asiu_clk->asiu = asiu; in iproc_asiu_setup()
245 asiu->clk_data->hws[i] = &asiu_clk->hw; in iproc_asiu_setup()
249 asiu->clk_data); in iproc_asiu_setup()
257 clk_hw_unregister(asiu->clk_data->hws[i]); in iproc_asiu_setup()
258 iounmap(asiu->gate_base); in iproc_asiu_setup()
261 iounmap(asiu->div_base); in iproc_asiu_setup()
264 kfree(asiu->clks); in iproc_asiu_setup()
267 kfree(asiu->clk_data); in iproc_asiu_setup()
270 kfree(asiu); in iproc_asiu_setup()