This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62P:ASOC-simple-card 声卡

Guru**** 2767305 points

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、、 TAS5731TLV320DAC3203

您好,我正在尝试创建一个“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";
};


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Sergio Rossi 

    该 错误似乎是由 TLV320AIC32x4 和 TLV320ADC3101 编解码器驱动程序之间相互冲突的 ALSA 控制名称引起的。

    1]两个驱动程序都注册了相同的控制名称:

    sound/scodecs/tlv320aic32x4.c soc:
    SoC_DOUBLE_R(“AGC 启动时间“、AIC32X4_LAGC4、AIC32X4_RAGC4、...)

    声音/音 soc 频/视频/codecs/tlv320adc3xxx.c:
    SoC_DOUBLE_R(“AGC 启动时间“、ADC3XXX_LEFT_CHn_AGC_4、...)

    -----

    TI、tlv320aic32x4 — 在 sound/i2c/codecs/tlv320aic32x4-i2c.c 中定义 soc

    TI、tlv320adc3101 — 在 sound/scodecs/tlv320adc3xxx.c 中定义 soc

    -----

    2]我注意到,你正在配置, audio2 但没有在任何 DAI 链接中使用它。  

       同样、 audio_adc2 已定义但未引用。

       请检查是否通过删除(设置状态=“disabled";“;);)来解决此问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我删除了 audio2  audio_adc2 because I was having compiling error with this two, but the main goal is to have 所有 5 个。 因为我们使用以下设置:

    一个带两个扬声器的放大器 TAS5731MPHPR

    两个 具有 2 个音频线路输出的 TLV320DAC3203IRGE

    两个  具有 2 个音频输入的 TLV320ADC3101IRGER  

    是否有办法使所有连接在一起工作? 它们都连接到 mcasp2。

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否尝试过在 CODEC@ADR 中使用 sound-name-prefix ? 例如、 sound-name-prefix =“左 DAC “;  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将声音节点修改为:

    但我得到这个错误:  

    [  4.910782] sysfs:无法创建重复的文件名“/devices/platform/sound/2b20000.audio-controller-tlv320aic32x4-hifi “
    [4.910807]  CPU: 2 PID: 206 comm:(udev-worer) tainted : g       o    6.6.119-7.4.0-devel-g419a4390c4B0-dirty #1
    [  4.910818]硬件名称:Lohr AM62P SOM on Head Unit Advanced — 内核 1.10 - TFT (DT)
    [4.910824]  呼叫跟踪:
    [4.910828]   dump_backtrace+0x94/0x114
    [  4.910849] SHOW_STACK+0x18/0x24
    [  4.910859] dump_stack_lvl+0x48/0x60
    [  4.910870] dump_stack+0x18/0x24
    [  4.910878] sysfs_warn_dup+0x64/0x80
    [  4.910890] sysf_create_dir_ns+0xf4/0x114
    [  4.910898] kobject_add_internal+0x9C/0x2f4
    [  4.910906] kobject_add+0xa0/0x114
    [  4.910913] device_add+0xcc/0x83c
    [  4.910922] DEVICE_REGISTER+0x20/0x30
    [  4.910928] snd_soc_add_pcm_runtime+0x260/0x6f4
    [  4.910941] snd_soc_bind_card+0x294/0xb94
    [  4.910950] snd_soc_register_card+0xf0/0x108
    [  4.910961] devm_snd_soc_register_card+0x4c/0xa4
    [  4.910969] ASOC_simple_probe+0x200/0x408 [snd_soc_simple_card]
    [  4.910990] platform_probe+0x68/0xc8
    [  4.911002] really_probe+0x188/0x3c4
    [  4.911010] __driver_probe_device+0x7c/0x16c
    [  4.911018] driver_probe_device+0x3c/0x110
    [  4.911026] __driver_attach+0xf0/0x1f8
    [  4.911034] bus_for_each_dev+0x7c/0xe0
    [  4.911041] DRIVER_ATT+0x24/0x30
    [  4.911049] BUS_ADD_DRIVER+0x110/0x234
    [  4.911056] DRIVER_REGISTER+0x5c/0x124
    [  4.911065] __PLATFORM_DRIVER_REGISTER+0x28/0x34
    [  4.911074] ASOC_simple_card_init+0x20/0x1000 [snd_soc_simple_card]
    [  4.911087] do_one_initcall+0x80/0x1c8
    [  4.911095] do_init_module+0x58/0x1e0
    [  4.911104] LOAD_MODULE+0x1fd8/0x2028
    [  4.911111] init_module_from_file+0x88/0xcc
    [  4.911118] __arm64_sys_finit_module+0x254/0x34c
    [  4.911125] invoke_syscall+0x48/0x114
    [  4.911137] el0_Svc_common.constprop.0+0xc0/0xe0
    [  4.911145] DO_el0_Svc+0x1c/0x28
    [  4.911153] el0_Svc+0x38/0x108
    [  4.911163] el0t_64_SYNC_HANDLER+0x120/0x12c
    [  4.911171] el0t_64_SYNC+0x190/0x194
    [  4.911181] kobject: kobject_add_internal 对于带有-EEXIST 的 2b20000.audio-controller-tlv320aic32x4-hifi 失败,请勿尝试在同一目录中注册具有相同名称的内容。
    [  4.958624][DRM]已初始化用于次要 1 上 fd80000.GPU 的 PVR 24.2.6643903 20170530
    [4.999601]  ASOC-simple-card:声音探测失败、错误为–12


    	codec_audio: sound {
    		compatible = "simple-audio-card";
    		simple-audio-card,name = "K3-Audio-System";
    
    		#address-cells = <1>;
        	#size-cells = <0>;
    
    		/* --- ROTEAMENTO ALSA --- */
    		simple-audio-card,routing =
    			/* Entradas ADC1 */
    			"ADC1 Left Input", "Mic Bias",
    			"ADC1 Right Input", "Mic Bias",
    			/* Entradas ADC2 */
    			"ADC2 Left Input", "Mic Bias",
    			"ADC2 Right Input", "Mic Bias",
    			/* Saídas DACs (Exemplos comuns) */
    			"AIC1 LOL", "AIC1 DAC Left",
    			"AIC1 LOR", "AIC1 DAC Right",
    			"AIC2 LOL", "AIC2 DAC Left",
    			"AIC2 LOR", "AIC2 DAC Right";
    
    		/* --- SAÍDAS DE ÁUDIO --- */
    
    		/* Link 0: Amplificador TAS5731 (AXR0) */
    		simple-audio-card,dai-link@0 {
    			reg = <0>;
    			format = "i2s";
    			cpu { sound-dai = <&mcasp2>; };
    			codec { sound-dai = <&tas5731>; };
    		};
    
    		/* Link 1: Codec AIC1 (AXR1) - DAC3203 */
    		simple-audio-card,dai-link@1 {
    			reg = <1>;
    			label = "AIC1-Link";
    			sound-name-prefix = "LEFT AIC"; 
    			format = "i2s";
    			cpu { sound-dai = <&mcasp2>; };
    			codec { sound-dai = <&audio1>; };
    		};
    
    		/* Link 2: Codec AIC2 (AXR2) - DAC3203 */
    		simple-audio-card,dai-link@2 {
    			reg = <2>;
    			label = "AIC2-Link";
    			sound-name-prefix = "Right AIC"; 
    			format = "i2s";
    			cpu { sound-dai = <&mcasp2>; };
    			codec { sound-dai = <&audio2>; };
    		};
    
    		/* --- ENTRADAS DE ÁUDIO (MICROFONES) --- */
    
    		/* Link 3: Microfone ADC1 (AXR3) - ADC3101 */
    		simple-audio-card,dai-link@3 {
    			reg = <3>;
    			label = "ADC1-Link";
    			sound-name-prefix = "Right ADC"; 
    			format = "i2s";
    			bitclock-master = <&audio_adc1>;
    			frame-master = <&audio_adc1>;
    			cpu { sound-dai = <&mcasp2>; };
    			codec { sound-dai = <&audio_adc1>; };
    		};
    
    		/* Link 4: Microfone ADC2 (AXR4) - ADC3101 */
    		simple-audio-card,dai-link@4 {
    			reg = <4>;
    			label = "ADC2-Link";
    			sound-name-prefix = "Left ADC"; 
    			format = "i2s";
    			bitclock-master = <&audio_adc2>;
    			frame-master = <&audio_adc2>;
    			cpu { sound-dai = <&mcasp2>; };
    			codec { sound-dai = <&audio_adc2>; };
    		};
    
    	};

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    要修复唯一的 Dai ID、请尝试使用 i2c 总线编号和地址、以便 Dai 名称变得唯一。  

    例如

    	struct i2c_client *i2c = to_i2c_client(component->dev);
    	struct snd_soc_dai_driver *dai;
     
    	/* Allocate unique DAI for each codec instance */
    	dai = devm_kzalloc(dev, sizeof(*dai), GFP_KERNEL);
    	if (!dai)
    		return -ENOMEM;
    
    	/* Copy from template and create unique name */
    	memcpy(dai, &adc3xxx_dai, sizeof(*dai));
    	dai->name = devm_kasprintf(dev, GFP_KERNEL,
    				   "tlv320adc3xxx-hifi-%d-%02x",
    				   i2c->adapter->nr, i2c->addr);
    	if (!dai->name)
    		return -ENOMEM;
    
    -	ret = snd_soc_register_component(dev,
    -			&soc_component_dev_adc3xxx, &adc3xxx_dai, 1);
    +	ret = snd_soc_register_component(dev,
    +			&soc_component_dev_adc3xxx, dai, 1);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否在两个驱动程序中都进行了此更改? 根据我的理解、这两个驱动程序都需要它。

    https://github.com/torvalds/linux/blob/master/sound/soc lv320aic32x4.c

    github.com/.../tlv320adc3xxx.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是、在两个驱动器中。


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请查看此处进行的更改、以便支持此处集成的 4 个 TAD5X1X 器件

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62d2-evm.dts?h=ti-linux-6.12.y#n599

    和编解码器驱动程序

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/sound/soc codecs/tac5x1x-i2c.c?h=ti-linux-6.12.y#n2229

    我认为、如果您看到相同的错误、我想构建会有一些问题。

    [  4.846417] kobject: kobject_add_internal 对于带有-EEXIST 的 2b20000.audio-controller-tlv320aic32x4-hifi 失败,请勿尝试在同一目录中注册具有相同名称的内容。

    因为我找不到  内核源代码中对该字符串的任何其他引用。  

    文本字符串:tlv320aic32x4-hifi

    0 tlv320aic32x4.c 936 .name =“tlv320aic32x4-hify",“,</s>、
    1 FSL-ASOC-CARD.c 765 CODEC_DAI_NAME[0]=“tlv320aic32x4-hifi";“;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、我已按照两个驱动器上的说明进行了这些更改。 但现在、当我启动电路板时、就会记录到这个错误日志

    [ 5.172791]无法处理虚拟地址 0000000000000018 处的内核 NULL 指针解除引用
    [ 5.181923]存储器中止信息:
    [ 5.184769] ESR = 0x0000000096000004
    [ 5.188665] EC = 0x25:DABT(电流 EL)、IL = 32 位
    [ 5.194155] SET = 0、FnV = 0
    [ 5.197949] EA = 0、S1PTW = 0
    [ 5.203037] FSC = 0x04:电平 0 转换故障
    [ 5.210348]数据中止信息:
    [ 5.214948] ISV = 0、ISS = 0x00000004、ISS2 = 0x00000000
    [ 5.221454] CM = 0、WNR = 0、TND = 0、TagAccess = 0
    [ 5.221464] GCS = 0、覆盖层= 0、DirtyBit = 0、Xs = 0
    [ 5.221469] user pgtable:4K 页、48 位 vas、pgdp=0000000884034000
    [ 5.221477][0000000000000018] PgD=0000000000000000、p4d=000000000000
    [ 5.221489]内部错误:oops:0000000096000004 [#1] Preempt SMP
    [ 5.221494]链接的模块:crct10dif_ce pvrsrvkm (O) snd_soc_simple_card (+) snd_soc_sc_simple_card_utils
    [5.221597] CPU: 0 PID: 197 Comm:(udev-worer) tainted: g O 6.6.119-7.4.0-devel-g419a4390c4B0-dirty #1.
    [ 5.221606]硬件名称:Lohr AM62P SOM on Head Unit Advanced - Kernel 1.10 - TFT (DT)
    [5.221610] pstate:800005 (Nzcv daif -pan -uao -TCO -DIT -SSB BTYPE=--)
    [ 5.221616] pc:clk_hw_create_clk+0x7c/0x188
    [ 5.221634] lr:clk_hw_create_clk+0x64/0x188
    [5.221641] sp:ffff8000837ab5d0
    [5.221643] x29: ffffff8000837ab5d0 x28: ffffff80008180e950 x27: ffffff80007b10f198
    [ 5.221653] x26:ffffff800082c65ec8 x25:ffffff000806e67130 x24:000000000001
    [ 5.221662] x23: ffffff000801c23820 x22: ffffff80007ae8d830 x21: ffffff0008017f0678
    [ 5.221671] x20:000000000000 x19:ffff000805888060 x18:fffffffffffffe9078
    [ 5.221680] x17:636f6c6320312073 x16:616e657061206f64 x15:6e69646570203a6f
    [5.221688] x14:ffffffffffffffffffff X13:000000000000 x12:0101010101010101010101
    [ 5.221697] x11:7f7f7f7f7f7f7f7f x10:00007ff8755d3428 x9:0000000000000018
    [ 5.221706] x8 : 00000000ffffffffff x7 : 006e696b6c635f63 x6 : 6c635f6365646f63
    [ 5.221715] x5 : ffffff000805b40dfc x4 : ffffff80007ae8d83c x3 : 000000000000
    [ 5.221723] x2:000000000000000c x1:ffffffffffffff x0:ffffff000805b40df0
    [5.221732]呼叫跟踪:
    [ 5.221737] clk_hw_create_clk+0x7c/0x188
    [ 5.221745] clk_get+0x98/0xbc
    [ 5.221755]_clk_bulk_get+0x74/0x124
    [ 5.221763] clk_bulk_get_option+0x14/0x20
    [ 5.221771] devm_clk_bulk_get_optional+0x5c/0xc0
    [ 5.221778] aic32x4_component_probe+0x44/0x54 [snd_soc_tlv320aic32x4]
    [ 5.221803] snd_soc_component_probe+0x28/0x78
    [ 5.221815] SoC_PROBLE_COMPONENT_0x260/0x388
    [ 5.221826] snd_soc_bind_card+0x4c0/0xb94
    [ 5.221834] snd_soc_register_card+0xf0/0x108
    [ 5.22184] devm_snd_soc_register_card+0x4c/0xa4
    [ 5.221849] ASOC_simple_probe+0x200/0x408 [snd_soc_simple_card]
    [ 5.221866] platform_probe+0x68/0xc8
    [ 5.221876] really_probe+0x188/0x3c4
    [ 5.221883]__driver_probe_device+0x7c/0x16c
    [ 5.221890] driver_probe_device+0x3c/0x110
    [ 5.221897]__driver_attach+0xf0/0x1f8
    [ 5.221903] BUS_FOR_each_dev+0x7c/0xe0
    [ 5.221909] DRIVER_ATT+0x24/0x30
    [ 5.221915] BUS_ADD_DRIVER+0x110/0x234
    [ 5.221922] DRIVER_REGISTER+0x5c/0x124
    [ 5.221930]__platform_driver_register+0x28/0x34
    [ 5.221938] ASOC_simple_card_init+0x20/0x1000 [snd_soc_simple_card]
    [ 5.221952] do_one_initcall+0x80/0x1c8
    [ 5.221960] do_init_module+0x58/0x1e0
    [ 5.221967] LOAD_MODULE+0x1fd8/0x2028
    [ 5.221973] init_module_from_file+0x88/0xcc
    [ 5.221978]__arm64_sys_finit_module+0x254/0x34c
    [ 5.221984] invoke_syscall+0x48/0x114
    [ 5.221993] el0_svc_common.constprop.0+0xc0/0xe0
    [ 5.222001] Do_el0_Svc+0x1c/0x28
    [ 5.222008] el0_svc+0x38/0x108
    [ 5.222017] el0t_64_SYNC_HANDLER+0x120/0x12c
    [ 5.222024] el0t_64_SYNC+0x190/0x194
    [ 5.222036]代码:f9001661 b140067f 54000768 f9000677 (f9400e80)
    [5.222044]--[结束跟踪 0000000000000000 ]-----

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     塞尔吉奥·罗西 对迟迟未能回复感到抱歉。  我可以更新 DTS 文件吗? 我会尝试在我这边重现问题。

    另外、请确认以下配置是否正确、因为我在 audio_refclk0 中只看到“Clocks =<&k3_CLKS 157 16>;“。  

    Clocks =<&K3_CLKS 157 17>;

    (次要问题,#clock-cells =<0>;是重复的)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     Sergio Rossi 请求您确认以下事项

    1. 该问题是否也会在 1 个设备设置中重现?
    2. 是否使用 clocks =<&k3_CLKS 157 16>;解决了问题?
    3. 如果没有、是否仅在使用两个设备设置时才会重现时钟问题?

    请告诉我。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1 — 如果我只使用 TAS5731、当我运行 speaker-test -D HW:0、0 -t sine -f 400 -c 2 时它 运行良好、但当我添加 TLV320DAC3203 时、当我运行 speaker-test -D HW:0、1 -t sine -f 400 -c 2 时、它不会发出声音。

    2 — 否  

    3 — 是的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我能够在测试设置中重现崩溃问题。

    由于时钟的名称冲突、也会出现崩溃问题。   我已经 测试了此修补程序的名称空间冲突。

    /cfs-file/__key/communityserver-discussions-components-files/6/0001_2D00_ASoC_2D00_tlv320aic32x4_2D00_clk_2D00_name_2D00_collision_2D00_for_2D00_multiple_2D00_c.patch

    我已请求 Suren 检查与 McASP 相关的问题 (1)。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的答复、我将实施此补丁。
    关于 McASP 问题、我将等待您的响应。

    ATT.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Sergio、

    扬声器测试是否在您的设置中单独工作?

    已向您发送电子邮件、请回复。

    此致、

    Suren

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它仅适用于 TAS5731MPHPR、每次我在 TLV320DAC3203IRGE 上进行测试时、它都不起作用。

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    让我们在我们的通话中讨论一下、我计划明天来了解您的设置。

    此致

    Suren

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Sergio、

    我想问的是、如果您的设备树只有一个带有 TLV320DAC3203IRGE 和 AXR1 的 DAI 链路、它是否正常工作? 这样会显示为 card0、设备 0 (hw:0,0)??  

    此致、

    Suren

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Suren、

    我已经尝试过这个,显然它是有效 的,但它似乎是静音输出。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Sergio、

    检查以下主题的响应:

     AM62P:AXR0 上仅 McASP 数据流 

    此致

    Suren