# Chromebox 10 代 - Linux 音频硬件拓扑
# 收集时间: 2026-02-14T10:49:33+08:00
# 主机: localhost


========================================
### 系统信息
========================================

# uname -a
```
Linux localhost 5.15.186-24551-gda919f42ccd1 #1 SMP PREEMPT Thu, 15 Jan 2026 13:36:48 -0800 x86_64 Intel(R) Core(TM) i7-10610U CPU @ 1.80GHz GenuineIntel GNU/Linux
```

# 内核版本
```
5.15.186-24551-gda919f42ccd1
```


========================================
### PCI 音频相关设备
========================================

# lspci -nn | grep -i audio (含设备 ID，便于查驱动/quirks)
```
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Comet Lake PCH-LP cAVS [8086:02c8]
```

# lspci | grep -i audio
```
00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH-LP cAVS
```

# lspci -v | grep -A 15 -i audio
```
00:1f.3 Multimedia audio controller: Intel Corporation Comet Lake PCH-LP cAVS
	DeviceName: Multimedia audio controller
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 64, IRQ 151
	Memory at 9fb1c000 (64-bit, non-prefetchable) [size=16K]
	Memory at 9fa00000 (64-bit, non-prefetchable) [size=1M]
	Capabilities: <access denied>
	Kernel driver in use: sof-audio-pci-intel-cnl
	Kernel modules: snd_hda_intel, snd_sof_pci_intel_cnl

00:1f.4 SMBus: Intel Corporation Comet Lake PCH-LP SMBus Host Controller
	Subsystem: Intel Corporation Device 7270
	Flags: medium devsel, IRQ 16
	Memory at 9fb32000 (64-bit, non-prefetchable) [size=256]
	I/O ports at efa0 [size=32]
	Kernel driver in use: i801_smbus

00:1f.5 Serial bus controller: Intel Corporation Comet Lake SPI (flash) Controller
	Subsystem: Intel Corporation Device 7270
	Flags: bus master, fast devsel, latency 0
	Memory at fe010000 (32-bit, non-prefetchable) [size=4K]

01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 15)
```


========================================
### ALSA 设备列表
========================================

# aplay -l (播放设备)
```
**** List of PLAYBACK Hardware Devices ****
card 0: sofrt5682 [sof-rt5682], device 0: Port1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofrt5682 [sof-rt5682], device 2: HDMI1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofrt5682 [sof-rt5682], device 3: HDMI2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofrt5682 [sof-rt5682], device 4: HDMI3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
```

# aplay -L (ALSA 设备描述)
```
null
    Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=sofrt5682
    sof-rt5682, 
    Default Audio Device
```

# arecord -l (录音设备)
```
**** List of CAPTURE Hardware Devices ****
card 0: sofrt5682 [sof-rt5682], device 0: Port1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofrt5682 [sof-rt5682], device 1: DMIC (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofrt5682 [sof-rt5682], device 8: DMIC16kHz (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
```

# cat /proc/asound/cards
```
 0 [sofrt5682      ]: sof-rt5682 - sof-rt5682
                      Google-Kaisa-rev4
```

# cat /proc/asound/pcm (PCM 设备明细)
```
00-00: Port1 (*) :  : playback 1 : capture 1
00-01: DMIC (*) :  : capture 1
00-02: HDMI1 (*) :  : playback 1
00-03: HDMI2 (*) :  : playback 1
00-04: HDMI3 (*) :  : playback 1
00-08: DMIC16kHz (*) :  : capture 1
```


========================================
### /proc/asound 目录结构
========================================

# ls -la /proc/asound
```
total 0
dr-xr-xr-x.  11 root root 0 Feb 14 09:51 .
dr-xr-xr-x. 476 root root 0 Feb 14 09:21 ..
dr-xr-xr-x.  20 root root 0 Feb 14 09:51 card0
-r--r--r--.   1 root root 0 Feb 14 09:51 cards
-r--r--r--.   1 root root 0 Feb 14 10:05 devices
-r--r--r--.   1 root root 0 Feb 14 10:05 hwdep
-r--r--r--.   1 root root 0 Feb 14 10:05 pcm
dr-xr-xr-x.   6 root root 0 Feb 14 10:05 seq
lrwxrwxrwx.   1 root root 5 Feb 14 10:05 sofrt5682 -> card0
-r--r--r--.   1 root root 0 Feb 14 10:05 timers
-r--r--r--.   1 root root 0 Feb 14 10:05 version
```

