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
   
https://fedoraproject.org/wiki/Building_a_custom_kernel#Dependencies_for_building_kernels
   to setup the dependencies, x86_64 version of those tools should be fine.
   2. Install the AArch64 version of gcc as mentioned in
   https://ask.fedoraproject.org/t/cross-compiling-to-arm/17864/3
   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:
   https://fedoraproject.org/wiki/Architectures/ARM/Building_a_Kernel_for_ARM
   4. Build a kernel rpm after adjusting the build config locally by
   following this:
   
https://fedoraproject.org/wiki/Building_a_custom_kernel#Building_a_Kernel_from_the_Fedora_source_tree

Kind regards,

Tommy

On Fri, Nov 5, 2021 at 11:41 AM Tommy He <[email protected]> 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 <[email protected]>
> 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 <[email protected]> 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 -- [email protected]
>> > To unsubscribe send an email to [email protected]
>> > 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/[email protected]
>> > Do not reply to spam on the list, report it:
>> https://pagure.io/fedora-infrastructure
>>
>
>
> --
> Take a Deep Breath out of Windows
>


-- 
Take a Deep Breath out of Windows
_______________________________________________
arm mailing list -- [email protected]
To unsubscribe send an email to [email protected]
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/[email protected]
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to