Update for h616 hdmi audio
This commit is contained in:
parent
b1526e13c9
commit
35223e0cd3
|
|
@ -2470,7 +2470,7 @@ CONFIG_MICREL_PHY=m
|
|||
CONFIG_MICROCHIP_PHY=m
|
||||
CONFIG_MICROCHIP_T1_PHY=m
|
||||
# CONFIG_MICROSEMI_PHY is not set
|
||||
CONFIG_MOTORCOMM_PHY=m
|
||||
CONFIG_MOTORCOMM_PHY=y
|
||||
CONFIG_NATIONAL_PHY=m
|
||||
CONFIG_NXP_C45_TJA11XX_PHY=m
|
||||
# CONFIG_NXP_TJA11XX_PHY is not set
|
||||
|
|
@ -4832,7 +4832,7 @@ CONFIG_DRM_ANALOGIX_ANX7625=m
|
|||
# CONFIG_DRM_CDNS_MHDP8546 is not set
|
||||
CONFIG_DRM_DW_HDMI=y
|
||||
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
|
||||
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
|
||||
CONFIG_DRM_DW_HDMI_I2S_AUDIO=y
|
||||
CONFIG_DRM_DW_HDMI_CEC=m
|
||||
# end of Display Interface Bridges
|
||||
|
||||
|
|
@ -5052,6 +5052,8 @@ CONFIG_SND_SUN50I_CODEC_ANALOG=m
|
|||
CONFIG_SND_SUN4I_I2S=m
|
||||
CONFIG_SND_SUN4I_SPDIF=m
|
||||
CONFIG_SND_SUN8I_ADDA_PR_REGMAP=m
|
||||
CONFIG_SND_SOC_SUN50I_AHUB=y
|
||||
CONFIG_SND_SOC_SUN50I_HDMI=y
|
||||
# end of Allwinner SoC Audio support
|
||||
|
||||
CONFIG_SND_SOC_XILINX_I2S=m
|
||||
|
|
@ -5109,7 +5111,7 @@ CONFIG_SND_SOC_CS4341=m
|
|||
# CONFIG_SND_SOC_CX2072X is not set
|
||||
CONFIG_SND_SOC_DA7213=m
|
||||
CONFIG_SND_SOC_DMIC=m
|
||||
CONFIG_SND_SOC_HDMI_CODEC=m
|
||||
CONFIG_SND_SOC_HDMI_CODEC=y
|
||||
# CONFIG_SND_SOC_ES7134 is not set
|
||||
CONFIG_SND_SOC_ES7241=m
|
||||
# CONFIG_SND_SOC_ES8316 is not set
|
||||
|
|
@ -6324,7 +6326,6 @@ CONFIG_LITEX_SUBREG_SIZE=4
|
|||
|
||||
CONFIG_SUNXI_MBUS=y
|
||||
CONFIG_SUNXI_SRAM=y
|
||||
CONFIG_SUNXI_SID=y
|
||||
# CONFIG_SOC_TI is not set
|
||||
|
||||
#
|
||||
|
|
|
|||
|
|
@ -50,29 +50,25 @@ family_tweaks_s()
|
|||
chroot $SDCARD /bin/bash -c "apt-get -y -qq install rfkill bluetooth bluez bluez-tools" >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [[ -f $SDCARD/lib/systemd/system/hdmi-audio.service ]]; then
|
||||
if [[ $BUILD_DESKTOP == yes ]]; then
|
||||
|
||||
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable hdmi-audio.service >/dev/null 2>&1"
|
||||
fi
|
||||
sed -i "s/auto-profiles = yes/auto-profiles = no/" ${SDCARD}/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf
|
||||
|
||||
if [[ ${BRANCH} == legacy && ${BUILD_DESKTOP} == yes ]]; then
|
||||
|
||||
cp ${EXTER}/packages/blobs/sunxi/h616/pulseaudio/default.pa-${BOARD} ${SDCARD}/etc/pulse/default.pa
|
||||
cp ${EXTER}/packages/blobs/sunxi/h616/pulseaudio/default.conf ${SDCARD}/usr/share/pulseaudio/alsa-mixer/profile-sets/
|
||||
if [[ $BRANCH == legacy ]]; then
|
||||
echo "load-module module-alsa-sink device=hw:0,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Audio Codec'\"" >> ${SDCARD}/etc/pulse/default.pa
|
||||
echo "load-module module-alsa-sink device=hw:1,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa
|
||||
elif [[ $BRANCH == current ]]; then
|
||||
echo "load-module module-alsa-sink device=hw:2,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Audio Codec'\"" >> ${SDCARD}/etc/pulse/default.pa
|
||||
echo "load-module module-alsa-sink device=hw:0,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa
|
||||
fi
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
family_tweaks_bsp()
|
||||
{
|
||||
|
||||
install -m 755 $EXTER/packages/blobs/bt/hciattach/hciattach_opi_$ARCH $destination/usr/bin/hciattach_opi
|
||||
|
||||
if [[ ${BRANCH} == legacy ]]; then
|
||||
|
||||
install -m 755 $EXTER/packages/blobs/sunxi/h616/inithdmiaudio $destination/usr/bin/
|
||||
cp $EXTER/packages/blobs/sunxi/h616/libtinyalsa.so $destination/usr/lib/
|
||||
cp $EXTER/packages/bsp/sunxi/hdmi-audio.service $destination/lib/systemd/system/
|
||||
fi
|
||||
}
|
||||
|
||||
uboot_custom_postprocess()
|
||||
|
|
|
|||
|
|
@ -1,3 +1,415 @@
|
|||
state.sndahub {
|
||||
control.1 {
|
||||
iface MIXER
|
||||
name 'I2S0IN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.2 {
|
||||
iface MIXER
|
||||
name 'I2S0OUT Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.3 {
|
||||
iface MIXER
|
||||
name 'I2S1IN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.4 {
|
||||
iface MIXER
|
||||
name 'I2S1OUT Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.5 {
|
||||
iface MIXER
|
||||
name 'I2S2IN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.6 {
|
||||
iface MIXER
|
||||
name 'I2S2OUT Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.7 {
|
||||
iface MIXER
|
||||
name 'I2S3IN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.8 {
|
||||
iface MIXER
|
||||
name 'I2S3OUT Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.9 {
|
||||
iface MIXER
|
||||
name 'DAM0IN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.10 {
|
||||
iface MIXER
|
||||
name 'DAM1IN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.11 {
|
||||
iface MIXER
|
||||
name 'DAM0OUT Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.12 {
|
||||
iface MIXER
|
||||
name 'DAM1OUT Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.13 {
|
||||
iface MIXER
|
||||
name 'APBIF0 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.14 {
|
||||
iface MIXER
|
||||
name 'APBIF1 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.15 {
|
||||
iface MIXER
|
||||
name 'APBIF2 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.16 {
|
||||
iface MIXER
|
||||
name 'I2S0 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.17 {
|
||||
iface MIXER
|
||||
name 'I2S1 Src Select'
|
||||
value APBIF_TXDIF0
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.18 {
|
||||
iface MIXER
|
||||
name 'I2S2 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.19 {
|
||||
iface MIXER
|
||||
name 'I2S3 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.20 {
|
||||
iface MIXER
|
||||
name 'DAM0Chan0 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.21 {
|
||||
iface MIXER
|
||||
name 'DAM0Chan1 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.22 {
|
||||
iface MIXER
|
||||
name 'DAM0Chan2 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.23 {
|
||||
iface MIXER
|
||||
name 'DAM1Chan0 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.24 {
|
||||
iface MIXER
|
||||
name 'DAM1Chan1 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
control.25 {
|
||||
iface MIXER
|
||||
name 'DAM1Chan2 Src Select'
|
||||
value NONE
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 NONE
|
||||
item.1 APBIF_TXDIF0
|
||||
item.2 APBIF_TXDIF1
|
||||
item.3 APBIF_TXDIF2
|
||||
item.4 I2S0_TXDIF
|
||||
item.5 I2S1_TXDIF
|
||||
item.6 I2S2_TXDIF
|
||||
item.7 I2S3_TXDIF
|
||||
item.8 DAM0_TXDIF
|
||||
item.9 DAM1_TXDIF
|
||||
}
|
||||
}
|
||||
}
|
||||
state.allwinnerhdmi {
|
||||
control.1 {
|
||||
iface PCM
|
||||
name 'Playback Channel Map'
|
||||
value.0 3
|
||||
value.1 4
|
||||
value.2 0
|
||||
value.3 0
|
||||
value.4 0
|
||||
value.5 0
|
||||
value.6 0
|
||||
value.7 0
|
||||
comment {
|
||||
access read
|
||||
type INTEGER
|
||||
count 8
|
||||
range '0 - 36'
|
||||
}
|
||||
}
|
||||
control.2 {
|
||||
iface PCM
|
||||
name ELD
|
||||
value '100008006c1000010000000000000000410c1000323450464c333534332f5433090701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
||||
comment {
|
||||
access 'read volatile'
|
||||
type BYTES
|
||||
count 128
|
||||
}
|
||||
}
|
||||
}
|
||||
state.Codec {
|
||||
control.1 {
|
||||
iface MIXER
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -88,6 +88,16 @@ prepare_board() {
|
|||
# IRQ distribution based on $BOARDFAMILY and/or $BOARD_NAME
|
||||
case ${BOARD} in
|
||||
orangepizero2|orangepi3-lts)
|
||||
if [[ $BRANCH == current ]]; then
|
||||
# Initial hdmi audio
|
||||
aplay /usr/share/sounds/alsa/audio.wav -D hw:0,0 > /dev/null 2>&1
|
||||
aplay /usr/share/sounds/alsa/audio.wav -D hw:1,0 > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [[ $BRANCH == legacy ]]; then
|
||||
aplay /usr/share/sounds/alsa/audio.wav -D hw:2,0 > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
rfkill unblock all
|
||||
/usr/bin/hciattach_opi -n -s 1500000 /dev/ttyBT0 sprd &
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -360,6 +360,9 @@ install_common()
|
|||
# copy boot splash images
|
||||
cp "${EXTER}"/packages/blobs/splash/orangepi-u-boot.bmp "${SDCARD}"/boot/boot.bmp
|
||||
|
||||
# copy audio.wav
|
||||
cp "${EXTER}"/packages/blobs/audio_wav/audio.wav "${SDCARD}"/usr/share/sounds/alsa/
|
||||
|
||||
# execute $LINUXFAMILY-specific tweaks
|
||||
[[ $(type -t family_tweaks) == function ]] && family_tweaks
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue