mirror of https://github.com/armbian/build.git
CAINIAO CNIoT-CORE: use ALSA UCM instead of asound.state
This commit is contained in:
parent
99d23b8190
commit
fc8fef06b2
|
|
@ -10,9 +10,7 @@ FULL_DESKTOP="yes"
|
|||
SERIALCON="ttyAML0"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="amlogic/meson-g12b-a311d-cainiao-cniot-core.dtb"
|
||||
# playback via HDMI: aplay -D plughw:CNIoTCORE,0 /usr/share/sounds/alsa/Front_Center.wav
|
||||
# playback via internal speaker: aplay -D plughw:CNIoTCORE,1 /usr/share/sounds/alsa/Front_Center.wav
|
||||
ASOUND_STATE="asound.state.cainiao-cniot-core"
|
||||
PACKAGE_LIST_BOARD="alsa-ucm-conf" # Contain ALSA UCM top-level configuration file
|
||||
|
||||
BOOTBRANCH_BOARD="tag:v2025.04"
|
||||
BOOTPATCHDIR="v2025.04" # This has a patch that adds support for CAINIAO CNIoT-CORE.
|
||||
|
|
@ -88,3 +86,22 @@ function post_uboot_custom_postprocess__repack_vendor_fip_with_mainline_uboot()
|
|||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function post_family_tweaks_bsp__cainiao-cniot-core() {
|
||||
display_alert "${BOARD}" "Installing ALSA UCM configuration files" "info"
|
||||
|
||||
# Use ALSA UCM via GUI: Install a desktop environment such as GNOME, PipeWire, and WirePlumber.
|
||||
|
||||
# Use ALSA UCM via CLI: alsactl init && alsaucm set _verb "HiFi" set _enadev "HDMI" set _enadev "Speaker"
|
||||
# playback via HDMI: aplay -D plughw:cainiaocniotcor,0 /usr/share/sounds/alsa/Front_Center.wav
|
||||
# playback via internal speaker: aplay -D plughw:cainiaocniotcor,1 /usr/share/sounds/alsa/Front_Center.wav
|
||||
|
||||
install -Dm644 "${SRC}/packages/bsp/cainiao-cniot-core/cainiao-cniot-core-HiFi.conf" "${destination}/usr/share/alsa/ucm2/Amlogic/axg-sound-card/cainiao-cniot-core-HiFi.conf"
|
||||
install -Dm644 "${SRC}/packages/bsp/cainiao-cniot-core/cainiao-cniot-core.conf" "${destination}/usr/share/alsa/ucm2/Amlogic/axg-sound-card/cainiao-cniot-core.conf"
|
||||
|
||||
if [ ! -d "${destination}/usr/share/alsa/ucm2/conf.d/axg-sound-card" ]; then
|
||||
mkdir -p "${destination}/usr/share/alsa/ucm2/conf.d/axg-sound-card"
|
||||
fi
|
||||
ln -sfv /usr/share/alsa/ucm2/Amlogic/axg-sound-card/cainiao-cniot-core.conf \
|
||||
"${destination}/usr/share/alsa/ucm2/conf.d/axg-sound-card/cainiao-cniot-core.conf"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,11 +21,8 @@ function uboot_custom_postprocess() {
|
|||
elif [[ $BOARD == odroidn2* ]]; then
|
||||
# FIP trees 'odroid-n2-plus' and 'odroid-n2' are identical.
|
||||
uboot_g12_postprocess "$SRC"/cache/sources/amlogic-boot-fip/odroid-n2 g12b
|
||||
elif [[ $BOARD == khadas-vim3 ]]; then
|
||||
# do nothing. VIM3 has its own post_uboot_custom_postprocess hook, directly in the board file.
|
||||
:
|
||||
elif [[ $BOARD == cainiao-cniot-core ]]; then
|
||||
# do nothing. CAINIAO CNIoT-CORE has its own post_uboot_custom_postprocess hook, directly in the board file.
|
||||
elif [[ $BOARD == khadas-vim3 ]] || [[ $BOARD == cainiao-cniot-core ]]; then
|
||||
# do nothing. These boards have their own post_uboot_custom_postprocess hook, directly in the board file.
|
||||
:
|
||||
elif [[ $BOARD == radxa-zero2 ]]; then
|
||||
uboot_g12_postprocess "$SRC"/cache/sources/amlogic-boot-fip/radxa-zero2 g12b
|
||||
|
|
|
|||
|
|
@ -1,621 +0,0 @@
|
|||
state.CNIoTCORE {
|
||||
control.1 {
|
||||
iface MIXER
|
||||
name 'TOACODEC Lane Select'
|
||||
value 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 3'
|
||||
}
|
||||
}
|
||||
control.2 {
|
||||
iface MIXER
|
||||
name 'ACODEC Playback Channel Mode'
|
||||
value Stereo
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 Stereo
|
||||
item.1 Mono
|
||||
}
|
||||
}
|
||||
control.3 {
|
||||
iface MIXER
|
||||
name 'ACODEC Playback Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.4 {
|
||||
iface MIXER
|
||||
name 'ACODEC Playback Volume'
|
||||
value.0 255
|
||||
value.1 255
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
dbmin -9999999
|
||||
dbmax 0
|
||||
dbvalue.0 0
|
||||
dbvalue.1 0
|
||||
}
|
||||
}
|
||||
control.5 {
|
||||
iface MIXER
|
||||
name 'ACODEC Ramp Rate'
|
||||
value Fast
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 Fast
|
||||
item.1 Slow
|
||||
}
|
||||
}
|
||||
control.6 {
|
||||
iface MIXER
|
||||
name 'ACODEC Volume Ramp Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.7 {
|
||||
iface MIXER
|
||||
name 'ACODEC Mute Ramp Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.8 {
|
||||
iface MIXER
|
||||
name 'ACODEC Unmute Ramp Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.9 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_C Lane 0 Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
}
|
||||
}
|
||||
control.10 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_C Lane 1 Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
}
|
||||
}
|
||||
control.11 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_C Lane 2 Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
}
|
||||
}
|
||||
control.12 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_C Lane 3 Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
}
|
||||
}
|
||||
control.13 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_C Gain Enable Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.14 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_B Lane 0 Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
}
|
||||
}
|
||||
control.15 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_B Lane 1 Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
}
|
||||
}
|
||||
control.16 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_B Lane 2 Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
}
|
||||
}
|
||||
control.17 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_B Lane 3 Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
}
|
||||
}
|
||||
control.18 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_B Gain Enable Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.19 {
|
||||
iface PCM
|
||||
device 7
|
||||
name 'Playback Channel Map'
|
||||
value.0 0
|
||||
value.1 0
|
||||
value.2 0
|
||||
value.3 0
|
||||
value.4 0
|
||||
value.5 0
|
||||
value.6 0
|
||||
value.7 0
|
||||
comment {
|
||||
access 'read volatile'
|
||||
type INTEGER
|
||||
count 8
|
||||
range '0 - 36'
|
||||
}
|
||||
}
|
||||
control.20 {
|
||||
iface PCM
|
||||
device 7
|
||||
name 'IEC958 Playback Mask'
|
||||
value ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
comment {
|
||||
access read
|
||||
type IEC958
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.21 {
|
||||
iface PCM
|
||||
device 7
|
||||
name 'IEC958 Playback Default'
|
||||
value '0400000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
||||
comment {
|
||||
access 'read write'
|
||||
type IEC958
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.22 {
|
||||
iface PCM
|
||||
device 7
|
||||
name ELD
|
||||
value '100008006d10000100000000000000003669c2ac4d414732373451205144204532097f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
||||
comment {
|
||||
access 'read volatile'
|
||||
type BYTES
|
||||
count 128
|
||||
}
|
||||
}
|
||||
control.23 {
|
||||
iface MIXER
|
||||
name 'FRDDR_A SRC 1 EN Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.24 {
|
||||
iface MIXER
|
||||
name 'FRDDR_A SRC 2 EN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.25 {
|
||||
iface MIXER
|
||||
name 'FRDDR_A SRC 3 EN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.26 {
|
||||
iface MIXER
|
||||
name 'FRDDR_A SINK 1 SEL'
|
||||
value 'OUT 1'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'OUT 0'
|
||||
item.1 'OUT 1'
|
||||
item.2 'OUT 2'
|
||||
item.3 'OUT 3'
|
||||
item.4 'OUT 4'
|
||||
item.5 'OUT 5'
|
||||
item.6 'OUT 6'
|
||||
item.7 'OUT 7'
|
||||
}
|
||||
}
|
||||
control.27 {
|
||||
iface MIXER
|
||||
name 'FRDDR_A SINK 2 SEL'
|
||||
value 'OUT 0'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'OUT 0'
|
||||
item.1 'OUT 1'
|
||||
item.2 'OUT 2'
|
||||
item.3 'OUT 3'
|
||||
item.4 'OUT 4'
|
||||
item.5 'OUT 5'
|
||||
item.6 'OUT 6'
|
||||
item.7 'OUT 7'
|
||||
}
|
||||
}
|
||||
control.28 {
|
||||
iface MIXER
|
||||
name 'FRDDR_A SINK 3 SEL'
|
||||
value 'OUT 0'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'OUT 0'
|
||||
item.1 'OUT 1'
|
||||
item.2 'OUT 2'
|
||||
item.3 'OUT 3'
|
||||
item.4 'OUT 4'
|
||||
item.5 'OUT 5'
|
||||
item.6 'OUT 6'
|
||||
item.7 'OUT 7'
|
||||
}
|
||||
}
|
||||
control.29 {
|
||||
iface MIXER
|
||||
name 'FRDDR_B SRC 1 EN Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.30 {
|
||||
iface MIXER
|
||||
name 'FRDDR_B SRC 2 EN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.31 {
|
||||
iface MIXER
|
||||
name 'FRDDR_B SRC 3 EN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.32 {
|
||||
iface MIXER
|
||||
name 'FRDDR_B SINK 1 SEL'
|
||||
value 'OUT 2'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'OUT 0'
|
||||
item.1 'OUT 1'
|
||||
item.2 'OUT 2'
|
||||
item.3 'OUT 3'
|
||||
item.4 'OUT 4'
|
||||
item.5 'OUT 5'
|
||||
item.6 'OUT 6'
|
||||
item.7 'OUT 7'
|
||||
}
|
||||
}
|
||||
control.33 {
|
||||
iface MIXER
|
||||
name 'FRDDR_B SINK 2 SEL'
|
||||
value 'OUT 0'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'OUT 0'
|
||||
item.1 'OUT 1'
|
||||
item.2 'OUT 2'
|
||||
item.3 'OUT 3'
|
||||
item.4 'OUT 4'
|
||||
item.5 'OUT 5'
|
||||
item.6 'OUT 6'
|
||||
item.7 'OUT 7'
|
||||
}
|
||||
}
|
||||
control.34 {
|
||||
iface MIXER
|
||||
name 'FRDDR_B SINK 3 SEL'
|
||||
value 'OUT 0'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'OUT 0'
|
||||
item.1 'OUT 1'
|
||||
item.2 'OUT 2'
|
||||
item.3 'OUT 3'
|
||||
item.4 'OUT 4'
|
||||
item.5 'OUT 5'
|
||||
item.6 'OUT 6'
|
||||
item.7 'OUT 7'
|
||||
}
|
||||
}
|
||||
control.35 {
|
||||
iface MIXER
|
||||
name 'FRDDR_C SRC 1 EN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.36 {
|
||||
iface MIXER
|
||||
name 'FRDDR_C SRC 2 EN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.37 {
|
||||
iface MIXER
|
||||
name 'FRDDR_C SRC 3 EN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.38 {
|
||||
iface MIXER
|
||||
name 'FRDDR_C SINK 1 SEL'
|
||||
value 'OUT 0'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'OUT 0'
|
||||
item.1 'OUT 1'
|
||||
item.2 'OUT 2'
|
||||
item.3 'OUT 3'
|
||||
item.4 'OUT 4'
|
||||
item.5 'OUT 5'
|
||||
item.6 'OUT 6'
|
||||
item.7 'OUT 7'
|
||||
}
|
||||
}
|
||||
control.39 {
|
||||
iface MIXER
|
||||
name 'FRDDR_C SINK 2 SEL'
|
||||
value 'OUT 0'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'OUT 0'
|
||||
item.1 'OUT 1'
|
||||
item.2 'OUT 2'
|
||||
item.3 'OUT 3'
|
||||
item.4 'OUT 4'
|
||||
item.5 'OUT 5'
|
||||
item.6 'OUT 6'
|
||||
item.7 'OUT 7'
|
||||
}
|
||||
}
|
||||
control.40 {
|
||||
iface MIXER
|
||||
name 'FRDDR_C SINK 3 SEL'
|
||||
value 'OUT 0'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'OUT 0'
|
||||
item.1 'OUT 1'
|
||||
item.2 'OUT 2'
|
||||
item.3 'OUT 3'
|
||||
item.4 'OUT 4'
|
||||
item.5 'OUT 5'
|
||||
item.6 'OUT 6'
|
||||
item.7 'OUT 7'
|
||||
}
|
||||
}
|
||||
control.41 {
|
||||
iface MIXER
|
||||
name 'TOHDMITX I2S SRC'
|
||||
value 'I2S B'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'I2S A'
|
||||
item.1 'I2S B'
|
||||
item.2 'I2S C'
|
||||
}
|
||||
}
|
||||
control.42 {
|
||||
iface MIXER
|
||||
name 'TOHDMITX Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.43 {
|
||||
iface MIXER
|
||||
name 'TOHDMITX SPDIF SRC'
|
||||
value 'SPDIF A'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'SPDIF A'
|
||||
item.1 'SPDIF B'
|
||||
}
|
||||
}
|
||||
control.44 {
|
||||
iface MIXER
|
||||
name 'TOACODEC SRC'
|
||||
value 'I2S C'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'I2S A'
|
||||
item.1 'I2S B'
|
||||
item.2 'I2S C'
|
||||
}
|
||||
}
|
||||
control.45 {
|
||||
iface MIXER
|
||||
name 'TOACODEC OUT EN Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.46 {
|
||||
iface MIXER
|
||||
name 'ACODEC Right DAC Sel'
|
||||
value Right
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 Right
|
||||
item.1 Left
|
||||
}
|
||||
}
|
||||
control.47 {
|
||||
iface MIXER
|
||||
name 'ACODEC Left DAC Sel'
|
||||
value Left
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 Left
|
||||
item.1 Right
|
||||
}
|
||||
}
|
||||
control.48 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_C SRC SEL'
|
||||
value 'IN 1'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'IN 0'
|
||||
item.1 'IN 1'
|
||||
item.2 'IN 2'
|
||||
}
|
||||
}
|
||||
control.49 {
|
||||
iface MIXER
|
||||
name 'TDMOUT_B SRC SEL'
|
||||
value 'IN 0'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'IN 0'
|
||||
item.1 'IN 1'
|
||||
item.2 'IN 2'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
SectionVerb {
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
|
||||
# Note that if some audio paths are not pre-configured here,
|
||||
# allowing audio streams to be input to the device without returning errors,
|
||||
# it will cause PipeWire to fail in parsing ALSA UCM.
|
||||
EnableSequence [
|
||||
# FRDDR_A -> TDMOUT_A -> TOHDMITX -> HDMI
|
||||
cset "name='FRDDR_A SINK 1 SEL' 'OUT 0'"
|
||||
cset "name='FRDDR_A SRC 1 EN Switch' on"
|
||||
cset "name='TDMOUT_A SRC SEL' 'IN 0'"
|
||||
cset "name='TOHDMITX Switch' off" # Disable output
|
||||
cset "name='TOHDMITX I2S SRC' 'I2S A'"
|
||||
|
||||
# FRDDR_B -> TDMOUT_B -> TOACODEC -> ACODEC -> Internal Speaker
|
||||
cset "name='FRDDR_B SINK 1 SEL' 'OUT 1'"
|
||||
cset "name='FRDDR_B SRC 1 EN Switch' on"
|
||||
cset "name='TDMOUT_B SRC SEL' 'IN 1'"
|
||||
cset "name='TOACODEC Lane Select' 0"
|
||||
cset "name='TOACODEC OUT EN Switch' off" # Disable output
|
||||
cset "name='TOACODEC SRC' 'I2S B'"
|
||||
cset "name='ACODEC Playback Volume' 255"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."HDMI" {
|
||||
Comment "HDMI"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 200
|
||||
PlaybackPCM "hw:${CardId},0" # plughw won't work
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='TOHDMITX Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='TOHDMITX Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Internal Speaker"
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId},1" # plughw won't work
|
||||
PlaybackMixerElem "ACODEC"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='TOACODEC OUT EN Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='TOACODEC OUT EN Switch' off"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
Syntax 4
|
||||
|
||||
Comment "CAINIAO CNIoT-CORE Sound"
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Amlogic/axg-sound-card/cainiao-cniot-core-HiFi.conf"
|
||||
Comment "Play HiFi quality music"
|
||||
}
|
||||
|
||||
BootSequence [
|
||||
# Reset to default
|
||||
cset "name='ACODEC Playback Volume' 0"
|
||||
cset "name='ACODEC Left DAC Sel' 'Left'"
|
||||
cset "name='ACODEC Mute Ramp Switch' off"
|
||||
cset "name='ACODEC Playback Channel Mode' 'Stereo'"
|
||||
cset "name='ACODEC Ramp Rate' 'Fast'"
|
||||
cset "name='ACODEC Right DAC Sel' 'Right'"
|
||||
cset "name='ACODEC Unmute Ramp Switch' off"
|
||||
cset "name='ACODEC Volume Ramp Switch' off"
|
||||
cset "name='FRDDR_A SINK 1 SEL' 'OUT 0'"
|
||||
cset "name='FRDDR_A SINK 2 SEL' 'OUT 0'"
|
||||
cset "name='FRDDR_A SINK 3 SEL' 'OUT 0'"
|
||||
cset "name='FRDDR_A SRC 1 EN Switch' off"
|
||||
cset "name='FRDDR_A SRC 2 EN Switch' off"
|
||||
cset "name='FRDDR_A SRC 3 EN Switch' off"
|
||||
cset "name='FRDDR_B SINK 1 SEL' 'OUT 0'"
|
||||
cset "name='FRDDR_B SINK 2 SEL' 'OUT 0'"
|
||||
cset "name='FRDDR_B SINK 3 SEL' 'OUT 0'"
|
||||
cset "name='FRDDR_B SRC 1 EN Switch' off"
|
||||
cset "name='FRDDR_B SRC 2 EN Switch' off"
|
||||
cset "name='FRDDR_B SRC 3 EN Switch' off"
|
||||
cset "name='FRDDR_C SINK 1 SEL' 'OUT 0'"
|
||||
cset "name='FRDDR_C SINK 2 SEL' 'OUT 0'"
|
||||
cset "name='FRDDR_C SINK 3 SEL' 'OUT 0'"
|
||||
cset "name='FRDDR_C SRC 1 EN Switch' off"
|
||||
cset "name='FRDDR_C SRC 2 EN Switch' off"
|
||||
cset "name='FRDDR_C SRC 3 EN Switch' off"
|
||||
cset "name='TDMOUT_A Gain Enable Switch' off"
|
||||
cset "name='TDMOUT_A Lane 0 Volume' 0"
|
||||
cset "name='TDMOUT_A Lane 1 Volume' 0"
|
||||
cset "name='TDMOUT_A Lane 2 Volume' 0"
|
||||
cset "name='TDMOUT_A Lane 3 Volume' 0"
|
||||
cset "name='TDMOUT_A SRC SEL' 'IN 0'"
|
||||
cset "name='TDMOUT_B Gain Enable Switch' off"
|
||||
cset "name='TDMOUT_B Lane 0 Volume' 0"
|
||||
cset "name='TDMOUT_B Lane 1 Volume' 0"
|
||||
cset "name='TDMOUT_B Lane 2 Volume' 0"
|
||||
cset "name='TDMOUT_B Lane 3 Volume' 0"
|
||||
cset "name='TDMOUT_B SRC SEL' 'IN 0'"
|
||||
cset "name='TOACODEC Lane Select' 0"
|
||||
cset "name='TOACODEC OUT EN Switch' off"
|
||||
cset "name='TOACODEC SRC' 'I2S A'"
|
||||
cset "name='TOHDMITX Switch' off"
|
||||
cset "name='TOHDMITX I2S SRC' 'I2S A'"
|
||||
cset "name='TOHDMITX SPDIF SRC' 'SPDIF A'"
|
||||
]
|
||||
Loading…
Reference in New Issue