diff options
author | Richard Zhu <hongxing.zhu@nxp.com> | 2018-05-21 11:00:38 +0800 |
---|---|---|
committer | Leonard Crestez <leonard.crestez@nxp.com> | 2018-08-24 12:41:33 +0300 |
commit | ab3fe190f60b4cdae17e647b42b42cb79142c61e (patch) | |
tree | fda0a530e5d1a2c0ca23ead8bb74f25da1655b8b | |
parent | ca81dfb5d0be78f05fb8d0d921211e0ea76de323 (diff) |
MLK-18381-1 ARM64: dts: imx8mm: enable rpmsg
enable rpmsg on imx8mm
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
-rw-r--r-- | Documentation/devicetree/bindings/rpmsg/imx-rpmsg.txt | 2 | ||||
-rw-r--r-- | arch/arm64/boot/dts/freescale/Makefile | 3 | ||||
-rw-r--r-- | arch/arm64/boot/dts/freescale/fsl-imx8mm-evk-m4.dts | 54 | ||||
-rwxr-xr-x | arch/arm64/boot/dts/freescale/fsl-imx8mm-evk.dts | 14 | ||||
-rwxr-xr-x | arch/arm64/boot/dts/freescale/fsl-imx8mm.dtsi | 29 |
5 files changed, 99 insertions, 3 deletions
diff --git a/Documentation/devicetree/bindings/rpmsg/imx-rpmsg.txt b/Documentation/devicetree/bindings/rpmsg/imx-rpmsg.txt index bd2bd237144f..331520494c95 100644 --- a/Documentation/devicetree/bindings/rpmsg/imx-rpmsg.txt +++ b/Documentation/devicetree/bindings/rpmsg/imx-rpmsg.txt @@ -17,7 +17,7 @@ message unit module for RPMSG - mu_rpmsg : The message unit module used to do the communications between the asymmetric cores. -- compatible : "fsl,imx6sx-mu", "fsl,imx-mu-rpmsg1". +- compatible : "fsl,imx8mq-mu", "fsl,imx6sx-mu", "fsl,imx-mu-rpmsg1". Different mu module would be used by the different remote processor. The "fsl, imx6sx-mu" is used by the first remote processor. The "fsl,imx-mu-rpmsg1" is used by the second remote process. diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index afbd2e0d24ac..61cf72b160fe 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -67,7 +67,8 @@ dtb-$(CONFIG_ARCH_FSL_IMX8MQ) += fsl-imx8mq-ddr3l-arm2.dtb \ fsl-imx8mq-evk-audio-tdm.dtb \ fsl-imx8mq-evk-drm.dtb dtb-$(CONFIG_ARCH_FSL_IMX8MM) += fsl-imx8mm-evk.dtb \ - fsl-imx8mm-evk-ak4497.dtb + fsl-imx8mm-evk-ak4497.dtb \ + fsl-imx8mm-evk-m4.dtb always := $(dtb-y) subdir-y := $(dts-dirs) clean-files := *.dtb diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mm-evk-m4.dts b/arch/arm64/boot/dts/freescale/fsl-imx8mm-evk-m4.dts new file mode 100644 index 000000000000..cd5abda2d727 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/fsl-imx8mm-evk-m4.dts @@ -0,0 +1,54 @@ +/* + * Copyright 2018 NXP + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "fsl-imx8mm-evk.dts" + +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + m4_reserved: m4@0x80000000 { + no-map; + reg = <0 0x80000000 0 0x1000000>; + }; + + }; + + sound-wm8524 { + status = "disabled"; + }; +}; + +/* + * ATTENTION: M4 may use IPs like below + * ECSPI0/ECSPI2, GPIO1/GPIO5, GPT1, I2C3, I2S3, WDOG1, UART4, PWM3, SDMA1 + */ + +&i2c3 { + status = "disabled"; +}; + +&sdma1{ + status = "disabled"; +}; + +&uart4 { + status = "disabled"; +}; + +&wdog1{ + status = "disabled"; +}; diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mm-evk.dts b/arch/arm64/boot/dts/freescale/fsl-imx8mm-evk.dts index 82308803f7d8..c6a3140d3d47 100755 --- a/arch/arm64/boot/dts/freescale/fsl-imx8mm-evk.dts +++ b/arch/arm64/boot/dts/freescale/fsl-imx8mm-evk.dts @@ -630,6 +630,20 @@ }; }; +&mu { + status = "okay"; +}; + +&rpmsg{ + /* + * 64K for one rpmsg instance: + * --0xb8000000~0xb800ffff: pingpong + */ + vdev-nums = <1>; + reg = <0x0 0xb8000000 0x0 0x10000>; + status = "okay"; +}; + &sai1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sai1>; diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mm.dtsi b/arch/arm64/boot/dts/freescale/fsl-imx8mm.dtsi index 4d426f28ebbb..7674366c15c1 100755 --- a/arch/arm64/boot/dts/freescale/fsl-imx8mm.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-imx8mm.dtsi @@ -77,9 +77,14 @@ compatible = "shared-dma-pool"; reusable; size = <0 0x28000000>; - alloc-ranges = <0 0x40000000 0 0x80000000>; + alloc-ranges = <0 0x40000000 0 0x60000000>; linux,cma-default; }; + + rpmsg_reserved: rpmsg@0xb8000000 { + no-map; + reg = <0 0xb8000000 0 0x400000>; + }; }; gic: interrupt-controller@38800000 { @@ -458,6 +463,28 @@ status = "disabled"; }; + + imx_rpmsg: imx_rpmsg { + compatible = "fsl,rpmsg-bus", "simple-bus"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + + mu: mu@30aa0000 { + compatible = "fsl,imx8mq-mu", "fsl,imx6sx-mu"; + reg = <0x0 0x30aa0000 0x0 0x10000>; + interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clk IMX8MM_CLK_MU_ROOT>; + clock-names = "mu"; + status = "disabled"; + }; + + rpmsg: rpmsg{ + compatible = "fsl,imx8qm-rpmsg"; + status = "disabled"; + }; + }; + usbotg1: usb@32e40000 { compatible = "fsl,imx7d-usb", "fsl,imx27-usb"; reg = <0x0 0x32e40000 0x0 0x200>; |