linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock
@ 2024-11-19  1:58 Shengjiu Wang
  2024-11-19  1:58 ` [PATCH v3 1/3] dt-bindings: clock: imx93: Add SPDIF IPG clk Shengjiu Wang
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Shengjiu Wang @ 2024-11-19  1:58 UTC (permalink / raw)
  To: abelvesa, peng.fan, mturquette, sboyd, robh, krzk+dt, conor+dt,
	shawnguo, s.hauer, kernel, festevam, imx, shengjiu.wang
  Cc: linux-clk, linux-arm-kernel, linux-kernel, devicetree

The IMX93_CLK_SPDIF_GATE also controls the gate of IPG clock
and root clock, need to define them separately.
Otherwise driver disable IMX93_CLK_SPDIF_GATE will cause
IPG clock is also disabled, then register accessing fail.

changes in v3:
- add fixes tag for all 3 commits

Changes in v2:
- address comments from Frank Li
- refine commit message and add fixes tag

Shengjiu Wang (3):
  dt-bindings: clock: imx93: Add SPDIF IPG clk
  clk: imx93: Add IMX93_CLK_SPDIF_IPG clock
  arm64: dts: imx93: Use IMX93_CLK_SPDIF_IPG as SPDIF IPG clock

 arch/arm64/boot/dts/freescale/imx93.dtsi | 2 +-
 drivers/clk/imx/clk-imx93.c              | 6 ++++--
 include/dt-bindings/clock/imx93-clock.h  | 1 +
 3 files changed, 6 insertions(+), 3 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v3 1/3] dt-bindings: clock: imx93: Add SPDIF IPG clk
  2024-11-19  1:58 [PATCH v3 0/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Shengjiu Wang
@ 2024-11-19  1:58 ` Shengjiu Wang
  2024-11-19  1:58 ` [PATCH v3 2/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Shengjiu Wang
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Shengjiu Wang @ 2024-11-19  1:58 UTC (permalink / raw)
  To: abelvesa, peng.fan, mturquette, sboyd, robh, krzk+dt, conor+dt,
	shawnguo, s.hauer, kernel, festevam, imx, shengjiu.wang
  Cc: linux-clk, linux-arm-kernel, linux-kernel, devicetree

Add SPDIF IPG clk. The SPDIF IPG clock and root clock
share same clock gate.

Fixes: 1c4a4f7362fd ("arm64: dts: imx93: Add audio device nodes")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 include/dt-bindings/clock/imx93-clock.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/dt-bindings/clock/imx93-clock.h b/include/dt-bindings/clock/imx93-clock.h
index 6c685067288b..c393fad3a346 100644
--- a/include/dt-bindings/clock/imx93-clock.h
+++ b/include/dt-bindings/clock/imx93-clock.h
@@ -209,5 +209,6 @@
 #define IMX91_CLK_ENET2_REGULAR     204
 #define IMX91_CLK_ENET2_REGULAR_GATE		205
 #define IMX91_CLK_ENET1_QOS_TSN_GATE		206
+#define IMX93_CLK_SPDIF_IPG		207
 
 #endif
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v3 2/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock
  2024-11-19  1:58 [PATCH v3 0/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Shengjiu Wang
  2024-11-19  1:58 ` [PATCH v3 1/3] dt-bindings: clock: imx93: Add SPDIF IPG clk Shengjiu Wang
@ 2024-11-19  1:58 ` Shengjiu Wang
  2024-11-19  1:58 ` [PATCH v3 3/3] arm64: dts: imx93: Use IMX93_CLK_SPDIF_IPG as SPDIF IPG clock Shengjiu Wang
  2024-12-27 12:46 ` [PATCH v3 0/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Abel Vesa
  3 siblings, 0 replies; 7+ messages in thread
From: Shengjiu Wang @ 2024-11-19  1:58 UTC (permalink / raw)
  To: abelvesa, peng.fan, mturquette, sboyd, robh, krzk+dt, conor+dt,
	shawnguo, s.hauer, kernel, festevam, imx, shengjiu.wang
  Cc: linux-clk, linux-arm-kernel, linux-kernel, devicetree

Split IMX93_CLK_SPDIF_IPG from IMX93_CLK_SPDIF_GATE
because the IMX93_CLK_SPDIF_GATE controls the gate
of IPG clock and root clock. Without this change,
disabling IMX93_CLK_SPDIF_GATE would also disable
the IPG clock, causing register access failures.

Fixes: 1c4a4f7362fd ("arm64: dts: imx93: Add audio device nodes")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
---
 drivers/clk/imx/clk-imx93.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/imx/clk-imx93.c b/drivers/clk/imx/clk-imx93.c
index 58a516dd385b..eb818db008fb 100644
--- a/drivers/clk/imx/clk-imx93.c
+++ b/drivers/clk/imx/clk-imx93.c
@@ -15,7 +15,7 @@
 
 #include "clk.h"
 
-#define IMX93_CLK_END 207
+#define IMX93_CLK_END 208
 
 #define PLAT_IMX93 BIT(0)
 #define PLAT_IMX91 BIT(1)
@@ -38,6 +38,7 @@ static u32 share_count_sai2;
 static u32 share_count_sai3;
 static u32 share_count_mub;
 static u32 share_count_pdm;
+static u32 share_count_spdif;
 
 static const char * const a55_core_sels[] = {"a55_alt", "arm_pll"};
 static const char *parent_names[MAX_SEL][4] = {
@@ -252,7 +253,8 @@ static const struct imx93_clk_ccgr {
 	{ IMX93_CLK_MQS1_GATE,		"mqs1",		"sai1_root",		0x9b00, },
 	{ IMX93_CLK_MQS2_GATE,		"mqs2",		"sai3_root",		0x9b40, },
 	{ IMX93_CLK_AUD_XCVR_GATE,	"aud_xcvr",	"audio_xcvr_root",	0x9b80, },
-	{ IMX93_CLK_SPDIF_GATE,		"spdif",	"spdif_root",		0x9c00, },
+	{ IMX93_CLK_SPDIF_IPG,		"spdif_ipg_clk", "bus_wakeup_root",	0x9c00, 0, &share_count_spdif},
+	{ IMX93_CLK_SPDIF_GATE,		"spdif",	"spdif_root",		0x9c00, 0, &share_count_spdif},
 	{ IMX93_CLK_HSIO_32K_GATE,	"hsio_32k",	"osc_32k",		0x9dc0, },
 	{ IMX93_CLK_ENET1_GATE,		"enet1",	"wakeup_axi_root",	0x9e00, 0, NULL, PLAT_IMX93, },
 	{ IMX93_CLK_ENET_QOS_GATE,	"enet_qos",	"wakeup_axi_root",	0x9e40, 0, NULL, PLAT_IMX93, },
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v3 3/3] arm64: dts: imx93: Use IMX93_CLK_SPDIF_IPG as SPDIF IPG clock
  2024-11-19  1:58 [PATCH v3 0/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Shengjiu Wang
  2024-11-19  1:58 ` [PATCH v3 1/3] dt-bindings: clock: imx93: Add SPDIF IPG clk Shengjiu Wang
  2024-11-19  1:58 ` [PATCH v3 2/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Shengjiu Wang
@ 2024-11-19  1:58 ` Shengjiu Wang
  2024-12-09 12:37   ` Shawn Guo
  2024-12-27 12:46 ` [PATCH v3 0/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Abel Vesa
  3 siblings, 1 reply; 7+ messages in thread
From: Shengjiu Wang @ 2024-11-19  1:58 UTC (permalink / raw)
  To: abelvesa, peng.fan, mturquette, sboyd, robh, krzk+dt, conor+dt,
	shawnguo, s.hauer, kernel, festevam, imx, shengjiu.wang
  Cc: linux-clk, linux-arm-kernel, linux-kernel, devicetree

IMX93_CLK_BUS_WAKEUP is not accurate IPG clock, which
missed the clock gate part.

IMX93_CLK_SPDIF_IPG is the correct clock.

Fixes: 1c4a4f7362fd ("arm64: dts: imx93: Add audio device nodes")
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx93.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
index 688488de8cd2..56766fdb0b1e 100644
--- a/arch/arm64/boot/dts/freescale/imx93.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
@@ -925,7 +925,7 @@ xcvr: xcvr@42680000 {
 				reg-names = "ram", "regs", "rxfifo", "txfifo";
 				interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
 					     <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>;
-				clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
+				clocks = <&clk IMX93_CLK_SPDIF_IPG>,
 					 <&clk IMX93_CLK_SPDIF_GATE>,
 					 <&clk IMX93_CLK_DUMMY>,
 					 <&clk IMX93_CLK_AUD_XCVR_GATE>;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v3 3/3] arm64: dts: imx93: Use IMX93_CLK_SPDIF_IPG as SPDIF IPG clock
  2024-11-19  1:58 ` [PATCH v3 3/3] arm64: dts: imx93: Use IMX93_CLK_SPDIF_IPG as SPDIF IPG clock Shengjiu Wang
@ 2024-12-09 12:37   ` Shawn Guo
  2024-12-26 14:40     ` Abel Vesa
  0 siblings, 1 reply; 7+ messages in thread
From: Shawn Guo @ 2024-12-09 12:37 UTC (permalink / raw)
  To: abelvesa, Shengjiu Wang
  Cc: peng.fan, mturquette, sboyd, robh, krzk+dt, conor+dt, shawnguo,
	s.hauer, kernel, festevam, imx, shengjiu.wang, linux-clk,
	linux-arm-kernel, linux-kernel, devicetree

On Tue, Nov 19, 2024 at 09:58:05AM +0800, Shengjiu Wang wrote:
> IMX93_CLK_BUS_WAKEUP is not accurate IPG clock, which
> missed the clock gate part.
> 
> IMX93_CLK_SPDIF_IPG is the correct clock.
> 
> Fixes: 1c4a4f7362fd ("arm64: dts: imx93: Add audio device nodes")
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> Reviewed-by: Frank Li <Frank.Li@nxp.com>

Hi Abel,

I guess it would be the best for you to apply the whole series through
clock tree?  In that case:

Acked-by: Shawn Guo <shawnguo@kernel.org>

Thanks,
Shawn

> ---
>  arch/arm64/boot/dts/freescale/imx93.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
> index 688488de8cd2..56766fdb0b1e 100644
> --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> @@ -925,7 +925,7 @@ xcvr: xcvr@42680000 {
>  				reg-names = "ram", "regs", "rxfifo", "txfifo";
>  				interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
>  					     <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>;
> -				clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
> +				clocks = <&clk IMX93_CLK_SPDIF_IPG>,
>  					 <&clk IMX93_CLK_SPDIF_GATE>,
>  					 <&clk IMX93_CLK_DUMMY>,
>  					 <&clk IMX93_CLK_AUD_XCVR_GATE>;
> -- 
> 2.34.1
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3 3/3] arm64: dts: imx93: Use IMX93_CLK_SPDIF_IPG as SPDIF IPG clock
  2024-12-09 12:37   ` Shawn Guo
@ 2024-12-26 14:40     ` Abel Vesa
  0 siblings, 0 replies; 7+ messages in thread
From: Abel Vesa @ 2024-12-26 14:40 UTC (permalink / raw)
  To: Shawn Guo
  Cc: abelvesa, Shengjiu Wang, peng.fan, mturquette, sboyd, robh,
	krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam, imx,
	shengjiu.wang, linux-clk, linux-arm-kernel, linux-kernel,
	devicetree

On 24-12-09 20:37:31, Shawn Guo wrote:
> On Tue, Nov 19, 2024 at 09:58:05AM +0800, Shengjiu Wang wrote:
> > IMX93_CLK_BUS_WAKEUP is not accurate IPG clock, which
> > missed the clock gate part.
> > 
> > IMX93_CLK_SPDIF_IPG is the correct clock.
> > 
> > Fixes: 1c4a4f7362fd ("arm64: dts: imx93: Add audio device nodes")
> > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> > Reviewed-by: Frank Li <Frank.Li@nxp.com>
> 
> Hi Abel,
> 

Hi Shawn,

> I guess it would be the best for you to apply the whole series through
> clock tree?  In that case:

Sure, will take this whole series through my tree.

> 
> Acked-by: Shawn Guo <shawnguo@kernel.org>
> 

Thanks,
Abel

> Thanks,
> Shawn
> 
> > ---
> >  arch/arm64/boot/dts/freescale/imx93.dtsi | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
> > index 688488de8cd2..56766fdb0b1e 100644
> > --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> > @@ -925,7 +925,7 @@ xcvr: xcvr@42680000 {
> >  				reg-names = "ram", "regs", "rxfifo", "txfifo";
> >  				interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
> >  					     <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>;
> > -				clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
> > +				clocks = <&clk IMX93_CLK_SPDIF_IPG>,
> >  					 <&clk IMX93_CLK_SPDIF_GATE>,
> >  					 <&clk IMX93_CLK_DUMMY>,
> >  					 <&clk IMX93_CLK_AUD_XCVR_GATE>;
> > -- 
> > 2.34.1
> > 
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3 0/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock
  2024-11-19  1:58 [PATCH v3 0/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Shengjiu Wang
                   ` (2 preceding siblings ...)
  2024-11-19  1:58 ` [PATCH v3 3/3] arm64: dts: imx93: Use IMX93_CLK_SPDIF_IPG as SPDIF IPG clock Shengjiu Wang
@ 2024-12-27 12:46 ` Abel Vesa
  3 siblings, 0 replies; 7+ messages in thread
From: Abel Vesa @ 2024-12-27 12:46 UTC (permalink / raw)
  To: abelvesa, peng.fan, mturquette, sboyd, robh, krzk+dt, conor+dt,
	shawnguo, s.hauer, kernel, festevam, imx, shengjiu.wang,
	Shengjiu Wang
  Cc: linux-clk, linux-arm-kernel, linux-kernel, devicetree


On Tue, 19 Nov 2024 09:58:02 +0800, Shengjiu Wang wrote:
> The IMX93_CLK_SPDIF_GATE also controls the gate of IPG clock
> and root clock, need to define them separately.
> Otherwise driver disable IMX93_CLK_SPDIF_GATE will cause
> IPG clock is also disabled, then register accessing fail.
> 
> changes in v3:
> - add fixes tag for all 3 commits
> 
> [...]

Applied, thanks!

[1/3] dt-bindings: clock: imx93: Add SPDIF IPG clk
      commit: 32e9dea2645fa10dfa08b4e333918affaf1e4de5
[2/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock
      commit: 6a7853544482e2336b5b8bb9a4b964f9d687f290
[3/3] arm64: dts: imx93: Use IMX93_CLK_SPDIF_IPG as SPDIF IPG clock
      commit: 570b890e66334f283710af36feb2115f16c7a27c

Best regards,
-- 
Abel Vesa <abel.vesa@linaro.org>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-12-27 12:46 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-19  1:58 [PATCH v3 0/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Shengjiu Wang
2024-11-19  1:58 ` [PATCH v3 1/3] dt-bindings: clock: imx93: Add SPDIF IPG clk Shengjiu Wang
2024-11-19  1:58 ` [PATCH v3 2/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Shengjiu Wang
2024-11-19  1:58 ` [PATCH v3 3/3] arm64: dts: imx93: Use IMX93_CLK_SPDIF_IPG as SPDIF IPG clock Shengjiu Wang
2024-12-09 12:37   ` Shawn Guo
2024-12-26 14:40     ` Abel Vesa
2024-12-27 12:46 ` [PATCH v3 0/3] clk: imx93: Add IMX93_CLK_SPDIF_IPG clock Abel Vesa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).