Я пытаюсь связать контроллер GPIO в драйвере ядра, и я не уверен, что я все делаю правильно.Дерево устройств и GPIO
Это мой код устройства дерево:
gpio_screen1:[email protected] {
compatible = "nxp,pca9535";
gpio-controller;
#gpio-cells = <2>;
reg = <0x20>;
// pinctrl-names = "default";
// pinctrl-0 = <&pinctrl_pca9505>;
};
screen: [email protected] {
compatible = "myscreen,myscreen";
#address-cells = <1>;
#size-cells = <0>;
reg = < 0x04000 0xF00 >;
interrupts = <1 2>;
reset-gpios = <&gpio_screen1 15 0>;
sleep-gpios = <&gpio_screen1 14 0>;
clk_sel1-gpios = <&gpio_screen1 10 0>;
lane_sel-gpios = <&gpio_screen1 9 0>;
};
И это мой код драйвера, который регистрирует GPIO
gpio = of_get_named_gpio(pdev->dev.of_node, "reset-gpios", 0);
if (!gpio_is_valid(gpio)) {
dev_err(&pdev->dev, "failed to parse reset gpio\n");
return gpio;
}
dev->reset = gpio;
ли инициализация правильно?
Я смотрел документацию для этого контроллера GPIO, но это не очень полезно.
Мне не нужны прерывания от этого gpio, поэтому я не планировал использовать их. Я еще не смог проверить его на HW, я, вероятно, смогу сделать это на следующей неделе. : S – Jamiro14
вам удалось? Вы записали запись дерева устройств или наложение дерева устройств для этого? – Raulp