[PATCH] arm64: dts: ti: k3-am654: Add overlay for audio support

Jayesh Choudhary j-choudhary at ti.com
Fri Mar 24 07:15:33 PDT 2023



On 24/03/23 17:54, Jayesh Choudhary wrote:
> From: Peter Ujfalusi <peter.ujfalusi at ti.com>
> 
> The GP application board has:
> ICSSG I2C0..3 connected to I2C EEPROMs
> ICSSG UART0..3 headers with level shifters
> ICSSG SPI0..3 connected to SPI Flash
> McASP0 connected to tlv320aic3106 codec with Headset out and Line In jack
> 
> This patch adds support for the audio on the GP application board.
> 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
> [j-choudhary at ti.com: Makefile fixups, dtso file cleanups]
> Signed-off-by: Jayesh Choudhary <j-choudhary at ti.com>
> ---

Please drop the patch as this board is no longer in production/supported
actively.

I am extremely sorry for the noise.

Warm Regards,
-Jayesh


> 
> Changes are made considering Andrew's comment on another overlay patch[1]
> related to Makefile and styling comments on the overlay file.
> 
> [1]:
> <https://lore.kernel.org/all/8e6442c8-e4ef-705d-1378-7d1f8b74e84d@ti.com/>
> 
>   arch/arm64/boot/dts/ti/Makefile         |   3 +-
>   arch/arm64/boot/dts/ti/k3-am654-gp.dtso | 124 ++++++++++++++++++++++++
>   2 files changed, 126 insertions(+), 1 deletion(-)
>   create mode 100644 arch/arm64/boot/dts/ti/k3-am654-gp.dtso
> 
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index 541970a8ed0a..9b70a85fbc96 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -21,12 +21,13 @@ dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb
>   dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb
>   
>   # Boards with AM65x SoC
> +k3-am654-evm-dtbs := k3-am654-base-board.dtb k3-am654-gp.dtbo
>   dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic.dtb
>   dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic-pg2.dtb
>   dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb
>   dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb
>   dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb
> -dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb
> +dtb-$(CONFIG_ARCH_K3) += k3-am654-evm.dtb
>   
>   # Boards with J7200 SoC
>   k3-j7200-evm-dtbs := k3-j7200-common-proc-board.dtb k3-j7200-evm-quad-port-eth-exp.dtbo
> diff --git a/arch/arm64/boot/dts/ti/k3-am654-gp.dtso b/arch/arm64/boot/dts/ti/k3-am654-gp.dtso
> new file mode 100644
> index 000000000000..14ceb2714677
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am654-gp.dtso
> @@ -0,0 +1,124 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * DT overlay for GP application board on AM654 EVM
> + *
> + * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +#include "k3-pinctrl.h"
> +
> +&{/} {
> +	gp_vcc_5v0: fixedregulator-gp-vcc-5v0 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "gp_vcc_5v0";
> +		regulator-min-microvolt = <5000000>;
> +		regulator-max-microvolt = <5000000>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +	};
> +
> +	codec_vcc_3v3: fixedregulator-codec-vcc-3v3 {
> +		/* LP5912-3.3DRVT */
> +		compatible = "regulator-fixed";
> +		regulator-name = "codec_vcc_3v3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		vin-supply = <&gp_vcc_5v0>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +	};
> +
> +	gp_vcc_1v8: fixedregulator-gp-vcc-1v8 {
> +		compatible = "regulator-fixed";
> +		regulator-name = "gp_vcc_1v8";
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +		regulator-always-on;
> +		regulator-boot-on;
> +	};
> +
> +	sound {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "AM65x-GPEVM";
> +		simple-audio-card,widgets =
> +			"Headphone", "Headphone Jack",
> +			"Line", "Line In";
> +		simple-audio-card,routing =
> +			"Headphone Jack",	"HPLOUT",
> +			"Headphone Jack",	"HPROUT",
> +			"LINE1L",		"Line In",
> +			"LINE1R",		"Line In";
> +		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 = <&mcasp0>;
> +		};
> +
> +		sound_master: simple-audio-card,codec {
> +			sound-dai = <&tlv320aic3106>;
> +			system-clock-frequency = <12000000>;
> +		};
> +	};
> +};
> +
> +&main_pmx0 {
> +	mcasp0_pins: mcasp0-pins {
> +		pinctrl-single,pins = <
> +			AM65X_IOPAD(0x01f4, PIN_INPUT, 5) /* (V24) PRG0_PRU0_GPO0.MCASP0_ACLKX */
> +			AM65X_IOPAD(0x01f8, PIN_INPUT, 5) /* (W25) PRG0_PRU0_GPO1.MCASP0_AFSX */
> +			AM65X_IOPAD(0x0204, PIN_OUTPUT, 5) /* (Y24) PRG0_PRU0_GPO4.MCASP0_AXR0 */
> +			AM65X_IOPAD(0x0208, PIN_INPUT, 5) /* (V28) PRG0_PRU0_GPO5.MCASP0_AXR1 */
> +		>;
> +	};
> +
> +	aic3106_pins: aic3106-pins {
> +		pinctrl-single,pins = <
> +			AM65X_IOPAD(0x011c, PIN_OUTPUT, 7) /* (AD19) PRG1_PRU0_GPO15.GPIO0_71 */
> +		>;
> +	};
> +};
> +
> +&main_i2c0 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	tlv320aic3106: tlv320aic3106 at 1b {
> +		#sound-dai-cells = <0>;
> +		compatible = "ti,tlv320aic3106";
> +		reg = <0x1b>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&aic3106_pins>;
> +		gpio-reset = <&main_gpio0 71 GPIO_ACTIVE_LOW>; /* gpio0_71 */
> +		/* Regulators */
> +		AVDD-supply = <&codec_vcc_3v3>;
> +		IOVDD-supply = <&gp_vcc_1v8>;
> +		DRVDD-supply = <&codec_vcc_3v3>;
> +		DVDD-supply = <&gp_vcc_1v8>;
> +	};
> +};
> +
> +&mcasp0 {
> +	status = "okay";
> +	#sound-dai-cells = <0>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mcasp0_pins>;
> +	op-mode = <0>;          /* MCASP_IIS_MODE */
> +	tdm-slots = <2>;
> +	/* 16 serializers */
> +	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
> +		1 2 0 0
> +		0 0 0 0
> +		0 0 0 0
> +		0 0 0 0
> +	>;
> +	tx-num-evt = <32>;
> +	rx-num-evt = <32>;
> +};



More information about the linux-arm-kernel mailing list