driver dts config

3 篇文章 0 订阅
2 篇文章 0 订阅

debug msensor dts配置不生效

dts:

  99         msensor@0c {
 100                 i2c_num = <2>;
 101                 i2c_addr = <0x0c 0 0 0>;
 102                 direction = <2>;
 103                 power_id = <0xffff>;
 104                 power_vol = <0>;
 105                 is_batch_supported = <0>;
 106         };

code:

177 int get_mag_dts_func(struct device_node *node, struct mag_hw *hw)
178 {
179         int i, ret;
180         u32 i2c_num[] = {0};
181         u32 i2c_addr[M_CUST_I2C_ADDR_NUM] = {0};
182         u32 direction[] = {0};
183         u32 power_id[] = {0};
184         u32 power_vol[] = {0};
185         u32 is_batch_supported[] = {0};
186
187         SENSOR_LOG("Device Tree get mag info!\n");
188         SENSOR_LOG("Device Tree get mag info name = %s type = %s full_name = %s \n", node->name, node->type, node->full_name);// add for dbug
189         if (node) {
190                 ret = of_property_read_u32_array(node, "i2c_num", i2c_num, ARRAY_SIZE(i2c_num));
191                 if (ret == 0)
192                         hw->i2c_num     =       i2c_num[0];

1)打印返回值,发现ret 为-22;

2)增加LOG 打印 node的具体路径:
[    8.373278] <2>.(3)[1:swapper/0][name:sensor_dts&][Sensor dts] Device Tree get mag info name = msensor type = <NULL> full_name = /soc/i2c@11009000/msensor@0d

3)查看dws, msensor配置i2c地址为0x0D, 故node->full_name为/soc/i2c@11009000/msensor@0d

4) 修改dts为0d解决问题

99         msensor@0d {
 100                 i2c_num = <2>;
 101                 i2c_addr = <0x0c 0 0 0>;
 102                 direction = <2>;
 103                 power_id = <0xffff>;
 104                 power_vol = <0>;
 105                 is_batch_supported = <0>;
 106         };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值