* [PATCH 0/2] Add Clock and Reset for TCON LCD @ 2025-02-12 19:11 Chris Morgan 2025-02-12 19:11 ` [PATCH 1/2] dt-bindings: clock: sun50i-h616-ccu: Add LCD TCON clk and reset Chris Morgan 2025-02-12 19:11 ` [PATCH 2/2] clk: sunxi-ng: h616: Add clock/reset for LCD TCON Chris Morgan 0 siblings, 2 replies; 5+ messages in thread From: Chris Morgan @ 2025-02-12 19:11 UTC (permalink / raw) To: linux-sunxi Cc: devicetree, linux-clk, p.zabel, conor+dt, krzk+dt, robh, samuel, jernej.skrabec, wens, sboyd, mturquette, ryan, Chris Morgan From: Chris Morgan <macromorgan@hotmail.com> Add the required resets and clocks used by the display engine TCON for LCD output. This is required for LCD output for the DE33 which is currently pending acceptance into mainline. https://lore.kernel.org/linux-sunxi/67acd970.050a0220.1eb03a.101e@mx.google.com/ Chris Morgan (2): dt-bindings: clock: sun50i-h616-ccu: Add LCD TCON clk and reset clk: sunxi-ng: h616: Add clock/reset for LCD TCON drivers/clk/sunxi-ng/ccu-sun50i-h616.c | 24 +++++++++++++++++++++ drivers/clk/sunxi-ng/ccu-sun50i-h616.h | 2 +- include/dt-bindings/clock/sun50i-h616-ccu.h | 4 ++++ include/dt-bindings/reset/sun50i-h616-ccu.h | 2 ++ 4 files changed, 31 insertions(+), 1 deletion(-) -- 2.43.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] dt-bindings: clock: sun50i-h616-ccu: Add LCD TCON clk and reset 2025-02-12 19:11 [PATCH 0/2] Add Clock and Reset for TCON LCD Chris Morgan @ 2025-02-12 19:11 ` Chris Morgan 2025-02-12 19:28 ` Krzysztof Kozlowski 2025-02-12 19:11 ` [PATCH 2/2] clk: sunxi-ng: h616: Add clock/reset for LCD TCON Chris Morgan 1 sibling, 1 reply; 5+ messages in thread From: Chris Morgan @ 2025-02-12 19:11 UTC (permalink / raw) To: linux-sunxi Cc: devicetree, linux-clk, p.zabel, conor+dt, krzk+dt, robh, samuel, jernej.skrabec, wens, sboyd, mturquette, ryan, Chris Morgan From: Chris Morgan <macromorgan@hotmail.com> Add the required clock and reset bindings for the LCD TCON. Signed-off-by: Chris Morgan <macromorgan@hotmail.com> --- include/dt-bindings/clock/sun50i-h616-ccu.h | 4 ++++ include/dt-bindings/reset/sun50i-h616-ccu.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/include/dt-bindings/clock/sun50i-h616-ccu.h b/include/dt-bindings/clock/sun50i-h616-ccu.h index ebb146ab7f8c..6889405f9fec 100644 --- a/include/dt-bindings/clock/sun50i-h616-ccu.h +++ b/include/dt-bindings/clock/sun50i-h616-ccu.h @@ -113,5 +113,9 @@ #define CLK_BUS_HDCP 127 #define CLK_PLL_SYSTEM_32K 128 #define CLK_BUS_GPADC 129 +#define CLK_TCON_LCD0 130 +#define CLK_BUS_TCON_LCD0 131 +#define CLK_TCON_LCD1 132 +#define CLK_BUS_TCON_LCD1 133 #endif /* _DT_BINDINGS_CLK_SUN50I_H616_H_ */ diff --git a/include/dt-bindings/reset/sun50i-h616-ccu.h b/include/dt-bindings/reset/sun50i-h616-ccu.h index ed177c04afdd..81b1eba2a7f7 100644 --- a/include/dt-bindings/reset/sun50i-h616-ccu.h +++ b/include/dt-bindings/reset/sun50i-h616-ccu.h @@ -67,5 +67,7 @@ #define RST_BUS_HDCP 58 #define RST_BUS_KEYADC 59 #define RST_BUS_GPADC 60 +#define RST_BUS_TCON_LCD0 61 +#define RST_BUS_TCON_LCD1 62 #endif /* _DT_BINDINGS_RESET_SUN50I_H616_H_ */ -- 2.43.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] dt-bindings: clock: sun50i-h616-ccu: Add LCD TCON clk and reset 2025-02-12 19:11 ` [PATCH 1/2] dt-bindings: clock: sun50i-h616-ccu: Add LCD TCON clk and reset Chris Morgan @ 2025-02-12 19:28 ` Krzysztof Kozlowski 0 siblings, 0 replies; 5+ messages in thread From: Krzysztof Kozlowski @ 2025-02-12 19:28 UTC (permalink / raw) To: Chris Morgan, linux-sunxi Cc: devicetree, linux-clk, p.zabel, conor+dt, krzk+dt, robh, samuel, jernej.skrabec, wens, sboyd, mturquette, ryan, Chris Morgan On 12/02/2025 20:11, Chris Morgan wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > Add the required clock and reset bindings for the LCD TCON. > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > --- > include/dt-bindings/clock/sun50i-h616-ccu.h | 4 ++++ > include/dt-bindings/reset/sun50i-h616-ccu.h | 2 ++ > 2 files changed, 6 insertions(+) Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] clk: sunxi-ng: h616: Add clock/reset for LCD TCON 2025-02-12 19:11 [PATCH 0/2] Add Clock and Reset for TCON LCD Chris Morgan 2025-02-12 19:11 ` [PATCH 1/2] dt-bindings: clock: sun50i-h616-ccu: Add LCD TCON clk and reset Chris Morgan @ 2025-02-12 19:11 ` Chris Morgan 2025-02-13 0:39 ` Andre Przywara 1 sibling, 1 reply; 5+ messages in thread From: Chris Morgan @ 2025-02-12 19:11 UTC (permalink / raw) To: linux-sunxi Cc: devicetree, linux-clk, p.zabel, conor+dt, krzk+dt, robh, samuel, jernej.skrabec, wens, sboyd, mturquette, ryan, Chris Morgan From: Chris Morgan <macromorgan@hotmail.com> Add the required clock and reset which is used for the LCD TCON. Signed-off-by: Chris Morgan <macromorgan@hotmail.com> --- drivers/clk/sunxi-ng/ccu-sun50i-h616.c | 24 ++++++++++++++++++++++++ drivers/clk/sunxi-ng/ccu-sun50i-h616.h | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h616.c b/drivers/clk/sunxi-ng/ccu-sun50i-h616.c index 190816c35da9..40ab6873b797 100644 --- a/drivers/clk/sunxi-ng/ccu-sun50i-h616.c +++ b/drivers/clk/sunxi-ng/ccu-sun50i-h616.c @@ -645,6 +645,20 @@ static const char * const tcon_tv_parents[] = { "pll-video0", "pll-video0-4x", "pll-video1", "pll-video1-4x" }; +static SUNXI_CCU_MUX_WITH_GATE(tcon_lcd0_clk, "tcon-lcd0", + tcon_tv_parents, 0xb60, + 24, 3, /* mux */ + BIT(31), /* gate */ + CLK_SET_RATE_PARENT); +static SUNXI_CCU_MUX_WITH_GATE(tcon_lcd1_clk, "tcon-lcd1", + tcon_tv_parents, 0xb64, + 24, 3, /* mux */ + BIT(31), /* gate */ + CLK_SET_RATE_PARENT); +static SUNXI_CCU_GATE(bus_tcon_lcd0_clk, "bus-tcon-lcd0", "ahb3", + 0xb7c, BIT(0), 0); +static SUNXI_CCU_GATE(bus_tcon_lcd1_clk, "bus-tcon-lcd1", "ahb3", + 0xb7c, BIT(1), 0); static SUNXI_CCU_MP_WITH_MUX_GATE(tcon_tv0_clk, "tcon-tv0", tcon_tv_parents, 0xb80, 0, 4, /* M */ @@ -855,8 +869,12 @@ static struct ccu_common *sun50i_h616_ccu_clks[] = { &hdmi_cec_clk.common, &bus_hdmi_clk.common, &bus_tcon_top_clk.common, + &tcon_lcd0_clk.common, + &tcon_lcd1_clk.common, &tcon_tv0_clk.common, &tcon_tv1_clk.common, + &bus_tcon_lcd0_clk.common, + &bus_tcon_lcd1_clk.common, &bus_tcon_tv0_clk.common, &bus_tcon_tv1_clk.common, &tve0_clk.common, @@ -989,8 +1007,12 @@ static struct clk_hw_onecell_data sun50i_h616_hw_clks = { [CLK_HDMI_CEC] = &hdmi_cec_clk.common.hw, [CLK_BUS_HDMI] = &bus_hdmi_clk.common.hw, [CLK_BUS_TCON_TOP] = &bus_tcon_top_clk.common.hw, + [CLK_TCON_LCD0] = &tcon_lcd0_clk.common.hw, + [CLK_TCON_LCD1] = &tcon_lcd1_clk.common.hw, [CLK_TCON_TV0] = &tcon_tv0_clk.common.hw, [CLK_TCON_TV1] = &tcon_tv1_clk.common.hw, + [CLK_BUS_TCON_LCD0] = &bus_tcon_lcd0_clk.common.hw, + [CLK_BUS_TCON_LCD1] = &bus_tcon_lcd1_clk.common.hw, [CLK_BUS_TCON_TV0] = &bus_tcon_tv0_clk.common.hw, [CLK_BUS_TCON_TV1] = &bus_tcon_tv1_clk.common.hw, [CLK_TVE0] = &tve0_clk.common.hw, @@ -1062,6 +1084,8 @@ static const struct ccu_reset_map sun50i_h616_ccu_resets[] = { [RST_BUS_HDMI] = { 0xb1c, BIT(16) }, [RST_BUS_HDMI_SUB] = { 0xb1c, BIT(17) }, [RST_BUS_TCON_TOP] = { 0xb5c, BIT(16) }, + [RST_BUS_TCON_LCD0] = { 0xb7c, BIT(16) }, + [RST_BUS_TCON_LCD1] = { 0xb7c, BIT(17) }, [RST_BUS_TCON_TV0] = { 0xb9c, BIT(16) }, [RST_BUS_TCON_TV1] = { 0xb9c, BIT(17) }, [RST_BUS_TVE_TOP] = { 0xbbc, BIT(16) }, diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h616.h b/drivers/clk/sunxi-ng/ccu-sun50i-h616.h index a75803b49f6a..7056f293a8e0 100644 --- a/drivers/clk/sunxi-ng/ccu-sun50i-h616.h +++ b/drivers/clk/sunxi-ng/ccu-sun50i-h616.h @@ -51,6 +51,6 @@ #define CLK_BUS_DRAM 56 -#define CLK_NUMBER (CLK_BUS_GPADC + 1) +#define CLK_NUMBER (CLK_BUS_TCON_LCD1 + 1) #endif /* _CCU_SUN50I_H616_H_ */ -- 2.43.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] clk: sunxi-ng: h616: Add clock/reset for LCD TCON 2025-02-12 19:11 ` [PATCH 2/2] clk: sunxi-ng: h616: Add clock/reset for LCD TCON Chris Morgan @ 2025-02-13 0:39 ` Andre Przywara 0 siblings, 0 replies; 5+ messages in thread From: Andre Przywara @ 2025-02-13 0:39 UTC (permalink / raw) To: Chris Morgan Cc: linux-sunxi, devicetree, linux-clk, p.zabel, conor+dt, krzk+dt, robh, samuel, jernej.skrabec, wens, sboyd, mturquette, ryan, Chris Morgan On Wed, 12 Feb 2025 13:11:09 -0600 Chris Morgan <macroalpha82@gmail.com> wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > Add the required clock and reset which is used for the LCD TCON. Please mention here (and in the cover letter) that while those clocks do exist on every H616 die, the respective LCD controllers are not exposed on the H616 package, but only on the T507 and H700 version. > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> Apart from the part, I compared the code against the T507 manual, that is a match: Reviewed-by: Andre Przywara <andre.przywara@arm.com> Cheers, Andre > --- > drivers/clk/sunxi-ng/ccu-sun50i-h616.c | 24 ++++++++++++++++++++++++ > drivers/clk/sunxi-ng/ccu-sun50i-h616.h | 2 +- > 2 files changed, 25 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h616.c b/drivers/clk/sunxi-ng/ccu-sun50i-h616.c > index 190816c35da9..40ab6873b797 100644 > --- a/drivers/clk/sunxi-ng/ccu-sun50i-h616.c > +++ b/drivers/clk/sunxi-ng/ccu-sun50i-h616.c > @@ -645,6 +645,20 @@ static const char * const tcon_tv_parents[] = { "pll-video0", > "pll-video0-4x", > "pll-video1", > "pll-video1-4x" }; > +static SUNXI_CCU_MUX_WITH_GATE(tcon_lcd0_clk, "tcon-lcd0", > + tcon_tv_parents, 0xb60, > + 24, 3, /* mux */ > + BIT(31), /* gate */ > + CLK_SET_RATE_PARENT); > +static SUNXI_CCU_MUX_WITH_GATE(tcon_lcd1_clk, "tcon-lcd1", > + tcon_tv_parents, 0xb64, > + 24, 3, /* mux */ > + BIT(31), /* gate */ > + CLK_SET_RATE_PARENT); > +static SUNXI_CCU_GATE(bus_tcon_lcd0_clk, "bus-tcon-lcd0", "ahb3", > + 0xb7c, BIT(0), 0); > +static SUNXI_CCU_GATE(bus_tcon_lcd1_clk, "bus-tcon-lcd1", "ahb3", > + 0xb7c, BIT(1), 0); > static SUNXI_CCU_MP_WITH_MUX_GATE(tcon_tv0_clk, "tcon-tv0", > tcon_tv_parents, 0xb80, > 0, 4, /* M */ > @@ -855,8 +869,12 @@ static struct ccu_common *sun50i_h616_ccu_clks[] = { > &hdmi_cec_clk.common, > &bus_hdmi_clk.common, > &bus_tcon_top_clk.common, > + &tcon_lcd0_clk.common, > + &tcon_lcd1_clk.common, > &tcon_tv0_clk.common, > &tcon_tv1_clk.common, > + &bus_tcon_lcd0_clk.common, > + &bus_tcon_lcd1_clk.common, > &bus_tcon_tv0_clk.common, > &bus_tcon_tv1_clk.common, > &tve0_clk.common, > @@ -989,8 +1007,12 @@ static struct clk_hw_onecell_data sun50i_h616_hw_clks = { > [CLK_HDMI_CEC] = &hdmi_cec_clk.common.hw, > [CLK_BUS_HDMI] = &bus_hdmi_clk.common.hw, > [CLK_BUS_TCON_TOP] = &bus_tcon_top_clk.common.hw, > + [CLK_TCON_LCD0] = &tcon_lcd0_clk.common.hw, > + [CLK_TCON_LCD1] = &tcon_lcd1_clk.common.hw, > [CLK_TCON_TV0] = &tcon_tv0_clk.common.hw, > [CLK_TCON_TV1] = &tcon_tv1_clk.common.hw, > + [CLK_BUS_TCON_LCD0] = &bus_tcon_lcd0_clk.common.hw, > + [CLK_BUS_TCON_LCD1] = &bus_tcon_lcd1_clk.common.hw, > [CLK_BUS_TCON_TV0] = &bus_tcon_tv0_clk.common.hw, > [CLK_BUS_TCON_TV1] = &bus_tcon_tv1_clk.common.hw, > [CLK_TVE0] = &tve0_clk.common.hw, > @@ -1062,6 +1084,8 @@ static const struct ccu_reset_map sun50i_h616_ccu_resets[] = { > [RST_BUS_HDMI] = { 0xb1c, BIT(16) }, > [RST_BUS_HDMI_SUB] = { 0xb1c, BIT(17) }, > [RST_BUS_TCON_TOP] = { 0xb5c, BIT(16) }, > + [RST_BUS_TCON_LCD0] = { 0xb7c, BIT(16) }, > + [RST_BUS_TCON_LCD1] = { 0xb7c, BIT(17) }, > [RST_BUS_TCON_TV0] = { 0xb9c, BIT(16) }, > [RST_BUS_TCON_TV1] = { 0xb9c, BIT(17) }, > [RST_BUS_TVE_TOP] = { 0xbbc, BIT(16) }, > diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h616.h b/drivers/clk/sunxi-ng/ccu-sun50i-h616.h > index a75803b49f6a..7056f293a8e0 100644 > --- a/drivers/clk/sunxi-ng/ccu-sun50i-h616.h > +++ b/drivers/clk/sunxi-ng/ccu-sun50i-h616.h > @@ -51,6 +51,6 @@ > > #define CLK_BUS_DRAM 56 > > -#define CLK_NUMBER (CLK_BUS_GPADC + 1) > +#define CLK_NUMBER (CLK_BUS_TCON_LCD1 + 1) > > #endif /* _CCU_SUN50I_H616_H_ */ ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-02-13 0:41 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-02-12 19:11 [PATCH 0/2] Add Clock and Reset for TCON LCD Chris Morgan 2025-02-12 19:11 ` [PATCH 1/2] dt-bindings: clock: sun50i-h616-ccu: Add LCD TCON clk and reset Chris Morgan 2025-02-12 19:28 ` Krzysztof Kozlowski 2025-02-12 19:11 ` [PATCH 2/2] clk: sunxi-ng: h616: Add clock/reset for LCD TCON Chris Morgan 2025-02-13 0:39 ` Andre Przywara
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox