Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFE: Add BYT + WM5102 codec support to the kernel #2485

Closed
PSzczepanski1996 opened this issue Oct 3, 2020 · 38 comments
Closed

RFE: Add BYT + WM5102 codec support to the kernel #2485

PSzczepanski1996 opened this issue Oct 3, 2020 · 38 comments
Labels
bug Something isn't working BYT Applies to Baytrail platform Not SOF FW/Driver Not using SOF audio FW and driver P3 Low-impact bugs or features

Comments

@PSzczepanski1996
Copy link

My dmesg log, modprobing various rt5640/rt5651 drivers does nothing and I can't reload alsa with proper audio support.

[    0.000000] microcode: microcode updated early to revision 0x838, date = 2019-04-22
[    0.000000] Linux version 5.8.13-arch1-1 (linux@archlinux) (gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35) #1 SMP PREEMPT Thu, 01 Oct 2020 20:40:35 +0000
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=1d947ea8-973d-4476-aadc-d12df5794bba rw intel_idle.max_cstate=1 loglevel=3 quiet
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Hygon HygonGenuine
[    0.000000]   Centaur CentaurHauls
[    0.000000]   zhaoxin   Shanghai  
[    0.000000] x86/fpu: x87 FPU will use FXSAVE
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000008efff] usable
[    0.000000] BIOS-e820: [mem 0x000000000008f000-0x000000000008ffff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x0000000000090000-0x000000000009dfff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009e000-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000020200000-0x00000000782d5fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000782d6000-0x00000000784d5fff] type 20
[    0.000000] BIOS-e820: [mem 0x00000000784d6000-0x0000000078bd5fff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000078bd6000-0x0000000078cd5fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x0000000078cd6000-0x0000000078d15fff] ACPI data
[    0.000000] BIOS-e820: [mem 0x0000000078d16000-0x000000007950efff] usable
[    0.000000] BIOS-e820: [mem 0x000000007950f000-0x0000000079e0efff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x0000000079e0f000-0x0000000079ffffff] usable
[    0.000000] BIOS-e820: [mem 0x000000007a800000-0x000000007acfffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000e00f8000-0x00000000e00f8fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed01000-0x00000000fed01fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffd00000-0x00000000ffffffff] reserved
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] efi: EFI v2.40 by INSYDE Corp.
[    0.000000] efi: ACPI 2.0=0x78d15014 ESRT=0x78620510 SMBIOS=0x7878a000 
[    0.000000] SMBIOS 2.7 present.
[    0.000000] DMI: LENOVO 60072/INVALID, BIOS 02WT18WW 08/01/2014
[    0.000000] tsc: Detected 1333.333 MHz processor
[    0.000030] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000036] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000054] last_pfn = 0x7ad00 max_arch_pfn = 0x400000000
[    0.000063] MTRR default type: uncachable
[    0.000066] MTRR fixed ranges enabled:
[    0.000070]   00000-9FFFF write-back
[    0.000074]   A0000-FFFFF write-protect
[    0.000077] MTRR variable ranges enabled:
[    0.000082]   0 base 0FFD00000 mask FFFC00000 write-protect
[    0.000086]   1 base 000000000 mask FC0000000 write-back
[    0.000090]   2 base 040000000 mask FE0000000 write-back
[    0.000094]   3 base 060000000 mask FF0000000 write-back
[    0.000098]   4 base 070000000 mask FF8000000 write-back
[    0.000102]   5 base 078000000 mask FFC000000 write-back
[    0.000106]   6 base 07B000000 mask FFF000000 uncachable
[    0.000111]   7 base 07AE00000 mask FFFE00000 uncachable
[    0.000238] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
[    0.009987] esrt: Reserving ESRT space from 0x0000000078620510 to 0x0000000078620548.
[    0.010021] check: Scanning 1 areas for low memory corruption
[    0.012020] Secure boot could not be determined
[    0.012024] RAMDISK: [mem 0x366b7000-0x37352fff]
[    0.012041] ACPI: Early table checksum verification disabled
[    0.012049] ACPI: RSDP 0x0000000078D15014 000024 (v02 LENOVO)
[    0.012060] ACPI: XSDT 0x0000000078CF3188 0000DC (v01 LENOVO CS-02    00000001      01000013)
[    0.012077] ACPI: FACP 0x0000000078D0F000 00010C (v05 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012094] ACPI: DSDT 0x0000000078CFF000 00A6B5 (v02 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012106] ACPI: UEFI 0x0000000078D14000 000236 (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012117] ACPI: TCPA 0x0000000078D13000 000032 (v02 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012128] ACPI: MSDM 0x0000000078D12000 000055 (v03 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012139] ACPI: UEFI 0x0000000078D11000 000042 (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012150] ACPI: DBG2 0x0000000078D10000 000072 (v00 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012161] ACPI: HPET 0x0000000078D0E000 000038 (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012172] ACPI: LPIT 0x0000000078D0D000 000104 (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012183] ACPI: APIC 0x0000000078D0C000 00006C (v03 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012193] ACPI: MCFG 0x0000000078D0B000 00003C (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012204] ACPI: SLIC 0x0000000078D0A000 000176 (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012215] ACPI: SSDT 0x0000000078CFE000 0005FB (v01 LENOVO CpuDptf  00000003 ACPI 00040000)
[    0.012226] ACPI: SSDT 0x0000000078CFC000 0018BD (v01 LENOVO DptfTab  00000003 ACPI 00040000)
[    0.012237] ACPI: SSDT 0x0000000078CFB000 000058 (v01 LENOVO LowPwrM  00000003 ACPI 00040000)
[    0.012248] ACPI: SSDT 0x0000000078CFA000 0000FF (v01 LENOVO SoCDptf  00000003 ACPI 00040000)
[    0.012259] ACPI: SSDT 0x0000000078CF9000 00043A (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012270] ACPI: TPM2 0x0000000078CF8000 000034 (v03 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012281] ACPI: SSDT 0x0000000078CF7000 000763 (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012292] ACPI: SSDT 0x0000000078CF6000 000290 (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012302] ACPI: SSDT 0x0000000078CF5000 00017A (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012313] ACPI: FPDT 0x0000000078CF4000 000044 (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012324] ACPI: CSRT 0x0000000078CF2000 00014C (v00 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012335] ACPI: BGRT 0x0000000078CF1000 000038 (v01 LENOVO CS-02    00000001 ACPI 00040000)
[    0.012357] ACPI: Local APIC address 0xfee00000
[    0.012437] No NUMA configuration found
[    0.012441] Faking a node at [mem 0x0000000000000000-0x000000007acfffff]
[    0.012453] NODE_DATA(0) allocated [mem 0x7acfc000-0x7acfffff]
[    0.012522] Zone ranges:
[    0.012525]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.012530]   DMA32    [mem 0x0000000001000000-0x000000007acfffff]
[    0.012534]   Normal   empty
[    0.012537]   Device   empty
[    0.012540] Movable zone start for each node
[    0.012542] Early memory node ranges
[    0.012545]   node   0: [mem 0x0000000000001000-0x000000000008efff]
[    0.012549]   node   0: [mem 0x0000000000090000-0x000000000009dfff]
[    0.012552]   node   0: [mem 0x0000000000100000-0x000000001fffffff]
[    0.012555]   node   0: [mem 0x0000000020200000-0x00000000782d5fff]
[    0.012559]   node   0: [mem 0x0000000078d16000-0x000000007950efff]
[    0.012562]   node   0: [mem 0x0000000079e0f000-0x0000000079ffffff]
[    0.012565]   node   0: [mem 0x000000007a800000-0x000000007acfffff]
[    0.013582] Zeroed struct page in unavailable ranges: 28836 pages
[    0.013588] Initmem setup node 0 [mem 0x0000000000001000-0x000000007acfffff]
[    0.013594] On node 0 totalpages: 495452
[    0.013599]   DMA zone: 64 pages used for memmap
[    0.013602]   DMA zone: 22 pages reserved
[    0.013605]   DMA zone: 3996 pages, LIFO batch:0
[    0.013713]   DMA32 zone: 7796 pages used for memmap
[    0.013716]   DMA32 zone: 491456 pages, LIFO batch:63
[    0.025989] x86/hpet: Will disable the HPET for this platform because it's not reliable
[    0.026002] Reserving Intel graphics memory at [mem 0x7af00000-0x7eefffff]
[    0.026074] ACPI: Local APIC address 0xfee00000
[    0.026109] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-86
[    0.026118] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.026124] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.026130] Using ACPI (MADT) for SMP configuration information
[    0.026136] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.026163] e820: update [mem 0x76b0b000-0x76b85fff] usable ==> reserved
[    0.026188] TSC deadline timer available
[    0.026192] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.026257] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.026264] PM: hibernation: Registered nosave memory: [mem 0x0008f000-0x0008ffff]
[    0.026270] PM: hibernation: Registered nosave memory: [mem 0x0009e000-0x0009ffff]
[    0.026273] PM: hibernation: Registered nosave memory: [mem 0x000a0000-0x000fffff]
[    0.026279] PM: hibernation: Registered nosave memory: [mem 0x20000000-0x201fffff]
[    0.026285] PM: hibernation: Registered nosave memory: [mem 0x76b0b000-0x76b85fff]
[    0.026292] PM: hibernation: Registered nosave memory: [mem 0x782d6000-0x784d5fff]
[    0.026294] PM: hibernation: Registered nosave memory: [mem 0x784d6000-0x78bd5fff]
[    0.026297] PM: hibernation: Registered nosave memory: [mem 0x78bd6000-0x78cd5fff]
[    0.026300] PM: hibernation: Registered nosave memory: [mem 0x78cd6000-0x78d15fff]
[    0.026306] PM: hibernation: Registered nosave memory: [mem 0x7950f000-0x79e0efff]
[    0.026313] PM: hibernation: Registered nosave memory: [mem 0x7a000000-0x7a7fffff]
[    0.026318] [mem 0x7ef00000-0xe00f7fff] available for PCI devices
[    0.026322] Booting paravirtualized kernel on bare hardware
[    0.026330] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370452778343963 ns
[    0.039401] setup_percpu: NR_CPUS:320 nr_cpumask_bits:320 nr_cpu_ids:4 nr_node_ids:1
[    0.040454] percpu: Embedded 56 pages/cpu s192512 r8192 d28672 u524288
[    0.040480] pcpu-alloc: s192512 r8192 d28672 u524288 alloc=1*2097152
[    0.040485] pcpu-alloc: [0] 0 1 2 3 
[    0.040562] Built 1 zonelists, mobility grouping on.  Total pages: 487570
[    0.040565] Policy zone: DMA32
[    0.040570] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=1d947ea8-973d-4476-aadc-d12df5794bba rw intel_idle.max_cstate=1 loglevel=3 quiet
[    0.041491] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.041908] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.042007] mem auto-init: stack:byref_all, heap alloc:on, heap free:off
[    0.060887] Memory: 1866972K/1981808K available (14339K kernel code, 1480K rwdata, 7916K rodata, 1644K init, 3024K bss, 114836K reserved, 0K cma-reserved)
[    0.060906] random: get_random_u64 called from __kmem_cache_create+0x3e/0x600 with crng_init=0
[    0.061424] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.061469] Kernel/User page tables isolation: enabled
[    0.061521] ftrace: allocating 40118 entries in 157 pages
[    0.096248] ftrace: allocated 157 pages with 5 groups
[    0.096598] rcu: Preemptible hierarchical RCU implementation.
[    0.096602] rcu: 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.096605] rcu: 	RCU restricting CPUs from NR_CPUS=320 to nr_cpu_ids=4.
[    0.096608] rcu: 	RCU priority boosting: priority 1 delay 500 ms.
[    0.096611] 	Trampoline variant of Tasks RCU enabled.
[    0.096612] 	Rude variant of Tasks RCU enabled.
[    0.096615] rcu: RCU calculated value of scheduler-enlistment delay is 30 jiffies.
[    0.096618] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.109137] NR_IRQS: 20736, nr_irqs: 1024, preallocated irqs: 0
[    0.109495] Console: colour dummy device 80x25
[    0.109505] printk: console [tty0] enabled
[    0.109573] ACPI: Core revision 20200528
[    0.109980] APIC: Switch to symmetric I/O mode setup
[    0.110038] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x13381e82524, max_idle_ns: 440795248224 ns
[    0.110050] Calibrating delay loop (skipped), value calculated using timer frequency.. 2667.77 BogoMIPS (lpj=4444443)
[    0.110057] pid_max: default: 32768 minimum: 301
[    0.113376] LSM: Security Framework initializing
[    0.113376] Yama: becoming mindful.
[    0.113376] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.113376] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.113376] mce: CPU0: Thermal monitoring enabled (TM1)
[    0.113376] process: using mwait in idle threads
[    0.113376] Last level iTLB entries: 4KB 48, 2MB 0, 4MB 0
[    0.113376] Last level dTLB entries: 4KB 128, 2MB 16, 4MB 16, 1GB 0
[    0.113376] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.113376] Spectre V2 : Mitigation: Full generic retpoline
[    0.113376] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
[    0.113376] Spectre V2 : Enabling Restricted Speculation for firmware calls
[    0.113376] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier
[    0.113376] MDS: Mitigation: Clear CPU buffers
[    0.113376] Freeing SMP alternatives memory: 32K
[    0.113376] smpboot: CPU0: Intel(R) Atom(TM) CPU  Z3745  @ 1.33GHz (family: 0x6, model: 0x37, stepping: 0x8)
[    0.113376] Performance Events: PEBS fmt2+, 8-deep LBR, Silvermont events, 8-deep LBR, full-width counters, Intel PMU driver.
[    0.113376] ... version:                3
[    0.113376] ... bit width:              40
[    0.113376] ... generic registers:      2
[    0.113376] ... value mask:             000000ffffffffff
[    0.113376] ... max period:             0000007fffffffff
[    0.113376] ... fixed-purpose events:   3
[    0.113376] ... event mask:             0000000700000003
[    0.113376] rcu: Hierarchical SRCU implementation.
[    0.113376] NMI watchdog: Enabled. Permanently consumes one hw-PMU counter.
[    0.113376] smp: Bringing up secondary CPUs ...
[    0.113690] x86: Booting SMP configuration:
[    0.113694] .... node  #0, CPUs:      #1 #2 #3
[    0.120827] smp: Brought up 1 node, 4 CPUs
[    0.120827] smpboot: Max logical packages: 1
[    0.120827] smpboot: Total of 4 processors activated (10670.10 BogoMIPS)
[    0.120896] devtmpfs: initialized
[    0.120896] x86/mm: Memory block size: 128MB
[    0.123494] PM: Registering ACPI NVS region [mem 0x0008f000-0x0008ffff] (4096 bytes)
[    0.123499] PM: Registering ACPI NVS region [mem 0x78bd6000-0x78cd5fff] (1048576 bytes)
[    0.123553] PM: Registering ACPI NVS region [mem 0x7950f000-0x79e0efff] (9437184 bytes)
[    0.124359] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370867519511994 ns
[    0.124359] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.124359] pinctrl core: initialized pinctrl subsystem
[    0.124359] PM: RTC time: 21:54:07, date: 2020-10-03
[    0.124359] thermal_sys: Registered thermal governor 'fair_share'
[    0.124359] thermal_sys: Registered thermal governor 'bang_bang'
[    0.124359] thermal_sys: Registered thermal governor 'step_wise'
[    0.124359] thermal_sys: Registered thermal governor 'user_space'
[    0.124359] thermal_sys: Registered thermal governor 'power_allocator'
[    0.124416] NET: Registered protocol family 16
[    0.124688] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.124785] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.124877] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.124921] audit: initializing netlink subsys (disabled)
[    0.124970] audit: type=2000 audit(1601762047.013:1): state=initialized audit_enabled=0 res=1
[    0.127145] cpuidle: using governor ladder
[    0.127145] cpuidle: using governor menu
[    0.127145] ACPI: bus type PCI registered
[    0.127145] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.127145] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xe0000000-0xe3ffffff] (base 0xe0000000)
[    0.127191] PCI: not using MMCONFIG
[    0.127195] PCI: Using configuration type 1 for base access
[    0.127783] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[    0.133627] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.140373] ACPI: Added _OSI(Module Device)
[    0.140378] ACPI: Added _OSI(Processor Device)
[    0.140381] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.140385] ACPI: Added _OSI(Processor Aggregator Device)
[    0.140389] ACPI: Added _OSI(Linux-Dell-Video)
[    0.140392] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.140395] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
[    0.182132] ACPI: 9 ACPI AML tables successfully acquired and loaded
[    0.192372] ACPI: Dynamic OEM Table Load:
[    0.192397] ACPI: SSDT 0xFFFF91BBF472A000 000338 (v01 PmRef  Cpu0Ist  00003000 INTL 20130117)
[    0.195964] ACPI: Dynamic OEM Table Load:
[    0.195983] ACPI: SSDT 0xFFFF91BBF45D3800 000433 (v01 PmRef  Cpu0Cst  00003001 INTL 20130117)
[    0.200589] ACPI: Dynamic OEM Table Load:
[    0.200606] ACPI: SSDT 0xFFFF91BBF46E3600 00015F (v01 PmRef  ApIst    00003000 INTL 20130117)
[    0.203662] ACPI: Dynamic OEM Table Load:
[    0.203678] ACPI: SSDT 0xFFFF91BBF4632300 00008D (v01 PmRef  ApCst    00003000 INTL 20130117)
[    0.212325] ACPI: Interpreter enabled
[    0.212367] ACPI: (supports S0)
[    0.212372] ACPI: Using IOAPIC for interrupt routing
[    0.212511] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xe0000000-0xe3ffffff] (base 0xe0000000)
[    0.222396] [Firmware Info]: PCI: MMCONFIG at [mem 0xe0000000-0xe3ffffff] not reserved in ACPI motherboard resources
[    0.222401] PCI: not using MMCONFIG
[    0.222412] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.228937] ACPI: Power Resource [USBC] (on)
[    0.242272] ACPI: Power Resource [PLPE] (on)
[    0.257466] ACPI: Power Resource [CLK0] (on)
[    0.257649] ACPI: Power Resource [CLK1] (on)
[    0.258109] ACPI: Power Resource [P28X] (off)
[    0.258286] ACPI: Power Resource [P18X] (off)
[    0.262303] ACPI: Power Resource [TCPR] (off)
[    0.275060] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.275081] acpi PNP0A08:00: _OSC: OS supports [ASPM ClockPM Segments MSI EDR HPX-Type3]
[    0.275332] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
[    0.275383] acpi PNP0A08:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
[    0.276772] PCI host bridge to bus 0000:00
[    0.276780] pci_bus 0000:00: root bus resource [io  0x0070-0x0077]
[    0.276785] pci_bus 0000:00: root bus resource [io  0x0000-0x006f window]
[    0.276790] pci_bus 0000:00: root bus resource [io  0x0078-0x0cf7 window]
[    0.276795] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.276800] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.276804] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff window]
[    0.276809] pci_bus 0000:00: root bus resource [mem 0x000e0000-0x000fffff window]
[    0.276813] pci_bus 0000:00: root bus resource [mem 0x90c00000-0x90ffffff window]
[    0.276818] pci_bus 0000:00: root bus resource [mem 0x7af00001-0x7ef00000 window]
[    0.276822] pci_bus 0000:00: root bus resource [mem 0x80000000-0x908ffffe window]
[    0.276827] pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfed40fff window]
[    0.276832] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.276864] pci 0000:00:00.0: [8086:0f00] type 00 class 0x060000
[    0.277194] pci 0000:00:02.0: [8086:0f31] type 00 class 0x030000
[    0.277218] pci 0000:00:02.0: reg 0x10: [mem 0x90000000-0x903fffff]
[    0.277235] pci 0000:00:02.0: reg 0x18: [mem 0x80000000-0x8fffffff pref]
[    0.277251] pci 0000:00:02.0: reg 0x20: [io  0x1000-0x1007]
[    0.277285] pci 0000:00:02.0: BAR 2: assigned to efifb
[    0.277591] pci 0000:00:14.0: [8086:0f35] type 00 class 0x0c0330
[    0.277623] pci 0000:00:14.0: reg 0x10: [mem 0x90800000-0x9080ffff 64bit]
[    0.277712] pci 0000:00:14.0: PME# supported from D3hot D3cold
[    0.277994] pci 0000:00:1a.0: [8086:0f18] type 00 class 0x108000
[    0.278027] pci 0000:00:1a.0: reg 0x10: [mem 0x90700000-0x907fffff]
[    0.278042] pci 0000:00:1a.0: reg 0x14: [mem 0x90600000-0x906fffff]
[    0.278151] pci 0000:00:1a.0: PME# supported from D0 D3hot
[    0.278436] pci 0000:00:1f.0: [8086:0f1c] type 00 class 0x060100
[    0.280215] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.280600] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.280981] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.281364] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.281745] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.282127] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.282509] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.282891] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.323434] dw_dmac INTL9C60:00: Missing DT data
[    0.340483] dw_dmac INTL9C60:00: DesignWare DMA Controller, 8 channels
[    0.356754] dw_dmac INTL9C60:01: Missing DT data
[    0.373846] dw_dmac INTL9C60:01: DesignWare DMA Controller, 8 channels
[    0.374388] iommu: Default domain type: Translated 
[    0.374452] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[    0.374452] pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[    0.374452] pci 0000:00:02.0: vgaarb: bridge control possible
[    0.374452] vgaarb: loaded
[    0.374452] SCSI subsystem initialized
[    0.374452] libata version 3.00 loaded.
[    0.374452] ACPI: bus type USB registered
[    0.374452] usbcore: registered new interface driver usbfs
[    0.374452] usbcore: registered new interface driver hub
[    0.374452] usbcore: registered new device driver usb
[    0.546731] random: fast init done
[    0.555388] i2c i2c-4: Failed to register i2c client MAGN0001:00 at 0x1d (-16)
[    0.555394] i2c i2c-4: failed to add I2C device MAGN0001:00 from ACPI
[    0.629822] pps_core: LinuxPPS API ver. 1 registered
[    0.629826] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.629848] PTP clock support registered
[    0.629880] EDAC MC: Ver: 3.0.0
[    0.630189] Registered efivars operations
[    0.630616] NetLabel: Initializing
[    0.630616] NetLabel:  domain hash size = 128
[    0.630616] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.630616] NetLabel:  unlabeled traffic allowed by default
[    0.630616] PCI: Using ACPI for IRQ routing
[    0.630616] PCI: pci_cache_line_size set to 64 bytes
[    0.630616] Expanded resource Reserved due to conflict with PCI Bus 0000:00
[    0.630616] e820: reserve RAM buffer [mem 0x0008f000-0x0008ffff]
[    0.630616] e820: reserve RAM buffer [mem 0x0009e000-0x0009ffff]
[    0.630616] e820: reserve RAM buffer [mem 0x76b0b000-0x77ffffff]
[    0.630616] e820: reserve RAM buffer [mem 0x782d6000-0x7bffffff]
[    0.630616] e820: reserve RAM buffer [mem 0x7950f000-0x7bffffff]
[    0.630616] e820: reserve RAM buffer [mem 0x7a000000-0x7bffffff]
[    0.630616] e820: reserve RAM buffer [mem 0x7ad00000-0x7bffffff]
[    0.633788] clocksource: Switched to clocksource tsc-early
[    0.682535] VFS: Disk quotas dquot_6.6.0
[    0.682583] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.682837] pnp: PnP ACPI init
[    0.683036] pnp 00:00: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.683283] system 00:01: [io  0x0680-0x069f] has been reserved
[    0.683290] system 00:01: [io  0x0400-0x047f] has been reserved
[    0.683296] system 00:01: [io  0x0500-0x05fe] has been reserved
[    0.683301] system 00:01: [io  0x0600-0x061f] has been reserved
[    0.683307] system 00:01: [io  0x164e-0x164f] has been reserved
[    0.683325] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.683847] pnp 00:02: Plug and Play ACPI device, IDs PNP0501 (active)
[    0.691614] pnp: PnP ACPI: found 3 devices
[    0.698832] NET: Registered protocol family 2
[    0.699323] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.699386] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.699539] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear)
[    0.699654] TCP: Hash tables configured (established 16384 bind 16384)
[    0.699978] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.700019] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.700334] NET: Registered protocol family 1
[    0.700352] NET: Registered protocol family 44
[    0.700376] pci_bus 0000:00: resource 4 [io  0x0070-0x0077]
[    0.700383] pci_bus 0000:00: resource 5 [io  0x0000-0x006f window]
[    0.700388] pci_bus 0000:00: resource 6 [io  0x0078-0x0cf7 window]
[    0.700393] pci_bus 0000:00: resource 7 [io  0x0d00-0xffff window]
[    0.700398] pci_bus 0000:00: resource 8 [mem 0x000a0000-0x000bffff window]
[    0.700403] pci_bus 0000:00: resource 9 [mem 0x000c0000-0x000dffff window]
[    0.700408] pci_bus 0000:00: resource 10 [mem 0x000e0000-0x000fffff window]
[    0.700413] pci_bus 0000:00: resource 11 [mem 0x90c00000-0x90ffffff window]
[    0.700418] pci_bus 0000:00: resource 12 [mem 0x7af00001-0x7ef00000 window]
[    0.700423] pci_bus 0000:00: resource 13 [mem 0x80000000-0x908ffffe window]
[    0.700428] pci_bus 0000:00: resource 14 [mem 0xfed40000-0xfed40fff window]
[    0.700622] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[    0.701184] PCI: CLS 0 bytes, default 64
[    0.701355] Trying to unpack rootfs image as initramfs...
[    1.094595] Freeing initrd memory: 12912K
[    1.094724] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x13381e82524, max_idle_ns: 440795248224 ns
[    1.094787] clocksource: Switched to clocksource tsc
[    1.095085] check: Scanning for low memory corruption every 60 seconds
[    1.096342] Initialise system trusted keyrings
[    1.096372] Key type blacklist registered
[    1.096539] workingset: timestamp_bits=41 max_order=19 bucket_order=0
[    1.101133] zbud: loaded
[    1.126696] Key type asymmetric registered
[    1.126702] Asymmetric key parser 'x509' registered
[    1.126757] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[    1.126941] io scheduler mq-deadline registered
[    1.126945] io scheduler kyber registered
[    1.127038] io scheduler bfq registered
[    1.127878] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    1.128259] efifb: probing for efifb
[    1.128336] efifb: showing boot graphics
[    1.133888] efifb: framebuffer at 0x80000000, using 9024k, total 9024k
[    1.133892] efifb: mode is 1200x1920x32, linelength=4800, pages=1
[    1.133895] efifb: scrolling: redraw
[    1.133899] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    1.134089] fbcon: Deferring console take-over
[    1.134094] fb0: EFI VGA frame buffer device
[    1.134127] intel_idle: MWAIT substates: 0x33000020
[    1.134130] intel_idle: v0.5.1 model 0x37
[    1.134142] intel_idle: max_cstate 1 reached
[    1.134475] intel_idle: Local APIC timer is reliable in all C-states
[    1.134764] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
[    1.134826] ACPI: Lid Switch [LID0]
[    1.142160] [Firmware Bug]: No valid trip found
[    1.143026] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.143244] 00:02: ttyS0 at I/O 0x3f8 (irq = 29, base_baud = 115200) is a 16550A
[    1.146846] hpet: number irqs doesn't agree with number of timers
[    1.146939] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
[    1.146941] AMD-Vi: AMD IOMMUv2 functionality not available on this system
[    1.166799] usbcore: registered new interface driver usbserial_generic
[    1.166816] usbserial: USB Serial support registered for generic
[    1.167072] rtc_cmos 00:00: registered as rtc0
[    1.167114] rtc_cmos 00:00: setting system clock to 2020-10-03T21:54:08 UTC (1601762048)
[    1.167175] rtc_cmos 00:00: no alarms, 242 bytes nvram
[    1.167483] intel_pstate: Intel P-state driver initializing
[    1.168549] ledtrig-cpu: registered to indicate activity on CPUs
[    1.169186] drop_monitor: Initializing network drop monitor service
[    1.169584] NET: Registered protocol family 10
[    1.187362] Segment Routing with IPv6
[    1.187366] RPL Segment Routing with IPv6
[    1.187437] NET: Registered protocol family 17
[    1.188195] microcode: sig=0x30678, pf=0x2, revision=0x838
[    1.188371] microcode: Microcode Update Driver: v2.2.
[    1.188385] IPI shorthand broadcast: enabled
[    1.188410] sched_clock: Marking stable (1187580775, 772762)->(1200907710, -12554173)
[    1.188657] registered taskstats version 1
[    1.188686] Loading compiled-in X.509 certificates
[    1.200911] Loaded X.509 cert 'Build time autogenerated kernel key: 65ffbe7aae84dcdfecfb2c43cc155c8e5e23c456'
[    1.201323] zswap: loaded using pool lz4/z3fold
[    1.201809] Key type ._fscrypt registered
[    1.201812] Key type .fscrypt registered
[    1.201815] Key type fscrypt-provisioning registered
[    1.203673] PM:   Magic number: 8:369:954
[    1.203818] memory memory7: hash matches
[    1.204226] RAS: Correctable Errors collector initialized.
[    1.217159] Freeing unused decrypted memory: 2040K
[    1.218223] Freeing unused kernel image (initmem) memory: 1644K
[    1.266748] Write protecting the kernel read-only data: 24576k
[    1.268357] Freeing unused kernel image (text/rodata gap) memory: 2044K
[    1.268665] Freeing unused kernel image (rodata/data gap) memory: 276K
[    1.357741] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    1.357769] x86/mm: Checking user space page tables
[    1.434835] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    1.434849] Run /init as init process
[    1.434852]   with arguments:
[    1.434854]     /init
[    1.434855]   with environment:
[    1.434857]     HOME=/
[    1.434858]     TERM=linux
[    1.434860]     BOOT_IMAGE=/boot/vmlinuz-linux
[    1.527531] fbcon: Taking over console
[    1.527759] Console: switching to colour frame buffer device 150x120
[    1.837246] sdhci: Secure Digital Host Controller Interface driver
[    1.837250] sdhci: Copyright(c) Pierre Ossman
[    1.857791] mmc0: SDHCI controller on ACPI [80860F14:01] using ADMA
[    1.858696] mmc1: SDHCI controller on ACPI [INT33BB:00] using ADMA
[    1.874204] mmc2: SDHCI controller on ACPI [80860F14:00] using ADMA
[    1.893672] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    1.893698] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[    1.894834] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0000000000009810
[    1.894844] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
[    1.895206] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.08
[    1.895210] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.895214] usb usb1: Product: xHCI Host Controller
[    1.895217] usb usb1: Manufacturer: Linux 5.8.13-arch1-1 xhci-hcd
[    1.895220] usb usb1: SerialNumber: 0000:00:14.0
[    1.896117] hub 1-0:1.0: USB hub found
[    1.896145] hub 1-0:1.0: 6 ports detected
[    1.898609] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    1.898623] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
[    1.898635] xhci_hcd 0000:00:14.0: Host supports USB 3.0 SuperSpeed
[    1.898778] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.08
[    1.898783] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.898786] usb usb2: Product: xHCI Host Controller
[    1.898789] usb usb2: Manufacturer: Linux 5.8.13-arch1-1 xhci-hcd
[    1.898792] usb usb2: SerialNumber: 0000:00:14.0
[    1.899381] hub 2-0:1.0: USB hub found
[    1.899404] hub 2-0:1.0: 1 port detected
[    1.921080] mmc0: new high speed SDHC card at address aaaa
[    1.922249] mmc1: new ultra high speed DDR50 SDIO card at address 0001
[    1.937025] mmcblk0: mmc0:aaaa SP32G 29.7 GiB 
[    1.945550]  mmcblk0:
[    1.972075] mmc2: new HS200 MMC card at address 0001
[    1.972710] mmcblk2: mmc2:0001 MBG4GC 29.1 GiB 
[    1.973018] mmcblk2boot0: mmc2:0001 MBG4GC partition 1 4.00 MiB
[    1.973331] mmcblk2boot1: mmc2:0001 MBG4GC partition 2 4.00 MiB
[    1.973518] mmcblk2rpmb: mmc2:0001 MBG4GC partition 3 4.00 MiB, chardev (243:0)
[    1.976608]  mmcblk2: p1 p2 p3
[    2.206917] EXT4-fs (mmcblk2p3): mounted filesystem with ordered data mode. Opts: (null)
[    2.586864] systemd[1]: systemd 246.6-1-arch running in system mode. (+PAM +AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[    2.603643] systemd[1]: Detected architecture x86-64.
[    2.630400] systemd[1]: Set hostname to <archblet>.
[    3.176153] systemd[1]: /usr/lib/systemd/system/gdm.service:28: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
[    3.207425] systemd[1]: Queued start job for default target Graphical Interface.
[    3.210843] systemd[1]: Created slice system-getty.slice.
[    3.211834] systemd[1]: Created slice system-modprobe.slice.
[    3.212626] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[    3.213599] systemd[1]: Created slice User and Session Slice.
[    3.213859] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    3.214052] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    3.214677] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    3.214795] systemd[1]: Reached target Local Encrypted Volumes.
[    3.214837] systemd[1]: Reached target Login Prompts.
[    3.214937] systemd[1]: Reached target Paths.
[    3.214989] systemd[1]: Reached target Remote File Systems.
[    3.215032] systemd[1]: Reached target Slices.
[    3.215336] systemd[1]: Listening on Device-mapper event daemon FIFOs.
[    3.215677] systemd[1]: Listening on LVM2 metadata daemon socket.
[    3.216306] systemd[1]: Listening on LVM2 poll daemon socket.
[    3.221534] systemd[1]: Listening on Process Core Dump Socket.
[    3.222139] systemd[1]: Listening on Journal Audit Socket.
[    3.222519] systemd[1]: Listening on Journal Socket (/dev/log).
[    3.222956] systemd[1]: Listening on Journal Socket.
[    3.223441] systemd[1]: Listening on udev Control Socket.
[    3.223762] systemd[1]: Listening on udev Kernel Socket.
[    3.227164] systemd[1]: Mounting Huge Pages File System...
[    3.231222] systemd[1]: Mounting POSIX Message Queue File System...
[    3.235392] systemd[1]: Mounting Kernel Debug File System...
[    3.239763] systemd[1]: Mounting Kernel Trace File System...
[    3.244116] systemd[1]: Starting Create list of static device nodes for the current kernel...
[    3.248208] systemd[1]: Starting Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling...
[    3.252220] systemd[1]: Starting Load Kernel Module drm...
[    3.257633] systemd[1]: Starting Set Up Additional Binary Formats...
[    3.257929] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[    3.264173] systemd[1]: Starting Journal Service...
[    3.273225] systemd[1]: Starting Load Kernel Modules...
[    3.276967] Linux agpgart interface v0.103
[    3.281665] systemd[1]: Starting Remount Root and Kernel File Systems...
[    3.281954] systemd[1]: Condition check resulted in Repartition Root Disk being skipped.
[    3.283751] random: lvm: uninitialized urandom read (4 bytes read)
[    3.293817] systemd[1]: Starting Coldplug All udev Devices...
[    3.300169] systemd[1]: Mounted Huge Pages File System.
[    3.300693] systemd[1]: Mounted POSIX Message Queue File System.
[    3.301127] systemd[1]: Mounted Kernel Debug File System.
[    3.301541] systemd[1]: Mounted Kernel Trace File System.
[    3.303602] systemd[1]: Finished Create list of static device nodes for the current kernel.
[    3.304345] systemd[1]: proc-sys-fs-binfmt_misc.automount: Got automount request for /proc/sys/fs/binfmt_misc, triggered by 221 (systemd-binfmt)
[    3.308209] systemd[1]: Mounting Arbitrary Executable File Formats File System...
[    3.322438] systemd[1]: Mounted Arbitrary Executable File Formats File System.
[    3.324009] EXT4-fs (mmcblk2p3): re-mounted. Opts: (null)
[    3.332313] systemd[1]: Finished Remount Root and Kernel File Systems.
[    3.332955] systemd[1]: Condition check resulted in First Boot Wizard being skipped.
[    3.337358] systemd[1]: Condition check resulted in Rebuild Hardware Database being skipped.
[    3.340523] systemd[1]: Starting Load/Save Random Seed...
[    3.340782] systemd[1]: Condition check resulted in Create System Users being skipped.
[    3.344162] systemd[1]: Starting Create Static Device Nodes in /dev...
[    3.347104] systemd[1]: Finished Set Up Additional Binary Formats.
[    3.362487] systemd[1]: Finished Load Kernel Modules.
[    3.363435] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
[    3.367738] systemd[1]: Mounting Kernel Configuration File System...
[    3.382312] systemd[1]: Starting Apply Kernel Variables...
[    3.385770] systemd[1]: Mounted Kernel Configuration File System.
[    3.396689] systemd[1]: modprobe@drm.service: Succeeded.
[    3.398146] systemd[1]: Finished Load Kernel Module drm.
[    3.410918] systemd[1]: Finished Create Static Device Nodes in /dev.
[    3.416301] systemd[1]: Starting Rule-based Manager for Device Events and Files...
[    3.418867] systemd[1]: Finished Apply Kernel Variables.
[    3.607386] systemd[1]: Finished Coldplug All udev Devices.
[    4.217952] systemd[1]: Started Journal Service.
[    4.218290] audit: type=1130 audit(1601762051.546:2): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-journald comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    4.473855] audit: type=1130 audit(1601762051.800:3): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-udevd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    4.474685] audit: type=1130 audit(1601762051.803:4): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=lvm2-lvmetad comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    4.613608] audit: type=1130 audit(1601762051.940:5): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-journal-flush comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    4.750187] 80860F0A:00: ttyS1 at MMIO 0x9091d000 (irq = 16, base_baud = 2764800) is a 16550A
[    4.751964] serial serial0: tty port ttyS1 registered
[    4.767101] 80860F0A:01: ttyS2 at MMIO 0x9091f000 (irq = 17, base_baud = 2764800) is a 16550A
[    4.768785] serial serial1: tty port ttyS2 registered
[    4.824564] ACPI: AC Adapter [ADP1] (on-line)
[    4.833614] hid: raw HID events driver (C) Jiri Kosina
[    4.848624] battery: ACPI: Battery Slot [BATC] (battery present)
[    4.918841] i2c_hid i2c-SYNA0001:00: supply vdd not found, using dummy regulator
[    4.918888] i2c_hid i2c-SYNA0001:00: supply vddl not found, using dummy regulator
[    5.006687] int3401 thermal INT3401:00: Creating sysfs group for PROC_THERMAL_PLATFORM_DEV
[    5.093122] Bluetooth: Core ver 2.22
[    5.093163] NET: Registered protocol family 31
[    5.093166] Bluetooth: HCI device and connection manager initialized
[    5.093174] Bluetooth: HCI socket layer initialized
[    5.093179] Bluetooth: L2CAP socket layer initialized
[    5.093190] Bluetooth: SCO socket layer initialized
[    5.160100] random: crng init done
[    5.171548] audit: type=1130 audit(1601762052.500:6): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-random-seed comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    5.217205] mei_txe 0000:00:1a.0: NFC MEI VERSION: IVN 0x1 Vendor ID 0x1 Type 0x1
[    5.229597] Bluetooth: HCI UART driver ver 2.3
[    5.229603] Bluetooth: HCI UART protocol H4 registered
[    5.229605] Bluetooth: HCI UART protocol BCSP registered
[    5.229638] Bluetooth: HCI UART protocol LL registered
[    5.229640] Bluetooth: HCI UART protocol ATH3K registered
[    5.229664] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    5.229990] Bluetooth: HCI UART protocol Intel registered
[    5.231271] Bluetooth: HCI UART protocol Broadcom registered
[    5.231296] Bluetooth: HCI UART protocol QCA registered
[    5.231299] Bluetooth: HCI UART protocol AG6XX registered
[    5.231322] Bluetooth: HCI UART protocol Marvell registered
[    5.239192] intel_sst_acpi 80860F28:00: No matching machine driver found
[    5.328671] hci_uart_bcm serial0-0: ACPI Interrupt resource is active-high, this is usually wrong, treating the IRQ as active-low
[    5.328952] hci_uart_bcm serial0-0: supply vbat not found, using dummy regulator
[    5.328999] hci_uart_bcm serial0-0: supply vddio not found, using dummy regulator
[    5.359047] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    5.376252] input: PC Speaker as /devices/platform/pcspkr/input/input1
[    5.397880] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    5.399006] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    5.399014] cfg80211: failed to load regulatory.db
[    5.426798] Adding 1952764k swap on /dev/mmcblk2p2.  Priority:-2 extents:1 across:1952764k SSFS
[    5.464454] cryptd: max_cpu_qlen set to 1000
[    5.490489] audit: type=1130 audit(1601762052.820:7): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=lvm2-monitor comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    5.508231] SSE version of gcm_enc/dec engaged.
[    5.601384] audit: type=1130 audit(1601762052.930:8): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-fsck@dev-disk-by\x2duuid-9E96\x2dA330 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    5.653893] brcmfmac: F1 signature read @0x18000000=0x16d54324
[    5.660269] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43241b4-sdio for chip BCM4324/5
[    5.660379] usbcore: registered new interface driver brcmfmac
[    5.666007] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43241b4-sdio.LENOVO-60072.txt failed with error -2
[    5.666061] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43241b4-sdio.txt failed with error -2
[    5.667121] brcmfmac: brcmf_fw_nvram_from_efi: Using nvram EFI variable
[    5.721273] Bluetooth: hci0: BCM: chip id 84
[    5.721874] Bluetooth: hci0: BCM: features 0x0f
[    5.723067] Bluetooth: hci0: BCM4324B3
[    5.723075] Bluetooth: hci0: BCM4324B3 (002.004.006) build 0000
[    5.723193] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[    5.723195] Bluetooth: hci0: BCM: 'brcm/BCM4324B3.hcd'
[    5.723196] Bluetooth: hci0: BCM: 'brcm/BCM.hcd'
[    5.807345] audit: type=1130 audit(1601762053.130:9): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-tmpfiles-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    5.834701] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43241b4-sdio for chip BCM4324/5
[    5.834788] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[    5.835156] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4324/5 wl0: Jul 17 2013 07:36:07 version 6.10.197.71 (r412987) FWID 01-882d2634
[    5.840103] audit: type=1127 audit(1601762053.163:10): pid=303 uid=0 auid=4294967295 ses=4294967295 msg=' comm="systemd-update-utmp" exe="/usr/lib/systemd/systemd-update-utmp" hostname=? addr=? terminal=? res=success'
[    5.848232] audit: type=1130 audit(1601762053.176:11): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-update-utmp comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    5.870596] audit: type=1130 audit(1601762053.200:12): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=dbus comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    5.896663] audit: type=1334 audit(1601762053.223:13): prog-id=7 op=LOAD
[    5.900358] audit: type=1334 audit(1601762053.230:14): prog-id=8 op=LOAD
[    5.937033] audit: type=1130 audit(1601762053.263:15): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=lm_sensors comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[    5.972988] input: gpio-keys as /devices/platform/INTCFD9:00/gpio-keys.0.auto/input/input2
[    5.982072] input: gpio-keys as /devices/platform/INTCFD9:00/gpio-keys.1.auto/input/input3
[    6.005994] intel_rapl_common: Found RAPL domain package
[    6.006000] intel_rapl_common: Found RAPL domain core
[    6.190228] iTCO_vendor_support: vendor-support=0
[    6.299861] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
[    6.300019] iTCO_wdt: Found a Bay Trail SoC TCO device (Version=3, TCOBASE=0x0460)
[    6.328141] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[    6.331375] input: SYNA0001:00 2ABB:8101 Touchscreen as /devices/platform/80860F41:05/i2c-5/i2c-SYNA0001:00/0018:2ABB:8101.0001/input/input4
[    6.340587] hid-generic 0018:2ABB:8101.0001: input,hidraw0: I2C HID v1.00 Device [SYNA0001:00 2ABB:8101] on i2c-SYNA0001:00
[    6.445345] nfc: nfc_init: NFC Core ver 0.1
[    6.445391] NET: Registered protocol family 39
[    6.476074] input: SYNA0001:00 2ABB:8101 as /devices/platform/80860F41:05/i2c-5/i2c-SYNA0001:00/0018:2ABB:8101.0001/input/input6
[    6.476334] hid-multitouch 0018:2ABB:8101.0001: input,hidraw0: I2C HID v1.00 Device [SYNA0001:00 2ABB:8101] on i2c-SYNA0001:00
[    6.490915] checking generic (80000000 8d0000) vs hw (90000000 400000)
[    6.490920] checking generic (80000000 8d0000) vs hw (80000000 10000000)
[    6.490922] fb0: switching to inteldrmfb from EFI VGA
[    6.491126] Console: switching to colour dummy device 80x25
[    6.491214] i915 0000:00:02.0: vgaarb: deactivate vga console
[    6.491441] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    6.496097] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    6.496523] i915 0000:00:02.0: cannot find GPIO chip gpio_crystalcove, deferring
[    6.496527] i915 0000:00:02.0: [drm] *ERROR* Failed to own gpio for panel control
[    6.501083] i915 0000:00:02.0: [drm] Using PMIC PWM for LCD backlight control
[    6.560841] intel-spi intel-spi: w25q64dw (8192 Kbytes)
[    6.589149] [drm] Initialized i915 1.6.0 20200515 for 0000:00:02.0 on minor 0
[    6.592106] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    6.592955] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input8
[    6.605649] Probing NFC pn544
[    6.618147] mousedev: PS/2 mouse device common for all mice
[    6.618329] i915 0000:00:02.0: [drm] HDaudio controller not detected, using LPE audio instead
[    6.642815] Creating 1 MTD partitions on "intel-spi":
[    6.642823] 0x000000000000-0x000000800000 : "BIOS"
[    6.803640] fbcon: i915drmfb (fb0) is primary device
[    6.813504] Console: switching to colour frame buffer device 150x120
[    6.843303] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
[   11.663226] kauditd_printk_skb: 27 callbacks suppressed
[   11.663233] audit: type=1131 audit(1601762058.990:43): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   11.935344] audit: type=1334 audit(1601762059.263:44): prog-id=12 op=LOAD
[   11.936000] audit: type=1334 audit(1601762059.263:45): prog-id=13 op=LOAD
[   12.855455] audit: type=1130 audit(1601762060.183:46): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-localed comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   13.185553] audit: type=1334 audit(1601762060.513:47): prog-id=14 op=LOAD
[   13.185904] audit: type=1334 audit(1601762060.513:48): prog-id=15 op=LOAD
[   13.605125] audit: type=1130 audit(1601762060.933:49): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=geoclue comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   14.114175] audit: type=1130 audit(1601762061.443:50): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=rtkit-daemon comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   14.273290] audit: type=1130 audit(1601762061.600:51): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=upower comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   14.730547] rfkill: input handler disabled
[   15.886085] audit: type=1130 audit(1601762063.213:52): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=colord comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   17.036581] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   18.013686] audit: type=1131 audit(1601762065.343:53): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   19.091432] audit: type=1130 audit(1601762066.420:54): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   20.501514] audit: type=1100 audit(1601762067.830:55): pid=613 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication grantors=pam_shells,pam_faillock,pam_permit,pam_faillock acct="hoshi" exe="/usr/bin/sshd" hostname=192.168.1.224 addr=192.168.1.224 terminal=ssh res=success'
[   20.550745] audit: type=1101 audit(1601762067.876:56): pid=613 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:accounting grantors=pam_access,pam_permit,pam_time acct="hoshi" exe="/usr/bin/sshd" hostname=192.168.1.224 addr=192.168.1.224 terminal=ssh res=success'
[   20.553633] audit: type=1103 audit(1601762067.883:57): pid=613 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=pam_shells,pam_faillock,pam_permit,pam_faillock acct="hoshi" exe="/usr/bin/sshd" hostname=192.168.1.224 addr=192.168.1.224 terminal=ssh res=success'
[   20.554386] audit: type=1006 audit(1601762067.883:58): pid=613 uid=0 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=3 res=1
[   20.645176] audit: type=1130 audit(1601762067.973:59): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=user-runtime-dir@1000 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   20.672969] audit: type=1101 audit(1601762068.000:60): pid=621 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:accounting grantors=pam_access,pam_permit,pam_time acct="hoshi" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   20.673093] audit: type=1103 audit(1601762068.000:61): pid=621 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=? acct="hoshi" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
[   20.673554] audit: type=1006 audit(1601762068.003:62): pid=621 uid=0 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=4 res=1
[   21.331781] fuse: init (API version 7.31)
[   29.019736] kauditd_printk_skb: 6 callbacks suppressed
[   29.019748] audit: type=1131 audit(1601762076.346:69): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   45.703206] audit: type=1131 audit(1601762093.030:70): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-localed comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   45.807056] audit: type=1334 audit(1601762093.136:71): prog-id=13 op=UNLOAD
[   45.807091] audit: type=1334 audit(1601762093.136:72): prog-id=12 op=UNLOAD
[   45.999631] audit: type=1131 audit(1601762093.326:73): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-hostnamed comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[   46.120276] audit: type=1334 audit(1601762093.450:74): prog-id=10 op=UNLOAD
[   46.120301] audit: type=1334 audit(1601762093.450:75): prog-id=9 op=UNLOAD
[   74.046784] audit: type=1131 audit(1601762121.373:76): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=geoclue comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[  124.382855] audit: type=1100 audit(1601762171.710:77): pid=669 uid=1000 auid=1000 ses=3 msg='op=PAM:authentication grantors=pam_faillock,pam_permit,pam_faillock acct="hoshi" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'
[  124.387094] audit: type=1101 audit(1601762171.716:78): pid=669 uid=1000 auid=1000 ses=3 msg='op=PAM:accounting grantors=pam_permit,pam_time acct="hoshi" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'
[  124.388250] audit: type=1110 audit(1601762171.716:79): pid=669 uid=0 auid=1000 ses=3 msg='op=PAM:setcred grantors=pam_faillock,pam_permit,pam_faillock acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'
[  124.391912] audit: type=1105 audit(1601762171.720:80): pid=669 uid=0 auid=1000 ses=3 msg='op=PAM:session_open grantors=pam_limits,pam_unix,pam_permit acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'
[  124.430495] audit: type=1106 audit(1601762171.760:81): pid=669 uid=0 auid=1000 ses=3 msg='op=PAM:session_close grantors=pam_limits,pam_unix,pam_permit acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'
[  124.430754] audit: type=1104 audit(1601762171.760:82): pid=669 uid=0 auid=1000 ses=3 msg='op=PAM:setcred grantors=pam_faillock,pam_permit,pam_faillock acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'
[  152.935744] audit: type=1100 audit(1601762200.263:83): pid=690 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication grantors=pam_shells,pam_faillock,pam_permit,pam_faillock acct="hoshi" exe="/usr/bin/sshd" hostname=192.168.1.224 addr=192.168.1.224 terminal=ssh res=success'
[  152.947842] audit: type=1101 audit(1601762200.276:84): pid=690 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:accounting grantors=pam_access,pam_permit,pam_time acct="hoshi" exe="/usr/bin/sshd" hostname=192.168.1.224 addr=192.168.1.224 terminal=ssh res=success'
[  152.950805] audit: type=1103 audit(1601762200.280:85): pid=690 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=pam_shells,pam_faillock,pam_permit,pam_faillock acct="hoshi" exe="/usr/bin/sshd" hostname=192.168.1.224 addr=192.168.1.224 terminal=ssh res=success'
[  152.951148] audit: type=1006 audit(1601762200.280:86): pid=690 uid=0 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=5 res=1
[  153.014017] audit: type=1105 audit(1601762200.343:87): pid=690 uid=0 auid=1000 ses=5 msg='op=PAM:session_open grantors=pam_loginuid,pam_keyinit,pam_limits,pam_unix,pam_permit,pam_mail,pam_systemd,pam_env acct="hoshi" exe="/usr/bin/sshd" hostname=192.168.1.224 addr=192.168.1.224 terminal=ssh res=success'
[  153.019909] audit: type=1103 audit(1601762200.346:88): pid=692 uid=0 auid=1000 ses=5 msg='op=PAM:setcred grantors=pam_shells,pam_faillock,pam_permit,pam_faillock acct="hoshi" exe="/usr/bin/sshd" hostname=192.168.1.224 addr=192.168.1.224 terminal=ssh res=success'
[  158.327924] audit: type=1106 audit(1601762205.656:89): pid=690 uid=0 auid=1000 ses=5 msg='op=PAM:session_close grantors=pam_loginuid,pam_keyinit,pam_limits,pam_unix,pam_permit,pam_mail,pam_systemd,pam_env acct="hoshi" exe="/usr/bin/sshd" hostname=192.168.1.224 addr=192.168.1.224 terminal=ssh res=success'
[  158.328338] audit: type=1104 audit(1601762205.656:90): pid=690 uid=0 auid=1000 ses=5 msg='op=PAM:setcred grantors=pam_shells,pam_faillock,pam_permit,pam_faillock acct="hoshi" exe="/usr/bin/sshd" hostname=192.168.1.224 addr=192.168.1.224 terminal=ssh res=success'
@PSzczepanski1996
Copy link
Author

