Sto cercando di capire la struttura dei dispositivi interrupts
proprietà e non riesco a trovare una buona spiegazione.
Ad esempio se è presente un nodo con le seguenti righe:
interrupt-parent = <&gpio5>;
interrupts = <9 0>;
Come faccio a capire quali sono i numeri magici <9 0>
si riferisce a?
È una maschera di bit, numero di porta gpio, numero pin, priorità, edge o qualcos'altro?
Il interrupt-parent
il nodo ha questo aspetto (suppongo che sarebbe simile per la maggior parte dei dispositivi ARM):
gpio5: [email protected] {
compatible = "fsl,imx7d-gpio", "fsl,imx35-gpio";
reg = <0x30240000 0x10000>;
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
Risposta accettata:
Puoi ottenere alcune informazioni dalla documentazione del kernel che descrive la proprietà degli interrupt.
Continua con l'esempio del controller di interrupt OpenPIC che ha 2 celle:
La prima cella definisce il numero di interruzione. La seconda cella definisce le
informazioni relative al senso e al livello.
Le informazioni relative al senso e al livello devono essere codificate come segue:
0 = low to high edge sensitive type enabled
...
Il tuo caso è probabilmente simile, ma spesso è necessario che tu abbia una conoscenza approfondita del chipset e del driver.