[RFC 1/4] ARM: imx: enable rpmsg support on imx amp platforms

Richard Zhu
2016-01-06T08:24:54Z

From: Richard Zhu <Richard.Zhu@freescale.com>

enable the rpmsg support on imx amp platforms.
such as imx6sx, and imx7d.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
---
arch/arm/boot/dts/Makefile | 6 ++--
arch/arm/boot/dts/imx6sx-sdb-m4.dts | 56 +++++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/imx6sx.dtsi | 12 ++++++++
arch/arm/boot/dts/imx7d-sdb-m4.dts | 44 +++++++++++++++++++++++++++++
arch/arm/boot/dts/imx7d.dtsi | 14 ++++++++++
5 files changed, 130 insertions(+), 2 deletions(-)
create mode 100644 arch/arm/boot/dts/imx6sx-sdb-m4.dts
create mode 100644 arch/arm/boot/dts/imx7d-sdb-m4.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 30bbc37..5d40c1d 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -346,11 +346,13 @@ dtb-$(CONFIG_SOC_IMX6SL) += \
dtb-$(CONFIG_SOC_IMX6SX) += \
imx6sx-sabreauto.dtb \
imx6sx-sdb-reva.dtb \
- imx6sx-sdb.dtb
+ imx6sx-sdb.dtb \
+ imx6sx-sdb-m4.dtb
dtb-$(CONFIG_SOC_IMX6UL) += \
imx6ul-14x14-evk.dtb
dtb-$(CONFIG_SOC_IMX7D) += \
- imx7d-sdb.dtb
+ imx7d-sdb.dtb \
+ imx7d-sdb-m4.dtb
dtb-$(CONFIG_SOC_LS1021A) += \
ls1021a-qds.dtb \
ls1021a-twr.dtb
diff --git a/arch/arm/boot/dts/imx6sx-sdb-m4.dts b/arch/arm/boot/dts/imx6sx-sdb-m4.dts
new file mode 100644
index 0000000..3a45301
--- /dev/null
+++ b/arch/arm/boot/dts/imx6sx-sdb-m4.dts
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2016 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6sx-sdb.dts"
+
+/*
+ * The following modules are manupulated by M4, should be disabled
+ * at A7/Linux side
+ * ADC1/2, FLEXCAN1/2, I2C3, QSPI2, UART2, WDOG3
+ *
+ */
+
+&adc1 {
+ status = "disabled";
+};
+
+&adc2 {
+ status = "disabled";
+};
+
+&flexcan1 {
+ status = "disabled";
+};
+
+&flexcan2 {
+ status = "disabled";
+};
+
+&i2c3 {
+ status = "disabled";
+};
+
+&mu {
+ status = "okay";
+};
+
+&ocram {
+ reg = <0x00901000 0xf000>;
+};
+
+&qspi2 {
+ status = "disabled";
+};
+
+&rpmsg{
+ status = "okay";
+};
+
+&uart2 {
+ status = "disabled";
+};
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
index 167f77b..47a7f03 100644
--- a/arch/arm/boot/dts/imx6sx.dtsi
+++ b/arch/arm/boot/dts/imx6sx.dtsi
@@ -1184,6 +1184,18 @@
status = "disabled";
};

+ mu: mu@02294000 { /* mu */
+ compatible = "fsl,imx6sx-mu";
+ reg = <0x02294000 0x4000>;
+ interrupts = <0 90 0x04>;
+ status = "disabled";
+ };
+
+ rpmsg: rpmsg{
+ compatible = "fsl,imx6sx-rpmsg";
+ status = "disabled";
+ };
+
uart6: serial@022a0000 {
compatible = "fsl,imx6sx-uart", "fsl,imx21-uart";
reg = <0x022a0000 0x4000>;
diff --git a/arch/arm/boot/dts/imx7d-sdb-m4.dts b/arch/arm/boot/dts/imx7d-sdb-m4.dts
new file mode 100644
index 0000000..c941c3e
--- /dev/null
+++ b/arch/arm/boot/dts/imx7d-sdb-m4.dts
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2016 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx7d-sdb.dts"
+
+/*
+ * The following modules are manupulated by M4, should be disabled
+ * at A7/Linux side
+ * ADC1/2, FLEXCAN, I2C2, GPT3/4, UART2, WDOG3
+ *
+ */
+
+&i2c2 {
+ status = "disabled";
+};
+
+&gpt3 {
+ status = "disabled";
+};
+
+&gpt4 {
+ status = "disabled";
+};
+
+&mu{
+ status = "okay";
+};
+
+&rpmsg{
+ status = "okay";
+};
+
+&uart2 {
+ status = "disabled";
+};
+
+&wdog3{
+ status = "disabled";
+};
diff --git a/arch/arm/boot/dts/imx7d.dtsi b/arch/arm/boot/dts/imx7d.dtsi
index ebc053a..b60b125 100644
--- a/arch/arm/boot/dts/imx7d.dtsi
+++ b/arch/arm/boot/dts/imx7d.dtsi
@@ -752,6 +752,20 @@
status = "disabled";
};

+ mu: mu@30aa0000 {
+ compatible = "fsl,imx7d-mu", "fsl,imx6sx-mu";
+ reg = <0x30aa0000 0x10000>;
+ interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clks IMX7D_MU_ROOT_CLK>;
+ clock-names = "mu";
+ status = "disabled";
+ };
+
+ rpmsg: rpmsg{
+ compatible = "fsl,imx7d-rpmsg";
+ status = "disabled";
+ };
+
usbotg1: usb@30b10000 {
compatible = "fsl,imx7d-usb", "fsl,imx27-usb";
reg = <0x30b10000 0x200>;
--
1.9.1