stm32mp157pro添加i2c节点后make dtbs 报错

图片
我看扩展版用的i2c2总线,但是把这个i2c2节点加到设备树文件make dtbs就报错,把at24c02节点加到设备树已经有的i2c1节点就不会报错,也就是下面这种情况


但是如果我自己在别的地方写一个i2c1同样报错,
图片

设备树文件stm32mp157c-100ask-512d-lcd-v1.dts里面没有I2C2的节点,自己创建一个不行,只能加在已有的I2C1的下面,自己在另外的地方加一个I2C1的节点也不行
扩展板图片

报错图片

我在群里看问大佬说要看*.i的设备树文件中有没有i2c2控制器的节点,是这么查看的吗

其中好像只有
stm32mp151.dtsi:609: 定义了I2C2,但是我用的是157的板子,这有问题吗,最后我按照群里大佬的方法将我自己的&I2C2节点放到了设备树的根节点之外(放到了最下面),
,编译成功了,群里的大佬说是因为是引用的根节点下的节点所以要写在根节点之外,请问是这样的吗?

运行程序没反应,查看设备树节点,发现内核没有成功的读取到at24c02


dtb文件成功编译了,也导入到板子上的boot目录重启了,就是没有设备树节点

是的,因为根节点已经有这个设备了,所以你如果添加这个设备的属性,需要在根节点外使用引用符号引用这个设备,然后在里面添加属性。