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.

[参考译文] TLV320AIC3104:在 SAI IMX7D 作为主设备时没有声音、编解码器 tlv320aic3104。

Guru**** 657930 points
Other Parts Discussed in Thread: TLV320AIC3104
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1254483/tlv320aic3104-no-sound-with-sai-imx7d-as-master-codec-tlv320aic3104

器件型号:TLV320AIC3104

你(们)好!

我正在尝试切换编解码器配置、以将 IMX7D 的 SAI 设置为主模式、因为我想使用同一 SAI 对多个编解码器进行多路复用、我的编解码器是 TI tlv320aic3104。

我的 Linux 内核版本是 iMX 4.14。

我已更改配置、但在使用扬声器测试运行一些测试时听不到声音。

这是我的配置、是否知道哪里出了问题?

&sai2 {
	#sound-dai-cells = <1>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_sai2 &pinctrl_codec_reset &pinctrl_audio_ctrl>;
	assigned-clocks = <&clks IMX7D_SAI2_ROOT_SRC>,
			  <&clks IMX7D_SAI2_ROOT_CLK>;
	assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>;
	assigned-clock-rates = <0>, <12288000>;
	fsl,sai-synchronous-rx;
	fsl,sai-mclk-direction-output;
	status = "okay";
};

	sound-codec {
		compatible = "simple-audio-card";
		status = "okay";
		simple-audio-card,name = "EG4-Sound-Card";
		simple-audio-card,format = "i2s";
		simple-audio-card,bitclock-master = <&dailink0_master>;
		simple-audio-card,frame-master = <&dailink0_master>;

		simple-audio-card,widgets =
			"Speaker", "Speaker",
			"Line", "LineOut",
			"Headphone", "Ambient",
			"Microphone", "SpeakerMic",
			"Microphone", "AmbientMic";
		simple-audio-card,routing =
			"Speaker", "LLOUT",
			"LineOut", "RLOUT",
			"Ambient", "HPLOUT",
			"LINE1L", "SpeakerMic",
			"LINE1R", "AmbientMic";

		dailink0_master: simple-audio-card,cpu {
			sound-dai = <&sai2 0>;
			system-clock-frequency = <12288000>;
		};

		simple-audio-card,codec {
			sound-dai = <&tlv320aic3104>;
			clocks = <&clks IMX7D_SAI2_ROOT_CLK>;
			system-clock-frequency = <12288000>;
		};
	};

		tlv320aic3104: tlv320aic3104@18 {
			#sound-dai-cells = <0>;
			compatible = "ti,tlv320aic3104";
			reg = <0x18>;
			gpio-reset = <&gpio2 10 0>;
			clocks = <&clks IMX7D_SAI2_ROOT_CLK>;
			clock-names = "mclk";
			assigned-clocks = <&clks IMX7D_PLL_AUDIO_POST_DIV>,
					  <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
			assigned-clock-rates = <884736000>,
			       		       <12288000>;

			AVDD-supply = <&avdd>;
			DRVDD-supply = <&avdd>;
			IOVDD-supply = <&iovdd>;
			DVDD-supply = <&dvdd>;
		};

		pinctrl_sai2: sai2grp {
			fsl,pins = <
				MX7D_PAD_SAI1_MCLK__SAI2_MCLK	0x04
				MX7D_PAD_SAI2_TX_BCLK__SAI2_TX_BCLK	0x1c
				MX7D_PAD_SAI2_TX_SYNC__SAI2_TX_SYNC	0x1c
				MX7D_PAD_SAI2_TX_DATA__SAI2_TX_DATA0	0x04
				MX7D_PAD_SAI2_RX_DATA__SAI2_RX_DATA0	0x1c
			>;
		};

