Ho imparato a conoscere gli alberi dei dispositivi Linux e abbiamo cercato di iniziare a eseguire il porting di alcuni dei nostri vecchi codici per utilizzarli. Sto avendo un po 'di problemi con il nodo controller gpio:Guida alla struttura dei dispositivi Linux (controller/interruttori 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>;
};
Sto cercando di mappare determinati IRQ a pin GPIO, tuttavia, sembra che sia sempre il primo a mappare il primo < 0 24> IRQ 24 a gpio pin 0. Ho guardato il codice sorgente e non sembra esso interverrà mai di "interrupt", anche se il file di testo dei collegamenti dell'albero del dispositivo sembra suggerire che sarà (devicetree/bindings/gpio/cavium-octeon-gpio.txt). Qualcuno sa come posso mappare una manciata di interruzioni a diversi pin gpio?