要 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,發現會做對應的變更。
所以應該有效。
沒有留言:
張貼留言