Looks like my audio driver is built, and working, It look like my device tree is correct, aplay -Dplughw:1,0 ./cheering.wav give syslog messages of
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.175803] [AK4637] ak4637_set_bias_level(1572)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.176304] [ak4637] ak4637_i2c_write: (addr,data)=(0, 40)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.176666] [AK4637] ak4637_set_bias_level(1572)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.177138] [ak4637] ak4637_i2c_write: (addr,data)=(0, 40)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.178492] [AK4637] ak4637_hw_params(1394)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.179005] [AK4637] ak4637_set_dai_mute mute[OFF]
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.179494] [ak4637] ak4637_i2c_write: (addr,data)=(7, 2)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.179860] [AK4637] ak4637_set_dai_mute(1614) ret 1
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.179905] ak4637 8-0012: ASoC: Failed to unmute: 1
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.185465] [ak4637] ak4637_i2c_write: (addr,data)=(1, 4)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.186563] [ak4637] ak4637_i2c_write: (addr,data)=(0, 44)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.186941] [AK4637] ak4637_spklo_event(1205)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.187936] [ak4637] ak4637_i2c_write: (addr,data)=(1, 6)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.188305] [AK4637] ak4637_spklo_event(1205)
Sep 29 14:17:14 BaseSystem_0_10 kernel: [13544.188784] [AK4637] ak4637_spklo_event wait=1msec
but no sound. Ignore the two fails, looks like soc-io.c is incorrectly check return codes, 1 means good i2c .
Can you use devmem2 and show me all the registers and their values to make audio work. Figuring out the registers to look at is difficult, figuring out from the pinmux what the values are is even more difficult.
I think I have found aud_mclk_ and it is
sudo devmem2 0x02431020
/dev/mem opened.
Memory mapped at address 0x7f9af0e000.
Value at address 0x2431020 (0x7f9af0e020): 0x59
Is 0x59 correct?
Which register holds the actual value of the clock speed?
Thanks
Terry