As I found, the fw_sst_0f28.bin file exists in linux-firmware arch package, so I'm not sure what is really wrong.

@plbossart
Copy link
Member

plbossart commented Oct 5, 2020

@HoshiYamazaki fw_sst_0f28.bin is a firmware used by the legacy driver in sound/soc/intel/atom. If you want to enable SOF on Baytrail, you need to select it explicitly. Please look at the suggested kernel configurations in https://github.com/thesofproject/kconfig/blob/master/sof-dev-defconfig if you want to disable legacy drivers and enable SOF-based solutions.

Thanks!

@mengdonglin mengdonglin added BYT Applies to Baytrail platform bug Something isn't working Not SOF FW/Driver Not using SOF audio FW and driver P3 Low-impact bugs or features labels Oct 10, 2020
@plbossart
Copy link
Member

@HoshiYamazaki it could also be that your device BIOS doesn't have the right configurations to load a driver. You want to provide a link to the results of
'alsa-info'

@PSzczepanski1996
Copy link
Author

PSzczepanski1996 commented Nov 4, 2020

@HoshiYamazaki it could also be that your device BIOS doesn't have the right configurations to load a driver. You want to provide a link to the results of
'alsa-info'

Sure, I will put log here soon, I must install Linux again on my tablet for testing purposes. Sorry for pause in response.
Also I checked the BIOS version, it's the newest possible version for now (last version is from 2015 :D).

@PSzczepanski1996
Copy link
Author

PSzczepanski1996 commented Dec 2, 2020

@plbossart here we go

[hoshi@archblet ~]$ alsa-info.sh
ALSA Information Script v 0.4.65
--------------------------------

This script visits the following commands/files to collect diagnostic
information about your ALSA installation and sound related hardware.

  dmesg
  lspci
  aplay
  amixer
  alsactl
  rpm, dpkg
  /proc/asound/
  /sys/class/sound/
  ~/.asoundrc (etc.)

See '/usr/bin/alsa-info.sh --help' for command line options.

alsactl: save_state:1595: No soundcards found...
cat: /tmp/alsa-info.XetaGVwZzk/alsactl.tmp: No such file or directory

Your ALSA information is in /tmp/alsa-info.txt.MXRJa6cHwd

This file gist: https://gist.github.com/HoshiYamazaki/bcfb67b0d0d737e5c67ac88945348b3e

@plbossart
Copy link
Member

I have a concern that this device was released with an old Android version for which drivers were never upstreamed.

/sys/bus/acpi/devices/WM510205:00/status 15

that points to a WM5102 codec. I am aware of some devices which made use of this codec, but they were never officially supported.

Adding @jwrdegoede in case he's seen this device before.

@jwrdegoede
Copy link

Yes I have seen this device once before, on a Lenovo Yoga Tablet 2 1051F/L.

Looking at the dmesg output:
[ 0.000000] DMI: LENOVO 60072/INVALID, BIOS 02WT18WW 08/01/2014

We are indeed dealing with a Lenovo Yoga Tablet 2 series device here too.

There is a codec driver available for the WM5102, but:

  1. It needs to have firmware loaded and I have no idea which version of the firmware the Linux driver it needs
  2. This is not just a codec, it has built in voltage regulators and other stuff, which we presumably also need to program for things to work...
  3. This is the first codec used on a Bay Trail device which is using SPI for its control connection rather then I2C.

IOW there is a ton of work which needs to be done, just to enable sound on a single device. Unless someone with the necessary skills and a ton of free time sits down to actually do this, sound is simply never going to work on this device under Linux, sorry.

@plbossart
Copy link
Member

It's not necessarily that bad, there is an Android kernel from 2016
https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c

and there was a submitted upstream https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/

Also I am looking internally within Intel to see if I find anything else.

But yes, without a device and time we'll have to rely on someone to do the integration.

@plbossart
Copy link
Member

plbossart commented Dec 3, 2020

I fork-lifted the code to compile with v5.10-rcX, see https://github.com/plbossart/sound/tree/fix/byt-wm5102

