GPIO Interrupt Mapping Configuration

To reduce the interrupt hunt time for GPIO pins from an ISR, in T23x, each GPO controller has eight interrupt lines to LIC. This provides the opportunity to map the GPIO pin to any of these interrupts. The configuration is specified in the GPIO interrupt configuration file.

Each entry in the configuration file is in the following form:

gpio-intmap {
   port@<PORT-ID> {
       pin-<N>-int-line = <INTERRUPT-NUMBER>;
   };
   port@<PORT-ID> {
       pin-<N>-int-line = <INTERRUPT-NUMBER>;
   }
};

where:

  • <PORT-ID> is the port name like A, B, C..Z, AA, BB

  • <N> is the pin id in the port. Valid values are 0-7.

  • <INTERRUPT-NUMBER> is interrupt route for that pin. Valid values are 0-7.

The gpio-interrupt mapping configuration file is in the Linux_for_Tegra/bootloader/generic/BCT directory.

The DTS format example of prod config file:

/dts-v1/;

/ {
   gpio-intmap {
      port@B {
          pin-1-int-line = <0>; // GPIO B1 to INT0
      };
      port@AA {
          pin-0-int-line = <0>; // GPIO AA0 to INT0
          pin-1-int-line = <0>; // GPIO AA1 to INT0
          pin-2-int-line = <0>; // GPIO AA2 to INT0
      };
   };
};