Good afternoon, dear NXP! I kust received my i.MX6ullevk-14x14 board. I compiled the final 6.1.65 LTS kernel from Linus GIT with the options:
```
make imx_v6_v7_defconfig
make -j32
```
Everything is OK, but Audio codec is not working and I cannot understand why (7.09 sec):
```
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 6.1.65 (at@PCAT) (arm-none-linux-gnueabihf-gcc (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)) 13.2.1 20231009, GNU ld (Arm GNU Toolchain 13.2.rel1 (Build arm-13.7)) 2.41.0.20231009) #2 SMP Sun Dec 10 17:44:02 MSK 2023
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 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: Freescale i.MX6 UltraLiteLite 14x14 EVK Board
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000080000000-0x000000009fffffff]
[ 0.000000] HighMem empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080000000-0x000000009fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fffffff]
[ 0.000000] percpu: Embedded 17 pages/cpu s38004 r8192 d23436 u69632
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 130048
[ 0.000000] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[ 0.000000] Memory: 490388K/524288K available (14336K kernel code, 2050K rwdata, 4240K rodata, 1024K init, 6653K bss, 33900K reserved, 0K cma-reserved, 0K highmem)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] trace event string verifier disabled
[ 0.000000] Running RCU self tests
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU event tracing is enabled.
[ 0.000000] rcu: RCU lockdep checking is enabled.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] Switching to timer-based delay loop, resolution 41ns
[ 0.000003] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000057] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.004948] Console: colour dummy device 80x30
[ 0.005142] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[ 0.005173] ... MAX_LOCKDEP_SUBCLASSES: 8
[ 0.005203] ... MAX_LOCK_DEPTH: 48
[ 0.005226] ... MAX_LOCKDEP_KEYS: 8192
[ 0.005251] ... CLASSHASH_SIZE: 4096
[ 0.005275] ... MAX_LOCKDEP_ENTRIES: 32768
[ 0.005298] ... MAX_LOCKDEP_CHAINS: 65536
[ 0.005321] ... CHAINHASH_SIZE: 32768
[ 0.005344] memory used by lock dependency info: 4061 kB
[ 0.005368] memory used for stack traces: 2112 kB
[ 0.005391] per task-struct memory footprint: 1536 bytes
[ 0.005612] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.005692] CPU: Testing write buffer coherency: ok
[ 0.006158] pid_max: default: 32768 minimum: 301
[ 0.007655] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.007733] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.021111] CPU0: update cpu_capacity 1024
[ 0.021174] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.029652] cblist_init_generic: Setting adjustable number of callback queues.
[ 0.029705] cblist_init_generic: Setting shift to 0 and lim to 1.
[ 0.030744] Running RCU-tasks wait API self tests
[ 0.031518] Setting up static identity map for 0x80100000 - 0x80100078
[ 0.033361] Callback from call_rcu_tasks_trace() invoked.
[ 0.034052] rcu: Hierarchical SRCU implementation.
[ 0.034086] rcu: Max phase no-delay instances is 1000.
[ 0.039529] smp: Bringing up secondary CPUs ...
[ 0.039573] smp: Brought up 1 node, 1 CPU
[ 0.039615] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.039653] CPU: All CPU(s) started in SVC mode.
[ 0.046546] devtmpfs: initialized
[ 0.116931] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.122360] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.122536] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[ 0.123902] pinctrl core: initialized pinctrl subsystem
[ 0.134773] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.137685] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.150834] cpuidle: using governor menu
[ 0.151393] CPU identified as i.MX6ULL, silicon rev 1.0
[ 0.186546] platform soc: Fixed dependency cycle(s) with /soc/bus@2000000/gpc@20dc000
[ 0.312960] platform panel: Fixed dependency cycle(s) with /soc/bus@2100000/lcdif@21c8000/port/endpoint
[ 0.319703] No ATAGs?
[ 0.320462] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.320576] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.339618] imx6ul-pinctrl 20e0000.pinctrl: initialized IMX pinctrl driver
[ 0.359168] imx6ul-pinctrl 2290000.iomuxc-snvs: no groups defined in /soc/bus@2200000/iomuxc-snvs@2290000
[ 0.359326] imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver
[ 0.467569] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[ 0.684552] SCSI subsystem initialized
[ 0.689443] usbcore: registered new interface driver usbfs
[ 0.690095] usbcore: registered new interface driver hub
[ 0.690469] usbcore: registered new device driver usb
[ 0.703137] mc: Linux media interface: v0.10
[ 0.703734] videodev: Linux video capture interface: v2.00
[ 0.704839] pps_core: LinuxPPS API ver. 1 registered
[ 0.704883] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.705043] PTP clock support registered
[ 0.709472] Advanced Linux Sound Architecture Driver Initialized.
[ 0.751774] Bluetooth: Core ver 2.22
[ 0.752178] NET: Registered PF_BLUETOOTH protocol family
[ 0.752400] Bluetooth: HCI device and connection manager initialized
[ 0.752755] Bluetooth: HCI socket layer initialized
[ 0.752837] Bluetooth: L2CAP socket layer initialized
[ 0.753243] Bluetooth: SCO socket layer initialized
[ 0.759820] vgaarb: loaded
[ 0.764781] clocksource: Switched to clocksource mxc_timer1
[ 0.772269] VFS: Disk quotas dquot_6.6.0
[ 0.772680] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.925860] NET: Registered PF_INET protocol family
[ 0.927888] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[ 0.956230] tcp_listen_portaddr_hash hash table entries: 256 (order: 1, 10240 bytes, linear)
[ 0.956404] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.956500] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.956932] TCP bind hash table entries: 4096 (order: 6, 327680 bytes, linear)
[ 0.959817] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.960805] UDP hash table entries: 256 (order: 2, 24576 bytes, linear)
[ 0.961175] UDP-Lite hash table entries: 256 (order: 2, 24576 bytes, linear)
[ 0.962477] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.969278] RPC: Registered named UNIX socket transport module.
[ 0.969412] RPC: Registered udp transport module.
[ 0.969447] RPC: Registered tcp transport module.
[ 0.969480] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.974007] PCI: CLS 0 bytes, default 64
[ 0.986130] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
[ 1.022934] Initialise system trusted keyrings
[ 1.025982] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[ 1.177200] NFS: Registering the id_resolver key type
[ 1.177617] Key type id_resolver registered
[ 1.177741] Key type id_legacy registered
[ 1.178655] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 1.178906] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 1.179374] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 1.183128] fuse: init (API version 7.37)
[ 1.702889] Key type asymmetric registered
[ 1.703236] Asymmetric key parser 'x509' registered
[ 1.704994] io scheduler mq-deadline registered
[ 1.705064] io scheduler kyber registered
[ 1.785317] mxs-dma 1804000.dma-apbh: initialized
[ 1.833293] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 197, base_baud = 5000000) is a IMX
[ 3.497358] printk: console [ttymxc0] enabled
[ 3.513092] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 198, base_baud = 5000000) is a IMX
[ 3.628162] imx_rngc 2284000.rng: Freescale RNGB registered (HW revision 2.129)
[ 3.637304] random: crng init done
[ 3.848069] brd: module loaded
[ 3.973508] loop: module loaded
[ 4.063069] spi-nor spi4.0: n25q256a (32768 Kbytes)
[ 4.160343] gpio-505 (eth0-phy): hogged as output/high
[ 4.166309] gpio-506 (eth1-phy): hogged as output/high
[ 4.239387] usbcore: registered new interface driver usb-storage
[ 4.292752] input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
[ 4.351340] snvs_rtc 20cc000.snvs:snvs-rtc-lp: registered as rtc0
[ 4.400160] snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:00 UTC (0)
[ 4.433101] Bluetooth: HCI UART driver ver 2.3
[ 4.437875] Bluetooth: HCI UART protocol H4 registered
[ 4.465710] Bluetooth: HCI UART protocol LL registered
[ 4.478192] sdhci: Secure Digital Host Controller Interface driver
[ 4.484458] sdhci: Copyright(c) Pierre Ossman
[ 4.489084] sdhci-pltfm: SDHCI platform and OF driver helper
[ 4.599432] usbcore: registered new interface driver usbhid
[ 4.605312] usbhid: USB HID core driver
[ 4.654928] mmc1: SDHCI controller on 2194000.mmc [2194000.mmc] using ADMA
[ 4.740671] NET: Registered PF_INET6 protocol family
[ 4.746271] mmc1: host does not support reading read-only switch, assuming write-enable
[ 4.795248] mmc1: new high speed SDHC card at address 0001
[ 4.810973] Segment Routing with IPv6
[ 4.819497] mmcblk1: mmc1:0001 SD8GB 7.24 GiB
[ 4.825158] In-situ OAM (IOAM) with IPv6
[ 4.829548] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 4.857437] NET: Registered PF_PACKET protocol family
[ 4.863100] Key type dns_resolver registered
[ 4.914105] Registering SWP/SWPB emulation handler
[ 4.919460] mmcblk1: p1 p2
[ 4.933409] Loading compiled-in X.509 certificates
[ 5.771024] imx_usb 2184000.usb: No over current polarity defined
[ 5.822578] imx_usb 2184000.usb: No over current polarity defined
[ 5.872906] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 5.922844] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 5.950715] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 5.960194] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 7.094334] ALSA device list:
[ 7.103234] No soundcards found.
[ 7.455952] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Quota mode: none.
[ 7.465945] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 7.477297] devtmpfs: mounted
[ 7.485615] Freeing unused kernel image (initmem) memory: 1024K
[ 7.493249] Run /sbin/init as init process
[ 7.901826] EXT4-fs (mmcblk1p2): re-mounted. Quota mode: none.
[ 7.999718] tmpfs: Unknown parameter 'mode'
mount: mounting tmpfs on /dev/shm[ 8.012003] tmpfs: Unknown parameter 'mode'
failed: Invalid argument
mount: mounting tmpfs on /tmp f[ 8.019840] tmpfs: Unknown parameter 'mode'
ailed: Invalid argument
mount: mounting tmpfs on /run failed: Invalid argument
Seeding 256 bits and crediting
Saving 256 bits of creditable seed for next boot
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Starting network: ifup: interface lo already configured
OK
Starting mpd: OK
Welcome to Buildroot
buildroot login: [ 16.532440] pps pps0: new PPS source ptp0
[ 16.628182] fec 20b4000.ethernet eth0: registered PHC device 0
[ 16.648104] pps pps1: new PPS source ptp1
[ 17.529633] fec 2188000.ethernet eth1: registered PHC device 1
[ 17.540744] imx_usb 2184000.usb: No over current polarity defined
[ 17.595180] ci_hdrc ci_hdrc.1: EHCI Host Controller
[ 17.601645] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[ 17.637831] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[ 17.650436] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[ 17.659521] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 17.667045] usb usb1: Product: EHCI Host Controller
[ 17.672006] usb usb1: Manufacturer: Linux 6.1.65 ehci_hcd
[ 17.677618] usb usb1: SerialNumber: ci_hdrc.1
[ 17.700837] hub 1-0:1.0: USB hub found
[ 17.706542] hub 1-0:1.0: 1 port detected
[ 17.737539] platform 21c4000.csi: deferred probe pending
[ 17.751374] sdhci-esdhc-imx 2190000.mmc: Got CD GPIO
[ 17.811270] mmc0: SDHCI controller on 2190000.mmc [2190000.mmc] using ADMA
[ 69.620972] cfg80211: failed to load regulatory.db
```
Why could it be and how can I fix this? I need this CPU to be USB audio device (UAC 2.0) and I need to train this, but the only option I need is not working and I cannot understand why
I didn't altered something in the kernel or in the dts files.
I tried Arch Linux and buildroot - but everything is the same, it is kernel side problem.
GCC 13.2 - the latest GNU Cross Toolchain for arm a7.