This patch series adds support for audio output via headphone jack on
SK-AM62 and SK-AM62A boards. The jack is wired to TLV320AIC3106 (codec),
which is connected to McASP1 (serializer) on the SoC.
The TRRS 3.5mm jack can be used for simultaneous playback and recording.
v5:
- Ported codec bindings to dtschema
- Add audio drivers in arm64 defconfig
- Keep McASP nodes disabled in SoC dtsi
- Enable audio-input for AM62
- Enable same feature-set for AM62A
v4: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Jai Luthra <[email protected]>
---
Jai Luthra (5):
arm64: defconfig: Enable audio drivers for TI K3 SoCs
arm64: dts: ti: k3-am625-sk: Enable audio on AM62 SK
arm64: dts: ti: k3-am62a-main: Add nodes for McASP
arm64: dts: ti: k3-am62a7-sk: Split vcc_3v3 regulators
arm64: dts: ti: k3-am62a7-sk: Enable audio on AM62A
Jayesh Choudhary (1):
arm64: dts: ti: k3-am62-main: Add McASP nodes
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 60 ++++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am625-sk.dts | 88 +++++++++++++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 60 ++++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 92 ++++++++++++++++++++++++++++++-
arch/arm64/configs/defconfig | 2 +
5 files changed, 300 insertions(+), 2 deletions(-)
---
base-commit: 24469a0e5052ba01a35a15f104717a82b7a4798b
change-id: 20230313-mcasp_upstream-0e137013059b
Best regards,
--
Jai Luthra <[email protected]>
From: Jayesh Choudhary <[email protected]>
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 <[email protected]>
Signed-off-by: Jai Luthra <[email protected]>
---
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
On 3/13/23 9:49 AM, Jai Luthra wrote:
> From: Jayesh Choudhary <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Jai Luthra <[email protected]>
> ---
> 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 <[email protected]>
> + 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";
> + };
> };
>