如何在设备树中配置多个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>;
};
};
我目前正在我的设备树 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>;
};
};