GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:quali sono i valori della proprietà degli interrupt dell'albero dei dispositivi?

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.


Linux
  1. Cosa rende Linux il sistema operativo sostenibile

  2. Usa il terminale Linux per vedere quali file sono sul tuo computer

  3. Cosa rende speciale la comunità Linux?

  4. Qual è l'attuale runlevel del sistema Linux?

  5. Linux:quali sono i diversi modi per impostare i permessi dei file ecc. su Gnu/linux?

Cos'è il comando Linux Watch + Esempi

Che cos'è la shell in Linux?

Qual è il comando kill in Linux?

Cosa sono gli inode in Linux?

Quali sono gli svantaggi delle code di messaggi di Linux?

Qual è la differenza tra un driver di piattaforma Linux e un normale driver di dispositivo?