So a note from an upstream kernel thread [1] and basically there needs
to be a new DW HDMI audio driver rather than "simple audio card",
apparently it's almost done but it hasn't been posted for review and
that may take some time.

[1] https://www.spinics.net/lists/arm-kernel/msg936293.html

On Mon, Nov 8, 2021 at 8:30 AM Tommy He <[email protected]> wrote:
>
> Ian,
>
> Thanks for the extra effort to look into the kernel tree! Not sure why it 
> wasn't merged but probably because of decreased interests about this SBC.
> I guess I will have to choose between modern Fedora and HDMI Audio Armbian, 
> then.
>
> On a side note, I notice Pine64+ was marked with NIC instablibility on Wiki 
> for Fedora 35: 
> https://fedoraproject.org/wiki/Architectures/ARM/Fedora_Linux_35
> In my experience it seems to run stable enough to download and finish all 
> post-launch upgrades. I will try more and update the Wiki accordingly.
>
> Thanks to all who have helped me with this!
>
> Tommy
>
>
>
>
> On Sun, Nov 7, 2021 at 9:21 PM Ian McInerney <[email protected]> wrote:
>>
>> On Fri, Nov 5, 2021 at 3: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.
>>>
>>
>> Armbian runs a heavily patched kernel with many things that aren't in the 
>> upstream kernel yet, and I think the CONFIG_DRM_SUN4I_HDMI_AUDIO config 
>> option is one of them that is not in the upstream kernel yet. Looking 
>> through the kernel tree, they don't have the audio driver for the sun4i HDMI 
>> device merged (there was a v3 of the patch series proposing it over a year 
>> ago, but I haven't found anything since). Since it isn't in the upstream 
>> kernel, you won't have that config option available in a Fedora kernel 
>> sources.
>>
>> -Ian
>>
>>>
>>> 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
>>> _______________________________________________
>>> 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
_______________________________________________
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