[Experiment] armbian on NanoPi A64


Recommended Posts

@5kft @Hannes Worst
it seems that current 5.8.7 is missing some modules for the analog audio (or they are named in a other way) than 

legacy 5.4.63, because with the legacy image analog-audio does work.

 

I do see much more sound-modules loaded than in current 5.8.7:
 

Module                  Size  Used by
sun50i_codec_analog    28672  1
sun8i_codec            28672  1
snd_soc_simple_card_utils    20480  1 snd_soc_simple_card
sun4i_i2s              24576  4
sun8i_drm_hdmi         24576  0
snd_soc_core          176128  7 sun4i_i2s,snd_soc_spdif_tx,snd_soc_hdmi_codec,sun50i_codec_analog,sun8i_codec,snd_soc_simple_card_utils,snd_soc_simple_card
dw_hdmi                40960  2 sun8i_drm_hdmi,dw_hdmi_i2s_audio
ac97_bus               16384  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
cec                    69632  2 dw_hdmi_cec,dw_hdmi
snd_pcm               110592  5 sun4i_i2s,snd_soc_hdmi_codec,sun8i_codec,snd_soc_core,snd_pcm_dmaengine
snd_timer              40960  1 snd_pcm
snd                    86016  8 snd_soc_hdmi_codec,snd_timer,snd_soc_core,snd_pcm
soundcore              16384  1 snd
sun4i_drm              20480  0
sun4i_frontend         16384  1 sun4i_drm
sun4i_tcon             32768  1 sun4i_drm
sun8i_mixer            40960  0
sun8i_tcon_top         16384  3 sun8i_drm_hdmi,sun4i_tcon,sun4i_drm
dwmac_sun8i            28672  0
mdio_mux               16384  1 dwmac_sun8i

 

Link to post
Share on other sites
Armbian is a community driven open source project. Do you like to contribute your code?

16 minutes ago, guidol said:

@5kft @Hannes Worst
it seems that current 5.8.7 is missing some modules for the analog audio (or they are named in a other way) than 

legacy 5.4.63, because with the legacy image analog-audio does work.

 

I do see much more sound-modules loaded than in current 5.8.7:

 

Part of this difference could be that in the newer kernel more audio modules built in.  What I'm seeing is that when I try analog audio it works fine - e.g., I don't see the "no soundcards" error, and I can play audio, etc. (e.g., I tested on a NEO Core2 but don't get any audio errors on any of the other boards either).  So it seems that there is something different for the A64, and I agree with you it's likely the DT configuration.

Link to post
Share on other sites
2 minutes ago, Hannes Worst said:

It works on the kernel 5.7.15.


dmesg|grep -i sound
[    8.338780] asoc-simple-card sound: sun8i-codec-aif1 <-> 1c22c00.dai mapping ok
[    9.015640] asoc-simple-card hdmi-sound: i2s-hifi <-> 1c22800.i2s mapping ok

 

got this dmesg-output alos in 5.8.7, but no output from analog-audio from the NPi A64

Link to post
Share on other sites
On 9/6/2020 at 5:16 PM, 5kft said:

 

Part of this difference could be that in the newer kernel more audio modules built in. 

So it seems that there is something different for the A64, and I agree with you it's likely the DT configuration.

@5kft @Hannes Worst @@lex

somebody did hear us :) the analog sound is back in dev kernel/dtb 5.9.1

and now - I think - we have found the missing link:
sound was playing but we didnt hear anything on analog-audio because - as I remember right -  the option

AIF1 Slot 0 Digital DAC

was missing. So it couldnt be enabled :( 

 

Now the option is back and the DAC could now enabled again - so no more silence anymore :) 

 

BUT be advised to set AIF DA0 not higher than 17, because then the sound will very fast be distorted/overdriven :( 

 

So here is my kernel-information als alsamixer-setting for analog-audio (sun50i-a64-audio):

 _   _ ____  _      _    __   _  _
| \ | |  _ \(_)    / \  / /_ | || |
|  \| | |_) | |   / _ \| '_ \| || |_
| |\  |  __/| |  / ___ \ (_) |__   _|
|_| \_|_|   |_| /_/   \_\___/   |_|