I'd need the output of 'sudo dmidecode' to add the quirk for BYT-CR detection that was in the initial patches.

@jwrdegoede
Copy link

@plbossart oh interesting I actually have a Lenovo Yoga Tablet2 1051L in my hardware collection so I can test this. I spend some time on this yesterday. The arizona-spi mfd driver, which instantiates all the sub-devices for the wm5102 codec needed some work to support ACPI bindings and I had to figure out how the GPIOs are mapped from ACPI to the devicetree bindings the code expected.

I have that working now, the MFD driver loads and manages to read the chips revision and then continues creating the subdevs. That is as far as I got before I ran out of time. To be continued.

@jwrdegoede
Copy link

Note see the last commits here for the arizona-spi MFD driver ACPI binding fixes:
https://github.com/jwrdegoede/linux-sunxi/commits/master

@plbossart
Copy link
Member

You rock @jwrdegoede !

@PSzczepanski1996
Copy link
Author

@jwrdegoede very nice progress! I was not able to provide support in this weekend because I had studies so I was pretty busy, and I'm not really into compiling kernel via make and make install on Arch, so I probably would need to build own aur package... Anyway, I'm tracking the issue :) I don't know if running Linux on tablet is great idea, but what someone can achieve out from boredom, ah?

fingers crossed

