summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/imx8mq.dtsi
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2019-06-25 04:52:55 -0700
committerOlof Johansson <olof@lixom.net>2019-06-25 04:52:55 -0700
commit37937ee73ba4d24850df666261f5243d611d1cc5 (patch)
treea07606de112f1476d0c82cf1a43ad6c6766f370a /arch/arm64/boot/dts/freescale/imx8mq.dtsi
parent09253fccca37137afec66ca5b9470cd566186af7 (diff)
parent01407158e4c7a6ac646901b7b034b5a7d605b480 (diff)
Merge tag 'imx-dt64-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt
i.MX arm64 device tree changes for 5.3: - Add i.MX8MQ based Librem5 devkit support. - Add SNVS power key support for i.MX8MQ and i.MX8MM. - Add GPIO alias for imx8mq and i.MX8QXP. - A series from Daniel Baluta to add SAI devices and enable audio support for imx8mm-evk board. - Add DDR performance monitor unit support for i.MX8QXP. - Add irqsteer interrupt controller device for i.MX8MQ SoC. - Add CPU speed grading and all OPPs for i.MX8MM and i.MX8MQ. - Add OCOTP device node for i.MX8QXP. - Various device addition for LS1028A: SATA, qDMA, USB, Mali DP500 and temperature sensor. - Random minor coding style improvements. * tag 'imx-dt64-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (32 commits) arm64: dts: librem5: enable the SNVS power key arm64: dts: librem5: Limit the USB to 5V arm64: dts: imx8qxp: added ddr performance monitor nodes arm64: dts: imx8qxp: sort LSIO subsystem devices arm64: dts: imx8qxp: sort alias alphabetically arm64: dts: imx8qxp: Add lsio_mu13 node arm64: dts: imx8mm-evk: Enable audio codec wm8524 arm64: dts: fsl: librem5: Add a device tree for the Librem5 devkit arm64: dts: fsl: ls1028a: Add qDMA node arm64: dts: imx8mm: Enable SNVS power key according to board design arm64: dts: imx8mq-evk: Enable SNVS power key arm64: dts: ls1028a: add crypto node arm64: dts: ls1028a: Add temperature sensor node arm64: dts: imx8mm: Move gic node into soc node arm64: dts: imx8mm: Move usbphy out of soc node arm64: dts: imx8mm: Pass the 'ranges' property arm64: dts: imx8mm: Pass a unit name for the 'soc' node arm64: dts: fsl: imx8mq: add the snvs power key node arm64: dts: ls1028a: fix watchdog device node arm64: dts: ls1028a: Enable sata. ... Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/imx8mq.dtsi')
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mq.dtsi60
1 files changed, 58 insertions, 2 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index 72ee59885678..d09b808eff87 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -8,6 +8,7 @@
#include <dt-bindings/power/imx8mq-power.h>
#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 "imx8mq-pinfunc.h"
@@ -19,6 +20,11 @@
#size-cells = <2>;
aliases {
+ gpio0 = &gpio1;
+ gpio1 = &gpio2;
+ gpio2 = &gpio3;
+ gpio3 = &gpio4;
+ gpio4 = &gpio5;
i2c0 = &i2c1;
i2c1 = &i2c2;
i2c2 = &i2c3;
@@ -95,6 +101,8 @@
next-level-cache = <&A53_L2>;
operating-points-v2 = <&a53_opp_table>;
#cooling-cells = <2>;
+ nvmem-cells = <&cpu_speed_grade>;
+ nvmem-cell-names = "speed_grade";
};
A53_1: cpu@1 {
@@ -145,14 +153,32 @@
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <900000>;
+ /* Industrial only */
+ opp-supported-hw = <0xf>, <0x4>;
+ clock-latency-ns = <150000>;
+ };
+
+ opp-1000000000 {
+ opp-hz = /bits/ 64 <1000000000>;
+ opp-microvolt = <900000>;
+ /* Consumer only */
+ opp-supported-hw = <0xe>, <0x3>;
clock-latency-ns = <150000>;
};
opp-1300000000 {
opp-hz = /bits/ 64 <1300000000>;
opp-microvolt = <1000000>;
+ opp-supported-hw = <0xc>, <0x7>;
+ clock-latency-ns = <150000>;
+ };
+
+ opp-1500000000 {
+ opp-hz = /bits/ 64 <1500000000>;
+ opp-microvolt = <1000000>;
+ /* Consumer only but rely on speed grading */
+ opp-supported-hw = <0x8>, <0x7>;
clock-latency-ns = <150000>;
- opp-suspend;
};
};
@@ -415,6 +441,10 @@
clocks = <&clk IMX8MQ_CLK_OCOTP_ROOT>;
#address-cells = <1>;
#size-cells = <1>;
+
+ cpu_speed_grade: speed-grade@10 {
+ reg = <0x10 4>;
+ };
};
anatop: syscon@30360000 {
@@ -437,6 +467,14 @@
clock-names = "snvs-rtc";
};
+ snvs_pwrkey: snvs-powerkey {
+ compatible = "fsl,sec-v4.0-pwrkey";
+ regmap = <&snvs>;
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+ linux,keycode = <KEY_POWER>;
+ wakeup-source;
+ status = "disabled";
+ };
};
clk: clock-controller@30380000 {
@@ -817,6 +855,25 @@
};
};
+ bus@32c00000 { /* AIPS4 */
+ compatible = "fsl,imx8mq-aips-bus", "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x32c00000 0x32c00000 0x400000>;
+
+ irqsteer: interrupt-controller@32e2d000 {
+ compatible = "fsl,imx8m-irqsteer", "fsl,imx-irqsteer";
+ reg = <0x32e2d000 0x1000>;
+ interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>;
+ clock-names = "ipg";
+ fsl,channel = <0>;
+ fsl,num-irqs = <64>;
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
+ };
+
gpu: gpu@38000000 {
compatible = "vivante,gc";
reg = <0x38000000 0x40000>;
@@ -905,7 +962,6 @@
status = "disabled";
};
-
pcie0: pcie@33800000 {
compatible = "fsl,imx8mq-pcie";
reg = <0x33800000 0x400000>,