如何在设备树中配置多个I / O扩展器PCF8574a?

时间:2019-05-31 12:23:13

标签: linux embedded-linux yocto i2c device-tree

我当前正在设备树am335x-boneblack.dts中添加一个I / O扩展器PCF8574a。我有两个I / O扩展器,一个在0x38,另一个在0x39。

下面的代码对于单个扩展器工作正常,但是如果我以类似方式添加地址为0x39的PCF8574a,则会显示错误。

lowestIdx = i

};

错误日志:

  

“在/ ocp / i2c @ 4802a000 / pcf8574a @ 39和/ ocp / i2c @ 4802a000 / pcf8574a @ 38上重复标签'pcf8574a'”   我完全理解。

但是我不知道如何添加另一个节点或说子节点来完成这项工作。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您尝试过这个

&i2c1 {
    pinctrl-names = "default";
    pinctrl-0 = <&i2c1_pins_default>;
    status = "okay";
    clock-frequency = <400000>;

pcf8574a_38: pcf8574a@38 {
    compatible = "nxp,pcf8574a";
    reg = <0x38>;
    gpio-controller;            
    #gpio-cells = <2>;
};
pcf8574a_39: pcf8574a@39 {
    compatible = "nxp,pcf8574a";
    reg = <0x39>;
    gpio-controller;            
    #gpio-cells = <2>;
};
};