@jwrdegoede
Copy link

Ok, so a quick update on this, soon after my last update here I got the speakers to work. But I could not get the headphones output to work at all. I spend like 3 full days on this. Then I switched to another project for a bit and took another shot yesterday. Still nothing. So then I decided to install Windows and see if that would give any clues (or if e.g. things would work after a reboot from Windows directly into Linux which sometimes helps).

But the headphones also did not work under Windows either... So then I did a duckduckgo search and found this. It seems there is a BIOS setting which muxes the headphone L/R pins to some USB debugging port, which is why I could not get them to work GRRRRR.

With the BIOS option enabling this USB debugging disabled, I now also have the headphones working. Next steps is jack-detect (which I already have mostly figured out with all the previous debugging) as well as support for the microphones; and then a whole lot of cleaning up.

TL;DR: I'm getting there I should hopefully have something ready for testing (assuming you know how to build your own kernels) soon.

@jwrdegoede
Copy link

p.s. Can someone change the title of this issue to something like this:

"RFE: Add BYT + WM5102 codec support to the kernel"

@PSzczepanski1996 PSzczepanski1996 changed the title bytcr-rt5640 module is not getting loaded correctly RFE: Add BYT + WM5102 codec support to the kernel Dec 22, 2020
@jwrdegoede
Copy link

Ok good news, it took a bit of work, but I've everything working nicely now.

I've posted the kernel patches for this upstream, see:
https://lore.kernel.org/alsa-devel/20201227211232.117801-1-hdegoede@redhat.com/T/#t
And you can also find them here:
https://github.com/jwrdegoede/linux-sunxi/commits/v5.10-footrail

A matching patch adding a UCM profile for this new setup can be found here:
jwrdegoede/alsa-ucm-conf@316109e

I've tested this on a Lenovo Yoga Tablet2 1051L. @HoshiYamazaki I believe that you have a 8" model, so a 8xx model? It would be good if you can test this there. Note you need to use pulseaudio to test since these tablet devices need UCM profiles to correctly setup the complex mixer setup which they have.

If it is easier for you then I can send you an email with the 14 kernel patches attached as .patch files, if you want that, please drop me an email at Hans de Goede hdegoede@redhat.com, so that I have your email address.

@PSzczepanski1996
Copy link
Author

PSzczepanski1996 commented Dec 27, 2020

Ok good news, it took a bit of work, but I've everything working nicely now.

I've posted the kernel patches for this upstream, see:
https://lore.kernel.org/alsa-devel/20201227211232.117801-1-hdegoede@redhat.com/T/#t
And you can also find them here:
https://github.com/jwrdegoede/linux-sunxi/commits/v5.10-footrail

A matching patch adding a UCM profile for this new setup can be found here:
jwrdegoede/alsa-ucm-conf@316109e

I've tested this on a Lenovo Yoga Tablet2 1051L. @HoshiYamazaki I believe that you have a 8" model, so a 8xx model? It would be good if you can test this there. Note you need to use pulseaudio to test since these tablet devices need UCM profiles to correctly setup the complex mixer setup which they have.

If it is easier for you then I can send you an email with the 14 kernel patches attached as .patch files, if you want that, please drop me an email at Hans de Goede hdegoede@redhat.com, so that I have your email address.

Yeah, for sure - the patch files are much easier to integrate with custom AUR repository - and I need AUR repo, because /I never/ install something to internal system using make / make install because it's overrides files without pacman tracking causing conflicts. And BTW. I use Arch too.

So yes, I use 8" Lenovo Yoga model. I sent the email to you and gonna test this in the week, I will be little busy learning Django Rest Framework tomorrow so probably I will do that in Tuesday.

@PSzczepanski1996
Copy link
Author

So I had free time today to test the @jwrdegoede kernel patches, and provide them in custom AUR repo:
https://github.com/HoshiYamazaki/linux-wm5102
As you see, I have all patch files included, AND the default PKGBUILD for linux kernel is including .patch files from the same dir by default. So, I got it compiled (initially I tried to compile it on my tablet, but after 4 hours I just though **** it, and did it on my r5 3600 PC, and it took only 25 mins), but I get tablet freezes, alsamixer also does not show any output devices. As I base I used 5.10.3 linux kernel as it's visible in repository.

Anyway, the most interesing thing, is the DMESG log, that got spammed by messages from WM5102 driver:

[   54.755331] LDO1: supplied by regulator-dummy
[   54.755728] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.755892] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.757427] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.757566] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.758050] LDO1: supplied by regulator-dummy
[   54.758218] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.758861] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.760194] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.760203] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.760532] LDO1: supplied by regulator-dummy
[   54.760582] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.760649] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.761851] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.761858] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.762193] LDO1: supplied by regulator-dummy
[   54.762352] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.762520] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.763744] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.763752] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.764277] LDO1: supplied by regulator-dummy
[   54.764673] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.764849] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.766006] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.766014] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.766328] LDO1: supplied by regulator-dummy
[   54.766496] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.766669] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.768025] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.768537] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.769308] LDO1: supplied by regulator-dummy
[   54.769830] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.769990] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.771501] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.772016] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.772784] LDO1: supplied by regulator-dummy
[   54.773183] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.773349] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.774745] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.775135] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.775914] LDO1: supplied by regulator-dummy
[   54.775970] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.776041] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.777173] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.777183] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.777517] LDO1: supplied by regulator-dummy
[   54.777565] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.777647] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.778927] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.778935] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.779257] LDO1: supplied by regulator-dummy
[   54.779406] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.779576] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.781237] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.781245] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.781907] LDO1: supplied by regulator-dummy
[   54.782426] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.782723] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.784039] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.784047] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.784381] LDO1: supplied by regulator-dummy
[   54.784535] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.784699] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.785873] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.785881] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.786221] LDO1: supplied by regulator-dummy
[   54.786366] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.786527] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.787698] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.787705] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.788035] LDO1: supplied by regulator-dummy
[   54.788205] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.788368] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.789852] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.789859] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.790463] LDO1: supplied by regulator-dummy
[   54.791107] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.791749] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.793241] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.793251] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.793598] LDO1: supplied by regulator-dummy
[   54.793767] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.794411] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.795893] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.795901] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.796343] LDO1: supplied by regulator-dummy
[   54.796989] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.797187] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.798345] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.798355] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.798686] LDO1: supplied by regulator-dummy
[   54.798736] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.798803] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.800070] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.800588] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.801356] LDO1: supplied by regulator-dummy
[   54.801751] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.801916] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.803076] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.803083] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.803397] LDO1: supplied by regulator-dummy
[   54.803564] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.803935] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator
[   54.805205] arizona spi-WM510205:00: Failed to get mclk1: -2
[   54.805720] arizona spi-WM510205:00: Failed to get mclk2: -2
[   54.806488] LDO1: supplied by regulator-dummy
[   54.806886] arizona spi-WM510205:00: supply AVDD not found, using dummy regulator
[   54.807074] arizona spi-WM510205:00: supply DBVDD1 not found, using dummy regulator

