Dowiedziałem się o drzewach urządzeń linuksowych i próbowaliśmy zacząć przenosić część naszego starszego kodu, aby z nich korzystać. Mam trochę problemów z węzłem kontrolera gpio:Pomoc do drzewa urządzeń Linuksa (kontroler/przerywniki GPIO)
gpio1: [email protected] {
#gpio-cells = <2>;
compatible = "cavium,octeon-3860-gpio";
reg = <0xc00 0x100>;
gpio-controller;
/* Interrupts are specified by two parts:
* 1) GPIO pin number (0..15)
* 2) Triggering (1 - edge rising
* 2 - edge falling
* 4 - level active high
* 8 - level active low)
*/
interrupt-controller;
interrupt-cells = <2>;
interrupts = <0 24>, <1 25>, <2 26>, <3 27>;
};
Próbuję odwzorować niektóre przerwania na szpilki GPIO, jednak wygląda na to, że mapował tylko pierwszy. < 0 24> IRQ 24 na gpio pin 0. Spojrzałem na kod źródłowy i nie wygląda na to, będzie on kiedykolwiek interweniował z "przerwaniami", chociaż plik tekstowy powiązań urządzeń wydaje się wskazywać, że będzie (devicetree/bindings/gpio/cavium-octeon-gpio.txt). Czy ktoś wie, jak mogę zmapować garstkę interupcji do różnych pinów gpio?