# card0 目录内容:
```
total 0
dr-xr-xr-x. 20 root root 0 Feb 14 09:51 .
dr-xr-xr-x. 11 root root 0 Feb 14 09:51 ..
-r--r--r--.  1 root root 0 Feb 14 09:51 codec#2
-rw-r--r--.  1 root root 0 Feb 14 10:05 eld#2.0
-rw-r--r--.  1 root root 0 Feb 14 10:05 eld#2.1
-rw-r--r--.  1 root root 0 Feb 14 10:05 eld#2.2
-rw-r--r--.  1 root root 0 Feb 14 10:05 eld#2.3
-rw-r--r--.  1 root root 0 Feb 14 10:05 eld#2.4
-rw-r--r--.  1 root root 0 Feb 14 10:05 eld#2.5
-rw-r--r--.  1 root root 0 Feb 14 10:05 eld#2.6
-rw-r--r--.  1 root root 0 Feb 14 10:05 eld#2.7
-rw-r--r--.  1 root root 0 Feb 14 10:05 eld#2.8
-r--r--r--.  1 root root 0 Feb 14 10:05 id
dr-xr-xr-x.  4 root root 0 Feb 14 10:05 pcm0c
dr-xr-xr-x.  4 root root 0 Feb 14 10:05 pcm0p
dr-xr-xr-x.  4 root root 0 Feb 14 10:05 pcm1c
dr-xr-xr-x.  4 root root 0 Feb 14 10:05 pcm2p
dr-xr-xr-x.  4 root root 0 Feb 14 10:05 pcm3p
dr-xr-xr-x.  4 root root 0 Feb 14 10:05 pcm4p
dr-xr-xr-x.  4 root root 0 Feb 14 10:05 pcm8c
```

========================================
### HDA Codec 信息
========================================

# /proc/asound/card0/codec#2
```
Codec: Intel Kabylake HDMI
Address: 2
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x8086280b
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x80]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D3, actual=D3
  Devices: 3
     Dev 00: PD = 1, ELDV = 1, IA = 0, Connections [ 0x02* 0x03 0x04 ]
     Dev 01: PD = 0, ELDV = 0, IA = 0, Connections [ 0x02* 0x03 0x04 ]
    *Dev 02: PD = 0, ELDV = 0, IA = 0, Connections [ 0x02* 0x03 0x04 ]
  Connection: 3
     0x02* 0x03 0x04
Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono
```

========================================
### HDMI ELD 内容
========================================

# /proc/asound/card0/eld#2.0
```
monitor_present		0
eld_valid		0
```
# /proc/asound/card0/eld#2.1
```
monitor_present		0
eld_valid		0
```
# /proc/asound/card0/eld#2.2
```
monitor_present		0
eld_valid		0
```
# /proc/asound/card0/eld#2.3
```
monitor_present		1
eld_valid		1
monitor_name		ASUS MG279
connection_type		DisplayPort
eld_version		[0x2] CEA-861D or below
edid_version		[0x3] CEA-861-B, C or D
manufacture_id		0x6904
product_id		0x27a7
port_id			0x0
support_hdcp		0
support_ai		0
audio_sync_delay	0
speakers		[0x1] FL/FR
sad_count		1
sad0_coding_type	[0x1] LPCM
sad0_channels		2
sad0_rates		[0x4e0] 32000 44100 48000 96000
sad0_bits		[0xe0000] 16 20 24
```
# /proc/asound/card0/eld#2.4
```
monitor_present		0
eld_valid		0
```
# /proc/asound/card0/eld#2.5
```
monitor_present		0
eld_valid		0
```
# /proc/asound/card0/eld#2.6
```
monitor_present		0
eld_valid		0
```
# /proc/asound/card0/eld#2.7
```
monitor_present		0
eld_valid		0
```
# /proc/asound/card0/eld#2.8
```
monitor_present		0
eld_valid		0
```

