arm64: dts: imx8: fix audio lpcg index
authorFrank Li <Frank.Li@nxp.com>
Thu, 28 Mar 2024 14:51:36 +0000 (10:51 -0400)
committerShawn Guo <shawnguo@kernel.org>
Wed, 3 Apr 2024 00:45:55 +0000 (08:45 +0800)
lpcg cell0 should be clock's 'indices' instead of 'index'.

imx_lpcg_of_clk_src_get(struct of_phandle_args *clkspec, void *data)
{
        struct clk_hw_onecell_data *hw_data = data;
        unsigned int idx = clkspec->args[0] / 4;

....
}

<@sai0_lpcg 1> will be the same as <@sai_lpcg 0>.

Replace 0 with IMX_LPCG_CLK_0 and replace 1 with IMX_LPCG_CLK_4.

It can work at iMX8QXP because IMX_LPCG_CLK_4 is ipg clock, which already
enabled. But for iMX8QM IMX_LPCG_CLK_4 is mclk, which trigger issue.

Fixes: 0a9279e9ae88 ("arm64: dts: imx8qxp: Add audio SAI nodes")
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8-ss-audio.dtsi

index 07afeb78ed56483e8784f26add43f73c6b58c811..d8bbe53320bceba6a020dac1872142a76b07160f 100644 (file)
@@ -123,9 +123,9 @@ audio_subsys: bus@59000000 {
                compatible = "fsl,imx8qm-sai";
                reg = <0x59040000 0x10000>;
                interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&sai0_lpcg 1>,
+               clocks = <&sai0_lpcg IMX_LPCG_CLK_4>,
                         <&clk_dummy>,
-                        <&sai0_lpcg 0>,
+                        <&sai0_lpcg IMX_LPCG_CLK_0>,
                         <&clk_dummy>,
                         <&clk_dummy>;
                clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
@@ -139,9 +139,9 @@ audio_subsys: bus@59000000 {
                compatible = "fsl,imx8qm-sai";
                reg = <0x59050000 0x10000>;
                interrupts = <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&sai1_lpcg 1>,
+               clocks = <&sai1_lpcg IMX_LPCG_CLK_4>,
                         <&clk_dummy>,
-                        <&sai1_lpcg 0>,
+                        <&sai1_lpcg IMX_LPCG_CLK_0>,
                         <&clk_dummy>,
                         <&clk_dummy>;
                clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
@@ -155,9 +155,9 @@ audio_subsys: bus@59000000 {
                compatible = "fsl,imx8qm-sai";
                reg = <0x59060000 0x10000>;
                interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&sai2_lpcg 1>,
+               clocks = <&sai2_lpcg IMX_LPCG_CLK_4>,
                         <&clk_dummy>,
-                        <&sai2_lpcg 0>,
+                        <&sai2_lpcg IMX_LPCG_CLK_0>,
                         <&clk_dummy>,
                         <&clk_dummy>;
                clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
@@ -171,9 +171,9 @@ audio_subsys: bus@59000000 {
                compatible = "fsl,imx8qm-sai";
                reg = <0x59070000 0x10000>;
                interrupts = <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&sai3_lpcg 1>,
+               clocks = <&sai3_lpcg IMX_LPCG_CLK_4>,
                         <&clk_dummy>,
-                        <&sai3_lpcg 0>,
+                        <&sai3_lpcg IMX_LPCG_CLK_0>,
                         <&clk_dummy>,
                         <&clk_dummy>;
                clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";