summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@nxp.com>2020-03-30 14:38:53 +0800
committerShengjiu Wang <shengjiu.wang@nxp.com>2020-03-31 15:04:14 +0800
commit6c3083578f4355251c6b84647385781d0212d1a4 (patch)
tree9b4e1df481ad65332a20b242660e87a3301e35f9 /arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts
parent3ace7799e9678f9cc01bac99511c538727fe22fd (diff)
MLK-23702-5: arm64: dts: imx8mp: Support rpmsg audio
1. add i2c-rpmsg support for i2c3 2. reserve memory for LPA, for the accessable memory of m7: 0x40000000-0xbfffffff. 3. support LPA, playback only Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Signed-off-by: Clark Wang <xiaoning.wang@nxp.com> Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts')
-rw-r--r--arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts93
1 files changed, 90 insertions, 3 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts
index cfc6ebe24f6b..9d10a44fce09 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts
@@ -8,6 +8,12 @@
#include "imx8mp-evk.dts"
/ {
+ aliases {
+ i2c0 = &i2c1;
+ i2c1 = &i2c2;
+ i2c2 = &i2c_rpbus_3;
+ };
+
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
@@ -23,6 +29,37 @@
no-map;
reg = <0 0xb8400000 0 0x100000>;
};
+
+ audio_reserved: audio@0x81000000 {
+ compatible = "shared-dma-pool";
+ no-map;
+ reg = <0 0x81000000 0 0x10000000>;
+ };
+ };
+
+ sound-wm8960 {
+ status = "disabled";
+ };
+
+ rpmsg_i2s: rpmsg-i2s {
+ compatible = "fsl,imx8mp-rpmsg-i2s";
+ /* the audio device index in m4 domain */
+ fsl,audioindex = <0> ;
+ fsl,dma-buffer-size = <0x6000000>;
+ fsl,enable-lpa;
+ status = "okay";
+ };
+
+ sound-rpmsg {
+ compatible = "fsl,imx-audio-rpmsg";
+ model = "wm8960-audio";
+ cpu-dai = <&rpmsg_i2s>;
+ audio-codec = <&codec>;
+ memory-region = <&audio_reserved>;
+ rpmsg-out;
+ audio-routing =
+ "LINPUT1", "MICB",
+ "LINPUT3", "MICB";
};
};
@@ -43,8 +80,54 @@
status = "disabled";
};
-&i2c3 {
- status = "disabled";
+/delete-node/ &i2c3;
+
+&i2c_rpbus_3 {
+ compatible = "fsl,i2c-rpbus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ pca6416: gpio@20 {
+ compatible = "ti,tca6416";
+ reg = <0x20>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ ov5640_1: ov5640_mipi@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_csi0_pwn>, <&pinctrl_csi0_rst>;
+ clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
+ clock-names = "xclk";
+ assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;
+ assigned-clock-parents = <&clk IMX8MP_CLK_24M>;
+ assigned-clock-rates = <24000000>;
+ csi_id = <0>;
+ powerdown-gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
+ mclk = <24000000>;
+ mclk_source = <0>;
+ mipi_csi;
+ status = "disabled";
+
+ port {
+ ov5640_mipi_1_ep: endpoint {
+ remote-endpoint = <&mipi_csi1_ep>;
+ data-lanes = <1 2>;
+ clock-lanes = <0>;
+ };
+ };
+ };
+
+ codec: wm8960@1a {
+ compatible = "wlf,wm8960,lpa";
+ reg = <0x1a>;
+ wlf,shared-lrclk;
+ SPKVDD1-supply = <&reg_audio_pwr>;
+ };
};
&pwm4{
@@ -66,7 +149,7 @@
status = "disabled";
};
-&sdma2{
+&sdma3{
status = "disabled";
};
@@ -77,3 +160,7 @@
&wdog1 {
status = "disabled";
};
+
+&sai3 {
+ status = "disabled";
+};