[PATCH V4] arm64: dts: imx8mp: add NoC node

Peng Fan (OSS) posted 1 patch 3 years, 9 months ago
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
[PATCH V4] arm64: dts: imx8mp: add NoC node
Posted by Peng Fan (OSS) 3 years, 9 months ago
From: Peng Fan <peng.fan@nxp.com>

Add i.MX8MP NoC node to make the interconnect i.MX8MP driver could work.
Currently dynamic frequency scaling of the i.MX8MP NoC has not been
supported, only NoC initial settings are configured by interconnect
driver.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---

V4:
 Georgi has merged the V3 driver and bindings patches. So only resend
 this patch. Per Georgi's comments:
  - Drop syscon from compatbile
  - Drop the header inclusion

 Seems I not see this patch in patchwork or mailist, maybe sent failed.
 So gave a resend of V4.

 V3:
  https://lore.kernel.org/linux-arm-kernel/20220703091132.1412063-1-peng.fan@oss.nxp.com/

 I not list the full change log, since this is only a minor patch

 arch/arm64/boot/dts/freescale/imx8mp.dtsi | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index eb2d516278eb..42ed8ee08548 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1019,6 +1019,27 @@ eqos: ethernet@30bf0000 {
 			};
 		};
 
+		noc: interconnect@32700000 {
+			compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc";
+			reg = <0x32700000 0x100000>;
+			clocks = <&clk IMX8MP_CLK_NOC>;
+			#interconnect-cells = <1>;
+
+			operating-points-v2 = <&noc_opp_table>;
+
+			noc_opp_table: opp-table {
+				compatible = "operating-points-v2";
+
+				opp-200M {
+					opp-hz = /bits/ 64 <200000000>;
+				};
+
+				opp-1000M {
+					opp-hz = /bits/ 64 <1000000000>;
+				};
+			};
+		};
+
 		aips4: bus@32c00000 {
 			compatible = "fsl,aips-bus", "simple-bus";
 			reg = <0x32c00000 0x400000>;
-- 
2.25.1
Re: [PATCH V4] arm64: dts: imx8mp: add NoC node
Posted by Adam Ford 8 months, 4 weeks ago
On Wed, Jul 6, 2022 at 6:46 PM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
>
> From: Peng Fan <peng.fan@nxp.com>
>
> Add i.MX8MP NoC node to make the interconnect i.MX8MP driver could work.
> Currently dynamic frequency scaling of the i.MX8MP NoC has not been
> supported, only NoC initial settings are configured by interconnect
> driver.

Peng,

I noticed the Mini and Nano are both supported by the same NoC driver,
but only the 8MP has a DT node.  Looking through the TRM on the Mini,
I don't see the operating points listed.  Would they be the same 200M
and 1000M on the Mini and Nano?

adam
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>
> V4:
>  Georgi has merged the V3 driver and bindings patches. So only resend
>  this patch. Per Georgi's comments:
>   - Drop syscon from compatbile
>   - Drop the header inclusion
>
>  Seems I not see this patch in patchwork or mailist, maybe sent failed.
>  So gave a resend of V4.
>
>  V3:
>   https://lore.kernel.org/linux-arm-kernel/20220703091132.1412063-1-peng.fan@oss.nxp.com/
>
>  I not list the full change log, since this is only a minor patch
>
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index eb2d516278eb..42ed8ee08548 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -1019,6 +1019,27 @@ eqos: ethernet@30bf0000 {
>                         };
>                 };
>
> +               noc: interconnect@32700000 {
> +                       compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc";
> +                       reg = <0x32700000 0x100000>;
> +                       clocks = <&clk IMX8MP_CLK_NOC>;
> +                       #interconnect-cells = <1>;
> +
> +                       operating-points-v2 = <&noc_opp_table>;
> +
> +                       noc_opp_table: opp-table {
> +                               compatible = "operating-points-v2";
> +
> +                               opp-200M {
> +                                       opp-hz = /bits/ 64 <200000000>;
> +                               };
> +
> +                               opp-1000M {
> +                                       opp-hz = /bits/ 64 <1000000000>;
> +                               };
> +                       };
> +               };
> +
>                 aips4: bus@32c00000 {
>                         compatible = "fsl,aips-bus", "simple-bus";
>                         reg = <0x32c00000 0x400000>;
> --
> 2.25.1
>
Re: [PATCH V4] arm64: dts: imx8mp: add NoC node
Posted by Shawn Guo 3 years, 9 months ago
On Thu, Jul 07, 2022 at 07:47:57AM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> Add i.MX8MP NoC node to make the interconnect i.MX8MP driver could work.
> Currently dynamic frequency scaling of the i.MX8MP NoC has not been
> supported, only NoC initial settings are configured by interconnect
> driver.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> 
> V4:
>  Georgi has merged the V3 driver and bindings patches. So only resend
>  this patch. Per Georgi's comments:
>   - Drop syscon from compatbile
>   - Drop the header inclusion
> 
>  Seems I not see this patch in patchwork or mailist, maybe sent failed.
>  So gave a resend of V4.
> 
>  V3:
>   https://lore.kernel.org/linux-arm-kernel/20220703091132.1412063-1-peng.fan@oss.nxp.com/
> 
>  I not list the full change log, since this is only a minor patch
> 
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index eb2d516278eb..42ed8ee08548 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -1019,6 +1019,27 @@ eqos: ethernet@30bf0000 {
>  			};
>  		};
>  
> +		noc: interconnect@32700000 {
> +			compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc";
> +			reg = <0x32700000 0x100000>;
> +			clocks = <&clk IMX8MP_CLK_NOC>;
> +			#interconnect-cells = <1>;
> +

This newline is not really necessary.  Dropped it and applied patch.

Shawn

> +			operating-points-v2 = <&noc_opp_table>;
> +
> +			noc_opp_table: opp-table {
> +				compatible = "operating-points-v2";
> +
> +				opp-200M {
> +					opp-hz = /bits/ 64 <200000000>;
> +				};
> +
> +				opp-1000M {
> +					opp-hz = /bits/ 64 <1000000000>;
> +				};
> +			};
> +		};
> +
>  		aips4: bus@32c00000 {
>  			compatible = "fsl,aips-bus", "simple-bus";
>  			reg = <0x32c00000 0x400000>;
> -- 
> 2.25.1
>
Re: [PATCH V4] arm64: dts: imx8mp: add NoC node
Posted by Georgi Djakov 3 years, 9 months ago
On 7.07.22 2:47, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> Add i.MX8MP NoC node to make the interconnect i.MX8MP driver could work.
> Currently dynamic frequency scaling of the i.MX8MP NoC has not been
> supported, only NoC initial settings are configured by interconnect
> driver.
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>

Looks good to me.

Acked-by: Georgi Djakov <djakov@kernel.org>

> ---
> 
> V4:
>   Georgi has merged the V3 driver and bindings patches. So only resend
>   this patch. Per Georgi's comments:
>    - Drop syscon from compatbile
>    - Drop the header inclusion
> 
>   Seems I not see this patch in patchwork or mailist, maybe sent failed.
>   So gave a resend of V4.
> 
>   V3:
>    https://lore.kernel.org/linux-arm-kernel/20220703091132.1412063-1-peng.fan@oss.nxp.com/
> 
>   I not list the full change log, since this is only a minor patch
> 
>   arch/arm64/boot/dts/freescale/imx8mp.dtsi | 21 +++++++++++++++++++++
>   1 file changed, 21 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> index eb2d516278eb..42ed8ee08548 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
> @@ -1019,6 +1019,27 @@ eqos: ethernet@30bf0000 {
>   			};
>   		};
>   
> +		noc: interconnect@32700000 {
> +			compatible = "fsl,imx8mp-noc", "fsl,imx8m-noc";
> +			reg = <0x32700000 0x100000>;
> +			clocks = <&clk IMX8MP_CLK_NOC>;
> +			#interconnect-cells = <1>;
> +
> +			operating-points-v2 = <&noc_opp_table>;
> +
> +			noc_opp_table: opp-table {
> +				compatible = "operating-points-v2";
> +
> +				opp-200M {
> +					opp-hz = /bits/ 64 <200000000>;
> +				};
> +
> +				opp-1000M {
> +					opp-hz = /bits/ 64 <1000000000>;
> +				};
> +			};
> +		};
> +
>   		aips4: bus@32c00000 {
>   			compatible = "fsl,aips-bus", "simple-bus";
>   			reg = <0x32c00000 0x400000>;