========================================
### /sys/class/sound 设备
========================================

# ls -la /sys/class/sound
```
total 0
drwxr-xr-x.  2 root root 0 Feb 14 09:21 .
drwxr-xr-x. 76 root root 0 Feb 14 09:21 ..
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 card0 -> ../../devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 controlC0 -> ../../devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/controlC0
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 ctl-led -> ../../devices/virtual/sound/ctl-led
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 hwC0D2 -> ../../devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/hwC0D2
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 pcmC0D0c -> ../../devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/pcmC0D0c
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 pcmC0D0p -> ../../devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/pcmC0D0p
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 pcmC0D1c -> ../../devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/pcmC0D1c
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 pcmC0D2p -> ../../devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/pcmC0D2p
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 pcmC0D3p -> ../../devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/pcmC0D3p
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 pcmC0D4p -> ../../devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/pcmC0D4p
lrwxrwxrwx.  1 root root 0 Feb 14 09:25 pcmC0D8c -> ../../devices/pci0000:00/0000:00:1f.3/sof_rt5682/sound/card0/pcmC0D8c
lrwxrwxrwx.  1 root root 0 Feb 14 10:05 seq -> ../../devices/virtual/sound/seq
lrwxrwxrwx.  1 root root 0 Feb 14 09:21 timer -> ../../devices/virtual/sound/timer
```

# card0 设备属性:
```
id: sofrt5682
number: 0
```

========================================
### 内核日志 (dmesg) 音频相关
========================================

# dmesg | grep -iE 'snd|hda|audio|codec|hdmi'
# 提示: 若此处显示「需要 root」，请用 sudo 重新运行本脚本以获取完整日志
```
(需要 root 或 dmesg 不可用)
```


========================================
### journalctl 内核日志 (SOF/音频，可选补充)
========================================

(journalctl 未安装)

========================================
### ACPI NHLT 表
========================================

# ls /sys/firmware/acpi/tables/ | grep -i nhlt
```
(未找到 NHLT 表，Coreboot 下常见)
```

========================================
### sof-logger (可选)
========================================

# sof-logger -t 2>/dev/null | tail -30 (DMA trace，无需 ldc 文件)
```
(sof-logger 输出 Usage：通常表示 debugfs 未挂载或需 root 权限读取 /sys/kernel/debug/sof/)
```

========================================
### 音频服务 (PulseAudio / PipeWire)
========================================

# 提示: sudo 下会以原用户身份调用 pactl/pw-cli，需设置 XDG_RUNTIME_DIR 以连接用户会话

========================================
### 音频相关内核模块
========================================

# lsmod | grep -iE 'snd|hda|sound'
```
snd_seq_dummy          16384  0
snd_seq                65536  5 snd_seq_dummy
snd_seq_device         16384  1 snd_seq
snd_ctl_led            24576  0
ledtrig_audio          16384  1 snd_ctl_led
snd_sof_probes         20480  0
snd_soc_sof_rt5682     20480  4
snd_soc_rt5682s        77824  1 snd_soc_sof_rt5682
snd_soc_rt5645        155648  1 snd_soc_sof_rt5682
snd_soc_intel_sof_maxim_common    16384  1 snd_soc_sof_rt5682
snd_soc_intel_sof_realtek_common    16384  1 snd_soc_sof_rt5682
snd_soc_intel_sof_board_helpers    16384  1 snd_soc_sof_rt5682
snd_soc_intel_hda_dsp_common    16384  1 snd_soc_intel_sof_board_helpers
snd_soc_intel_sof_ssp_common    16384  1 snd_soc_sof_rt5682
snd_soc_dmic           16384  1
snd_sof_pci_intel_cnl    16384  0
snd_sof_intel_hda_common   131072  1 snd_sof_pci_intel_cnl
snd_sof_intel_hda      16384  1 snd_sof_intel_hda_common
snd_hda_codec_hdmi     65536  1
soundwire_intel        36864  1 snd_sof_intel_hda_common
soundwire_generic_allocation    16384  1 soundwire_intel
soundwire_cadence      28672  1 soundwire_intel
snd_sof_pci            20480  2 snd_sof_intel_hda_common,snd_sof_pci_intel_cnl
snd_sof_xtensa_dsp     16384  1 snd_sof_intel_hda_common
snd_soc_hdac_hda       20480  1 snd_sof_intel_hda_common
snd_soc_acpi_intel_match    65536  2 snd_sof_intel_hda_common,snd_sof_pci_intel_cnl
snd_soc_acpi           16384  2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
snd_hda_ext_core       24576  2 snd_sof_intel_hda_common,snd_soc_hdac_hda
snd_sof               184320  5 snd_soc_sof_rt5682,snd_sof_pci,snd_sof_intel_hda_common,snd_soc_intel_sof_realtek_common,snd_sof_probes
snd_sof_utils          16384  1 snd_sof
soundwire_bus          73728  3 soundwire_intel,soundwire_generic_allocation,soundwire_cadence
snd_intel_dspcfg       28672  2 snd_sof,snd_sof_intel_hda_common
snd_intel_sdw_acpi     16384  2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec         135168  4 snd_hda_codec_hdmi,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hwdep              20480  1 snd_hda_codec
snd_hda_core           90112  7 snd_hda_codec_hdmi,snd_hda_ext_core,snd_hda_codec,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_soc_rt5682_i2c     16384  1
snd_soc_rt5682         77824  2 snd_soc_sof_rt5682,snd_soc_rt5682_i2c
snd_soc_rl6231         16384  2 snd_soc_rt5682,snd_soc_rt5645
```


