Hi, I have managed to activate the internal audio in R40 SoC with H3 driver, to achieve this I have used images of Armbian Stretch and Bullseye and I have merged a U-boot mainline fork with linux-sunxi / sunxi-next branch.
Hi, I have managed to activate the internal audio in R40 SoC with H3 driver, to achieve this I have used images of Armbian Stretch and Bullseye and I have merged a U-boot mainline fork with linux-sunxi / sunxi-next branch.
here are the system logs before, after and during the u-boot compilation:
log-armbian-5.5.rc2-after (33,6 KB) log-armbian-5.5.rc2-before (31,9 KB) log-armbian-5.5.rc2-compile_u-boot (29,2 KB)
Instructions for Armbian:
sudo apt update
sudo apt install swig python-dev python3-dev git make gcc flex bison
cd /tmp
git clone https://github.com/juanesf/u-boot.git && cd u-boot && make Bananapi_M2_Ultra_defconfig && make -j4
mkimage -C none -A arm -T script -d /boot/boot.cmd boot.scr
sudo dd if=/tmp/u-boot/u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8
sudo cp /tmp/u-boot/arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dtb /boot/dtb
sudo reboot 00
New log and dtsi with IR0 support
rc rc0: sunxi-ir as /devices/platform/soc/1c21800.ir/rc/rc0
[ 6.876299] input: sunxi-ir as /devices/platform/soc/1c21800.ir/rc/rc0/input1
[ 6.876515] rc rc0: lirc_dev: driver sunxi-ir registered at minor = 0, raw IR receiver, no transmitter
[ 6.888040] sunxi-ir 1c21800.ir: initialized sunXi IR driver
log-5.5.0rc6_after (33,5 KB) log-5.5.0rc6_before (31,8 KB)
Module Size Used by
fuse 86016 3
snd_soc_hdmi_codec 16384 0
lima 36864 2
gpu_sched 24576 1 lima
dw_hdmi_cec 16384 0
dw_hdmi_i2s_audio 16384 0
evdev 20480 3
axp20x_adc 16384 0
industrialio 49152 1 axp20x_adc
brcmfmac 167936 0
brcmutil 16384 1 brcmfmac
sun4i_codec 36864 3
sun8i_codec_analog 24576 1
sun8i_adda_pr_regmap 16384 1 sun8i_codec_analog
snd_soc_core 118784 3 sun4i_codec,sun8i_codec_analog,snd_soc_hdmi_codec
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_pcm 69632 4 sun4i_codec,snd_pcm_dmaengine,snd_soc_hdmi_codec,snd_soc_core
snd_timer 24576 1 snd_pcm
snd 45056 12 snd_soc_hdmi_codec,snd_timer,snd_soc_core,snd_pcm
soundcore 16384 1 snd
sunxi_cir 16384 0
cfg80211 425984 1 brcmfmac
rfkill 20480 4 cfg80211
uio_pdrv_genirq 16384 0
uio 16384 1 uio_pdrv_genirq
zram 24576 2
ip_tables 24576 0
x_tables 20480 1 ip_tables
pwrseq_simple 16384 1
realtek 16384 1
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.5.0-rc6-sunxi (root@usuario) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #19.11.7 SMP Mon Jan 13 17:44:10 -03 2020
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=50c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: Banana Pi BPI-M2-Ultra
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 128 MiB at 0xb7c00000
[ 0.000000] On node 0 totalpages: 524288
[ 0.000000] Normal zone: 1728 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 196608 pages, LIFO batch:63
[ 0.000000] HighMem zone: 327680 pages, LIFO batch:63
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: Using PSCI v0.1 Function IDs from DT
[ 0.000000] percpu: Embedded 20 pages/cpu s49996 r8192 d23732 u81920
[ 0.000000] pcpu-alloc: s49996 r8192 d23732 u81920 alloc=20*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 522560
[ 0.000000] Kernel command line: root=UUID=a652789d-aea7-431e-aca9-873996030399 rootwait rootfstype=ext4 console=ttyS0,115200 console=tty1 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 consoleblank=0 loglevel=1 ubootpart= ubootsource=mmc usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16 cgroup_enable=memory swapaccount=1
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.000000] allocated 2097152 bytes of page_ext
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 1921272K/2097152K available (9216K kernel code, 1068K rwdata, 2844K rodata, 1024K init, 316K bss, 44808K reserved, 131072K cma-reserved, 1179636K highmem)
[ 0.000000] random: get_random_u32 called from __kmem_cache_create+0x2b/0x3ac with crng_init=0
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] ftrace: allocating 40716 entries in 80 pages
[ 0.000000] ftrace: allocated 80 pages with 2 groups
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] GIC: Using split EOI/Deactivate mode
[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000006] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000013] Switching to timer-based delay loop, resolution 41ns
[ 0.000186] Console: colour dummy device 80x30
[ 0.000198] printk: console [tty1] enabled
[ 0.000246] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[ 0.000255] pid_max: default: 32768 minimum: 301
[ 0.000510] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[ 0.000521] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[ 0.000595] *** VALIDATE tmpfs ***
[ 0.001212] *** VALIDATE proc ***
[ 0.001501] *** VALIDATE cgroup1 ***
[ 0.001508] *** VALIDATE cgroup2 ***
[ 0.001567] CPU: Testing write buffer coherency: ok
[ 0.001949] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.002465] Setting up static identity map for 0x40100000 - 0x40100054
[ 0.002576] rcu: Hierarchical SRCU implementation.
[ 0.003094] smp: Bringing up secondary CPUs ...
[ 0.013812] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.024634] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.035371] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.035466] smp: Brought up 1 node, 4 CPUs
[ 0.035474] SMP: Total of 4 processors activated (192.00 BogoMIPS).
[ 0.035477] CPU: All CPU(s) started in HYP mode.
[ 0.035479] CPU: Virtualization extensions available.
[ 0.036426] devtmpfs: initialized
[ 0.042373] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.042636] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.042653] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[ 0.047358] xor: measuring software checksum speed
[ 0.087307] arm4regs : 1255.000 MB/sec
[ 0.127358] 8regs : 874.000 MB/sec
[ 0.167413] 32regs : 826.000 MB/sec
[ 0.207469] neon : 1270.000 MB/sec
[ 0.207474] xor: using function: neon (1270.000 MB/sec)
[ 0.207541] pinctrl core: initialized pinctrl subsystem
[ 0.208092] thermal_sys: Registered thermal governor 'fair_share'
[ 0.208097] thermal_sys: Registered thermal governor 'bang_bang'
[ 0.208102] thermal_sys: Registered thermal governor 'step_wise'
[ 0.208836] NET: Registered protocol family 16
[ 0.210388] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.210911] audit: initializing netlink subsys (disabled)
[ 0.211087] audit: type=2000 audit(0.184:1): state=initialized audit_enabled=0 res=1
[ 0.211661] cpuidle: using governor ladder
[ 0.211690] cpuidle: using governor menu
[ 0.212211] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.212216] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.303886] raid6: neonx8 gen() 708 MB/s
[ 0.371960] raid6: neonx8 xor() 590 MB/s
[ 0.440081] raid6: neonx4 gen() 727 MB/s
[ 0.508223] raid6: neonx4 xor() 616 MB/s
[ 0.576362] raid6: neonx2 gen() 663 MB/s
[ 0.644441] raid6: neonx2 xor() 584 MB/s
[ 0.712647] raid6: neonx1 gen() 495 MB/s
[ 0.780697] raid6: neonx1 xor() 467 MB/s
[ 0.848826] raid6: int32x8 gen() 267 MB/s
[ 0.916909] raid6: int32x8 xor() 174 MB/s
[ 0.985057] raid6: int32x4 gen() 285 MB/s
[ 1.053184] raid6: int32x4 xor() 195 MB/s
[ 1.121469] raid6: int32x2 gen() 255 MB/s
[ 1.189495] raid6: int32x2 xor() 206 MB/s
[ 1.257750] raid6: int32x1 gen() 200 MB/s
[ 1.325640] raid6: int32x1 xor() 176 MB/s
[ 1.325644] raid6: using algorithm neonx4 gen() 727 MB/s
[ 1.325648] raid6: .... xor() 616 MB/s, rmw enabled
[ 1.325651] raid6: using neon recovery algorithm
[ 1.326222] iommu: Default domain type: Translated
[ 1.326623] SCSI subsystem initialized
[ 1.326843] libata version 3.00 loaded.
[ 1.327065] usbcore: registered new interface driver usbfs
[ 1.327106] usbcore: registered new interface driver hub
[ 1.327184] usbcore: registered new device driver usb
[ 1.327361] mc: Linux media interface: v0.10
[ 1.327391] videodev: Linux video capture interface: v2.00
[ 1.327497] pps_core: LinuxPPS API ver. 1 registered
[ 1.327501] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[ 1.327517] PTP clock support registered
[ 1.328957] clocksource: Switched to clocksource arch_sys_counter
[ 2.287141] *** VALIDATE bpf ***
[ 2.287471] VFS: Disk quotas dquot_6.6.0
[ 2.287548] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 2.287644] *** VALIDATE ramfs ***
[ 2.294891] NET: Registered protocol family 2
[ 2.295554] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[ 2.295580] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 2.295647] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 2.295758] TCP: Hash tables configured (established 8192 bind 8192)
[ 2.295867] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[ 2.295928] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[ 2.296164] NET: Registered protocol family 1
[ 2.296660] RPC: Registered named UNIX socket transport module.
[ 2.296665] RPC: Registered udp transport module.
[ 2.296668] RPC: Registered tcp transport module.
[ 2.296671] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 2.296902] Trying to unpack rootfs image as initramfs...
[ 2.752233] Freeing initrd memory: 7356K
[ 2.753523] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
[ 2.754711] Initialise system trusted keyrings
[ 2.754919] workingset: timestamp_bits=14 max_order=19 bucket_order=5
[ 2.761115] zbud: loaded
[ 2.763512] NFS: Registering the id_resolver key type
[ 2.763537] Key type id_resolver registered
[ 2.763540] Key type id_legacy registered
[ 2.763553] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 2.763557] Installing knfsd (copyright (C) 1996 [email protected]).
[ 2.764808] JFS: nTxBlock = 8192, nTxLock = 65536
[ 2.774315] SGI XFS with ACLs, security attributes, realtime, quota, no debug enabled
[ 2.775869] *** VALIDATE xfs ***
[ 2.825739] Key type asymmetric registered
[ 2.825750] Asymmetric key parser 'x509' registered
[ 2.825814] bounce: pool size: 64 pages
[ 2.825893] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 2.826128] io scheduler mq-deadline registered
[ 2.826134] io scheduler kyber registered
[ 2.826222] io scheduler bfq registered
[ 2.829286] sun4i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pi not found, using dummy regulator
[ 2.838113] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 2.843528] sun8i-mixer 1100000.mixer: Couldn't get our reset line
[ 2.843610] sun4i-drm display-engine: failed to bind 1100000.mixer (ops 0xc0a8ebe4): -517
[ 2.843616] sun4i-drm display-engine: Couldn't bind all pipelines components
[ 2.843704] sun4i-drm display-engine: master bind failed: -517
[ 2.846344] brd: module loaded
[ 2.852603] loop: module loaded
[ 2.854835] libphy: Fixed MDIO Bus: probed
[ 2.855892] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.855898] ehci-platform: EHCI generic platform driver
[ 2.856240] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 2.856257] ohci-platform: OHCI generic platform driver
[ 2.856867] usbcore: registered new interface driver usb-storage
[ 2.857777] sun6i-rtc 1c20400.rtc: registered as rtc0
[ 2.857784] sun6i-rtc 1c20400.rtc: RTC enabled
[ 2.858091] i2c /dev entries driver
[ 2.859445] sunxi-wdt 1c20c90.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 2.860360] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.860427] hid: raw HID events driver (C) Jiri Kosina
[ 2.860541] usbcore: registered new interface driver usbhid
[ 2.860544] usbhid: USB HID core driver
[ 2.861211] Initializing XFRM netlink socket
[ 2.861844] NET: Registered protocol family 10
[ 2.923699] Segment Routing with IPv6
[ 2.923805] NET: Registered protocol family 17
[ 2.923837] NET: Registered protocol family 15
[ 2.923925] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 2.924142] 8021q: 802.1Q VLAN Support v1.8
[ 2.924205] Key type dns_resolver registered
[ 2.924653] Registering SWP/SWPB emulation handler
[ 2.925001] registered taskstats version 1
[ 2.925005] Loading compiled-in X.509 certificates
[ 2.925109] zswap: loaded using pool lzo/zbud
[ 2.925402] Key type ._fscrypt registered
[ 2.925407] Key type .fscrypt registered
[ 2.927918] Btrfs loaded, crc32c=crc32c-generic
[ 2.958290] Key type encrypted registered
[ 2.972259] sun4i-usb-phy 1c13400.phy: Couldn't get regulator usb1_vbus... Deferring probe
[ 2.974048] sun4i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pi not found, using dummy regulator
[ 2.974076] debugfs: Directory '1c20800.pinctrl-vcc-pi' with parent 'reg-dummy-regulator-dummy' already present!
[ 2.975567] sun4i-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 2.977163] sun4i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pb not found, using dummy regulator
[ 2.977622] printk: console [ttyS0] disabled
[ 2.997822] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 43, base_baud = 1500000) is a U6_16550A
[ 2.997884] printk: console [ttyS0] enabled
[ 2.998372] sun4i-pinctrl 1c20800.pinctrl: Couldn't get bank PG regulator
[ 2.998379] sun4i-pinctrl 1c20800.pinctrl: request() failed for pin 198
[ 2.998387] sun4i-pinctrl 1c20800.pinctrl: pin-198 (1c28c00.serial) status -517
[ 2.998395] sun4i-pinctrl 1c20800.pinctrl: could not request pin 198 (PG6) from group PG6 on device 1c20800.pinctrl
[ 2.998401] dw-apb-uart 1c28c00.serial: Error applying setting, reverse things back
[ 3.010757] sun4i-drm display-engine: bound 1100000.mixer (ops 0xc0a8ebe4)
[ 3.012895] sun4i-drm display-engine: bound 1200000.mixer (ops 0xc0a8ebe4)
[ 3.013331] sun4i-drm display-engine: bound 1c70000.tcon-top (ops 0xc0a92f20)
[ 3.013605] sun4i-drm display-engine: bound 1c73000.lcd-controller (ops 0xc0a8b7c8)
[ 3.013686] sun8i-dw-hdmi 1ee0000.hdmi: 1ee0000.hdmi supply hvcc not found, using dummy regulator
[ 3.029072] sun8i-dw-hdmi 1ee0000.hdmi: Detected HDMI TX controller v1.32a with HDCP (sun8i_dw_hdmi_phy)
[ 3.029580] sun8i-dw-hdmi 1ee0000.hdmi: registered DesignWare HDMI I2C bus driver
[ 3.029863] sun4i-drm display-engine: bound 1ee0000.hdmi (ops 0xc0a8e1d0)
[ 3.029871] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 3.029875] [drm] No driver support for vblank timestamp query.
[ 3.030209] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[ 3.030283] [drm] Cannot find any crtc or sizes
[ 3.031197] sun4i-pinctrl 1c20800.pinctrl: Couldn't get bank PA regulator
[ 3.031206] sun4i-pinctrl 1c20800.pinctrl: request() failed for pin 0
[ 3.031214] sun4i-pinctrl 1c20800.pinctrl: pin-0 (1c50000.ethernet) status -517
[ 3.031222] sun4i-pinctrl 1c20800.pinctrl: could not request pin 0 (PA0) from group PA0 on device 1c20800.pinctrl
[ 3.031229] dwmac-sun8i 1c50000.ethernet: Error applying setting, reverse things back
[ 3.033454] [drm] Cannot find any crtc or sizes
[ 3.033744] axp20x-i2c 0-0034: AXP20x variant AXP221 found
[ 3.049576] input: axp20x-pek as /devices/platform/soc/1c2ac00.i2c/i2c-0/0-0034/axp221-pek/input/input0
[ 3.053538] random: fast init done
[ 3.053834] dcdc1: supplied by regulator-dummy
[ 3.054302] vcc-3v0: Bringing 3300000uV into 3000000-3000000uV
[ 3.055253] dcdc2: supplied by regulator-dummy
[ 3.055925] dcdc3: supplied by regulator-dummy
[ 3.056549] dcdc4: supplied by regulator-dummy
[ 3.057189] dcdc5: supplied by regulator-dummy
[ 3.057840] dc1sw: supplied by vcc-3v0
[ 3.058048] dc5ldo: supplied by vcc-dram
[ 3.058698] aldo1: supplied by regulator-dummy
[ 3.059326] aldo2: supplied by regulator-dummy
[ 3.059980] aldo3: supplied by regulator-dummy
[ 3.061080] eldo1: supplied by regulator-dummy
[ 3.061732] eldo2: supplied by regulator-dummy
[ 3.062374] eldo3: supplied by regulator-dummy
[ 3.063021] dldo1: supplied by regulator-dummy
[ 3.063474] vcc-wifi-io: Bringing 700000uV into 1800000-1800000uV
[ 3.064399] dldo2: supplied by regulator-dummy
[ 3.064844] vcc-wifi: Bringing 700000uV into 3300000-3300000uV
[ 3.065351] dldo3: supplied by regulator-dummy
[ 3.065816] vcc-wifi-2: Bringing 700000uV into 3300000-3300000uV
[ 3.066627] dldo4: supplied by regulator-dummy
[ 3.067276] rtc_ldo: supplied by regulator-dummy
[ 3.067528] ldo_io0: supplied by regulator-dummy
[ 3.068137] ldo_io1: supplied by regulator-dummy
[ 3.068955] axp20x-i2c 0-0034: AXP20X driver loaded
[ 3.070630] sun4i-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-ph not found, using dummy regulator
[ 3.070724] sunxi-mmc 1c0f000.mmc: Got CD GPIO
[ 3.093119] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB, uses new timings mode
[ 3.120972] sunxi-mmc 1c11000.mmc: initialized, max. request size: 2048 KB, uses new timings mode
[ 3.144054] 1c28c00.serial: ttyS3 at MMIO 0x1c28c00 (irq = 44, base_baud = 1500000) is a U6_16550A
[ 3.144748] ahci-sunxi 1c18000.sata: 1c18000.sata supply target not found, using dummy regulator
[ 3.196981] ahci-sunxi 1c18000.sata: controller can't do PMP, turning off CAP_PMP
[ 3.196990] ahci-sunxi 1c18000.sata: forcing PORTS_IMPL to 0x1
[ 3.197038] ahci-sunxi 1c18000.sata: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode
[ 3.197051] ahci-sunxi 1c18000.sata: flags: ncq sntf pm led clo only pio slum part ccc
[ 3.197870] scsi host0: ahci-sunxi
[ 3.198261] ata1: SATA max UDMA/133 mmio [mem 0x01c18000-0x01c18fff] port 0x100 irq 46
[ 3.198945] dwmac-sun8i 1c50000.ethernet: IRQ eth_wake_irq not found
[ 3.198954] dwmac-sun8i 1c50000.ethernet: IRQ eth_lpi not found
[ 3.199051] dwmac-sun8i 1c50000.ethernet: PTP uses main clock
[ 3.199150] dwmac-sun8i 1c50000.ethernet: 1c50000.ethernet supply phy-io not found, using dummy regulator
[ 3.199432] dwmac-sun8i 1c50000.ethernet: Current syscon value is not the default 6 (expect 0)
[ 3.199447] dwmac-sun8i 1c50000.ethernet: No HW DMA feature register supported
[ 3.199453] dwmac-sun8i 1c50000.ethernet: RX Checksum Offload Engine supported
[ 3.199459] dwmac-sun8i 1c50000.ethernet: COE Type 2
[ 3.199465] dwmac-sun8i 1c50000.ethernet: TX Checksum insertion supported
[ 3.199471] dwmac-sun8i 1c50000.ethernet: Normal descriptors
[ 3.199477] dwmac-sun8i 1c50000.ethernet: Chain mode enabled
[ 3.199659] libphy: stmmac: probed
[ 3.229610] ehci-platform 1c19000.usb: EHCI Host Controller
[ 3.229643] ehci-platform 1c19000.usb: new USB bus registered, assigned bus number 1
[ 3.229964] ehci-platform 1c19000.usb: irq 26, io mem 0x01c19000
[ 3.244954] ehci-platform 1c19000.usb: USB 2.0 started, EHCI 1.00
[ 3.245157] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.05
[ 3.245165] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.245171] usb usb1: Product: EHCI Host Controller
[ 3.245177] usb usb1: Manufacturer: Linux 5.5.0-rc6-sunxi ehci_hcd
[ 3.245183] usb usb1: SerialNumber: 1c19000.usb
[ 3.245719] hub 1-0:1.0: USB hub found
[ 3.245759] hub 1-0:1.0: 1 port detected
[ 3.246572] ehci-platform 1c1c000.usb: EHCI Host Controller
[ 3.246594] ehci-platform 1c1c000.usb: new USB bus registered, assigned bus number 2
[ 3.246770] ehci-platform 1c1c000.usb: irq 28, io mem 0x01c1c000
[ 3.260953] ehci-platform 1c1c000.usb: USB 2.0 started, EHCI 1.00
[ 3.261140] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.05
[ 3.261148] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.261154] usb usb2: Product: EHCI Host Controller
[ 3.261160] usb usb2: Manufacturer: Linux 5.5.0-rc6-sunxi ehci_hcd
[ 3.261166] usb usb2: SerialNumber: 1c1c000.usb
[ 3.261612] hub 2-0:1.0: USB hub found
[ 3.261647] hub 2-0:1.0: 1 port detected
[ 3.262416] ohci-platform 1c19400.usb: Generic Platform OHCI controller
[ 3.262439] ohci-platform 1c19400.usb: new USB bus registered, assigned bus number 3
[ 3.262607] ohci-platform 1c19400.usb: irq 27, io mem 0x01c19400
[ 3.305037] mmc1: new DDR MMC card at address 0001
[ 3.305875] mmcblk1: mmc1:0001 8WPD3R 7.28 GiB
[ 3.306300] mmcblk1boot0: mmc1:0001 8WPD3R partition 1 4.00 MiB
[ 3.306734] mmcblk1boot1: mmc1:0001 8WPD3R partition 2 4.00 MiB
[ 3.308518] mmcblk1: p1
[ 3.325184] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.05
[ 3.325197] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.325204] usb usb3: Product: Generic Platform OHCI controller
[ 3.325210] usb usb3: Manufacturer: Linux 5.5.0-rc6-sunxi ohci_hcd
[ 3.325216] usb usb3: SerialNumber: 1c19400.usb
[ 3.325734] hub 3-0:1.0: USB hub found
[ 3.325774] hub 3-0:1.0: 1 port detected
[ 3.326707] ohci-platform 1c1c400.usb: Generic Platform OHCI controller
[ 3.326734] ohci-platform 1c1c400.usb: new USB bus registered, assigned bus number 4
[ 3.327005] ohci-platform 1c1c400.usb: irq 29, io mem 0x01c1c400
[ 3.389124] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.05
[ 3.389132] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.389139] usb usb4: Product: Generic Platform OHCI controller
[ 3.389145] usb usb4: Manufacturer: Linux 5.5.0-rc6-sunxi ohci_hcd
[ 3.389151] usb usb4: SerialNumber: 1c1c400.usb
[ 3.389630] hub 4-0:1.0: USB hub found
[ 3.389666] hub 4-0:1.0: 1 port detected
[ 3.393366] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01T00:00:06 UTC (6)
[ 3.393509] of_cfs_init
[ 3.393622] of_cfs_init: OK
[ 3.516961] ata1: SATA link down (SStatus 0 SControl 300)
[ 3.521374] Freeing unused kernel memory: 1024K
[ 3.521602] Run /init as init process
[ 3.942355] sunxi-mmc 1c10000.mmc: allocated mmc-pwrseq
[ 3.942624] vcc-wifi: voltage operation not allowed
[ 3.942638] sunxi-mmc 1c10000.mmc: could not set regulator OCR (-1)
[ 3.969015] sunxi-mmc 1c10000.mmc: initialized, max. request size: 16384 KB, uses new timings mode
[ 4.006807] mmc2: queuing unknown CIS tuple 0x80 (2 bytes)
[ 4.009861] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
[ 4.012929] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
[ 4.018587] mmc2: queuing unknown CIS tuple 0x80 (7 bytes)
[ 4.025298] mmc2: queuing unknown CIS tuple 0x81 (9 bytes)
[ 4.176461] EXT4-fs (mmcblk1p1): mounted filesystem with ordered data mode. Opts: (null)
[ 4.195328] mmc2: new high speed SDIO card at address 0001
[ 4.481880] systemd[1]: System time before build time, advancing clock.
[ 4.518645] systemd[1]: systemd 244-3 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[ 4.519349] systemd[1]: Detected architecture arm.
[ 4.550582] systemd[1]: Set hostname to <bpi-m2u>.
[ 4.557330] systemd[1]: Couldn't move remaining userspace processes, ignoring: Input/output error
[ 5.013220] systemd[1]: /lib/systemd/system/dbus.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run/dbus/system_bus_socket → /run/dbus/system_bus_socket; please update the unit file accordingly.
[ 5.037359] systemd[1]: /lib/systemd/system/xrdp.service:9: PIDFile= references a path below legacy directory /var/run/, updating /var/run/xrdp/xrdp.pid → /run/xrdp/xrdp.pid; please update the unit file accordingly.
[ 5.039644] systemd[1]: /lib/systemd/system/xrdp-sesman.service:10: PIDFile= references a path below legacy directory /var/run/, updating /var/run/xrdp/xrdp-sesman.pid → /run/xrdp/xrdp-sesman.pid; please update the unit file accordingly.
[ 5.254029] random: systemd: uninitialized urandom read (16 bytes read)
[ 5.258550] systemd[1]: Created slice system-getty.slice.
[ 5.259114] random: systemd: uninitialized urandom read (16 bytes read)
[ 5.260449] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ 5.260801] random: systemd: uninitialized urandom read (16 bytes read)
[ 5.262036] systemd[1]: Created slice User and Session Slice.
[ 5.262698] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ 5.263222] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ 5.264478] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[ 5.264967] systemd[1]: Reached target Local Encrypted Volumes.
[ 5.265495] systemd[1]: Reached target Remote File Systems.
[ 5.265790] systemd[1]: Reached target Slices.
[ 5.266126] systemd[1]: Reached target Swap.
[ 5.266415] systemd[1]: Reached target System Time Set.
[ 5.270000] systemd[1]: Listening on Syslog Socket.
[ 5.270803] systemd[1]: Listening on fsck to fsckd communication Socket.
[ 5.271361] systemd[1]: Listening on initctl Compatibility Named Pipe.
[ 5.272465] systemd[1]: Listening on Journal Audit Socket.
[ 5.273246] systemd[1]: Listening on Journal Socket (/dev/log).
[ 5.274063] systemd[1]: Listening on Journal Socket.
[ 5.274908] systemd[1]: Listening on udev Control Socket.
[ 5.275516] systemd[1]: Listening on udev Kernel Socket.
[ 5.276421] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[ 5.282163] systemd[1]: Mounting POSIX Message Queue File System...
[ 5.289360] systemd[1]: Mounting Kernel Debug File System...
[ 5.298776] systemd[1]: Starting Restore / save the current clock...
[ 5.306452] systemd[1]: Starting Set the console keyboard layout...
[ 5.315014] systemd[1]: Starting Create list of static device nodes for the current kernel...
[ 5.323582] systemd[1]: Started Nameserver information manager.
[ 5.325263] systemd[1]: Reached target Network (Pre).
[ 5.328216] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[ 5.328556] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[ 5.341557] systemd[1]: Starting Journal Service...
[ 5.353646] systemd[1]: Starting Load Kernel Modules...
[ 5.361785] systemd[1]: Starting Remount Root and Kernel File Systems...
[ 5.370074] systemd[1]: Starting udev Coldplug all Devices...
[ 5.383046] systemd[1]: Mounted POSIX Message Queue File System.
[ 5.384768] systemd[1]: Mounted Kernel Debug File System.
[ 5.389446] systemd[1]: Started Restore / save the current clock.
[ 5.393751] systemd[1]: Started Create list of static device nodes for the current kernel.
[ 5.462125] EXT4-fs (mmcblk1p1): re-mounted. Opts: commit=600,errors=remount-ro
[ 5.478206] systemd[1]: Started Load Kernel Modules.
[ 5.482012] systemd[1]: Started Remount Root and Kernel File Systems.
[ 5.483816] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[ 5.490135] systemd[1]: Mounting Kernel Configuration File System...
[ 5.492634] systemd[1]: Condition check resulted in Rebuild Hardware Database being skipped.
[ 5.500101] systemd[1]: Starting Load/Save Random Seed...
[ 5.507730] systemd[1]: Starting Apply Kernel Variables...
[ 5.515452] systemd[1]: Starting Create System Users...
[ 5.528872] systemd[1]: Mounted Kernel Configuration File System.
[ 5.599469] systemd[1]: Started Apply Kernel Variables.
[ 5.652462] systemd[1]: Started Create System Users.
[ 5.659608] systemd[1]: Starting Create Static Device Nodes in /dev...
[ 5.739631] systemd[1]: Started Create Static Device Nodes in /dev.
[ 5.746398] systemd[1]: Starting udev Kernel Device Manager...
[ 5.771491] systemd[1]: Started Set the console keyboard layout.
[ 5.772852] systemd[1]: Reached target Local File Systems (Pre).
[ 5.779762] systemd[1]: Mounting /tmp...
[ 5.806360] systemd[1]: Started udev Coldplug all Devices.
[ 5.808466] systemd[1]: Mounted /tmp.
[ 5.809713] systemd[1]: Reached target Local File Systems.
[ 5.817263] systemd[1]: Starting Armbian ZRAM config...
[ 5.825261] systemd[1]: Starting Set console font and keymap...
[ 5.834868] systemd[1]: Starting Helper to synchronize boot up for ifupdown...
[ 5.835907] systemd[1]: Condition check resulted in Commit a transient machine-id on disk being skipped.
[ 5.867179] systemd[1]: Started Helper to synchronize boot up for ifupdown.
[ 5.871366] systemd[1]: Started Set console font and keymap.
[ 5.878747] systemd[1]: Starting Raise network interfaces...
[ 5.961102] systemd[1]: Started Journal Service.
[ 6.041223] systemd-journald[315]: Received client request to flush runtime journal.
[ 6.187303] zram: Added device: zram0
[ 6.190051] zram: Added device: zram1
[ 6.190905] zram: Added device: zram2
[ 6.271608] zram1: detected capacity change from 0 to 1055092736
[ 6.872542] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 6.875952] Registered IR keymap rc-empty
[ 6.876104] rc rc0: sunxi-ir as /devices/platform/soc/1c21800.ir/rc/rc0
[ 6.876299] input: sunxi-ir as /devices/platform/soc/1c21800.ir/rc/rc0/input1
[ 6.876515] rc rc0: lirc_dev: driver sunxi-ir registered at minor = 0, raw IR receiver, no transmitter
[ 6.888040] sunxi-ir 1c21800.ir: initialized sunXi IR driver
[ 6.941688] debugfs: Directory '1c22c00.codec' with parent 'H3 Audio Codec' already present!
[ 6.943278] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok
[ 6.969073] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 6.974369] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 6.974382] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 7.002526] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[ 7.010379] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt failed with error -2
[ 7.010395] brcmfmac mmc2:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt
[ 7.174848] lima 1c40000.gpu: IRQ ppmmu2 not found
[ 7.174878] lima 1c40000.gpu: IRQ ppmmu3 not found
[ 7.174936] lima 1c40000.gpu: gp - mali400 version major 1 minor 1
[ 7.175088] lima 1c40000.gpu: pp0 - mali400 version major 1 minor 1
[ 7.175223] lima 1c40000.gpu: pp1 - mali400 version major 1 minor 1
[ 7.175322] lima 1c40000.gpu: IRQ pp2 not found
[ 7.175344] lima 1c40000.gpu: IRQ pp3 not found
[ 7.175368] lima 1c40000.gpu: l2 cache 64K, 4-way, 64byte cache line, 64bit external bus
[ 7.199134] lima 1c40000.gpu: bus rate = 200000000
[ 7.199148] lima 1c40000.gpu: mod rate = 297000000
[ 7.199728] [drm] Initialized lima 1.0.0 20190217 for 1c40000.gpu on minor 1
[ 7.401114] Adding 1030360k swap on /dev/zram1. Priority:5 extents:1 across:1030360k SSFS
[ 7.518038] cfg80211: failed to load regulatory.db
[ 7.666446] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[ 7.668864] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-11), device may have limited channels available
[ 7.670098] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Mar 30 2016 11:30:56 version 7.45.77.h8.4 FWID 01-ee8a6268
[ 7.705416] zram0: detected capacity change from 0 to 52428800
[ 7.841039] random: crng init done
[ 7.841057] random: 7 urandom warning(s) missed due to ratelimiting
[ 8.012143] EXT4-fs (zram0): mounted filesystem without journal. Opts: discard
[ 8.012186] ext4 filesystem being mounted at /var/log supports timestamps until 2038 (0x7fffffff)
[ 15.233166] dwmac-sun8i 1c50000.ethernet eth0: PHY [stmmac-0:01] driver [RTL8211E Gigabit Ethernet]
[ 15.235644] dwmac-sun8i 1c50000.ethernet eth0: No Safety Features support found
[ 15.235669] dwmac-sun8i 1c50000.ethernet eth0: No MAC Management Counters available
[ 15.235691] dwmac-sun8i 1c50000.ethernet eth0: PTP not supported by HW
[ 15.235711] dwmac-sun8i 1c50000.ethernet eth0: configuring for phy/rgmii link mode
[ 19.373231] dwmac-sun8i 1c50000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[ 19.373274] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 28.408887] broken atomic modeset userspace detected, disabling atomic
[ 33.790116] dc5ldo: disabling
[ 44.380733] fuse: init (API version 7.31)
[ 44.380893] *** VALIDATE fuse ***
[ 44.380917] *** VALIDATE fuse ***
[ 58.594717] broken atomic modeset userspace detected, disabling atomic
[ 638.901486] dwmac-sun8i 1c50000.ethernet eth0: Too many address, switching to promiscuous
Hello, following the steps to add audio support to h3, v3s, a23 modified sun4i-codec to add support for r40, and if anyone else wants to try: