[PATCH 2/2] arm64: dts: ti: k3-am62d2-evm: Add PCM6240 ADC support
From: Paresh Bhagat <hidden>
Date: 2026-02-14 08:24:20
Also in:
linux-devicetree, lkml
Subsystem:
arm/texas instruments k3 architecture, the rest · Maintainers:
Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Linus Torvalds
From: Vishnu Singh <redacted> Enable multi-channel audio record functionality for AM62D2-EVM with PCM6240 ADC enablement, McASP2 interface, and corresponding pin multiplexing. Audio recording for AM62D2-EVM is managed by 2 PCM6240 ADC devices with each supporting 4 channel audio input with selectable profiles for different I2C addresses. These are connected through McASP2 and AXR14 serializer. Tech Ref Manual-https://www.ti.com/lit/pdf/sprujd4 Schematics Link-https://www.ti.com/lit/zip/sprcal5 Signed-off-by: Vishnu Singh <redacted> Signed-off-by: Sen Wang <sen@ti.com> Signed-off-by: Paresh Bhagat <redacted> --- arch/arm64/boot/dts/ti/k3-am62d2-evm.dts | 63 ++++++++++++++++++++++++ 1 file changed, 63 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
index a5d5dc0a7bec..156fca927164 100644
--- a/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts@@ -181,6 +181,29 @@ vddshv_sdio: regulator-6 { bootph-all; }; + codec_audio: sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "AM62D2-EVM"; + #address-cells = <1>; + #size-cells = <0>; + + simple-audio-card,dai-link@0 { + reg = <0>; + format = "dsp_a"; + bitclock-master = <&master0>; + frame-master = <&master0>; + + master0: cpu { + sound-dai = <&mcasp2>; + system-clock-direction-out; + }; + + codec { + sound-dai = <&pcm6240>; + }; + }; + }; + leds { compatible = "gpio-leds"; pinctrl-names = "default";
@@ -337,6 +360,20 @@ AM62DX_IOPAD(0x0164, PIN_OUTPUT, 0) /* (Y19) RGMII2_TX_CTL */ bootph-all; }; + main_mcasp2_pins_default: main-mcasp2-default-pins { + pinctrl-single,pins = < + AM62DX_IOPAD(0x0078, PIN_INPUT, 3) /* (T21) GPMC0_AD15.MCASP2_ACLKR */ + AM62DX_IOPAD(0x0070, PIN_INPUT, 3) /* (R21) GPMC0_AD13.MCASP2_ACLKX */ + AM62DX_IOPAD(0x0074, PIN_INPUT, 3) /* (T20) GPMC0_AD14.MCASP2_AFSR */ + AM62DX_IOPAD(0x006c, PIN_INPUT, 3) /* (T22) GPMC0_AD12.MCASP2_AFSX */ + AM62DX_IOPAD(0x005c, PIN_INPUT, 3) /* (P22) GPMC0_AD8.MCASP2_AXR0 */ + AM62DX_IOPAD(0x0060, PIN_INPUT, 3) /* (R19) GPMC0_AD9.MCASP2_AXR1 */ + AM62DX_IOPAD(0x0068, PIN_INPUT, 3) /* (R22) GPMC0_AD11.MCASP2_AXR3 */ + AM62DX_IOPAD(0x003c, PIN_INPUT, 3) /* (N21) GPMC0_AD0.MCASP2_AXR4 */ + AM62DX_IOPAD(0x00a8, PIN_INPUT, 3) /* (M19) GPMC0_CSn0.MCASP2_AXR14 */ + >; + }; + main_gpio1_ioexp_intr_pins_default: main-gpio1-ioexp-intr-default-pins { pinctrl-single,pins = < AM62DX_IOPAD(0x01d4, PIN_INPUT, 7) /* (C15) UART0_RTSn.GPIO1_23 */
@@ -453,6 +490,12 @@ exp2: gpio@20 { "CPLD2_TDO", "ADDR1_IO_EXP", "SoC_I2C0_SCL", "SoC_I2C0_SDA"; }; + + pcm6240: adc@48 { + compatible = "ti,pcm6240"; + reg = <0x48>, <0x49>; + #sound-dai-cells = <0>; + }; }; &main_i2c1 {
@@ -469,6 +512,26 @@ &main_i2c2 { status = "okay"; }; +&mcasp2 { + status = "okay"; + #sound-dai-cells = <0>; + + pinctrl-names = "default"; + pinctrl-0 = <&main_mcasp2_pins_default>; + + auxclk-fs-ratio = <2177>; + op-mode = <0>; /* MCASP_IIS_MODE */ + tdm-slots = <2>; + tdm-slots-rx = <8>; + ti,async-mode; + serial-dir = < + 0 0 0 0 + 0 0 0 0 + 0 0 0 0 + 0 0 2 0 + >; +}; + &wkup_i2c0 { pinctrl-names = "default"; pinctrl-0 = <&wkup_i2c0_pins_default>;
--
2.34.1