* [PATCH v5 1/6] arm64: defconfig: Enable audio drivers for TI K3 SoCs
2023-03-13 14:49 [PATCH v5 0/6] arm64: ti: Enable audio on AM62 and AM62A Jai Luthra
@ 2023-03-13 14:49 ` Jai Luthra
2023-03-13 14:49 ` [PATCH v5 2/6] arm64: dts: ti: k3-am62-main: Add McASP nodes Jai Luthra
` (4 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Jai Luthra @ 2023-03-13 14:49 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Will Deacon, Mark Brown
Cc: linux-arm-kernel, devicetree, linux-kernel, Jai Luthra
TI's K3 platform uses McASP as the digital audio interface on the SoCs.
AM62x and AM62A based starter kits also use the TLV320AIC3106 codec with
a 3.5mm jack for analog audio input and output.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/configs/defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 7790ee42c68a..7e0ce1833904 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -898,6 +898,8 @@ CONFIG_SND_SOC_LPASS_WSA_MACRO=m
CONFIG_SND_SOC_LPASS_VA_MACRO=m
CONFIG_SND_SOC_LPASS_RX_MACRO=m
CONFIG_SND_SOC_LPASS_TX_MACRO=m
+CONFIG_SND_SOC_DAVINCI_MCASP=m
+CONFIG_SND_SOC_TLV320AIC3X_I2C=m
CONFIG_SND_SIMPLE_CARD=m
CONFIG_SND_AUDIO_GRAPH_CARD=m
CONFIG_SND_AUDIO_GRAPH_CARD2=m
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v5 2/6] arm64: dts: ti: k3-am62-main: Add McASP nodes
2023-03-13 14:49 [PATCH v5 0/6] arm64: ti: Enable audio on AM62 and AM62A Jai Luthra
2023-03-13 14:49 ` [PATCH v5 1/6] arm64: defconfig: Enable audio drivers for TI K3 SoCs Jai Luthra
@ 2023-03-13 14:49 ` Jai Luthra
2023-03-13 17:10 ` Andrew Davis
2023-03-13 14:49 ` [PATCH v5 3/6] arm64: dts: ti: k3-am625-sk: Enable audio on AM62 SK Jai Luthra
` (3 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Jai Luthra @ 2023-03-13 14:49 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Will Deacon, Mark Brown
Cc: linux-arm-kernel, devicetree, linux-kernel, Jayesh Choudhary,
Jai Luthra
From: Jayesh Choudhary <j-choudhary@ti.com>
Add the nodes for McASP 0-2.
Use the audio-friendly 96MHz main_1_hsdivout6_clk as clock parent
instead of the default 100Mhz main_2_hsdivout8_clk source.
Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 60 ++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
index ea683fd77d6a..4da5747987bb 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
@@ -787,4 +787,64 @@ epwm2: pwm@23020000 {
clock-names = "tbclk", "fck";
status = "disabled";
};
+
+ mcasp0: mcasp@2b00000 {
+ compatible = "ti,am33xx-mcasp-audio";
+ reg = <0x00 0x02b00000 0x00 0x2000>,
+ <0x00 0x02b08000 0x00 0x400>;
+ reg-names = "mpu","dat";
+ interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "tx", "rx";
+
+ dmas = <&main_bcdma 0 0xc500 0>, <&main_bcdma 0 0x4500 0>;
+ dma-names = "tx", "rx";
+
+ clocks = <&k3_clks 190 0>;
+ clock-names = "fck";
+ assigned-clocks = <&k3_clks 190 0>;
+ assigned-clock-parents = <&k3_clks 190 2>;
+ power-domains = <&k3_pds 190 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+ };
+
+ mcasp1: mcasp@2b10000 {
+ compatible = "ti,am33xx-mcasp-audio";
+ reg = <0x00 0x02b10000 0x00 0x2000>,
+ <0x00 0x02b18000 0x00 0x400>;
+ reg-names = "mpu","dat";
+ interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "tx", "rx";
+
+ dmas = <&main_bcdma 0 0xc501 0>, <&main_bcdma 0 0x4501 0>;
+ dma-names = "tx", "rx";
+
+ clocks = <&k3_clks 191 0>;
+ clock-names = "fck";
+ assigned-clocks = <&k3_clks 191 0>;
+ assigned-clock-parents = <&k3_clks 191 2>;
+ power-domains = <&k3_pds 191 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+ };
+
+ mcasp2: mcasp@2b20000 {
+ compatible = "ti,am33xx-mcasp-audio";
+ reg = <0x00 0x02b20000 0x00 0x2000>,
+ <0x00 0x02b28000 0x00 0x400>;
+ reg-names = "mpu","dat";
+ interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "tx", "rx";
+
+ dmas = <&main_bcdma 0 0xc502 0>, <&main_bcdma 0 0x4502 0>;
+ dma-names = "tx", "rx";
+
+ clocks = <&k3_clks 192 0>;
+ clock-names = "fck";
+ assigned-clocks = <&k3_clks 192 0>;
+ assigned-clock-parents = <&k3_clks 192 2>;
+ power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+ };
};
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v5 2/6] arm64: dts: ti: k3-am62-main: Add McASP nodes
2023-03-13 14:49 ` [PATCH v5 2/6] arm64: dts: ti: k3-am62-main: Add McASP nodes Jai Luthra
@ 2023-03-13 17:10 ` Andrew Davis
0 siblings, 0 replies; 12+ messages in thread
From: Andrew Davis @ 2023-03-13 17:10 UTC (permalink / raw)
To: Jai Luthra, Nishanth Menon, Vignesh Raghavendra, Tero Kristo,
Rob Herring, Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
Mark Brown
Cc: linux-arm-kernel, devicetree, linux-kernel, Jayesh Choudhary
On 3/13/23 9:49 AM, Jai Luthra wrote:
> From: Jayesh Choudhary <j-choudhary@ti.com>
>
> Add the nodes for McASP 0-2.
>
> Use the audio-friendly 96MHz main_1_hsdivout6_clk as clock parent
> instead of the default 100Mhz main_2_hsdivout8_clk source.
>
> Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
> Signed-off-by: Jai Luthra <j-luthra@ti.com>
> ---
> arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 60 ++++++++++++++++++++++++++++++++
> 1 file changed, 60 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> index ea683fd77d6a..4da5747987bb 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> @@ -787,4 +787,64 @@ epwm2: pwm@23020000 {
> clock-names = "tbclk", "fck";
> status = "disabled";
> };
> +
> + mcasp0: mcasp@2b00000 {
I wonder if we want to switch to generic node naming here, audio-controller@..
> + compatible = "ti,am33xx-mcasp-audio";
> + reg = <0x00 0x02b00000 0x00 0x2000>,
> + <0x00 0x02b08000 0x00 0x400>;
> + reg-names = "mpu","dat";
Space after ,
> + interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
Align with space, indent with tab, as you did with "reg" property.
Same for McASP 1/2.
Reviewed-by: Andrew Davis <afd@ti.com>
> + interrupt-names = "tx", "rx";
> +
> + dmas = <&main_bcdma 0 0xc500 0>, <&main_bcdma 0 0x4500 0>;
> + dma-names = "tx", "rx";
> +
> + clocks = <&k3_clks 190 0>;
> + clock-names = "fck";
> + assigned-clocks = <&k3_clks 190 0>;
> + assigned-clock-parents = <&k3_clks 190 2>;
> + power-domains = <&k3_pds 190 TI_SCI_PD_EXCLUSIVE>;
> + status = "disabled";
> + };
> +
> + mcasp1: mcasp@2b10000 {
> + compatible = "ti,am33xx-mcasp-audio";
> + reg = <0x00 0x02b10000 0x00 0x2000>,
> + <0x00 0x02b18000 0x00 0x400>;
> + reg-names = "mpu","dat";
> + interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "tx", "rx";
> +
> + dmas = <&main_bcdma 0 0xc501 0>, <&main_bcdma 0 0x4501 0>;
> + dma-names = "tx", "rx";
> +
> + clocks = <&k3_clks 191 0>;
> + clock-names = "fck";
> + assigned-clocks = <&k3_clks 191 0>;
> + assigned-clock-parents = <&k3_clks 191 2>;
> + power-domains = <&k3_pds 191 TI_SCI_PD_EXCLUSIVE>;
> + status = "disabled";
> + };
> +
> + mcasp2: mcasp@2b20000 {
> + compatible = "ti,am33xx-mcasp-audio";
> + reg = <0x00 0x02b20000 0x00 0x2000>,
> + <0x00 0x02b28000 0x00 0x400>;
> + reg-names = "mpu","dat";
> + interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "tx", "rx";
> +
> + dmas = <&main_bcdma 0 0xc502 0>, <&main_bcdma 0 0x4502 0>;
> + dma-names = "tx", "rx";
> +
> + clocks = <&k3_clks 192 0>;
> + clock-names = "fck";
> + assigned-clocks = <&k3_clks 192 0>;
> + assigned-clock-parents = <&k3_clks 192 2>;
> + power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
> + status = "disabled";
> + };
> };
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v5 3/6] arm64: dts: ti: k3-am625-sk: Enable audio on AM62 SK
2023-03-13 14:49 [PATCH v5 0/6] arm64: ti: Enable audio on AM62 and AM62A Jai Luthra
2023-03-13 14:49 ` [PATCH v5 1/6] arm64: defconfig: Enable audio drivers for TI K3 SoCs Jai Luthra
2023-03-13 14:49 ` [PATCH v5 2/6] arm64: dts: ti: k3-am62-main: Add McASP nodes Jai Luthra
@ 2023-03-13 14:49 ` Jai Luthra
2023-03-15 4:23 ` Jayesh Choudhary
2023-03-13 14:49 ` [PATCH v5 4/6] arm64: dts: ti: k3-am62a-main: Add nodes for McASP Jai Luthra
` (2 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Jai Luthra @ 2023-03-13 14:49 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Will Deacon, Mark Brown
Cc: linux-arm-kernel, devicetree, linux-kernel, Jai Luthra
Add nodes for audio codec and sound card, enable the audio serializer
(McASP1) under use and update pinmux.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/k3-am625-sk.dts | 88 ++++++++++++++++++++++++++++++++++
1 file changed, 88 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
index 6bc7d63cf52f..3199042f3687 100644
--- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
@@ -141,6 +141,52 @@ vdd_sd_dv: regulator-4 {
<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",
+ "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>;
+ };
+ };
+
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
@@ -292,6 +338,15 @@ main_usb1_pins_default: main-usb1-pins-default {
AM62X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */
>;
};
+
+ 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 {
@@ -349,6 +404,19 @@ exp1: gpio@22 {
pinctrl-names = "default";
pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
};
+
+ 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 = <&vcc_1v8>;
+ };
};
&sdhci0 {
@@ -406,6 +474,26 @@ cpsw3g_phy1: ethernet-phy@1 {
};
};
+&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>;
+};
+
&mailbox0_cluster0 {
mbox_m4_0: mbox-m4-0 {
ti,mbox-rx = <0 0 0>;
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v5 3/6] arm64: dts: ti: k3-am625-sk: Enable audio on AM62 SK
2023-03-13 14:49 ` [PATCH v5 3/6] arm64: dts: ti: k3-am625-sk: Enable audio on AM62 SK Jai Luthra
@ 2023-03-15 4:23 ` Jayesh Choudhary
0 siblings, 0 replies; 12+ messages in thread
From: Jayesh Choudhary @ 2023-03-15 4:23 UTC (permalink / raw)
To: Jai Luthra, Nishanth Menon, Vignesh Raghavendra, Tero Kristo,
Rob Herring, Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
Mark Brown
Cc: linux-arm-kernel, devicetree, linux-kernel
On 13/03/23 20:19, Jai Luthra wrote:
> Add nodes for audio codec and sound card, enable the audio serializer
> (McASP1) under use and update pinmux.
>
> Signed-off-by: Jai Luthra <j-luthra@ti.com>
> ---
> arch/arm64/boot/dts/ti/k3-am625-sk.dts | 88 ++++++++++++++++++++++++++++++++++
> 1 file changed, 88 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
> index 6bc7d63cf52f..3199042f3687 100644
> --- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
> @@ -141,6 +141,52 @@ vdd_sd_dv: regulator-4 {
> <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 {
Should we put label 'codec_audio' here similar to am62a7-sk???
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "AM62x-SKEVM";
> + simple-audio-card,widgets =
> + "Headphone", "Headphone Jack",
> + "Line", "Line In",
> + "Microphone", "Microphone Jack";
Space/tab inconsistency after "Microphone",
> + 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>;
> + };
> + };
> +
> leds {
> compatible = "gpio-leds";
> pinctrl-names = "default";
> @@ -292,6 +338,15 @@ main_usb1_pins_default: main-usb1-pins-default {
> AM62X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */
> >;
> };
> +
> + 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 */
Better to have padding for the offsets here consistent across dt.
Reviewed-by: Jayesh Choudhary <j-choudhary@ti.com>
> + >;
> + };
> };
>
> &wkup_uart0 {
> @@ -349,6 +404,19 @@ exp1: gpio@22 {
> pinctrl-names = "default";
> pinctrl-0 = <&main_gpio1_ioexp_intr_pins_default>;
> };
> +
> + 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 = <&vcc_1v8>;
> + };
> };
>
> &sdhci0 {
> @@ -406,6 +474,26 @@ cpsw3g_phy1: ethernet-phy@1 {
> };
> };
>
> +&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>;
> +};
> +
> &mailbox0_cluster0 {
> mbox_m4_0: mbox-m4-0 {
> ti,mbox-rx = <0 0 0>;
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v5 4/6] arm64: dts: ti: k3-am62a-main: Add nodes for McASP
2023-03-13 14:49 [PATCH v5 0/6] arm64: ti: Enable audio on AM62 and AM62A Jai Luthra
` (2 preceding siblings ...)
2023-03-13 14:49 ` [PATCH v5 3/6] arm64: dts: ti: k3-am625-sk: Enable audio on AM62 SK Jai Luthra
@ 2023-03-13 14:49 ` Jai Luthra
2023-03-15 4:28 ` Jayesh Choudhary
2023-03-13 14:49 ` [PATCH v5 5/6] arm64: dts: ti: k3-am62a7-sk: Split vcc_3v3 regulators Jai Luthra
2023-03-13 14:49 ` [PATCH v5 6/6] arm64: dts: ti: k3-am62a7-sk: Enable audio on AM62A Jai Luthra
5 siblings, 1 reply; 12+ messages in thread
From: Jai Luthra @ 2023-03-13 14:49 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Will Deacon, Mark Brown
Cc: linux-arm-kernel, devicetree, linux-kernel, Jai Luthra
Same as AM62, AM62A has three instances of McASP which can be used for
transmitting or receiving digital audio in various formats.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 60 +++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
index 393a1a40b68b..7b20c07fab77 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
@@ -660,4 +660,64 @@ ecap2: pwm@23120000 {
clock-names = "fck";
status = "disabled";
};
+
+ mcasp0: mcasp@2b00000 {
+ compatible = "ti,am33xx-mcasp-audio";
+ reg = <0x00 0x02b00000 0x00 0x2000>,
+ <0x00 0x02b08000 0x00 0x400>;
+ reg-names = "mpu","dat";
+ interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "tx", "rx";
+
+ dmas = <&main_bcdma 0 0xc500 0>, <&main_bcdma 0 0x4500 0>;
+ dma-names = "tx", "rx";
+
+ clocks = <&k3_clks 190 0>;
+ clock-names = "fck";
+ assigned-clocks = <&k3_clks 190 0>;
+ assigned-clock-parents = <&k3_clks 190 2>;
+ power-domains = <&k3_pds 190 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+ };
+
+ mcasp1: mcasp@2b10000 {
+ compatible = "ti,am33xx-mcasp-audio";
+ reg = <0x00 0x02b10000 0x00 0x2000>,
+ <0x00 0x02b18000 0x00 0x400>;
+ reg-names = "mpu","dat";
+ interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "tx", "rx";
+
+ dmas = <&main_bcdma 0 0xc501 0>, <&main_bcdma 0 0x4501 0>;
+ dma-names = "tx", "rx";
+
+ clocks = <&k3_clks 191 0>;
+ clock-names = "fck";
+ assigned-clocks = <&k3_clks 191 0>;
+ assigned-clock-parents = <&k3_clks 191 2>;
+ power-domains = <&k3_pds 191 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+ };
+
+ mcasp2: mcasp@2b20000 {
+ compatible = "ti,am33xx-mcasp-audio";
+ reg = <0x00 0x02b20000 0x00 0x2000>,
+ <0x00 0x02b28000 0x00 0x400>;
+ reg-names = "mpu","dat";
+ interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "tx", "rx";
+
+ dmas = <&main_bcdma 0 0xc502 0>, <&main_bcdma 0 0x4502 0>;
+ dma-names = "tx", "rx";
+
+ clocks = <&k3_clks 192 0>;
+ clock-names = "fck";
+ assigned-clocks = <&k3_clks 192 0>;
+ assigned-clock-parents = <&k3_clks 192 2>;
+ power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+ };
};
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v5 4/6] arm64: dts: ti: k3-am62a-main: Add nodes for McASP
2023-03-13 14:49 ` [PATCH v5 4/6] arm64: dts: ti: k3-am62a-main: Add nodes for McASP Jai Luthra
@ 2023-03-15 4:28 ` Jayesh Choudhary
0 siblings, 0 replies; 12+ messages in thread
From: Jayesh Choudhary @ 2023-03-15 4:28 UTC (permalink / raw)
To: Jai Luthra, Nishanth Menon, Vignesh Raghavendra, Tero Kristo,
Rob Herring, Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
Mark Brown, Andrew Davis
Cc: linux-arm-kernel, devicetree, linux-kernel
On 13/03/23 20:19, Jai Luthra wrote:
> Same as AM62, AM62A has three instances of McASP which can be used for
> transmitting or receiving digital audio in various formats.
>
> Signed-off-by: Jai Luthra <j-luthra@ti.com>
> ---
> arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 60 +++++++++++++++++++++++++++++++
> 1 file changed, 60 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> index 393a1a40b68b..7b20c07fab77 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> @@ -660,4 +660,64 @@ ecap2: pwm@23120000 {
> clock-names = "fck";
> status = "disabled";
> };
> +
> + mcasp0: mcasp@2b00000 {
> + compatible = "ti,am33xx-mcasp-audio";
> + reg = <0x00 0x02b00000 0x00 0x2000>,
> + <0x00 0x02b08000 0x00 0x400>;
> + reg-names = "mpu","dat";
> + interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
Andrew's comment for alignment with space is applicable on this patch
as well for all 3 mcasp nodes.
<https://lore.kernel.org/all/c4721d5f-a265-f692-2b57-f0cfcd2702b3@ti.com/>
Reviewed-by: Jayesh Choudhary <j-choudhary@ti.com>
> + interrupt-names = "tx", "rx";
> +
> + dmas = <&main_bcdma 0 0xc500 0>, <&main_bcdma 0 0x4500 0>;
> + dma-names = "tx", "rx";
> +
> + clocks = <&k3_clks 190 0>;
> + clock-names = "fck";
> + assigned-clocks = <&k3_clks 190 0>;
> + assigned-clock-parents = <&k3_clks 190 2>;
> + power-domains = <&k3_pds 190 TI_SCI_PD_EXCLUSIVE>;
> + status = "disabled";
> + };
> +
> + mcasp1: mcasp@2b10000 {
> + compatible = "ti,am33xx-mcasp-audio";
> + reg = <0x00 0x02b10000 0x00 0x2000>,
> + <0x00 0x02b18000 0x00 0x400>;
> + reg-names = "mpu","dat";
> + interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "tx", "rx";
> +
> + dmas = <&main_bcdma 0 0xc501 0>, <&main_bcdma 0 0x4501 0>;
> + dma-names = "tx", "rx";
> +
> + clocks = <&k3_clks 191 0>;
> + clock-names = "fck";
> + assigned-clocks = <&k3_clks 191 0>;
> + assigned-clock-parents = <&k3_clks 191 2>;
> + power-domains = <&k3_pds 191 TI_SCI_PD_EXCLUSIVE>;
> + status = "disabled";
> + };
> +
> + mcasp2: mcasp@2b20000 {
> + compatible = "ti,am33xx-mcasp-audio";
> + reg = <0x00 0x02b20000 0x00 0x2000>,
> + <0x00 0x02b28000 0x00 0x400>;
> + reg-names = "mpu","dat";
> + interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "tx", "rx";
> +
> + dmas = <&main_bcdma 0 0xc502 0>, <&main_bcdma 0 0x4502 0>;
> + dma-names = "tx", "rx";
> +
> + clocks = <&k3_clks 192 0>;
> + clock-names = "fck";
> + assigned-clocks = <&k3_clks 192 0>;
> + assigned-clock-parents = <&k3_clks 192 2>;
> + power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
> + status = "disabled";
> + };
> };
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v5 5/6] arm64: dts: ti: k3-am62a7-sk: Split vcc_3v3 regulators
2023-03-13 14:49 [PATCH v5 0/6] arm64: ti: Enable audio on AM62 and AM62A Jai Luthra
` (3 preceding siblings ...)
2023-03-13 14:49 ` [PATCH v5 4/6] arm64: dts: ti: k3-am62a-main: Add nodes for McASP Jai Luthra
@ 2023-03-13 14:49 ` Jai Luthra
2023-03-13 14:49 ` [PATCH v5 6/6] arm64: dts: ti: k3-am62a7-sk: Enable audio on AM62A Jai Luthra
5 siblings, 0 replies; 12+ messages in thread
From: Jai Luthra @ 2023-03-13 14:49 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Will Deacon, Mark Brown
Cc: linux-arm-kernel, devicetree, linux-kernel, Jai Luthra
VCC_3V3_MAIN is the output of LM5141-Q1, and it serves as an input to
TPS22965DSGT which produces VCC_3V3_SYS.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
index 5c9012141ee2..063e69e45163 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
@@ -76,10 +76,10 @@ vcc_5v0: regulator-1 {
regulator-boot-on;
};
- vcc_3v3_sys: regulator-2 {
+ vcc_3v3_main: regulator-2 {
/* output of LM5141-Q1 */
compatible = "regulator-fixed";
- regulator-name = "vcc_3v3_sys";
+ regulator-name = "vcc_3v3_main";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vmain_pd>;
@@ -98,6 +98,17 @@ vdd_mmc1: regulator-3 {
gpio = <&exp1 3 GPIO_ACTIVE_HIGH>;
};
+ vcc_3v3_sys: regulator-4 {
+ /* output of TPS222965DSGT */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_3v3_sys";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vcc_3v3_main>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v5 6/6] arm64: dts: ti: k3-am62a7-sk: Enable audio on AM62A
2023-03-13 14:49 [PATCH v5 0/6] arm64: ti: Enable audio on AM62 and AM62A Jai Luthra
` (4 preceding siblings ...)
2023-03-13 14:49 ` [PATCH v5 5/6] arm64: dts: ti: k3-am62a7-sk: Split vcc_3v3 regulators Jai Luthra
@ 2023-03-13 14:49 ` Jai Luthra
2023-03-15 4:32 ` Jayesh Choudhary
5 siblings, 1 reply; 12+ messages in thread
From: Jai Luthra @ 2023-03-13 14:49 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Will Deacon, Mark Brown
Cc: linux-arm-kernel, devicetree, linux-kernel, Jai Luthra
Add nodes for audio codec and sound card, enable the audio serializer
(McASP1) under use and update pinmux.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 77 +++++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
index 063e69e45163..1775ed154aff 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
@@ -122,6 +122,41 @@ led-0 {
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>;
+ };
+ };
};
&main_pmx0 {
@@ -200,6 +235,15 @@ AM62AX_IOPAD(0x130, PIN_INPUT, 0) /* (AB17) RGMII1_TXC */
AM62AX_IOPAD(0x12c, PIN_INPUT, 0) /* (W16) RGMII1_TX_CTL */
>;
};
+
+ main_mcasp1_pins_default: main-mcasp1-pins-default {
+ 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 */
+ >;
+ };
};
&main_i2c0 {
@@ -234,6 +278,19 @@ exp1: gpio@22 {
"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 */
+ status = "okay";
+
+ /* Regulators */
+ AVDD-supply = <&vcc_3v3_sys>;
+ IOVDD-supply = <&vcc_3v3_sys>;
+ DRVDD-supply = <&vcc_3v3_sys>;
+ };
};
&sdhci1 {
@@ -302,3 +359,23 @@ cpsw3g_phy0: ethernet-phy@0 {
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>;
+};
--
2.39.2
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH v5 6/6] arm64: dts: ti: k3-am62a7-sk: Enable audio on AM62A
2023-03-13 14:49 ` [PATCH v5 6/6] arm64: dts: ti: k3-am62a7-sk: Enable audio on AM62A Jai Luthra
@ 2023-03-15 4:32 ` Jayesh Choudhary
2023-03-15 6:29 ` Jai Luthra
0 siblings, 1 reply; 12+ messages in thread
From: Jayesh Choudhary @ 2023-03-15 4:32 UTC (permalink / raw)
To: Jai Luthra, Nishanth Menon, Vignesh Raghavendra, Tero Kristo,
Rob Herring, Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
Mark Brown
Cc: linux-arm-kernel, devicetree, linux-kernel
On 13/03/23 20:19, Jai Luthra wrote:
> Add nodes for audio codec and sound card, enable the audio serializer
> (McASP1) under use and update pinmux.
>
> Signed-off-by: Jai Luthra <j-luthra@ti.com>
> ---
> arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 77 +++++++++++++++++++++++++++++++++
> 1 file changed, 77 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> index 063e69e45163..1775ed154aff 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> @@ -122,6 +122,41 @@ led-0 {
> 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>;
> + };
> + };
> };
>
> &main_pmx0 {
> @@ -200,6 +235,15 @@ AM62AX_IOPAD(0x130, PIN_INPUT, 0) /* (AB17) RGMII1_TXC */
> AM62AX_IOPAD(0x12c, PIN_INPUT, 0) /* (W16) RGMII1_TX_CTL */
> >;
> };
> +
> + main_mcasp1_pins_default: main-mcasp1-pins-default {
> + 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 */
> + >;
> + };
> };
>
> &main_i2c0 {
> @@ -234,6 +278,19 @@ exp1: gpio@22 {
> "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 */
> + status = "okay";
No need for status property here I guess????
> +
> + /* Regulators */
> + AVDD-supply = <&vcc_3v3_sys>;
> + IOVDD-supply = <&vcc_3v3_sys>;
> + DRVDD-supply = <&vcc_3v3_sys>;
DVDD 1.8V supply here looks missing???
Reviewed-by: Jayesh Choudhary <j-choudhary@ti.com>
> + };
> };
>
> &sdhci1 {
> @@ -302,3 +359,23 @@ cpsw3g_phy0: ethernet-phy@0 {
> 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>;
> +};
>
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH v5 6/6] arm64: dts: ti: k3-am62a7-sk: Enable audio on AM62A
2023-03-15 4:32 ` Jayesh Choudhary
@ 2023-03-15 6:29 ` Jai Luthra
0 siblings, 0 replies; 12+ messages in thread
From: Jai Luthra @ 2023-03-15 6:29 UTC (permalink / raw)
To: Jayesh Choudhary
Cc: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Catalin Marinas, Will Deacon, Mark Brown,
linux-arm-kernel, devicetree, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 4351 bytes --]
Hi Jayesh,
Thanks for the comments on the series.
On Mar 15, 2023 at 10:02:24 +0530, Jayesh Choudhary wrote:
>
>
> On 13/03/23 20:19, Jai Luthra wrote:
> > Add nodes for audio codec and sound card, enable the audio serializer
> > (McASP1) under use and update pinmux.
> >
> > Signed-off-by: Jai Luthra <j-luthra@ti.com>
> > ---
> > arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 77 +++++++++++++++++++++++++++++++++
> > 1 file changed, 77 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> > index 063e69e45163..1775ed154aff 100644
> > --- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> > +++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
> > @@ -122,6 +122,41 @@ led-0 {
> > 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>;
> > + };
> > + };
> > };
> > &main_pmx0 {
> > @@ -200,6 +235,15 @@ AM62AX_IOPAD(0x130, PIN_INPUT, 0) /* (AB17) RGMII1_TXC */
> > AM62AX_IOPAD(0x12c, PIN_INPUT, 0) /* (W16) RGMII1_TX_CTL */
> > >;
> > };
> > +
> > + main_mcasp1_pins_default: main-mcasp1-pins-default {
> > + 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 */
> > + >;
> > + };
> > };
> > &main_i2c0 {
> > @@ -234,6 +278,19 @@ exp1: gpio@22 {
> > "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 */
> > + status = "okay";
>
> No need for status property here I guess????
Will fix.
>
> > +
> > + /* Regulators */
> > + AVDD-supply = <&vcc_3v3_sys>;
> > + IOVDD-supply = <&vcc_3v3_sys>;
> > + DRVDD-supply = <&vcc_3v3_sys>;
>
> DVDD 1.8V supply here looks missing???
Sorry I missed to add a note in the commit message, will add in v6.
DVDD 1.8V is supplied by the PMIC (TPS6593x-Q1) on the SK, the driver
and dt-bindings for it are still being worked on:
https://lore.kernel.org/all/20230216114410.183489-1-jpanis@baylibre.com/
The codec can be enabled without it for now, as it only uses the
regulators to calculate the OCMV, which I will supply manually to the
codec through DT in v6.
>
> Reviewed-by: Jayesh Choudhary <j-choudhary@ti.com>
>
> > + };
> > };
> > &sdhci1 {
> > @@ -302,3 +359,23 @@ cpsw3g_phy0: ethernet-phy@0 {
> > 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>;
> > +};
> >
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread