GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿cuáles son los valores de la propiedad de interrupciones del árbol de dispositivos?

Estoy tratando de entender el árbol de dispositivos interrupts propiedad y no encuentro una buena explicación.

Por ejemplo, si hay un nodo con las siguientes líneas:

interrupt-parent = <&gpio5>;
interrupts = <9 0>;

¿Cómo averiguo cuáles son los números mágicos <9 0> ¿Se relaciona con?
¿Es una máscara de bits, número de puerto gpio, número pin, prioridad, borde o algo más?

El interrupt-parent nodo se ve así (supongo que sería similar para la mayoría de los dispositivos 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>;
};

Respuesta aceptada:

Puede obtener información de la documentación del kernel que describe la propiedad de interrupciones.

Continúa con el ejemplo del controlador de interrupciones OpenPIC que tiene 2 celdas:

La primera celda define el número de interrupción. La segunda celda define la
información de sentido y nivel.
La información de sentido y nivel debe codificarse de la siguiente manera:

  0 = low to high edge sensitive type enabled
  ...

Su caso probablemente sea similar, pero a menudo necesita que tenga un conocimiento profundo del conjunto de chips y el controlador.


Linux
  1. Use la terminal de Linux para ver qué archivos hay en su computadora

  2. ¿Qué hace que la comunidad de Linux sea especial?

  3. Linux vs Unix:¿Cuál es la diferencia?

  4. ¿Cuál es el nivel de ejecución actual del sistema Linux?

  5. ¿Qué fuentes de entropía utiliza el kernel de Linux?

¿Qué es el comando Watch de Linux + ejemplos?

¿Qué es el Shell en Linux?

Linux:¿qué fuentes de entropía utiliza el kernel de Linux?

¿Qué es el comando matar en Linux?

¿Cuáles son los diferentes tipos de shells en Linux?

¿Qué son los inodos en Linux?