Thread (6 messages) 6 messages, 3 authors, 2020-01-18

Re: [PATCH v6 2/5] clk: meson: add support for A1 PLL clock ops

From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: 2020-01-18 21:57:16
Also in: linux-amlogic, linux-arm-kernel, linux-clk, lkml

Hi Jian,

thank you for the update!

On Thu, Jan 16, 2020 at 9:04 AM Jian Hu [off-list ref] wrote:
Compared with the previous SoCs, self-adaption current module
is newly added for A1, and there is no reset parm except the
fixed pll. In A1 PLL, the PLL enable sequence is different, using
the new power-on sequence to enable the PLL.

Signed-off-by: Jian Hu <redacted>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

[...]
quoted hunk ↗ jump to hunk
@@ -323,13 +330,34 @@ static int meson_clk_pll_enable(struct clk_hw *hw)
                return 0;

        /* Make sure the pll is in reset */
-       meson_parm_write(clk->map, &pll->rst, 1);
+       if (MESON_PARM_APPLICABLE(&pll->rst))
+               meson_parm_write(clk->map, &pll->rst, 1);

        /* Enable the pll */
        meson_parm_write(clk->map, &pll->en, 1);

        /* Take the pll out reset */
-       meson_parm_write(clk->map, &pll->rst, 0);
+       if (MESON_PARM_APPLICABLE(&pll->rst))
+               meson_parm_write(clk->map, &pll->rst, 0);
+
+       /*
+        * Compared with the previous SoCs, self-adaption current module
+        * is newly added for A1, keep the new power-on sequence to enable the
+        * PLL. The sequence is:
+        * 1. enable the pll, delay for 10us
+        * 2. enable the pll self-adaption current module, delay for 40us
+        * 3. enable the lock detect module
+        */
+       if (MESON_PARM_APPLICABLE(&pll->current_en)) {
+               udelay(10);
+               meson_parm_write(clk->map, &pll->current_en, 1);
+               udelay(40);
note to myself: first I thought that these have to be converted to ulseep_range
BUT: clk_enable can be called from atomic context, so the atomic
versions (udelay instead of usleep/usleep_range) are perfectly fine in
Jian's patch


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