From: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> To: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Geert Uytterhoeven <geert+renesas@glider.be>, Magnus Damm <magnus.damm@gmail.com>, dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Andrzej Hajda <andrzej.hajda@intel.com>, Neil Armstrong <neil.armstrong@linaro.org>, Robert Foss <robert.foss@linaro.org>, Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@gmail.com> Subject: Re: [PATCH v2 3/7] clk: renesas: r8a779g0: Add display related clocks Date: Thu, 1 Dec 2022 11:06:48 +0200 [thread overview] Message-ID: <cb85e1f4-2292-19d4-2b7e-f16c1b43d29f@ideasonboard.com> (raw) In-Reply-To: <CAMuHMdUjCS6q44XmTanu=R68GyuVECLa0B-1AFg1CUD_oV4DuA@mail.gmail.com> Hi, On 30/11/2022 21:18, Geert Uytterhoeven wrote: > Hi Tomi, > > On Wed, Nov 23, 2022 at 8:00 AM Tomi Valkeinen > <tomi.valkeinen+renesas@ideasonboard.com> wrote: >> Add clocks related to display which are needed to get the DSI output >> working. >> >> Extracted from Renesas BSP tree. >> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> >> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> >> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > Thanks for your patch! > >> --- a/drivers/clk/renesas/r8a779g0-cpg-mssr.c >> +++ b/drivers/clk/renesas/r8a779g0-cpg-mssr.c >> @@ -145,6 +145,8 @@ static const struct cpg_core_clk r8a779g0_core_clks[] __initconst = { >> DEF_FIXED("viobusd2", R8A779G0_CLK_VIOBUSD2, CLK_VIO, 2, 1), >> DEF_FIXED("vcbus", R8A779G0_CLK_VCBUS, CLK_VC, 1, 1), >> DEF_FIXED("vcbusd2", R8A779G0_CLK_VCBUSD2, CLK_VC, 2, 1), >> + DEF_FIXED("dsiref", R8A779G0_CLK_DSIREF, CLK_PLL5_DIV4, 48, 1), >> + DEF_DIV6P1("dsiext", R8A779G0_CLK_DSIEXT, CLK_PLL5_DIV4, 0x884), >> >> DEF_GEN4_SDH("sd0h", R8A779G0_CLK_SD0H, CLK_SDSRC, 0x870), >> DEF_GEN4_SD("sd0", R8A779G0_CLK_SD0, R8A779G0_CLK_SD0H, 0x870), >> @@ -161,6 +163,14 @@ static const struct mssr_mod_clk r8a779g0_mod_clks[] __initconst = { >> DEF_MOD("avb0", 211, R8A779G0_CLK_S0D4_HSC), >> DEF_MOD("avb1", 212, R8A779G0_CLK_S0D4_HSC), >> DEF_MOD("avb2", 213, R8A779G0_CLK_S0D4_HSC), >> + > > Weird horizontal and vertical spacing below... Yep. I added those to keep the lines more visible for me while working on this, but forgot to remove. > >> + DEF_MOD("dis0", 411, R8A779G0_CLK_S0D3), > > I doubt this parent clock is correct. > Based on Table 8.1.4e ("Lists of CPG clocks generated from PLL5"), > this should be one of the VIOBUS clocks. > VIOBUSD2 has the same rate as S0D3, so I'd use that one. I'm pretty clueless about Renesas clocks, and I can't find a nice clock-tree picture from the docs, but looking at the table, what you say makes sense. Both VIOBUS and VIOBUSD2 are marked to go to the video IPs, but with a bit of browsing, I can't find any more info about the clocking. Afaik, we don't care about the dis0 rate in the driver, so... Basically any clock will work here =). I'll pick VIOBUSD2 as you suggest (why would there be a /2 clock if it's not used...). >> + DEF_MOD("dsitxlink0", 415, R8A779G0_CLK_DSIREF), >> + DEF_MOD("dsitxlink1", 416, R8A779G0_CLK_DSIREF), >> + >> + DEF_MOD("fcpvd0", 508, R8A779G0_CLK_S0D3), >> + DEF_MOD("fcpvd1", 509, R8A779G0_CLK_S0D3), > > Likewise. Ack. >> + >> DEF_MOD("hscif0", 514, R8A779G0_CLK_SASYNCPERD1), >> DEF_MOD("hscif1", 515, R8A779G0_CLK_SASYNCPERD1), >> DEF_MOD("hscif2", 516, R8A779G0_CLK_SASYNCPERD1), >> @@ -193,6 +203,10 @@ static const struct mssr_mod_clk r8a779g0_mod_clks[] __initconst = { >> DEF_MOD("tmu3", 716, R8A779G0_CLK_SASYNCPERD2), >> DEF_MOD("tmu4", 717, R8A779G0_CLK_SASYNCPERD2), >> DEF_MOD("tpu0", 718, R8A779G0_CLK_SASYNCPERD4), >> + >> + DEF_MOD("vspd0", 830, R8A779G0_CLK_S0D1_VIO), >> + DEF_MOD("vspd1", 831, R8A779G0_CLK_S0D1_VIO), > > While S0D1_VIO is a VIO clock, it is clocked from PLL1, which supports > spread-spectrum, unlike PLL5. > Again, based on Table 8.1.4e ("Lists of CPG clocks generated from > PLL5"), this should be one of the VIOBUS clocks. Yep. > Not that all of this matters a lot: all of these parents are always-on, > and I think "dis0" is the only clock where we care about the actual > clock rate? No, of the clocks added above, in the drivers we only care about the dsiref rate. That's used for the DSI PLL, and that PLL is used as the DU's pclk. Tomi
WARNING: multiple messages have this Message-ID (diff)
From: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> To: Geert Uytterhoeven <geert@linux-m68k.org> Cc: devicetree@vger.kernel.org, Jernej Skrabec <jernej.skrabec@gmail.com>, Andrzej Hajda <andrzej.hajda@intel.com>, Geert Uytterhoeven <geert+renesas@glider.be>, Neil Armstrong <neil.armstrong@linaro.org>, Robert Foss <robert.foss@linaro.org>, dri-devel@lists.freedesktop.org, Jonas Karlman <jonas@kwiboo.se>, Magnus Damm <magnus.damm@gmail.com>, linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>, linux-renesas-soc@vger.kernel.org, Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> Subject: Re: [PATCH v2 3/7] clk: renesas: r8a779g0: Add display related clocks Date: Thu, 1 Dec 2022 11:06:48 +0200 [thread overview] Message-ID: <cb85e1f4-2292-19d4-2b7e-f16c1b43d29f@ideasonboard.com> (raw) In-Reply-To: <CAMuHMdUjCS6q44XmTanu=R68GyuVECLa0B-1AFg1CUD_oV4DuA@mail.gmail.com> Hi, On 30/11/2022 21:18, Geert Uytterhoeven wrote: > Hi Tomi, > > On Wed, Nov 23, 2022 at 8:00 AM Tomi Valkeinen > <tomi.valkeinen+renesas@ideasonboard.com> wrote: >> Add clocks related to display which are needed to get the DSI output >> working. >> >> Extracted from Renesas BSP tree. >> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> >> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> >> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > Thanks for your patch! > >> --- a/drivers/clk/renesas/r8a779g0-cpg-mssr.c >> +++ b/drivers/clk/renesas/r8a779g0-cpg-mssr.c >> @@ -145,6 +145,8 @@ static const struct cpg_core_clk r8a779g0_core_clks[] __initconst = { >> DEF_FIXED("viobusd2", R8A779G0_CLK_VIOBUSD2, CLK_VIO, 2, 1), >> DEF_FIXED("vcbus", R8A779G0_CLK_VCBUS, CLK_VC, 1, 1), >> DEF_FIXED("vcbusd2", R8A779G0_CLK_VCBUSD2, CLK_VC, 2, 1), >> + DEF_FIXED("dsiref", R8A779G0_CLK_DSIREF, CLK_PLL5_DIV4, 48, 1), >> + DEF_DIV6P1("dsiext", R8A779G0_CLK_DSIEXT, CLK_PLL5_DIV4, 0x884), >> >> DEF_GEN4_SDH("sd0h", R8A779G0_CLK_SD0H, CLK_SDSRC, 0x870), >> DEF_GEN4_SD("sd0", R8A779G0_CLK_SD0, R8A779G0_CLK_SD0H, 0x870), >> @@ -161,6 +163,14 @@ static const struct mssr_mod_clk r8a779g0_mod_clks[] __initconst = { >> DEF_MOD("avb0", 211, R8A779G0_CLK_S0D4_HSC), >> DEF_MOD("avb1", 212, R8A779G0_CLK_S0D4_HSC), >> DEF_MOD("avb2", 213, R8A779G0_CLK_S0D4_HSC), >> + > > Weird horizontal and vertical spacing below... Yep. I added those to keep the lines more visible for me while working on this, but forgot to remove. > >> + DEF_MOD("dis0", 411, R8A779G0_CLK_S0D3), > > I doubt this parent clock is correct. > Based on Table 8.1.4e ("Lists of CPG clocks generated from PLL5"), > this should be one of the VIOBUS clocks. > VIOBUSD2 has the same rate as S0D3, so I'd use that one. I'm pretty clueless about Renesas clocks, and I can't find a nice clock-tree picture from the docs, but looking at the table, what you say makes sense. Both VIOBUS and VIOBUSD2 are marked to go to the video IPs, but with a bit of browsing, I can't find any more info about the clocking. Afaik, we don't care about the dis0 rate in the driver, so... Basically any clock will work here =). I'll pick VIOBUSD2 as you suggest (why would there be a /2 clock if it's not used...). >> + DEF_MOD("dsitxlink0", 415, R8A779G0_CLK_DSIREF), >> + DEF_MOD("dsitxlink1", 416, R8A779G0_CLK_DSIREF), >> + >> + DEF_MOD("fcpvd0", 508, R8A779G0_CLK_S0D3), >> + DEF_MOD("fcpvd1", 509, R8A779G0_CLK_S0D3), > > Likewise. Ack. >> + >> DEF_MOD("hscif0", 514, R8A779G0_CLK_SASYNCPERD1), >> DEF_MOD("hscif1", 515, R8A779G0_CLK_SASYNCPERD1), >> DEF_MOD("hscif2", 516, R8A779G0_CLK_SASYNCPERD1), >> @@ -193,6 +203,10 @@ static const struct mssr_mod_clk r8a779g0_mod_clks[] __initconst = { >> DEF_MOD("tmu3", 716, R8A779G0_CLK_SASYNCPERD2), >> DEF_MOD("tmu4", 717, R8A779G0_CLK_SASYNCPERD2), >> DEF_MOD("tpu0", 718, R8A779G0_CLK_SASYNCPERD4), >> + >> + DEF_MOD("vspd0", 830, R8A779G0_CLK_S0D1_VIO), >> + DEF_MOD("vspd1", 831, R8A779G0_CLK_S0D1_VIO), > > While S0D1_VIO is a VIO clock, it is clocked from PLL1, which supports > spread-spectrum, unlike PLL5. > Again, based on Table 8.1.4e ("Lists of CPG clocks generated from > PLL5"), this should be one of the VIOBUS clocks. Yep. > Not that all of this matters a lot: all of these parents are always-on, > and I think "dis0" is the only clock where we care about the actual > clock rate? No, of the clocks added above, in the drivers we only care about the dsiref rate. That's used for the DSI PLL, and that PLL is used as the DU's pclk. Tomi
next prev parent reply other threads:[~2022-12-01 9:07 UTC|newest] Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-11-23 6:59 [PATCH v2 0/7] Renesas V4H DSI & DP output support Tomi Valkeinen 2022-11-23 6:59 ` Tomi Valkeinen 2022-11-23 6:59 ` [PATCH v2 1/7] dt-bindings: display: renesas,du: Provide bindings for r8a779g0 Tomi Valkeinen 2022-11-23 6:59 ` [PATCH v2 1/7] dt-bindings: display: renesas, du: " Tomi Valkeinen 2022-11-23 6:59 ` [PATCH v2 2/7] dt-bindings: display: bridge: renesas,dsi-csi2-tx: Add r8a779g0 Tomi Valkeinen 2022-11-23 6:59 ` [PATCH v2 2/7] dt-bindings: display: bridge: renesas, dsi-csi2-tx: " Tomi Valkeinen 2022-11-23 6:59 ` [PATCH v2 3/7] clk: renesas: r8a779g0: Add display related clocks Tomi Valkeinen 2022-11-23 6:59 ` Tomi Valkeinen 2022-11-30 19:18 ` Geert Uytterhoeven 2022-11-30 19:18 ` Geert Uytterhoeven 2022-12-01 9:06 ` Tomi Valkeinen [this message] 2022-12-01 9:06 ` Tomi Valkeinen 2022-12-01 9:34 ` Geert Uytterhoeven 2022-12-01 9:34 ` Geert Uytterhoeven 2022-12-01 9:26 ` Tomi Valkeinen 2022-12-01 9:26 ` Tomi Valkeinen 2022-12-01 9:45 ` Geert Uytterhoeven 2022-12-01 9:45 ` Geert Uytterhoeven 2022-11-23 6:59 ` [PATCH v2 4/7] arm64: dts: renesas: r8a779g0: Add display related nodes Tomi Valkeinen 2022-11-23 6:59 ` Tomi Valkeinen 2022-12-01 9:20 ` Geert Uytterhoeven 2022-12-01 9:20 ` Geert Uytterhoeven 2022-11-23 6:59 ` [PATCH v2 5/7] arm64: dts: renesas: white-hawk-cpu: Add DP output support Tomi Valkeinen 2022-11-23 6:59 ` Tomi Valkeinen 2022-12-01 10:03 ` Geert Uytterhoeven 2022-12-01 10:03 ` Geert Uytterhoeven 2022-11-23 6:59 ` [PATCH v2 6/7] drm: rcar-du: Add r8a779g0 support Tomi Valkeinen 2022-11-23 6:59 ` Tomi Valkeinen 2022-11-23 6:59 ` [PATCH v2 7/7] drm: rcar-du: dsi: " Tomi Valkeinen 2022-11-23 6:59 ` Tomi Valkeinen 2022-11-29 1:49 ` Laurent Pinchart 2022-11-29 1:49 ` Laurent Pinchart 2022-11-29 11:30 ` Tomi Valkeinen 2022-11-29 11:30 ` Tomi Valkeinen 2022-11-29 11:40 ` Biju Das 2022-11-29 11:40 ` Biju Das 2022-11-29 11:49 ` Geert Uytterhoeven 2022-11-29 11:49 ` Geert Uytterhoeven 2022-11-29 12:05 ` Laurent Pinchart 2022-11-29 12:05 ` Laurent Pinchart 2022-11-29 12:59 ` Tomi Valkeinen 2022-11-29 12:59 ` Tomi Valkeinen 2022-11-29 13:41 ` [PATCH v3 7/7] drm: rcar-du: dsi: Add r8A779g0 support Tomi Valkeinen 2022-11-29 13:41 ` Tomi Valkeinen 2022-11-29 17:44 ` Laurent Pinchart 2022-11-29 17:44 ` Laurent Pinchart 2022-11-30 8:08 ` [PATCH v4 " Tomi Valkeinen 2022-11-30 8:08 ` Tomi Valkeinen 2022-11-29 1:58 ` [PATCH v2 0/7] Renesas V4H DSI & DP output support Laurent Pinchart 2022-11-29 1:58 ` Laurent Pinchart
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=cb85e1f4-2292-19d4-2b7e-f16c1b43d29f@ideasonboard.com \ --to=tomi.valkeinen+renesas@ideasonboard.com \ --cc=andrzej.hajda@intel.com \ --cc=devicetree@vger.kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=geert+renesas@glider.be \ --cc=geert@linux-m68k.org \ --cc=jernej.skrabec@gmail.com \ --cc=jonas@kwiboo.se \ --cc=kieran.bingham+renesas@ideasonboard.com \ --cc=krzysztof.kozlowski+dt@linaro.org \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=magnus.damm@gmail.com \ --cc=neil.armstrong@linaro.org \ --cc=robert.foss@linaro.org \ --cc=robh+dt@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.