========================================
### ALSA 混音器状态
========================================

# amixer -c 0 contents (或 -c default)
```
numid=12,iface=CARD,name='HDMI/DP,pcm=2 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=18,iface=CARD,name='HDMI/DP,pcm=3 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=24,iface=CARD,name='HDMI/DP,pcm=4 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=6,iface=CARD,name='Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=7,iface=CARD,name='Headset Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=8,iface=MIXER,name='Headphone Jack Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=60,iface=MIXER,name='ADCDAT Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'ADCDAT1'
  ; Item #1 'ADCDAT2'
  : values=0
numid=13,iface=MIXER,name='IEC958 Playback Con Mask'
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=19,iface=MIXER,name='IEC958 Playback Con Mask',index=1
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=25,iface=MIXER,name='IEC958 Playback Con Mask',index=2
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=14,iface=MIXER,name='IEC958 Playback Pro Mask'
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=20,iface=MIXER,name='IEC958 Playback Pro Mask',index=1
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=26,iface=MIXER,name='IEC958 Playback Pro Mask',index=2
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=15,iface=MIXER,name='IEC958 Playback Default'
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=21,iface=MIXER,name='IEC958 Playback Default',index=1
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=27,iface=MIXER,name='IEC958 Playback Default',index=2
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=16,iface=MIXER,name='IEC958 Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=22,iface=MIXER,name='IEC958 Playback Switch',index=1
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=28,iface=MIXER,name='IEC958 Playback Switch',index=2
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=2,iface=MIXER,name='CBJ Boost Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=8,step=0
  : values=0
  | dBrange-
    rangemin=0,,rangemax=0
      | dBscale-min=0.00dB,step=0.00dB,mute=0
    rangemin=1,,rangemax=1
      | dBscale-min=20.00dB,step=0.00dB,mute=0
    rangemin=2,,rangemax=2
      | dBscale-min=24.00dB,step=0.00dB,mute=0
    rangemin=3,,rangemax=5
      | dBscale-min=30.00dB,step=5.00dB,mute=0
    rangemin=6,,rangemax=6
      | dBscale-min=44.00dB,step=0.00dB,mute=0
    rangemin=7,,rangemax=7
      | dBscale-min=50.00dB,step=0.00dB,mute=0
    rangemin=8,,rangemax=8
      | dBscale-min=52.00dB,step=0.00dB,mute=0

numid=61,iface=MIXER,name='DAC L Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'IF1'
  ; Item #1 'SOUND'
  : values=0
numid=67,iface=MIXER,name='DAC L1 Source'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Stereo1 DAC Mixer'
  ; Item #1 'DAC1'
  : values=1
numid=62,iface=MIXER,name='DAC R Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'IF1'
  ; Item #1 'SOUND'
  : values=0
numid=68,iface=MIXER,name='DAC R1 Source'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Stereo1 DAC Mixer'
  ; Item #1 'DAC1'
  : values=1
numid=64,iface=MIXER,name='DAC1 MIXL DAC1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=63,iface=MIXER,name='DAC1 MIXL Stereo ADC Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=66,iface=MIXER,name='DAC1 MIXR DAC1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=65,iface=MIXER,name='DAC1 MIXR Stereo ADC Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=1,iface=MIXER,name='DAC1 Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=87,step=0
  : values=35,35
  | dBscale-min=-65.25dB,step=0.75dB,mute=0
numid=36,iface=MIXER,name='Dmic0 Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,on
numid=35,iface=MIXER,name='Dmic0 Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=70,step=0
  : values=0,50
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=41,iface=MIXER,name='Dmic1 2nd Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=70,step=0
  : values=50,50
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=37,iface=MIXER,name='EQIIR3.0 eqiir_coef_3'
  ; type=BYTES,access=-----RW-,values=1024
  ; ASoC TLV Byte control, skipping bytes dump
numid=42,iface=MIXER,name='EQIIR8.0 eqiir_coef_8'
  ; type=BYTES,access=-----RW-,values=1024
  ; ASoC TLV Byte control, skipping bytes dump
numid=75,iface=MIXER,name='HPO Signal Demux'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Legacy'
  ; Item #1 'OneBit'
  : values=1
numid=73,iface=MIXER,name='HPOL Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=74,iface=MIXER,name='HPOR Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=9,iface=MIXER,name='Headset Mic Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=55,iface=MIXER,name='IF1 01 ADC Swap Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'L/R'
  ; Item #1 'R/L'
  ; Item #2 'L/L'
  ; Item #3 'R/R'
  : values=0
numid=56,iface=MIXER,name='IF1 23 ADC Swap Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'L/R'
  ; Item #1 'R/L'
  ; Item #2 'L/L'
  ; Item #3 'R/R'
  : values=0
numid=57,iface=MIXER,name='IF1 45 ADC Swap Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'L/R'
  ; Item #1 'R/L'
  ; Item #2 'L/L'
  ; Item #3 'R/R'
  : values=0
numid=58,iface=MIXER,name='IF1 67 ADC Swap Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'L/R'
  ; Item #1 'R/L'
  ; Item #2 'L/L'
  ; Item #3 'R/R'
  : values=0
numid=50,iface=MIXER,name='IF1_ADC Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'Slot 0'
  ; Item #1 'Slot 2'
  ; Item #2 'Slot 4'
  ; Item #3 'Slot 6'
  : values=0
numid=59,iface=MIXER,name='IF2 ADC Swap Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'L/R'
  ; Item #1 'R/L'
  ; Item #2 'L/L'
  ; Item #3 'R/R'
  : values=0
numid=10,iface=MIXER,name='Left Spk Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=33,iface=MIXER,name='PGA1.0 1 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=34,iface=MIXER,name='PGA2.0 2 Master Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=80,step=0
  : values=50,50
  | dBscale-min=-50.00dB,step=1.00dB,mute=1
numid=38,iface=MIXER,name='PGA4.0 4 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=39,iface=MIXER,name='PGA5.0 5 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=40,iface=MIXER,name='PGA6.0 6 Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=32,step=0
  : values=32,32
  | dBscale-min=-64.00dB,step=2.00dB,mute=1
numid=43,iface=MIXER,name='RECMIX1L CBJ Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=11,iface=MIXER,name='Right Spk Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=5,iface=MIXER,name='STO1 ADC Boost Gain Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
  : values=0,0
  | dBscale-min=0.00dB,step=12.00dB,mute=0
numid=3,iface=MIXER,name='STO1 ADC Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=4,iface=MIXER,name='STO1 ADC Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0
  : values=23,23
  | dBscale-min=-17.25dB,step=0.75dB,mute=0
numid=48,iface=MIXER,name='Stereo1 ADC L Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'ADC1 L'
  ; Item #1 'ADC1 R'
  : values=0
numid=44,iface=MIXER,name='Stereo1 ADC L1 Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'DAC MIX'
  ; Item #1 'ADC'
  : values=0
numid=46,iface=MIXER,name='Stereo1 ADC L2 Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'DAC MIX'
  ; Item #1 'DMIC'
  : values=0
numid=51,iface=MIXER,name='Stereo1 ADC MIXL ADC1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=52,iface=MIXER,name='Stereo1 ADC MIXL ADC2 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=53,iface=MIXER,name='Stereo1 ADC MIXR ADC1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=54,iface=MIXER,name='Stereo1 ADC MIXR ADC2 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=49,iface=MIXER,name='Stereo1 ADC R Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'ADC1 L'
  ; Item #1 'ADC1 R'
  : values=1
numid=45,iface=MIXER,name='Stereo1 ADC R1 Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'DAC MIX'
  ; Item #1 'ADC'
  : values=0
numid=47,iface=MIXER,name='Stereo1 ADC R2 Mux'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'DAC MIX'
  ; Item #1 'DMIC'
  : values=0
numid=69,iface=MIXER,name='Stereo1 DAC MIXL DAC L1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=70,iface=MIXER,name='Stereo1 DAC MIXL DAC R1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=71,iface=MIXER,name='Stereo1 DAC MIXR DAC L1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=72,iface=MIXER,name='Stereo1 DAC MIXR DAC R1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=17,iface=PCM,name='ELD',device=2
  ; type=BYTES,access=r--v----,values=0
  : values=
numid=30,iface=PCM,name='Playback Channel Map',device=2
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
numid=23,iface=PCM,name='ELD',device=3
  ; type=BYTES,access=r--v----,values=36
  : values=0x10,0x00,0x08,0x00,0x6a,0x14,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x69,0xa7,0x27,0x41,0x53,0x55,0x53,0x20,0x4d,0x47,0x32,0x37,0x39,0x09,0x17,0x07,0x00,0x00,0x00
numid=31,iface=PCM,name='Playback Channel Map',device=3
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
numid=29,iface=PCM,name='ELD',device=4
  ; type=BYTES,access=r--v----,values=0
  : values=
numid=32,iface=PCM,name='Playback Channel Map',device=4
  ; type=INTEGER,access=rw---R--,values=8,min=0,max=36,step=0
  : values=0,0,0,0,0,0,0,0
  | container
    | chmap-variable=FL,FR
```


