arm64: dts: ti: k3-am62a7-sk: Enable audio on AM62A
authorJai Luthra <j-luthra@ti.com>
Tue, 3 Oct 2023 09:11:34 +0000 (14:41 +0530)
committerVignesh Raghavendra <vigneshr@ti.com>
Thu, 5 Oct 2023 15:26:09 +0000 (20:56 +0530)
Add nodes for audio codec and sound card, enable the audio serializer
(McASP1) under use and update pinmux.

Reviewed-by: Jayesh Choudhary <j-choudhary@ti.com>
Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
Link: https://www.ti.com/lit/zip/sprr459
Signed-off-by: Jai Luthra <j-luthra@ti.com>
Link: https://lore.kernel.org/r/20231003-mcasp_am62a-v3-5-2b631ff319ca@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts

index 377ab823bbcc5c371f6a5976d54dc9ec20a349ef..8f64ac2c7568cbb0d5210e158a9849d0483b811b 100644 (file)
                        default-state = "off";
                };
        };
+
+       tlv320_mclk: clk-0 {
+               #clock-cells = <0>;
+               compatible = "fixed-clock";
+               clock-frequency = <12288000>;
+       };
+
+       codec_audio: sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "AM62Ax-SKEVM";
+               simple-audio-card,widgets =
+                       "Headphone",    "Headphone Jack",
+                       "Line",         "Line In",
+                       "Microphone",   "Microphone Jack";
+               simple-audio-card,routing =
+                       "Headphone Jack",       "HPLOUT",
+                       "Headphone Jack",       "HPROUT",
+                       "LINE1L",               "Line In",
+                       "LINE1R",               "Line In",
+                       "MIC3R",                "Microphone Jack",
+                       "Microphone Jack",      "Mic Bias";
+               simple-audio-card,format = "dsp_b";
+               simple-audio-card,bitclock-master = <&sound_master>;
+               simple-audio-card,frame-master = <&sound_master>;
+               simple-audio-card,bitclock-inversion;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&mcasp1>;
+               };
+
+               sound_master: simple-audio-card,codec {
+                       sound-dai = <&tlv320aic3106>;
+                       clocks = <&tlv320_mclk>;
+               };
+       };
 };
 
 &mcu_pmx0 {
                        AM62AX_IOPAD(0x12c, PIN_INPUT, 0) /* (W16) RGMII1_TX_CTL */
                >;
        };
+
+       main_mcasp1_pins_default: main-mcasp1-default-pins {
+               pinctrl-single,pins = <
+                       AM62AX_IOPAD(0x090, PIN_INPUT, 2) /* (L19) GPMC0_BE0n_CLE.MCASP1_ACLKX */
+                       AM62AX_IOPAD(0x098, PIN_INPUT, 2) /* (R18) GPMC0_WAIT0.MCASP1_AFSX */
+                       AM62AX_IOPAD(0x08c, PIN_OUTPUT, 2) /* (K19) GPMC0_WEn.MCASP1_AXR0 */
+                       AM62AX_IOPAD(0x084, PIN_INPUT, 2) /* (L18) GPMC0_ADVn_ALE.MCASP1_AXR2 */
+               >;
+       };
 };
 
 &mcu_pmx0 {
                                   "MCASP1_FET_SEL", "UART1_FET_SEL",
                                   "PD_I2C_IRQ", "IO_EXP_TEST_LED";
        };
+
+       tlv320aic3106: audio-codec@1b {
+               #sound-dai-cells = <0>;
+               compatible = "ti,tlv320aic3106";
+               reg = <0x1b>;
+               ai3x-micbias-vg = <1>;  /* 2.0V */
+
+               /* Regulators */
+               AVDD-supply = <&vcc_3v3_sys>;
+               IOVDD-supply = <&vcc_3v3_sys>;
+               DRVDD-supply = <&vcc_3v3_sys>;
+               DVDD-supply = <&buck5>;
+       };
 };
 
 &sdhci1 {
                ti,min-output-impedance;
        };
 };
+
+&mcasp1 {
+       status = "okay";
+       #sound-dai-cells = <0>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&main_mcasp1_pins_default>;
+
+       op-mode = <0>;          /* MCASP_IIS_MODE */
+       tdm-slots = <2>;
+
+       serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
+              1 0 2 0
+              0 0 0 0
+              0 0 0 0
+              0 0 0 0
+       >;
+       tx-num-evt = <32>;
+       rx-num-evt = <32>;
+};