2020/7/23

dump Audio Codec I2C Registers

一般Audio Codec 都是使用I2C控制。
要 dump I2C register 的話...

文件說,driver 有用 regmap, 使用devm_regmap_init_i2c( ) 註冊 i2 driver 的話,
在,舉例來說,codec 在 i2c2,address 0x12:
/sys/kernel/debug/regmap/2-0012/
之下的register, cat 出來...

但是用 amixer cset 修改 register,cat 出來的 register value 都沒變...
所以可能是 driver 沒寫好。


另外就是用 i2cdump
因為 I2C Audio Codec Driver 一定有註冊,所以用
i2cdump: can't set address to 0x12: Device or resource bus

要加上 -f force
# i2cdump  -f -y 2 0x12
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 06 00 60 50 5b 23 00 00 60 00 e1 91 00 00    ..?.`P[#..`.??..
10: 03 00 00 00 00 00 01 00 03 b0 1f 9f 20 b6 0b 6d    ?.....?.???? ??m
20: 37 00 28 00 5e 3f 9f e0 0b 02 58 3e a2 e1 60 08    7.(.^?????X>??`?
30: 12 38 72 e7 c8 17 1f 25 23 f5 43 1f 00 00 ca fb    ?8r????%#?C?..??
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
這種方法,配合 amixer cset 修改register,發現會做對應的變更。
所以應該有效。

沒有留言:

張貼留言