Commit 1d86c2b3 authored by Frank Li's avatar Frank Li Committed by Shawn Guo

arm64: dts: imx8-ss-lsio: fix pwm lpcg indices

lpcg's arg0 should use clock indices instead of index.

pwm0_lpcg: clock-controller@5d400000 {
	...                                                // Col1  Col2
	clocks = <&clk IMX_SC_R_PWM_0 IMX_SC_PM_CLK_PER>,  // 0     0
		 <&clk IMX_SC_R_PWM_0 IMX_SC_PM_CLK_PER>,  // 1     1
		 <&clk IMX_SC_R_PWM_0 IMX_SC_PM_CLK_PER>,  // 2     4
		 <&lsio_bus_clk>,                          // 3     5
		 <&clk IMX_SC_R_PWM_0 IMX_SC_PM_CLK_PER>;  // 4     6
	clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>,
			<IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
			<IMX_LPCG_CLK_6>;
};

Col1: index, which existing dts try to get.
Col2: actual index in lpcg driver.

pwm1 {
	....
	clocks = <&pwm1_lpcg 4>, <&pwm1_lpcg 1>;
                             ^^              ^^
should be:

	clocks = <&pwm1_lpcg IMX_LPCG_CLK_6>, <&pwm1_lpcg IMX_LPCG_CLK_1>;
};

Arg0 is divided by 4 in lpcg driver, so index 0 and 1 will be get by pwm
driver, which are same as IMX_LPCG_CLK_6 and IMX_LPCG_CLK_1. Even it can
work, but code logic is wrong. Fixed it by use correct indices.

Cc: stable@vger.kernel.org
Fixes: 23fa99b2 ("arm64: dts: freescale: imx8-ss-lsio: add support for lsio_pwm0-3")
Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 135f2182
...@@ -25,8 +25,8 @@ lsio_pwm0: pwm@5d000000 { ...@@ -25,8 +25,8 @@ lsio_pwm0: pwm@5d000000 {
compatible = "fsl,imx27-pwm"; compatible = "fsl,imx27-pwm";
reg = <0x5d000000 0x10000>; reg = <0x5d000000 0x10000>;
clock-names = "ipg", "per"; clock-names = "ipg", "per";
clocks = <&pwm0_lpcg 4>, clocks = <&pwm0_lpcg IMX_LPCG_CLK_6>,
<&pwm0_lpcg 1>; <&pwm0_lpcg IMX_LPCG_CLK_1>;
assigned-clocks = <&clk IMX_SC_R_PWM_0 IMX_SC_PM_CLK_PER>; assigned-clocks = <&clk IMX_SC_R_PWM_0 IMX_SC_PM_CLK_PER>;
assigned-clock-rates = <24000000>; assigned-clock-rates = <24000000>;
#pwm-cells = <3>; #pwm-cells = <3>;
...@@ -38,8 +38,8 @@ lsio_pwm1: pwm@5d010000 { ...@@ -38,8 +38,8 @@ lsio_pwm1: pwm@5d010000 {
compatible = "fsl,imx27-pwm"; compatible = "fsl,imx27-pwm";
reg = <0x5d010000 0x10000>; reg = <0x5d010000 0x10000>;
clock-names = "ipg", "per"; clock-names = "ipg", "per";
clocks = <&pwm1_lpcg 4>, clocks = <&pwm1_lpcg IMX_LPCG_CLK_6>,
<&pwm1_lpcg 1>; <&pwm1_lpcg IMX_LPCG_CLK_1>;
assigned-clocks = <&clk IMX_SC_R_PWM_1 IMX_SC_PM_CLK_PER>; assigned-clocks = <&clk IMX_SC_R_PWM_1 IMX_SC_PM_CLK_PER>;
assigned-clock-rates = <24000000>; assigned-clock-rates = <24000000>;
#pwm-cells = <3>; #pwm-cells = <3>;
...@@ -51,8 +51,8 @@ lsio_pwm2: pwm@5d020000 { ...@@ -51,8 +51,8 @@ lsio_pwm2: pwm@5d020000 {
compatible = "fsl,imx27-pwm"; compatible = "fsl,imx27-pwm";
reg = <0x5d020000 0x10000>; reg = <0x5d020000 0x10000>;
clock-names = "ipg", "per"; clock-names = "ipg", "per";
clocks = <&pwm2_lpcg 4>, clocks = <&pwm2_lpcg IMX_LPCG_CLK_6>,
<&pwm2_lpcg 1>; <&pwm2_lpcg IMX_LPCG_CLK_1>;
assigned-clocks = <&clk IMX_SC_R_PWM_2 IMX_SC_PM_CLK_PER>; assigned-clocks = <&clk IMX_SC_R_PWM_2 IMX_SC_PM_CLK_PER>;
assigned-clock-rates = <24000000>; assigned-clock-rates = <24000000>;
#pwm-cells = <3>; #pwm-cells = <3>;
...@@ -64,8 +64,8 @@ lsio_pwm3: pwm@5d030000 { ...@@ -64,8 +64,8 @@ lsio_pwm3: pwm@5d030000 {
compatible = "fsl,imx27-pwm"; compatible = "fsl,imx27-pwm";
reg = <0x5d030000 0x10000>; reg = <0x5d030000 0x10000>;
clock-names = "ipg", "per"; clock-names = "ipg", "per";
clocks = <&pwm3_lpcg 4>, clocks = <&pwm3_lpcg IMX_LPCG_CLK_6>,
<&pwm3_lpcg 1>; <&pwm3_lpcg IMX_LPCG_CLK_1>;
assigned-clocks = <&clk IMX_SC_R_PWM_3 IMX_SC_PM_CLK_PER>; assigned-clocks = <&clk IMX_SC_R_PWM_3 IMX_SC_PM_CLK_PER>;
assigned-clock-rates = <24000000>; assigned-clock-rates = <24000000>;
#pwm-cells = <3>; #pwm-cells = <3>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment