[PATCH v8 1/3] dt-binding: clock: ast2700: modify soc0/1 clock define

Ryan Chen ryan_chen at aspeedtech.com
Sat Feb 15 13:14:40 AEDT 2025


> -----Original Message-----
> From: Krzysztof Kozlowski <krzk at kernel.org>
> Sent: Tuesday, February 11, 2025 4:18 PM
> To: Ryan Chen <ryan_chen at aspeedtech.com>
> Cc: Michael Turquette <mturquette at baylibre.com>; Stephen Boyd
> <sboyd at kernel.org>; Philipp Zabel <p.zabel at pengutronix.de>; Joel Stanley
> <joel at jms.id.au>; Andrew Jeffery <andrew at aj.id.au>;
> linux-clk at vger.kernel.org; Rob Herring <robh at kernel.org>; Krzysztof Kozlowski
> <krzk+dt at kernel.org>; Conor Dooley <conor+dt at kernel.org>;
> linux-arm-kernel at lists.infradead.org; linux-aspeed at lists.ozlabs.org;
> devicetree at vger.kernel.org; linux-kernel at vger.kernel.org
> Subject: Re: [PATCH v8 1/3] dt-binding: clock: ast2700: modify soc0/1 clock
> define
> 
> On Mon, Feb 10, 2025 at 04:50:02PM +0800, Ryan Chen wrote:
> > remove soc0 clock:
> 
> Why? Your commit msg must explain why. What is obvious from the diff, isn't
> it?
Thank you for your feedback. I will add explanation in next commit patch.
> 
> >  SOC0_CLK_UART_DIV13
> >  SOC0_CLK_HPLL_DIV_AHB
> >  SOC0_CLK_MPLL_DIV_AHB
> > add soc0 clock:
> >  SOC0_CLK_AHBMUX
> >  SOC0_CLK_MPHYSRC
> >  SOC0_CLK_U2PHY_REFCLKSRC
> > add soc1 clock:
> >  SOC1_CLK_I3C
> >
> > Signed-off-by: Ryan Chen <ryan_chen at aspeedtech.com>
> > ---
> >  include/dt-bindings/clock/aspeed,ast2700-scu.h | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/include/dt-bindings/clock/aspeed,ast2700-scu.h
> > b/include/dt-bindings/clock/aspeed,ast2700-scu.h
> > index 63021af3caf5..c7389530629d 100644
> > --- a/include/dt-bindings/clock/aspeed,ast2700-scu.h
> > +++ b/include/dt-bindings/clock/aspeed,ast2700-scu.h
> > @@ -13,18 +13,17 @@
> >  #define SCU0_CLK_24M		1
> >  #define SCU0_CLK_192M		2
> >  #define SCU0_CLK_UART		3
> > -#define SCU0_CLK_UART_DIV13	3
> 
> NAK, ABI break without any explanation.

The `SCU0_CLK_UART_DIV13` was originally defined as a separate clock identifier, reviewing the AST2700 clock driver implement, I realized it is no longer necessary.
The clk-ast2700.c driver I have **integrated the SOC0 UART clock (`soc0_uartclk`) with `ast2700_clk_uart_div_table`**. 
The UART clock source will get from ast2700_clk_uart_div_table, that will div from source 24M div13 or div1.
> 
> >  #define SCU0_CLK_PSP		4
> >  #define SCU0_CLK_HPLL		5
> >  #define SCU0_CLK_HPLL_DIV2	6
> >  #define SCU0_CLK_HPLL_DIV4	7
> > -#define SCU0_CLK_HPLL_DIV_AHB	8
> > +#define SCU0_CLK_AHBMUX		8
> 
> NAK, ABI break without any explanation.

V6 clock-ast2700.c CLK_AHB implement mpll_div_ahb / hpll_div_ahb to be ahb clock source.
mpll-> mpll_div_ahb 
				-> clk_ahb
hpll-> hpll_div_ahb

V8 clock-ast2700.c I implement by SCU0_CLK_AHBMUX for more understand clock source divide tree.
Add define SCU0_CLK_AHBMUX replace SCU0_CLK_HPLL_DIV_AHB
mpll->
	ahb_mux -> div_table -> clk_ahb
hpll->

new add 
SOC0_CLK_MPHYSRC: UFS MPHY clock source.
SOC0_CLK_U2PHY_REFCLKSRC : USB2.0 phy clock reference source
SOC1_CLK_I3C: I3C clock source.
> 
> Best regards,
> Krzysztof



More information about the Linux-aspeed mailing list