Welcome to Debian GNU/Linux 10 (buster) with Linux 5.9.1-sunxi64

No end-user support: built from trunk

package bsp-kernel[20.11.0-trunk] u-boot[20.11.0-trunk] dtb   [20.11.0-trunk]
firmware          [20.11.0-trunk] config[20.11.0-trunk] branch[dev]


root@npi-a64-116(192.168.6.116):~# uname -a
Linux npi-a64-116 5.9.1-sunxi64 #trunk SMP Mon Oct 26 18:14:55 +03 2020 aarch64 GNU/Linux

root@npi-a64-116(192.168.6.116):~# more /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

root@npi-a64-116(192.168.6.116):~# 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: 0/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


root@npi-a64-116(192.168.6.116):~# alsamixer

Card: sun50i-a64-audio 

Value:      Item:

83          Headphone [dB gain: -8.00]
Mixer       Headphone Source [Mixer]
15          AIF1 DA0 [dB gain: -24.00, -24.00]
Stereo      AIF1 DA0 Stereo [Stereo]
Enable      AIF1 Slot 0 Digital DAC
82          DAC [dB gain: 18.75, 18.75]
Enable      DAC Reversed

 

Link to post
Share on other sites
14 hours ago, Levent Erenler said:

Hi, do you have a chance to test it? I could not get sound from audio jack. Could you share your dts if the analog audio working? Thank you

For me it does work, but I dont know if @Hannes Worst did had success ;)

Here are the "warnings" while decompiling the .dtb to .dts (see attachment) :
 

root@npi-a64-116(192.168.6.116):/boot/dtb/allwinner# dtc -I dtb -O dts /boot/dtb/allwinner/sun50i-a64-nanopi-a64.dtb -o /boot/dtb/allwinner/sun50i-a64-nanopi-a64_kernel_591.dts

/boot/dtb/allwinner/sun50i-a64-nanopi-a64_kernel_591.dts: Warning (unit_address_vs_reg): /sound/simple-audio-card,dai-link@0: node has a unit name, but no reg property

/boot/dtb/allwinner/sun50i-a64-nanopi-a64_kernel_591.dts: Warning (avoid_unnecessary_addr_size): /sound: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property

/boot/dtb/allwinner/sun50i-a64-nanopi-a64_kernel_591.dts: Warning (avoid_unnecessary_addr_size): /soc/dsi@1ca0000: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property

 

I dont know if this .dts will work with lower kernel numbers :(

root@npi-a64-116(192.168.6.116):/boot# uname -a
Linux npi-a64-116 5.9.1-sunxi64 #trunk SMP Mon Oct 26 18:14:55 +03 2020 aarch64 GNU/Linux
OR
Linux npi-a64-116 5.10.0-rc2-sunxi64 #trunk SMP Sat Nov 7 14:11:13 +03 2020 aarch64 GNU/Linux

 

sun50i-a64-nanopi-a64_kernel_591.dts

sun50i-a64-nanopi-a64_kernel_510rc2.dts

Link to post
Share on other sites

Thanks @guidol I am testing with pine64+ A64 kernel 5.9.5 i have same warnings in original dtb. I try many things but i could not figure whats wrong! I try to compare my dts file with yours.Do you have source, i mean dts files before compiled(easy to read) or is that https://github.com/megous/linux/tree/orange-pi-5.9  Thank you

i try to gave more information 

 

UPDATE:  I found a solution

 

Edited by Levent Erenler
solution
Link to post
Share on other sites

@guidolI wasn't able yet to try out the 5.9 kernel. I tested the dts file you posted as a dtb file on the present (lower) 5.8 kernel and found out it doesn't work to activate analog sound. 

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: 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
card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...