Thread (131 messages) 131 messages, 6 authors, 2018-02-09

[PATCH v6 20/41] ARM: da830: add new clock init using common clock framework

From: Sekhar Nori <hidden>
Date: 2018-02-05 11:08:18
Also in: linux-clk, linux-devicetree, lkml

On Friday 02 February 2018 11:33 PM, David Lechner wrote:
On 02/02/2018 08:12 AM, Sekhar Nori wrote:
quoted
On Saturday 20 January 2018 10:43 PM, David Lechner wrote:
quoted
? void __init da830_init_time(void)
? {
+#ifdef CONFIG_COMMON_CLK
+??? void __iomem *pll0, *psc0, *psc1;
+??? struct clk *clk;
+
+??? pll0 = ioremap(DA8XX_PLL0_BASE, SZ_4K);
+??? psc0 = ioremap(DA8XX_PSC0_BASE, SZ_4K);
+??? psc1 = ioremap(DA8XX_PSC1_BASE, SZ_4K);
+
+??? da8xx_register_cfgchip();
+
+??? clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, DA830_REF_FREQ);
+
+??? da830_pll_clk_init(pll0);
+
+??? da830_psc_clk_init(psc0, psc1);
+
quoted
+??? clk = clk_register_fixed_factor(NULL, "i2c0", "pll0_aux_clk", 0,
1, 1);
+??? clk_register_clkdev(clk, NULL, "i2c_davinci.1");
+
+??? clk = clk_register_fixed_factor(NULL, "timer0", "pll0_aux_clk",
0, 1, 1);
+??? clk_register_clkdev(clk, "timer0", NULL);
+
+??? clk = clk_register_fixed_factor(NULL, "timer1", "pll0_aux_clk",
0, 1, 1);
+??? clk_register_clkdev(clk, NULL, "davinci-wdt");
Isn't this better done in da830_pll_clk_init() ? I think we can get rid
of the dummy fixed factor clock too and directly use the pll0_auxclk.

I considered it, but I kind of like keeping the fixed factor clocks for
debugging purposes. If you just have "pll0_auxclk" the enable count is
not helpful because you don't know which driver did the enabling.
I think it is better to more or less reflect the hardware here. We would
not be doing this in the DT case, for example.

I see your point on debugging. Such code can perhaps be temporarily
introduced if really debugging such an issue. This will be the case with
any shared clock.

Thanks,
Sekhar
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help