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