So probably something is still missing for Lenovo Yoga 2 8" support.

@jwrdegoede
Copy link

Hi,

This looks like the final binding of the machine/codec driver is being deferred waiting for some other driver to load. You likely have not enabled all the necessary drivers, specifically I guess you are missing the GPIO driver.

Your kernel config needs to have the following options enabled as either m or y:

CONFIG_GPIO_ARIZONA=m
CONFIG_MFD_ARIZONA=m
CONFIG_MFD_ARIZONA_SPI=m
CONFIG_REGULATOR_ARIZONA_LDO1=m
CONFIG_REGULATOR_ARIZONA_MICSUPP=m
CONFIG_SND_SOC_ARIZONA=m
CONFIG_EXTCON_ARIZONA=m
CONFIG_MFD_WM5102=y
CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH=m
CONFIG_SND_SOC_WM5102=m

Regards,

Hans

jwrdegoede pushed a commit to jwrdegoede/linux-sunxi that referenced this issue Jan 11, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
@plbossart
Copy link
Member

But the headphones also did not work under Windows either... So then I did a duckduckgo search and found this. It seems there is a BIOS setting which muxes the headphone L/R pins to some USB debugging port, which is why I could not get them to work GRRRRR.

IIRC in some designs the LR headphone pins were muxed with a UART. This caused a lot of confusion even internally at Intel :-(.

jwrdegoede pushed a commit to jwrdegoede/linux-sunxi that referenced this issue Jan 13, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
jwrdegoede pushed a commit to jwrdegoede/linux-sunxi that referenced this issue Jan 25, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v2:
- Drop unnecessary configuring of OPCLK
- Fix error-msg when setting the SYSCLK fails
jwrdegoede pushed a commit to jwrdegoede/linux-sunxi that referenced this issue Jan 25, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v2:
- Drop unnecessary configuring of OPCLK
- Fix error-msg when setting the SYSCLK fails
jwrdegoede pushed a commit to jwrdegoede/linux-sunxi that referenced this issue Jan 29, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v2:
- Drop unnecessary configuring of OPCLK
- Fix error-msg when setting the SYSCLK fails
jwrdegoede pushed a commit to jwrdegoede/linux-sunxi that referenced this issue Feb 1, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v2:
- Drop unnecessary configuring of OPCLK
- Fix error-msg when setting the SYSCLK fails
jwrdegoede pushed a commit to jwrdegoede/linux-sunxi that referenced this issue Feb 4, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v2:
- Drop unnecessary configuring of OPCLK
- Fix error-msg when setting the SYSCLK fails
jwrdegoede pushed a commit to jwrdegoede/linux-sunxi that referenced this issue Feb 8, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v2:
- Drop unnecessary configuring of OPCLK
- Fix error-msg when setting the SYSCLK fails
plbossart added a commit to plbossart/sound that referenced this issue Feb 8, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210120214957.140232-6-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
jwrdegoede pushed a commit to jwrdegoede/linux-sunxi that referenced this issue Feb 15, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v2:
- Drop unnecessary configuring of OPCLK
- Fix error-msg when setting the SYSCLK fails
jwrdegoede pushed a commit to jwrdegoede/linux-sunxi that referenced this issue Feb 15, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
Changes in v2:
- Drop unnecessary configuring of OPCLK
- Fix error-msg when setting the SYSCLK fails
mariushoch pushed a commit to mariushoch/linux that referenced this issue Mar 6, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject/linux#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210120214957.140232-6-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
mariushoch pushed a commit to mariushoch/linux that referenced this issue Mar 21, 2021
Add a new ASoc Machine driver for Intel Baytrail platforms with a
Wolfson Microelectronics WM5102 codec.

This is based on a past contributions [1] from Paulo Sergio Travaglia
<pstglia@gmail.com> based on the Levono kernel [2] combined with
insights in things like the speaker GPIO from the android-x86 android
port for the Lenovo Yoga Tablet 2 1051F/L [3].

[1] https://patchwork.kernel.org/project/alsa-devel/patch/593313f5.3636c80a.50e05.47e9@mx.google.com/
[2] https://github.com/lenovo-yt2-dev/android_kernel_lenovo_baytrail/blob/cm-12.1/sound/soc/intel/board/byt_bl_wm5102.c
[3] https://github.com/Kitsune2222/Android_Yoga_Tablet_2-1051F_Kernel

The original machine driver from the Android ports was a crude modified
copy of bytcr_rt5640.c adjusted to work with the WM5102 codec.
This version has been extensively reworked to:

1. Remove all rt5640 related quirk handling. to the best of my knowledge
this setup is only used on the Lenovo Yoga Tablet 2 series (8, 10 and 13
inch models) which all use the same setup. So there is no need to deal
with all the variations with which we need to deal on rt5640 boards.

2. Rework clock handling, properly turn off the FLL and the platform-clock
when they are no longer necessary and don't reconfigure the FLL
unnecessarily when it is already running. This fixes a number of:
"Timed out waiting for lock" warnings being logged.

3. Add the GPIO controlled Speaker-VDD regulator as a DAPM_SUPPLY

This only adds the machine driver and ACPI hooks, the BYT-CR detection
quirk which these devices need will be added in a separate patch.

BugLink: thesofproject/linux#2485
Co-authored-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210120214957.140232-6-hdegoede@redhat.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Marius Hoch <hoo@online.de>
@akohta
Copy link

akohta commented Apr 13, 2021

I've been trying to enable the audio since I found this issue. I'm using Lenovo yoga tablet 2 model 1051F with archlinux. I tried three different kernels (5.11.10, 5.11.12, 5.12-rc6) and all gave the same kernel messages as follows.

[ 2267.016892] arizona spi-WM510204:00: supply AVDD not found, using dummy regulator
[ 2267.016958] arizona spi-WM510204:00: supply DBVDD1 not found, using dummy regulator
[ 2267.018026] arizona spi-WM510204:00: Failed to get mclk1: -2
[ 2267.018037] arizona spi-WM510204:00: Failed to get mclk2: -2
[ 2267.018401] LDO1: supplied by regulator-dummy
[ 2267.018449] arizona spi-WM510204:00: supply AVDD not found, using dummy regulator
[ 2267.018591] arizona spi-WM510204:00: supply DBVDD1 not found, using dummy regulator
[ 2267.019703] arizona spi-WM510204:00: Failed to get mclk1: -2
[ 2267.019714] arizona spi-WM510204:00: Failed to get mclk2: -2
[ 2267.020058] LDO1: supplied by regulator-dummy

It's same as @HoshiYamazaki 's result. I've checked kernel config options, patch and source files, but I can't come up with any idea to fix it. It looks like a circular dependency problem because it repeats very fast endlessly. It may be a problem of archlinux.
Thank you for reading.

@jwrdegoede
Copy link

@akohta you probably don't have the right kernel-config options set, as I mentioned higher up in this issue, you need to have the following options set:

CONFIG_GPIO_ARIZONA=m
CONFIG_MFD_ARIZONA=m
CONFIG_MFD_ARIZONA_SPI=m
CONFIG_REGULATOR_ARIZONA_LDO1=m
CONFIG_REGULATOR_ARIZONA_MICSUPP=m
CONFIG_SND_SOC_ARIZONA=m
CONFIG_EXTCON_ARIZONA=m
CONFIG_MFD_WM5102=y
CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH=m
CONFIG_SND_SOC_WM5102=m

It is important to actually have things which are specified as module here as modules, because of some probe ordering issues which are worked around by using "MODULE_SOFTDEP("pre: arizona_ldo1");" which will only work when things are build as modules.

@jwrdegoede
Copy link

@akohta, the "LDO1: supplied by regulator-dummy" dmesg line should go away once you have the Kconfig which I suggest as long as you still have that line something is wrong.

@akohta
Copy link

akohta commented Apr 13, 2021

@jwrdegoede, thank you for your quick reply. I checked kernel-config options carefully and I confirm the above mentioned. I think there is no particular problem. I will attach my kernel-config file and alsa-info.sh output. The patch file was obtained from https://github.com/HoshiYamazaki/linux-wm5102

kernel_config.txt
alsa-info.txt

@plbossart
Copy link
Member

It is important to actually have things which are specified as module here as modules, because of some probe ordering issues which are worked around by using "MODULE_SOFTDEP("pre: arizona_ldo1");" which will only work when things are build as modules.

I didn't even know this existed, it could be quite useful for other areas.

@PSzczepanski1996
Copy link
Author

@akohta you probably don't have the right kernel-config options set, as I mentioned higher up in this issue, you need to have the following options set:

CONFIG_GPIO_ARIZONA=m
CONFIG_MFD_ARIZONA=m
CONFIG_MFD_ARIZONA_SPI=m
CONFIG_REGULATOR_ARIZONA_LDO1=m
CONFIG_REGULATOR_ARIZONA_MICSUPP=m
CONFIG_SND_SOC_ARIZONA=m
CONFIG_EXTCON_ARIZONA=m
CONFIG_MFD_WM5102=y
CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH=m
CONFIG_SND_SOC_WM5102=m

It is important to actually have things which are specified as module here as modules, because of some probe ordering issues which are worked around by using "MODULE_SOFTDEP("pre: arizona_ldo1");" which will only work when things are build as modules.

It appears that the issue still persists in official 5.12.1 kernel in Arch Linux repository, I think the WM5102 driver should be enabled by default. Also bunch of dmesg debug logs probably are slowing the whole device.

@akohta
Copy link

akohta commented May 23, 2021

I installed Linux Mint latest version and upgraded the kernel to 5.12. I confirmed the kernel messages same as Arch Linux.
The difference is the following messages appear only once.

kernel: arizona spi-WM510204:00: Failed to get mclk1: -2
kernel: arizona spi-WM510204:00: Failed to get mclk2: -2
kernel: LDO1: supplied by regulator-dummy

After that, additional modules such as gpio-arizona is loaded. However, the sound device is not enabled. The attached file below is dmesg log, which is enabled kernel debug options for gpio. For your reference, alsa-info log is attached too.
mint-dmesg.txt
mint-alsa-info.txt
There is no particular error around gpio, but the regulator is disabled. So, I have no idea what is the regulator disabled by.

[ 2.654144] arizona spi-WM510204:00: Failed to get mclk1: -2
[ 2.654153] arizona spi-WM510204:00: Failed to get mclk2: -2
[ 2.654262] arizona spi-WM510204:00: GPIO lookup for consumer wlf,ldoena
[ 2.654268] arizona spi-WM510204:00: using ACPI for GPIO lookup
[ 2.654273] acpi WM510204:00: GPIO: looking up wlf,ldoena-gpios
[ 2.654279] acpi WM510204:00: GPIO: _DSD returned WM510204:00 2 0 0
[ 2.654397] byt_gpio INT33FC:01: request pin 23 (GP_CAMERASB08) for INT33FC:01:405
[ 2.654460] gpio gpiochip1: Persistence not supported for GPIO 23
[ 2.654498] LDO1: 1200 <--> 1800 mV at 1200 mV, disabled
[ 2.654623] LDO1: supplied by regulator-dummy
[ 2.654739] arizona spi-WM510204:00: supply AVDD not found, using dummy regulator
[ 2.654819] arizona spi-WM510204:00: supply DBVDD1 not found, using dummy regulator
[ 2.654887] arizona spi-WM510204:00: GPIO lookup for consumer reset
[ 2.654893] arizona spi-WM510204:00: using ACPI for GPIO lookup
[ 2.654898] acpi WM510204:00: GPIO: looking up reset-gpios
[ 2.654904] acpi WM510204:00: GPIO: _DSD returned WM510204:00 1 0 0
[ 2.655043] gpio gpiochip3: Persistence not supported for GPIO 3
[ 2.664404] arizona spi-WM510204:00: 7142857 Hz actual, DMA

The attached file below is Arch Linux dmesg log, which is enabled kernel debug options for gpio. The case of Arch Linux, stuck trace appeared.
arch-dmesg.txt
Similar warning appeared in the log of Linux Mint when unload the arizona-spi module.
mint-dmesg-warning.txt
I think something is wrong with regulator enable disable functions.

@plbossart
Copy link
Member

I installed Linux Mint latest version and upgraded the kernel to 5.12. I confirmed the kernel messages same as Arch Linux.
The difference is the following messages appear only once.

kernel: arizona spi-WM510204:00: Failed to get mclk1: -2
kernel: arizona spi-WM510204:00: Failed to get mclk2: -2

@akohta can you double-check if the Linux Mint kernel configuration has support for all the CONFIG_ listed above #2485 (comment).

@akohta
Copy link

akohta commented May 25, 2021

@plbossart , thank you for your reply. In my Linux Mint kernel configuration file, CONFIG_MFD_ARIZONA is set to built-in module as it is boolean type. The others are same. Arch Linux kernel configuration file is same too. Is built-in setting of CONFIG_MFD_ARIZONA cause this?

For your reference, Linux Mint kernel configulation file is attached below.
mint-kernel-config.txt

@akohta
Copy link

akohta commented Jun 9, 2021

The sound device was enabled by the installation of Sound Open Firmware v1.8-rc2 downloaded the link below.
https://github.com/thesofproject/sof-bin
I'm using Arch linux, kernel 5.12.9 (official kernel).
After installation, Built-in Audio "Play HiFi quality Music" profile is appeared in configuration tab of pavucontrol.
It works, but keeps freezing (keep the sound like a beep) every few minutes. The following messages appeared in the log.

ALSA woke us up to write new data to the device, but there was actually nothing to write.
Most likely this is a bug in the ALSA driver 'snd_soc_sst_bytcr_wm5102'. Please report this issue to the ALSA developers.
We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail.

By enabling pulseaudio debug option, the following messages appeared in the log when freezing.

( 107.547| 75.509) D: [alsa-sink-PCM ()] sink-input.c: Requesting rewind due to corking
( 107.547| 0.000) D: [alsa-sink-PCM (
)] alsa-sink.c: Requested to rewind 19200 bytes.
( 107.547| 0.000) D: [alsa-sink-PCM ()] alsa-sink.c: Limited to 18944 bytes.
( 107.547| 0.000) D: [alsa-sink-PCM (
)] alsa-sink.c: before: 4736
( 107.547| 0.000) D: [alsa-sink-PCM ()] alsa-sink.c: after: 4736
( 107.547| 0.000) D: [alsa-sink-PCM (
)] alsa-sink.c: Rewound 18944 bytes.
( 107.547| 0.000) D: [alsa-sink-PCM ()] sink.c: Processing rewind...
( 107.547| 0.000) D: [alsa-sink-PCM (
)] sink-input.c: Have to rewind 18944 bytes on render memblockq.
( 107.547| 0.000) D: [alsa-sink-PCM ()] sink-input.c: Have to rewind 37888 bytes on implementor.
( 107.547| 0.000) D: [alsa-sink-PCM (
)] source.c: Processing rewind...
( 107.548| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.556| 0.008) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.556| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.556| 0.000) D: [pulseaudio] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: state: RUNNING -> IDLE
( 107.558| 0.002) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.558| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.559| 0.001) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.560| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.560| 0.000) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.560| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.560| 0.000) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.560| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.577| 0.017) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.577| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.619| 0.041) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.619| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.700| 0.081) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.700| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.860| 0.160) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 107.861| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 108.116| 0.255) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 108.117| 0.000) D: [alsa-sink-PCM ()] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 108.117| 0.000) I: [pulseaudio] sink.c: Cannot update sample spec, monitor source is RUNNING
( 108.117| 0.000) D: [alsa-sink-PCM (
)] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: Found underrun 18944 bytes ago (256 bytes ahead in playback buffer)
( 108.117| 0.000) D: [alsa-sink-PCM ()] protocol-native.c: Requesting rewind due to end of underrun.
( 108.117| 0.000) D: [alsa-sink-PCM (
)] sink-input.c: Requesting rewind due to uncorking
( 108.117| 0.000) D: [alsa-sink-PCM ()] alsa-sink.c: Requested to rewind 19200 bytes.
( 108.117| 0.000) D: [alsa-sink-PCM (
)] alsa-sink.c: Limited to 18944 bytes.
( 108.117| 0.000) D: [alsa-sink-PCM ()] alsa-sink.c: before: 4736
( 108.117| 0.000) D: [alsa-sink-PCM (
)] alsa-sink.c: after: 4736
( 108.117| 0.000) D: [alsa-sink-PCM ()] alsa-sink.c: Rewound 18944 bytes.
( 108.118| 0.000) D: [alsa-sink-PCM (
)] sink.c: Processing rewind...
( 108.118| 0.000) D: [alsa-sink-PCM (*)] source.c: Processing rewind...
( 108.137| 0.019) D: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink becomes busy, resuming.
( 108.138| 0.000) D: [pulseaudio] sink.c: alsa_output.platform-bytcr_wm5102.HiFi___ucm0001.hw_wm5102__sink: state: IDLE -> RUNNING

