AON GPIO controller vs Main GPIO controller

Hi, I’m extremely new to this, and I was wondering if someone could explain to me the difference between the “AON” GPIO controller and the “Main” GPIO controller refereed to in tegra186-gpio.h? Is the AON GPIO controller implemented by the P2597 base board and the Main GPIO controller implemented by the P3310 main board, or are those two separate issues that I am mixing up? Thanks.

hello ben.bole,

you could check it via kernel init messages,
for example,

$ dmesg | grep gpio
[    0.963925] gpiochip_setup_dev: registered GPIOs 320 to 511 on device: gpiochip0 (tegra-gpio)
[    0.982963] gpiochip_setup_dev: registered GPIOs 256 to 319 on device: gpiochip1 (tegra-gpio-aon)
[    1.126281] gpiochip_setup_dev: registered GPIOs 240 to 255 on device: gpiochip2 (tca9539)
[    1.147492] gpiochip_setup_dev: registered GPIOs 224 to 239 on device: gpiochip3 (tca9539)

suggest you also refer to below kernel sources for GPIO controllers.
$l4t-r32.2/kenel_src/kernel/kernel-4.9/include/dt-bindings/gpio/tegra186-gpio.h