GPIO Mapping on the Nano

I am trying to identify the sysfs numbers for the GPIOs on the nano but the equation doesn’t appear to work.

GPIO export value =offset+ (port number* 8 + pin value) used with the nano pinmux spreadsheet.

For example if I wanted to find GPIO03 (pin 126 on the module), the pinmux tells me this is GPIO03.PI.02. When I use this in the equation I get 386. 320+(8x8+2)

This isn’t a gpio in the nano software. Can you help me identify the follow GPIO sysfs on the Nano?

GPIO02 (nano pin 124)
GPIO03 (nano pin 126)
GPIO04 (nano pin 127)
GPIO07 (nano pin 206)
GPIO09 (nano pin 211)

Thank you.

Hi,thopkins

You can find the mapping relationship of GPIO in the kernel source code.

<PATH>/sources/kernel/kernel-4.9/include/dt-bindings/gpio/tegra-gpio.h
#define TEGRA_GPIO_PORT_A 0
#define TEGRA_GPIO_PORT_B 1
#define TEGRA_GPIO_PORT_C 2
#define TEGRA_GPIO_PORT_D 3
#define TEGRA_GPIO_PORT_E 4
#define TEGRA_GPIO_PORT_F 5
#define TEGRA_GPIO_PORT_G 6
<b>#define TEGRA_GPIO_PORT_H 7</b>
#define TEGRA_GPIO_PORT_I 8
#define TEGRA_GPIO_PORT_J 9
#define TEGRA_GPIO_PORT_K 10
#define TEGRA_GPIO_PORT_L 11
#define TEGRA_GPIO_PORT_M 12
#define TEGRA_GPIO_PORT_N 13
#define TEGRA_GPIO_PORT_O 14
#define TEGRA_GPIO_PORT_P 15
#define TEGRA_GPIO_PORT_Q 16
#define TEGRA_GPIO_PORT_R 17
#define TEGRA_GPIO_PORT_S 18
#define TEGRA_GPIO_PORT_T 19
#define TEGRA_GPIO_PORT_U 20
#define TEGRA_GPIO_PORT_V 21
#define TEGRA_GPIO_PORT_W 22
#define TEGRA_GPIO_PORT_X 23
#define TEGRA_GPIO_PORT_Y 24
#define TEGRA_GPIO_PORT_Z 25
#define TEGRA_GPIO_PORT_AA 26
#define TEGRA_GPIO_PORT_BB 27
#define TEGRA_GPIO_PORT_CC 28
#define TEGRA_GPIO_PORT_DD 29
#define TEGRA_GPIO_PORT_EE 30
#define TEGRA_GPIO_PORT_FF 31

#define TEGRA_GPIO(port, offset) \
	((TEGRA_GPIO_PORT_##port * 8) + offset)

Pinmux spreadsheet tells us that GPIO02 corresponds to GPIO3_PH.06.
So, we can identify its GPIO sysfs is 62(7*8+6).