[prev in list] [next in list] [prev in thread] [next in thread]
List: devicetree
Subject: [PATCH RFC v5 10/10] arm64: dts: imx8m: Add interconnect provider properties
From: Leonard Crestez <leonard.crestez () nxp ! com>
Date: 2019-10-31 22:52:09
Message-ID: 0023fc7eb7ab2375af08bf0f38dd55c02bb075d2.1572562150.git.leonard.crestez () nxp ! com
[Download RAW message or body]
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 bandwith request from other drivers.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
---
arch/arm64/boot/dts/freescale/imx8mm.dtsi | 4 ++++
arch/arm64/boot/dts/freescale/imx8mn.dtsi | 4 ++++
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
index dc0ab49bbbd2..4a84db1bf6bd 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi
@@ -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>;
@@ -791,10 +792,12 @@
noc: interconnect@32700000 {
compatible = "fsl,imx8mm-noc", "fsl,imx8m-noc";
reg = <0x32700000 0x100000>;
clocks = <&clk IMX8MM_CLK_NOC>;
devfreq = <&ddrc>;
+ #interconnect-cells = <1>;
+ interconnect-node-id = <IMX8MM_ICN_NOC>;
operating-points-v2 = <&noc_opp_table>;
};
aips4: bus@32c00000 {
compatible = "fsl,aips-bus", "simple-bus";
@@ -881,10 +884,11 @@
};
ddrc: dram-controller@3d400000 {
compatible = "fsl,imx8mm-ddrc", "fsl,imx8m-ddrc";
reg = <0x3d400000 0x400000>;
+ interconnect-node-id = <IMX8MM_ICS_DRAM>;
clock-names = "dram_core",
"dram_pll",
"dram_alt",
"dram_apb";
clocks = <&clk IMX8MM_CLK_DRAM_CORE>,
diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
index 6b4a9ba2a8a5..0fd96c976607 100644
--- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
@@ -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>;
@@ -687,10 +688,12 @@
noc: interconnect@32700000 {
compatible = "fsl,imx8mn-noc", "fsl,imx8m-noc";
reg = <0x32700000 0x100000>;
clocks = <&clk IMX8MN_CLK_NOC>;
devfreq = <&ddrc>;
+ #interconnect-cells = <1>;
+ interconnect-node-id = <IMX8MN_ICN_NOC>;
operating-points-v2 = <&noc_opp_table>;
};
aips4: bus@32c00000 {
compatible = "fsl,aips-bus", "simple-bus";
@@ -790,10 +793,11 @@
"dram_apb";
clocks = <&clk IMX8MN_CLK_DRAM_CORE>,
<&clk IMX8MN_DRAM_PLL>,
<&clk IMX8MN_CLK_DRAM_ALT>,
<&clk IMX8MN_CLK_DRAM_APB>;
+ interconnect-node-id = <IMX8MN_ICS_DRAM>;
devfreq-events = <&ddr_pmu>;
};
ddr_pmu: ddr-pmu@3d800000 {
compatible = "fsl,imx8mn-ddr-pmu", "fsl,imx8m-ddr-pmu";
diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index c42c67eb1d50..6ede02b44931 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -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>;
@@ -950,10 +951,12 @@
noc: interconnect@32700000 {
compatible = "fsl,imx8mq-noc", "fsl,imx8m-noc";
reg = <0x32700000 0x100000>;
clocks = <&clk IMX8MQ_CLK_NOC>;
devfreq = <&ddrc>;
+ #interconnect-cells = <1>;
+ interconnect-node-id = <IMX8MQ_ICN_NOC>;
operating-points-v2 = <&noc_opp_table>;
};
bus@32c00000 { /* AIPS4 */
compatible = "fsl,imx8mq-aips-bus", "simple-bus";
@@ -1144,10 +1147,11 @@
"dram_apb";
clocks = <&clk IMX8MQ_CLK_DRAM_CORE>,
<&clk IMX8MQ_DRAM_PLL_OUT>,
<&clk IMX8MQ_CLK_DRAM_ALT>,
<&clk IMX8MQ_CLK_DRAM_APB>;
+ interconnect-node-id = <IMX8MQ_ICS_DRAM>;
devfreq-events = <&ddr_pmu>;
};
ddr_pmu: ddr-pmu@3d800000 {
compatible = "fsl,imx8mq-ddr-pmu", "fsl,imx8m-ddr-pmu";
--
2.17.1
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic