@@ -6,10 +6,11 @@
#include <dt-bindings/clock/imx8mm-clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/interconnect/imx8mm.h>
#include "imx8mm-pinfunc.h"
/ {
interrupt-parent = <&gic>;
@@ -777,10 +778,15 @@
noc: interconnect@32700000 {
compatible = "fsl,imx8mm-noc", "fsl,imx8m-noc";
reg = <0x32700000 0x100000>;
clocks = <&clk IMX8MM_CLK_NOC>;
devfreq = <&ddrc>;
+ #interconnect-cells = <1>;
+ fsl,scalable-node-ids = <IMX8MM_ICN_NOC>,
+ <IMX8MM_ICS_DRAM>;
+ fsl,scalable-nodes = <&noc>,
+ <&ddrc>;
operating-points-v2 = <&noc_opp_table>;
noc_opp_table: opp-table {
compatible = "operating-points-v2";
@@ -5,10 +5,11 @@
#include <dt-bindings/clock/imx8mn-clock.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/interconnect/imx8mn.h>
#include "imx8mn-pinfunc.h"
/ {
interrupt-parent = <&gic>;
@@ -673,10 +674,15 @@
noc: interconnect@32700000 {
compatible = "fsl,imx8mn-noc", "fsl,imx8m-noc";
reg = <0x32700000 0x100000>;
clocks = <&clk IMX8MN_CLK_NOC>;
devfreq = <&ddrc>;
+ #interconnect-cells = <1>;
+ fsl,scalable-node-ids = <IMX8MN_ICN_NOC>,
+ <IMX8MN_ICS_DRAM>;
+ fsl,scalable-nodes = <&noc>,
+ <&ddrc>;
operating-points-v2 = <&noc_opp_table>;
noc_opp_table: opp-table {
compatible = "operating-points-v2";
@@ -9,10 +9,11 @@
#include <dt-bindings/reset/imx8mq-reset.h>
#include <dt-bindings/gpio/gpio.h>
#include "dt-bindings/input/input.h"
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/interconnect/imx8mq.h>
#include "imx8mq-pinfunc.h"
/ {
interrupt-parent = <&gpc>;
@@ -936,10 +937,15 @@
noc: interconnect@32700000 {
compatible = "fsl,imx8mq-noc", "fsl,imx8m-noc";
reg = <0x32700000 0x100000>;
clocks = <&clk IMX8MQ_CLK_NOC>;
devfreq = <&ddrc>;
+ #interconnect-cells = <1>;
+ fsl,scalable-node-ids = <IMX8MQ_ICN_NOC>,
+ <IMX8MQ_ICS_DRAM>;
+ fsl,scalable-nodes = <&noc>,
+ <&ddrc>;
operating-points-v2 = <&noc_opp_table>;
noc_opp_table: opp-table {
compatible = "operating-points-v2";
Add #interconnect-cells on main &noc so that it will probe the platform interconnect providers. Other devices can request icc_paths like this: interconnects = <&noc BUS_MASTER_ID &noc BUS_SLAVE_ID> And interconnect-node-id properties on &noc and &ddrc, the interconnect provider will scan these and make PM QoS frequency requests in response to banddwith request from other drivers. Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> --- arch/arm64/boot/dts/freescale/imx8mm.dtsi | 6 ++++++ arch/arm64/boot/dts/freescale/imx8mn.dtsi | 6 ++++++ arch/arm64/boot/dts/freescale/imx8mq.dtsi | 6 ++++++ 3 files changed, 18 insertions(+)