Lines Matching refs:s3c24xx_dclk
128 struct s3c24xx_dclk {
140 container_of(x, struct s3c24xx_dclk, dclk0_div_change_nb)
143 container_of(x, struct s3c24xx_dclk, dclk1_div_change_nb)
173 static void s3c24xx_dclk_update_cmp(struct s3c24xx_dclk *s3c24xx_dclk,
179 spin_lock_irqsave(&s3c24xx_dclk->dclk_lock, flags);
181 dclk_con = readl_relaxed(s3c24xx_dclk->base);
189 writel_relaxed(dclk_con, s3c24xx_dclk->base);
191 spin_unlock_irqrestore(&s3c24xx_dclk->dclk_lock, flags);
197 struct s3c24xx_dclk *s3c24xx_dclk = to_s3c24xx_dclk0(nb);
200 s3c24xx_dclk_update_cmp(s3c24xx_dclk,
210 struct s3c24xx_dclk *s3c24xx_dclk = to_s3c24xx_dclk1(nb);
213 s3c24xx_dclk_update_cmp(s3c24xx_dclk,
223 struct s3c24xx_dclk *s3c24xx_dclk = dev_get_drvdata(dev);
225 s3c24xx_dclk->reg_save = readl_relaxed(s3c24xx_dclk->base);
231 struct s3c24xx_dclk *s3c24xx_dclk = dev_get_drvdata(dev);
233 writel_relaxed(s3c24xx_dclk->reg_save, s3c24xx_dclk->base);
243 struct s3c24xx_dclk *s3c24xx_dclk;
248 s3c24xx_dclk = devm_kzalloc(&pdev->dev,
249 struct_size(s3c24xx_dclk, clk_data.hws,
252 if (!s3c24xx_dclk)
255 clk_table = s3c24xx_dclk->clk_data.hws;
257 s3c24xx_dclk->dev = &pdev->dev;
258 s3c24xx_dclk->clk_data.num = DCLK_MAX_CLKS;
259 platform_set_drvdata(pdev, s3c24xx_dclk);
260 spin_lock_init(&s3c24xx_dclk->dclk_lock);
262 s3c24xx_dclk->base = devm_platform_ioremap_resource(pdev, 0);
263 if (IS_ERR(s3c24xx_dclk->base))
264 return PTR_ERR(s3c24xx_dclk->base);
273 s3c24xx_dclk->base, 1, 1, 0,
274 &s3c24xx_dclk->dclk_lock);
278 s3c24xx_dclk->base, 17, 1, 0,
279 &s3c24xx_dclk->dclk_lock);
282 "mux_dclk0", 0, s3c24xx_dclk->base,
283 4, 4, 0, &s3c24xx_dclk->dclk_lock);
285 "mux_dclk1", 0, s3c24xx_dclk->base,
286 20, 4, 0, &s3c24xx_dclk->dclk_lock);
290 s3c24xx_dclk->base, 0, 0,
291 &s3c24xx_dclk->dclk_lock);
294 s3c24xx_dclk->base, 16, 0,
295 &s3c24xx_dclk->dclk_lock);
326 s3c24xx_dclk->dclk0_div_change_nb.notifier_call =
329 s3c24xx_dclk->dclk1_div_change_nb.notifier_call =
333 &s3c24xx_dclk->dclk0_div_change_nb);
338 &s3c24xx_dclk->dclk1_div_change_nb);
346 &s3c24xx_dclk->dclk0_div_change_nb);
357 struct s3c24xx_dclk *s3c24xx_dclk = platform_get_drvdata(pdev);
358 struct clk_hw **clk_table = s3c24xx_dclk->clk_data.hws;
362 &s3c24xx_dclk->dclk1_div_change_nb);
364 &s3c24xx_dclk->dclk0_div_change_nb);