非常感谢、

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

    你(们)好!

    没有声音问题有许多可能的原因、设备树对我来说似乎没问题、您能分享一些更多信息吗? 例如在启动和回放期间的相关日志。 另外、请检查您注册的声卡和 i2c 节点、i2c 还是 I2S 通信是否正常?  

    谢谢

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

    尊敬的 Kevin:

    我使用与编解码器为主器件时完全相同的 I2S 和 i2c 配置、并且该配置正常工作、因此此时没有变化。

    以下是更多日志:  

    [    3.782982] asoc-simple-card sound-codec: tlv320aic3x-hifi <-> 308b0000.sai mapping ok
    [    3.796342] rtc-pcf85063 3-0051: setting system clock to 2023-08-01 07:41:03 UTC (1690875663)
    [    3.820909] usb_otg1_vbus: disabling
    [    3.824515] A3V3: disabling
    [    3.827327] D3V3: disabling
    [    3.830174] D1V8: disabling
    [    3.832987] VDD_SD1: disabling
    [    3.836070] ALSA device list:
    [    3.839076]   #0: EG4-Sound-Card

    root@hdl-eg4:~# aplay -L
    null
        Discard all samples (playback) or generate zero samples (capture)
    sysdefault:CARD=EG4SoundCard
        EG4-Sound-Card, 
        Default Audio Device
    

    root@hdl-eg4:~# speaker-test -Dsysdefault:CARD=EG4SoundCard -f 4000 -tsine -S 100 
    
    speaker-test 1.2.1
    
    Playback device is sysdefault:CARD=EG4SoundCard
    Stream parameters are 48000Hz, S16_LE, 1 channels
    Sine wave rate is 4000.0000Hz
    Rate set to 48000Hz (requested 48000Hz)
    Buffer size range from 64 to 16384
    Period size range from 32 to 8192
    Using max buffer size 16384
    Periods = 4
    was set period_size = 4096
    was set buffer_size = 16384
     0 - Front Left
    Time per period = 2.653695
     0 - Front Left
    Time per period = 2.986700
     0 - Front Left
    

    您可以看到扬声器测试运行良好、但我听不到声音。

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

    与主器件相同的测试编解码器:  

    [   70.836270] fsl-sai 308b0000.sai: ASoC: Store rate : 48000
    [   96.522594] fsl-sai 308b0000.sai: ASoC: Store rate : 48000
    [  340.312911] fsl-sai 308b0000.sai: ASoC: Store rate : 48000
    root@hdl-eg4:~# alsamixer -c1
    root@hdl-eg4:~# speaker-test -Dsysdefault:CARD=EG4SoundCard -f 4000 -tsine -S 100 
    
    speaker-test 1.2.1
    
    Playback device is sysdefault:CARD=EG4SoundCard
    Stream parameters are 48000Hz, S16_LE, 1 channels
    Sine wave rate is 4000.0000Hz
    Rate set to 48000Hz (requested 48000Hz)
    Buffer size range from 64 to 16384
    Period size range from 32 to 8192
    Using max buffer size 16384
    Periods = 4
    was set period_size = 4096
    was set buffer_size = 16384
     0 - Front Left
    Time per period = 2.653926
     0 - Front Left
    Time per period = 2.986455
     0 - Front Left
    Time per period = 2.98

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

    您好、Mathieu、

    您能否共享您当前使用的驱动程序代码? 我们可以在 BBB 上做一些实验来重现问题、答案可能晚了一天、

    谢谢

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

    尊敬的 Kevin:

    当然, 驱动程序在这里:  

    https://elixir.bootlin.com/linux/v4.14.320/source/sound/soc codecs/tlv320aic3x.c

    https://elixir.bootlin.com/linux/v4.14.320/source/sound/soc codecs/tlv320aic3x.h

    非常感谢、

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

    或 https://github.com/torvalds/linux/blob/v4.14/sound/soc codecs/tlv320aic3x.c

    github.com/.../tlv320aic3x.h

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

    你好,马蒂厄

    感谢您提供的信息、我会进行测试并回复您。

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

    太棒了! 谢谢

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

    您好、Mathieu、

    在我尝试运行驱动程序时,您能否检查 amixer 或 alsamixer 是否正确?

    众所周知、AIC3104具有多个输出端口、而我们的驱动器可以配置内部路径并选择输入或输出。

    请分享我们 amixer 控件和寄存器转储,没有声音问题可能是由配置而不是驱动程序本身。

    谢谢

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

    尊敬的 Kevin:

    这是引导时加载的配置 I、 与编解码器作为主器件或从器件时相同:

    root@hdl-eg4:~# cat /var/lib/alsa/eg4-amixer.state 
    state.mqsaudio {
    	control {
    	}
    }
    state.EG4SoundCard {
    	control.1 {
    		iface MIXER
    		name 'PCM Playback Volume'
    		value.0 127
    		value.1 127
    		comment {
    			access 'read write'
    			type INTEGER
    			count 2
    			range '0 - 127'
    			dbmin -6350
    			dbmax 0
    			dbvalue.0 -1000
    			dbvalue.1 -1000
    		}
    	}
    	control.2 {
    		iface MIXER
    		name 'Left Line Mixer PGAR Bypass Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.3 {
    		iface MIXER
    		name 'Left Line Mixer DACR1 Playback Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.4 {
    		iface MIXER
    		name 'Right Line Mixer PGAL Bypass Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.5 {
    		iface MIXER
    		name 'Right Line Mixer DACL1 Playback Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.6 {
    		iface MIXER
    		name 'Left HP Mixer PGAR Bypass Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.7 {
    		iface MIXER
    		name 'Left HP Mixer DACR1 Playback Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.8 {
    		iface MIXER
    		name 'Right HP Mixer PGAL Bypass Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.9 {
    		iface MIXER
    		name 'Right HP Mixer DACL1 Playback Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.10 {
    		iface MIXER
    		name 'Left HPCOM Mixer PGAR Bypass Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.11 {
    		iface MIXER
    		name 'Left HPCOM Mixer DACR1 Playback Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.12 {
    		iface MIXER
    		name 'Right HPCOM Mixer PGAL Bypass Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.13 {
    		iface MIXER
    		name 'Right HPCOM Mixer DACL1 Playback Volume'
    		value 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 1
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    		}
    	}
    	control.14 {
    		iface MIXER
    		name 'Line PGA Bypass Volume'
    		value.0 0
    		value.1 0
    		comment {
    			access 'read write'
    			type INTEGER
    			count 2
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 -9999999
    			dbvalue.1 -9999999
    		}
    	}
    	control.15 {
    		iface MIXER
    		name 'Line DAC Playback Volume'
    		value.0 118
    		value.1 118
    		comment {
    			access 'read write'
    			type INTEGER
    			count 2
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 0
    			dbvalue.1 0
    		}
    	}
    	control.16 {
    		iface MIXER
    		name 'HP PGA Bypass Volume'
    		value.0 0
    		value.1 0
    		comment {
    			access 'read write'
    			type INTEGER
    			count 2
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 -9999999
    			dbvalue.1 -9999999
    		}
    	}
    	control.17 {
    		iface MIXER
    		name 'HP DAC Playback Volume'
    		value.0 0
    		value.1 0
    		comment {
    			access 'read write'
    			type INTEGER
    			count 2
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 -9999999
    			dbvalue.1 -9999999
    		}
    	}
    	control.18 {
    		iface MIXER
    		name 'HPCOM PGA Bypass Volume'
    		value.0 0
    		value.1 0
    		comment {
    			access 'read write'
    			type INTEGER
    			count 2
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 -9999999
    			dbvalue.1 -9999999
    		}
    	}
    	control.19 {
    		iface MIXER
    		name 'HPCOM DAC Playback Volume'
    		value.0 0
    		value.1 0
    		comment {
    			access 'read write'
    			type INTEGER
    			count 2
    			range '0 - 118'
    			dbmin -9999999
    			dbmax 0
    			dbvalue.0 -9999999
    			dbvalue.1 -9999999
    		}
    	}
    	control.20 {
    		iface MIXER
    		name 'Line Playback Switch'
    		value.0 true
    		value.1 true
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 2
    		}
    	}
    	control.21 {
    		iface MIXER
    		name 'HP Playback Switch'
    		value.0 false
    		value.1 false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 2
    		}
    	}
    	control.22 {
    		iface MIXER
    		name 'HPCOM Playback Switch'
    		value.0 false
    		value.1 false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 2
    		}
    	}
    	control.23 {
    		iface MIXER
    		name 'AGC Switch'
    		value.0 false
    		value.1 false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 2
    		}
    	}
    	control.24 {
    		iface MIXER
    		name 'Left AGC Target level'
    		value '-5.5dB'
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 '-5.5dB'
    			item.1 '-8dB'
    			item.2 '-10dB'
    			item.3 '-12dB'
    			item.4 '-14dB'
    			item.5 '-17dB'
    			item.6 '-20dB'
    			item.7 '-24dB'
    		}
    	}
    	control.25 {
    		iface MIXER
    		name 'Right AGC Target level'
    		value '-5.5dB'
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 '-5.5dB'
    			item.1 '-8dB'
    			item.2 '-10dB'
    			item.3 '-12dB'
    			item.4 '-14dB'
    			item.5 '-17dB'
    			item.6 '-20dB'
    			item.7 '-24dB'
    		}
    	}
    	control.26 {
    		iface MIXER
    		name 'Left AGC Attack time'
    		value '8ms'
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 '8ms'
    			item.1 '11ms'
    			item.2 '16ms'
    			item.3 '20ms'
    		}
    	}
    	control.27 {
    		iface MIXER
    		name 'Right AGC Attack time'
    		value '8ms'
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 '8ms'
    			item.1 '11ms'
    			item.2 '16ms'
    			item.3 '20ms'
    		}
    	}
    	control.28 {
    		iface MIXER
    		name 'Left AGC Decay time'
    		value '100ms'
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 '100ms'
    			item.1 '200ms'
    			item.2 '400ms'
    			item.3 '500ms'
    		}
    	}
    	control.29 {
    		iface MIXER
    		name 'Right AGC Decay time'
    		value '100ms'
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 '100ms'
    			item.1 '200ms'
    			item.2 '400ms'
    			item.3 '500ms'
    		}
    	}
    	control.30 {
    		iface MIXER
    		name 'De-emphasis Switch'
    		value.0 false
    		value.1 false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 2
    		}
    	}
    	control.31 {
    		iface MIXER
    		name 'PGA Capture Volume'
    		value.0 32
    		value.1 32
    		comment {
    			access 'read write'
    			type INTEGER
    			count 2
    			range '0 - 119'
    			dbmin 0
    			dbmax 5950
    			dbvalue.0 1600
    			dbvalue.1 1600
    		}
    	}
    	control.32 {
    		iface MIXER
    		name 'PGA Capture Switch'
    		value.0 true
    		value.1 true
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 2
    		}
    	}
    	control.33 {
    		iface MIXER
    		name 'ADC HPF Cut-off'
    		value.0 Disabled
    		value.1 Disabled
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 2
    			item.0 Disabled
    			item.1 '0.0045xFs'
    			item.2 '0.0125xFs'
    			item.3 '0.025xFs'
    		}
    	}
    	control.34 {
    		iface MIXER
    		name 'Output Driver Power-On time'
    		value '0us'
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 '0us'
    			item.1 '10us'
    			item.2 '100us'
    			item.3 '1ms'
    			item.4 '10ms'
    			item.5 '50ms'
    			item.6 '100ms'
    			item.7 '200ms'
    			item.8 '400ms'
    			item.9 '800ms'
    			item.10 '2s'
    			item.11 '4s'
    		}
    	}
    	control.35 {
    		iface MIXER
    		name 'Output Driver Ramp-up step'
    		value '0ms'
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 '0ms'
    			item.1 '1ms'
    			item.2 '2ms'
    			item.3 '4ms'
    		}
    	}
    	control.36 {
    		iface MIXER
    		name 'Left DAC Mux'
    		value DAC_L1
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 DAC_L1
    			item.1 DAC_L3
    			item.2 DAC_L2
    		}
    	}
    	control.37 {
    		iface MIXER
    		name 'Left HPCOM Mux'
    		value 'differential of HPLOUT'
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 'differential of HPLOUT'
    			item.1 'constant VCM'
    			item.2 single-ended
    		}
    	}
    	control.38 {
    		iface MIXER
    		name 'Right DAC Mux'
    		value DAC_R1
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 DAC_R1
    			item.1 DAC_R3
    			item.2 DAC_R2
    		}
    	}
    	control.39 {
    		iface MIXER
    		name 'Right HPCOM Mux'
    		value 'differential of HPROUT'
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 'differential of HPROUT'
    			item.1 'constant VCM'
    			item.2 single-ended
    			item.3 'differential of HPLCOM'
    			item.4 'external feedback'
    		}
    	}
    	control.40 {
    		iface MIXER
    		name 'Left Line1L Mux'
    		value single-ended
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 single-ended
    			item.1 differential
    		}
    	}
    	control.41 {
    		iface MIXER
    		name 'Left Line1R Mux'
    		value single-ended
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 single-ended
    			item.1 differential
    		}
    	}
    	control.42 {
    		iface MIXER
    		name 'Right Line1L Mux'
    		value single-ended
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 single-ended
    			item.1 differential
    		}
    	}
    	control.43 {
    		iface MIXER
    		name 'Right Line1R Mux'
    		value single-ended
    		comment {
    			access 'read write'
    			type ENUMERATED
    			count 1
    			item.0 single-ended
    			item.1 differential
    		}
    	}
    	control.44 {
    		iface MIXER
    		name 'Left PGA Mixer Line1L Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.45 {
    		iface MIXER
    		name 'Left PGA Mixer Line1R Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.46 {
    		iface MIXER
    		name 'Left PGA Mixer Mic2L Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.47 {
    		iface MIXER
    		name 'Left PGA Mixer Mic2R Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.48 {
    		iface MIXER
    		name 'Right PGA Mixer Line1R Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.49 {
    		iface MIXER
    		name 'Right PGA Mixer Line1L Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.50 {
    		iface MIXER
    		name 'Right PGA Mixer Mic2L Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.51 {
    		iface MIXER
    		name 'Right PGA Mixer Mic2R Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.52 {
    		iface MIXER
    		name 'Left Line Mixer PGAL Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.53 {
    		iface MIXER
    		name 'Left Line Mixer DACL1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.54 {
    		iface MIXER
    		name 'Left Line Mixer PGAR Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.55 {
    		iface MIXER
    		name 'Left Line Mixer DACR1 Switch'
    		value true
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.56 {
    		iface MIXER
    		name 'Right Line Mixer PGAL Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.57 {
    		iface MIXER
    		name 'Right Line Mixer DACL1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.58 {
    		iface MIXER
    		name 'Right Line Mixer PGAR Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.59 {
    		iface MIXER
    		name 'Right Line Mixer DACR1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.60 {
    		iface MIXER
    		name 'Left HP Mixer PGAL Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.61 {
    		iface MIXER
    		name 'Left HP Mixer DACL1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.62 {
    		iface MIXER
    		name 'Left HP Mixer PGAR Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.63 {
    		iface MIXER
    		name 'Left HP Mixer DACR1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.64 {
    		iface MIXER
    		name 'Right HP Mixer PGAL Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.65 {
    		iface MIXER
    		name 'Right HP Mixer DACL1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.66 {
    		iface MIXER
    		name 'Right HP Mixer PGAR Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.67 {
    		iface MIXER
    		name 'Right HP Mixer DACR1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.68 {
    		iface MIXER
    		name 'Left HPCOM Mixer PGAL Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.69 {
    		iface MIXER
    		name 'Left HPCOM Mixer DACL1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.70 {
    		iface MIXER
    		name 'Left HPCOM Mixer PGAR Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.71 {
    		iface MIXER
    		name 'Left HPCOM Mixer DACR1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.72 {
    		iface MIXER
    		name 'Right HPCOM Mixer PGAL Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.73 {
    		iface MIXER
    		name 'Right HPCOM Mixer DACL1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.74 {
    		iface MIXER
    		name 'Right HPCOM Mixer PGAR Bypass Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    	control.75 {
    		iface MIXER
    		name 'Right HPCOM Mixer DACR1 Switch'
    		value false
    		comment {
    			access 'read write'
    			type BOOLEAN
    			count 1
    		}
    	}
    }
    

    文件夹:

    root@hdl-eg4:~# amixer
    Simple mixer control 'PCM',0
      Capabilities: pvolume
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 127
      Mono:
      Front Left: Playback 127 [100%] [0.00dB]
      Front Right: Playback 127 [100%] [0.00dB]
    Simple mixer control 'Line',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [on]
      Front Right: Playback [on]
    Simple mixer control 'Line DAC',0
      Capabilities: pvolume
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 118
      Mono:
      Front Left: Playback 118 [100%] [0.00dB]
      Front Right: Playback 118 [100%] [0.00dB]
    Simple mixer control 'Line PGA Bypass',0
      Capabilities: volume
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'ADC HPF Cut-off',0
      Capabilities: enum
      Items: 'Disabled' '0.0045xFs' '0.0125xFs' '0.025xFs'
      Item0: 'Disabled'
      Item1: 'Disabled'
    Simple mixer control 'AGC',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [off]
      Front Right: Playback [off]
    Simple mixer control 'De-emphasis',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [off]
      Front Right: Playback [off]
    Simple mixer control 'HP',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [off]
      Front Right: Playback [off]
    Simple mixer control 'HP DAC',0
      Capabilities: pvolume
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 118
      Mono:
      Front Left: Playback 0 [0%] [-99999.99dB]
      Front Right: Playback 0 [0%] [-99999.99dB]
    Simple mixer control 'HP PGA Bypass',0
      Capabilities: volume
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'HPCOM',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [off]
      Front Right: Playback [off]
    Simple mixer control 'HPCOM DAC',0
      Capabilities: pvolume
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 118
      Mono:
      Front Left: Playback 0 [0%] [-99999.99dB]
      Front Right: Playback 0 [0%] [-99999.99dB]
    Simple mixer control 'HPCOM PGA Bypass',0
      Capabilities: volume
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'Left AGC Attack time',0
      Capabilities: enum
      Items: '8ms' '11ms' '16ms' '20ms'
      Item0: '8ms'
    Simple mixer control 'Left AGC Decay time',0
      Capabilities: enum
      Items: '100ms' '200ms' '400ms' '500ms'
      Item0: '100ms'
    Simple mixer control 'Left AGC Target level',0
      Capabilities: enum
      Items: '-5.5dB' '-8dB' '-10dB' '-12dB' '-14dB' '-17dB' '-20dB' '-24dB'
      Item0: '-5.5dB'
    Simple mixer control 'Left DAC Mux',0
      Capabilities: enum
      Items: 'DAC_L1' 'DAC_L3' 'DAC_L2'
      Item0: 'DAC_L1'
    Simple mixer control 'Left HP Mixer DACL1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left HP Mixer DACR1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [off]
    Simple mixer control 'Left HP Mixer PGAL Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left HP Mixer PGAR Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Left HPCOM Mixer DACL1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left HPCOM Mixer DACR1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [off]
    Simple mixer control 'Left HPCOM Mixer PGAL Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left HPCOM Mixer PGAR Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Left HPCOM Mux',0
      Capabilities: enum
      Items: 'differential of HPLOUT' 'constant VCM' 'single-ended'
      Item0: 'differential of HPLOUT'
    Simple mixer control 'Left Line Mixer DACL1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left Line Mixer DACR1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [on]
    Simple mixer control 'Left Line Mixer PGAL Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left Line Mixer PGAR Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Left Line1L Mux',0
      Capabilities: enum
      Items: 'single-ended' 'differential'
      Item0: 'single-ended'
    Simple mixer control 'Left Line1R Mux',0
      Capabilities: enum
      Items: 'single-ended' 'differential'
      Item0: 'single-ended'
    Simple mixer control 'Left PGA Mixer Line1L',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left PGA Mixer Line1R',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left PGA Mixer Mic2L',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left PGA Mixer Mic2R',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Output Driver Power-On time',0
      Capabilities: enum
      Items: '0us' '10us' '100us' '1ms' '10ms' '50ms' '100ms' '200ms' '400ms' '800ms' '2s' '4s'
      Item0: '0us'
    Simple mixer control 'Output Driver Ramp-up step',0
      Capabilities: enum
      Items: '0ms' '1ms' '2ms' '4ms'
      Item0: '0ms'
    Simple mixer control 'PGA',0
      Capabilities: cvolume cswitch
      Capture channels: Front Left - Front Right
      Limits: Capture 0 - 119
      Front Left: Capture 32 [27%] [16.00dB] [on]
      Front Right: Capture 32 [27%] [16.00dB] [on]
    Simple mixer control 'Right AGC Attack time',0
      Capabilities: enum
      Items: '8ms' '11ms' '16ms' '20ms'
      Item0: '8ms'
    Simple mixer control 'Right AGC Decay time',0
      Capabilities: enum
      Items: '100ms' '200ms' '400ms' '500ms'
      Item0: '100ms'
    Simple mixer control 'Right AGC Target level',0
      Capabilities: enum
      Items: '-5.5dB' '-8dB' '-10dB' '-12dB' '-14dB' '-17dB' '-20dB' '-24dB'
      Item0: '-5.5dB'
    Simple mixer control 'Right DAC Mux',0
      Capabilities: enum
      Items: 'DAC_R1' 'DAC_R3' 'DAC_R2'
      Item0: 'DAC_R1'
    Simple mixer control 'Right HP Mixer DACL1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [off]
    Simple mixer control 'Right HP Mixer DACR1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right HP Mixer PGAL Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Right HP Mixer PGAR Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right HPCOM Mixer DACL1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [off]
    Simple mixer control 'Right HPCOM Mixer DACR1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right HPCOM Mixer PGAL Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Right HPCOM Mixer PGAR Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right HPCOM Mux',0
      Capabilities: enum
      Items: 'differential of HPROUT' 'constant VCM' 'single-ended' 'differential of HPLCOM' 'external feedback'
      Item0: 'differential of HPROUT'
    Simple mixer control 'Right Line Mixer DACL1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [off]
    Simple mixer control 'Right Line Mixer DACR1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right Line Mixer PGAL Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Right Line Mixer PGAR Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right Line1L Mux',0
      Capabilities: enum
      Items: 'single-ended' 'differential'
      Item0: 'single-ended'
    Simple mixer control 'Right Line1R Mux',0
      Capabilities: enum
      Items: 'single-ended' 'differential'
      Item0: 'single-ended'
    Simple mixer control 'Right PGA Mixer Line1L',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right PGA Mixer Line1R',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right PGA Mixer Mic2L',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right PGA Mixer Mic2R',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    

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

    大家好、Kevin 老师、我们上到了时钟点错了:

    WCLK:

    BCLK:

    MCLK:

    DIN:

    DOUT:

     

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

    大家好,Methieu:

    我想一些 amixer 控件的状态可能不正确,你能在播放期间提供寄存器转储,这样我们就可以知道如何修改 amixer 了。

    谢谢

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

    尊敬的 Kevin:

    播放声音时的放大器:

    root@hdl-eg4:~# amixer scontrols
    Simple mixer control 'PCM',0
    Simple mixer control 'Line',0
    Simple mixer control 'Line DAC',0
    Simple mixer control 'Line PGA Bypass',0
    Simple mixer control 'ADC HPF Cut-off',0
    Simple mixer control 'AGC',0
    Simple mixer control 'De-emphasis',0
    Simple mixer control 'HP',0
    Simple mixer control 'HP DAC',0
    Simple mixer control 'HP PGA Bypass',0
    Simple mixer control 'HPCOM',0
    Simple mixer control 'HPCOM DAC',0
    Simple mixer control 'HPCOM PGA Bypass',0
    Simple mixer control 'Left AGC Attack time',0
    Simple mixer control 'Left AGC Decay time',0
    Simple mixer control 'Left AGC Target level',0
    Simple mixer control 'Left DAC Mux',0
    Simple mixer control 'Left HP Mixer DACL1',0
    Simple mixer control 'Left HP Mixer DACR1',0
    Simple mixer control 'Left HP Mixer PGAL Bypass',0
    Simple mixer control 'Left HP Mixer PGAR Bypass',0
    Simple mixer control 'Left HPCOM Mixer DACL1',0
    Simple mixer control 'Left HPCOM Mixer DACR1',0
    Simple mixer control 'Left HPCOM Mixer PGAL Bypass',0
    Simple mixer control 'Left HPCOM Mixer PGAR Bypass',0
    Simple mixer control 'Left HPCOM Mux',0
    Simple mixer control 'Left Line Mixer DACL1',0
    Simple mixer control 'Left Line Mixer DACR1',0
    Simple mixer control 'Left Line Mixer PGAL Bypass',0
    Simple mixer control 'Left Line Mixer PGAR Bypass',0
    Simple mixer control 'Left Line1L Mux',0
    Simple mixer control 'Left Line1R Mux',0
    Simple mixer control 'Left PGA Mixer Line1L',0
    Simple mixer control 'Left PGA Mixer Line1R',0
    Simple mixer control 'Left PGA Mixer Mic2L',0
    Simple mixer control 'Left PGA Mixer Mic2R',0
    Simple mixer control 'Output Driver Power-On time',0
    Simple mixer control 'Output Driver Ramp-up step',0
    Simple mixer control 'PGA',0
    Simple mixer control 'Right AGC Attack time',0
    Simple mixer control 'Right AGC Decay time',0
    Simple mixer control 'Right AGC Target level',0
    Simple mixer control 'Right DAC Mux',0
    Simple mixer control 'Right HP Mixer DACL1',0
    Simple mixer control 'Right HP Mixer DACR1',0
    Simple mixer control 'Right HP Mixer PGAL Bypass',0
    Simple mixer control 'Right HP Mixer PGAR Bypass',0
    Simple mixer control 'Right HPCOM Mixer DACL1',0
    Simple mixer control 'Right HPCOM Mixer DACR1',0
    Simple mixer control 'Right HPCOM Mixer PGAL Bypass',0
    Simple mixer control 'Right HPCOM Mixer PGAR Bypass',0
    Simple mixer control 'Right HPCOM Mux',0
    Simple mixer control 'Right Line Mixer DACL1',0
    Simple mixer control 'Right Line Mixer DACR1',0
    Simple mixer control 'Right Line Mixer PGAL Bypass',0
    Simple mixer control 'Right Line Mixer PGAR Bypass',0
    Simple mixer control 'Right Line1L Mux',0
    Simple mixer control 'Right Line1R Mux',0
    Simple mixer control 'Right PGA Mixer Line1L',0
    Simple mixer control 'Right PGA Mixer Line1R',0
    Simple mixer control 'Right PGA Mixer Mic2L',0
    Simple mixer control 'Right PGA Mixer Mic2R',0

    root@hdl-eg4:~# amixer scontents
    Simple mixer control 'PCM',0
      Capabilities: pvolume
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 127
      Mono:
      Front Left: Playback 127 [100%] [0.00dB]
      Front Right: Playback 127 [100%] [0.00dB]
    Simple mixer control 'Line',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [on]
      Front Right: Playback [on]
    Simple mixer control 'Line DAC',0
      Capabilities: pvolume
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 118
      Mono:
      Front Left: Playback 118 [100%] [0.00dB]
      Front Right: Playback 118 [100%] [0.00dB]
    Simple mixer control 'Line PGA Bypass',0
      Capabilities: volume
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'ADC HPF Cut-off',0
      Capabilities: enum
      Items: 'Disabled' '0.0045xFs' '0.0125xFs' '0.025xFs'
      Item0: 'Disabled'
      Item1: 'Disabled'
    Simple mixer control 'AGC',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [off]
      Front Right: Playback [off]
    Simple mixer control 'De-emphasis',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [off]
      Front Right: Playback [off]
    Simple mixer control 'HP',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [off]
      Front Right: Playback [off]
    Simple mixer control 'HP DAC',0
      Capabilities: pvolume
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 118
      Mono:
      Front Left: Playback 0 [0%] [-99999.99dB]
      Front Right: Playback 0 [0%] [-99999.99dB]
    Simple mixer control 'HP PGA Bypass',0
      Capabilities: volume
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'HPCOM',0
      Capabilities: pswitch
      Playback channels: Front Left - Front Right
      Mono:
      Front Left: Playback [off]
      Front Right: Playback [off]
    Simple mixer control 'HPCOM DAC',0
      Capabilities: pvolume
      Playback channels: Front Left - Front Right
      Limits: Playback 0 - 118
      Mono:
      Front Left: Playback 0 [0%] [-99999.99dB]
      Front Right: Playback 0 [0%] [-99999.99dB]
    Simple mixer control 'HPCOM PGA Bypass',0
      Capabilities: volume
      Playback channels: Front Left - Front Right
      Capture channels: Front Left - Front Right
      Limits: 0 - 118
      Front Left: 0 [0%] [-99999.99dB]
      Front Right: 0 [0%] [-99999.99dB]
    Simple mixer control 'Left AGC Attack time',0
      Capabilities: enum
      Items: '8ms' '11ms' '16ms' '20ms'
      Item0: '8ms'
    Simple mixer control 'Left AGC Decay time',0
      Capabilities: enum
      Items: '100ms' '200ms' '400ms' '500ms'
      Item0: '100ms'
    Simple mixer control 'Left AGC Target level',0
      Capabilities: enum
      Items: '-5.5dB' '-8dB' '-10dB' '-12dB' '-14dB' '-17dB' '-20dB' '-24dB'
      Item0: '-5.5dB'
    Simple mixer control 'Left DAC Mux',0
      Capabilities: enum
      Items: 'DAC_L1' 'DAC_L3' 'DAC_L2'
      Item0: 'DAC_L1'
    Simple mixer control 'Left HP Mixer DACL1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left HP Mixer DACR1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [off]
    Simple mixer control 'Left HP Mixer PGAL Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left HP Mixer PGAR Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Left HPCOM Mixer DACL1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left HPCOM Mixer DACR1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [off]
    Simple mixer control 'Left HPCOM Mixer PGAL Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left HPCOM Mixer PGAR Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Left HPCOM Mux',0
      Capabilities: enum
      Items: 'differential of HPLOUT' 'constant VCM' 'single-ended'
      Item0: 'differential of HPLOUT'
    Simple mixer control 'Left Line Mixer DACL1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left Line Mixer DACR1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [on]
    Simple mixer control 'Left Line Mixer PGAL Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left Line Mixer PGAR Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Left Line1L Mux',0
      Capabilities: enum
      Items: 'single-ended' 'differential'
      Item0: 'single-ended'
    Simple mixer control 'Left Line1R Mux',0
      Capabilities: enum
      Items: 'single-ended' 'differential'
      Item0: 'single-ended'
    Simple mixer control 'Left PGA Mixer Line1L',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left PGA Mixer Line1R',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left PGA Mixer Mic2L',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Left PGA Mixer Mic2R',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Output Driver Power-On time',0
      Capabilities: enum
      Items: '0us' '10us' '100us' '1ms' '10ms' '50ms' '100ms' '200ms' '400ms' '800ms' '2s' '4s'
      Item0: '0us'
    Simple mixer control 'Output Driver Ramp-up step',0
      Capabilities: enum
      Items: '0ms' '1ms' '2ms' '4ms'
      Item0: '0ms'
    Simple mixer control 'PGA',0
      Capabilities: cvolume cswitch
      Capture channels: Front Left - Front Right
      Limits: Capture 0 - 119
      Front Left: Capture 32 [27%] [16.00dB] [on]
      Front Right: Capture 32 [27%] [16.00dB] [on]
    Simple mixer control 'Right AGC Attack time',0
      Capabilities: enum
      Items: '8ms' '11ms' '16ms' '20ms'
      Item0: '8ms'
    Simple mixer control 'Right AGC Decay time',0
      Capabilities: enum
      Items: '100ms' '200ms' '400ms' '500ms'
      Item0: '100ms'
    Simple mixer control 'Right AGC Target level',0
      Capabilities: enum
      Items: '-5.5dB' '-8dB' '-10dB' '-12dB' '-14dB' '-17dB' '-20dB' '-24dB'
      Item0: '-5.5dB'
    Simple mixer control 'Right DAC Mux',0
      Capabilities: enum
      Items: 'DAC_R1' 'DAC_R3' 'DAC_R2'
      Item0: 'DAC_R1'
    Simple mixer control 'Right HP Mixer DACL1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [off]
    Simple mixer control 'Right HP Mixer DACR1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right HP Mixer PGAL Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Right HP Mixer PGAR Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right HPCOM Mixer DACL1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [off]
    Simple mixer control 'Right HPCOM Mixer DACR1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right HPCOM Mixer PGAL Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Right HPCOM Mixer PGAR Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right HPCOM Mux',0
      Capabilities: enum
      Items: 'differential of HPROUT' 'constant VCM' 'single-ended' 'differential of HPLCOM' 'external feedback'
      Item0: 'differential of HPROUT'
    Simple mixer control 'Right Line Mixer DACL1',0
      Capabilities: pvolume pvolume-joined pswitch pswitch-joined
      Playback channels: Mono
      Limits: Playback 0 - 118
      Mono: Playback 118 [100%] [0.00dB] [off]
    Simple mixer control 'Right Line Mixer DACR1',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right Line Mixer PGAL Bypass',0
      Capabilities: volume volume-joined pswitch pswitch-joined
      Playback channels: Mono
      Capture channels: Mono
      Limits: 0 - 118
      Mono: 118 [100%] [0.00dB] Playback [off]
    Simple mixer control 'Right Line Mixer PGAR Bypass',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right Line1L Mux',0
      Capabilities: enum
      Items: 'single-ended' 'differential'
      Item0: 'single-ended'
    Simple mixer control 'Right Line1R Mux',0
      Capabilities: enum
      Items: 'single-ended' 'differential'
      Item0: 'single-ended'
    Simple mixer control 'Right PGA Mixer Line1L',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right PGA Mixer Line1R',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right PGA Mixer Mic2L',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    Simple mixer control 'Right PGA Mixer Mic2R',0
      Capabilities: pswitch pswitch-joined
      Playback channels: Mono
      Mono: Playback [off]
    

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

    您好、Mathieu、

    以下是要确认的几个步骤:

    1.确保输出通道已路由,例如,如果您使用了 HPCOM,请确保相应的开关已开启

    2.使用 i2cdump 或 i2cget 确认 DAC 在播放过程中被取消静音,检查 reg43和 reg44,如果 aic3x_mute()函数被调用,它应该是正确的。

    3.确保播放音量正常,我认为是正确的,因为这个值都是默认值。

    如果您有寄存器转储值、我们可以直接检查寄存器状态。

    谢谢

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

    我终于找到了问题的答案、如本文档  https://www.nxp.com/docs/en/errata/IMX7DS_3N09P.pdf 第14页中所述、iMX7D SoC 上似乎存在问题。

    ERR011096: SAI: Internal bit clock is not generated when RCR2[BCI]=1 or TCR2[BCI]=1
    Description
    When the SAI transmitter or receiver is configured for internal bit clock with BCI = 1, the bit clock is not generated for either of the
    following two configurations:
    a) SYNC = 00 and BCS = 0
    b) SYNC = 01 and BCS = 1
    Workaround
    When the SAI transmitter or receiver is configured for internal bit clock with BCI=1, use only one of the following two configurations:
    a) SYNC = 01 and BCS = 0
    b) SYNC = 00 and BCS = 1

    将 SAI 设置为主器件的解决方案是在主器件/从器件配置之间创建一种混合、从硬件的角度来看、这可能需要一种权变措施。

    它似乎也必须重定向的经典 GPIO 由于这个问题,这里是一个例子,我的配置和另一个从 Variscite 什么它可能看起来像:

    我自愿切换到 SAI1

    &sai1 {
    	#sound-dai-cells = <1>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&pinctrl_sai1 &pinctrl_sai1_mclk>;
    	assigned-clocks = <&clks IMX7D_SAI1_ROOT_SRC>,
    			  <&clks IMX7D_SAI1_ROOT_CLK>;
    	assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>;
    	assigned-clock-rates = <0>, <36864000>;
    	status = "okay";
    };
    
    &clks {
    	assigned-clocks = <&clks IMX7D_PLL_AUDIO_POST_DIV>;
    	assigned-clock-rates = <884736000>;
    };

    	sound-codec {
    		compatible = "simple-audio-card";
    		status = "okay";
    		simple-audio-card,name = "EG4-Sound-Card";
    		simple-audio-card,widgets =
    			"Speaker", "Speaker",
    			"Line", "LineOut",
    			"Headphone", "Ambient",
    			"Microphone", "SpeakerMic",
    			"Microphone", "AmbientMic";
    		simple-audio-card,routing =
    			"Speaker", "LLOUT",
    			"LineOut", "RLOUT",
    			"Ambient", "HPLOUT",
    			"LINE1L", "SpeakerMic",
    			"LINE1R", "AmbientMic";
    		simple-audio-card,format = "i2s";
    		simple-audio-card,bitclock-master = <&dailink0_master>;
    		simple-audio-card,frame-master = <&dailink0_master>;
    
    		/*simple-audio-card,bitclock-inversion;*/
    		assigned-clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_SRC>,
    				  <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
    		assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>;
    		assigned-clock-rates = <0>, <12288000>;
    
    		dailink0_master: simple-audio-card,cpu {
    			sound-dai = <&sai1 0>;
    		};
    
    		simple-audio-card,codec {
    			sound-dai = <&tlv320aic3104>;
    			system-clock-frequency = <12288000>;
    		};
    	};

    		tlv320aic3104: tlv320aic3104@18 {
    			#sound-dai-cells = <0>;
    			compatible = "ti,tlv320aic3104";
    			reg = <0x18>;
    			gpio-reset = <&gpio2 10 0>;
    			clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
    			clock-names = "mclk";
    
    			AVDD-supply = <&avdd>;
    			DRVDD-supply = <&avdd>;
    			IOVDD-supply = <&dvdd>;
    			DVDD-supply = <&dvdd>;
    		};

    要测试和确认的 GPIO 配置、但传统 SAI 输出在这种情况下不能使用、必须重定向到 LPSR GPIO:

    		pinctrl_sai1: sai1grp {
    			fsl,pins = <
    				MX7D_PAD_ENET1_RX_CLK__SAI1_TX_BCLK	0x1f
    				MX7D_PAD_ENET1_CRS__SAI1_TX_SYNC	0x1f
    				MX7D_PAD_ENET1_COL__SAI1_TX_DATA0	0x30
    				MX7D_PAD_ENET1_TX_CLK__SAI1_RX_DATA0	0x1f
    			>;
    		};
    
    		pinctrl_sai1_mclk: sai1grp_mclk {
    			fsl,pins = <
    				MX7D_PAD_LPSR_GPIO1_IO01__SAI1_MCLK		0x1f
    			>;
    		};