• Home
  • Raw
  • Download

Lines Matching +full:dclk +full:- +full:div

1 // SPDX-License-Identifier: GPL-2.0-only
4 * Copyright (C) 2013 ST-Ericsson AB
14 #include <linux/clk-provider.h>
74 pr_crit("force-enabling MXTALO\n"); in nomadik_clk_reboot_handler()
84 { .compatible = "stericsson,nomadik-src" },
122 if (of_property_read_bool(np, "disable-sxtalo")) { in nomadik_src_init()
127 if (of_property_read_bool(np, "disable-mxtalo")) { in nomadik_src_init()
138 * struct clk_pll1 - Nomadik PLL1 clock
148 * struct clk_src - Nomadik src clock
171 if (pll->id == 1) { in pll_clk_enable()
176 } else if (pll->id == 2) { in pll_clk_enable()
191 if (pll->id == 1) { in pll_clk_disable()
196 } else if (pll->id == 2) { in pll_clk_disable()
209 if (pll->id == 1) { in pll_clk_is_enabled()
212 } else if (pll->id == 2) { in pll_clk_is_enabled()
226 if (pll->id == 1) { in pll_clk_recalc_rate()
228 u8 div; in pll_clk_recalc_rate() local
232 div = val & 0x07U; in pll_clk_recalc_rate()
233 return (parent_rate * mul) >> div; in pll_clk_recalc_rate()
236 if (pll->id == 2) { in pll_clk_recalc_rate()
266 return ERR_PTR(-EINVAL); in pll_clk_register()
271 return ERR_PTR(-ENOMEM); in pll_clk_register()
277 pll->hw.init = &init; in pll_clk_register()
278 pll->id = id; in pll_clk_register()
282 ret = clk_hw_register(dev, &pll->hw); in pll_clk_register()
288 return &pll->hw; in pll_clk_register()
293 * you read-modify-write a register. Instead there are separate
303 u32 enreg = sclk->group1 ? SRC_PCKEN1 : SRC_PCKEN0; in src_clk_enable()
304 u32 sreg = sclk->group1 ? SRC_PCKSR1 : SRC_PCKSR0; in src_clk_enable()
306 writel(sclk->clkbit, src_base + enreg); in src_clk_enable()
308 while (!(readl(src_base + sreg) & sclk->clkbit)) in src_clk_enable()
316 u32 disreg = sclk->group1 ? SRC_PCKDIS1 : SRC_PCKDIS0; in src_clk_disable()
317 u32 sreg = sclk->group1 ? SRC_PCKSR1 : SRC_PCKSR0; in src_clk_disable()
319 writel(sclk->clkbit, src_base + disreg); in src_clk_disable()
321 while (readl(src_base + sreg) & sclk->clkbit) in src_clk_disable()
328 u32 sreg = sclk->group1 ? SRC_PCKSR1 : SRC_PCKSR0; in src_clk_is_enabled()
331 return !!(val & sclk->clkbit); in src_clk_is_enabled()
358 return ERR_PTR(-ENOMEM); in src_clk_register()
362 /* Do not force-disable the static SDRAM controller */ in src_clk_register()
369 sclk->hw.init = &init; in src_clk_register()
370 sclk->id = id; in src_clk_register()
371 sclk->group1 = (id > 31); in src_clk_register()
372 sclk->clkbit = BIT(id & 0x1f); in src_clk_register()
375 name, id, sclk->group1, sclk->clkbit); in src_clk_register()
377 ret = clk_hw_register(dev, &sclk->hw); in src_clk_register()
383 return &sclk->hw; in src_clk_register()
450 "3DCLK ",
488 return -ENODEV; in nomadik_src_clk_init_debugfs()
491 debugfs_create_file("nomadik-src-clk", S_IFREG | S_IRUGO, in nomadik_src_clk_init_debugfs()
502 const char *clk_name = np->name; in of_nomadik_pll_setup()
509 if (of_property_read_u32(np, "pll-id", &pll_id)) { in of_nomadik_pll_setup()
510 pr_err("%s: PLL \"%s\" missing pll-id property\n", in of_nomadik_pll_setup()
520 "st,nomadik-pll-clock", of_nomadik_pll_setup);
525 const char *clk_name = np->name; in of_nomadik_hclk_setup()
544 "st,nomadik-hclk-clock", of_nomadik_hclk_setup);
549 const char *clk_name = np->name; in of_nomadik_src_clk_setup()
556 if (of_property_read_u32(np, "clock-id", &clk_id)) { in of_nomadik_src_clk_setup()
557 pr_err("%s: SRC clock \"%s\" missing clock-id property\n", in of_nomadik_src_clk_setup()
567 "st,nomadik-src-clock", of_nomadik_src_clk_setup);