It seems that the device was switched to idle even though it was running.
Is there a way to fix it?

@plbossart
Copy link
Member

@HoshiYamazaki thanks for the information

The sound device was enabled by the installation of Sound Open Firmware v1.8-rc2 downloaded the link below.
https://github.com/thesofproject/sof-bin
I'm using Arch linux, kernel 5.12.9 (official kernel).
After installation, Built-in Audio "Play HiFi quality Music" profile is appeared in configuration tab of pavucontrol.
It works, but keeps freezing (keep the sound like a beep) every few minutes.

We have seen similar reports from @jwrdegoede and others that beeps are observed, see thesofproject/sof#3868 (comment)

it seems that enabling the firmware trace in the kernel with
options snd_sof sof_debug=1
in /etc/modprobe.d/alsa-base.conf

makes the problem less visible.

Alternatively you can disable SOF and use the legacy driver, this should work as well, and I think this is what @jwrdegoede used. We will try to fix the baytrail issues but we are swamped at the moment with other support requests on newer platforms.

@akohta
Copy link

akohta commented Jun 10, 2021

@plbossart thanks for your reply.

it seems that enabling the firmware trace in the kernel with
options snd_sof sof_debug=1
in /etc/modprobe.d/alsa-base.conf

makes the problem less visible.

The sound device is working fine for 2 hours. This module parameter is highly effective for my device.
It seems that this module parameter prevents the sound device from becoming idle while it is running.
Thank you so much for your help.

@xFiliNx
Copy link

xFiliNx commented Jul 23, 2021

@akohta Good day.

The sound device was enabled by the installation of Sound Open Firmware v1.8-rc2 downloaded the link below.
https://github.com/thesofproject/sof-bin
I'm using Arch linux, kernel 5.12.9 (official kernel).
After installation, Built-in Audio "Play HiFi quality Music" profile is appeared in configuration tab of pavucontrol.
It works, but keeps freezing (keep the sound like a beep) every few minutes. The following messages appeared in the log.

Installed according to your description:

    • Sound Open Firmware v1.8-rc2
    • Arch linux, kernel 5.12.9

however I still get
journalctl -xef

kernel: arizona spi-WM510204:00: Failed to get mclk1: -2
kernel: arizona spi-WM510204:00: Failed to get mclk2: -2

also tried Sound Open Firmware v1.8 & linux-5.13.4, the result is the same. How did you achieve a workable wm5102?

@plbossart
Copy link
Member

@xFiliNx the beeps are a known issue with xruns that we haven't been able to root-cause. The work-around is to enable the trace as suggested above

options snd_sof sof_debug=1
in /etc/modprobe.d/alsa-base.conf

The mclk issues might be a kernel config issue, see the comment #2485 (comment) above and please make sure all the options in your kernel config are selected.

@xFiliNx
Copy link

xFiliNx commented Jul 23, 2021

@plbossart

The mclk issues might be a kernel config issue, see the comment #2485 (comment) above and please make sure all the options in your kernel config are selected.

Arch's official kernel packages (linux-5.13.4.arch1-1) are already built with these options.

the beeps are a known issue with xruns that we haven't been able to root-cause. The work-around is to enable the trace as suggested above

There are no sound signals yet, it's too early to do it yet

@plbossart
Copy link
Member

@plbossart

The mclk issues might be a kernel config issue, see the comment #2485 (comment) above and please make sure all the options in your kernel config are selected.
Arch's official kernel packages (linux-5.13.4.arch1-1) are already built with these options.

Then I have no idea. This is reported as working by others...

the beeps are a known issue with xruns that we haven't been able to root-cause. The work-around is to enable the trace as suggested above

There are no sound signals yet, it's too early to do it yet

Not sure I get the point, the trace needs to be enabled on startup, regardless of whether audio is playing or not.

@akohta
Copy link

akohta commented Jul 24, 2021

Hello, @xFiliNx

The Sound Open Firmware (SOF) v1.8 has been officially released, I recommend to use it. The package name is sof-firmware.
In my case, the sound device was enabled by install the SOF only, no needed to setup specially for hardware.

kernel: arizona spi-WM510204:00: Failed to get mclk1: -2
kernel: arizona spi-WM510204:00: Failed to get mclk2: -2

The above messages are related to the legacy driver. It appears in my log even now ( Archlinux kernel 5.13.4 ).
You can ignore it, as long as you use SOF. I have no idea about this legacy driver issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working BYT Applies to Baytrail platform Not SOF FW/Driver Not using SOF audio FW and driver P3 Low-impact bugs or features
Projects
None yet
Development

No branches or pull requests

6 participants