diff options
author | Shengjiu Wang <shengjiu.wang@nxp.com> | 2020-03-30 14:38:53 +0800 |
---|---|---|
committer | Shengjiu Wang <shengjiu.wang@nxp.com> | 2020-03-31 15:04:14 +0800 |
commit | 6c3083578f4355251c6b84647385781d0212d1a4 (patch) | |
tree | 9b4e1df481ad65332a20b242660e87a3301e35f9 /arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts | |
parent | 3ace7799e9678f9cc01bac99511c538727fe22fd (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.dts | 93 |
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 = <®_audio_pwr>; + }; }; &pwm4{ @@ -66,7 +149,7 @@ status = "disabled"; }; -&sdma2{ +&sdma3{ status = "disabled"; }; @@ -77,3 +160,7 @@ &wdog1 { status = "disabled"; }; + +&sai3 { + status = "disabled"; +}; |