Other Parts Discussed in Thread: TLV320ADC3101, AM62P, TAS5731, TLV320DAC3203
https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1611506/am62p-asoc-simple-card-sound
部件号: AM62P
主题中讨论的其他器件: TLV320ADC3101、、 TAS5731、 TLV320DAC3203
您好,我正在尝试创建一个“codec_audio : sound“节点,如 decribed bellow ,但当我给板上电时,这个错误出现。
[4.977584] ASOC-simple-card sound:控制 2:0:0:AGC 攻击时间:0 已经存在
[ 5.017616] tlv320adc3xxx-codec 2-0032:aSOC:无法添加 AGC 启动时间:–16
[5.028931] ASOC-simple-card 声音:ASOC:无法实例化卡–16
[5.084242] aSOC-simple-card:声音探测失败,错误为–16
我可以做些什么来解决这个问题?
此致。
/{
codec_audio: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "TAS571X-Audio";
simple-audio-card,format = "i2s";
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
simple-audio-card,bitclock-master = <&mcasp2>;
simple-audio-card,frame-master = <&mcasp2>;
/* Link 0: TAS5731 (Amplificador) */
simple-audio-card,dai-link@0 {
reg = <0>;
link-name = "TAS5731-Amp";
mcasp2_cpu: cpu {
sound-dai = <&mcasp2>;
};
codec {
sound-dai = <&tas5731>;
prefix = "AMP";
};
};
/* Link 1: DAC3203 */
simple-audio-card,dai-link@1 {
reg = <1>;
link-name = "DAC3203-Out";
cpu {
sound-dai = <&mcasp2>;
};
codec {
sound-dai = <&audio1>;
prefix = "DAC"; /* Evita duplicata de nomes de controle no ALSA */
};
};
/* Link 2: ADC3101 */
simple-audio-card,dai-link@2 {
reg = <2>;
link-name = "ADC3101-In";
cpu {
sound-dai = <&mcasp2>;
};
codec {
sound-dai = <&audio_adc1>;
prefix = "ADC"; /* Resolve o conflito 'AGC Attack Time' */
};
};
};
};
&mcasp2 {
status = "okay";
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&mcasp_audio_in_out_pins_default>;
op-mode = <0>; /* Modo I2S */
tdm-slots = <2>; /* Stereo */
// serial-dir = <1 0 0 0 0>;
serial-dir = <
1 /* AXR0: TX para TAS5731 */
1 /* AXR1: TX para DAC3203 */
1 /* AXR2: TX para DAC3203 */
2 /* AXR3: RX para ADC3101 */
2 /* AXR4: RX para ADC3101 */
>;
clocks = <&k3_clks 157 0>, <&k3_clks 157 16>;
clock-names = "fck", "mcasp_aux_clk";
assigned-clocks = <&k3_clks 157 0>;
assigned-clock-parents = <&k3_clks 157 16>;
assigned-clock-rates = <24576000>;
tx-num-evt = <32>;
rx-num-evt = <32>;
};
&main_pmx0{
mcasp_audio_in_out_pins_default: mcasp-audio-in-out-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0170, PIN_INPUT, 2) /* (A21) RGMII2_TD1.MCASP2_ACLKR */
AM62PX_IOPAD(0x0178, PIN_OUTPUT, 2) /* (A19) RGMII2_TD3.MCASP2_ACLKX */
AM62PX_IOPAD(0x0188, PIN_INPUT, 2) /* (E16) RGMII2_RD1.MCASP2_AFSR */
AM62PX_IOPAD(0x0174, PIN_OUTPUT, 2) /* (D17) RGMII2_TD2.MCASP2_AFSX */
AM62PX_IOPAD(0x018c, PIN_OUTPUT, 2) /* (E17) RGMII2_RD2.MCASP2_AXR0 */
AM62PX_IOPAD(0x0180, PIN_INPUT, 2) /* (D19) RGMII2_RXC.MCASP2_AXR1 */
AM62PX_IOPAD(0x0184, PIN_INPUT, 2) /* (E19) RGMII2_RD0.MCASP2_AXR2 */
AM62PX_IOPAD(0x017c, PIN_INPUT, 2) /* (F19) RGMII2_RX_CTL.MCASP2_AXR3 */
AM62PX_IOPAD(0x0164, PIN_INPUT, 2) /* (A20) RGMII2_TX_CTL.MCASP2_AXR4 */
>;
};
};
&audio_refclk0 {
#clock-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&audio_ext_refclk_pins_default>;
clocks = <&k3_clks 157 0>;
assigned-clocks = <&k3_clks 157 0>;
assigned-clock-parents = <&k3_clks 157 16>;
assigned-clock-rates = <24576000>;
#clock-cells = <0>;
status = "okay";
};
&main_i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c0_pins_default>;
clock-frequency = <400000>;
audio1: audio1@18 {
// TLV320DAC3203IRGE (ADC/DAC)
pinctrl-names = "default";
pinctrl-0 = <&main_rst_dac1_pins_default>;
#sound-dai-cells = <0>;
compatible = "ti,tlv320aic32x4";
reg = <0x18>;
status = "okay";
reset-gpios = <&main_gpio0 45 GPIO_ACTIVE_HIGH>;
clocks = <&k3_clks 157 17>;
clock-names = "mclk";
iov-supply = <&vcc_3v3_main>;
ldoin-supply = <&vcc_3v3_main>;
aic32x4-gpio-func = <0xff 0xff 0xff 0xff 0x08>;
gpio-controller;
#gpio-cells = <2>;
};
};
&main_i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <400000>;
audio2: audio2@18 {
// TLV320DAC3203IRGE (MIC/DAC)
pinctrl-names = "default";
pinctrl-0 = <&main_rst_dac2_pins_default>;
compatible = "ti,tlv320aic32x4";
reg = <0x18>;
status = "okay";
reset-gpios = <&main_gpio0 46 GPIO_ACTIVE_HIGH>;
clocks = <&k3_clks 157 17>;
clock-names = "mclk";
iov-supply = <&vcc_3v3_main>;
ldoin-supply = <&vcc_3v3_main>;
aic32x4-gpio-func = <0xff 0xff 0xff 0xff 0x08>;
gpio-controller;
#sound-dai-cells = <0>;
#gpio-cells = <2>;
};
audio_adc1: adc1@32 {
pinctrl-names = "default";
pinctrl-0 = <&main_rst_adc1_pins_default>;
compatible = "ti,tlv320adc3101";
reg = <0x32>;
status = "okay";
reset-gpios = <&main_gpio0 47 GPIO_ACTIVE_HIGH>;
clocks = <&k3_clks 157 17>;
ti,dmdin-gpio1 = <0>;
ti,dmclk-gpio2 = <0>;
ti,micbias1-vg = <0>;
gpio-controller;
#gpio-cells = <2>;
#sound-dai-cells = <0>;
};
audio_adc2: adc2@36 {
pinctrl-names = "default";
pinctrl-0 = <&main_rst_adc2_pins_default>;
compatible = "ti,tlv320adc3101";
reg = <0x36>;
status = "okay";
reset-gpios = <&main_gpio0 48 GPIO_ACTIVE_HIGH>;
clocks = <&k3_clks 157 17>;
ti,dmdin-gpio1 = <0>;
ti,dmclk-gpio2 = <0>;
ti,micbias1-vg = <0>;
gpio-controller;
#gpio-cells = <2>;
#sound-dai-cells = <0>;
};
};
&main_i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_i2c2_pins_default>;
clock-frequency = <400000>;
tas5731: audio-codec@1a {
compatible = "ti,tas5717";
reg = <0x1a>;
pinctrl-names = "default";
pinctrl-0 = <&main_amp_rst_pins_default>,
<&main_amp_pwr_down_pins_default>;
#sound-dai-cells = <0>;
reset-gpios = <&main_gpio0 15 GPIO_ACTIVE_HIGH>;
pdn-gpios = <&main_gpio0 16 GPIO_ACTIVE_HIGH>;
clocks = <&k3_clks 157 16>;
clock-names = "mclk";
assigned-clocks = <&k3_clks 157 16>;
assigned-clock-rates = <24576000>;
AVDD-supply = <&vcc_3v3_sys>;
DVDD-supply = <&vcc_3v3_sys>;
PVDD_AB-supply = <&en_pwr_17v>;
PVDD_CD-supply = <&en_pwr_17v>;
};
};
&k3_clks {
assigned-clocks = <&k3_clks 157 16>;
status = "okay";
};