2020-03-12 10:27:40

by Peng Fan

[permalink] [raw]
Subject: [PATCH V2 01/10] arm64: dts: imx8m: assign clocks for A53

From: Peng Fan <[email protected]>

Assign IMX8M*_CLK_A53_SRC's parent to system pll1 and
assign IMX8M*_CLK_A53_CORE's parent to arm pll out as what
is done in drivers/clk/imx/clk-imx8m*.c, then we could remove
the settings in driver which triggers lockdep warning.

Reported-by: Leonard Crestez <[email protected]>
Signed-off-by: Peng Fan <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mm.dtsi | 10 +++++++---
arch/arm64/boot/dts/freescale/imx8mn.dtsi | 10 +++++++---
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 11 ++++++++---
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 9 +++++++--
4 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
index 2e5e7c4457db..8d2200224db4 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
@@ -471,16 +471,20 @@
<&clk_ext3>, <&clk_ext4>;
clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
"clk_ext3", "clk_ext4";
- assigned-clocks = <&clk IMX8MM_CLK_NOC>,
+ assigned-clocks = <&clk IMX8MM_CLK_A53_SRC>,
+ <&clk IMX8MM_CLK_A53_CORE>,
+ <&clk IMX8MM_CLK_NOC>,
<&clk IMX8MM_CLK_AUDIO_AHB>,
<&clk IMX8MM_CLK_IPG_AUDIO_ROOT>,
<&clk IMX8MM_SYS_PLL3>,
<&clk IMX8MM_VIDEO_PLL1>,
<&clk IMX8MM_AUDIO_PLL1>,
<&clk IMX8MM_AUDIO_PLL2>;
- assigned-clock-parents = <&clk IMX8MM_SYS_PLL3_OUT>,
+ assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_800M>,
+ <&clk IMX8MM_ARM_PLL_OUT>,
+ <&clk IMX8MM_SYS_PLL3_OUT>,
<&clk IMX8MM_SYS_PLL1_800M>;
- assigned-clock-rates = <0>,
+ assigned-clock-rates = <0>, <0>, <0>,
<400000000>,
<400000000>,
<750000000>,
diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
index ff9c1ea38130..ad88ba3bf28c 100644
--- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
@@ -380,13 +380,17 @@
<&clk_ext3>, <&clk_ext4>;
clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
"clk_ext3", "clk_ext4";
- assigned-clocks = <&clk IMX8MN_CLK_NOC>,
+ assigned-clocks = <&clk IMX8MN_CLK_A53_SRC>,
+ <&clk IMX8MN_CLK_A53_CORE>,
+ <&clk IMX8MN_CLK_NOC>,
<&clk IMX8MN_CLK_AUDIO_AHB>,
<&clk IMX8MN_CLK_IPG_AUDIO_ROOT>,
<&clk IMX8MN_SYS_PLL3>;
- assigned-clock-parents = <&clk IMX8MN_SYS_PLL3_OUT>,
+ assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_800M>,
+ <&clk IMX8MN_ARM_PLL_OUT>,
+ <&clk IMX8MN_SYS_PLL3_OUT>,
<&clk IMX8MN_SYS_PLL1_800M>;
- assigned-clock-rates = <0>,
+ assigned-clock-rates = <0>, <0>, <0>,
<400000000>,
<400000000>,
<600000000>;
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index d92199bf6635..3a96082e8717 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -284,7 +284,9 @@
<&clk_ext3>, <&clk_ext4>;
clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
"clk_ext3", "clk_ext4";
- assigned-clocks = <&clk IMX8MP_CLK_NOC>,
+ assigned-clocks = <&clk IMX8MP_CLK_A53_SRC>,
+ <&clk IMX8MP_CLK_A53_CORE>,
+ <&clk IMX8MP_CLK_NOC>,
<&clk IMX8MP_CLK_NOC_IO>,
<&clk IMX8MP_CLK_GIC>,
<&clk IMX8MP_CLK_AUDIO_AHB>,
@@ -292,12 +294,15 @@
<&clk IMX8MP_CLK_IPG_AUDIO_ROOT>,
<&clk IMX8MP_AUDIO_PLL1>,
<&clk IMX8MP_AUDIO_PLL2>;
- assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>,
+ assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
+ <&clk IMX8MP_ARM_PLL_OUT>,
+ <&clk IMX8MP_SYS_PLL2_1000M>,
<&clk IMX8MP_SYS_PLL1_800M>,
<&clk IMX8MP_SYS_PLL2_500M>,
<&clk IMX8MP_SYS_PLL1_800M>,
<&clk IMX8MP_SYS_PLL1_800M>;
- assigned-clock-rates = <1000000000>,
+ assigned-clock-rates = <0>, <0>,
+ <1000000000>,
<800000000>,
<500000000>,
<400000000>,
diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index 9bbdaf2d6e34..1f3ffc8c8a78 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -594,8 +594,13 @@
clock-names = "ckil", "osc_25m", "osc_27m",
"clk_ext1", "clk_ext2",
"clk_ext3", "clk_ext4";
- assigned-clocks = <&clk IMX8MQ_CLK_NOC>;
- assigned-clock-rates = <800000000>;
+ assigned-clocks = <&clk IMX8MQ_CLK_A53_SRC>,
+ <&clk IMX8MQ_CLK_A53_CORE>,
+ <&clk IMX8MQ_CLK_NOC>;
+ assigned-clock-rates = <0>, <0>,
+ <800000000>;
+ assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_800M>,
+ <&clk IMX8MQ_ARM_PLL_OUT>;
};

