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

How to configure multiple I/O Expander PCF8574a in a device tree?

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

下面的代码适用于单个扩展器,但如果我以类似方式添加地址为 0x39 的 PCF8574a,它会显示错误。

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

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

};

错误日志:

"Duplicate label 'pcf8574a' on /ocp/i2c@4802a000/pcf8574a@39 and /ocp/i2c@4802a000/pcf8574a@38" which I completely understand.

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

你试过这个吗

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