========================================
### SOF 固件 (Intel Sound Open Firmware)
========================================

# ls -la /lib/firmware/intel/ (sof 相关)
```
drwxr-xr-x. 4 root root   4096 Jan 26 13:20 sof
drwxr-xr-x. 2 root root   4096 Jan 26 13:20 sof-tplg
```
# SOF 拓扑: /lib/firmware/intel/sof
```
```
# SOF 拓扑: /lib/firmware/intel/sof-tplg
```
/lib/firmware/intel/sof-tplg/sof-cml-rt1011-rt5682.tplg
/lib/firmware/intel/sof-tplg/sof-cml-demux-rt5682-max98357a.tplg
/lib/firmware/intel/sof-tplg/sof-cml-rt5682-kwd.tplg
/lib/firmware/intel/sof-tplg/sof-cml-rt700-2ch.tplg
/lib/firmware/intel/sof-tplg/sof-cml-rt5682-max98357a.tplg
/lib/firmware/intel/sof-tplg/sof-cml-nocodec.tplg
/lib/firmware/intel/sof-tplg/sof-cml-rt700-4ch.tplg
/lib/firmware/intel/sof-tplg/sof-cml-rt700.tplg
/lib/firmware/intel/sof-tplg/sof-cml-da7219-max98390.tplg
/lib/firmware/intel/sof-tplg/sof-cml-rt711-rt1308-rt715.tplg
/lib/firmware/intel/sof-tplg/sof-cml-da7219-max98357a.tplg
/lib/firmware/intel/sof-tplg/sof-cml-rt711-rt1308-mono-rt715.tplg
/lib/firmware/intel/sof-tplg/sof-cml-demux-rt5682.tplg
/lib/firmware/intel/sof-tplg/sof-cml-rt5682.tplg
```

========================================
### 机器识别 (主板/机型)
========================================

# DMI 主板信息:
```
board_name: Kaisa
product_name: Kaisa
sys_vendor: Google
```
