In order to test whether the kernel build option
(CONFIG_DRM_SUN4I_HDMI_AUDIO=y) is the key to enable HDMI Audio output on
Pine64, I am looking at the instructions in Fedora Wiki to plan the next
steps.
Since this is the 1st I tried to cross-compiling kernel on Fedora, I would
appreciate if some of you may look into my question in plan and point out
any obviously missing steps.
1. Follow this
to setup the dependencies, x86_64 version of those tools should be fine.
2. Install the AArch64 version of gcc as mentioned in
3. *Question: How to get fedpkg and build toolchains recognise the
AArch64 version gcc?* I found an archived article but it seems to be
very outdated:
4. Build a kernel rpm after adjusting the build config locally by
following this:
Kind regards,
Tommy
On Fri, Nov 5, 2021 at 11:41 AM Tommy He <lovenemesis(a)gmail.com> wrote:
Like the content in alsa-ucm package?
I checked the corresponding folder(/usr/share/alsa) under Armbian. There's
no folder like ucm2/ as on Fedora.
Out of curiosity, I checked the kernel build configure for both and may
step on the cause:
On Fedora with kernel 5.14.14:
$ cat /boot/config-5.14.14-300.fc35.aarch64 | grep CONFIG_DRM_SUN4I
CONFIG_DRM_SUN4I=m
CONFIG_DRM_SUN4I_HDMI=m
CONFIG_DRM_SUN4I_HDMI_CEC=y
CONFIG_DRM_SUN4I_BACKEND=m
While on Armbian with kernel 5.10.16:
$ zcat /proc/config.gz | grep CONFIG_DRM_SUN4I
CONFIG_DRM_SUN4I=y
CONFIG_DRM_SUN4I_HDMI=y*CONFIG_DRM_SUN4I_HDMI_AUDIO=y*
CONFIG_DRM_SUN4I_HDMI_CEC=y
CONFIG_DRM_SUN4I_BACKEND=y
Note it has an extra kernel build configure that is dedicated to HDMI audio.
It would be good if I can recompile a fedora kernel with that build configuration enabled
to test. However, I am not sure how to do that on Aarch64. I only knew how to do it via
kernel SRPM on x86_64.
Kind regards,
Tommy
On Thu, Nov 4, 2021 at 3:48 AM Peter Robinson <pbrobinson(a)gmail.com>
wrote:
> Does Armbian ship a UCM2 profile for the device that's not upstream?
>
> On Wed, Nov 3, 2021 at 7:59 AM Tommy He <lovenemesis(a)gmail.com> wrote:
> >
> > Hello,
> >
> > My Pine64 has served my daughter well for her online courses during the
> pandemic, loaded with Armbian. As someone more into Fedora, I'm always
> looking for opportunity to switch on this cheap SBC.
> > It hasn't been successful until Fedora 35 XFCE AArch64. With the help
> of arm-image-installer, the recent AArch64 booted and runs quite well, with
> one exception: no Sound from HDMI port.
> > There's audio from 3.5mm jack thus I'm pretty sure the player, codec
> and sound server are all right.
> >
> > I tried to poke around the XFCE sound server widget but it seems HDMI
> wasn't recognized as a device under Fedora 35. Below are output from Fedora
> running updated kernel 5.14.14:
> >
> > $ aplay -l
> > **** List of PLAYBACK Hardware Devices ****
> > card 0: sun50ia64audio [sun50i-a64-audio], device 0:
> 1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0
> [1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0]
> > Subdevices: 1/1
> > Subdevice #0: subdevice #0
> >
> > $ lsmod
> > Module Size Used by
> > snd_seq_dummy 16384 0
> > snd_hrtimer 20480 1
> > nft_fib_inet 16384 1
> > nft_fib_ipv4 16384 1 nft_fib_inet
> > nft_fib_ipv6 16384 1 nft_fib_inet
> > nft_fib 16384 3 nft_fib_ipv6,nft_fib_ipv4,nft_fib_inet
> > nft_reject_inet 16384 6
> > nf_reject_ipv4 16384 1 nft_reject_inet
> > nf_reject_ipv6 20480 1 nft_reject_inet
> > nft_reject 16384 1 nft_reject_inet
> > nft_ct 24576 11
> > nft_chain_nat 16384 2
> > nf_nat 49152 1 nft_chain_nat
> > nf_conntrack 176128 2 nf_nat,nft_ct
> > nf_defrag_ipv6 24576 1 nf_conntrack
> > nf_defrag_ipv4 16384 1 nf_conntrack
> > rfkill 40960 1
> > ip_set 57344 0
> > nf_tables 217088 204
>
nft_ct,nft_reject_inet,nft_fib_ipv6,nft_fib_ipv4,nft_chain_nat,nft_reject,nft_fib,nft_fib_inet
> > nfnetlink 20480 3 nf_tables,ip_set
> > qrtr 28672 4
> > ns 32768 1 qrtr
> > sunrpc 626688 1
> > vfat 28672 1
> > fat 94208 1 vfat
> > snd_soc_hdmi_codec 24576 0
> > dw_hdmi_cec 16384 0
> > dw_hdmi_i2s_audio 16384 0
> > sun50i_codec_analog 36864 1
> > snd_soc_simple_card 24576 2
> > sun4i_i2s 24576 2
> > snd_soc_simple_card_utils 28672 1 snd_soc_simple_card
> > axp20x_adc 20480 0
> > sun8i_adda_pr_regmap 16384 1 sun50i_codec_analog
> > axp20x_pek 16384 0
> > sun8i_codec 49152 1
> > snd_soc_core 311296 6
>
sun4i_i2s,snd_soc_hdmi_codec,sun50i_codec_analog,sun8i_codec,snd_soc_simple_card_utils,snd_soc_simple_card
> > snd_compress 32768 1 snd_soc_core
> > ac97_bus 16384 1 snd_soc_core
> > snd_pcm_dmaengine 20480 1 snd_soc_core
> > snd_seq 98304 7 snd_seq_dummy
> > snd_seq_device 20480 1 snd_seq
> > snd_pcm 143360 6
> sun4i_i2s,snd_soc_hdmi_codec,snd_compress,sun8i_codec,snd_soc_core,snd_pcm_dmaengine
> > joydev 32768 0
> > sun8i_rotate 28672 0
> > sun8i_di 28672 0
> > sunxi_cedrus 53248 0
> > sun8i_drm_hdmi 24576 0
> > v4l2_mem2mem 45056 3 sunxi_cedrus,sun8i_rotate,sun8i_di
> > dw_hdmi 53248 2 sun8i_drm_hdmi,dw_hdmi_i2s_audio
> > videobuf2_dma_contig 24576 3 sunxi_cedrus,sun8i_rotate,sun8i_di
> > videobuf2_memops 20480 1 videobuf2_dma_contig
> > snd_timer 45056 3 snd_seq,snd_hrtimer,snd_pcm
> > snd 114688 13
>
snd_seq,snd_seq_device,snd_soc_hdmi_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm
> > videobuf2_v4l2 32768 4
> sunxi_cedrus,sun8i_rotate,sun8i_di,v4l2_mem2mem
> > soundcore 20480 1 snd
> > sun8i_thermal 16384 0
> > videobuf2_common 69632 7
>
sunxi_cedrus,sun8i_rotate,videobuf2_dma_contig,videobuf2_v4l2,sun8i_di,v4l2_mem2mem,videobuf2_memops
> > nvmem_sunxi_sid 16384 1
> > videodev 278528 6
> sunxi_cedrus,sun8i_rotate,videobuf2_v4l2,sun8i_di,videobuf2_common,v4l2_mem2mem
> > mc 65536 5
> sunxi_cedrus,videodev,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
> > sun8i_mixer 45056 0
> > cpufreq_dt 20480 0
> > fuse 167936 1
> > zram 32768 2
> > ip_tables 32768 0
> > mmc_block 53248 3
> > axp20x_battery 16384 0
> > axp20x_ac_power 16384 0
> > industrialio 94208 3
> axp20x_battery,axp20x_ac_power,axp20x_adc
> > axp20x_regulator 49152 6
> > pinctrl_axp209 16384 0
> > axp20x_rsb 16384 0
> > dwmac_sun8i 28672 0
> > stmmac_platform 24576 1 dwmac_sun8i
> > stmmac 249856 2 dwmac_sun8i,stmmac_platform
> > pcs_xpcs 24576 1 stmmac
> > phylink 53248 1 stmmac
> > crct10dif_ce 20480 1
> > lima 69632 2
> > display_connector 20480 0
> > sunxi 24576 0
> > ghash_ce 24576 0
> > phy_generic 20480 2 sunxi
> > sunxi_rsb 24576 1 axp20x_rsb
> > musb_hdrc 139264 1 sunxi
> > des_generic 16384 0
> > libdes 24576 1 des_generic
> > gpu_sched 49152 1 lima
> > ohci_platform 16384 0
> > mdio_mux 16384 1 dwmac_sun8i
> > sunxi_wdt 20480 0
> > sun4i_drm 20480 6
> > sun4i_frontend 20480 1 sun4i_drm
> > i2c_mv64xxx 24576 0
> > sun4i_tcon 40960 1 sun4i_drm
> > sun8i_tcon_top 20480 3 sun8i_drm_hdmi,sun4i_tcon,sun4i_drm
> > drm_kms_helper 294912 8
> sun8i_mixer,sun8i_drm_hdmi,sun4i_frontend,sun4i_tcon,sun4i_drm,dw_hdmi
> > ohci_hcd 61440 1 ohci_platform
> > sunxi_mmc 32768 0
> > phy_sun4i_usb 28672 6 sunxi
> > udc_core 69632 1 musb_hdrc
> > sun8i_ce 49152 0
> > syscopyarea 16384 1 drm_kms_helper
> > sysfillrect 16384 1 drm_kms_helper
> > sysimgblt 16384 1 drm_kms_helper
> > fb_sys_fops 20480 1 drm_kms_helper
> > cec 73728 3 drm_kms_helper,dw_hdmi_cec,dw_hdmi
> > sun6i_dma 36864 2
> > ehci_platform 20480 0
> > drm 634880 15
>
gpu_sched,sun8i_mixer,drm_kms_helper,display_connector,sun8i_drm_hdmi,lima,sun4i_frontend,sun4i_tcon,sun4i_drm,dw_hdmi
> > aes_neon_bs 32768 0
> >
> >
> > In comparison, the aplay and lsmod output from Armbian running mainline
> kernel 5.10.16:
> >
> > $ aplay -l
> > **** List of PLAYBACK Hardware Devices ****
> > card 0: sun50ia64audio [sun50i-a64-audio], device 0:
> 1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0
> [1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0]
> > Subdevices: 1/1
> > Subdevice #0: subdevice #0
> > card 1: sun50ia64hdmi [sun50i-a64-hdmi], device 0: 1c22800.i2s-i2s-hifi
> i2s-hifi-0 [1c22800.i2s-i2s-hifi i2s-hifi-0]
> > Subdevices: 1/1
> > Subdevice #0: subdevice #0
> >
> > $ lsmod
> > Module Size Used by
> > fuse 122880 3
> > overlay 114688 2
> > bnep 28672 2
> > snd_soc_hdmi_codec 20480 1
> > axp20x_ac_power 16384 0
> > axp20x_battery 16384 0
> > hci_uart 126976 0
> > axp20x_adc 20480 0
> > btqca 20480 1 hci_uart
> > btrtl 24576 1 hci_uart
> > btbcm 24576 1 hci_uart
> > btintel 24576 1 hci_uart
> > bluetooth 577536 13 btrtl,btqca,btintel,hci_uart,btbcm,bnep
> > ecdh_generic 16384 1 bluetooth
> > dw_hdmi_i2s_audio 16384 0
> > dw_hdmi_cec 16384 0
> > rfkill 28672 4 bluetooth
> > hid_multitouch 28672 0
> > ecc 28672 1 ecdh_generic
> > lima 57344 11
> > gpu_sched 32768 1 lima
> > joydev 32768 0
> > sun4i_gpadc_iio 24576 0
> > industrialio 65536 4
> axp20x_battery,sun4i_gpadc_iio,axp20x_ac_power,axp20x_adc
> > sun4i_i2s 24576 4
> > sunxi_cedrus 40960 0
> > videobuf2_dma_contig 24576 1 sunxi_cedrus
> > v4l2_mem2mem 36864 1 sunxi_cedrus
> > videobuf2_memops 20480 1 videobuf2_dma_contig
> > videobuf2_v4l2 24576 2 sunxi_cedrus,v4l2_mem2mem
> > videobuf2_common 49152 3 sunxi_cedrus,videobuf2_v4l2,v4l2_mem2mem
> > videodev 237568 4
> sunxi_cedrus,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
> > mc 49152 5
> sunxi_cedrus,videodev,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
> > display_connector 20480 0
> > snd_soc_simple_card 24576 0
> > snd_soc_simple_card_utils 24576 1 snd_soc_simple_card
> > zram 32768 2
> > cpufreq_dt 20480 0
> > sch_fq_codel 24576 2
> > pinctrl_axp209 16384 0
> > realtek 24576 1
> > i2c_mv64xxx 24576 0
> > dwmac_sun8i 28672 0
> > mdio_mux 16384 1 dwmac_sun8i
> >
> > Despite snd_soc_hdmi_codec being loaded in both systems, the Fedora 35
> lacks the sound subdevice sun50ia64hdmi that presents under Armbian.
> >
> > I had tried searching Pine64 and Armbian forums for clues. But the
> threads showing up are either several years ago on BSP kernel, or trying to
> get sound from 3.5mm jack port.
> >
> > Much appreciated if someone here can point me in the right direction to
> further diagnose or solve this problem.
> >
> > Kind regards,
> > Tommy
> > --
> > Take a Deep Breath out of Windows
> > _______________________________________________
> > arm mailing list -- arm(a)lists.fedoraproject.org
> > To unsubscribe send an email to arm-leave(a)lists.fedoraproject.org
> > Fedora Code of Conduct:
>
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> > List Guidelines:
https://fedoraproject.org/wiki/Mailing_list_guidelines
> > List Archives:
>
https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org
> > Do not reply to spam on the list, report it:
>
https://pagure.io/fedora-infrastructure
>
--
Take a Deep Breath out of Windows