Message ID | 20220620102750.32718-4-j-luthra@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | None | expand |
On 15:57-20220620, Jai Luthra wrote: > Add nodes for audio codec and sound card, enable the audio serializer > (McASP1) under use and update pinmux. Disable all other McASP nodes. > > Audio input is currently not working properly, so the RX port on McASP1 > is disabled for now, until the issue is debugged. > > The serializer is shared between HDMI and codec. By default codec is > used for output, but it can be toggled to HDMI using a FET switch > connected to the MCASP1_FET_SEL (J24) header on the board. > > Signed-off-by: Jai Luthra <j-luthra@ti.com> [...] > + main_mcasp1_pins_default: main-mcasp1-pins-default { > + pinctrl-single,pins = < > + AM62X_IOPAD(0x0090, PIN_INPUT, 2) /* (M24) GPMC0_BE0N_CLE.MCASP1_ACLKX */ > + AM62X_IOPAD(0x0098, PIN_INPUT, 2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX */ > + AM62X_IOPAD(0x008c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEN.MCASP1_AXR0 */ > + AM62X_IOPAD(0x0084, PIN_INPUT, 2) /* (L23) GPMC0_ADVN_ALE.MCASP1_AXR2 */ > + >; > + }; > }; > > &wkup_uart0 { > @@ -352,6 +401,18 @@ > pinctrl-names = "default"; > pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>; > }; > + > + tlv320aic3106: audio-codec@1b { > + #sound-dai-cells = <0>; > + compatible = "ti,tlv320aic3106"; I cant pick up a patch with compatibles that are'nt converted to yaml. Please convert to yaml in master and then post. > + reg = <0x1b>; > + > + /* Regulators */ > + AVDD-supply = <&vcc_3v3_sys>; > + IOVDD-supply = <&vcc_3v3_sys>; > + DRVDD-supply = <&vcc_3v3_sys>; > + DVDD-supply = <&vcc_1v8>; > + }; > }; > > &main_i2c2 { > @@ -412,6 +473,34 @@ > }; > }; > > +&mcasp0 { > + status = "disabled"; > +}; > + > +&mcasp1 { > + status = "okay"; we don't need to set okay on a node that is ok by default. > + #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 0 0 > + 0 0 0 0 > + 0 0 0 0 > + 0 0 0 0 > + >; > + tx-num-evt = <32>; > + rx-num-evt = <32>; > +}; > + > +&mcasp2 { > + status = "disabled"; > +}; > + > &mailbox0_cluster0 { > mbox_m4_0: mbox-m4-0 { > ti,mbox-rx = <0 0 0>; > > -- > 2.17.1 >
diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts index 39fb1d763037..a502b7ac48d4 100644 --- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts +++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts @@ -121,6 +121,46 @@ <3300000 0x1>; }; + vcc_1v8: regulator-5 { + /* output of TPS6282518DMQ */ + compatible = "regulator-fixed"; + regulator-name = "vcc_1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc_3v3_sys>; + regulator-always-on; + regulator-boot-on; + }; + + tlv320_mclk: clk-0 { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <12288000>; + }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "AM62x-SKEVM"; + simple-audio-card,widgets = + "Headphone", "Headphone Jack"; + simple-audio-card,routing = + "Headphone Jack", "HPLOUT", + "Headphone Jack", "HPROUT"; + 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>; + }; + }; + leds { compatible = "gpio-leds"; pinctrl-names = "default"; @@ -266,6 +306,15 @@ AM62X_IOPAD(0x01d4, PIN_INPUT, 7) /* (B15) UART0_RTSn.GPIO1_23 */ >; }; + + main_mcasp1_pins_default: main-mcasp1-pins-default { + pinctrl-single,pins = < + AM62X_IOPAD(0x0090, PIN_INPUT, 2) /* (M24) GPMC0_BE0N_CLE.MCASP1_ACLKX */ + AM62X_IOPAD(0x0098, PIN_INPUT, 2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX */ + AM62X_IOPAD(0x008c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEN.MCASP1_AXR0 */ + AM62X_IOPAD(0x0084, PIN_INPUT, 2) /* (L23) GPMC0_ADVN_ALE.MCASP1_AXR2 */ + >; + }; }; &wkup_uart0 { @@ -352,6 +401,18 @@ pinctrl-names = "default"; pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>; }; + + tlv320aic3106: audio-codec@1b { + #sound-dai-cells = <0>; + compatible = "ti,tlv320aic3106"; + reg = <0x1b>; + + /* Regulators */ + AVDD-supply = <&vcc_3v3_sys>; + IOVDD-supply = <&vcc_3v3_sys>; + DRVDD-supply = <&vcc_3v3_sys>; + DVDD-supply = <&vcc_1v8>; + }; }; &main_i2c2 { @@ -412,6 +473,34 @@ }; }; +&mcasp0 { + status = "disabled"; +}; + +&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 0 0 + 0 0 0 0 + 0 0 0 0 + 0 0 0 0 + >; + tx-num-evt = <32>; + rx-num-evt = <32>; +}; + +&mcasp2 { + status = "disabled"; +}; + &mailbox0_cluster0 { mbox_m4_0: mbox-m4-0 { ti,mbox-rx = <0 0 0>;
Add nodes for audio codec and sound card, enable the audio serializer (McASP1) under use and update pinmux. Disable all other McASP nodes. Audio input is currently not working properly, so the RX port on McASP1 is disabled for now, until the issue is debugged. The serializer is shared between HDMI and codec. By default codec is used for output, but it can be toggled to HDMI using a FET switch connected to the MCASP1_FET_SEL (J24) header on the board. Signed-off-by: Jai Luthra <j-luthra@ti.com> --- arch/arm64/boot/dts/ti/k3-am625-sk.dts | 89 ++++++++++++++++++++++++++ 1 file changed, 89 insertions(+)