====== VIM3/3L GPIO mainline Linux ======
WIP: collect information 
We can control any GPIO from this table by **NUM** via /sys/class/gpio/gpio**NUM**
===== Header PinOut =====
^  GPIO num ^ Name                     ^ Pin  ^ Pin  ^ Name                      ^ GPIO num  ^
|           | 5V   |  1   |  21  | **GND**                   |           |
|           | 5V   |  2   |  22  | A_15  | 491       |
|           | USB_DM                   |  3   |  23  | A_14                      | 490       |
|           | USB_DP                   |  4   |  24  | **GND**                   |           |
|           | **GND**                  |  5   |  25  | AO_2                      | 414       |
|           | MCU3V3                   |  6   |  26  | AO_3                      | 415       |
|           | MCUNRST                  |  7   |  27  | 3v3   |           |
|           | MCUSWIM                  |  8   |  28  | **GND**                   |           |
|           | **GND**                  |  9   |  29  | A_1                       | 477       |
|           | ADC0                     |  10  |  30  | A_0                       | 476       |
|           | 1v8  |  11  |  31  | A_3                       | 479       |
|           | ADC1                     |  12  |  32  | A_2                       | 478       |
|       422 | AO_10                    |  13  |  33  | A_4                       | 480       |
|           | **GND**                  |  14  |  34  | **GND**                   |           |
|       449 | H_6                      |  15  |  35  | PWM-F                     | 448       |
|       450 | H_7                      |  16  |  36  | RTC                       |           |
|           | **GND**                  |  17  |  37  | H_4                       | 447       |
|       413 | UART AO_1                |  18  |  38  | MCU-FA1                   |           |
|       412 | UART AO_0                |  19  |  39  | Z_15                      | XXX       |
|           | 3v3  |  20  |  40  | **GND**                   |           |
```shell gpio-banks
~# grep "" /sys/class/gpio/gpiochip*/*
/sys/class/gpio/gpiochip404/base:404
/sys/class/gpio/gpiochip404/label:0-0020
/sys/class/gpio/gpiochip404/ngpio:8
/sys/class/gpio/gpiochip412/base:412
/sys/class/gpio/gpiochip412/label:aobus-banks
/sys/class/gpio/gpiochip412/ngpio:15
/sys/class/gpio/gpiochip427/base:427
/sys/class/gpio/gpiochip427/label:periphs-banks
/sys/class/gpio/gpiochip427/ngpio:85
```
```c meson-g12a-gpio.h 
/* First GPIO chip */
#define GPIOAO_0	0
#define GPIOAO_1	1
#define GPIOAO_2	2
#define GPIOAO_3	3
#define GPIOAO_4	4
#define GPIOAO_5	5
#define GPIOAO_6	6
#define GPIOAO_7	7
#define GPIOAO_8	8
#define GPIOAO_9	9
#define GPIOAO_10	10
#define GPIOAO_11	11
#define GPIOE_0		12
#define GPIOE_1		13
#define GPIOE_2		14
/* Second GPIO chip */
#define GPIOZ_0		0
#define GPIOZ_1		1
#define GPIOZ_2		2
#define GPIOZ_3		3
#define GPIOZ_4		4
#define GPIOZ_5		5
#define GPIOZ_6		6
#define GPIOZ_7		7
#define GPIOZ_8		8
#define GPIOZ_9		9
#define GPIOZ_10	10
#define GPIOZ_11	11
#define GPIOZ_12	12
#define GPIOZ_13	13
#define GPIOZ_14	14
#define GPIOZ_15	15
#define GPIOH_0		16
#define GPIOH_1		17
#define GPIOH_2		18
#define GPIOH_3		19
#define GPIOH_4		20
#define GPIOH_5		21
#define GPIOH_6		22
#define GPIOH_7		23
#define GPIOH_8		24
#define BOOT_0		25
#define BOOT_1		26
#define BOOT_2		27
#define BOOT_3		28
#define BOOT_4		29
#define BOOT_5		30
#define BOOT_6		31
#define BOOT_7		32
#define BOOT_8		33
#define BOOT_9		34
#define BOOT_10		35
#define BOOT_11		36
#define BOOT_12		37
#define BOOT_13		38
#define BOOT_14		39
#define BOOT_15		40
#define GPIOC_0		41
#define GPIOC_1		42
#define GPIOC_2		43
#define GPIOC_3		44
#define GPIOC_4		45
#define GPIOC_5		46
#define GPIOC_6		47
#define GPIOC_7		48
#define GPIOA_0		49
#define GPIOA_1		50
#define GPIOA_2		51
#define GPIOA_3		52
#define GPIOA_4		53
#define GPIOA_5		54
#define GPIOA_6		55
#define GPIOA_7		56
#define GPIOA_8		57
#define GPIOA_9		58
#define GPIOA_10	59
#define GPIOA_11	60
#define GPIOA_12	61
#define GPIOA_13	62
#define GPIOA_14	63
#define GPIOA_15	64
#define GPIOX_0		65
#define GPIOX_1		66
#define GPIOX_2		67
#define GPIOX_3		68
#define GPIOX_4		69
#define GPIOX_5		70
#define GPIOX_6		71
#define GPIOX_7		72
#define GPIOX_8		73
#define GPIOX_9		74
#define GPIOX_10	75
#define GPIOX_11	76
#define GPIOX_12	77
#define GPIOX_13	78
#define GPIOX_14	79
#define GPIOX_15	80
#define GPIOX_16	81
#define GPIOX_17	82
#define GPIOX_18	83
#define GPIOX_19	84
```