driver dts config

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         };

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章