Add audio sound card node, which depends on codec node,
SSI node, audmux node.
Signed-off-by: Shengjiu Wang <[email protected]>
---
arch/arm/boot/dts/imx6sll-evk.dts | 74 +++++++++++++++++++++++++++++++
1 file changed, 74 insertions(+)
diff --git a/arch/arm/boot/dts/imx6sll-evk.dts b/arch/arm/boot/dts/imx6sll-evk.dts
index 5ace9e6acf85..45bf5e61e960 100644
--- a/arch/arm/boot/dts/imx6sll-evk.dts
+++ b/arch/arm/boot/dts/imx6sll-evk.dts
@@ -132,6 +132,29 @@ panel_in: endpoint {
};
};
};
+
+ sound {
+ compatible = "fsl,imx6sl-evk-wm8962", "fsl,imx-audio-wm8962";
+ model = "wm8962-audio";
+ audio-cpu = <&ssi2>;
+ audio-codec = <&codec>;
+ audio-routing =
+ "Headphone Jack", "HPOUTL",
+ "Headphone Jack", "HPOUTR",
+ "Ext Spk", "SPKOUTL",
+ "Ext Spk", "SPKOUTR",
+ "AMIC", "MICBIAS",
+ "IN3R", "AMIC";
+ mux-int-port = <2>;
+ mux-ext-port = <3>;
+ hp-det-gpio = <&gpio4 24 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&audmux {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_audmux3>;
+ status = "okay";
};
&cpu0 {
@@ -247,6 +270,27 @@ vgen6_reg: vgen6 {
};
};
+&i2c3 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c3>;
+ status = "okay";
+
+ codec: wm8962@1a {
+ compatible = "wlf,wm8962";
+ reg = <0x1a>;
+ clocks = <&clks IMX6SLL_CLK_EXTERN_AUDIO>;
+ DCVDD-supply = <&vgen3_reg>;
+ DBVDD-supply = <®_aud3v>;
+ AVDD-supply = <&vgen3_reg>;
+ CPVDD-supply = <&vgen3_reg>;
+ MICVDD-supply = <®_aud3v>;
+ PLLVDD-supply = <&vgen3_reg>;
+ SPKVDD1-supply = <®_aud4v>;
+ SPKVDD2-supply = <®_aud4v>;
+ };
+};
+
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd>;
@@ -273,6 +317,10 @@ &snvs_pwrkey {
status = "okay";
};
+&ssi2 {
+ status = "okay";
+};
+
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
@@ -329,6 +377,25 @@ &wdog1 {
};
&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hog>;
+
+ pinctrl_audmux3: audmux3grp {
+ fsl,pins = <
+ MX6SLL_PAD_AUD_TXC__AUD3_TXC 0x4130b0
+ MX6SLL_PAD_AUD_TXFS__AUD3_TXFS 0x4130b0
+ MX6SLL_PAD_AUD_TXD__AUD3_TXD 0x4110b0
+ MX6SLL_PAD_AUD_RXD__AUD3_RXD 0x4130b0
+ MX6SLL_PAD_AUD_MCLK__AUDIO_CLK_OUT 0x4130b0
+ >;
+ };
+
+ pinctrl_hog: hoggrp {
+ fsl,pins = <
+ MX6SLL_PAD_GPIO4_IO24__GPIO4_IO24 0x17059 /* HP DETECT */
+ >;
+ };
+
pinctrl_reg_sd3_vmmc: sd3vmmcgrp {
fsl,pins = <
MX6SLL_PAD_KEY_COL6__GPIO4_IO04 0x17059
@@ -448,6 +515,13 @@ MX6SLL_PAD_I2C1_SDA__I2C1_SDA 0x4001b8b1
>;
};
+ pinctrl_i2c3: i2c3grp {
+ fsl,pins = <
+ MX6SLL_PAD_AUD_RXFS__I2C3_SCL 0x4041b8b1
+ MX6SLL_PAD_AUD_RXC__I2C3_SDA 0x4041b8b1
+ >;
+ };
+
pinctrl_lcd: lcdgrp {
fsl,pins = <
MX6SLL_PAD_LCD_DATA00__LCD_DATA00 0x79
--
2.27.0
Hi Shengjiu,
On Thu, Aug 6, 2020 at 8:55 AM Shengjiu Wang <[email protected]> wrote:
>
> Add audio sound card node, which depends on codec node,
> SSI node, audmux node.
>
> Signed-off-by: Shengjiu Wang <[email protected]>
> ---
> arch/arm/boot/dts/imx6sll-evk.dts | 74 +++++++++++++++++++++++++++++++
> 1 file changed, 74 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6sll-evk.dts b/arch/arm/boot/dts/imx6sll-evk.dts
> index 5ace9e6acf85..45bf5e61e960 100644
> --- a/arch/arm/boot/dts/imx6sll-evk.dts
> +++ b/arch/arm/boot/dts/imx6sll-evk.dts
> @@ -132,6 +132,29 @@ panel_in: endpoint {
> };
> };
> };
> +
> + sound {
> + compatible = "fsl,imx6sl-evk-wm8962", "fsl,imx-audio-wm8962";
> + model = "wm8962-audio";
> + audio-cpu = <&ssi2>;
> + audio-codec = <&codec>;
> + audio-routing =
> + "Headphone Jack", "HPOUTL",
> + "Headphone Jack", "HPOUTR",
> + "Ext Spk", "SPKOUTL",
> + "Ext Spk", "SPKOUTR",
> + "AMIC", "MICBIAS",
> + "IN3R", "AMIC";
> + mux-int-port = <2>;
> + mux-ext-port = <3>;
> + hp-det-gpio = <&gpio4 24 GPIO_ACTIVE_LOW>;
> + };
> +};
> +
> +&audmux {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_audmux3>;
> + status = "okay";
> };
>
> &cpu0 {
> @@ -247,6 +270,27 @@ vgen6_reg: vgen6 {
> };
> };
>
> +&i2c3 {
> + clock-frequency = <100000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c3>;
> + status = "okay";
> +
> + codec: wm8962@1a {
Node names should be generic:
wm8962: audio-codec@1a
> + compatible = "wlf,wm8962";
> + reg = <0x1a>;
> + clocks = <&clks IMX6SLL_CLK_EXTERN_AUDIO>;
> + DCVDD-supply = <&vgen3_reg>;
> + DBVDD-supply = <®_aud3v>;
> + AVDD-supply = <&vgen3_reg>;
> + CPVDD-supply = <&vgen3_reg>;
> + MICVDD-supply = <®_aud3v>;
> + PLLVDD-supply = <&vgen3_reg>;
> + SPKVDD1-supply = <®_aud4v>;
> + SPKVDD2-supply = <®_aud4v>;
> + };
> +};
> +
> &lcdif {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_lcd>;
> @@ -273,6 +317,10 @@ &snvs_pwrkey {
> status = "okay";
> };
>
> +&ssi2 {
> + status = "okay";
> +};
> +
> &uart1 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_uart1>;
> @@ -329,6 +377,25 @@ &wdog1 {
> };
>
> &iomuxc {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_hog>;
> +
> + pinctrl_audmux3: audmux3grp {
> + fsl,pins = <
> + MX6SLL_PAD_AUD_TXC__AUD3_TXC 0x4130b0
> + MX6SLL_PAD_AUD_TXFS__AUD3_TXFS 0x4130b0
> + MX6SLL_PAD_AUD_TXD__AUD3_TXD 0x4110b0
> + MX6SLL_PAD_AUD_RXD__AUD3_RXD 0x4130b0
> + MX6SLL_PAD_AUD_MCLK__AUDIO_CLK_OUT 0x4130b0
> + >;
> + };
> +
> + pinctrl_hog: hoggrp {
> + fsl,pins = <
> + MX6SLL_PAD_GPIO4_IO24__GPIO4_IO24 0x17059 /* HP DETECT */
Please place it under audmux3 group for consistency.