![]() |
Jetson Sensor Processing Engine (SPE) Developer Guider32.6.1 Release |
GPIO application demonstrates how to access/manipulate Always On (AON) GPIOs from the SPE/AON processor. Make sure that the kernel/bootloader is not accessing these GPIOs (Usually, this can be done by modifying the device tree file) and no external module is connected to the Jetson expansion header. Compilation of this demo app can be controlled by ENABLE_GPIO_APP
flag in the soc/*/ target_specific.mk
file.
In order to access a AON GPIO from the Cortex-R5 SPE/AON; the GPIO SCR and Pinmux settings need to be updated to enable access to it as described in below steps.
scr.1549.2 = 0x1C001010; # GPIO_Z_SCR_00_0 scr.1550.2 = 0x1C001010; # GPIO_Z_SCR_01_0
tegra186-mb1-bct-pinmux-quill-p3310-1000-c03.cfg
: pinmux.0x0c303008 = 0x00000004; # can1_dout_pz0 pinmux.0x0c303010 = 0x00000058; # can1_din_pz1
In order to access a AON GPIO from the Cortex-R5 SPE/AON for Jetson AGX; the GPIO SCR, GPIO interrupt map and pinmux settings need to be updated as described in below steps.
tegra194-mb1-bct-scr-cbb-mini.cfg
: scr.41.6 = 0x18001010; # GPIO_BB_SCR_00_0 scr.42.6 = 0x18001010; # GPIO_BB_SCR_01_0
tegra194-mb1-bct-gpioint-p2888-0000-p2822-0000.cfg
: gpio-intmap.port.BB.pin.0 = 2; # GPIO BB0 to INT2 gpio-intmap.port.BB.pin.1 = 2; # GPIO BB1 to INT2
tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg
: pinmux.0x0c2f1800 = 0x00000003; # CONFIG BB0 output pinmux.0x0c303040 = 0x0000c004; # can1_stb_pbb0 pinmux.0x0c303048 = 0x0000c044; # can1_en_pbb1
In order to access a AON GPIO from the Cortex-R5 SPE/AON for Jetson NX, ENABLE_SPE_FOR_NX
flag has to be set to 1 in the target_specific.mk
file in the in the soc/t19x
. The GPIO SCR, GPIO interrupt map and pinmux settings need to be updated as described in below steps.
tegra194-mb1-bct-scr-cbb-mini-p3668.cfg
: scr.49.6 = 0x18001010; # GPIO_CC_SCR_04_0 scr.53.6 = 0x18001010; # GPIO_DD_SCR_00_0
tegra194-mb1-bct-gpioint-p3668-0001-a00.cfg
: gpio-intmap.port.CC.pin.4 = 2; # GPIO CC4 to INT2 gpio-intmap.port.DD.pin.0 = 2; # GPIO DD0 to INT2
tegra19x-mb1-pinmux-p3668-a01.cfg
: pinmux.0x0c302000 = 0x00000025; # touch_clk_pcc4: GPIO, pull-down, input-disable pinmux.0x0c302040 = 0x00000075; # gen2_i2c_sda_pdd0: i2c2, pull-down, input-enable