This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLV320AIC3262: Platform driver vs I2C driver

Part Number: TLV320AIC3262
Other Parts Discussed in Thread: AM5728, BEAGLEBOARD-X15

Hi,

I have a custom board based on TI AM5728 EVM. I have connected TLV320AIC3262 Audio Codec on I2C on the custom board.

We are waiting for TI's response on the testing of the new driver. Please refer to the related post for more details.

Kindly acknowledge and revert.

Regards,

Devashish

  • Please continue to use the other thread and provide your response there.

    I believe Raphael is waiting for your update there.

    I will close this thread.

  • Hi

    In order to support both 32-bit and 64-bit Linux system. The firmware-parsing code in drive has been rewritten.

    /cfs-file/__key/communityserver-discussions-components-files/6/tlv320aic3262.7z

  • Hi,

    The previous thread is locked so I am not able to follow up on that one.

    Can you unlock that thread?

  • Hi and

    I removed all old code files and related config items, makefiles, etc, and used this new code sent by you.

    The driver is loading and I am not getting any kernel panic. However, the hw_params are not getting initialized and there is an error while loading firmware as well.

    Please provide the firmware file "tlv320aic3262_fw_v1.bin" and also provide the location where it should be placed.

    I am attaching the dmesg logs here -

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.94-gbe5389fd85 (root@cdot-ProLiant-BL460c-Gen9) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #130 SMP PREEMPT Mon May 92
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM5728 BeagleBoard-X15 rev C
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [    0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [    0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000fd800000
    [    0.000000] OMAP4: Map 0x000000027fd00000 to (ptrval) for dram barrier
    [    0.000000] Hit pending asynchronous external abort (FSR=0x00001211) during first unmask, this is most likely caused by a firmware/bootloader bug.
    [    0.000000] On node 0 totalpages: 986112
    [    0.000000]   DMA zone: 1728 pages used for memmap
    [    0.000000]   DMA zone: 0 pages reserved
    [    0.000000]   DMA zone: 139008 pages, LIFO batch:31
    [    0.000000]   HighMem zone: 847104 pages, LIFO batch:63
    [    0.000000] DRA752 ES2.0
    [    0.000000] random: get_random_bytes called from start_kernel+0xb4/0x470 with crng_init=0
    [    0.000000] percpu: Embedded 15 pages/cpu s32396 r8192 d20852 u61440
    [    0.000000] pcpu-alloc: s32396 r8192 d20852 u61440 alloc=15*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1 
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 984384
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=75cac748-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 3735828K/3944448K available (10240K kernel code, 335K rwdata, 2876K rodata, 2048K init, 278K bss, 52972K reserved, 155648K cma-reserved, 3363840K highmem)
    [    0.000000] Virtual kernel memory layout:
                       vector  : 0xffff0000 - 0xffff1000   (   4 kB)
                       fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
                       vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
                       lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
                       pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
                       modules : 0xbf000000 - 0xbfe00000   (  14 MB)
                         .text : 0x(ptrval) - 0x(ptrval)   (12256 kB)
                         .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
                         .data : 0x(ptrval) - 0x(ptrval)   ( 336 kB)
                          .bss : 0x(ptrval) - 0x(ptrval)   ( 279 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] GIC: Using split EOI/Deactivate mode
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000006] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000019] Switching to timer-based delay loop, resolution 162ns
    [    0.000296] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000306] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000802] Console: colour dummy device 80x30
    [    0.000846] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000861] pid_max: default: 32768 minimum: 301
    [    0.000984] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.000998] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001560] CPU: Testing write buffer coherency: ok
    [    0.001598] CPU0: Spectre v2: using ICIALLU workaround
    [    0.001819] /cpus/cpu@0 missing clock-frequency property
    [    0.001840] /cpus/cpu@1 missing clock-frequency property
    [    0.001853] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.059878] Setting up static identity map for 0x80200000 - 0x80200060
    [    0.079882] rcu: Hierarchical SRCU implementation.
    [    0.100082] EFI services will not be available.
    [    0.119934] smp: Bringing up secondary CPUs ...
    [    0.200316] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.200322] CPU1: Spectre v2: using ICIALLU workaround
    [    0.200448] smp: Brought up 1 node, 2 CPUs
    [    0.200461] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.200469] CPU: All CPU(s) started in HYP mode.
    [    0.200477] CPU: Virtualization extensions available.
    [    0.201058] devtmpfs: initialized
    [    0.220899] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.221161] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.221180] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.223837] pinctrl core: initialized pinctrl subsystem
    [    0.224373] DMI not present or invalid.
    [    0.224653] NET: Registered protocol family 16
    [    0.225823] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.226780] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.421285] cpuidle: using governor ladder
    [    0.421322] cpuidle: using governor menu
    [    0.431716] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
    [    0.431791] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio-0-31)
    [    0.431835] OMAP GPIO hardware version 0.1
    [    0.432459] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
    [    0.432527] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio-32-63)
    [    0.433161] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
    [    0.433237] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio-64-95)
    [    0.433871] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
    [    0.433943] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio-96-127)
    [    0.434571] gpio gpiochip4: (gpio-128-159): added GPIO chardev (254:4)
    [    0.434644] gpiochip_setup_dev: registered GPIOs 128 to 159 on device: gpiochip4 (gpio-128-159)
    [    0.435288] gpio gpiochip5: (gpio-160-191): added GPIO chardev (254:5)
    [    0.435356] gpiochip_setup_dev: registered GPIOs 160 to 191 on device: gpiochip5 (gpio-160-191)
    [    0.435977] gpio gpiochip6: (gpio-192-223): added GPIO chardev (254:6)
    [    0.436048] gpiochip_setup_dev: registered GPIOs 192 to 223 on device: gpiochip6 (gpio-192-223)
    [    0.436690] gpio gpiochip7: (gpio-224-255): added GPIO chardev (254:7)
    [    0.436761] gpiochip_setup_dev: registered GPIOs 224 to 255 on device: gpiochip7 (gpio-224-255)
    [    0.458320] No ATAGs?
    [    0.458394] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.458410] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.459272] OMAP DMA hardware revision 0.0
    [    0.471208] edma 43300000.edma: memcpy is disabled
    [    0.474624] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.481887] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.482453] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-main_12v0[0]'
    [    0.482706] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-evm_5v0[0]'
    [    0.482730] evm_5v0: supplied by main_12v0
    [    0.482992] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-vdd_3v3[0]'
    [    0.483222] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-aic_dvdd[0]'
    [    0.483482] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixedregulator-vtt[0]' - status (0)
    [    0.486173] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.486355] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.486599] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.486844] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.487223] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.487400] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.487688] iommu: Adding device 58820000.ipu to group 1
    [    0.487777] iommu: Adding device 55020000.ipu to group 2
    [    0.487908] iommu: Adding device 40800000.dsp to group 0
    [    0.488149] iommu: Adding device 41000000.dsp to group 3
    [    0.489323] SCSI subsystem initialized
    [    0.490390] palmas 0-0058: Irq flag is 0x00000008
    [    0.522192] palmas 0-0058: Muxing GPIO 2b, PWM 0, LED 0
    [    0.523791] SMPS12: supplied by regulator-dummy
    [    0.525456] SMPS3: supplied by regulator-dummy
    [    0.527098] SMPS45: supplied by regulator-dummy
    [    0.528888] SMPS6: supplied by regulator-dummy
    [    0.530297] SMPS7: supplied by regulator-dummy
    [    0.531693] SMPS8: supplied by regulator-dummy
    [    0.532959] SMPS9: supplied by regulator-dummy
    [    0.533627] LDO1: supplied by regulator-dummy
    [    0.541343] LDO2: supplied by regulator-dummy
    [    0.551155] random: fast init done
    [    0.551211] LDO3: supplied by regulator-dummy
    [    0.561217] LDO4: supplied by regulator-dummy
    [    0.571230] LDO5: supplied by regulator-dummy
    [    0.571907] LDO6: supplied by regulator-dummy
    [    0.572594] LDO7: supplied by regulator-dummy
    [    0.573276] LDO8: supplied by regulator-dummy
    [    0.573975] LDO9: supplied by regulator-dummy
    [    0.581253] LDOLN: supplied by regulator-dummy
    [    0.591273] LDOUSB: supplied by regulator-dummy
    [    0.602919] gpiochip_find_base: found new base at 504
    [    0.603066] gpio gpiochip8: (48070000.i2c:tps659038@58:tps659038_gpio): added GPIO chardev (254:8)
    [    0.603139] gpiochip_setup_dev: registered GPIOs 504 to 511 on device: gpiochip8 (48070000.i2c:tps659038@58:tps659038_gpio)
    [    0.603483] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.604408] omap_i2c 48072000.i2c: bus 1 rev0.12 at 400 kHz
    [    0.605061] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.605588] omap_i2c 4807a000.i2c: bus 3 rev0.12 at 400 kHz
    [    0.606109] omap_i2c 4807c000.i2c: bus 4 rev0.12 at 400 kHz
    [    0.606315] media: Linux media interface: v0.10
    [    0.606353] videodev: Linux video capture interface: v2.00
    [    0.606437] pps_core: LinuxPPS API ver. 1 registered
    [    0.606447] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.606468] PTP clock support registered
    [    0.606500] EDAC MC: Ver: 3.0.0
    [    0.611299] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.611550] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.612032] Advanced Linux Sound Architecture Driver Initialized.
    [    0.612457] Bluetooth: Core ver 2.22
    [    0.612495] NET: Registered protocol family 31
    [    0.612504] Bluetooth: HCI device and connection manager initialized
    [    0.612518] Bluetooth: HCI socket layer initialized
    [    0.612531] Bluetooth: L2CAP socket layer initialized
    [    0.612570] Bluetooth: SCO socket layer initialized
    [    0.612959] clocksource: Switched to clocksource arch_sys_counter
    [    0.621350] NET: Registered protocol family 2
    [    0.621928] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
    [    0.621962] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.622001] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
    [    0.622069] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.622142] UDP hash table entries: 256 (order: 1, 8192 bytes)
    [    0.622167] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
    [    0.622291] NET: Registered protocol family 1
    [    0.642720] RPC: Registered named UNIX socket transport module.
    [    0.642731] RPC: Registered udp transport module.
    [    0.642739] RPC: Registered tcp transport module.
    [    0.642748] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.642760] PCI: CLS 0 bytes, default 64
    [    0.643837] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.644067] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.645072] Initialise system trusted keyrings
    [    0.645221] workingset: timestamp_bits=14 max_order=20 bucket_order=6
    [    0.650355] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.650849] NFS: Registering the id_resolver key type
    [    0.650878] Key type id_resolver registered
    [    0.650888] Key type id_legacy registered
    [    0.650929] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.654435] Key type asymmetric registered
    [    0.654448] Asymmetric key parser 'x509' registered
    [    0.654497] bounce: pool size: 64 pages
    [    0.654533] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.654544] io scheduler noop registered
    [    0.654554] io scheduler deadline registered
    [    0.654659] io scheduler cfq registered (default)
    [    0.654670] io scheduler mq-deadline registered
    [    0.654680] io scheduler kyber registered
    [    0.660524] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
    [    0.665385] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [    0.665556] dra7-pcie 51000000.pcie: GPIO lookup for consumer (null)
    [    0.665564] dra7-pcie 51000000.pcie: using device tree for GPIO lookup
    [    0.665583] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/ocp/axi@0/pcie@51000000[0]'
    [    0.665597] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/ocp/axi@0/pcie@51000000[0]'
    [    0.665607] dra7-pcie 51000000.pcie: using lookup tables for GPIO lookup
    [    0.665616] dra7-pcie 51000000.pcie: No GPIO consumer (null) found
    [    0.665789] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.665806] dra7-pcie 51000000.pcie: Parsing ranges property...
    [    0.665838] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.665867] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    1.666131] dra7-pcie 51000000.pcie: Phy link never came up
    [    1.666272] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    1.666288] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    1.666300] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    1.666312] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    1.666322] pci_bus 0000:00: scanning bus
    [    1.666355] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [    1.666388] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
    [    1.666451] pci 0000:00:00.0: supports D1
    [    1.666458] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    1.666467] pci 0000:00:00.0: PME# disabled
    [    1.672693] pci_bus 0000:00: fixups for bus
    [    1.672707] PCI: bus0: Fast back to back transfers disabled
    [    1.672724] pci 0000:00:00.0: scanning [bus 01-ff] behind bridge, pass 0
    [    1.672817] pci_bus 0000:01: scanning bus
    [    1.678698] pci_bus 0000:01: fixups for bus
    [    1.678705] PCI: bus1: Fast back to back transfers enabled
    [    1.678718] pci_bus 0000:01: bus scan returning with max=01
    [    1.678733] pci 0000:00:00.0: scanning [bus 01-ff] behind bridge, pass 1
    [    1.678744] pci_bus 0000:00: bus scan returning with max=ff
    [    1.678775] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [    1.678794] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [    1.678927] pcieport 0000:00:00.0: assign IRQ: got 176
    [    1.679132] pcieport 0000:00:00.0: Signaling PME with IRQ 177
    [    1.679262] pcieport 0000:00:00.0: AER enabled with IRQ 177
    [    1.680313] pwm-backlight backlight: GPIO lookup for consumer enable
    [    1.680320] pwm-backlight backlight: using device tree for GPIO lookup
    [    1.680336] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/backlight[0]'
    [    1.680349] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/backlight[0]'
    [    1.680359] pwm-backlight backlight: using lookup tables for GPIO lookup
    [    1.680366] pwm-backlight backlight: No GPIO consumer enable found
    [    1.680402] pwm-backlight backlight: backlight supply power not found, using dummy regulator
    [    1.680479] pwm-backlight backlight: Linked as a consumer to regulator.0
    [    1.680631] pwm-backlight backlight: invalid default brightness level: 8, using 7
    [    1.681687] gpio-clk clk_ov5640: GPIO lookup for consumer enable
    [    1.681694] gpio-clk clk_ov5640: using device tree for GPIO lookup
    [    1.681722] of_get_named_gpiod_flags: parsed 'enable-gpios' property of node '/clk_ov5640[0]' - status (0)
    [    1.681758] gpio gpiochip4: Persistence not supported for GPIO 18
    [    1.683903] vdd_3v3: supplied by regen1
    [    1.684144] aic_dvdd_fixed: supplied by vdd_3v3
    [    1.684214] vtt_fixed: supplied by smps3
    [    1.729814] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    1.733479] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 45, base_baud = 3000000) is a 8250
    [    1.734430] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 46, base_baud = 3000000) is a 8250
    [    2.901044] console [ttyS2] enabled
    [    2.906771] omap_rng 48090000.rng: Random Number Generator ver. 20
    [    2.907302] random: crng init done
    [    2.945510] tpm tpm0: starting up the TPM manually
    [    3.008494] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    3.015613] omapdss_dss 58000000.dss: Dropping the link to regulator.22
    [    3.027742] panel-simple display: display supply power not found, using dummy regulator
    [    3.035884] panel-simple display: Linked as a consumer to regulator.0
    [    3.042358] panel-simple display: GPIO lookup for consumer enable
    [    3.042365] panel-simple display: using device tree for GPIO lookup
    [    3.042395] of_get_named_gpiod_flags: parsed 'enable-gpios' property of node '/display[0]' - status (0)
    [    3.042411] gpio gpiochip4: Persistence not supported for GPIO 12
    [    3.050767] brd: module loaded
    [    3.060290] loop: module loaded
    [    3.067706] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    3.067714] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    3.067723] mdio_bus fixed-0: No GPIO consumer reset found
    [    3.067747] libphy: Fixed MDIO Bus: probed
    [    3.074838] mdio_bus 48485000.mdio: GPIO lookup for consumer reset
    [    3.074847] mdio_bus 48485000.mdio: using device tree for GPIO lookup
    [    3.074865] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@48484000/mdio@48485000[0]'
    [    3.074880] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@48484000/mdio@48485000[0]'
    [    3.074889] mdio_bus 48485000.mdio: using lookup tables for GPIO lookup
    [    3.074897] mdio_bus 48485000.mdio: No GPIO consumer reset found
    [    3.132982] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    3.140678] libphy: 48485000.mdio: probed
    [    3.146934] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@48484000/mdio@48485000/ethernet-phy@0[0]'
    [    3.148982] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@48484000/mdio@48485000/ethernet-phy@1[0]'
    [    3.149111] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Microsemi GE VSC8502 SyncE
    [    3.158832] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Microsemi GE VSC8502 SyncE
    [    3.169086] cpsw 48484000.ethernet: Detected MACID = d0:03:eb:6c:50:36
    [    3.175723] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    3.182106] cpsw 48484000.ethernet: ALE Table size 1024
    [    3.187422] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    3.195463] cpsw 48484000.ethernet: cpsw: Detected MACID = d0:03:eb:6c:50:37
    [    3.203900]  DEBUG: keypad irq = 102
    [    3.207497] 
                   DEBUG: Autorepeat disabled 
    [    3.213185] input: 4ae1c000.keypad as /devices/platform/44000000.ocp/4ae1c000.keypad/input/input0
    [    3.222941] edt_ft5x06 4-0038: GPIO lookup for consumer reset
    [    3.222973] edt_ft5x06 4-0038: using device tree for GPIO lookup
    [    3.222993] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/i2c@4807c000/edt-ft5x06@38[0]'
    [    3.223007] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/i2c@4807c000/edt-ft5x06@38[0]'
    [    3.223016] edt_ft5x06 4-0038: using lookup tables for GPIO lookup
    [    3.223023] edt_ft5x06 4-0038: No GPIO consumer reset found
    [    3.223031] edt_ft5x06 4-0038: GPIO lookup for consumer wake
    [    3.223038] edt_ft5x06 4-0038: using device tree for GPIO lookup
    [    3.223053] of_get_named_gpiod_flags: can't parse 'wake-gpios' property of node '/ocp/i2c@4807c000/edt-ft5x06@38[0]'
    [    3.223066] of_get_named_gpiod_flags: can't parse 'wake-gpio' property of node '/ocp/i2c@4807c000/edt-ft5x06@38[0]'
    [    3.223074] edt_ft5x06 4-0038: using lookup tables for GPIO lookup
    [    3.223081] edt_ft5x06 4-0038: No GPIO consumer wake found
    [    3.255292] input: generic ft5x06 (8d) as /devices/platform/44000000.ocp/4807c000.i2c/i2c-4/4-0038/input/input1
    [    3.293433] rtc-ds1307 2-006f: got IRQ 180
    [    3.293756] rtc-ds1307 2-006f: read: a7 43 16 3a 09 05 22
    [    3.293767] rtc-ds1307 2-006f: read secs=27, mins=43, hours=16, mday=9, mon=4, year=122, wday=1
    [    3.294143] rtc-ds1307 2-006f: mcp794xx_read_alarm, sec=0 min=0 hour=0 wday=-1 mday=0 mon=-1 enabled=0 polarity=0 irq=0 match=0
    [    3.294447] rtc-ds1307 2-006f: read: a7 43 16 3a 09 05 22
    [    3.294457] rtc-ds1307 2-006f: read secs=27, mins=43, hours=16, mday=9, mon=4, year=122, wday=1
    [    3.294466] rtc rtc0: alarm rollover: day
    [    3.294771] rtc-ds1307 2-006f: read: a7 43 16 3a 09 05 22
    [    3.294781] rtc-ds1307 2-006f: read secs=27, mins=43, hours=16, mday=9, mon=4, year=122, wday=1
    [    3.294922] rtc-ds1307 2-006f: char device (252:0)
    [    3.294935] rtc-ds1307 2-006f: registered as rtc0
    [    3.302728] rtc rtc1: 48070000.i2c:tps659038@58:tps659038_rtc: dev (252:1)
    [    3.302738] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659038@58:tps659038_rtc as rtc1
    [    3.315821] i2c /dev entries driver
    [    3.321513] gpio-fan gpio_fan: GPIO lookup for consumer alarm
    [    3.321520] gpio-fan gpio_fan: using device tree for GPIO lookup
    [    3.321537] of_get_named_gpiod_flags: can't parse 'alarm-gpios' property of node '/gpio_fan[0]'
    [    3.321551] of_get_named_gpiod_flags: can't parse 'alarm-gpio' property of node '/gpio_fan[0]'
    [    3.321559] gpio-fan gpio_fan: using lookup tables for GPIO lookup
    [    3.321566] gpio-fan gpio_fan: No GPIO consumer alarm found
    [    3.321580] gpio-fan gpio_fan: GPIO lookup for consumer (null)
    [    3.321587] gpio-fan gpio_fan: using device tree for GPIO lookup
    [    3.321611] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio_fan[0]' - status (0)
    [    3.321620] no flags found for (null)
    [    3.322838] gpio-fan gpio_fan: GPIO fan initialized
    [    3.331134] cpu cpu0: Linked as a consumer to regulator.6
    [    3.336662] cpu cpu0: Linked as a consumer to regulator.29
    [    3.344341] sdhci: Secure Digital Host Controller Interface driver
    [    3.350544] sdhci: Copyright(c) Pierre Ossman
    [    3.355564] sdhci-pltfm: SDHCI platform and OF driver helper
    [    3.361845] sdhci-omap 4809c000.mmc: GPIO lookup for consumer cd
    [    3.361851] sdhci-omap 4809c000.mmc: using device tree for GPIO lookup
    [    3.361869] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@4809c000[0]' - status (0)
    [    3.361900] gpio gpiochip5: Persistence not supported for GPIO 27
    [    3.361909] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
    [    3.370764] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    3.375412] sdhci-omap 4809c000.mmc: GPIO lookup for consumer wp
    [    3.375417] sdhci-omap 4809c000.mmc: using device tree for GPIO lookup
    [    3.375427] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@4809c000[0]'
    [    3.375437] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@4809c000[0]'
    [    3.375443] sdhci-omap 4809c000.mmc: using lookup tables for GPIO lookup
    [    3.375448] sdhci-omap 4809c000.mmc: No GPIO consumer wp found
    [    3.375581] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.28
    [    3.382598] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    3.389480] sdhci-omap 4809c000.mmc: Dropping the link to regulator.13
    [    3.396118] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.3
    [    3.403041] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    3.409977] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
    [    3.443168] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    3.451036] sdhci-omap 480b4000.mmc: GPIO lookup for consumer wp
    [    3.451044] sdhci-omap 480b4000.mmc: using device tree for GPIO lookup
    [    3.451061] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@480b4000[0]'
    [    3.451075] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@480b4000[0]'
    [    3.451083] sdhci-omap 480b4000.mmc: using lookup tables for GPIO lookup
    [    3.451091] sdhci-omap 480b4000.mmc: No GPIO consumer wp found
    [    3.451392] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    3.458223] sdhci-omap 480b4000.mmc: Dropping the link to regulator.3
    [    3.465004] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    3.495735] mmc1: SDHCI controller on 480b4000.mmc [480b4000.mmc] using ADMA
    [    3.503833] ledtrig-cpu: registered to indicate activity on CPUs
    [    3.511690] mmc0: host does not support reading read-only switch, assuming write-enable
    [    3.521695] mmc0: new high speed SDHC card at address 59b4
    [    3.521752] tlv320aic3262-codec 3-0018: aic3xxx_device_init beginning
    [    3.537911] mmcblk0: mmc0:59b4 USD00 14.7 GiB 
    [    3.544231]  mmcblk0: p1 p2
    [    3.550230] mmc1: new DDR MMC card at address 0001
    [    3.555708] mmcblk1: mmc1:0001 S0J57X 29.6 GiB 
    [    3.560679] mmcblk1boot0: mmc1:0001 S0J57X partition 1 31.5 MiB
    [    3.567418] mmcblk1boot1: mmc1:0001 S0J57X partition 2 31.5 MiB
    [    3.573565] mmcblk1rpmb: mmc1:0001 S0J57X partition 3 4.00 MiB, chardev (244:0)
    [    3.581553]  mmcblk1: p1 p2
    [    3.584505] tlv320aic3262-codec 3-0018: TLV320AIC3262 revision G
    [    3.590780] tlv320aic3262-codec 3-0018: aic3xxx_device_init added mfd devices
    [    3.600259] NET: Registered protocol family 10
    [    3.615385] Segment Routing with IPv6
    [    3.619103] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    3.625768] NET: Registered protocol family 17
    [    3.630472] Key type dns_resolver registered
    [    3.634975] Registering SWP/SWPB emulation handler
    [    3.639788] omap_voltage_late_init: Voltage driver support not added
    [    3.646222] Power Management for TI OMAP4+ devices.
    [    3.652092] Loading compiled-in X.509 certificates
    [    3.674711] dmm 4e000000.dmm: workaround for errata i878 in use
    [    3.682034] dmm 4e000000.dmm: initialized all PAT entries
    [    3.688287] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    3.695368] DSS: OMAP DSS rev 6.1
    [    3.699568] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    3.733318] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    3.739960] [drm] No driver support for vblank timestamp query.
    [    3.749055] [drm] Enabling DMM ywrap scrolling
    [    3.758293] Console: switching to colour frame buffer device 128x37
    [    3.768593] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
    [    3.775625] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 0
    [    3.783228] of_get_named_gpiod_flags: can't parse 'simple-audio-card,hp-det-gpio' property of node '/sound0[0]'
    [    3.783239] of_get_named_gpiod_flags: can't parse 'simple-audio-card,mic-det-gpio' property of node '/sound0[0]'
    [    3.783321] aic3262_codec_probe enter
    [    3.783326] driver_init: Allocated Major Number: 243
    
    [    3.793476] driver_init: Registered cfw driver
    [    3.798022] tlv320aic3262-codec 3-0018: Unbalanced pm_runtime_enable!
    [    3.804759] tlv320aic3262-codec 3-0018: p 1 , r 30 7a 1
    [    3.810005] tlv320aic3262-codec 3-0018: p 1, w 30 7a 5
    [    3.855419] tlv320aic3262-codec 3-0018: p 1 , r 30 23 10
    [    3.860753] tlv320aic3262-codec 3-0018: p 1, w 30 23 30
    [    3.866116] aic3262_codec_probe exit
    [    3.866247] tlv320aic3262-codec 3-0018: Direct firmware load for tlv320aic3262_fw_v1.bin failed with error -2
    [    3.879828] tlv320aic3262-codec 3-0018: request_firmware failed
    [    3.885866] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.891167] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.896490] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.901788] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.907106] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.912491] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.917894] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.923303] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.928694] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    3.934103] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    3.939492] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    3.944905] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    3.950433] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    3.955842] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    3.961233] tlv320aic3262-codec 3-0018: p 1 , r 30 1c 7f
    [    3.966729] tlv320aic3262-codec 3-0018: p 1 , r 30 1d 7f
    [    3.972207] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    3.977609] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    3.983005] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    3.988401] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    3.993814] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    3.999207] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.004611] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.010003] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.015411] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.020801] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    4.026210] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    4.031612] tlv320aic3262-codec 3-0018: p 1 , r 30 24 7f
    [    4.037108] tlv320aic3262-codec 3-0018: p 1 , r 30 26 7f
    [    4.042592] tlv320aic3262-codec 3-0018: p 1 , r 30 27 7f
    [    4.048089] tlv320aic3262-codec 3-0018: p 1 , r 30 25 7f
    [    4.053588] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.058979] tlv320aic3262-codec 3-0018: p 1 , r 30 2e 7f
    [    4.064471] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.069861] tlv320aic3262-codec 3-0018: p 1 , r 30 2f 7f
    [    4.075356] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.080863] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.086272] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.091662] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.097073] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.102467] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.107871] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.113275] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.118664] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.124074] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.129469] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.134872] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.140261] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.145669] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.151058] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.156461] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.161857] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.167264] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.172650] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.178062] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.183472] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.188862] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.194270] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.199662] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.205071] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.210461] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.215869] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.221263] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.226666] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.231913] tlv320aic3262-codec 3-0018: Control not supported for path DAC MiniDSP IN1 Route -> [NULL] -> Left DAC
    [    4.242317] tlv320aic3262-codec 3-0018: ASoC: no dapm match for DAC MiniDSP IN1 Route --> NULL --> Left DAC
    [    4.252109] tlv320aic3262-codec 3-0018: ASoC: Failed to add route DAC MiniDSP IN1 Route -> NULL -> Left DAC
    [    4.261902] tlv320aic3262-codec 3-0018: Control not supported for path DAC MiniDSP IN1 Route -> [NULL] -> Right DAC
    [    4.272387] tlv320aic3262-codec 3-0018: ASoC: no dapm match for DAC MiniDSP IN1 Route --> NULL --> Right DAC
    [    4.282264] tlv320aic3262-codec 3-0018: ASoC: Failed to add route DAC MiniDSP IN1 Route -> NULL -> Right DAC
    [    4.292141] tlv320aic3262-codec 3-0018: Control not supported for path DAC MiniDSP IN2 Route -> [NULL] -> Left DAC
    [    4.302539] tlv320aic3262-codec 3-0018: ASoC: no dapm match for DAC MiniDSP IN2 Route --> NULL --> Left DAC
    [    4.312327] tlv320aic3262-codec 3-0018: ASoC: Failed to add route DAC MiniDSP IN2 Route -> NULL -> Left DAC
    [    4.322115] tlv320aic3262-codec 3-0018: Control not supported for path DAC MiniDSP IN2 Route -> [NULL] -> Right DAC
    [    4.332602] tlv320aic3262-codec 3-0018: ASoC: no dapm match for DAC MiniDSP IN2 Route --> NULL --> Right DAC
    [    4.342477] tlv320aic3262-codec 3-0018: ASoC: Failed to add route DAC MiniDSP IN2 Route -> NULL -> Right DAC
    [    4.352352] tlv320aic3262-codec 3-0018: Control not supported for path DAC MiniDSP IN3 Route -> [NULL] -> Left DAC
    [    4.362750] tlv320aic3262-codec 3-0018: ASoC: no dapm match for DAC MiniDSP IN3 Route --> NULL --> Left DAC
    [    4.372537] tlv320aic3262-codec 3-0018: ASoC: Failed to add route DAC MiniDSP IN3 Route -> NULL -> Left DAC
    [    4.382326] tlv320aic3262-codec 3-0018: Control not supported for path DAC MiniDSP IN3 Route -> [NULL] -> Right DAC
    [    4.392818] tlv320aic3262-codec 3-0018: ASoC: no dapm match for DAC MiniDSP IN3 Route --> NULL --> Right DAC
    [    4.402694] tlv320aic3262-codec 3-0018: ASoC: Failed to add route DAC MiniDSP IN3 Route -> NULL -> Right DAC
    [    4.412819] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    4.418229] tlv320aic3262-codec 3-0018: p 1 , r 30 12 3f
    [    4.423730] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    4.429120] tlv320aic3262-codec 3-0018: p 1 , r 30 13 3f
    [    4.434720] tlv320aic3262-codec 3-0018: p 0 , r 30 0 0
    [    4.440022] tlv320aic3262-codec 3-0018: p 0 , r 30 0 0
    [    4.445445] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.450838] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.456246] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.461634] tlv320aic3262-codec 3-0018: p 1 , r 30 35 0
    [    4.467042] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.472432] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.477841] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.483243] tlv320aic3262-codec 3-0018: p 1 , r 30 35 0
    [    4.488632] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.494038] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.499435] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    4.504839] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    4.510233] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    4.515638] tlv320aic3262-codec 3-0018: p 1 , r 30 38 0
    [    4.521034] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    4.526444] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    4.531838] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    4.537241] tlv320aic3262-codec 3-0018: p 1 , r 30 38 0
    [    4.542632] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    4.548034] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    4.553547] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    4.558939] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    4.564345] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    4.569743] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    4.575267] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    4.580570] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    4.585888] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    4.591189] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    4.596513] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    4.601908] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    4.607317] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    4.612707] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    4.618115] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    4.623520] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    4.628910] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    4.634317] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    4.639711] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    4.645123] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    4.650522] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    4.655839] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    4.661146] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    4.666461] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    4.671771] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    4.677179] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    4.682568] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    4.687970] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    4.693378] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    4.698774] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    4.704181] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    4.709572] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    4.714898] tlv320aic3262-codec 3-0018: aic3262_set_dai_fmt enter
    [    4.721015] tlv320aic3262-codec 3-0018: ASoC: Failed to set DAI format: -22
    [    4.728362] asoc-simple-card sound0: aic326x-asi1 <-> 48468000.mcasp mapping ok
    [    4.735746] asoc-simple-card sound0: ASoC: no DMI vendor name!
    [    4.741868] tlv320aic3262-codec 3-0018: p 0 , r 30 3f 0
    [    4.747278] tlv320aic3262-codec 3-0018: p 0 , r 30 3f 0
    [    4.752828] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.758239] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.763712] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.769107] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.774565] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.779960] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.785394] tlv320aic3262-codec 3-0018: p 1 , r 30 28 39
    [    4.790871] tlv320aic3262-codec 3-0018: p 1 , r 30 28 39
    [    4.797951] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    4.803371] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    4.808874] tlv320aic3262-codec 3-0018: p 1 , r 30 3b 80
    [    4.814369] tlv320aic3262-codec 3-0018: p 1 , r 30 3c 80
    [    4.819847] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    4.825788] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    4.833483] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [    4.838883] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [    4.844397] tlv320aic3262-codec 3-0018: p 0 , r 30 6 11
    [    4.849823] tlv320aic3262-codec 3-0018: p 0 , r 30 b 1
    [    4.855155] tlv320aic3262-codec 3-0018: p 0 , r 30 c 1
    [    4.860462] tlv320aic3262-codec 3-0018: p 0 , r 30 12 1
    [    4.865871] tlv320aic3262-codec 3-0018: p 0 , r 30 13 1
    [    4.871391] tlv320aic3262-codec 3-0018: p 4 , r 30 c 1
    [    4.876712] tlv320aic3262-codec 3-0018: p 4 , r 30 d 20
    [    4.882106] tlv320aic3262-codec 3-0018: p 4 , r 30 1c 1
    [    4.887515] tlv320aic3262-codec 3-0018: p 4 , r 30 1d 20
    [    4.893000] tlv320aic3262-codec 3-0018: p 4 , r 30 2c 1
    [    4.898396] tlv320aic3262-codec 3-0018: p 4 , r 30 2d 20
    [    4.904765] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio_keys/USER1[0]' - status (0)
    [    4.904780] gpio gpiochip0: Persistence not supported for GPIO 14
    [    4.904894] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio_keys/USER2[0]' - status (0)
    [    4.904929] gpio gpiochip1: Persistence not supported for GPIO 6
    [    4.905005] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio_keys/USER3[0]' - status (0)
    [    4.905015] gpio gpiochip4: Persistence not supported for GPIO 1
    [    4.905169] input: gpio_keys as /devices/platform/gpio_keys/input/input2
    [    4.912387] rtc-ds1307 2-006f: read: a9 43 16 3a 09 05 22
    [    4.912395] rtc-ds1307 2-006f: read secs=29, mins=43, hours=16, mday=9, mon=4, year=122, wday=1
    [    4.912415] rtc-ds1307 2-006f: setting system clock to 2022-05-09 16:43:29 UTC (1652114609)
    [    4.921448] ALSA device list:
    [    4.924442]   #0: BeagleBoard-X15
    [    4.957429] EXT4-fs (mmcblk1p2): recovery complete
    [    4.963455] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
    [    4.971615] VFS: Mounted root (ext4 filesystem) on device 179:18.
    [    4.980750] devtmpfs: mounted
    [    4.984673] Freeing unused kernel memory: 2048K
    [    4.989320] Run /sbin/init as init process
    [    5.123865] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -I)
    [    5.145782] systemd[1]: Detected architecture arm.
    [    5.183413] systemd[1]: Set hostname to <am57xx-evm>.
    [    5.299055] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
    [    5.316302] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
    [    5.475943] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [    5.503882] systemd[1]: Listening on Journal Socket (/dev/log).
    [    5.533253] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    5.591250] systemd[1]: Listening on Process Core Dump Socket.
    [    5.624597] systemd[1]: Listening on Network Service Netlink Socket.
    [    5.783889] cmemk: loading out-of-tree module taints kernel.
    [    5.790628] CMEMK module: reference Linux version 4.19.94
    [    5.796835] allocated heap buffer 0x40500000 of size 0x100000
    [    5.802670] cmemk initialized
    [    5.809414] cryptodev: driver 1.9 loaded.
    [    5.859531] usbcore: registered new interface driver usbfs
    [    5.865175] usbcore: registered new interface driver hub
    [    5.870586] usbcore: registered new device driver usb
    [    5.896632] usbcore: registered new interface driver ftdi_sio
    [    5.906745] usbserial: USB Serial support registered for FTDI USB Serial Device
    [    5.928141] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null)
    [    6.651078] systemd-journald[113]: Received request to flush runtime journal from PID 1
    [    7.021549] omap-rproc 58820000.ipu: ignoring dependency for device, assuming no driver
    [    7.081684] omap-rproc 58820000.ipu: ignoring dependency for device, assuming no driver
    [    7.103209] omap-rproc 58820000.ipu: assigned reserved memory node ipu1-memory@9d000000
    [    7.111346] remoteproc remoteproc0: 58820000.ipu is available
    [    7.122885] omap-rproc 55020000.ipu: ignoring dependency for device, assuming no driver
    [    7.145012] omap-rproc 55020000.ipu: ignoring dependency for device, assuming no driver
    [    7.194209] omap-rproc 55020000.ipu: assigned reserved memory node ipu2-memory@95800000
    [    7.204971] remoteproc remoteproc1: 55020000.ipu is available
    [    7.216279] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
    [    7.251503] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
    [    7.268522] omap-rproc 40800000.dsp: assigned reserved memory node dsp1-memory@99000000
    [    7.282349] remoteproc remoteproc0: powering up 58820000.ipu
    [    7.292027] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 6887428
    [    7.334250] remoteproc remoteproc1: powering up 55020000.ipu
    [    7.340326] remoteproc remoteproc1: Booting fw image dra7-ipu2-fw.xem4, size 3747220
    [    7.354937] remoteproc remoteproc2: 40800000.dsp is available
    [    7.367611] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    7.367876] virtio_rpmsg_bus virtio0: creating channel rpmsg-proto addr 0x3d
    [    7.402142] remoteproc remoteproc0: registered virtio0 (type 7)
    [    7.416862] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
    [    7.436397] omap-rproc 41000000.dsp: ignoring dependency for device, assuming no driver
    [    7.456184] remoteproc remoteproc0: remote processor 58820000.ipu is now up
    [    7.492140] omap-rproc 41000000.dsp: ignoring dependency for device, assuming no driver
    [    7.554427] omap-rproc 41000000.dsp: assigned reserved memory node dsp2-memory@9f000000
    [    7.581707] Error: Driver 'rtc-ds1307' is already registered, aborting...
    [    7.591144] at24 0-0050: GPIO lookup for consumer wp
    [    7.591152] at24 0-0050: using device tree for GPIO lookup
    [    7.591170] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/i2c@48070000/eeprom@50[0]'
    [    7.591182] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/i2c@48070000/eeprom@50[0]'
    [    7.591191] at24 0-0050: using lookup tables for GPIO lookup
    [    7.591216] at24 0-0050: No GPIO consumer wp found
    [    7.591573] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
    [    7.610045] 
    [    7.618732] remoteproc remoteproc3: 41000000.dsp is available
    [    7.640655] ov5640 2-003c: GPIO lookup for consumer powerdown
    [    7.640665] ov5640 2-003c: using device tree for GPIO lookup
    [    7.640697] of_get_named_gpiod_flags: parsed 'powerdown-gpios' property of node '/ocp/i2c@48060000/ov5640@3c[0]' - status (0)
    [    7.640714] gpio gpiochip4: Persistence not supported for GPIO 17
    [    7.640724] ov5640 2-003c: GPIO lookup for consumer reset
    [    7.640729] ov5640 2-003c: using device tree for GPIO lookup
    [    7.640741] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/i2c@48060000/ov5640@3c[0]'
    [    7.640751] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/i2c@48060000/ov5640@3c[0]'
    [    7.640758] ov5640 2-003c: using lookup tables for GPIO lookup
    [    7.640765] ov5640 2-003c: No GPIO consumer reset found
    [    7.640811] ov5640 2-003c: 2-003c supply DOVDD not found, using dummy regulator
    [    7.707394] Error: Driver 'palmas-rtc' is already registered, aborting...
    [    7.715255] ov5640 2-003c: Linked as a consumer to regulator.0
    [    7.750247] Error: Driver 'rtc-ds1307' is already registered, aborting...
    [    7.769825] Driver for 1-wire Dallas network protocol.
    [    7.792103] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: GPIO lookup for consumer id
    [    7.792110] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: using device tree for GPIO lookup
    [    7.792125] of_get_named_gpiod_flags: can't parse 'id-gpios' property of node '/ocp/i2c@48070000/tps659038@58/tps659038_usb[0]'
    [    7.792135] of_get_named_gpiod_flags: can't parse 'id-gpio' property of node '/ocp/i2c@48070000/tps659038@58/tps659038_usb[0]'
    [    7.792143] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: using lookup tables for GPIO lookup
    [    7.792150] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: No GPIO consumer id found
    [    7.792156] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: GPIO lookup for consumer vbus
    [    7.792161] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: using device tree for GPIO lookup
    [    7.792171] of_get_named_gpiod_flags: can't parse 'vbus-gpios' property of node '/ocp/i2c@48070000/tps659038@58/tps659038_usb[0]'
    [    7.792191] of_get_named_gpiod_flags: parsed 'vbus-gpio' property of node '/ocp/i2c@48070000/tps659038@58/tps659038_usb[0]' - status (0)
    [    7.792241] gpio gpiochip3: Persistence not supported for GPIO 21
    [    7.795319] ov5640 2-003c: 2-003c supply DVDD not found, using dummy regulator
    [    7.839788] ov5640 2-003c: 2-003c supply AVDD not found, using dummy regulator
    [    7.884232] Error: Driver 'palmas-rtc' is already registered, aborting...
    [    7.899348] remoteproc remoteproc2: powering up 40800000.dsp
    [    7.922894] 
    [    7.950149] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 20482288
    [    7.963204] omap_hdq 480b2000.1w: OMAP HDQ Hardware Rev 0.:. Driver in Interrupt mode
    [    7.977011] 
    [    7.990448] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [    7.996421] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [    8.026979] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    8.030134] virtio_rpmsg_bus virtio1: creating channel rpmsg-rpc addr 0x65
    [    8.038082] remoteproc remoteproc1: registered virtio1 (type 7)
    [    8.064367] virtio_rpmsg_bus virtio1: creating channel rpmsg-rpc addr 0x66
    [    8.066100] remoteproc remoteproc1: remote processor 55020000.ipu is now up
    [    8.105980] omap_rtc 48838000.rtc: char device (252:2)
    [    8.105991] omap_rtc 48838000.rtc: registered as rtc2
    [    8.177946] w1_master_driver w1_bus_master1: Attaching one wire slave 01.000000000000 crc 3d
    [    8.201246] vpe 489d0000.vpe: loading firmware vpdma-1b8.bin
    [    8.225113] virtio_rpmsg_bus virtio2: rpmsg host is online
    [    8.225195] virtio_rpmsg_bus virtio2: creating channel rpmsg-proto addr 0x3d
    [    8.242677] remoteproc remoteproc2: registered virtio2 (type 7)
    [    8.245349] w1_master_driver w1_bus_master1: Family 1 for 01.000000000000.3d is not registered.
    [    8.290743] remoteproc remoteproc2: remote processor 40800000.dsp is now up
    [    8.328266] net eth0: initializing cpsw version 1.15 (0)
    [    8.361968] vip 48990000.vip: loading firmware vpdma-1b8.bin
    [    8.379881] remoteproc remoteproc3: powering up 41000000.dsp
    [    8.387579] vpe 489d0000.vpe: Device registered as /dev/video0
    [    8.403008] vip 48990000.vip: VPDMA firmware loaded
    [    8.409273] vin3a: Port A: Using subdev ov5640 2-003c for capture
    [    8.459754] remoteproc remoteproc3: Booting fw image dra7-dsp2-fw.xe66, size 20482288
    [    8.469254] vin3a: subdev ov5640 2-003c: code: 4001 idx: 0
    [    8.470453] libata version 3.00 loaded.
    [    8.529737] ahci 4a140000.sata: controller can't do 64bit DMA, forcing 32bit
    [    8.530503] vin3a: subdev ov5640 2-003c: code: 2006 idx: 1
    [    8.555678] Microsemi GE VSC8502 SyncE 48485000.mdio:00: attached PHY driver [Microsemi GE VSC8502 SyncE] (mii_bus:phy_addr=48485000.mdio:00, irq=POLL)
    [    8.558021] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
    [    8.575243] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
    [    8.586398] phy phy-4a084000.phy.3: Linked as a consumer to regulator.23
    [    8.628210] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    8.630683] phy phy-4a085000.phy.4: Linked as a consumer to regulator.23
    [    8.634208] ahci 4a140000.sata: forcing port_map 0x0 -> 0x1
    [    8.634257] ahci 4a140000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    [    8.634270] ahci 4a140000.sata: flags: ncq sntf pm led clo only pmp pio slum part ccc apst 
    [    8.666437] vin3a: matched fourcc: NV12: code: 2006 idx: 0
    [    8.666443] vin3a: matched fourcc: UYVY: code: 2006 idx: 1
    [    8.666447] vin3a: matched fourcc: YUYV: code: 2006 idx: 2
    [    8.666451] vin3a: matched fourcc: VYUY: code: 2006 idx: 3
    [    8.666455] vin3a: matched fourcc: YVYU: code: 2006 idx: 4
    [    8.666458] vin3a: matched fourcc: RGB3: code: 2006 idx: 5
    [    8.666462] vin3a: matched fourcc: RGB4: code: 2006 idx: 6
    [    8.666466] vin3a: matched fourcc: BGR3: code: 2006 idx: 7
    [    8.666469] vin3a: matched fourcc: BGR4: code: 2006 idx: 8
    [    8.666476] vin3a: subdev ov5640 2-003c: code: 2008 idx: 2
    [    8.666480] vin3a: subdev ov5640 2-003c: code: 1008 idx: 3
    [    8.666485] vin3a: subdev ov5640 2-003c: code: 1007 idx: 4
    [    8.673421] vin3a-0: device registered as video1
    [    8.675287] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [    8.789289] scsi host0: ahci
    [    8.799228] ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a1410ff] port 0x100 irq 84
    [    8.843232] net eth1: initializing cpsw version 1.15 (0)
    [    8.907115] [drm] Initialized pvr 1.17.4948957 20110701 for 56000000.gpu on minor 1
    [    8.946463] virtio_rpmsg_bus virtio3: rpmsg host is online
    [    8.946544] virtio_rpmsg_bus virtio3: creating channel rpmsg-proto addr 0x3d
    [    8.952026] remoteproc remoteproc3: registered virtio3 (type 7)
    [    9.086122] Microsemi GE VSC8502 SyncE 48485000.mdio:01: attached PHY driver [Microsemi GE VSC8502 SyncE] (mii_bus:phy_addr=48485000.mdio:01, irq=POLL)
    [    9.106739] remoteproc remoteproc3: remote processor 41000000.dsp is now up
    [    9.169350] PVR_K: UM DDK-(4948957) and KM DDK-(4948957) match. [ OK ]
    [    9.179902] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [    9.216338] ata1: SATA link down (SStatus 0 SControl 300)
    [    9.613930] tlv320aic3262-codec 3-0018: p 0 , r 30 41 0
    [    9.635426] tlv320aic3262-codec 3-0018: p 0, w 30 41 d8
    [    9.698272] tlv320aic3262-codec 3-0018: p 0 , r 30 42 0
    [    9.729536] tlv320aic3262-codec 3-0018: p 0, w 30 42 d8
    [    9.779854] tlv320aic3262-codec 3-0018: p 0 , r 30 41 d8
    [    9.813041] tlv320aic3262-codec 3-0018: p 0, w 30 41 1
    [    9.849478] tlv320aic3262-codec 3-0018: p 0 , r 30 42 d8
    [    9.889454] tlv320aic3262-codec 3-0018: p 0, w 30 42 1
    [    9.958882] tlv320aic3262-codec 3-0018: p 0 , r 30 52 88
    [    9.987948] tlv320aic3262-codec 3-0018: p 0, w 30 52 0
    [   10.034471] tlv320aic3262-codec 3-0018: p 0 , r 30 40 c
    [   10.081188] tlv320aic3262-codec 3-0018: p 0, w 30 40 0
    [   10.133288] tlv320aic3262-codec 3-0018: p 0 , r 30 1 0
    [   10.178450] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   10.204766] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   10.234419] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   10.293064] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [   10.335309] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   10.374209] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   10.401140] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   10.442126] tlv320aic3262-codec 3-0018: p 0 , r 30 47 0
    [   10.465210] tlv320aic3262-codec 3-0018: p 0 , r 30 47 0
    [   10.470471] tlv320aic3262-codec 3-0018: p 0, w 30 47 5
    [   10.494501] tlv320aic3262-codec 3-0018: p 0 , r 30 48 0
    [   10.512535] tlv320aic3262-codec 3-0018: p 0, w 30 48 4
    [   10.539672] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   10.564565] tlv320aic3262-codec 3-0018: p 0 , r 30 3c 1
    [   10.588887] tlv320aic3262-codec 3-0018: p 0, w 30 3c 1c
    [   10.720714] cpsw 48484000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    [   10.733395] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   11.294605] dwc3 48890000.usb: Failed to get clk 'ref': -2
    [   11.300859] NET: Registered protocol family 45
    [   11.326182] rpmsg_rpc virtio1.rpmsg-rpc.-1.101: probing service dce-callback with src 1024 dst 101
    [   11.349483] dwc3 488d0000.usb: Failed to get clk 'ref': -2
    [   11.393936] rpmsg_rpc virtio1.rpmsg-rpc.-1.102: probing service rpmsg-dce with src 1025 dst 102
    [   11.402742] rpmsg_rpc virtio1.rpmsg-rpc.-1.101: published functions = 4
    [   11.420870] 
    [   11.456008] rpmsg_rpc virtio1.rpmsg-rpc.-1.102: published functions = 9
    [   11.504972] remoteproc remoteproc4: 4b234000.pru is available
    [   11.549028] pru-rproc 4b234000.pru: PRU rproc node pru@4b234000 probed successfully
    [   11.591193] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   11.608590] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [   11.619996] remoteproc remoteproc5: 4b238000.pru is available
    [   11.631559] pru-rproc 4b238000.pru: PRU rproc node pru@4b238000 probed successfully
    [   11.641527] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
    [   11.652814] remoteproc remoteproc6: 4b2b4000.pru is available
    [   11.662355] xhci-hcd xhci-hcd.0.auto: irq 189, io mem 0x48890000
    [   11.671205] pru-rproc 4b2b4000.pru: PRU rproc node pru@4b2b4000 probed successfully
    [   11.685184] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [   11.695261] remoteproc remoteproc7: 4b2b8000.pru is available
    [   11.704765] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.712689] pru-rproc 4b2b8000.pru: PRU rproc node pru@4b2b8000 probed successfully
    [   11.726402] usb usb1: Product: xHCI Host Controller
    [   11.740770] usb usb1: Manufacturer: Linux 4.19.94-gbe5389fd85 xhci-hcd
    [   11.766655] usb usb1: SerialNumber: xhci-hcd.0.auto
    [   11.787583] hub 1-0:1.0: USB hub found
    [   11.811592] hub 1-0:1.0: 1 port detected
    [   11.820844] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   11.834225] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [   11.842646] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
    [   11.852563] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   11.863969] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.19
    [   11.879798] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   11.887816] usb usb2: Product: xHCI Host Controller
    [   11.901798] usb usb2: Manufacturer: Linux 4.19.94-gbe5389fd85 xhci-hcd
    [   11.916385] usb usb2: SerialNumber: xhci-hcd.0.auto
    [   11.925050] hub 2-0:1.0: USB hub found
    [   11.939857] hub 2-0:1.0: 1 port detected
    [   12.183061] usb 1-1: new high-speed USB device number 2 using xhci-hcd
    [   12.363397] usb 1-1: New USB device found, idVendor=0451, idProduct=8142, bcdDevice= 1.00
    [   12.371766] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
    [   12.382892] usb 1-1: SerialNumber: BA0C18492D53
    [   12.460750] hub 1-1:1.0: USB hub found
    [   12.464935] hub 1-1:1.0: 4 ports detected
    [   12.524627] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd
    [   12.563319] usb 2-1: New USB device found, idVendor=0451, idProduct=8140, bcdDevice= 1.00
    [   12.576419] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [   12.622286] hub 2-1:1.0: USB hub found
    [   12.632323] hub 2-1:1.0: 4 ports detected
    [   12.852992] usb 1-1.3: new full-speed USB device number 3 using xhci-hcd
    [   12.994082] usb 1-1.3: config 1 interface 1 altsetting 0 endpoint 0x83 has wMaxPacketSize 0, skipping
    [   13.006094] usb 1-1.3: config 1 interface 1 altsetting 0 endpoint 0x3 has wMaxPacketSize 0, skipping
    [   13.015463] usb 1-1.3: New USB device found, idVendor=0cf3, idProduct=e300, bcdDevice= 0.01
    [   13.024604] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [   14.815278] tlv320aic3262-codec 3-0018: p 0 , r 30 41 1
    [   14.820531] tlv320aic3262-codec 3-0018: p 0, w 30 41 d8
    [   14.827858] tlv320aic3262-codec 3-0018: p 0 , r 30 42 1
    [   14.838404] tlv320aic3262-codec 3-0018: p 0, w 30 42 d8
    [   14.844738] tlv320aic3262-codec 3-0018: p 0 , r 30 41 d8
    [   14.850072] tlv320aic3262-codec 3-0018: p 0, w 30 41 1
    [   14.856845] tlv320aic3262-codec 3-0018: p 0 , r 30 42 d8
    [   14.862790] tlv320aic3262-codec 3-0018: p 0, w 30 42 1
    [   14.871882] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   14.879005] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   14.885077] tlv320aic3262-codec 3-0018: p 0 , r 30 1 0
    [   14.898090] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   14.909190] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   14.923076] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   14.947625] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [   14.967359] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   14.986014] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   14.994185] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   15.004281] tlv320aic3262-codec 3-0018: p 0 , r 30 47 5
    [   15.024146] tlv320aic3262-codec 3-0018: p 0 , r 30 47 5
    [   15.030407] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   15.036627] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   15.042634] tlv320aic3262-codec 3-0018: p 0 , r 30 3c 1c
    [   15.292874] rtc-ds1307 2-006f: write secs=39, mins=43, hours=16, mday=9, mon=4, year=122, wday=1
    [   15.292884] rtc-ds1307 2-006f: write: b9 43 16 0a 09 05 22
    [   15.295215] rtc-ds1307 2-006f: read: b9 43 16 2a 09 05 22
    [   15.295226] rtc-ds1307 2-006f: read secs=39, mins=43, hours=16, mday=9, mon=4, year=122, wday=1
    [   15.458459] gpio gpiochip3: Persistence not supported for GPIO 9
    [   15.460006] gpio gpiochip2: Persistence not supported for GPIO 1
    
    [   15.759244] EXT4-fs (mmcblk0p2): mounting ext3 file system using the ext4 subsystem
    [   15.830546] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    
    [   23.075688] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
    [   23.081597] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
    [   23.094069] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [   23.099968] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [   35.033018] aic_dvdd_fixed: disabling

    Kindly acknowledge.

    Regards,

    Devashish

  • Hi Devashish

    I'm not sure the attachment bin file suitable for your project.

    You may as well make a bin file for your own project.

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/6/tlv320aic3262_5F00_fw_5F00_v1.bin

    BR

  • Hi

    I have placed this file at /lib/firmware and also at /vendor/firmware but still, I am getting a firmware load error.

    Also please share instructions to create a bin file for the project.

    Regards,

    Devashish

  • Hi

    This is a gentle reminder that I am waiting for your reply to this post.

    Kindly acknowledge.

    Regards,

    Devashish

  • Kindly share the log. Are you sure the bin file is compiled into image instead of copy into the Linux system?

    The attachment fix a bin file parsing issue.

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/6/aic3262_2D00_0511.7z

  • Hi,

    Firmware is now getting loaded. Attached are the logs

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.19.94-gbe5389fd85 (root@cdot-ProLiant-BL460c-Gen9) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #134 SMP PREEMPT Wed May 12
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt: Machine model: TI AM5728 BeagleBoard-X15 rev C
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] efi: Getting EFI parameters from FDT:
    [    0.000000] efi: UEFI not found.
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000095800000, size 56 MiB
    [    0.000000] OF: reserved mem: initialized node ipu2-memory@95800000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x0000000099000000, size 64 MiB
    [    0.000000] OF: reserved mem: initialized node dsp1-memory@99000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created DMA memory pool at 0x000000009d000000, size 32 MiB
    [    0.000000] OF: reserved mem: initialized node ipu1-memory@9d000000, compatible id shared-dma-pool
    [    0.000000] Reserved memory: created CMA memory pool at 0x000000009f000000, size 8 MiB
    [    0.000000] OF: reserved mem: initialized node dsp2-memory@9f000000, compatible id shared-dma-pool
    [    0.000000] cma: Reserved 24 MiB at 0x00000000fd800000
    [    0.000000] OMAP4: Map 0x000000027fd00000 to (ptrval) for dram barrier
    [    0.000000] Hit pending asynchronous external abort (FSR=0x00001211) during first unmask, this is most likely caused by a firmware/bootloader bug.
    [    0.000000] On node 0 totalpages: 986112
    [    0.000000]   DMA zone: 1728 pages used for memmap
    [    0.000000]   DMA zone: 0 pages reserved
    [    0.000000]   DMA zone: 139008 pages, LIFO batch:31
    [    0.000000]   HighMem zone: 847104 pages, LIFO batch:63
    [    0.000000] DRA752 ES2.0
    [    0.000000] random: get_random_bytes called from start_kernel+0xb4/0x470 with crng_init=0
    [    0.000000] percpu: Embedded 15 pages/cpu s32396 r8192 d20852 u61440
    [    0.000000] pcpu-alloc: s32396 r8192 d20852 u61440 alloc=15*4096
    [    0.000000] pcpu-alloc: [0] 0 [0] 1 
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 984384
    [    0.000000] Kernel command line: console=ttyS2,115200n8 root=PARTUUID=cee8cd83-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Memory: 3735828K/3944448K available (10240K kernel code, 335K rwdata, 2984K rodata, 2048K init, 278K bss, 52972K reserved, 155648K cma-reserved, 3363840K highmem)
    [    0.000000] Virtual kernel memory layout:
                       vector  : 0xffff0000 - 0xffff1000   (   4 kB)
                       fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
                       vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
                       lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
                       pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
                       modules : 0xbf000000 - 0xbfe00000   (  14 MB)
                         .text : 0x(ptrval) - 0x(ptrval)   (12256 kB)
                         .init : 0x(ptrval) - 0x(ptrval)   (2048 kB)
                         .data : 0x(ptrval) - 0x(ptrval)   ( 336 kB)
                          .bss : 0x(ptrval) - 0x(ptrval)   ( 279 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000]  Tasks RCU enabled.
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] GIC: Using split EOI/Deactivate mode
    [    0.000000] OMAP clockevent source: timer1 at 32786 Hz
    [    0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns
    [    0.000006] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns
    [    0.000019] Switching to timer-based delay loop, resolution 162ns
    [    0.000297] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns
    [    0.000307] OMAP clocksource: 32k_counter at 32768 Hz
    [    0.000813] Console: colour dummy device 80x30
    [    0.000856] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475)
    [    0.000871] pid_max: default: 32768 minimum: 301
    [    0.000996] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001010] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.001571] CPU: Testing write buffer coherency: ok
    [    0.001607] CPU0: Spectre v2: using ICIALLU workaround
    [    0.001824] /cpus/cpu@0 missing clock-frequency property
    [    0.001844] /cpus/cpu@1 missing clock-frequency property
    [    0.001857] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.059881] Setting up static identity map for 0x80200000 - 0x80200060
    [    0.079884] rcu: Hierarchical SRCU implementation.
    [    0.100072] EFI services will not be available.
    [    0.119937] smp: Bringing up secondary CPUs ...
    [    0.200318] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.200324] CPU1: Spectre v2: using ICIALLU workaround
    [    0.200448] smp: Brought up 1 node, 2 CPUs
    [    0.200460] SMP: Total of 2 processors activated (24.59 BogoMIPS).
    [    0.200470] CPU: All CPU(s) started in HYP mode.
    [    0.200478] CPU: Virtualization extensions available.
    [    0.201066] devtmpfs: initialized
    [    0.221145] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0
    [    0.221403] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.221421] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.224080] pinctrl core: initialized pinctrl subsystem
    [    0.224610] DMI not present or invalid.
    [    0.224891] NET: Registered protocol family 16
    [    0.226049] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.227001] omap_hwmod: l3_main_2 using broken dt data from ocp
    [    0.420726] cpuidle: using governor ladder
    [    0.420762] cpuidle: using governor menu
    [    0.431154] gpio gpiochip0: (gpio-0-31): added GPIO chardev (254:0)
    [    0.431229] gpiochip_setup_dev: registered GPIOs 0 to 31 on device: gpiochip0 (gpio-0-31)
    [    0.431272] OMAP GPIO hardware version 0.1
    [    0.431892] gpio gpiochip1: (gpio-32-63): added GPIO chardev (254:1)
    [    0.431958] gpiochip_setup_dev: registered GPIOs 32 to 63 on device: gpiochip1 (gpio-32-63)
    [    0.432594] gpio gpiochip2: (gpio-64-95): added GPIO chardev (254:2)
    [    0.432668] gpiochip_setup_dev: registered GPIOs 64 to 95 on device: gpiochip2 (gpio-64-95)
    [    0.433299] gpio gpiochip3: (gpio-96-127): added GPIO chardev (254:3)
    [    0.433371] gpiochip_setup_dev: registered GPIOs 96 to 127 on device: gpiochip3 (gpio-96-127)
    [    0.433999] gpio gpiochip4: (gpio-128-159): added GPIO chardev (254:4)
    [    0.434070] gpiochip_setup_dev: registered GPIOs 128 to 159 on device: gpiochip4 (gpio-128-159)
    [    0.434717] gpio gpiochip5: (gpio-160-191): added GPIO chardev (254:5)
    [    0.434786] gpiochip_setup_dev: registered GPIOs 160 to 191 on device: gpiochip5 (gpio-160-191)
    [    0.435407] gpio gpiochip6: (gpio-192-223): added GPIO chardev (254:6)
    [    0.435478] gpiochip_setup_dev: registered GPIOs 192 to 223 on device: gpiochip6 (gpio-192-223)
    [    0.436121] gpio gpiochip7: (gpio-224-255): added GPIO chardev (254:7)
    [    0.436191] gpiochip_setup_dev: registered GPIOs 224 to 255 on device: gpiochip7 (gpio-224-255)
    [    0.457790] No ATAGs?
    [    0.457868] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
    [    0.457884] hw-breakpoint: maximum watchpoint size is 8 bytes.
    [    0.458742] OMAP DMA hardware revision 0.0
    [    0.470701] edma 43300000.edma: memcpy is disabled
    [    0.474113] edma 43300000.edma: TI EDMA DMA engine driver
    [    0.481438] omap-dma-engine 4a056000.dma-controller: OMAP DMA engine driver (LinkedList1/2/3 supported)
    [    0.482003] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-main_12v0[0]'
    [    0.482257] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-evm_5v0[0]'
    [    0.482282] evm_5v0: supplied by main_12v0
    [    0.482545] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-vdd_3v3[0]'
    [    0.482778] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/fixedregulator-aic_dvdd[0]'
    [    0.483035] of_get_named_gpiod_flags: parsed 'gpio' property of node '/fixedregulator-vtt[0]' - status (0)
    [    0.485731] omap-iommu 40d01000.mmu: 40d01000.mmu registered
    [    0.485916] omap-iommu 40d02000.mmu: 40d02000.mmu registered
    [    0.486160] omap-iommu 58882000.mmu: 58882000.mmu registered
    [    0.486404] omap-iommu 55082000.mmu: 55082000.mmu registered
    [    0.486784] omap-iommu 41501000.mmu: 41501000.mmu registered
    [    0.486964] omap-iommu 41502000.mmu: 41502000.mmu registered
    [    0.487252] iommu: Adding device 58820000.ipu to group 1
    [    0.487339] iommu: Adding device 55020000.ipu to group 2
    [    0.487470] iommu: Adding device 40800000.dsp to group 0
    [    0.487715] iommu: Adding device 41000000.dsp to group 3
    [    0.488890] SCSI subsystem initialized
    [    0.489958] palmas 0-0058: Irq flag is 0x00000008
    [    0.512104] palmas 0-0058: Muxing GPIO 2b, PWM 0, LED 0
    [    0.513699] SMPS12: supplied by regulator-dummy
    [    0.515346] SMPS3: supplied by regulator-dummy
    [    0.516988] SMPS45: supplied by regulator-dummy
    [    0.518778] SMPS6: supplied by regulator-dummy
    [    0.520172] SMPS7: supplied by regulator-dummy
    [    0.521561] SMPS8: supplied by regulator-dummy
    [    0.522821] SMPS9: supplied by regulator-dummy
    [    0.523488] LDO1: supplied by regulator-dummy
    [    0.531240] LDO2: supplied by regulator-dummy
    [    0.540588] random: fast init done
    [    0.541105] LDO3: supplied by regulator-dummy
    [    0.551107] LDO4: supplied by regulator-dummy
    [    0.561126] LDO5: supplied by regulator-dummy
    [    0.561804] LDO6: supplied by regulator-dummy
    [    0.562490] LDO7: supplied by regulator-dummy
    [    0.563178] LDO8: supplied by regulator-dummy
    [    0.563870] LDO9: supplied by regulator-dummy
    [    0.571155] LDOLN: supplied by regulator-dummy
    [    0.581164] LDOUSB: supplied by regulator-dummy
    [    0.592810] gpiochip_find_base: found new base at 504
    [    0.592963] gpio gpiochip8: (48070000.i2c:tps659038@58:tps659038_gpio): added GPIO chardev (254:8)
    [    0.593035] gpiochip_setup_dev: registered GPIOs 504 to 511 on device: gpiochip8 (48070000.i2c:tps659038@58:tps659038_gpio)
    [    0.593380] omap_i2c 48070000.i2c: bus 0 rev0.12 at 400 kHz
    [    0.594287] omap_i2c 48072000.i2c: bus 1 rev0.12 at 400 kHz
    [    0.594910] omap_i2c 48060000.i2c: bus 2 rev0.12 at 400 kHz
    [    0.595424] omap_i2c 4807a000.i2c: bus 3 rev0.12 at 400 kHz
    [    0.595933] omap_i2c 4807c000.i2c: bus 4 rev0.12 at 400 kHz
    [    0.596154] media: Linux media interface: v0.10
    [    0.596193] videodev: Linux video capture interface: v2.00
    [    0.596275] pps_core: LinuxPPS API ver. 1 registered
    [    0.596285] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [    0.596306] PTP clock support registered
    [    0.596338] EDAC MC: Ver: 3.0.0
    [    0.597130] omap-mailbox 48840000.mailbox: omap mailbox rev 0x400
    [    0.597383] omap-mailbox 48842000.mailbox: omap mailbox rev 0x400
    [    0.597870] Advanced Linux Sound Architecture Driver Initialized.
    [    0.598313] Bluetooth: Core ver 2.22
    [    0.598349] NET: Registered protocol family 31
    [    0.598358] Bluetooth: HCI device and connection manager initialized
    [    0.598372] Bluetooth: HCI socket layer initialized
    [    0.598385] Bluetooth: L2CAP socket layer initialized
    [    0.598423] Bluetooth: SCO socket layer initialized
    [    0.598785] clocksource: Switched to clocksource arch_sys_counter
    [    0.607152] NET: Registered protocol family 2
    [    0.607735] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
    [    0.607765] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.607804] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
    [    0.607873] TCP: Hash tables configured (established 4096 bind 4096)
    [    0.607948] UDP hash table entries: 256 (order: 1, 8192 bytes)
    [    0.607973] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
    [    0.608098] NET: Registered protocol family 1
    [    0.628540] RPC: Registered named UNIX socket transport module.
    [    0.628552] RPC: Registered udp transport module.
    [    0.628561] RPC: Registered tcp transport module.
    [    0.628570] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [    0.628582] PCI: CLS 0 bytes, default 64
    [    0.629647] hw perfevents: no interrupt-affinity property for /pmu, guessing.
    [    0.629858] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available
    [    0.630865] Initialise system trusted keyrings
    [    0.631002] workingset: timestamp_bits=14 max_order=20 bucket_order=6
    [    0.636134] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.646644] NFS: Registering the id_resolver key type
    [    0.646667] Key type id_resolver registered
    [    0.646676] Key type id_legacy registered
    [    0.646717] ntfs: driver 2.1.32 [Flags: R/O].
    [    0.650168] Key type asymmetric registered
    [    0.650181] Asymmetric key parser 'x509' registered
    [    0.650235] bounce: pool size: 64 pages
    [    0.650271] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
    [    0.650283] io scheduler noop registered
    [    0.650293] io scheduler deadline registered
    [    0.650397] io scheduler cfq registered (default)
    [    0.650409] io scheduler mq-deadline registered
    [    0.650419] io scheduler kyber registered
    [    0.656288] pinctrl-single 4a003400.pinmux: 282 pins, size 1128
    [    0.661155] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1
    [    0.661325] dra7-pcie 51000000.pcie: GPIO lookup for consumer (null)
    [    0.661332] dra7-pcie 51000000.pcie: using device tree for GPIO lookup
    [    0.661352] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/ocp/axi@0/pcie@51000000[0]'
    [    0.661367] of_get_named_gpiod_flags: can't parse 'gpio' property of node '/ocp/axi@0/pcie@51000000[0]'
    [    0.661377] dra7-pcie 51000000.pcie: using lookup tables for GPIO lookup
    [    0.661385] dra7-pcie 51000000.pcie: No GPIO consumer (null) found
    [    0.661562] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges:
    [    0.661578] dra7-pcie 51000000.pcie: Parsing ranges property...
    [    0.661610] dra7-pcie 51000000.pcie:    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.661638] dra7-pcie 51000000.pcie:   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    1.661900] dra7-pcie 51000000.pcie: Phy link never came up
    [    1.662039] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
    [    1.662054] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    1.662066] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    1.662078] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    1.662089] pci_bus 0000:00: scanning bus
    [    1.662121] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [    1.662155] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
    [    1.662218] pci 0000:00:00.0: supports D1
    [    1.662226] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    1.662235] pci 0000:00:00.0: PME# disabled
    [    1.668467] pci_bus 0000:00: fixups for bus
    [    1.668481] PCI: bus0: Fast back to back transfers disabled
    [    1.668496] pci 0000:00:00.0: scanning [bus 01-ff] behind bridge, pass 0
    [    1.668590] pci_bus 0000:01: scanning bus
    [    1.674443] pci_bus 0000:01: fixups for bus
    [    1.674451] PCI: bus1: Fast back to back transfers enabled
    [    1.674463] pci_bus 0000:01: bus scan returning with max=01
    [    1.674477] pci 0000:00:00.0: scanning [bus 01-ff] behind bridge, pass 1
    [    1.674488] pci_bus 0000:00: bus scan returning with max=ff
    [    1.674518] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
    [    1.674538] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
    [    1.674674] pcieport 0000:00:00.0: assign IRQ: got 176
    [    1.674881] pcieport 0000:00:00.0: Signaling PME with IRQ 177
    [    1.675014] pcieport 0000:00:00.0: AER enabled with IRQ 177
    [    1.676061] pwm-backlight backlight: GPIO lookup for consumer enable
    [    1.676069] pwm-backlight backlight: using device tree for GPIO lookup
    [    1.676085] of_get_named_gpiod_flags: can't parse 'enable-gpios' property of node '/backlight[0]'
    [    1.676100] of_get_named_gpiod_flags: can't parse 'enable-gpio' property of node '/backlight[0]'
    [    1.676108] pwm-backlight backlight: using lookup tables for GPIO lookup
    [    1.676116] pwm-backlight backlight: No GPIO consumer enable found
    [    1.676154] pwm-backlight backlight: backlight supply power not found, using dummy regulator
    [    1.676231] pwm-backlight backlight: Linked as a consumer to regulator.0
    [    1.676384] pwm-backlight backlight: invalid default brightness level: 8, using 7
    [    1.677451] gpio-clk clk_ov5640: GPIO lookup for consumer enable
    [    1.677459] gpio-clk clk_ov5640: using device tree for GPIO lookup
    [    1.677485] of_get_named_gpiod_flags: parsed 'enable-gpios' property of node '/clk_ov5640[0]' - status (0)
    [    1.677521] gpio gpiochip4: Persistence not supported for GPIO 18
    [    1.679685] vdd_3v3: supplied by regen1
    [    1.679921] aic_dvdd_fixed: supplied by vdd_3v3
    [    1.679992] vtt_fixed: supplied by smps3
    [    1.725494] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [    1.729175] 4806a000.serial: ttyS0 at MMIO 0x4806a000 (irq = 45, base_baud = 3000000) is a 8250
    [    1.730127] 48020000.serial: ttyS2 at MMIO 0x48020000 (irq = 46, base_baud = 3000000) is a 8250
    [    2.896735] console [ttyS2] enabled
    [    2.902464] omap_rng 48090000.rng: Random Number Generator ver. 20
    [    2.902993] random: crng init done
    [    2.941336] tpm tpm0: starting up the TPM manually
    [    3.004327] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    3.011446] omapdss_dss 58000000.dss: Dropping the link to regulator.22
    [    3.023605] panel-simple display: display supply power not found, using dummy regulator
    [    3.031744] panel-simple display: Linked as a consumer to regulator.0
    [    3.038219] panel-simple display: GPIO lookup for consumer enable
    [    3.038226] panel-simple display: using device tree for GPIO lookup
    [    3.038256] of_get_named_gpiod_flags: parsed 'enable-gpios' property of node '/display[0]' - status (0)
    [    3.038272] gpio gpiochip4: Persistence not supported for GPIO 12
    [    3.046566] brd: module loaded
    [    3.056043] loop: module loaded
    [    3.063497] mdio_bus fixed-0: GPIO lookup for consumer reset
    [    3.063505] mdio_bus fixed-0: using lookup tables for GPIO lookup
    [    3.063514] mdio_bus fixed-0: No GPIO consumer reset found
    [    3.063538] libphy: Fixed MDIO Bus: probed
    [    3.070652] mdio_bus 48485000.mdio: GPIO lookup for consumer reset
    [    3.070660] mdio_bus 48485000.mdio: using device tree for GPIO lookup
    [    3.070678] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@48484000/mdio@48485000[0]'
    [    3.070693] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/ethernet@48484000/mdio@48485000[0]'
    [    3.070702] mdio_bus 48485000.mdio: using lookup tables for GPIO lookup
    [    3.070710] mdio_bus 48485000.mdio: No GPIO consumer reset found
    [    3.128805] davinci_mdio 48485000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [    3.136501] libphy: 48485000.mdio: probed
    [    3.142757] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@48484000/mdio@48485000/ethernet-phy@0[0]'
    [    3.144804] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/ethernet@48484000/mdio@48485000/ethernet-phy@1[0]'
    [    3.144935] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver Microsemi GE VSC8502 SyncE
    [    3.154657] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver Microsemi GE VSC8502 SyncE
    [    3.164918] cpsw 48484000.ethernet: Detected MACID = d0:03:eb:6c:50:36
    [    3.171551] cpsw 48484000.ethernet: initialized cpsw ale version 1.4
    [    3.177936] cpsw 48484000.ethernet: ALE Table size 1024
    [    3.183253] cpsw 48484000.ethernet: cpts: overflow check period 500 (jiffies)
    [    3.191285] cpsw 48484000.ethernet: cpsw: Detected MACID = d0:03:eb:6c:50:37
    [    3.199722]  DEBUG: keypad irq = 102
    [    3.203320] 
                   DEBUG: Autorepeat disabled 
    [    3.209009] input: 4ae1c000.keypad as /devices/platform/44000000.ocp/4ae1c000.keypad/input/input0
    [    3.218800] edt_ft5x06 4-0038: GPIO lookup for consumer reset
    [    3.218808] edt_ft5x06 4-0038: using device tree for GPIO lookup
    [    3.218826] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/i2c@4807c000/edt-ft5x06@38[0]'
    [    3.218841] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/i2c@4807c000/edt-ft5x06@38[0]'
    [    3.218850] edt_ft5x06 4-0038: using lookup tables for GPIO lookup
    [    3.218857] edt_ft5x06 4-0038: No GPIO consumer reset found
    [    3.218865] edt_ft5x06 4-0038: GPIO lookup for consumer wake
    [    3.218871] edt_ft5x06 4-0038: using device tree for GPIO lookup
    [    3.218886] of_get_named_gpiod_flags: can't parse 'wake-gpios' property of node '/ocp/i2c@4807c000/edt-ft5x06@38[0]'
    [    3.218899] of_get_named_gpiod_flags: can't parse 'wake-gpio' property of node '/ocp/i2c@4807c000/edt-ft5x06@38[0]'
    [    3.218907] edt_ft5x06 4-0038: using lookup tables for GPIO lookup
    [    3.218914] edt_ft5x06 4-0038: No GPIO consumer wake found
    [    3.250791] input: generic ft5x06 (8d) as /devices/platform/44000000.ocp/4807c000.i2c/i2c-4/4-0038/input/input1
    [    3.289262] rtc-ds1307 2-006f: got IRQ 180
    [    3.289586] rtc-ds1307 2-006f: read: d4 32 22 3e 13 05 22
    [    3.289598] rtc-ds1307 2-006f: read secs=54, mins=32, hours=22, mday=13, mon=4, year=122, wday=5
    [    3.289981] rtc-ds1307 2-006f: mcp794xx_read_alarm, sec=0 min=0 hour=0 wday=-1 mday=0 mon=-1 enabled=0 polarity=0 irq=0 match=0
    [    3.290285] rtc-ds1307 2-006f: read: d4 32 22 3e 13 05 22
    [    3.290296] rtc-ds1307 2-006f: read secs=54, mins=32, hours=22, mday=13, mon=4, year=122, wday=5
    [    3.290304] rtc rtc0: alarm rollover: day
    [    3.290610] rtc-ds1307 2-006f: read: d4 32 22 3e 13 05 22
    [    3.290620] rtc-ds1307 2-006f: read secs=54, mins=32, hours=22, mday=13, mon=4, year=122, wday=5
    [    3.290760] rtc-ds1307 2-006f: char device (252:0)
    [    3.290773] rtc-ds1307 2-006f: registered as rtc0
    [    3.298578] rtc rtc1: 48070000.i2c:tps659038@58:tps659038_rtc: dev (252:1)
    [    3.298588] palmas-rtc 48070000.i2c:tps659038@58:tps659038_rtc: rtc core: registered 48070000.i2c:tps659038@58:tps659038_rtc as rtc1
    [    3.311668] i2c /dev entries driver
    [    3.317376] gpio-fan gpio_fan: GPIO lookup for consumer alarm
    [    3.317383] gpio-fan gpio_fan: using device tree for GPIO lookup
    [    3.317400] of_get_named_gpiod_flags: can't parse 'alarm-gpios' property of node '/gpio_fan[0]'
    [    3.317414] of_get_named_gpiod_flags: can't parse 'alarm-gpio' property of node '/gpio_fan[0]'
    [    3.317423] gpio-fan gpio_fan: using lookup tables for GPIO lookup
    [    3.317430] gpio-fan gpio_fan: No GPIO consumer alarm found
    [    3.317443] gpio-fan gpio_fan: GPIO lookup for consumer (null)
    [    3.317450] gpio-fan gpio_fan: using device tree for GPIO lookup
    [    3.317474] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio_fan[0]' - status (0)
    [    3.317483] no flags found for (null)
    [    3.318702] gpio-fan gpio_fan: GPIO fan initialized
    [    3.327030] cpu cpu0: Linked as a consumer to regulator.6
    [    3.332555] cpu cpu0: Linked as a consumer to regulator.29
    [    3.339766] sdhci: Secure Digital Host Controller Interface driver
    [    3.345975] sdhci: Copyright(c) Pierre Ossman
    [    3.351789] sdhci-pltfm: SDHCI platform and OF driver helper
    [    3.358081] sdhci-omap 4809c000.mmc: GPIO lookup for consumer cd
    [    3.358086] sdhci-omap 4809c000.mmc: using device tree for GPIO lookup
    [    3.358104] of_get_named_gpiod_flags: parsed 'cd-gpios' property of node '/ocp/mmc@4809c000[0]' - status (0)
    [    3.358135] gpio gpiochip5: Persistence not supported for GPIO 27
    [    3.358144] omap_gpio 4805d000.gpio: Could not set line 27 debounce to 200000 microseconds (-22)
    [    3.366982] sdhci-omap 4809c000.mmc: Got CD GPIO
    [    3.371647] sdhci-omap 4809c000.mmc: GPIO lookup for consumer wp
    [    3.371652] sdhci-omap 4809c000.mmc: using device tree for GPIO lookup
    [    3.371662] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@4809c000[0]'
    [    3.371672] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@4809c000[0]'
    [    3.371678] sdhci-omap 4809c000.mmc: using lookup tables for GPIO lookup
    [    3.371683] sdhci-omap 4809c000.mmc: No GPIO consumer wp found
    [    3.371815] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.28
    [    3.378842] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    3.385710] sdhci-omap 4809c000.mmc: Dropping the link to regulator.13
    [    3.392353] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.3
    [    3.399276] sdhci-omap 4809c000.mmc: Linked as a consumer to regulator.13
    [    3.406206] sdhci-omap 4809c000.mmc: no pinctrl state for ddr_3_3v mode
    [    3.439385] mmc0: SDHCI controller on 4809c000.mmc [4809c000.mmc] using ADMA
    [    3.447258] sdhci-omap 480b4000.mmc: GPIO lookup for consumer wp
    [    3.447266] sdhci-omap 480b4000.mmc: using device tree for GPIO lookup
    [    3.447283] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@480b4000[0]'
    [    3.447297] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@480b4000[0]'
    [    3.447305] sdhci-omap 480b4000.mmc: using lookup tables for GPIO lookup
    [    3.447313] sdhci-omap 480b4000.mmc: No GPIO consumer wp found
    [    3.447611] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    3.454454] sdhci-omap 480b4000.mmc: Dropping the link to regulator.3
    [    3.461244] sdhci-omap 480b4000.mmc: Linked as a consumer to regulator.3
    [    3.494218] mmc1: SDHCI controller on 480b4000.mmc [480b4000.mmc] using ADMA
    [    3.501453] mmc0: host does not support reading read-only switch, assuming write-enable
    [    3.510218] ledtrig-cpu: registered to indicate activity on CPUs
    [    3.511583] mmc0: new high speed SDHC card at address 59b4
    [    3.522664] tlv320aic3262-codec 3-0018: aic3xxx_device_init beginning
    [    3.532572] mmcblk0: mmc0:59b4 USD00 14.7 GiB 
    [    3.538154]  mmcblk0: p1 p2
    [    3.550906] mmc1: new DDR MMC card at address 0001
    [    3.556349] mmcblk1: mmc1:0001 S0J57X 29.6 GiB 
    [    3.561337] mmcblk1boot0: mmc1:0001 S0J57X partition 1 31.5 MiB
    [    3.567702] mmcblk1boot1: mmc1:0001 S0J57X partition 2 31.5 MiB
    [    3.573909] mmcblk1rpmb: mmc1:0001 S0J57X partition 3 4.00 MiB, chardev (244:0)
    [    3.581914]  mmcblk1: p1 p2
    [    3.584905] tlv320aic3262-codec 3-0018: TLV320AIC3262 revision G
    [    3.591380] tlv320aic3262-codec 3-0018: aic3xxx_device_init added mfd devices
    [    3.600975] NET: Registered protocol family 10
    [    3.616077] Segment Routing with IPv6
    [    3.619826] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [    3.626200] NET: Registered protocol family 17
    [    3.630889] Key type dns_resolver registered
    [    3.635292] Registering SWP/SWPB emulation handler
    [    3.640162] omap_voltage_late_init: Voltage driver support not added
    [    3.646559] Power Management for TI OMAP4+ devices.
    [    3.652432] Loading compiled-in X.509 certificates
    [    3.674897] dmm 4e000000.dmm: workaround for errata i878 in use
    [    3.682255] dmm 4e000000.dmm: initialized all PAT entries
    [    3.688474] omapdss_dss 58000000.dss: Linked as a consumer to regulator.22
    [    3.695556] DSS: OMAP DSS rev 6.1
    [    3.699756] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops)
    [    3.729144] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [    3.735785] [drm] No driver support for vblank timestamp query.
    [    3.744750] [drm] Enabling DMM ywrap scrolling
    [    3.753937] Console: switching to colour frame buffer device 128x37
    [    3.764245] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
    [    3.771798] [drm] Initialized omapdrm 1.0.0 20110917 for omapdrm.0 on minor 0
    [    3.779399] of_get_named_gpiod_flags: can't parse 'simple-audio-card,hp-det-gpio' property of node '/sound0[0]'
    [    3.779409] of_get_named_gpiod_flags: can't parse 'simple-audio-card,mic-det-gpio' property of node '/sound0[0]'
    [    3.779492] aic3262_codec_probe enter
    [    3.779497] driver_init: Allocated Major Number: 243
    
    [    3.789686] driver_init: Registered cfw driver
    [    3.804237] tlv320aic3262-codec 3-0018: Unbalanced pm_runtime_enable!
    [    3.810997] tlv320aic3262-codec 3-0018: p 1 , r 30 7a 1
    [    3.816247] tlv320aic3262-codec 3-0018: p 1, w 30 7a 5
    [    3.861578] tlv320aic3262-codec 3-0018: p 1 , r 30 23 10
    [    3.866912] tlv320aic3262-codec 3-0018: p 1, w 30 23 30
    [    3.872170] aic3262_codec_probe exit
    [    3.872258] tlv320aic3262-codec 3-0018: Firmware binary load
    [    3.881555] Entering crc 109295
    [    3.881687] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.893168] CRC pass
    [    3.893170] Loaded firmware inside unpickle
    [    3.899585] Firmware:1650633935
    [    3.902749] dfamily = 2, device = 13
    [    3.906347] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.911525] flags = 0x0204
    [    3.914252] npll = 0x0003
    [    3.916889] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.922066] pll_offset = 0x0166
    [    3.925227] pjt->npfw = 0x0006
    [    3.928301] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.933480] pjt->nmode = 0x000c
    [    3.936642] tran_base = 132
    [    3.939465] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.944721] init:0xf0
    [    3.947013] Initialization sequence (applied only on system boot):0x12e
    [    3.953672] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.958939] pll48
    [    3.960882] pll8
    [    3.962735] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.967988] pll16
    [    3.969934] loading pfw[0]::offset = 0x496
    [    3.974044] Music offset 0x4d6
    [    3.977106] version = 0x123456
    [    3.980189] aic3xxx_cfw_unpickle:1538:0x4f2 ovly_cfg_offset:0x29df!
    [    3.986490] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.991760] aic3xxx_cfw_unpickle:1551:0x4f6 ctrl_offset:0x2da7!
    [    3.997713] **No Description Supplied**
                   PFW:Music/Music.pfw Version:0x123456
    [    4.006207] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    4.011472] Music/base_main_Rate48.cfg
    [    4.015263] loading pfw[0]0::offset = 0x29e7
    [    4.019570] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    4.024824] pjt->pfw[0]->ovly_cfg[0]->name: Speaker
    [    4.029745] loading pfw[0]1::offset = 0x2bc7
    [    4.034041] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    4.039306] pjt->pfw[0]->ovly_cfg[1]->name: Headphone
    [    4.044395] aic3xxx_cfw_unpickle:1928:0x2dab!
    [    4.048787] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    4.054076] pjt->pfw[0]->ctrl[0]->desc = The Stereo 2:1 Multiplexer Component selects one of 2 stereo input channels. 
                   Use "0" and "1" to select, respectively, the first and second 
                   stereo inputs.
    
    [    4.075920] Music SRS On Off offset 0x2eac
    [    4.080054] aic3xxx_cfw_unpickle:2085:0x2eb4!
    [    4.084437] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.089704] aic3xxx_cfw_unpickle:2085:0x2ed4!
    [    4.094088] loading pfw[1]::offset = 0x2ef4
    [    4.098295] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.103561] Record offset 0x2f34
    [    4.106810] version = 0x0
    [    4.109458] tlv320aic3262-codec 3-0018: p 1 , r 30 1c 7f
    [    4.114799] aic3xxx_cfw_unpickle:1538:0x2f50 ovly_cfg_offset:0x5ccb!
    [    4.121203] **No Description Supplied**
                   PFW:Record/Record.pfw Version:0x000000
    [    4.129870] tlv320aic3262-codec 3-0018: p 1 , r 30 1d 7f
    [    4.135214] Record/base_main_Rate8.cfg
    [    4.139011] loading pfw[1]0::offset = 0x5cd3
    [    4.143306] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.148559] pjt->pfw[1]->ovly_cfg[0]->name: OnboardMic
    [    4.153740] loading pfw[1]1::offset = 0x5d93
    [    4.158035] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.163302] pjt->pfw[1]->ovly_cfg[1]->name: HeadsetMic
    [    4.168472] loading pfw[2]::offset = 0x5e53
    [    4.172691] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.177951] ModemCallSpeaker offset 0x5e93
    [    4.182081] version = 0x0
    [    4.184719] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    4.189985] aic3xxx_cfw_unpickle:1538:0x5eaf ovly_cfg_offset:0xac3a!
    [    4.196374] **No Description Supplied**
                   PFW:ModemCallSpeaker/ModemCallSpeaker.pfw Version:0x000000
    [    4.206785] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    4.212048] ModemCallSpeaker/base_main_Rate8.cfg
    [    4.216723] loading pfw[2]0::offset = 0xac46
    [    4.221029] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.226284] pjt->pfw[2]->ovly_cfg[0]->name: Speaker
    [    4.231202] loading pfw[2]1::offset = 0xad26
    [    4.235497] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.240763] pjt->pfw[2]->ovly_cfg[1]->name: Headset
    [    4.245671] loading pfw[2]2::offset = 0xae06
    [    4.249980] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.255234] pjt->pfw[2]->ovly_cfg[2]->name: Headphone
    [    4.260327] loading pfw[3]::offset = 0xaee6
    [    4.264534] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.269800] ModemCallReceiver offset 0xaf26
    [    4.274009] version = 0x0
    [    4.276646] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    4.281912] aic3xxx_cfw_unpickle:1538:0xaf42 ovly_cfg_offset:0x10163!
    [    4.288389] **No Description Supplied**
                   PFW:ModemCallReceiver/ModemCallReceiver.pfw Version:0x000000
    [    4.298974] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    4.304235] ModemCallReceiver/base_main_Rate8.cfg
    [    4.308999] loading pfw[4]::offset = 0x10163
    [    4.313294] tlv320aic3262-codec 3-0018: p 1 , r 30 24 7f
    [    4.318637] VoIPCallSpeaker offset 0x101a3
    [    4.322769] version = 0x0
    [    4.325406] tlv320aic3262-codec 3-0018: p 1 , r 30 26 7f
    [    4.330760] aic3xxx_cfw_unpickle:1538:0x101bf ovly_cfg_offset:0x15170!
    [    4.337324] **No Description Supplied**
                   PFW:VoIPCallSpeaker/VoIPCallSpeaker.pfw Version:0x000000
    [    4.347560] tlv320aic3262-codec 3-0018: p 1 , r 30 27 7f
    [    4.352913] VoIPCallSpeaker/base_main_Rate16.cfg
    [    4.357575] loading pfw[4]0::offset = 0x1517c
    [    4.361969] tlv320aic3262-codec 3-0018: p 1 , r 30 25 7f
    [    4.367318] pjt->pfw[4]->ovly_cfg[0]->name: Speaker
    [    4.372236] loading pfw[4]1::offset = 0x1521c
    [    4.376617] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.381888] pjt->pfw[4]->ovly_cfg[1]->name: Headset
    [    4.386797] loading pfw[4]2::offset = 0x152bc
    [    4.391188] tlv320aic3262-codec 3-0018: p 1 , r 30 2e 7f
    [    4.396531] pjt->pfw[4]->ovly_cfg[2]->name: Headphone
    [    4.401624] loading pfw[5]::offset = 0x1535c
    [    4.405918] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.411185] VoIPCallReceiver offset 0x1539c
    [    4.415393] version = 0x0
    [    4.418031] tlv320aic3262-codec 3-0018: p 1 , r 30 2f 7f
    [    4.423383] aic3xxx_cfw_unpickle:1538:0x153b8 ovly_cfg_offset:0x1a36b!
    [    4.429958] **No Description Supplied**
                   PFW:VoIPCallReceiver/VoIPCallReceiver.pfw Version:0x000000
    [    4.440368] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.445643] VoIPCallReceiver/base_main_Rate16.cfg
    [    4.450411] loaded pfw's
    [    4.452965] Music Speaker
    [    4.455602] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.460868] Music Speaker
    [    4.463508] Music Speaker
    [    4.466146] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.471410] Music Speaker
    [    4.474050] Music Speaker
    [    4.476687] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.481955] Music Speaker
    [    4.484594] Music Speaker
    [    4.487232] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.492497] Music Speaker
    [    4.495137] Music Speaker
    [    4.497774] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.503036] Music Speaker
    [    4.505676] Music Speaker
    [    4.508313] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.513582] Music Speaker
    [    4.516227] loaded modes
    [    4.516231] Sending transition INIT[0]
    [    4.518792] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.538855] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.558859] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.578854] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.598855] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.618859] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.638858] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.657210] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.662651] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.668514] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.673953] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.679915] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.685582] Added control Music SRS On Off
    [    4.686096] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.696020] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.701943] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.707341] Download IMAGE Music/base_main_Rate48.cfg
    [    4.708005] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.719005] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.724412] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.733330] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.745001] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.756681] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.768354] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.780027] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    4.790893] tlv320aic3262-codec 3-0018: p 1 , r 30 12 3f
    [    4.803186] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    4.813405] tlv320aic3262-codec 3-0018: p 1 , r 30 13 3f
    [    4.823124] tlv320aic3262-codec 3-0018: p 0 , r 30 0 0
    [    4.833897] tlv320aic3262-codec 3-0018: p 0 , r 30 0 0
    [    4.845452] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.857206] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.868861] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.880519] tlv320aic3262-codec 3-0018: p 1 , r 30 35 0
    [    4.892189] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.903840] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.915510] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.927179] tlv320aic3262-codec 3-0018: p 1 , r 30 35 0
    [    4.938857] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.950511] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.962187] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    4.973841] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    4.985515] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    4.997188] tlv320aic3262-codec 3-0018: p 1 , r 30 38 0
    [    5.008834] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    5.020492] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    5.032133] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    5.043790] tlv320aic3262-codec 3-0018: p 1 , r 30 38 0
    [    5.055463] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    5.066352] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    5.077922] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.089490] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.099423] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.110954] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.122623] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    5.132754] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    5.144324] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    5.155909] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    5.162919] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    5.169007] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    5.175082] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    5.180688] Download IMAGE Speaker
    [    5.181191] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    5.191152] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    5.197412] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    5.204864] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    5.211931] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    5.219094] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    5.226623] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    5.232034] Re-configuring PLL: pll48==>0
    [    5.232540] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    5.242349] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    5.248027] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    5.253955] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    5.259606] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    5.265609] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    5.271495] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    5.277231] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    5.283079] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    5.288824] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    5.294564] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    5.300312] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    5.305642] Sending transition NEUTRAL[2]
    [    5.305645] setmode_cfg: DONE (mode=0 pfw=0 ovly=0 cfg=0)
    [    5.309698] tlv320aic3262-codec 3-0018: aic3262_set_dai_fmt enter
    [    5.321243] tlv320aic3262-codec 3-0018: ASoC: Failed to set DAI format: -22
    [    5.328590] asoc-simple-card sound0: aic326x-asi1 <-> 48468000.mcasp mapping ok
    [    5.335959] asoc-simple-card sound0: ASoC: no DMI vendor name!
    [    5.342095] tlv320aic3262-codec 3-0018: p 0 , r 30 3f 0
    [    5.347495] tlv320aic3262-codec 3-0018: p 0 , r 30 3f 0
    [    5.353069] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    5.358464] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    5.363937] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    5.369347] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    5.374786] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    5.380194] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    5.385624] tlv320aic3262-codec 3-0018: p 1 , r 30 28 39
    [    5.391125] tlv320aic3262-codec 3-0018: p 1 , r 30 28 39
    [    5.397012] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.402418] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.407912] tlv320aic3262-codec 3-0018: p 1 , r 30 3b 80
    [    5.413407] tlv320aic3262-codec 3-0018: p 1 , r 30 3c 80
    [    5.418891] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    5.424281] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    5.429961] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [    5.435361] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [    5.440880] tlv320aic3262-codec 3-0018: p 0 , r 30 6 21
    [    5.446275] tlv320aic3262-codec 3-0018: p 0 , r 30 b 2
    [    5.451601] tlv320aic3262-codec 3-0018: p 0 , r 30 c 8
    [    5.456915] tlv320aic3262-codec 3-0018: p 0 , r 30 12 2
    [    5.462323] tlv320aic3262-codec 3-0018: p 0 , r 30 13 8
    [    5.467818] tlv320aic3262-codec 3-0018: p 4 , r 30 c 4
    [    5.473145] tlv320aic3262-codec 3-0018: p 4 , r 30 d 20
    [    5.478544] tlv320aic3262-codec 3-0018: p 4 , r 30 1c 4
    [    5.483959] tlv320aic3262-codec 3-0018: p 4 , r 30 1d 20
    [    5.489458] tlv320aic3262-codec 3-0018: p 4 , r 30 2c 4
    [    5.494855] tlv320aic3262-codec 3-0018: p 4 , r 30 2d 20
    [    5.501227] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio_keys/USER1[0]' - status (0)
    [    5.501242] gpio gpiochip0: Persistence not supported for GPIO 14
    [    5.501358] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio_keys/USER2[0]' - status (0)
    [    5.501397] gpio gpiochip1: Persistence not supported for GPIO 6
    [    5.501476] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio_keys/USER3[0]' - status (0)
    [    5.501486] gpio gpiochip4: Persistence not supported for GPIO 1
    [    5.501638] input: gpio_keys as /devices/platform/gpio_keys/input/input2
    [    5.508888] rtc-ds1307 2-006f: read: d6 32 22 3e 13 05 22
    [    5.508896] rtc-ds1307 2-006f: read secs=56, mins=32, hours=22, mday=13, mon=4, year=122, wday=5
    [    5.508916] rtc-ds1307 2-006f: setting system clock to 2022-05-13 22:32:56 UTC (1652481176)
    [    5.517907] ALSA device list:
    [    5.520927]   #0: BeagleBoard-X15
    [    5.775480] EXT4-fs (mmcblk0p2): recovery complete
    [    5.792553] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [    5.800724] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    5.815244] devtmpfs: mounted
    [    5.819372] Freeing unused kernel memory: 2048K
    [    5.824051] Run /sbin/init as init process
    [    6.201989] systemd[1]: Configuration file /etc/systemd/system.conf is marked executable. Please remove executable permission bits. Proceeding anyway.
    [    6.220946] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -I)
    [    6.242926] systemd[1]: Detected architecture arm.
    [    6.284162] systemd[1]: Set hostname to <am57xx-evm>.
    [    6.472898] systemd[1]: File /lib/systemd/system/systemd-journald.service:36 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
    [    6.490124] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
    [    6.511462] systemd[1]: Configuration file /etc/systemd/system/systemd-udevd.service is marked executable. Please remove executable permission bits. Proceeding anyway.
    [    6.687000] systemd[1]: Configuration file /etc/systemd/system/sync-clocks.service is marked executable. Please remove executable permission bits. Proceeding anyway.
    [    6.741062] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [    6.781532] systemd[1]: Created slice User and Session Slice.
    [    6.859530] systemd[1]: Created slice system-getty.slice.
    [    7.329479] systemd-journald[115]: Configuration file /etc/systemd/journald.conf is marked executable. Please remove executable permission bits. Proceeding anyway.
    [    7.403506] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [    7.543234] cmemk: loading out-of-tree module taints kernel.
    [    7.550065] CMEMK module: reference Linux version 4.19.94
    [    7.556279] allocated heap buffer 0x40500000 of size 0x100000
    [    7.562251] cmemk initialized
    [    7.583142] cryptodev: driver 1.9 loaded.
    [    7.653752] usbcore: registered new interface driver usbfs
    [    7.659386] usbcore: registered new interface driver hub
    [    7.664818] usbcore: registered new device driver usb
    [    7.683974] usbcore: registered new interface driver ftdi_sio
    [    7.689826] usbserial: USB Serial support registered for FTDI USB Serial Device
    [    7.976617] systemd-journald[115]: Received request to flush runtime journal from PID 1
    [    8.462622] omap-rproc 58820000.ipu: ignoring dependency for device, assuming no driver
    [    8.500176] omap-rproc 58820000.ipu: ignoring dependency for device, assuming no driver
    [    8.550544] omap-rproc 58820000.ipu: assigned reserved memory node ipu1-memory@9d000000
    [    8.563354] remoteproc remoteproc0: 58820000.ipu is available
    [    8.580961] omap-rproc 55020000.ipu: ignoring dependency for device, assuming no driver
    [    8.604630] omap-rproc 55020000.ipu: ignoring dependency for device, assuming no driver
    [    8.642060] omap-rproc 55020000.ipu: assigned reserved memory node ipu2-memory@95800000
    [    8.652062] remoteproc remoteproc1: 55020000.ipu is available
    [    8.693171] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
    [    8.708729] omap-rproc 40800000.dsp: ignoring dependency for device, assuming no driver
    [    8.750612] omap-rproc 40800000.dsp: assigned reserved memory node dsp1-memory@99000000
    [    8.761065] remoteproc remoteproc2: 40800000.dsp is available
    [    8.785757] omap-rproc 41000000.dsp: ignoring dependency for device, assuming no driver
    [    8.811456] omap-rproc 41000000.dsp: ignoring dependency for device, assuming no driver
    [    8.822778] omap-rproc 41000000.dsp: assigned reserved memory node dsp2-memory@9f000000
    [    8.851165] remoteproc remoteproc3: 41000000.dsp is available
    [    8.947335] Error: Driver 'palmas-rtc' is already registered, aborting...
    [    9.023449] Error: Driver 'palmas-rtc' is already registered, aborting...
    [    9.128876] Error: Driver 'rtc-ds1307' is already registered, aborting...
    [    9.213953] Error: Driver 'rtc-ds1307' is already registered, aborting...
    [    9.336820] remoteproc remoteproc1: powering up 55020000.ipu
    [    9.342546] remoteproc remoteproc1: Booting fw image dra7-ipu2-fw.xem4, size 3747220
    [    9.360760] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
    [    9.408537] remoteproc remoteproc0: powering up 58820000.ipu
    [    9.415216] remoteproc remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 6887428
    [    9.433704] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    9.446511] remoteproc remoteproc0: registered virtio0 (type 7)
    [    9.453348] remoteproc remoteproc0: remote processor 58820000.ipu is now up
    [    9.461618] virtio_rpmsg_bus virtio0: creating channel rpmsg-proto addr 0x3d
    [    9.475012] at24 0-0050: GPIO lookup for consumer wp
    [    9.475020] at24 0-0050: using device tree for GPIO lookup
    [    9.475035] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/i2c@48070000/eeprom@50[0]'
    [    9.475047] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/i2c@48070000/eeprom@50[0]'
    [    9.475054] at24 0-0050: using lookup tables for GPIO lookup
    [    9.475060] at24 0-0050: No GPIO consumer wp found
    [    9.475998] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: GPIO lookup for consumer id
    [    9.476005] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: using device tree for GPIO lookup
    [    9.476017] of_get_named_gpiod_flags: can't parse 'id-gpios' property of node '/ocp/i2c@48070000/tps659038@58/tps659038_usb[0]'
    [    9.476028] of_get_named_gpiod_flags: can't parse 'id-gpio' property of node '/ocp/i2c@48070000/tps659038@58/tps659038_usb[0]'
    [    9.476034] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: using lookup tables for GPIO lookup
    [    9.476039] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: No GPIO consumer id found
    [    9.476045] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: GPIO lookup for consumer vbus
    [    9.476050] palmas-usb 48070000.i2c:tps659038@58:tps659038_usb: using device tree for GPIO lookup
    [    9.476060] of_get_named_gpiod_flags: can't parse 'vbus-gpios' property of node '/ocp/i2c@48070000/tps659038@58/tps659038_usb[0]'
    [    9.476080] of_get_named_gpiod_flags: parsed 'vbus-gpio' property of node '/ocp/i2c@48070000/tps659038@58/tps659038_usb[0]' - status (0)
    [    9.476123] gpio gpiochip3: Persistence not supported for GPIO 21
    [    9.477061] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    9.478931] at24 0-0050: 32768 byte 24c256 EEPROM, writable, 1 bytes/write
    [    9.482963] remoteproc remoteproc1: registered virtio1 (type 7)
    [    9.495621] remoteproc remoteproc1: remote processor 55020000.ipu is now up
    [    9.503249] virtio_rpmsg_bus virtio1: creating channel rpmsg-rpc addr 0x65
    [    9.511520] Driver for 1-wire Dallas network protocol.
    [    9.517111] virtio_rpmsg_bus virtio1: creating channel rpmsg-rpc addr 0x66
    [    9.521140] omap_rtc 48838000.rtc: char device (252:2)
    [    9.528252] omap_rtc 48838000.rtc: registered as rtc2
    [    9.742389] omap_hdq 480b2000.1w: OMAP HDQ Hardware Rev 0.:. Driver in Interrupt mode
    [    9.877891] 
    
    [    9.894081] ov5640 2-003c: GPIO lookup for consumer powerdown
    [    9.894088] ov5640 2-003c: using device tree for GPIO lookup
    [    9.894113] of_get_named_gpiod_flags: parsed 'powerdown-gpios' property of node '/ocp/i2c@48060000/ov5640@3c[0]' - status (0)
    [    9.894127] gpio gpiochip4: Persistence not supported for GPIO 17
    [    9.894135] ov5640 2-003c: GPIO lookup for consumer reset
    [    9.894140] ov5640 2-003c: using device tree for GPIO lookup
    [    9.894150] of_get_named_gpiod_flags: can't parse 'reset-gpios' property of node '/ocp/i2c@48060000/ov5640@3c[0]'
    [    9.894160] of_get_named_gpiod_flags: can't parse 'reset-gpio' property of node '/ocp/i2c@48060000/ov5640@3c[0]'
    [    9.894166] ov5640 2-003c: using lookup tables for GPIO lookup
    [    9.894172] ov5640 2-003c: No GPIO consumer reset found
    [    9.894211] ov5640 2-003c: 2-003c supply DOVDD not found, using dummy regulator
    [    9.912504] ov5640 2-003c: Linked as a consumer to regulator.0
    [    9.922498] ov5640 2-003c: 2-003c supply DVDD not found, using dummy regulator
    [    9.930438] ov5640 2-003c: 2-003c supply AVDD not found, using dummy regulator
    [    9.943018] 
    [    9.978917] w1_master_driver w1_bus_master1: Attaching one wire slave 01.000000000000 crc 3d
    [   10.014476] w1_master_driver w1_bus_master1: Family 1 for 01.000000000000.3d is not registered.
    [   10.267039] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [   10.276261] phy phy-4a084000.phy.3: Linked as a consumer to regulator.23
    [   10.286784] phy phy-4a085000.phy.4: Linked as a consumer to regulator.23
    [   10.426419] libata version 3.00 loaded.
    [   10.524655] vpe 489d0000.vpe: loading firmware vpdma-1b8.bin
    [   10.718988] vpe 489d0000.vpe: Device registered as /dev/video0
    [   10.840872] [drm] Initialized pvr 1.17.4948957 20110701 for 56000000.gpu on minor 1
    [   11.036427] ahci 4a140000.sata: controller can't do 64bit DMA, forcing 32bit
    [   11.039179] vip 48990000.vip: loading firmware vpdma-1b8.bin
    [   11.044411] ahci 4a140000.sata: forcing port_map 0x0 -> 0x1
    [   11.056877] ahci 4a140000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    [   11.065502] ahci 4a140000.sata: flags: ncq sntf pm led clo only pmp pio slum part ccc apst 
    [   11.078864] vip 48990000.vip: VPDMA firmware loaded
    [   11.083857] vin3a: Port A: Using subdev ov5640 2-003c for capture
    [   11.094661] scsi host0: ahci
    [   11.096147] vin3a: subdev ov5640 2-003c: code: 4001 idx: 0
    [   11.097873] ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a1410ff] port 0x100 irq 84
    [   11.103982] vin3a: subdev ov5640 2-003c: code: 2006 idx: 1
    [   11.121576] vin3a: matched fourcc: NV12: code: 2006 idx: 0
    [   11.127088] vin3a: matched fourcc: UYVY: code: 2006 idx: 1
    [   11.135429] vin3a: matched fourcc: YUYV: code: 2006 idx: 2
    [   11.141355] vin3a: matched fourcc: VYUY: code: 2006 idx: 3
    [   11.146864] vin3a: matched fourcc: YVYU: code: 2006 idx: 4
    [   11.152660] vin3a: matched fourcc: RGB3: code: 2006 idx: 5
    [   11.158172] vin3a: matched fourcc: RGB4: code: 2006 idx: 6
    [   11.164047] vin3a: matched fourcc: BGR3: code: 2006 idx: 7
    [   11.169708] vin3a: matched fourcc: BGR4: code: 2006 idx: 8
    [   11.175218] vin3a: subdev ov5640 2-003c: code: 2008 idx: 2
    [   11.181074] vin3a: subdev ov5640 2-003c: code: 1008 idx: 3
    [   11.187199] vin3a: subdev ov5640 2-003c: code: 1007 idx: 4
    [   11.193074] vin3a-0: device registered as video1
    [   11.451609] remoteproc remoteproc2: powering up 40800000.dsp
    [   11.457780] remoteproc remoteproc2: Booting fw image dra7-dsp1-fw.xe66, size 20482288
    [   11.465929] ata1: SATA link down (SStatus 0 SControl 300)
    [   11.471662] omap-iommu 40d01000.mmu: 40d01000.mmu: version 3.0
    [   11.477563] omap-iommu 40d02000.mmu: 40d02000.mmu: version 3.0
    [   11.505309] virtio_rpmsg_bus virtio2: rpmsg host is online
    [   11.510916] remoteproc remoteproc2: registered virtio2 (type 7)
    [   11.516862] remoteproc remoteproc2: remote processor 40800000.dsp is now up
    [   11.531886] virtio_rpmsg_bus virtio2: creating channel rpmsg-proto addr 0x3d
    [   11.668861] remoteproc remoteproc3: powering up 41000000.dsp
    [   11.675471] remoteproc remoteproc3: Booting fw image dra7-dsp2-fw.xe66, size 20482288
    [   11.683926] omap-iommu 41501000.mmu: 41501000.mmu: version 3.0
    [   11.689868] omap-iommu 41502000.mmu: 41502000.mmu: version 3.0
    [   11.708839] virtio_rpmsg_bus virtio3: rpmsg host is online
    [   11.714524] remoteproc remoteproc3: registered virtio3 (type 7)
    [   11.740499] remoteproc remoteproc3: remote processor 41000000.dsp is now up
    [   11.753194] virtio_rpmsg_bus virtio3: creating channel rpmsg-proto addr 0x3d
    [   11.763008] net eth0: initializing cpsw version 1.15 (0)
    [   11.856670] PVR_K: UM DDK-(4948957) and KM DDK-(4948957) match. [ OK ]
    [   11.885777] tlv320aic3262-codec 3-0018: p 0 , r 30 41 0
    [   11.920395] tlv320aic3262-codec 3-0018: p 0, w 30 41 d8
    [   11.988237] tlv320aic3262-codec 3-0018: p 0 , r 30 42 0
    [   12.011391] Microsemi GE VSC8502 SyncE 48485000.mdio:00: attached PHY driver [Microsemi GE VSC8502 SyncE] (mii_bus:phy_addr=48485000.mdio:00, irq=POLL)
    [   12.040308] tlv320aic3262-codec 3-0018: p 0, w 30 42 d8
    [   12.073892] tlv320aic3262-codec 3-0018: p 0 , r 30 41 d8
    [   12.120037] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    [   12.128076] tlv320aic3262-codec 3-0018: p 0, w 30 41 1
    [   12.155808] tlv320aic3262-codec 3-0018: p 0 , r 30 42 d8
    [   12.209976] tlv320aic3262-codec 3-0018: p 0, w 30 42 1
    [   12.251999] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   12.272519] net eth1: initializing cpsw version 1.15 (0)
    [   12.314755] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   12.355459] tlv320aic3262-codec 3-0018: p 0 , r 30 1 0
    [   12.365003] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   12.420061] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   12.459655] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   12.512879] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [   12.522451] Microsemi GE VSC8502 SyncE 48485000.mdio:01: attached PHY driver [Microsemi GE VSC8502 SyncE] (mii_bus:phy_addr=48485000.mdio:01, irq=POLL)
    [   12.549656] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   12.571467] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [   12.579399] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   12.608885] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   12.643797] tlv320aic3262-codec 3-0018: p 0 , r 30 47 0
    [   12.670037] tlv320aic3262-codec 3-0018: p 0 , r 30 47 0
    [   12.697522] tlv320aic3262-codec 3-0018: p 0, w 30 47 5
    [   12.721295] tlv320aic3262-codec 3-0018: p 0 , r 30 48 0
    [   12.744102] tlv320aic3262-codec 3-0018: p 0, w 30 48 4
    [   12.763033] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   12.792825] tlv320aic3262-codec 3-0018: p 0 , r 30 3c 0
    [   12.798081] tlv320aic3262-codec 3-0018: p 0, w 30 3c 1c
    [   13.988382] dwc3 48890000.usb: Failed to get clk 'ref': -2
    [   13.994060] NET: Registered protocol family 45
    [   14.000943] rpmsg_rpc virtio1.rpmsg-rpc.-1.101: probing service dce-callback with src 1024 dst 101
    [   14.054746] dwc3 488d0000.usb: Failed to get clk 'ref': -2
    [   14.063847] rpmsg_rpc virtio1.rpmsg-rpc.-1.102: probing service rpmsg-dce with src 1025 dst 102
    [   14.072680] rpmsg_rpc virtio1.rpmsg-rpc.-1.101: published functions = 4
    [   14.137975] rpmsg_rpc virtio1.rpmsg-rpc.-1.102: published functions = 9
    [   14.186184] cpsw 48484000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
    [   14.207337] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [   14.276278] remoteproc remoteproc4: 4b234000.pru is available
    [   14.295018] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   14.298589] pru-rproc 4b234000.pru: PRU rproc node pru@4b234000 probed successfully
    [   14.313122] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
    [   14.321951] remoteproc remoteproc5: 4b238000.pru is available
    [   14.329006] xhci-hcd xhci-hcd.0.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010
    [   14.334247] pru-rproc 4b238000.pru: PRU rproc node pru@4b238000 probed successfully
    [   14.349113] xhci-hcd xhci-hcd.0.auto: irq 189, io mem 0x48890000
    [   14.354388] remoteproc remoteproc6: 4b2b4000.pru is available
    [   14.362242] pru-rproc 4b2b4000.pru: PRU rproc node pru@4b2b4000 probed successfully
    [   14.365475] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
    [   14.371229] remoteproc remoteproc7: 4b2b8000.pru is available
    [   14.384916] pru-rproc 4b2b8000.pru: PRU rproc node pru@4b2b8000 probed successfully
    [   14.400809] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   14.420102] usb usb1: Product: xHCI Host Controller
    [   14.425232] usb usb1: Manufacturer: Linux 4.19.94-gbe5389fd85 xhci-hcd
    [   14.432218] usb usb1: SerialNumber: xhci-hcd.0.auto
    [   14.438961] hub 1-0:1.0: USB hub found
    [   14.442981] hub 1-0:1.0: 1 port detected
    [   14.452676] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
    [   14.460532] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
    [   14.470624] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
    [   14.501882] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
    [   14.511685] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.19
    [   14.525075] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [   14.532801] usb usb2: Product: xHCI Host Controller
    [   14.537701] usb usb2: Manufacturer: Linux 4.19.94-gbe5389fd85 xhci-hcd
    [   14.545352] usb usb2: SerialNumber: xhci-hcd.0.auto
    [   14.550974] hub 2-0:1.0: USB hub found
    [   14.554769] hub 2-0:1.0: 1 port detected
    [   14.818829] usb 1-1: new high-speed USB device number 2 using xhci-hcd
    [   14.999135] usb 1-1: New USB device found, idVendor=0451, idProduct=8142, bcdDevice= 1.00
    [   15.007613] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
    [   15.015084] usb 1-1: SerialNumber: BA0C18492D53
    [   15.085466] hub 1-1:1.0: USB hub found
    [   15.089959] hub 1-1:1.0: 4 ports detected
    [   15.158874] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd
    [   15.189113] usb 2-1: New USB device found, idVendor=0451, idProduct=8140, bcdDevice= 1.00
    [   15.197334] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [   15.229876] hub 2-1:1.0: USB hub found
    [   15.237238] hub 2-1:1.0: 4 ports detected
    [   15.468844] usb 1-1.3: new full-speed USB device number 3 using xhci-hcd
    [   15.600117] usb 1-1.3: config 1 interface 1 altsetting 0 endpoint 0x83 has wMaxPacketSize 0, skipping
    [   15.610541] usb 1-1.3: config 1 interface 1 altsetting 0 endpoint 0x3 has wMaxPacketSize 0, skipping
    [   15.621585] usb 1-1.3: New USB device found, idVendor=0cf3, idProduct=e300, bcdDevice= 0.01
    [   15.635519] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [   17.500653] tlv320aic3262-codec 3-0018: p 0 , r 30 41 1
    [   17.522114] tlv320aic3262-codec 3-0018: p 0, w 30 41 d8
    [   17.539264] tlv320aic3262-codec 3-0018: p 0 , r 30 42 1
    [   17.549379] tlv320aic3262-codec 3-0018: p 0, w 30 42 d8
    [   17.559625] tlv320aic3262-codec 3-0018: p 0 , r 30 41 d8
    [   17.567573] tlv320aic3262-codec 3-0018: p 0, w 30 41 1
    [   17.577565] tlv320aic3262-codec 3-0018: p 0 , r 30 42 d8
    [   17.587714] tlv320aic3262-codec 3-0018: p 0, w 30 42 1
    [   17.594311] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   17.606256] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   17.626207] tlv320aic3262-codec 3-0018: p 0 , r 30 1 0
    [   17.634118] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   17.648324] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   17.677653] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   17.698135] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [   17.719721] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   17.751269] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   17.769470] rtc-ds1307 2-006f: write secs=8, mins=3, hours=4, mday=14, mon=4, year=122, wday=6
    [   17.769480] rtc-ds1307 2-006f: write: 88 03 04 0f 14 05 22
    [   17.770735] rtc-ds1307 2-006f: read: 88 03 04 2f 14 05 22
    [   17.770744] rtc-ds1307 2-006f: read secs=8, mins=3, hours=4, mday=14, mon=4, year=122, wday=6
    [   17.778998] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   17.794829] tlv320aic3262-codec 3-0018: p 0 , r 30 47 5
    [   17.800580] tlv320aic3262-codec 3-0018: p 0 , r 30 47 5
    [   17.806076] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   17.812211] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   17.819585] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
    [   17.824983] tlv320aic3262-codec 3-0018: p 0 , r 30 3c 1c
    [   35.678849] aic_dvdd_fixed: disabling
    [   89.135369]  
                    Inide soc_dai_hw_params
    [   89.140720] tlv320aic3262-codec 3-0018: aic3262_hw_params enter
    [   89.146966] tlv320aic3262-codec 3-0018: p 4 , r 30 4 0
    [   89.152360] tlv320aic3262-codec 3-0018: p 4 , r 30 c 4
    [   89.157705] tlv320aic3262-codec 3-0018: p 4 , r 30 d 20
    [   89.163303] tlv320aic3262-codec 3-0018: p 4 , r 30 1 0
    [   89.168604] tlv320aic3262-codec 3-0018: p 4 , r 30 4 0
    [   89.173936] tlv320aic3262-codec 3-0018: p 4 , r 30 1 0
    [   89.179147] tlv320aic3262-codec 3-0018: Invalid DAI interface format
    [   89.185564] tlv320aic3262-codec 3-0018: failed to set hardware params for AIC3262
    [   89.193114] tlv320aic3262-codec 3-0018: ASoC: can't set aic326x-asi1 hw params: -22
    [   89.200820] tlv320aic3262-codec 3-0018: codec : aic3262_mute : started
    [   89.207613] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   89.212907] tlv320aic3262-codec 3-0018: p 0, w 30 40 c
    [   89.218167] tlv320aic3262-codec 3-0018: codec : aic3262_mute : ended
    [   89.224563] aic3262_mute exit
    [  130.364256] NET: Registered protocol family 15
    [  130.434127] Initializing XFRM netlink socket
    

    However, when I try to play sound using aplay, I am getting "Unable to install hw_params" error.

    root@am57xx-evm:~/ringtones# aplay ringtone1.wav 
    Playing WAVE 'ringtone1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
    aplay: set_params:1403: Unable to install hw params:
    ACCESS:  RW_INTERLEAVED
    FORMAT:  S16_LE
    SUBFORMAT:  STD
    SAMPLE_BITS: 16
    FRAME_BITS: 32
    CHANNELS: 2
    RATE: 44100
    PERIOD_TIME: (125011 125012)
    PERIOD_SIZE: 5513
    PERIOD_BYTES: 22052
    PERIODS: 4
    BUFFER_TIME: (500045 500046)
    BUFFER_SIZE: 22052
    BUFFER_BYTES: 88208
    TICK_TIME: 0
    
    
    
    
    
    <---------------DMESG LOGS------------------------------->
    
    
    root@am57xx-evm:~# [  278.297719]  
    [  278.297719]  Inide soc_dai_hw_params
    [  278.302923] tlv320aic3262-codec 3-0018: aic3262_hw_params enter
    [  278.310412] tlv320aic3262-codec 3-0018: p 4 , r 30 4 0
    [  278.315789] tlv320aic3262-codec 3-0018: p 4 , r 30 c 4
    [  278.322454] tlv320aic3262-codec 3-0018: p 4 , r 30 d 20
    [  278.328000] tlv320aic3262-codec 3-0018: p 4 , r 30 1 0
    [  278.334421] tlv320aic3262-codec 3-0018: p 4 , r 30 4 0
    [  278.340311] tlv320aic3262-codec 3-0018: p 4 , r 30 1 0
    [  278.345471] tlv320aic3262-codec 3-0018: Invalid DAI interface format
    [  278.352878] tlv320aic3262-codec 3-0018: failed to set hardware params for AIC3262
    [  278.360443] tlv320aic3262-codec 3-0018: ASoC: can't set aic326x-asi1 hw params: -22
    [  278.368134] tlv320aic3262-codec 3-0018: codec : aic3262_mute : started
    [  278.374965] tlv320aic3262-codec 3-0018: p 0 , r 30 40 c
    [  278.380233] tlv320aic3262-codec 3-0018: codec : aic3262_mute : ended

    Kindly acknowledge.

    Regards,

    Devashish

  • Kindly share your wav file with me.

  • According to the log, are you sure to set the proper audio format int the device tree?

    Kindly see following pic.

  • Hi,

    I have attached the device tree definition below. I am setting - simple-audio-card,format = "dsp_b"

    I have also attached the dra77xx-clocks.dtsi for the clocks.

    /*
     * Copyright (C) 2014-2016 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    
    /dts-v1/;
    
    #include "dra74x.dtsi"
    #include "am57xx-commercial-grade.dtsi"
    #include "dra74x-mmc-iodelay.dtsi"
    #include "dra74-ipu-dsp-common.dtsi"
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/leds-pca955x.h>
    #include <dt-bindings/input/input.h>
    
    / {
    
    	sound0: sound0 {
                    compatible = "simple-audio-card";
                    simple-audio-card,name = "BeagleBoard-X15";
    /*              
                    simple-audio-card,widgets =
                            "Speaker", "Headphone Speaker",
                            "Microphone", "Microphone External",
                            "Speaker", "Speaker External",
                            "Speaker", "Handset Speaker",
                            "Microphone", "Handset Microphone";
                    simple-audio-card,routing =
                            "Headphone Speaker", "HPL",
                            "Headphone Speaker", "HPR",
                            "Speaker External",     "SPKL",
                            "Speaker External",     "SPKR",
                            "Handset Speaker",      "RECL",
                            "Handset Speaker",      "RECR",
                            "IN3L", "Microphone External",
                            "IN3R", "Microphone External"; 
    */
                    simple-audio-card,format = "dsp_b";
                    simple-audio-card,bitclock-master = <&cpu_dai>;
                    simple-audio-card,frame-master = <&cpu_dai>;
                    simple-audio-card,bitclock-inversion;
    		
    		simple-audio-card,dai-link@0 {
    			cpu_dai: cpu {
    				sound-dai = <&mcasp3>;
    				clocks = <&clkout2_clk>;
    			};
    			codec {
    				sound-dai = <&tlv320aic3262>;
    				clocks = <&clkout2_clk>;
    			};
    		};
    	};	
    };
    
    &i2c4 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	tlv320aic3262: tlv320aic3262@18 {
    	      #sound-dai-cells = <0>;
    	      compatible = "ti,aic3262";
    	      reg = <0x18>;
    	      assigned-clocks = <&clkoutmux2_clk_mux>;
    	      assigned-clock-parents = <&sys_clk2_dclk_div>;
    	      adc-settle-ms = <40>;
    	      status ="okay";
    	};
    };
    
     
    &mcasp3 {
            #sound-dai-cells = <0>;
            assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
            assigned-clock-parents = <&sys_clkin2>;
            status = "okay";
    
            op-mode = <0>;  /* MCASP_IIS_MODE */
            tdm-slots = <2>;
            /* 4 serializers */
            serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
                    1 2 0 0
            >;
            tx-num-evt = <32>;
            rx-num-evt = <32>;
    };

    /*
     * Device Tree Source for DRA7xx clock data
     *
     * Copyright (C) 2013 Texas Instruments, Inc.
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    &cm_core_aon_clocks {
    	atl_clkin0_ck: atl_clkin0_ck {
    		#clock-cells = <0>;
    		compatible = "ti,dra7-atl-clock";
    		clocks = <&atl_clkctrl DRA7_ATL_CLKCTRL 26>;
    	};
    
    	atl_clkin1_ck: atl_clkin1_ck {
    		#clock-cells = <0>;
    		compatible = "ti,dra7-atl-clock";
    		clocks = <&atl_clkctrl DRA7_ATL_CLKCTRL 26>;
    	};
    
    	atl_clkin2_ck: atl_clkin2_ck {
    		#clock-cells = <0>;
    		compatible = "ti,dra7-atl-clock";
    		clocks = <&atl_clkctrl DRA7_ATL_CLKCTRL 26>;
    	};
    
    	atl_clkin3_ck: atl_clkin3_ck {
    		#clock-cells = <0>;
    		compatible = "ti,dra7-atl-clock";
    		clocks = <&atl_clkctrl DRA7_ATL_CLKCTRL 26>;
    	};
    
    	hdmi_clkin_ck: hdmi_clkin_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	mlb_clkin_ck: mlb_clkin_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	mlbp_clkin_ck: mlbp_clkin_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	pciesref_acs_clk_ck: pciesref_acs_clk_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <100000000>;
    	};
    
    	ref_clkin0_ck: ref_clkin0_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	ref_clkin1_ck: ref_clkin1_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	ref_clkin2_ck: ref_clkin2_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	ref_clkin3_ck: ref_clkin3_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	rmii_clk_ck: rmii_clk_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	sdvenc_clkin_ck: sdvenc_clkin_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	secure_32k_clk_src_ck: secure_32k_clk_src_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <32768>;
    	};
    
    	sys_clk32_crystal_ck: sys_clk32_crystal_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <32768>;
    	};
    
    	sys_clk32_pseudo_ck: sys_clk32_pseudo_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&sys_clkin1>;
    		clock-mult = <1>;
    		clock-div = <610>;
    	};
    
    	virt_12000000_ck: virt_12000000_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <12000000>;
    	};
    
    	virt_13000000_ck: virt_13000000_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <13000000>;
    	};
    
    	virt_16800000_ck: virt_16800000_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <16800000>;
    	};
    
    	virt_19200000_ck: virt_19200000_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <19200000>;
    	};
    
    	virt_20000000_ck: virt_20000000_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <20000000>;
    	};
    
    	virt_26000000_ck: virt_26000000_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <26000000>;
    	};
    
    	virt_27000000_ck: virt_27000000_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <27000000>;
    	};
    
    	virt_38400000_ck: virt_38400000_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <38400000>;
    	};
    
    	sys_clkin2: sys_clkin2 {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <24000000>;
    	};
    
    	usb_otg_clkin_ck: usb_otg_clkin_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	video1_clkin_ck: video1_clkin_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	video1_m2_clkin_ck: video1_m2_clkin_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	video2_clkin_ck: video2_clkin_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	video2_m2_clkin_ck: video2_m2_clkin_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    
    	dpll_abe_ck: dpll_abe_ck@1e0 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-m4xen-clock";
    		clocks = <&abe_dpll_clk_mux>, <&abe_dpll_bypass_clk_mux>;
    		reg = <0x01e0>, <0x01e4>, <0x01ec>, <0x01e8>;
    		assigned-clocks = <&dpll_abe_ck>;
    		assigned-clock-rates = <50000000>;
    	};
    
    	dpll_abe_x2_ck: dpll_abe_x2_ck {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-x2-clock";
    		clocks = <&dpll_abe_ck>;
    	};
    
    	dpll_abe_m2x2_ck: dpll_abe_m2x2_ck@1f0 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_abe_x2_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x01f0>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	abe_clk: abe_clk@108 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_abe_m2x2_ck>;
    		ti,max-div = <4>;
    		reg = <0x0108>;
    		ti,index-power-of-two;
    	};
    
    	dpll_abe_m2_ck: dpll_abe_m2_ck@1f0 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_abe_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x01f0>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_abe_m3x2_ck: dpll_abe_m3x2_ck@1f4 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_abe_x2_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x01f4>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_core_byp_mux: dpll_core_byp_mux@12c {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
    		ti,bit-shift = <23>;
    		reg = <0x012c>;
    	};
    
    	dpll_core_ck: dpll_core_ck@120 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-core-clock";
    		clocks = <&sys_clkin1>, <&dpll_core_byp_mux>;
    		reg = <0x0120>, <0x0124>, <0x012c>, <0x0128>;
    	};
    
    	dpll_core_x2_ck: dpll_core_x2_ck {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-x2-clock";
    		clocks = <&dpll_core_ck>;
    	};
    
    	dpll_core_h12x2_ck: dpll_core_h12x2_ck@13c {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_core_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x013c>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	mpu_dpll_hs_clk_div: mpu_dpll_hs_clk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_core_h12x2_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dpll_mpu_ck: dpll_mpu_ck@160 {
    		#clock-cells = <0>;
    		compatible = "ti,omap5-mpu-dpll-clock";
    		clocks = <&sys_clkin1>, <&mpu_dpll_hs_clk_div>;
    		reg = <0x0160>, <0x0164>, <0x016c>, <0x0168>;
    	};
    
    	dpll_mpu_m2_ck: dpll_mpu_m2_ck@170 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_mpu_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0170>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	mpu_dclk_div: mpu_dclk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_mpu_m2_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dsp_dpll_hs_clk_div: dsp_dpll_hs_clk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_core_h12x2_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dpll_dsp_byp_mux: dpll_dsp_byp_mux@240 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&dsp_dpll_hs_clk_div>;
    		ti,bit-shift = <23>;
    		reg = <0x0240>;
    	};
    
    	dpll_dsp_ck: dpll_dsp_ck@234 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-clock";
    		clocks = <&sys_clkin1>, <&dpll_dsp_byp_mux>;
    		reg = <0x0234>, <0x0238>, <0x0240>, <0x023c>;
    		assigned-clocks = <&dpll_dsp_ck>;
    		assigned-clock-rates = <600000000>;
    	};
    
    	dpll_dsp_m2_ck: dpll_dsp_m2_ck@244 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_dsp_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0244>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    		assigned-clocks = <&dpll_dsp_m2_ck>;
    		assigned-clock-rates = <600000000>;
    	};
    
    	iva_dpll_hs_clk_div: iva_dpll_hs_clk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_core_h12x2_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dpll_iva_byp_mux: dpll_iva_byp_mux@1ac {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&iva_dpll_hs_clk_div>;
    		ti,bit-shift = <23>;
    		reg = <0x01ac>;
    	};
    
    	dpll_iva_ck: dpll_iva_ck@1a0 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-clock";
    		clocks = <&sys_clkin1>, <&dpll_iva_byp_mux>;
    		reg = <0x01a0>, <0x01a4>, <0x01ac>, <0x01a8>;
    		assigned-clocks = <&dpll_iva_ck>;
    		assigned-clock-rates = <1165000000>;
    	};
    
    	dpll_iva_m2_ck: dpll_iva_m2_ck@1b0 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_iva_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x01b0>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    		assigned-clocks = <&dpll_iva_m2_ck>;
    		assigned-clock-rates = <388333334>;
    	};
    
    	iva_dclk: iva_dclk {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_iva_m2_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dpll_gpu_byp_mux: dpll_gpu_byp_mux@2e4 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
    		ti,bit-shift = <23>;
    		reg = <0x02e4>;
    	};
    
    	dpll_gpu_ck: dpll_gpu_ck@2d8 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-clock";
    		clocks = <&sys_clkin1>, <&dpll_gpu_byp_mux>;
    		reg = <0x02d8>, <0x02dc>, <0x02e4>, <0x02e0>;
    		assigned-clocks = <&dpll_gpu_ck>;
    		assigned-clock-rates = <1277000000>;
    	};
    
    	dpll_gpu_m2_ck: dpll_gpu_m2_ck@2e8 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_gpu_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x02e8>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    		assigned-clocks = <&dpll_gpu_m2_ck>;
    		assigned-clock-rates = <425666667>;
    	};
    
    	dpll_core_m2_ck: dpll_core_m2_ck@130 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_core_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0130>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	core_dpll_out_dclk_div: core_dpll_out_dclk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_core_m2_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dpll_ddr_byp_mux: dpll_ddr_byp_mux@21c {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
    		ti,bit-shift = <23>;
    		reg = <0x021c>;
    	};
    
    	dpll_ddr_ck: dpll_ddr_ck@210 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-clock";
    		clocks = <&sys_clkin1>, <&dpll_ddr_byp_mux>;
    		reg = <0x0210>, <0x0214>, <0x021c>, <0x0218>;
    	};
    
    	dpll_ddr_m2_ck: dpll_ddr_m2_ck@220 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_ddr_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0220>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_gmac_byp_mux: dpll_gmac_byp_mux@2b4 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&dpll_abe_m3x2_ck>;
    		ti,bit-shift = <23>;
    		reg = <0x02b4>;
    	};
    
    	dpll_gmac_ck: dpll_gmac_ck@2a8 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-clock";
    		clocks = <&sys_clkin1>, <&dpll_gmac_byp_mux>;
    		reg = <0x02a8>, <0x02ac>, <0x02b4>, <0x02b0>;
    	};
    
    	dpll_gmac_m2_ck: dpll_gmac_m2_ck@2b8 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_gmac_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x02b8>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	video2_dclk_div: video2_dclk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&video2_m2_clkin_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	video1_dclk_div: video1_dclk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&video1_m2_clkin_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	hdmi_dclk_div: hdmi_dclk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&hdmi_clkin_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	per_dpll_hs_clk_div: per_dpll_hs_clk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_abe_m3x2_ck>;
    		clock-mult = <1>;
    		clock-div = <2>;
    	};
    
    	usb_dpll_hs_clk_div: usb_dpll_hs_clk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_abe_m3x2_ck>;
    		clock-mult = <1>;
    		clock-div = <3>;
    	};
    
    	eve_dpll_hs_clk_div: eve_dpll_hs_clk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_core_h12x2_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dpll_eve_byp_mux: dpll_eve_byp_mux@290 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&eve_dpll_hs_clk_div>;
    		ti,bit-shift = <23>;
    		reg = <0x0290>;
    	};
    
    	dpll_eve_ck: dpll_eve_ck@284 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-clock";
    		clocks = <&sys_clkin1>, <&dpll_eve_byp_mux>;
    		reg = <0x0284>, <0x0288>, <0x0290>, <0x028c>;
    	};
    
    	dpll_eve_m2_ck: dpll_eve_m2_ck@294 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_eve_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0294>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	eve_dclk_div: eve_dclk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_eve_m2_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dpll_core_h13x2_ck: dpll_core_h13x2_ck@140 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_core_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0140>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_core_h14x2_ck: dpll_core_h14x2_ck@144 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_core_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0144>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_core_h22x2_ck: dpll_core_h22x2_ck@154 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_core_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0154>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_core_h23x2_ck: dpll_core_h23x2_ck@158 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_core_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0158>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_core_h24x2_ck: dpll_core_h24x2_ck@15c {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_core_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x015c>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_ddr_x2_ck: dpll_ddr_x2_ck {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-x2-clock";
    		clocks = <&dpll_ddr_ck>;
    	};
    
    	dpll_ddr_h11x2_ck: dpll_ddr_h11x2_ck@228 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_ddr_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0228>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_dsp_x2_ck: dpll_dsp_x2_ck {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-x2-clock";
    		clocks = <&dpll_dsp_ck>;
    	};
    
    	dpll_dsp_m3x2_ck: dpll_dsp_m3x2_ck@248 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_dsp_x2_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0248>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    		assigned-clocks = <&dpll_dsp_m3x2_ck>;
    		assigned-clock-rates = <400000000>;
    	};
    
    	dpll_gmac_x2_ck: dpll_gmac_x2_ck {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-x2-clock";
    		clocks = <&dpll_gmac_ck>;
    	};
    
    	dpll_gmac_h11x2_ck: dpll_gmac_h11x2_ck@2c0 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_gmac_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x02c0>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_gmac_h12x2_ck: dpll_gmac_h12x2_ck@2c4 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_gmac_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x02c4>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_gmac_h13x2_ck: dpll_gmac_h13x2_ck@2c8 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_gmac_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x02c8>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_gmac_m3x2_ck: dpll_gmac_m3x2_ck@2bc {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_gmac_x2_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x02bc>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	gmii_m_clk_div: gmii_m_clk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_gmac_h11x2_ck>;
    		clock-mult = <1>;
    		clock-div = <2>;
    	};
    
    	hdmi_clk2_div: hdmi_clk2_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&hdmi_clkin_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	hdmi_div_clk: hdmi_div_clk {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&hdmi_clkin_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	l3_iclk_div: l3_iclk_div@100 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		ti,max-div = <2>;
    		ti,bit-shift = <4>;
    		reg = <0x0100>;
    		clocks = <&dpll_core_h12x2_ck>;
    		ti,index-power-of-two;
    	};
    
    	l4_root_clk_div: l4_root_clk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&l3_iclk_div>;
    		clock-mult = <1>;
    		clock-div = <2>;
    	};
    
    	video1_clk2_div: video1_clk2_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&video1_clkin_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	video1_div_clk: video1_div_clk {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&video1_clkin_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	video2_clk2_div: video2_clk2_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&video2_clkin_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	video2_div_clk: video2_div_clk {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&video2_clkin_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dummy_ck: dummy_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <0>;
    	};
    };
    &prm_clocks {
    	sys_clkin1: sys_clkin1@110 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&virt_12000000_ck>, <&virt_20000000_ck>, <&virt_16800000_ck>, <&virt_19200000_ck>, <&virt_26000000_ck>, <&virt_27000000_ck>, <&virt_38400000_ck>;
    		reg = <0x0110>;
    		ti,index-starts-at-one;
    	};
    
    	abe_dpll_sys_clk_mux: abe_dpll_sys_clk_mux@118 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&sys_clkin2>;
    		reg = <0x0118>;
    	};
    
    	abe_dpll_bypass_clk_mux: abe_dpll_bypass_clk_mux@114 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&abe_dpll_sys_clk_mux>, <&sys_32k_ck>;
    		reg = <0x0114>;
    	};
    
    	abe_dpll_clk_mux: abe_dpll_clk_mux@10c {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&abe_dpll_sys_clk_mux>, <&sys_32k_ck>;
    		reg = <0x010c>;
    	};
    
    	abe_24m_fclk: abe_24m_fclk@11c {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_abe_m2x2_ck>;
    		reg = <0x011c>;
    		ti,dividers = <8>, <16>;
    	};
    
    	aess_fclk: aess_fclk@178 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&abe_clk>;
    		reg = <0x0178>;
    		ti,max-div = <2>;
    	};
    
    	abe_giclk_div: abe_giclk_div@174 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&aess_fclk>;
    		reg = <0x0174>;
    		ti,max-div = <2>;
    	};
    
    	abe_lp_clk_div: abe_lp_clk_div@1d8 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_abe_m2x2_ck>;
    		reg = <0x01d8>;
    		ti,dividers = <16>, <32>;
    	};
    
    	abe_sys_clk_div: abe_sys_clk_div@120 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&sys_clkin1>;
    		reg = <0x0120>;
    		ti,max-div = <2>;
    	};
    
    	adc_gfclk_mux: adc_gfclk_mux@1dc {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&sys_clkin2>, <&sys_32k_ck>;
    		reg = <0x01dc>;
    	};
    
    	sys_clk1_dclk_div: sys_clk1_dclk_div@1c8 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&sys_clkin1>;
    		ti,max-div = <64>;
    		reg = <0x01c8>;
    		ti,index-power-of-two;
    	};
    
    	sys_clk2_dclk_div: sys_clk2_dclk_div@1cc {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&sys_clkin2>;
    		ti,max-div = <64>;
    		reg = <0x01cc>;
    		ti,index-power-of-two;
    	};
    
    	per_abe_x1_dclk_div: per_abe_x1_dclk_div@1bc {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_abe_m2_ck>;
    		ti,max-div = <64>;
    		reg = <0x01bc>;
    		ti,index-power-of-two;
    	};
    
    	dsp_gclk_div: dsp_gclk_div@18c {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_dsp_m2_ck>;
    		ti,max-div = <64>;
    		reg = <0x018c>;
    		ti,index-power-of-two;
    	};
    
    	gpu_dclk: gpu_dclk@1a0 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_gpu_m2_ck>;
    		ti,max-div = <64>;
    		reg = <0x01a0>;
    		ti,index-power-of-two;
    	};
    
    	emif_phy_dclk_div: emif_phy_dclk_div@190 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_ddr_m2_ck>;
    		ti,max-div = <64>;
    		reg = <0x0190>;
    		ti,index-power-of-two;
    	};
    
    	gmac_250m_dclk_div: gmac_250m_dclk_div@19c {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_gmac_m2_ck>;
    		ti,max-div = <64>;
    		reg = <0x019c>;
    		ti,index-power-of-two;
    	};
    
    	gmac_main_clk: gmac_main_clk {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&gmac_250m_dclk_div>;
    		clock-mult = <1>;
    		clock-div = <2>;
    	};
    
    	l3init_480m_dclk_div: l3init_480m_dclk_div@1ac {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_usb_m2_ck>;
    		ti,max-div = <64>;
    		reg = <0x01ac>;
    		ti,index-power-of-two;
    	};
    
    	usb_otg_dclk_div: usb_otg_dclk_div@184 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&usb_otg_clkin_ck>;
    		ti,max-div = <64>;
    		reg = <0x0184>;
    		ti,index-power-of-two;
    	};
    
    	sata_dclk_div: sata_dclk_div@1c0 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&sys_clkin1>;
    		ti,max-div = <64>;
    		reg = <0x01c0>;
    		ti,index-power-of-two;
    	};
    
    	pcie2_dclk_div: pcie2_dclk_div@1b8 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_pcie_ref_m2_ck>;
    		ti,max-div = <64>;
    		reg = <0x01b8>;
    		ti,index-power-of-two;
    	};
    
    	pcie_dclk_div: pcie_dclk_div@1b4 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&apll_pcie_m2_ck>;
    		ti,max-div = <64>;
    		reg = <0x01b4>;
    		ti,index-power-of-two;
    	};
    
    	emu_dclk_div: emu_dclk_div@194 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&sys_clkin1>;
    		ti,max-div = <64>;
    		reg = <0x0194>;
    		ti,index-power-of-two;
    	};
    
    	secure_32k_dclk_div: secure_32k_dclk_div@1c4 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&secure_32k_clk_src_ck>;
    		ti,max-div = <64>;
    		reg = <0x01c4>;
    		ti,index-power-of-two;
    	};
    
    	clkoutmux0_clk_mux: clkoutmux0_clk_mux@158 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clk1_dclk_div>, <&sys_clk2_dclk_div>, <&per_abe_x1_dclk_div>, <&mpu_dclk_div>, <&dsp_gclk_div>, <&iva_dclk>, <&gpu_dclk>, <&core_dpll_out_dclk_div>, <&emif_phy_dclk_div>, <&gmac_250m_dclk_div>, <&video2_dclk_div>, <&video1_dclk_div>, <&hdmi_dclk_div>, <&func_96m_aon_dclk_div>, <&l3init_480m_dclk_div>, <&usb_otg_dclk_div>, <&sata_dclk_div>, <&pcie2_dclk_div>, <&pcie_dclk_div>, <&emu_dclk_div>, <&secure_32k_dclk_div>, <&eve_dclk_div>;
    		reg = <0x0158>;
    	};
    
    	clkoutmux1_clk_mux: clkoutmux1_clk_mux@15c {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clk1_dclk_div>, <&sys_clk2_dclk_div>, <&per_abe_x1_dclk_div>, <&mpu_dclk_div>, <&dsp_gclk_div>, <&iva_dclk>, <&gpu_dclk>, <&core_dpll_out_dclk_div>, <&emif_phy_dclk_div>, <&gmac_250m_dclk_div>, <&video2_dclk_div>, <&video1_dclk_div>, <&hdmi_dclk_div>, <&func_96m_aon_dclk_div>, <&l3init_480m_dclk_div>, <&usb_otg_dclk_div>, <&sata_dclk_div>, <&pcie2_dclk_div>, <&pcie_dclk_div>, <&emu_dclk_div>, <&secure_32k_dclk_div>, <&eve_dclk_div>;
    		reg = <0x015c>;
    	};
    
    	clkoutmux2_clk_mux: clkoutmux2_clk_mux@160 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clk1_dclk_div>, <&sys_clk2_dclk_div>, <&per_abe_x1_dclk_div>, <&mpu_dclk_div>, <&dsp_gclk_div>, <&iva_dclk>, <&gpu_dclk>, <&core_dpll_out_dclk_div>, <&emif_phy_dclk_div>, <&gmac_250m_dclk_div>, <&video2_dclk_div>, <&video1_dclk_div>, <&hdmi_dclk_div>, <&func_96m_aon_dclk_div>, <&l3init_480m_dclk_div>, <&usb_otg_dclk_div>, <&sata_dclk_div>, <&pcie2_dclk_div>, <&pcie_dclk_div>, <&emu_dclk_div>, <&secure_32k_dclk_div>, <&eve_dclk_div>;
    		reg = <0x0160>;
    	};
    
    	custefuse_sys_gfclk_div: custefuse_sys_gfclk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&sys_clkin1>;
    		clock-mult = <1>;
    		clock-div = <2>;
    	};
    
    	eve_clk: eve_clk@180 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&dpll_eve_m2_ck>, <&dpll_dsp_m3x2_ck>;
    		reg = <0x0180>;
    	};
    
    	hdmi_dpll_clk_mux: hdmi_dpll_clk_mux@164 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&sys_clkin2>;
    		reg = <0x0164>;
    	};
    
    	mlb_clk: mlb_clk@134 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&mlb_clkin_ck>;
    		ti,max-div = <64>;
    		reg = <0x0134>;
    		ti,index-power-of-two;
    	};
    
    	mlbp_clk: mlbp_clk@130 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&mlbp_clkin_ck>;
    		ti,max-div = <64>;
    		reg = <0x0130>;
    		ti,index-power-of-two;
    	};
    
    	per_abe_x1_gfclk2_div: per_abe_x1_gfclk2_div@138 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_abe_m2_ck>;
    		ti,max-div = <64>;
    		reg = <0x0138>;
    		ti,index-power-of-two;
    	};
    
    	timer_sys_clk_div: timer_sys_clk_div@144 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&sys_clkin1>;
    		reg = <0x0144>;
    		ti,max-div = <2>;
    	};
    
    	video1_dpll_clk_mux: video1_dpll_clk_mux@168 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&sys_clkin2>;
    		reg = <0x0168>;
    	};
    
    	video2_dpll_clk_mux: video2_dpll_clk_mux@16c {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&sys_clkin2>;
    		reg = <0x016c>;
    	};
    
    	wkupaon_iclk_mux: wkupaon_iclk_mux@108 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&abe_lp_clk_div>;
    		reg = <0x0108>;
    	};
    };
    
    &cm_core_clocks {
    	dpll_pcie_ref_ck: dpll_pcie_ref_ck@200 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-clock";
    		clocks = <&sys_clkin1>, <&sys_clkin1>;
    		reg = <0x0200>, <0x0204>, <0x020c>, <0x0208>;
    	};
    
    	dpll_pcie_ref_m2ldo_ck: dpll_pcie_ref_m2ldo_ck@210 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_pcie_ref_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0210>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	apll_pcie_in_clk_mux: apll_pcie_in_clk_mux@4ae06118 {
    		compatible = "ti,mux-clock";
    		clocks = <&dpll_pcie_ref_m2ldo_ck>, <&pciesref_acs_clk_ck>;
    		#clock-cells = <0>;
    		reg = <0x021c 0x4>;
    		ti,bit-shift = <7>;
    	};
    
    	apll_pcie_ck: apll_pcie_ck@21c {
    		#clock-cells = <0>;
    		compatible = "ti,dra7-apll-clock";
    		clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>;
    		reg = <0x021c>, <0x0220>;
    	};
    
    	optfclk_pciephy_div: optfclk_pciephy_div@4a00821c {
    		compatible = "ti,divider-clock";
    		clocks = <&apll_pcie_ck>;
    		#clock-cells = <0>;
    		reg = <0x021c>;
    		ti,dividers = <2>, <1>;
    		ti,bit-shift = <8>;
    		ti,max-div = <2>;
    	};
    
    	apll_pcie_clkvcoldo: apll_pcie_clkvcoldo {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&apll_pcie_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	apll_pcie_clkvcoldo_div: apll_pcie_clkvcoldo_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&apll_pcie_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	apll_pcie_m2_ck: apll_pcie_m2_ck {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&apll_pcie_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dpll_per_byp_mux: dpll_per_byp_mux@14c {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&per_dpll_hs_clk_div>;
    		ti,bit-shift = <23>;
    		reg = <0x014c>;
    	};
    
    	dpll_per_ck: dpll_per_ck@140 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-clock";
    		clocks = <&sys_clkin1>, <&dpll_per_byp_mux>;
    		reg = <0x0140>, <0x0144>, <0x014c>, <0x0148>;
    	};
    
    	dpll_per_m2_ck: dpll_per_m2_ck@150 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_per_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0150>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	func_96m_aon_dclk_div: func_96m_aon_dclk_div {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_per_m2_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	dpll_usb_byp_mux: dpll_usb_byp_mux@18c {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clkin1>, <&usb_dpll_hs_clk_div>;
    		ti,bit-shift = <23>;
    		reg = <0x018c>;
    	};
    
    	dpll_usb_ck: dpll_usb_ck@180 {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-j-type-clock";
    		clocks = <&sys_clkin1>, <&dpll_usb_byp_mux>;
    		reg = <0x0180>, <0x0184>, <0x018c>, <0x0188>;
    	};
    
    	dpll_usb_m2_ck: dpll_usb_m2_ck@190 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_usb_ck>;
    		ti,max-div = <127>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0190>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_pcie_ref_m2_ck: dpll_pcie_ref_m2_ck@210 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_pcie_ref_ck>;
    		ti,max-div = <127>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0210>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_per_x2_ck: dpll_per_x2_ck {
    		#clock-cells = <0>;
    		compatible = "ti,omap4-dpll-x2-clock";
    		clocks = <&dpll_per_ck>;
    	};
    
    	dpll_per_h11x2_ck: dpll_per_h11x2_ck@158 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_per_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0158>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_per_h12x2_ck: dpll_per_h12x2_ck@15c {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_per_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x015c>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_per_h13x2_ck: dpll_per_h13x2_ck@160 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_per_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0160>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_per_h14x2_ck: dpll_per_h14x2_ck@164 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_per_x2_ck>;
    		ti,max-div = <63>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0164>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_per_m2x2_ck: dpll_per_m2x2_ck@150 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_per_x2_ck>;
    		ti,max-div = <31>;
    		ti,autoidle-shift = <8>;
    		reg = <0x0150>;
    		ti,index-starts-at-one;
    		ti,invert-autoidle-bit;
    	};
    
    	dpll_usb_clkdcoldo: dpll_usb_clkdcoldo {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_usb_ck>;
    		clock-mult = <1>;
    		clock-div = <1>;
    	};
    
    	func_128m_clk: func_128m_clk {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_per_h11x2_ck>;
    		clock-mult = <1>;
    		clock-div = <2>;
    	};
    
    	func_12m_fclk: func_12m_fclk {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_per_m2x2_ck>;
    		clock-mult = <1>;
    		clock-div = <16>;
    	};
    
    	func_24m_clk: func_24m_clk {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_per_m2_ck>;
    		clock-mult = <1>;
    		clock-div = <4>;
    	};
    
    	func_48m_fclk: func_48m_fclk {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_per_m2x2_ck>;
    		clock-mult = <1>;
    		clock-div = <4>;
    	};
    
    	func_96m_fclk: func_96m_fclk {
    		#clock-cells = <0>;
    		compatible = "fixed-factor-clock";
    		clocks = <&dpll_per_m2x2_ck>;
    		clock-mult = <1>;
    		clock-div = <2>;
    	};
    
    	l3init_60m_fclk: l3init_60m_fclk@104 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&dpll_usb_m2_ck>;
    		reg = <0x0104>;
    		ti,dividers = <1>, <8>;
    	};
    
    	clkout2_clk: clkout2_clk@6b0 {
    		#clock-cells = <0>;
    		compatible = "ti,gate-clock";
    		clocks = <&clkoutmux2_clk_mux>;
    		ti,bit-shift = <8>;
    		reg = <0x06b0>;
    	};
    
    	l3init_960m_gfclk: l3init_960m_gfclk@6c0 {
    		#clock-cells = <0>;
    		compatible = "ti,gate-clock";
    		clocks = <&dpll_usb_clkdcoldo>;
    		ti,bit-shift = <8>;
    		reg = <0x06c0>;
    	};
    
    	usb_phy1_always_on_clk32k: usb_phy1_always_on_clk32k@640 {
    		#clock-cells = <0>;
    		compatible = "ti,gate-clock";
    		clocks = <&sys_32k_ck>;
    		ti,bit-shift = <8>;
    		reg = <0x0640>;
    	};
    
    	usb_phy2_always_on_clk32k: usb_phy2_always_on_clk32k@688 {
    		#clock-cells = <0>;
    		compatible = "ti,gate-clock";
    		clocks = <&sys_32k_ck>;
    		ti,bit-shift = <8>;
    		reg = <0x0688>;
    	};
    
    	usb_phy3_always_on_clk32k: usb_phy3_always_on_clk32k@698 {
    		#clock-cells = <0>;
    		compatible = "ti,gate-clock";
    		clocks = <&sys_32k_ck>;
    		ti,bit-shift = <8>;
    		reg = <0x0698>;
    	};
    
    	gpu_core_gclk_mux: gpu_core_gclk_mux@1220 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&dpll_core_h14x2_ck>, <&dpll_per_h14x2_ck>, <&dpll_gpu_m2_ck>;
    		ti,bit-shift = <24>;
    		reg = <0x1220>;
    		assigned-clocks = <&gpu_core_gclk_mux>;
    		assigned-clock-parents = <&dpll_gpu_m2_ck>;
    	};
    
    	gpu_hyd_gclk_mux: gpu_hyd_gclk_mux@1220 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&dpll_core_h14x2_ck>, <&dpll_per_h14x2_ck>, <&dpll_gpu_m2_ck>;
    		ti,bit-shift = <26>;
    		reg = <0x1220>;
    		assigned-clocks = <&gpu_hyd_gclk_mux>;
    		assigned-clock-parents = <&dpll_gpu_m2_ck>;
    	};
    
    	l3instr_ts_gclk_div: l3instr_ts_gclk_div@e50 {
    		#clock-cells = <0>;
    		compatible = "ti,divider-clock";
    		clocks = <&wkupaon_iclk_mux>;
    		ti,bit-shift = <24>;
    		reg = <0x0e50>;
    		ti,dividers = <8>, <16>, <32>;
    	};
    
    	vip1_gclk_mux: vip1_gclk_mux@1020 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&l3_iclk_div>, <&dpll_core_h23x2_ck>;
    		ti,bit-shift = <24>;
    		reg = <0x1020>;
    	};
    
    	vip2_gclk_mux: vip2_gclk_mux@1028 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&l3_iclk_div>, <&dpll_core_h23x2_ck>;
    		ti,bit-shift = <24>;
    		reg = <0x1028>;
    	};
    
    	vip3_gclk_mux: vip3_gclk_mux@1030 {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&l3_iclk_div>, <&dpll_core_h23x2_ck>;
    		ti,bit-shift = <24>;
    		reg = <0x1030>;
    	};
    };
    
    &cm_core_clockdomains {
    	coreaon_clkdm: coreaon_clkdm {
    		compatible = "ti,clockdomain";
    		clocks = <&dpll_usb_ck>;
    	};
    };
    
    &scm_conf_clocks {
    	dss_deshdcp_clk: dss_deshdcp_clk@558 {
    		#clock-cells = <0>;
    		compatible = "ti,gate-clock";
    		clocks = <&l3_iclk_div>;
    		ti,bit-shift = <0>;
    		reg = <0x558>;
    	};
    
           ehrpwm0_tbclk: ehrpwm0_tbclk@558 {
    		#clock-cells = <0>;
    		compatible = "ti,gate-clock";
    		clocks = <&l4_root_clk_div>;
    		ti,bit-shift = <20>;
    		reg = <0x0558>;
    	};
    
    	ehrpwm1_tbclk: ehrpwm1_tbclk@558 {
    		#clock-cells = <0>;
    		compatible = "ti,gate-clock";
    		clocks = <&l4_root_clk_div>;
    		ti,bit-shift = <21>;
    		reg = <0x0558>;
    	};
    
    	ehrpwm2_tbclk: ehrpwm2_tbclk@558 {
    		#clock-cells = <0>;
    		compatible = "ti,gate-clock";
    		clocks = <&l4_root_clk_div>;
    		ti,bit-shift = <22>;
    		reg = <0x0558>;
    	};
    
    	sys_32k_ck: sys_32k_ck {
    		#clock-cells = <0>;
    		compatible = "ti,mux-clock";
    		clocks = <&sys_clk32_crystal_ck>, <&sys_clk32_pseudo_ck>, <&sys_clk32_pseudo_ck>, <&sys_clk32_pseudo_ck>;
    		ti,bit-shift = <8>;
    		reg = <0x6c4>;
    	};
    };
    
    &cm_core_aon {
    	mpu_cm: mpu_cm@300 {
    		compatible = "ti,omap4-cm";
    		reg = <0x300 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x300 0x100>;
    
    		mpu_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x4>;
    			#clock-cells = <2>;
    		};
    	};
    
    	dsp1_cm: dsp1_cm@400 {
    		compatible = "ti,omap4-cm";
    		reg = <0x400 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x400 0x100>;
    
    		dsp1_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x4>;
    			#clock-cells = <2>;
    		};
    	};
    
    	ipu1_cm: ipu1_cm@500 {
    		compatible = "ti,omap4-cm";
    		reg = <0x500 0x40>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x500 0x100>;
    
    		ipu1_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x20>;
    			#clock-cells = <2>;
    
    			assigned-clocks = <&ipu1_clkctrl DRA7_IPU1_CLKCTRL 24>;
    			assigned-clock-parents = <&dpll_core_h22x2_ck>;
    		};
    	};
    
    	ipu_cm: ipu_cm@540 {
    		compatible = "ti,omap4-cm";
    		reg = <0x540 0xc0>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x540 0xc0>;
    
    		ipu_clkctrl: clk@0 {
    			compatible = "ti,clkctrl";
    			reg = <0x0 0x44>;
    			#clock-cells = <2>;
    		};
    	};
    
    	dsp2_cm: dsp2_cm@600 {
    		compatible = "ti,omap4-cm";
    		reg = <0x600 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x600 0x100>;
    
    		dsp2_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x4>;
    			#clock-cells = <2>;
    		};
    	};
    
    	rtc_cm: rtc_cm@700 {
    		compatible = "ti,omap4-cm";
    		reg = <0x700 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x700 0x100>;
    
    		rtc_clkctrl: clk@40 {
    			compatible = "ti,clkctrl";
    			reg = <0x40 0x8>;
    			#clock-cells = <2>;
    		};
    	};
    
    };
    
    &cm_core {
    	coreaon_cm: coreaon_cm@600 {
    		compatible = "ti,omap4-cm";
    		reg = <0x600 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x600 0x100>;
    
    		coreaon_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x1c>;
    			#clock-cells = <2>;
    		};
    	};
    
    	l3main1_cm: l3main1_cm@700 {
    		compatible = "ti,omap4-cm";
    		reg = <0x700 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x700 0x100>;
    
    		l3main1_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x74>;
    			#clock-cells = <2>;
    		};
    	};
    
    	ipu2_cm: ipu2_cm@900 {
    		compatible = "ti,omap4-cm";
    		reg = <0x900 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x900 0x100>;
    
    		ipu2_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x4>;
    			#clock-cells = <2>;
    		};
    	};
    
    	dma_cm: dma_cm@a00 {
    		compatible = "ti,omap4-cm";
    		reg = <0xa00 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0xa00 0x100>;
    
    		dma_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x4>;
    			#clock-cells = <2>;
    		};
    	};
    
    	emif_cm: emif_cm@b00 {
    		compatible = "ti,omap4-cm";
    		reg = <0xb00 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0xb00 0x100>;
    
    		emif_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x4>;
    			#clock-cells = <2>;
    		};
    	};
    
    	atl_cm: atl_cm@c00 {
    		compatible = "ti,omap4-cm";
    		reg = <0xc00 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0xc00 0x100>;
    
    		atl_clkctrl: clk@0 {
    			compatible = "ti,clkctrl";
    			reg = <0x0 0x4>;
    			#clock-cells = <2>;
    		};
    	};
    
    	l4cfg_cm: l4cfg_cm@d00 {
    		compatible = "ti,omap4-cm";
    		reg = <0xd00 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0xd00 0x100>;
    
    		l4cfg_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x84>;
    			#clock-cells = <2>;
    		};
    	};
    
    	l3instr_cm: l3instr_cm@e00 {
    		compatible = "ti,omap4-cm";
    		reg = <0xe00 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0xe00 0x100>;
    
    		l3instr_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0xc>;
    			#clock-cells = <2>;
    		};
    	};
    
    	dss_cm: dss_cm@1100 {
    		compatible = "ti,omap4-cm";
    		reg = <0x1100 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x1100 0x100>;
    
    		dss_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x14>;
    			#clock-cells = <2>;
    		};
    	};
    
    	l3init_cm: l3init_cm@1300 {
    		compatible = "ti,omap4-cm";
    		reg = <0x1300 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x1300 0x100>;
    
    		l3init_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0xd4>;
    			#clock-cells = <2>;
    		};
    	};
    
    	l4per_cm: l4per_cm@1700 {
    		compatible = "ti,omap4-cm";
    		reg = <0x1700 0x300>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x1700 0x300>;
    
    		l4per_clkctrl: clk@0 {
    			compatible = "ti,clkctrl";
    			reg = <0x0 0x20c>;
    			#clock-cells = <2>;
    
    			assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
    			assigned-clock-parents = <&abe_24m_fclk>;
    		};
    	};
    
    };
    
    &prm {
    	wkupaon_cm: wkupaon_cm@1800 {
    		compatible = "ti,omap4-cm";
    		reg = <0x1800 0x100>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    		ranges = <0 0x1800 0x100>;
    
    		wkupaon_clkctrl: clk@20 {
    			compatible = "ti,clkctrl";
    			reg = <0x20 0x6c>;
    			#clock-cells = <2>;
    		};
    	};
    };
    

    The sample .wav file -

    Kindly acknowledge.

    Regards,

    Devashish

  • Does your platform support dsp_b, since is was set in the device tree, why fmt is not dsp_b?

  • Hi,

    Yes, our platform supports dsp_b.

    What is the current value of fmt ? How can you say it's not dsp_b?

  • Kindly add a log to print fmt value.

    Today, we fix the register write issue. Kindly update.

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/6/8032.current.7z

  • Hi,

    I updated the driver code you sent.

    Also "format" was to be explicitly added in "dai-link" node in the device tree. After adding I am able to resolve the hw_params error.

    /*
     * Copyright (C) 2014-2016 Texas Instruments Incorporated - http://www.ti.com/
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License version 2 as
     * published by the Free Software Foundation.
     */
    
    /dts-v1/;
    
    #include "dra74x.dtsi"
    #include "am57xx-commercial-grade.dtsi"
    #include "dra74x-mmc-iodelay.dtsi"
    #include "dra74-ipu-dsp-common.dtsi"
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/leds-pca955x.h>
    #include <dt-bindings/input/input.h>
    
    / {
    
    	sound0: sound0 {
                    compatible = "simple-audio-card";
                    simple-audio-card,name = "BeagleBoard-X15";
    /*              
                    simple-audio-card,widgets =
                            "Speaker", "Headphone Speaker",
                            "Microphone", "Microphone External",
                            "Speaker", "Speaker External",
                            "Speaker", "Handset Speaker",
                            "Microphone", "Handset Microphone";
                    simple-audio-card,routing =
                            "Headphone Speaker", "HPL",
                            "Headphone Speaker", "HPR",
                            "Speaker External",     "SPKL",
                            "Speaker External",     "SPKR",
                            "Handset Speaker",      "RECL",
                            "Handset Speaker",      "RECR",
                            "IN3L", "Microphone External",
                            "IN3R", "Microphone External"; 
    */
                    simple-audio-card,format = "dsp_b";
                    simple-audio-card,bitclock-master = <&cpu_dai>;
                    simple-audio-card,frame-master = <&cpu_dai>;
                    simple-audio-card,bitclock-inversion;
    		
    		simple-audio-card,dai-link@0 {
    		    format = "dsp_b"
    			cpu_dai: cpu {
    				sound-dai = <&mcasp3>;
    				clocks = <&clkout2_clk>;
    			};
    			codec {
    				sound-dai = <&tlv320aic3262>;
    				clocks = <&clkout2_clk>;
    			};
    		};
    	};	
    };
    
    &i2c4 {
    	status = "okay";
    	clock-frequency = <400000>;
    
    	tlv320aic3262: tlv320aic3262@18 {
    	      #sound-dai-cells = <0>;
    	      compatible = "ti,aic3262";
    	      reg = <0x18>;
    	      assigned-clocks = <&clkoutmux2_clk_mux>;
    	      assigned-clock-parents = <&sys_clk2_dclk_div>;
    	      adc-settle-ms = <40>;
    	      status ="okay";
    	};
    };
    
     
    &mcasp3 {
            #sound-dai-cells = <0>;
            assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
            assigned-clock-parents = <&sys_clkin2>;
            status = "okay";
    
            op-mode = <0>;  /* MCASP_IIS_MODE */
            tdm-slots = <2>;
            /* 4 serializers */
            serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
                    1 2 0 0
            >;
            tx-num-evt = <32>;
            rx-num-evt = <32>;
    };

    DMESG LOGS -

    root@am57xx-evm:~# dmesg | grep tlv
    [    3.520971] tlv320aic3262-codec 3-0018: aic3xxx_device_init beginning
    [    3.569932] tlv320aic3262-codec 3-0018: TLV320AIC3262 revision G
    [    3.576318] tlv320aic3262-codec 3-0018: aic3xxx_device_init added mfd devices
    [    3.793243] tlv320aic3262-codec 3-0018: Unbalanced pm_runtime_enable!
    [    3.799968] tlv320aic3262-codec 3-0018: p 1 , r 30 7a 1
    [    3.805228] tlv320aic3262-codec 3-0018: p 1, w 30 7a 5
    [    3.850871] tlv320aic3262-codec 3-0018: p 1 , r 30 23 10
    [    3.856219] tlv320aic3262-codec 3-0018: p 1, w 30 23 30
    [    3.862206] tlv320aic3262-codec 3-0018: Firmware binary load
    [    3.872892] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.898867] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.909843] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.921257] tlv320aic3262-codec 3-0018: p 4 , r 30 b 0
    [    3.931539] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.945409] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.954471] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.966932] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 0
    [    3.981574] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    4.001292] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    4.014649] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    4.029124] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 0
    [    4.065747] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.079516] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.093387] tlv320aic3262-codec 3-0018: p 1 , r 30 1c 7f
    [    4.104623] tlv320aic3262-codec 3-0018: p 1 , r 30 1d 7f
    [    4.125037] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.138381] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.153124] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    4.167774] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    4.179800] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    4.201862] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.216104] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.230574] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.245057] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    4.259611] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    4.271723] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [    4.294067] tlv320aic3262-codec 3-0018: p 1 , r 30 24 7f
    [    4.308467] tlv320aic3262-codec 3-0018: p 1 , r 30 26 7f
    [    4.320579] tlv320aic3262-codec 3-0018: p 1 , r 30 27 7f
    [    4.342732] tlv320aic3262-codec 3-0018: p 1 , r 30 25 7f
    [    4.357147] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.371706] tlv320aic3262-codec 3-0018: p 1 , r 30 2e 7f
    [    4.386368] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.401013] tlv320aic3262-codec 3-0018: p 1 , r 30 2f 7f
    [    4.413221] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    4.440215] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.450689] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.461232] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.471774] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.482315] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.492856] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [    4.503409] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.513872] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.533020] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.552955] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.572954] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.592951] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [    4.612950] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.632958] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.652430] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.658107] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.664161] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.669569] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [    4.675313] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.681319] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.687215] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.697144] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.702963] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.709128] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.720219] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.729232] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.740885] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.752559] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [    4.764236] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    4.775895] tlv320aic3262-codec 3-0018: p 1 , r 30 12 3f
    [    4.786837] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    4.797869] tlv320aic3262-codec 3-0018: p 1 , r 30 13 3f
    [    4.808092] tlv320aic3262-codec 3-0018: p 0 , r 30 0 0
    [    4.817657] tlv320aic3262-codec 3-0018: p 0 , r 30 0 0
    [    4.828083] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.839759] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.851517] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.863195] tlv320aic3262-codec 3-0018: p 1 , r 30 35 0
    [    4.874855] tlv320aic3262-codec 3-0018: p 1 , r 30 34 0
    [    4.886521] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.898179] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.909857] tlv320aic3262-codec 3-0018: p 1 , r 30 35 0
    [    4.921537] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.933214] tlv320aic3262-codec 3-0018: p 1 , r 30 36 0
    [    4.944873] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    4.956526] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    4.968185] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    4.979859] tlv320aic3262-codec 3-0018: p 1 , r 30 38 0
    [    4.991537] tlv320aic3262-codec 3-0018: p 1 , r 30 37 0
    [    5.003200] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    5.014859] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    5.026496] tlv320aic3262-codec 3-0018: p 1 , r 30 38 0
    [    5.038152] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    5.049824] tlv320aic3262-codec 3-0018: p 1 , r 30 39 0
    [    5.060622] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.072193] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.083769] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.093705] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.105348] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    5.116907] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    5.127034] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    5.138605] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [    5.150163] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    5.157452] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    5.163842] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    5.169899] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    5.176487] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [    5.183054] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    5.193215] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    5.198622] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    5.205695] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    5.212481] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [    5.219580] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    5.227224] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    5.234097] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    5.244049] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [    5.249680] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    5.255608] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    5.261471] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    5.267348] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [    5.273213] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    5.279053] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    5.284804] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    5.290638] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [    5.296000] tlv320aic3262-codec 3-0018: aic3262_set_dai_fmt enter
    [    5.302132] tlv320aic3262-codec 3-0018: DBG : Current DAI format = 4005
    [    5.308799] tlv320aic3262-codec 3-0018: DBG : Current DAI ID = 0
    [    5.315426] tlv320aic3262-codec 3-0018: p 4 , r 30 a 0
    [    5.347587] tlv320aic3262-codec 3-0018: p 0 , r 30 3f 0
    [    5.352988] tlv320aic3262-codec 3-0018: p 0 , r 30 3f 0
    [    5.358551] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    5.363962] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [    5.369412] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    5.374825] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [    5.380261] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    5.385673] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [    5.391097] tlv320aic3262-codec 3-0018: p 1 , r 30 28 39
    [    5.396592] tlv320aic3262-codec 3-0018: p 1 , r 30 28 39
    [    5.402473] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.407887] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [    5.413399] tlv320aic3262-codec 3-0018: p 1 , r 30 3b 80
    [    5.418881] tlv320aic3262-codec 3-0018: p 1 , r 30 3c 80
    [    5.424384] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    5.429778] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [    5.435448] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [    5.440844] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [    5.446357] tlv320aic3262-codec 3-0018: p 0 , r 30 6 21
    [    5.451751] tlv320aic3262-codec 3-0018: p 0 , r 30 b 2
    [    5.457081] tlv320aic3262-codec 3-0018: p 0 , r 30 c 8
    [    5.462389] tlv320aic3262-codec 3-0018: p 0 , r 30 12 2
    [    5.467801] tlv320aic3262-codec 3-0018: p 0 , r 30 13 8
    [    5.473309] tlv320aic3262-codec 3-0018: p 4 , r 30 c 4
    [    5.478619] tlv320aic3262-codec 3-0018: p 4 , r 30 d 20
    [    5.484029] tlv320aic3262-codec 3-0018: p 4 , r 30 1c 4
    [    5.489424] tlv320aic3262-codec 3-0018: p 4 , r 30 1d 20
    [    5.494922] tlv320aic3262-codec 3-0018: p 4 , r 30 2c 4
    [    5.500320] tlv320aic3262-codec 3-0018: p 4 , r 30 2d 20
    [   11.514764] tlv320aic3262-codec 3-0018: p 0 , r 30 41 0
    [   11.554374] tlv320aic3262-codec 3-0018: p 0, w 30 41 d8
    [   11.588428] tlv320aic3262-codec 3-0018: p 0 , r 30 42 0
    [   11.619978] tlv320aic3262-codec 3-0018: p 0, w 30 42 d8
    [   11.680658] tlv320aic3262-codec 3-0018: p 0 , r 30 41 d8
    [   11.722601] tlv320aic3262-codec 3-0018: p 0, w 30 41 1
    [   11.756761] tlv320aic3262-codec 3-0018: p 0 , r 30 42 d8
    [   11.784772] tlv320aic3262-codec 3-0018: p 0, w 30 42 1
    [   11.815928] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   11.832819] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   11.860088] tlv320aic3262-codec 3-0018: p 0 , r 30 1 0
    [   11.880192] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   11.898763] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   11.953794] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   12.008974] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [   12.048507] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   12.101005] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   12.138676] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   12.177808] tlv320aic3262-codec 3-0018: p 0 , r 30 47 0
    [   12.206061] tlv320aic3262-codec 3-0018: p 0 , r 30 47 0
    [   12.237561] tlv320aic3262-codec 3-0018: p 0, w 30 47 5
    [   12.269946] tlv320aic3262-codec 3-0018: p 0 , r 30 48 0
    [   12.289867] tlv320aic3262-codec 3-0018: p 0, w 30 48 4
    [   12.314640] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   12.339753] tlv320aic3262-codec 3-0018: p 0 , r 30 3c 0
    [   12.358728] tlv320aic3262-codec 3-0018: p 0, w 30 3c 1c
    [   17.020463] tlv320aic3262-codec 3-0018: p 0 , r 30 41 1
    [   17.034450] tlv320aic3262-codec 3-0018: p 0, w 30 41 d8
    [   17.058867] tlv320aic3262-codec 3-0018: p 0 , r 30 42 1
    [   17.078475] tlv320aic3262-codec 3-0018: p 0, w 30 42 d8
    [   17.117943] tlv320aic3262-codec 3-0018: p 0 , r 30 41 d8
    [   17.130824] tlv320aic3262-codec 3-0018: p 0, w 30 41 1
    [   17.136844] tlv320aic3262-codec 3-0018: p 0 , r 30 42 d8
    [   17.150562] tlv320aic3262-codec 3-0018: p 0, w 30 42 1
    [   17.170089] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   17.190039] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   17.228319] tlv320aic3262-codec 3-0018: p 0 , r 30 1 0
    [   17.234757] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   17.243603] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   17.252814] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   17.261695] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [   17.270751] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   17.270958] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   17.271152] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   17.271614] tlv320aic3262-codec 3-0018: p 0 , r 30 47 5
    [   17.271780] tlv320aic3262-codec 3-0018: p 0 , r 30 47 5
    [   17.271922] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   17.272134] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   17.272790] tlv320aic3262-codec 3-0018: p 0 , r 30 3c 1c
    [   24.098946] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   24.104383] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   24.110016] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   24.115647] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   24.121283] tlv320aic3262-codec 3-0018: p 0 , r 30 41 1
    [   24.127131] tlv320aic3262-codec 3-0018: p 0 , r 30 42 1
    [   24.132651] tlv320aic3262-codec 3-0018: p 0 , r 30 41 1
    [   24.138246] tlv320aic3262-codec 3-0018: p 0 , r 30 42 1
    [   24.143743] tlv320aic3262-codec 3-0018: p 0 , r 30 53 0
    [   24.149129] tlv320aic3262-codec 3-0018: p 0 , r 30 54 0
    [   24.155002] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   24.160965] tlv320aic3262-codec 3-0018: p 1 , r 30 3b 80
    [   24.166515] tlv320aic3262-codec 3-0018: p 1 , r 30 3c 80
    [   24.172054] tlv320aic3262-codec 3-0018: p 1 , r 30 3b 80
    [   24.177630] tlv320aic3262-codec 3-0018: p 1 , r 30 3c 80
    [   24.183277] tlv320aic3262-codec 3-0018: p 0 , r 30 0 0
    [   24.188777] tlv320aic3262-codec 3-0018: p 0 , r 30 3d 0
    [   24.194579] tlv320aic3262-codec 3-0018: p 0 , r 30 3d 0
    [   24.199991] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [   24.205405] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [   24.210898] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   24.216344] tlv320aic3262-codec 3-0018: p 0 , r 30 52 0
    [   24.222024] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [   24.227924] tlv320aic3262-codec 3-0018: p 4 , r 30 7 1
    [   24.233310] tlv320aic3262-codec 3-0018: p 4 , r 30 8 50
    [   24.238735] tlv320aic3262-codec 3-0018: p 4 , r 30 b 1
    [   24.244151] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [   24.249555] tlv320aic3262-codec 3-0018: p 4 , r 30 17 0
    [   24.255259] tlv320aic3262-codec 3-0018: p 4 , r 30 18 0
    [   24.261098] tlv320aic3262-codec 3-0018: p 4 , r 30 1b 1
    [   24.266532] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [   24.272014] tlv320aic3262-codec 3-0018: p 4 , r 30 27 0
    [   24.277553] tlv320aic3262-codec 3-0018: p 4 , r 30 28 0
    [   24.282991] tlv320aic3262-codec 3-0018: p 4 , r 30 2b 1
    [   24.288656] tlv320aic3262-codec 3-0018: p 0 , r 30 47 5
    [   24.294474] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   24.299884] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   24.305317] tlv320aic3262-codec 3-0018: p 0 , r 30 47 5
    [   24.310764] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   24.316176] tlv320aic3262-codec 3-0018: p 0 , r 30 47 5
    [   24.321711] tlv320aic3262-codec 3-0018: p 0 , r 30 48 4
    [   24.327523] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   24.332915] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   24.338321] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   24.343783] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   24.349298] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [   24.354876] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [   24.360736] tlv320aic3262-codec 3-0018: p 4 , r 30 76 6
    [   24.366262] tlv320aic3262-codec 3-0018: p 0 , r 30 3c 1c
    [   24.371741] tlv320aic3262-codec 3-0018: p 0 , r 30 3c 1c
    [   24.377312] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   24.382823] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   24.388519] tlv320aic3262-codec 3-0018: p 4 , r 30 f 0
    [   24.394116] tlv320aic3262-codec 3-0018: p 4 , r 30 1f 0
    [   24.399532] tlv320aic3262-codec 3-0018: p 4 , r 30 2f 0
    [   24.405091] tlv320aic3262-codec 3-0018: p 1 , r 30 1c 7f
    [   24.410589] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [   24.416012] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [   24.421443] tlv320aic3262-codec 3-0018: p 1 , r 30 1d 7f
    [   24.427338] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [   24.432775] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [   24.438269] tlv320aic3262-codec 3-0018: p 1 , r 30 1b 0
    [   24.443734] tlv320aic3262-codec 3-0018: p 1 , r 30 1f b9
    [   24.449257] tlv320aic3262-codec 3-0018: p 1 , r 30 20 b9
    [   24.455208] tlv320aic3262-codec 3-0018: p 1 , r 30 1f b9
    [   24.460847] tlv320aic3262-codec 3-0018: p 1 , r 30 20 b9
    [   24.466453] tlv320aic3262-codec 3-0018: p 1 , r 30 8 0
    [   24.471843] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [   24.477331] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [   24.482940] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [   24.488945] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [   24.494464] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [   24.499925] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [   24.505583] tlv320aic3262-codec 3-0018: p 1 , r 30 17 0
    [   24.511022] tlv320aic3262-codec 3-0018: p 1 , r 30 16 0
    [   24.516621] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [   24.522725] tlv320aic3262-codec 3-0018: p 1 , r 30 35 0
    [   24.528223] tlv320aic3262-codec 3-0018: p 1 , r 30 35 0
    [   24.533695] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [   24.539134] tlv320aic3262-codec 3-0018: p 1 , r 30 12 3f
    [   24.544665] tlv320aic3262-codec 3-0018: p 1 , r 30 12 3f
    [   24.550682] tlv320aic3262-codec 3-0018: p 1 , r 30 11 0
    [   24.557235] tlv320aic3262-codec 3-0018: p 1 , r 30 13 3f
    [   24.562944] tlv320aic3262-codec 3-0018: p 1 , r 30 13 3f
    [   24.568478] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   24.573919] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   24.579818] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   24.585261] tlv320aic3262-codec 3-0018: p 1 , r 30 33 0
    [   24.590715] tlv320aic3262-codec 3-0018: p 1 , r 30 8 0
    [   24.596113] tlv320aic3262-codec 3-0018: p 1 , r 30 26 7f
    [   24.601635] tlv320aic3262-codec 3-0018: p 1 , r 30 27 7f
    [   24.607731] tlv320aic3262-codec 3-0018: p 1 , r 30 24 7f
    [   24.613288] tlv320aic3262-codec 3-0018: p 1 , r 30 25 7f
    [   24.618917] tlv320aic3262-codec 3-0018: p 0 , r 30 1 0
    [   24.624306] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   24.629873] tlv320aic3262-codec 3-0018: p 1 , r 30 28 39
    [   24.635396] tlv320aic3262-codec 3-0018: p 1 , r 30 29 b9
    [   24.641319] tlv320aic3262-codec 3-0018: p 1 , r 30 28 39
    [   24.646839] tlv320aic3262-codec 3-0018: p 1 , r 30 29 b9
    [   24.652515] tlv320aic3262-codec 3-0018: p 0 , r 30 51 0
    [   24.658180] tlv320aic3262-codec 3-0018: p 1 , r 30 38 0
    [   24.663830] tlv320aic3262-codec 3-0018: p 1 , r 30 38 0
    [   24.669753] tlv320aic3262-codec 3-0018: p 1 , r 30 2e 7f
    [   24.675372] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [   24.680810] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [   24.686286] tlv320aic3262-codec 3-0018: p 1 , r 30 2f 7f
    [   24.691833] tlv320aic3262-codec 3-0018: p 1 , r 30 2d 0
    [   24.697306] tlv320aic3262-codec 3-0018: p 1 , r 30 30 0
    [   24.703273] tlv320aic3262-codec 3-0018: p 1 , r 30 30 0
    [   24.708701] tlv320aic3262-codec 3-0018: p 1 , r 30 30 0
    [   24.714319] tlv320aic3262-codec 3-0018: p 1 , r 30 30 0
    

    However, I am not getting any sound on the speaker while playing an audio file. I tried with handset and headphones as well but no sound.

    root@am57xx-evm:~/ringtones# aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: BeagleBoardX15 [BeagleBoard-X15], device 0: davinci-mcasp.0-aic326x-asi1 aic326x-asi1-0 [davinci-mcasp.0-aic326x-asi1 aic326x-asi1-0]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    
    root@am57xx-evm:~/ringtones# aplay ringtone1.wav 
    Playing WAVE 'ringtone1.wav' : [  219.703203]  
    [  219.703203]  Inide soc_dai_hw_params
    Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
    [  219.709126] tlv320aic3262-codec 3-0018: aic3262_hw_params enter
    [  219.721144] tlv320aic3262-codec 3-0018: p 4 , r 30 4 0
    [  219.727618] tlv320aic3262-codec 3-0018: p 4 , r 30 c 4
    [  219.733669] tlv320aic3262-codec 3-0018: p 4 , r 30 d 20
    [  219.739058] tlv320aic3262-codec 3-0018: p 4 , r 30 1 0
    [  219.745405] tlv320aic3262-codec 3-0018: p 4 , r 30 4 0
    [  219.750706] tlv320aic3262-codec 3-0018: p 4 , r 30 1 0
    [  219.756938] tlv320aic3262-codec 3-0018: aic3262_set_interface_fmt enter
    [  219.764218] tlv320aic3262-codec 3-0018: DBG : Current Interface format = 4005
    [  219.771437] tlv320aic3262-codec 3-0018: DBG : Current DAI ID = 0
    [  219.777726] tlv320aic3262-codec 3-0018: p 4 , r 30 1 0
    [  219.782976] tlv320aic3262-codec 3-0018: p 4, w 30 1 20
    [  219.788376] tlv320aic3262-codec 3-0018: p 4 , r 30 2 0
    [  219.793642] aic3262_hw_params exit
    [  219.793645]  
    [  219.793645]  Inide soc_dai_hw_params
    [  219.802219] davinci-mcasp 48468000.mcasp: Sample-rate is off by 400 PPM
    [  219.809169] tlv320aic3262-codec 3-0018: codec : aic3262_mute : started
    [  219.816021] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [  219.821320] tlv320aic3262-codec 3-0018: codec : aic3262_mute : ended
    

    Can you provide me with the correct firmware file? I am not familiar with generating firmware files for TLV320AIC3262.

    Regards,

    Devashish

  • As to firmware file, I will ask Peter to support you.

    Tell me what is the working mode for the 3262, slave or master mode?

    One more thing, why following log

    [  219.802219] davinci-mcasp 48468000.mcasp: Sample-rate is off by 400 PPM

  • What firmware are you talking about?

  • The bin file for 3262

  • Hi,

    SoC is master and 3262 is a slave.

    The following log -

    [  219.802219] davinci-mcasp 48468000.mcasp: Sample rate is off by 400 PPM

    I suspect this is due to the improper reference clock setting. The master clock was set to <24000000>. When I changed to <12288000> this print is gone.

    However, after doing this clock setting, when I try to play a .wav file sampled at 8000 Hz I am getting following -

    root@am57xx-evm:/mnt# aplay file_example_WAV_1MG.wav 
    Playing WAVE 'file_example_WAV_1MG.wav' : [   90.581690]  
    [   90.581690]  Inide soc_dai_hw_params
    Signed 16 bit Little Endian, Rate 8000 Hz, Stereo
    [   90.589195] tlv320aic3262-codec 3-0018: aic3262_hw_params enter
    [   90.600190] tlv320aic3262-codec 3-0018: p 4 , r 30 4 0
    [   90.606077] tlv320aic3262-codec 3-0018: p 4 , r 30 c 1
    [   90.611332] tlv320aic3262-codec 3-0018: p 4, w 30 c 4
    [   90.616745] tlv320aic3262-codec 3-0018: p 4 , r 30 d 20
    [   90.622246] tlv320aic3262-codec 3-0018: p 4 , r 30 1 20
    [   90.627669] tlv320aic3262-codec 3-0018: p 4 , r 30 4 0
    [   90.633025] tlv320aic3262-codec 3-0018: p 4 , r 30 1 20
    [   90.638300] tlv320aic3262-codec 3-0018: aic3262_set_interface_fmt enter
    [   90.645008] tlv320aic3262-codec 3-0018: DBG : Current Interface format = 4005
    [   90.652173] tlv320aic3262-codec 3-0018: DBG : Current DAI ID = 0
    [   90.658389] tlv320aic3262-codec 3-0018: p 4 , r 30 1 20
    [   90.663902] tlv320aic3262-codec 3-0018: p 4 , r 30 2 0
    [   90.669115] aic3262_hw_params exit
    [   90.669118]  
    [   90.669118]  Inide soc_dai_hw_params
    [   90.677715] davinci-mcasp 48468000.mcasp: Too fast reference clock (12288000)
    [   90.685086] tlv320aic3262-codec 3-0018: codec : aic3262_mute : started
    [   90.691903] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   90.697198] tlv320aic3262-codec 3-0018: codec : aic3262_mute : ended
    [   90.703667] aic3262_mute exit
    [   96.803526] tlv320aic3262-codec 3-0018: codec : aic3262_mute : started
    [   96.813530] tlv320aic3262-codec 3-0018: p 0 , r 30 40 0
    [   96.818844] tlv320aic3262-codec 3-0018: p 0, w 30 40 c
    [   96.824548] tlv320aic3262-codec 3-0018: codec : aic3262_mute : ended
    

    With .wav file sampled at 44100 Hz, following are the logs -

    root@am57xx-evm:~/ringtones# aplay ringtone1.wav 
    Playing WAVE 'ringtone1.wav' : [  398.858272]  
    [  398.858272]  Inide soc_dai_hw_params
    Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
    [  398.864103] tlv320aic3262-codec 3-0018: aic3262_hw_params enter
    [  398.875667] tlv320aic3262-codec 3-0018: p 4 , r 30 4 0
    [  398.880969] tlv320aic3262-codec 3-0018: p 4 , r 30 c 4
    [  398.887408] tlv320aic3262-codec 3-0018: p 4 , r 30 d 20
    [  398.892794] tlv320aic3262-codec 3-0018: p 4 , r 30 1 20
    [  398.899178] tlv320aic3262-codec 3-0018: p 4 , r 30 4 0
    [  398.905034] tlv320aic3262-codec 3-0018: p 4 , r 30 1 20
    [  398.910279] tlv320aic3262-codec 3-0018: aic3262_set_interface_fmt enter
    [  398.916952] tlv320aic3262-codec 3-0018: DBG : Current Interface format = 4005
    [  398.924171] tlv320aic3262-codec 3-0018: DBG : Current DAI ID = 0
    [  398.930344] tlv320aic3262-codec 3-0018: p 4 , r 30 1 20
    [  398.935755] tlv320aic3262-codec 3-0018: p 4 , r 30 2 0
    [  398.940912] aic3262_hw_params exit
    [  398.940915]  
    [  398.940915]  Inide soc_dai_hw_params
    [  398.949779] tlv320aic3262-codec 3-0018: codec : aic3262_mute : started
    [  398.956603] tlv320aic3262-codec 3-0018: p 0 , r 30 40 c
    [  398.961850] tlv320aic3262-codec 3-0018: p 0, w 30 40 0
    [  398.967139] tlv320aic3262-codec 3-0018: codec : aic3262_mute : ended
    

    What should be the value of the reference clock kept?

    Regards,

    Devashish

  • Also, please provide the firmware file (bin file for 3262).

  • Are you referring to PPS? We don't support custom PPS design you can download the tool and design to your use case.

  • I am referring to the basic firmware file for the TLV320AIC3262 audio codec driver to get sound on all 3 audio interfaces (handset, handsfree, headphone) at multiple sampling rates supported (8kHz, 16kHz, 44100 Hz etc.).

  • We only provide the Linux driver, if you want the configuration example they are shown in chapter 4 of the reference guide.

    https://www.ti.com/lit/ug/slau309/slau309.pdf?ts=1652710204109&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTLV320AIC3262

    Regards.

  • Hi,

    Any updates on this?

    What should be the value of the reference clock to play sound at multiple sampling rates?

  • Hi,

    Can you verify if I the procedure I am using to create the bin file is correct or not?

    Step 1. Create asi1_pll_8kHz_slave.cfg

    7178.asi1_pll_8kHz_slave.cfg

    Step 2. Create tlv320aic3262_asi1_slave.cfd

    <cfw_spec>
        <name>Firmware</name>
        <device>aic3262</device>
    
        <pll name="asi1_pll8" seq="asi1_pll_8kHz_slave.cfg" />
    
        <pfw name="PRB" >
            <desc>PRB</desc>
            <prb a="1" d="1"/>
        </pfw>
    
        <mode name="asi1_8khz_PRB">
            <pfw>PRB</pfw>
            <pll>asi1_pll8</pll>
        </mode>
    
    </cfw_spec>

    Step 3.  Create bin file using mkcfw 

    ./mkcfw_r6.10fix6_130516/utils/mkcfw tlv320aic3262_asi1_slave.cfd tlv320aic3262_fw_v1.bin 

    Step 4. Build this bin file into kernel image

    After doing the above steps, I am not able to hear any sound on the speaker.

    Kindly acknowledge.

    Regards,

    Devashish

  • Hi, 

    As to the the ref clk, what clk do you mean. mclk or bit clk?

  • Hi, 

    In the "TLV320AIC3262 Applications Reference Guide" datasheet(slau309.pdf), there's an example for 44100Hz

    What potential sample rates, bit width your project will use?

    Here share a best industry practice with you. Most of my customers usually select a fixed sample rate, for example, 48kHz, then any other sample rate must be resampled at audio hal or other function(audio dsp) to that fixed sample rate. So all their projects won't care any mclk. because it is always fixed.

  • Hi,

    We would like to support the following sampling rates - 

    8 kHz, 16 kHz, 44.1 kHz, 48 kHz

    Right now we are not getting audio at any of the above sampling rates with mclk = 12288000

    Also, does the resampling function that you mentioned come with the audio codec driver? Or do we have to write our own?

  • Usually resampling is in audio framework or audio hal. For example, Android system.In Android system, the resampling is build-in algo and implemented by C code.

    I'm not sure whether there's resamping algo in your system

    Some advanced platform support dsp resampling.

  • We are running TI Linux PSDK 6.03 on our custom board based on TI AM5728.

    Does this mean that we shall be able to support only a single sampling rate?

  • Hi,

    Please verify if this procedure to create firmware file is correct or not.

  • For the single sample rate, it can simplify the code procession. For example, most Android device.

  • Hi,

    We are not using Android. We are using TI Linux PSDK 6.03 on our custom board based on TI AM5728

    We'd like to know that with the TLV320AIC3262 audio codec driver provided by TI, can we support multiple sampling rates on our device? Because that is our requirement.

    Kindly respond.

  • It can, the sample rate switching should inform the driver. first before playing or recording

    But you must consider such complex audio case ----- playing in 48kHz, and audio reorder work in 44.1kHz at the same time,

    because 48kHz and 44.1kHz are different time domain. the chip can not support such case, it must set both applications in the same sample rate(for example, 48kHz) and use  resampling to 44.1 kHz

  • use  resampling to 44.1 kHz

    Shall this be taken care of by the audio codec driver? or do we have to write our own function?

    Please note that right now we are not able to play any sound on any of the sampling rates.

  • As mentioned by Shenghao, our codec supports the different sampling rates but the system has to configure it and inform the codec driver before playing/recording.

    There are several examples for configuring the codec in the reference guide, but we are not able to help/verify the procedure of integrating it with Linux system and the host configuration. This is not our expertise.

    My suggestion is use the example and verify against the i2cdump and verify its respective clocks.

  • Hi TI Team,
    Could you suggest the settings/firmware file for operating 3262 at 16 kHz? The file generation procedure as suggested by  is for 48Khz. We need similar values for 16Khz.
    - My above query around the firmware file generation done on 9th May, still stands unanswered !!
  • Hi Devashish

    Do you get following toolkit to make bin file from ti.com? In this toolkit are detailed guidelines on how to.

    mkcfw_r6.10fix6_130516.zip

    Hope this can help you. Thanks

  • Hi

    Your 7178.asi1_pll_8kHz_slave.cfg clock setting is wrong, here are the clock settings for 8KHz, 16KHz and 44.1KHz sampling with HP ground centered configuration as example based on MCLK of 12.288MHz. 

    DAC_HP Ground_Centered_ASI1_8kHz_slave.cfg

    DAC_HP Ground_Centered_ASI1_16kHz_slave.cfg

    DAC_HP Ground_Centered_ASI1_44.1kHz_slave.cfg

  • Hi,

    I tried the cfg files for 8KHz, 16KHz, and 44.1KHz sampling rates as sent by you. MCLK is set to 12.288MHz in the device tree. I generated the firmware file using mkcfw command.

    Also, I tried the above setup with AudioCodec as a slave and as a master both.

    However, I was not able to get any sound with any of the cfg files while playing the same sample .wav file (attached in the above replies)

    I have attached logs while playing a sample .wav file with 8KHz

    root@am57xx-evm:/mnt# aplay file_example_WAV_1MG.wav 
    Playing WAVE 'file_example_WAV_1MG.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo
    
    [  985.498568]  Inide soc_dai_hw_params
    [  985.503981] tlv320aic3262-codec 3-0018: aic3262_hw_params enter
    [  985.511522] tlv320aic3262-codec 3-0018: p 4 , r 18 4 0
    [  985.516882] tlv320aic3262-codec 3-0018: p 4 , r 18 c 4
    [  985.522443] tlv320aic3262-codec 3-0018: p 4 , r 18 d 20
    [  985.527850] tlv320aic3262-codec 3-0018: p 4 , r 18 1 20
    [  985.533498] tlv320aic3262-codec 3-0018: p 4 , r 18 4 0
    [  985.538816] tlv320aic3262-codec 3-0018: p 4 , r 18 1 20
    [  985.544134] tlv320aic3262-codec 3-0018: aic3262_set_interface_fmt enter
    [  985.550808] tlv320aic3262-codec 3-0018: DBG : Current Interface format = 4005
    [  985.557990] tlv320aic3262-codec 3-0018: DBG : Current DAI ID = 0
    [  985.564184] tlv320aic3262-codec 3-0018: p 4 , r 18 1 20
    [  985.569587] tlv320aic3262-codec 3-0018: p 4 , r 18 2 0
    [  985.574745] aic3262_hw_params exit
    [  985.574747]  
    [  985.574747]  Inide soc_dai_hw_params
    [  985.583522] davinci-mcasp 48468000.mcasp: Too fast reference clock (12288000)
    [  985.590859] tlv320aic3262-codec 3-0018: codec : aic3262_mute : started
    [  985.597663] tlv320aic3262-codec 3-0018: p 0 , r 18 40 c
    [  985.602941] tlv320aic3262-codec 3-0018: p 0, w 18 40 0
    [  985.608325] tlv320aic3262-codec 3-0018: codec : aic3262_mute : ended
    [  985.614730] aic3262_mute exit
    [  991.714566] tlv320aic3262-codec 3-0018: codec : aic3262_mute : started
    [  991.724797] tlv320aic3262-codec 3-0018: p 0 , r 18 40 0
    [  991.730068] tlv320aic3262-codec 3-0018: p 0, w 18 40 c
    [  991.735348] tlv320aic3262-codec 3-0018: codec : aic3262_mute : ended
    

    Kindly acknowledge and revert.

    BR,

    Devashish

  • Kindly dump the register and measure the mclk, bitclk and fs clk during playback

  • [EDITED]

    Hi,

    Please find below the Register dumps for Book 0 - Page 0, Page 1 and Page 4 during audio playback using aplay command

         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 00 00 30 00 00 00 11 04 00 00 01 02 01 03 00 00    ..0...??..????..
    10: 00 00 01 01 80 00 01 01 0f 80 00 18 6a 20 00 06    ..???.????.?j .?
    20: 1a 00 00 00 00 00 cc 00 00 00 00 00 00 00 00 00    ?.....?.........
    30: 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00    ............??..
    40: 00 30 30 00 6f 00 00 05 04 00 00 ee 10 d8 7e e3    .00.o..??..???~?
    50: 00 02 00 00 00 00 00 00 7f 00 00 00 00 00 00 00    .?......?.......
    60: 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ?...............
    70: 00 00 00 00 00 00 00 00 00 00 00 00 00 03 01 00    .............??.
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    
    
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 01 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00    ?.........?.....
    10: 00 00 3f 3f 00 00 00 00 00 00 00 30 7f 7f 00 b9    ..??.......0??.?
    20: b9 28 3e 10 7f 7f 7f 7f 39 b9 08 00 00 00 7f 7f    ?(>?????9??...??
    30: 55 00 00 00 00 00 00 00 00 00 00 80 80 00 00 00    U..........??...
    40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    50: 00 00 55 23 00 00 00 00 00 00 00 00 00 00 00 00    ..U#............
    60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    70: 00 00 00 00 00 00 00 94 42 33 01 00 00 00 00 00    .......?B3?.....
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    
    
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 04 20 00 00 00 00 00 01 50 00 00 00 04 20 00 00    ? .....?P...? ..
    10: 00 00 00 00 00 00 00 00 00 00 00 00 01 20 20 00    ............?  .
    20: 00 00 00 00 00 00 00 00 00 00 00 00 01 20 40 00    ............? @.
    30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    40: 00 04 00 22 30 06 06 22 20 06 06 22 20 00 00 00    .?."0??" ??" ...
    50: 00 00 00 00 00 00 02 02 00 00 00 02 01 00 00 00    ......??...??...
    60: 02 00 00 00 00 06 00 00 00 00 00 00 00 00 00 00    ?....?..........
    70: 00 00 00 00 00 00 06 f0 00 00 00 00 00 00 00 00    ......??........
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    

    How can I get the current mclk, bitclk, fs clk, wclk from the driver code?

    Are you suggesting measuring them using an Oscilloscope?

  • Use scope to measure them and upload the wavform file

  • It seemed that following modules has not power on

    RW:
    B0P0R6D7 -- PLL Power Down
    B0P0R0x12D7 -- NADC divider powered down, ADC_CLK is same as DAC_CLK
    B0P0R0x13D7 -- MADC divider powered down, ADC_MOD_CLK is same as DAC_MOD_CLK
    B0P0R0x16D7 -- CLKOUT M divider powered down

    RO-FLAG bit:
    B0P0R0x24D6 -- Left ADC Powered Down
    B0P0R0x24D2 -- Right ADC Powered Down
    B0P0R0x25D7 -- Left DAC Powered Down
    B0P0R0x25D3 -- Right DAC Powered Down
    B0P0R0x26D7 -- Secondary Left DAC PGA is muted
    B0P0R0x26D6 -- Primary Left DAC PGA is muted
    B0P0R0x26D3 -- Secondary Right DAC PGA is muted
    B0P0R0x26D2 -- Primary Right DAC PGA is muted

  • I am using the DAC_HP Ground_Centered_ASI1_8kHz_slave.cfg file you have provided.

    In this PLL is not set and inside the file comments, it is mentioned that PLL is disabled.

  • Following is my tlv320aic3262_DAC_HP_Ground_Centered_ASI1_8kHz_slave.cfd file -

    <cfw_spec>
        <name>Firmware</name>
        <device>aic3262</device>
    
        <pll name="DAC_HP_Ground_Centered_ASI1_8kHz_slave.cfg" seq="DAC_HP_Ground_Centered_ASI1_8kHz_slave.cfg" />
    
        <pfw name="PRB" >
            <desc>PRB</desc>
            <prb a="1" d="1"/>
        </pfw>
    
        <mode name="DAC_HP_Ground_Centered_ASI1_8kHz_slave.cfg_PRB">
            <pfw>PRB</pfw>
            <pll>DAC_HP_Ground_Centered_ASI1_8kHz_slave.cfg</pll>
        </mode>
    
    </cfw_spec>

    Then I am creating firmware using following command -

    ./mkcfw_r6.10fix6_130516/utils/mkcfw    tlv320aic3262_DAC_HP_Ground_Centered_ASI1_8kHz_slave.cfd    tlv320aic3262_fw_v1.bin

    I am building the firmware into the kernel image and it is getting loaded on boot up.

  • Hi,

    This is what I meant that you should verify what you have written with the i2cdump.

    In the 8KHz cfg file I sent for example registers below:

    w 18 00 00 # Select Page 0
    w 18 3f c0 # Power up the Left and Right DAC Channels with route the Primary
    w 18 40 00 # DAC not muted

    Register 0x3f data is 0xc0, but your i2cdump shows 0xx00 which means settings are not matching.

      

    Regards.

  • Hi,

    I am not setting this register explicitly. The register should take the value from the firmware file and it is taking the value 0xc0. I can identify this from the DMESG logs. However, after that, it is again set to 0x00.

    Please check (highlighted in bold red)

    [ 3.795352] tlv320aic3262-codec 3-0018: p 1 , r 18 7a 1
    [ 3.800626] tlv320aic3262-codec 3-0018: p 1, w 18 7a 5
    [ 3.846340] tlv320aic3262-codec 3-0018: p 1 , r 18 23 10
    [ 3.851693] tlv320aic3262-codec 3-0018: p 1, w 18 23 30
    [ 3.857819] tlv320aic3262-codec 3-0018: Firmware binary load
    [ 3.879974] tlv320aic3262-codec 3-0018: p 4 , r 18 b 0
    [ 3.891521] tlv320aic3262-codec 3-0018: p 4 , r 18 b 0
    [ 3.902536] tlv320aic3262-codec 3-0018: p 4 , r 18 b 0
    [ 3.913985] tlv320aic3262-codec 3-0018: p 4 , r 18 b 0
    [ 3.927283] tlv320aic3262-codec 3-0018: p 4 , r 18 1b 0
    [ 3.939599] tlv320aic3262-codec 3-0018: p 4 , r 18 1b 0
    [ 3.953806] tlv320aic3262-codec 3-0018: p 4 , r 18 1b 0
    [ 3.963305] tlv320aic3262-codec 3-0018: p 4 , r 18 1b 0
    [ 3.977527] tlv320aic3262-codec 3-0018: p 4 , r 18 2b 0
    [ 3.990882] tlv320aic3262-codec 3-0018: p 4 , r 18 2b 0
    [ 4.000573] tlv320aic3262-codec 3-0018: p 4 , r 18 2b 0
    [ 4.015945] tlv320aic3262-codec 3-0018: p 4 , r 18 2b 0
    [ 4.027551] tlv320aic3262-codec 3-0018: p 1 , r 18 1b 0
    [ 4.039160] tlv320aic3262-codec 3-0018: p 1 , r 18 1b 0
    [ 4.050851] tlv320aic3262-codec 3-0018: p 1 , r 18 1c 7f
    [ 4.062611] tlv320aic3262-codec 3-0018: p 1 , r 18 1d 7f
    [ 4.074325] tlv320aic3262-codec 3-0018: p 1 , r 18 1b 0
    [ 4.086010] tlv320aic3262-codec 3-0018: p 1 , r 18 1b 0
    [ 4.097696] tlv320aic3262-codec 3-0018: p 1 , r 18 1b 0
    [ 4.106852] tlv320aic3262-codec 3-0018: p 1 , r 18 17 0
    [ 4.112950] tlv320aic3262-codec 3-0018: p 1 , r 18 17 0
    [ 4.121924] tlv320aic3262-codec 3-0018: p 1 , r 18 16 0
    [ 4.133587] tlv320aic3262-codec 3-0018: p 1 , r 18 16 0
    [ 4.145221] tlv320aic3262-codec 3-0018: p 1 , r 18 16 0
    [ 4.156905] tlv320aic3262-codec 3-0018: p 1 , r 18 16 0
    [ 4.168584] tlv320aic3262-codec 3-0018: p 1 , r 18 17 0
    [ 4.180268] tlv320aic3262-codec 3-0018: p 1 , r 18 17 0
    [ 4.191937] tlv320aic3262-codec 3-0018: p 1 , r 18 24 7f
    [ 4.203693] tlv320aic3262-codec 3-0018: p 1 , r 18 26 7f
    [ 4.215457] tlv320aic3262-codec 3-0018: p 1 , r 18 27 7f
    [ 4.224920] tlv320aic3262-codec 3-0018: p 1 , r 18 25 7f
    [ 4.236662] tlv320aic3262-codec 3-0018: p 1 , r 18 2d 0
    [ 4.248346] tlv320aic3262-codec 3-0018: p 1 , r 18 2e 7f
    [ 4.260122] tlv320aic3262-codec 3-0018: p 1 , r 18 2d 0
    [ 4.271783] tlv320aic3262-codec 3-0018: p 1 , r 18 2f 7f
    [ 4.283537] tlv320aic3262-codec 3-0018: p 1 , r 18 2d 0
    [ 4.295215] tlv320aic3262-codec 3-0018: p 4 , r 18 8 50
    [ 4.306897] tlv320aic3262-codec 3-0018: p 4 , r 18 8 50
    [ 4.318577] tlv320aic3262-codec 3-0018: p 4 , r 18 8 50
    [ 4.325158] tlv320aic3262-codec 3-0018: p 4 , r 18 8 50
    [ 4.331262] tlv320aic3262-codec 3-0018: p 4 , r 18 8 50
    [ 4.337075] tlv320aic3262-codec 3-0018: p 4 , r 18 8 50
    [ 4.350323] tlv320aic3262-codec 3-0018: p 4 , r 18 18 0
    [ 4.356074] tlv320aic3262-codec 3-0018: p 4 , r 18 18 0
    [ 4.362419] tlv320aic3262-codec 3-0018: p 4 , r 18 18 0
    [ 4.368204] tlv320aic3262-codec 3-0018: p 4 , r 18 18 0
    [ 4.373942] tlv320aic3262-codec 3-0018: p 4 , r 18 18 0
    [ 4.379675] tlv320aic3262-codec 3-0018: p 4 , r 18 18 0
    [ 4.385298] tlv320aic3262-codec 3-0018: p 4 , r 18 28 0
    [ 4.391033] tlv320aic3262-codec 3-0018: p 4 , r 18 28 0
    [ 4.396858] tlv320aic3262-codec 3-0018: p 4 , r 18 28 0
    [ 4.402589] tlv320aic3262-codec 3-0018: p 4 , r 18 28 0
    [ 4.412246] tlv320aic3262-codec 3-0018: p 4 , r 18 28 0
    [ 4.423064] tlv320aic3262-codec 3-0018: p 4 , r 18 28 0
    [ 4.428467] tlv320aic3262-codec 3-0018: p 4 , r 18 76 6
    [ 4.433872] tlv320aic3262-codec 3-0018: p 4 , r 18 76 6
    [ 4.439280] tlv320aic3262-codec 3-0018: p 4 , r 18 76 6
    [ 4.444670] tlv320aic3262-codec 3-0018: p 4 , r 18 76 6
    [ 4.450079] tlv320aic3262-codec 3-0018: p 4 , r 18 76 6
    [ 4.455471] tlv320aic3262-codec 3-0018: p 4 , r 18 76 6
    [ 4.460875] tlv320aic3262-codec 3-0018: p 4 , r 18 76 6
    [ 4.466270] tlv320aic3262-codec 3-0018: p 4 , r 18 76 6
    [ 4.471682] tlv320aic3262-codec 3-0018: p 4 , r 18 76 6
    [ 4.477072] tlv320aic3262-codec 3-0018: p 4 , r 18 76 6
    [ 4.482580] tlv320aic3262-codec 3-0018: p 1 , r 18 11 0
    [ 4.487976] tlv320aic3262-codec 3-0018: p 1 , r 18 12 3f
    [ 4.493485] tlv320aic3262-codec 3-0018: p 1 , r 18 11 0
    [ 4.498877] tlv320aic3262-codec 3-0018: p 1 , r 18 13 3f
    [ 4.504476] tlv320aic3262-codec 3-0018: p 0 , r 18 0 0
    [ 4.509791] tlv320aic3262-codec 3-0018: p 0 , r 18 0 0
    [ 4.515203] tlv320aic3262-codec 3-0018: p 1 , r 18 34 0
    [ 4.520613] tlv320aic3262-codec 3-0018: p 1 , r 18 34 0
    [ 4.526007] tlv320aic3262-codec 3-0018: p 1 , r 18 34 0
    [ 4.531414] tlv320aic3262-codec 3-0018: p 1 , r 18 35 0
    [ 4.536808] tlv320aic3262-codec 3-0018: p 1 , r 18 34 0
    [ 4.542218] tlv320aic3262-codec 3-0018: p 1 , r 18 36 0
    [ 4.547609] tlv320aic3262-codec 3-0018: p 1 , r 18 36 0
    [ 4.553020] tlv320aic3262-codec 3-0018: p 1 , r 18 35 0
    [ 4.558411] tlv320aic3262-codec 3-0018: p 1 , r 18 36 0
    [ 4.563812] tlv320aic3262-codec 3-0018: p 1 , r 18 36 0
    [ 4.569226] tlv320aic3262-codec 3-0018: p 1 , r 18 37 0
    [ 4.574617] tlv320aic3262-codec 3-0018: p 1 , r 18 37 0
    [ 4.580023] tlv320aic3262-codec 3-0018: p 1 , r 18 37 0
    [ 4.585420] tlv320aic3262-codec 3-0018: p 1 , r 18 38 0
    [ 4.590830] tlv320aic3262-codec 3-0018: p 1 , r 18 37 0
    [ 4.596223] tlv320aic3262-codec 3-0018: p 1 , r 18 39 0
    [ 4.601632] tlv320aic3262-codec 3-0018: p 1 , r 18 39 0
    [ 4.607024] tlv320aic3262-codec 3-0018: p 1 , r 18 38 0
    [ 4.612434] tlv320aic3262-codec 3-0018: p 1 , r 18 39 0
    [ 4.617828] tlv320aic3262-codec 3-0018: p 1 , r 18 39 0
    [ 4.623348] tlv320aic3262-codec 3-0018: p 0 , r 18 51 0
    [ 4.628746] tlv320aic3262-codec 3-0018: p 0 , r 18 51 0
    [ 4.634157] tlv320aic3262-codec 3-0018: p 0 , r 18 51 0
    [ 4.639563] tlv320aic3262-codec 3-0018: p 0 , r 18 51 0
    [ 4.645072] tlv320aic3262-codec 3-0018: p 4 , r 18 7 1
    [ 4.650388] tlv320aic3262-codec 3-0018: p 4 , r 18 7 1
    [ 4.655699] tlv320aic3262-codec 3-0018: p 4 , r 18 7 1
    [ 4.661021] tlv320aic3262-codec 3-0018: p 4 , r 18 7 1
    [ 4.666336] tlv320aic3262-codec 3-0018: p 4 , r 18 17 0
    [ 4.671747] tlv320aic3262-codec 3-0018: p 4 , r 18 17 0
    [ 4.677138] tlv320aic3262-codec 3-0018: p 4 , r 18 17 0
    [ 4.682547] tlv320aic3262-codec 3-0018: p 4 , r 18 17 0
    [ 4.687946] tlv320aic3262-codec 3-0018: p 4 , r 18 17 0
    [ 4.693356] tlv320aic3262-codec 3-0018: p 4 , r 18 27 0
    [ 4.698750] tlv320aic3262-codec 3-0018: p 4 , r 18 27 0
    [ 4.704154] tlv320aic3262-codec 3-0018: p 4 , r 18 27 0
    [ 4.709558] tlv320aic3262-codec 3-0018: p 4 , r 18 27 0
    [ 4.714956] tlv320aic3262-codec 3-0018: p 4 , r 18 27 0
    [ 4.720374] tlv320aic3262-codec 3-0018: p 4 , r 18 f 0
    [ 4.725678] tlv320aic3262-codec 3-0018: p 4 , r 18 f 0
    [ 4.730997] tlv320aic3262-codec 3-0018: p 4 , r 18 f 0
    [ 4.736304] tlv320aic3262-codec 3-0018: p 4 , r 18 f 0
    [ 4.741624] tlv320aic3262-codec 3-0018: p 4 , r 18 1f 0
    [ 4.747016] tlv320aic3262-codec 3-0018: p 4 , r 18 1f 0
    [ 4.752425] tlv320aic3262-codec 3-0018: p 4 , r 18 1f 0
    [ 4.757818] tlv320aic3262-codec 3-0018: p 4 , r 18 1f 0
    [ 4.763226] tlv320aic3262-codec 3-0018: p 4 , r 18 2f 0
    [ 4.768620] tlv320aic3262-codec 3-0018: p 4 , r 18 2f 0
    [ 4.774023] tlv320aic3262-codec 3-0018: p 4 , r 18 2f 0
    [ 4.779430] tlv320aic3262-codec 3-0018: p 4 , r 18 2f 0
    [ 4.784744] tlv320aic3262-codec 3-0018: aic3262_set_dai_fmt enter
    [ 4.790878] tlv320aic3262-codec 3-0018: DBG : Current DAI format = 4005
    [ 4.797518] tlv320aic3262-codec 3-0018: DBG : Current DAI ID = 0
    [ 4.804943] tlv320aic3262-codec 3-0018: p 4 , r 18 a 0
    [ 4.827574] tlv320aic3262-codec 3-0018: p 0 , r 18 3f c0
    [ 4.833602] tlv320aic3262-codec 3-0018: p 0 , r 18 3f c0
    [ 4.841286] tlv320aic3262-codec 3-0018: p 1 , r 18 1b 33
    [ 4.846771] tlv320aic3262-codec 3-0018: p 1 , r 18 1b 33
    [ 4.852334] tlv320aic3262-codec 3-0018: p 1 , r 18 16 0
    [ 4.857806] tlv320aic3262-codec 3-0018: p 1 , r 18 16 0
    [ 4.863493] tlv320aic3262-codec 3-0018: p 1 , r 18 2d 0
    [ 4.868903] tlv320aic3262-codec 3-0018: p 1 , r 18 2d 0
    [ 4.874639] tlv320aic3262-codec 3-0018: p 1 , r 18 28 39
    [ 4.880293] tlv320aic3262-codec 3-0018: p 1 , r 18 28 39
    [ 4.886200] tlv320aic3262-codec 3-0018: p 0 , r 18 51 0
    [ 4.891609] tlv320aic3262-codec 3-0018: p 0 , r 18 51 0
    [ 4.897104] tlv320aic3262-codec 3-0018: p 1 , r 18 3b 80
    [ 4.902601] tlv320aic3262-codec 3-0018: p 1 , r 18 3c 80
    [ 4.908083] tlv320aic3262-codec 3-0018: p 1 , r 18 11 0
    [ 4.913490] tlv320aic3262-codec 3-0018: p 1 , r 18 11 0
    [ 4.919169] tlv320aic3262-codec 3-0018: p 1 , r 18 33 0
    [ 4.924570] tlv320aic3262-codec 3-0018: p 1 , r 18 33 0
    [ 4.930080] tlv320aic3262-codec 3-0018: p 0 , r 18 6 11
    [ 4.935481] tlv320aic3262-codec 3-0018: p 0 , r 18 b 82
    [ 4.940897] tlv320aic3262-codec 3-0018: p 0 , r 18 c 81
    [ 4.946293] tlv320aic3262-codec 3-0018: p 0 , r 18 12 1
    [ 4.951706] tlv320aic3262-codec 3-0018: p 0 , r 18 13 1
    [ 4.957201] tlv320aic3262-codec 3-0018: p 4 , r 18 c 1
    [ 4.962525] tlv320aic3262-codec 3-0018: p 4 , r 18 d 20
    [ 4.967925] tlv320aic3262-codec 3-0018: p 4 , r 18 1c 1
    [ 4.973333] tlv320aic3262-codec 3-0018: p 4 , r 18 1d 20
    [ 4.978815] tlv320aic3262-codec 3-0018: p 4 , r 18 2c 1
    [ 4.984221] tlv320aic3262-codec 3-0018: p 4 , r 18 2d 20
    [ 4.989955] tlv320aic3262-codec 3-0018: p 0 , r 18 c 81
    [ 4.995201] tlv320aic3262-codec 3-0018: p 0, w 18 c 1
    [ 5.000636] tlv320aic3262-codec 3-0018: p 1 , r 18 1b 33
    [ 5.005969] tlv320aic3262-codec 3-0018: p 1, w 18 1b 30
    [ 5.021765] tlv320aic3262-codec 3-0018: p 1, w 18 20 b9
    [ 5.027258] tlv320aic3262-codec 3-0018: p 1 , r 18 1 0
    [ 5.032432] tlv320aic3262-codec 3-0018: p 1, w 18 1 0
    [ 5.037741] tlv320aic3262-codec 3-0018: p 1, w 18 1f b9
    [ 5.043246] tlv320aic3262-codec 3-0018: p 1 , r 18 1 0
    [ 5.048404] tlv320aic3262-codec 3-0018: p 1, w 18 1 0
    [ 5.053839] tlv320aic3262-codec 3-0018: p 0 , r 18 b 82
    [ 5.059098] tlv320aic3262-codec 3-0018: p 0, w 18 b 2
    [ 5.064414] tlv320aic3262-codec 3-0018: p 0 , r 18 3f c0
    [ 5.069759] tlv320aic3262-codec 3-0018: p 0, w 18 3f 0
    [ 9.527821] tlv320aic3262-codec 3-0018: p 0 , r 18 41 0
    [ 9.549314] tlv320aic3262-codec 3-0018: p 0, w 18 41 d8
    [ 9.609441] tlv320aic3262-codec 3-0018: p 0 , r 18 42 0
    [ 9.662457] tlv320aic3262-codec 3-0018: p 0, w 18 42 d8
    [ 9.751874] tlv320aic3262-codec 3-0018: p 0 , r 18 41 d8
    [ 9.783042] tlv320aic3262-codec 3-0018: p 0, w 18 41 1
    [ 9.817838] tlv320aic3262-codec 3-0018: p 0 , r 18 42 d8
    [ 9.863773] tlv320aic3262-codec 3-0018: p 0, w 18 42 1
    [ 9.894007] tlv320aic3262-codec 3-0018: p 0 , r 18 52 88
    [ 9.928551] tlv320aic3262-codec 3-0018: p 0, w 18 52 0
    [ 9.975222] tlv320aic3262-codec 3-0018: p 0 , r 18 40 0
    [ 10.020379] tlv320aic3262-codec 3-0018: p 0 , r 18 1 0