Как настроить несколько модулей ввода-вывода PCF8574a в дереве устройств? - PullRequest
0 голосов
/ 31 мая 2019

В настоящее время я добавляю расширитель ввода / вывода PCF8574a в дерево устройств am335x-boneblack.dts. У меня есть два расширителя ввода / вывода, один в 0x38 и другой в 0x39.

Приведенный ниже код отлично работает для одного расширителя, но если я добавлю PCF8574a с адресом 0x39 аналогичным образом, он выдаст ошибку.

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

};

Журнал ошибок:

"Дублирующая метка 'pcf8574a' на / ocp / i2c @ 4802a000 / pcf8574a @ 39 и / ocp / i2c @ 4802a000 / pcf8574a @ 38" что я полностью понимаю.

Но я не знаю, как добавить другой узел или сказать подузел, чтобы это работало. Есть предложения?

1 Ответ

1 голос
/ 31 мая 2019

вы пробовали это

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