src: reset-controller@30390000 {
--
2.16.4


2020-04-26 03:54:39

by Aisheng Dong

[permalink] [raw]
Subject: RE: [PATCH V2 01/10] arm64: dts: imx8m: assign clocks for A53

> From: Peng Fan <[email protected]>
> Sent: Thursday, March 12, 2020 6:20 PM
>
> Assign IMX8M*_CLK_A53_SRC's parent to system pll1 and assign
> IMX8M*_CLK_A53_CORE's parent to arm pll out as what is done in
> drivers/clk/imx/clk-imx8m*.c, then we could remove the settings in driver which
> triggers lockdep warning.
>
> Reported-by: Leonard Crestez <[email protected]>
> Signed-off-by: Peng Fan <[email protected]>

Reviewed-by: Dong Aisheng <[email protected]>

Regards
Aisheng

> ---
> arch/arm64/boot/dts/freescale/imx8mm.dtsi | 10 +++++++---
> arch/arm64/boot/dts/freescale/imx8mn.dtsi | 10 +++++++---
> arch/arm64/boot/dts/freescale/imx8mp.dtsi | 11 ++++++++---
> arch/arm64/boot/dts/freescale/imx8mq.dtsi | 9 +++++++--
> 4 files changed, 29 insertions(+), 11 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> index 2e5e7c4457db..8d2200224db4 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
> @@ -471,16 +471,20 @@
> <&clk_ext3>, <&clk_ext4>;
> clock-names = "osc_32k", "osc_24m", "clk_ext1",
> "clk_ext2",
> "clk_ext3", "clk_ext4";
> - assigned-clocks = <&clk IMX8MM_CLK_NOC>,
> + assigned-clocks = <&clk IMX8MM_CLK_A53_SRC>,
> + <&clk IMX8MM_CLK_A53_CORE>,
> + <&clk IMX8MM_CLK_NOC>,
> <&clk IMX8MM_CLK_AUDIO_AHB>,
> <&clk IMX8MM_CLK_IPG_AUDIO_ROOT>,
> <&clk IMX8MM_SYS_PLL3>,
> <&clk IMX8MM_VIDEO_PLL1>,
> <&clk IMX8MM_AUDIO_PLL1>,
> <&clk IMX8MM_AUDIO_PLL2>;
> - assigned-clock-parents = <&clk IMX8MM_SYS_PLL3_OUT>,
> + assigned-clock-parents = <&clk
> IMX8MM_SYS_PLL1_800M>,
> + <&clk IMX8MM_ARM_PLL_OUT>,
> + <&clk IMX8MM_SYS_PLL3_OUT>,
> <&clk IMX8MM_SYS_PLL1_800M>;
> - assigned-clock-rates = <0>,
> + assigned-clock-rates = <0>, <0>, <0>,
> <400000000>,
> <400000000>,
> <750000000>,
> diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> index ff9c1ea38130..ad88ba3bf28c 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> @@ -380,13 +380,17 @@
> <&clk_ext3>, <&clk_ext4>;
> clock-names = "osc_32k", "osc_24m", "clk_ext1",
> "clk_ext2",
> "clk_ext3", "clk_ext4";
> - assigned-clocks = <&clk IMX8MN_CLK_NOC>,
> + assigned-clocks = <&clk IMX8MN_CLK_A53_SRC>,
> + <&clk IMX8MN_CLK_A53_CORE>,
> + <&clk IMX8MN_CLK_NOC>,
> <&clk IMX8MN_CLK_AUDIO_AHB>,
> <&clk IMX8MN_CLK_IPG_AUDIO_ROOT>,
> <&clk IMX8MN_SYS_PLL3>;
> - assigned-clock-parents = <&clk IMX8MN_SYS_PLL3_OUT>,
> + assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_800M>,
> + <&clk IMX8MN_ARM_PLL_OUT>,
> + <&clk IMX8MN_SYS_PLL3_OUT>,
> <&clk IMX8MN_SYS_PLL1_800M>;
> - assigned-clock-rates = <0>,
> + assigned-clock-rates = <0>, <0>, <0>,
> <400000000>,
> <400000000>,
> <600000000>;
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index d92199bf6635..3a96082e8717 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -284,7 +284,9 @@
> <&clk_ext3>, <&clk_ext4>;
> clock-names = "osc_32k", "osc_24m", "clk_ext1",
> "clk_ext2",
> "clk_ext3", "clk_ext4";
> - assigned-clocks = <&clk IMX8MP_CLK_NOC>,
> + assigned-clocks = <&clk IMX8MP_CLK_A53_SRC>,
> + <&clk IMX8MP_CLK_A53_CORE>,
> + <&clk IMX8MP_CLK_NOC>,
> <&clk IMX8MP_CLK_NOC_IO>,
> <&clk IMX8MP_CLK_GIC>,
> <&clk IMX8MP_CLK_AUDIO_AHB>,
> @@ -292,12 +294,15 @@
> <&clk IMX8MP_CLK_IPG_AUDIO_ROOT>,
> <&clk IMX8MP_AUDIO_PLL1>,
> <&clk IMX8MP_AUDIO_PLL2>;
> - assigned-clock-parents = <&clk
> IMX8MP_SYS_PLL2_1000M>,
> + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>,
> + <&clk IMX8MP_ARM_PLL_OUT>,
> + <&clk IMX8MP_SYS_PLL2_1000M>,
> <&clk IMX8MP_SYS_PLL1_800M>,
> <&clk IMX8MP_SYS_PLL2_500M>,
> <&clk IMX8MP_SYS_PLL1_800M>,
> <&clk IMX8MP_SYS_PLL1_800M>;
> - assigned-clock-rates = <1000000000>,
> + assigned-clock-rates = <0>, <0>,
> + <1000000000>,
> <800000000>,
> <500000000>,
> <400000000>,
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> index 9bbdaf2d6e34..1f3ffc8c8a78 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
> @@ -594,8 +594,13 @@
> clock-names = "ckil", "osc_25m", "osc_27m",
> "clk_ext1", "clk_ext2",
> "clk_ext3", "clk_ext4";
> - assigned-clocks = <&clk IMX8MQ_CLK_NOC>;
> - assigned-clock-rates = <800000000>;
> + assigned-clocks = <&clk IMX8MQ_CLK_A53_SRC>,
> + <&clk IMX8MQ_CLK_A53_CORE>,
> + <&clk IMX8MQ_CLK_NOC>;
> + assigned-clock-rates = <0>, <0>,
> + <800000000>;
> + assigned-clock-parents = <&clk
> IMX8MQ_SYS1_PLL_800M>,
> + <&clk IMX8MQ_ARM_PLL_OUT>;
> };
>
> src: reset-controller@30390000 {
> --
> 2.16.4