Add audio description and pin muxing.

Signed-off-by: Adrien Grassein <adrien.grass...@gmail.com>
---
 .../boot/dts/freescale/imx8mm-nitrogen-r2.dts | 86 +++++++++++++++++++
 1 file changed, 86 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts 
b/arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts
index bdadc70acac6..6a90ef77b25b 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts
@@ -28,6 +28,29 @@ reg_wlan_vmmc: regulator-wlan-vmmc {
                gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>;
                enable-active-high;
        };
+
+       sound-wm8960 {
+               audio-cpu = <&sai1>;
+               audio-codec = <&wm8960>;
+               audio-routing =
+                       "Headphone Jack", "HP_L",
+                       "Headphone Jack", "HP_R",
+                       "Ext Spk", "SPK_LP",
+                       "Ext Spk", "SPK_LN",
+                       "Ext Spk", "SPK_RP",
+                       "Ext Spk", "SPK_RN",
+                       "RINPUT1", "Mic Jack",
+                       "Mic Jack", "MICB";
+               codec-master;
+               compatible = "fsl,imx-audio-wm8960";
+               /* JD2: hp detect high for headphone*/
+               hp-det-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
+               /* Jack is not stuffed */
+               mic-det-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
+               model = "wm8960-audio";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_sound_wm8960>;
+       };
 };
 
 &A53_0 {
@@ -211,6 +234,22 @@ rtc@68 {
        };
 };
 
+&i2c4 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c4>;
+       status = "okay";
+
+       wm8960: codec@1a {
+               compatible = "wlf,wm8960";
+               reg = <0x1a>;
+               clocks = <&clk IMX8MM_CLK_SAI1_ROOT>;
+               clock-names = "mclk1";
+               wlf,shared-lrclk;
+               #sound-dai-cells = <0>;
+       };
+};
+
 &pwm1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pwm1>;
@@ -238,6 +277,18 @@ &pwm4 {
        status = "okay";
 };
 
+&sai1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_sai1>;
+       status = "okay";
+};
+
+&sai2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_sai2>;
+       status = "okay";
+};
+
 /* BT */
 &uart1 {
        pinctrl-names = "default";
@@ -406,6 +457,13 @@ MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
                >;
        };
 
+       pinctrl_i2c4: i2c4grp {
+               fsl,pins = <
+                       MX8MM_IOMUXC_I2C4_SCL_I2C4_SCL 0x400001c3
+                       MX8MM_IOMUXC_I2C4_SDA_I2C4_SDA 0x400001c3
+               >;
+       };
+
        pinctrl_i2c3a_rv4162: i2c3a-rv4162grp {
                fsl,pins = <
                        MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x1c0
@@ -442,6 +500,34 @@ MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x16
                >;
        };
 
+       pinctrl_sai1: sai1grp {
+               fsl,pins = <
+                       /* wm8960 */
+                       MX8MM_IOMUXC_SAI1_MCLK_SAI1_MCLK        0xd6
+                       MX8MM_IOMUXC_SAI1_TXFS_SAI1_TX_SYNC     0xd6
+                       MX8MM_IOMUXC_SAI1_TXC_SAI1_TX_BCLK      0xd6
+                       MX8MM_IOMUXC_SAI1_TXD0_SAI1_TX_DATA0    0xd6
+                       MX8MM_IOMUXC_SAI1_RXD0_SAI1_RX_DATA0    0xd6
+               >;
+       };
+
+       pinctrl_sai2: sai2grp {
+               fsl,pins = <
+                       /* Bluetooth PCM */
+                       MX8MM_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC     0xd6
+                       MX8MM_IOMUXC_SAI2_TXC_SAI2_TX_BCLK      0xd6
+                       MX8MM_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0    0xd6
+                       MX8MM_IOMUXC_SAI2_RXD0_SAI2_RX_DATA0    0xd6
+               >;
+       };
+
+       pinctrl_sound_wm8960: sound-wm8960grp {
+               fsl,pins = <
+                       MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10      0x80
+                       MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28       0x80
+               >;
+       };
+
        pinctrl_uart1: uart1grp {
                fsl,pins = <
                        MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140
-- 
2.25.1

Reply via email to