Add wm8962 sound card which connects to sai3. The connection
of SAI3 and wm8962 is controlled by PCAL6524HEAZ module, add
gpio-hog for it.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
.../boot/dts/freescale/imx93-9x9-qsb.dts | 74 +++++++++++++++++++
1 file changed, 74 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
index f8a73612fa05..10f3366b8253 100644
--- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts
@@ -68,6 +68,15 @@ reg_vref_1v8: regulator-adc-vref {
regulator-max-microvolt = <1800000>;
};
+ reg_audio_pwr: regulator-audio-pwr {
+ compatible = "regulator-fixed";
+ regulator-name = "audio-pwr";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&pcal6524 16 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
reg_rpi_3v3: regulator-rpi {
compatible = "regulator-fixed";
regulator-name = "VDD_RPI_3V3";
@@ -88,6 +97,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
enable-active-high;
off-on-delay-us = <12000>;
};
+
+ sound-wm8962 {
+ compatible = "fsl,imx-audio-wm8962";
+ model = "wm8962-audio";
+ audio-cpu = <&sai3>;
+ audio-codec = <&wm8962>;
+ hp-det-gpio = <&pcal6524 4 GPIO_ACTIVE_HIGH>;
+ audio-routing =
+ "Headphone Jack", "HPOUTL",
+ "Headphone Jack", "HPOUTR",
+ "Ext Spk", "SPKOUTL",
+ "Ext Spk", "SPKOUTR",
+ "AMIC", "MICBIAS",
+ "IN3R", "AMIC",
+ "IN1R", "AMIC";
+ };
};
&adc1 {
@@ -136,6 +161,28 @@ &lpi2c1 {
pinctrl-0 = <&pinctrl_lpi2c1>;
status = "okay";
+ wm8962: codec@1a {
+ compatible = "wlf,wm8962";
+ reg = <0x1a>;
+ clocks = <&clk IMX93_CLK_SAI3_GATE>;
+ DCVDD-supply = <®_audio_pwr>;
+ DBVDD-supply = <®_audio_pwr>;
+ AVDD-supply = <®_audio_pwr>;
+ CPVDD-supply = <®_audio_pwr>;
+ MICVDD-supply = <®_audio_pwr>;
+ PLLVDD-supply = <®_audio_pwr>;
+ SPKVDD1-supply = <®_audio_pwr>;
+ SPKVDD2-supply = <®_audio_pwr>;
+ gpio-cfg = <
+ 0x0000 /* 0:Default */
+ 0x0000 /* 1:Default */
+ 0x0000 /* 2:FN_DMICCLK */
+ 0x0000 /* 3:Default */
+ 0x0000 /* 4:FN_DMICCDAT */
+ 0x0000 /* 5:Default */
+ >;
+ };
+
ptn5110: tcpc@50 {
compatible = "nxp,ptn5110", "tcpci";
reg = <0x50>;
@@ -194,6 +241,12 @@ pcal6524: gpio@22 {
interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcal6524>;
+
+ exp-sel-hog {
+ gpio-hog;
+ gpios = <22 GPIO_ACTIVE_HIGH>;
+ output-low;
+ };
};
pmic@25 {
@@ -286,6 +339,17 @@ &mu2 {
status = "okay";
};
+&sai3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai3>;
+ assigned-clocks = <&clk IMX93_CLK_SAI3>;
+ assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>;
+ assigned-clock-rates = <12288000>;
+ fsl,sai-mclk-direction-output;
+ fsl,sai-synchronous-rx;
+ status = "okay";
+};
+
&usbotg1 {
dr_mode = "otg";
hnp-disable;
@@ -443,6 +507,16 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e
>;
};
+ pinctrl_sai3: sai3grp {
+ fsl,pins = <
+ MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e
+ MX93_PAD_GPIO_IO18__SAI3_RX_BCLK 0x31e
+ MX93_PAD_GPIO_IO17__SAI3_MCLK 0x31e
+ MX93_PAD_GPIO_IO19__SAI3_TX_DATA00 0x31e
+ MX93_PAD_GPIO_IO20__SAI3_RX_DATA00 0x31e
+ >;
+ };
+
pinctrl_usdhc2_gpio: usdhc2gpiogrp {
fsl,pins = <
MX93_PAD_SD2_CD_B__GPIO3_IO00 0x31e
--
2.34.1
On Thu, Sep 12, 2024 at 09:59:39AM +0800, Shengjiu Wang wrote: > Add wm8962 sound card which connects to sai3. The connection > of SAI3 and wm8962 is controlled by PCAL6524HEAZ module, add > gpio-hog for it. > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> > --- > .../boot/dts/freescale/imx93-9x9-qsb.dts | 74 +++++++++++++++++++ > 1 file changed, 74 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts > index f8a73612fa05..10f3366b8253 100644 > --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts > +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts > @@ -68,6 +68,15 @@ reg_vref_1v8: regulator-adc-vref { > regulator-max-microvolt = <1800000>; > }; > > + reg_audio_pwr: regulator-audio-pwr { > + compatible = "regulator-fixed"; > + regulator-name = "audio-pwr"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&pcal6524 16 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > + > reg_rpi_3v3: regulator-rpi { > compatible = "regulator-fixed"; > regulator-name = "VDD_RPI_3V3"; > @@ -88,6 +97,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 { > enable-active-high; > off-on-delay-us = <12000>; > }; > + > + sound-wm8962 { > + compatible = "fsl,imx-audio-wm8962"; > + model = "wm8962-audio"; > + audio-cpu = <&sai3>; > + audio-codec = <&wm8962>; > + hp-det-gpio = <&pcal6524 4 GPIO_ACTIVE_HIGH>; > + audio-routing = > + "Headphone Jack", "HPOUTL", > + "Headphone Jack", "HPOUTR", > + "Ext Spk", "SPKOUTL", > + "Ext Spk", "SPKOUTR", > + "AMIC", "MICBIAS", > + "IN3R", "AMIC", > + "IN1R", "AMIC"; > + }; > }; > > &adc1 { > @@ -136,6 +161,28 @@ &lpi2c1 { > pinctrl-0 = <&pinctrl_lpi2c1>; > status = "okay"; > > + wm8962: codec@1a { Can we use audio-codec for node name? Shawn > + compatible = "wlf,wm8962"; > + reg = <0x1a>; > + clocks = <&clk IMX93_CLK_SAI3_GATE>; > + DCVDD-supply = <®_audio_pwr>; > + DBVDD-supply = <®_audio_pwr>; > + AVDD-supply = <®_audio_pwr>; > + CPVDD-supply = <®_audio_pwr>; > + MICVDD-supply = <®_audio_pwr>; > + PLLVDD-supply = <®_audio_pwr>; > + SPKVDD1-supply = <®_audio_pwr>; > + SPKVDD2-supply = <®_audio_pwr>; > + gpio-cfg = < > + 0x0000 /* 0:Default */ > + 0x0000 /* 1:Default */ > + 0x0000 /* 2:FN_DMICCLK */ > + 0x0000 /* 3:Default */ > + 0x0000 /* 4:FN_DMICCDAT */ > + 0x0000 /* 5:Default */ > + >; > + }; > + > ptn5110: tcpc@50 { > compatible = "nxp,ptn5110", "tcpci"; > reg = <0x50>; > @@ -194,6 +241,12 @@ pcal6524: gpio@22 { > interrupts = <26 IRQ_TYPE_LEVEL_LOW>; > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_pcal6524>; > + > + exp-sel-hog { > + gpio-hog; > + gpios = <22 GPIO_ACTIVE_HIGH>; > + output-low; > + }; > }; > > pmic@25 { > @@ -286,6 +339,17 @@ &mu2 { > status = "okay"; > }; > > +&sai3 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_sai3>; > + assigned-clocks = <&clk IMX93_CLK_SAI3>; > + assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>; > + assigned-clock-rates = <12288000>; > + fsl,sai-mclk-direction-output; > + fsl,sai-synchronous-rx; > + status = "okay"; > +}; > + > &usbotg1 { > dr_mode = "otg"; > hnp-disable; > @@ -443,6 +507,16 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e > >; > }; > > + pinctrl_sai3: sai3grp { > + fsl,pins = < > + MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e > + MX93_PAD_GPIO_IO18__SAI3_RX_BCLK 0x31e > + MX93_PAD_GPIO_IO17__SAI3_MCLK 0x31e > + MX93_PAD_GPIO_IO19__SAI3_TX_DATA00 0x31e > + MX93_PAD_GPIO_IO20__SAI3_RX_DATA00 0x31e > + >; > + }; > + > pinctrl_usdhc2_gpio: usdhc2gpiogrp { > fsl,pins = < > MX93_PAD_SD2_CD_B__GPIO3_IO00 0x31e > -- > 2.34.1 >
On Wed, Oct 16, 2024 at 4:03 PM Shawn Guo <shawnguo2@yeah.net> wrote: > > On Thu, Sep 12, 2024 at 09:59:39AM +0800, Shengjiu Wang wrote: > > Add wm8962 sound card which connects to sai3. The connection > > of SAI3 and wm8962 is controlled by PCAL6524HEAZ module, add > > gpio-hog for it. > > > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> > > --- > > .../boot/dts/freescale/imx93-9x9-qsb.dts | 74 +++++++++++++++++++ > > 1 file changed, 74 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts > > index f8a73612fa05..10f3366b8253 100644 > > --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts > > +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts > > @@ -68,6 +68,15 @@ reg_vref_1v8: regulator-adc-vref { > > regulator-max-microvolt = <1800000>; > > }; > > > > + reg_audio_pwr: regulator-audio-pwr { > > + compatible = "regulator-fixed"; > > + regulator-name = "audio-pwr"; > > + regulator-min-microvolt = <3300000>; > > + regulator-max-microvolt = <3300000>; > > + gpio = <&pcal6524 16 GPIO_ACTIVE_HIGH>; > > + enable-active-high; > > + }; > > + > > reg_rpi_3v3: regulator-rpi { > > compatible = "regulator-fixed"; > > regulator-name = "VDD_RPI_3V3"; > > @@ -88,6 +97,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 { > > enable-active-high; > > off-on-delay-us = <12000>; > > }; > > + > > + sound-wm8962 { > > + compatible = "fsl,imx-audio-wm8962"; > > + model = "wm8962-audio"; > > + audio-cpu = <&sai3>; > > + audio-codec = <&wm8962>; > > + hp-det-gpio = <&pcal6524 4 GPIO_ACTIVE_HIGH>; > > + audio-routing = > > + "Headphone Jack", "HPOUTL", > > + "Headphone Jack", "HPOUTR", > > + "Ext Spk", "SPKOUTL", > > + "Ext Spk", "SPKOUTR", > > + "AMIC", "MICBIAS", > > + "IN3R", "AMIC", > > + "IN1R", "AMIC"; > > + }; > > }; > > > > &adc1 { > > @@ -136,6 +161,28 @@ &lpi2c1 { > > pinctrl-0 = <&pinctrl_lpi2c1>; > > status = "okay"; > > > > + wm8962: codec@1a { > > Can we use audio-codec for node name? Ok, will update it. Best regards Shengjiu Wang > > Shawn > > > + compatible = "wlf,wm8962"; > > + reg = <0x1a>; > > + clocks = <&clk IMX93_CLK_SAI3_GATE>; > > + DCVDD-supply = <®_audio_pwr>; > > + DBVDD-supply = <®_audio_pwr>; > > + AVDD-supply = <®_audio_pwr>; > > + CPVDD-supply = <®_audio_pwr>; > > + MICVDD-supply = <®_audio_pwr>; > > + PLLVDD-supply = <®_audio_pwr>; > > + SPKVDD1-supply = <®_audio_pwr>; > > + SPKVDD2-supply = <®_audio_pwr>; > > + gpio-cfg = < > > + 0x0000 /* 0:Default */ > > + 0x0000 /* 1:Default */ > > + 0x0000 /* 2:FN_DMICCLK */ > > + 0x0000 /* 3:Default */ > > + 0x0000 /* 4:FN_DMICCDAT */ > > + 0x0000 /* 5:Default */ > > + >; > > + }; > > + > > ptn5110: tcpc@50 { > > compatible = "nxp,ptn5110", "tcpci"; > > reg = <0x50>; > > @@ -194,6 +241,12 @@ pcal6524: gpio@22 { > > interrupts = <26 IRQ_TYPE_LEVEL_LOW>; > > pinctrl-names = "default"; > > pinctrl-0 = <&pinctrl_pcal6524>; > > + > > + exp-sel-hog { > > + gpio-hog; > > + gpios = <22 GPIO_ACTIVE_HIGH>; > > + output-low; > > + }; > > }; > > > > pmic@25 { > > @@ -286,6 +339,17 @@ &mu2 { > > status = "okay"; > > }; > > > > +&sai3 { > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pinctrl_sai3>; > > + assigned-clocks = <&clk IMX93_CLK_SAI3>; > > + assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>; > > + assigned-clock-rates = <12288000>; > > + fsl,sai-mclk-direction-output; > > + fsl,sai-synchronous-rx; > > + status = "okay"; > > +}; > > + > > &usbotg1 { > > dr_mode = "otg"; > > hnp-disable; > > @@ -443,6 +507,16 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e > > >; > > }; > > > > + pinctrl_sai3: sai3grp { > > + fsl,pins = < > > + MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e > > + MX93_PAD_GPIO_IO18__SAI3_RX_BCLK 0x31e > > + MX93_PAD_GPIO_IO17__SAI3_MCLK 0x31e > > + MX93_PAD_GPIO_IO19__SAI3_TX_DATA00 0x31e > > + MX93_PAD_GPIO_IO20__SAI3_RX_DATA00 0x31e > > + >; > > + }; > > + > > pinctrl_usdhc2_gpio: usdhc2gpiogrp { > > fsl,pins = < > > MX93_PAD_SD2_CD_B__GPIO3_IO00 0x31e > > -- > > 2.34.1 > > >
On Thu, Sep 12, 2024 at 09:59:39AM +0800, Shengjiu Wang wrote: > Add wm8962 sound card which connects to sai3. The connection > of SAI3 and wm8962 is controlled by PCAL6524HEAZ module, add > gpio-hog for it. > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> > --- Reviewed-by: Frank Li <Frank.Li@nxp.com> > .../boot/dts/freescale/imx93-9x9-qsb.dts | 74 +++++++++++++++++++ > 1 file changed, 74 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts > index f8a73612fa05..10f3366b8253 100644 > --- a/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts > +++ b/arch/arm64/boot/dts/freescale/imx93-9x9-qsb.dts > @@ -68,6 +68,15 @@ reg_vref_1v8: regulator-adc-vref { > regulator-max-microvolt = <1800000>; > }; > > + reg_audio_pwr: regulator-audio-pwr { > + compatible = "regulator-fixed"; > + regulator-name = "audio-pwr"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + gpio = <&pcal6524 16 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > + > reg_rpi_3v3: regulator-rpi { > compatible = "regulator-fixed"; > regulator-name = "VDD_RPI_3V3"; > @@ -88,6 +97,22 @@ reg_usdhc2_vmmc: regulator-usdhc2 { > enable-active-high; > off-on-delay-us = <12000>; > }; > + > + sound-wm8962 { > + compatible = "fsl,imx-audio-wm8962"; > + model = "wm8962-audio"; > + audio-cpu = <&sai3>; > + audio-codec = <&wm8962>; > + hp-det-gpio = <&pcal6524 4 GPIO_ACTIVE_HIGH>; > + audio-routing = > + "Headphone Jack", "HPOUTL", > + "Headphone Jack", "HPOUTR", > + "Ext Spk", "SPKOUTL", > + "Ext Spk", "SPKOUTR", > + "AMIC", "MICBIAS", > + "IN3R", "AMIC", > + "IN1R", "AMIC"; > + }; > }; > > &adc1 { > @@ -136,6 +161,28 @@ &lpi2c1 { > pinctrl-0 = <&pinctrl_lpi2c1>; > status = "okay"; > > + wm8962: codec@1a { > + compatible = "wlf,wm8962"; > + reg = <0x1a>; > + clocks = <&clk IMX93_CLK_SAI3_GATE>; > + DCVDD-supply = <®_audio_pwr>; > + DBVDD-supply = <®_audio_pwr>; > + AVDD-supply = <®_audio_pwr>; > + CPVDD-supply = <®_audio_pwr>; > + MICVDD-supply = <®_audio_pwr>; > + PLLVDD-supply = <®_audio_pwr>; > + SPKVDD1-supply = <®_audio_pwr>; > + SPKVDD2-supply = <®_audio_pwr>; > + gpio-cfg = < > + 0x0000 /* 0:Default */ > + 0x0000 /* 1:Default */ > + 0x0000 /* 2:FN_DMICCLK */ > + 0x0000 /* 3:Default */ > + 0x0000 /* 4:FN_DMICCDAT */ > + 0x0000 /* 5:Default */ > + >; > + }; > + > ptn5110: tcpc@50 { > compatible = "nxp,ptn5110", "tcpci"; > reg = <0x50>; > @@ -194,6 +241,12 @@ pcal6524: gpio@22 { > interrupts = <26 IRQ_TYPE_LEVEL_LOW>; > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_pcal6524>; > + > + exp-sel-hog { > + gpio-hog; > + gpios = <22 GPIO_ACTIVE_HIGH>; > + output-low; > + }; > }; > > pmic@25 { > @@ -286,6 +339,17 @@ &mu2 { > status = "okay"; > }; > > +&sai3 { > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_sai3>; > + assigned-clocks = <&clk IMX93_CLK_SAI3>; > + assigned-clock-parents = <&clk IMX93_CLK_AUDIO_PLL>; > + assigned-clock-rates = <12288000>; > + fsl,sai-mclk-direction-output; > + fsl,sai-synchronous-rx; > + status = "okay"; > +}; > + > &usbotg1 { > dr_mode = "otg"; > hnp-disable; > @@ -443,6 +507,16 @@ MX93_PAD_SD2_RESET_B__GPIO3_IO07 0x31e > >; > }; > > + pinctrl_sai3: sai3grp { > + fsl,pins = < > + MX93_PAD_GPIO_IO12__SAI3_RX_SYNC 0x31e > + MX93_PAD_GPIO_IO18__SAI3_RX_BCLK 0x31e > + MX93_PAD_GPIO_IO17__SAI3_MCLK 0x31e > + MX93_PAD_GPIO_IO19__SAI3_TX_DATA00 0x31e > + MX93_PAD_GPIO_IO20__SAI3_RX_DATA00 0x31e > + >; > + }; > + > pinctrl_usdhc2_gpio: usdhc2gpiogrp { > fsl,pins = < > MX93_PAD_SD2_CD_B__GPIO3_IO00 0x31e > -- > 2.34.1 >
© 2016 - 2024 Red Hat, Inc.