Tested Hardware
This library is built on topo of industry standards, but it's always good to know if anyone had success before.
- raspberry pi model 3 B+ (64 bits, 1GB ram) running fedora
- raspberry pi zero w (32 bits, 512MB ram) running rasp pi os
- LTPPxG2 with sp7021 SoC (32 bits, 512MB ram) running Yocto
- ROCK 5A (64 bits, 2GB ram), running debian
- ROCK 3C (64 bits, 2GB ram), running debian
Some hardware details follows.
Raspberry pi zero w
txt
gpiochip0 [pinctrl-bcm2835] (54 lines)txt
gpiochip0 - 54 lines:
line 0: "ID_SDA" unused input active-high
line 1: "ID_SCL" unused input active-high
line 2: "GPIO2" unused input active-high
line 3: "GPIO3" unused input active-high
line 4: "GPIO4" unused input active-high
line 5: "GPIO5" unused input active-high
line 6: "GPIO6" unused input active-high
line 7: "GPIO7" unused input active-high
line 8: "GPIO8" unused input active-high
line 9: "GPIO9" unused input active-high
line 10: "GPIO10" unused input active-high
line 11: "GPIO11" unused input active-high
line 12: "GPIO12" unused input active-high
line 13: "GPIO13" unused input active-high
line 14: "GPIO14" unused input active-high
line 15: "GPIO15" unused input active-high
line 16: "GPIO16" unused output active-high
line 17: "GPIO17" unused input active-high
line 18: "GPIO18" unused input active-high
line 19: "GPIO19" unused input active-high
line 20: "GPIO20" unused output active-high
line 21: "GPIO21" unused output active-high
line 22: "GPIO22" unused input active-high
line 23: "GPIO23" unused input active-high
line 24: "GPIO24" unused input active-high
line 25: "GPIO25" unused input active-high
line 26: "GPIO26" unused input active-high
line 27: "GPIO27" unused input active-high
line 28: "SDA0" unused input active-high
line 29: "SCL0" unused input active-high
line 30: "CTS0" unused input active-high
line 31: "RTS0" unused input active-high
line 32: "TXD0" unused input active-high
line 33: "RXD0" unused input active-high
line 34: "SD1_CLK" unused input active-high
line 35: "SD1_CMD" unused input active-high
line 36: "SD1_DATA0" unused input active-high
line 37: "SD1_DATA1" unused input active-high
line 38: "SD1_DATA2" unused input active-high
line 39: "SD1_DATA3" unused input active-high
line 40: "CAM_GPIO1" unused output active-high
line 41: "WL_ON" unused output active-high
line 42: "NC" unused input active-high
line 43: "WIFI_CLK" unused input active-high
line 44: "CAM_GPIO0" "cam1_regulator" output active-high [used]
line 45: "BT_ON" "shutdown" output active-high [used]
line 46: "HDMI_HPD_N" "hpd" input active-low [used]
line 47: "STATUS_LED_N" "ACT" output active-low [used]
line 48: "SD_CLK_R" unused input active-high
line 49: "SD_CMD_R" unused input active-high
line 50: "SD_DATA0_R" unused input active-high
line 51: "SD_DATA1_R" unused input active-high
line 52: "SD_DATA2_R" unused input active-high
line 53: "SD_DATA3_R" unused input active-hightxt
System:
Host: peewee Kernel: 6.12.25+rpt-rpi-v6 arch: armv6l bits: 32 Console: pty pts/1 Distro: Raspbian
GNU/Linux 12 (bookworm)
Machine:
Type: ARM System: Raspberry Pi Zero W Rev 1.1 details: BCM2835 rev: 9000c1
serial: 0000000036d5b361
CPU:
Info: single core model: ARMv6-compatible v6l variant: arm1176jzf-s bits: 32 type: UP
Speed (MHz): 1000 min/max: 700/1000 core: 1: 1000
Graphics:
Device-1: bcm2835-hdmi driver: vc4_hdmi v: N/A
Device-2: bcm2835-vc4 driver: vc4_drm v: N/A
Display: server: No display server data found. Headless machine? tty: 138x30
API: OpenGL Message: GL data unavailable in console. Try -G --display
Audio:
Device-1: bcm2835-hdmi driver: vc4_hdmi
API: ALSA v: k6.12.25+rpt-rpi-v6 status: kernel-api
Network:
Device-1: bcm2835-mmc driver: mmc_bcm2835
IF: wlan0 state: up mac: b8:27:eb:80:e6:34
Bluetooth:
Device-1: pl011 driver: uart_pl011
Report: hciconfig ID: hci0 state: up address: B8:27:EB:7F:19:CB bt-v: 2.1
Drives:
Local Storage: total: 30 GiB used: 2.9 GiB (9.7%)
ID-1: /dev/mmcblk0 type: Removable model: USD size: 30 GiB
Partition:
ID-1: / size: 28.99 GiB used: 2.8 GiB (9.7%) fs: ext4 dev: /dev/mmcblk0p2
Swap:
ID-1: swap-1 type: file size: 512 MiB used: 20 MiB (3.9%) file: /var/swap
Sensors:
System Temperatures: cpu: 43.3 C mobo: N/A
Fan Speeds (RPM): N/A
Info:
Processes: 96 Uptime: 2h 9m Memory: 491.7 MiB used: 171.2 MiB (34.8%) gpu: 64 MiB Init: systemd
target: multi-user (3) Shell: Bash inxi: 3.3.26Check the raspberry pi gpio pinout for more details.
Radxa rock 3c
txt
gpiochip0 [gpio0] (32 lines)
gpiochip1 [gpio1] (32 lines)
gpiochip2 [gpio2] (32 lines)
gpiochip3 [gpio3] (32 lines)
gpiochip4 [gpio4] (32 lines)
gpiochip5 [rk817-gpio] (1 lines)txt
gpiochip0 - 32 lines:
line 0: unnamed "user-led1" output active-high [used]
line 1: unnamed unused input active-high
line 2: unnamed unused output active-high
line 3: unnamed unused input active-high
line 4: unnamed unused input active-high
line 5: unnamed unused input active-high
line 6: unnamed "pcie20-3v3-regulator" output active-high [used]
line 7: unnamed unused input active-high
line 8: unnamed unused input active-high
line 9: unnamed unused input active-high
line 10: unnamed unused input active-high
line 11: unnamed "bt_default_wake_host" input active-high [used]
line 12: unnamed "bt_default_wake" input active-high [used]
line 13: unnamed unused input active-high
line 14: unnamed unused input active-high
line 15: unnamed unused input active-high
line 16: unnamed "reset" output active-low [used]
line 17: unnamed "bt_default_reset" output active-high [used]
line 18: unnamed unused input active-high
line 19: unnamed unused input active-high
line 20: unnamed unused input active-high
line 21: unnamed "vcc5v0-host-regulator" output active-high [used]
line 22: unnamed "vcc5v0-otg-regulator" output active-high [used]
line 23: unnamed unused input active-high
line 24: "PIN_10" unused input active-high
line 25: "PIN_8" unused input active-high
line 26: unnamed unused input active-high
line 27: unnamed unused input active-high
line 28: unnamed unused input active-high
line 29: unnamed unused input active-high
line 30: unnamed unused input active-high
line 31: unnamed unused input active-high
gpiochip1 - 32 lines:
line 0: "PIN_3" unused input active-high
line 1: "PIN_5" unused input active-high
line 2: unnamed unused input active-high
line 3: unnamed unused input active-high
line 4: "PIN_37" unused input active-high
line 5: unnamed unused input active-high
line 6: unnamed unused input active-high
line 7: unnamed unused input active-high
line 8: unnamed unused input active-high
line 9: unnamed unused input active-high
line 10: unnamed unused output active-high
line 11: unnamed unused input active-high
line 12: unnamed unused input active-high
line 13: unnamed unused input active-high
line 14: unnamed unused input active-high
line 15: unnamed unused input active-high
line 16: unnamed unused input active-high
line 17: unnamed unused input active-high
line 18: unnamed unused input active-high
line 19: unnamed unused input active-high
line 20: unnamed unused input active-high
line 21: unnamed unused input active-high
line 22: unnamed unused input active-high
line 23: unnamed unused input active-high
line 24: unnamed unused input active-high
line 25: unnamed unused input active-high
line 26: unnamed unused input active-high
line 27: unnamed unused input active-high
line 28: unnamed unused input active-high
line 29: unnamed unused input active-high
line 30: unnamed unused input active-high
line 31: unnamed unused input active-high
gpiochip2 - 32 lines:
line 0: unnamed unused input active-high
line 1: unnamed unused input active-high
line 2: unnamed unused input active-high
line 3: unnamed unused input active-high
line 4: unnamed unused input active-high
line 5: unnamed unused input active-high
line 6: unnamed unused input active-high
line 7: unnamed unused input active-high
line 8: unnamed unused input active-high
line 9: unnamed unused input active-high
line 10: unnamed unused input active-high
line 11: unnamed unused input active-high
line 12: unnamed unused input active-high
line 13: unnamed "bt_default_rts" input active-high [used]
line 14: unnamed unused input active-high
line 15: unnamed unused input active-high
line 16: unnamed unused input active-high
line 17: unnamed unused input active-high
line 18: unnamed unused input active-high
line 19: unnamed unused input active-high
line 20: unnamed unused input active-high
line 21: unnamed unused input active-high
line 22: unnamed unused input active-high
line 23: unnamed unused input active-high
line 24: unnamed unused input active-high
line 25: unnamed unused input active-high
line 26: unnamed unused input active-high
line 27: unnamed unused input active-high
line 28: unnamed unused input active-high
line 29: unnamed unused input active-high
line 30: unnamed unused input active-high
line 31: unnamed unused input active-high
gpiochip3 - 32 lines:
line 0: unnamed unused input active-high
line 1: "PIN_11" unused input active-high
line 2: "PIN_13" unused input active-high
line 3: "PIN_12" unused input active-high
line 4: "PIN_35" unused input active-high
line 5: "PIN_40" unused input active-high
line 6: "PIN_38" unused input active-high
line 7: "PIN_36" unused input active-high
line 8: "PIN_15" unused output active-high
line 9: "PIN_16" unused input active-high
line 10: "PIN_18" unused input active-high
line 11: "PIN_29" unused input active-high
line 12: "PIN_31" unused input active-high
line 13: unnamed unused input active-high
line 14: unnamed unused input active-high
line 15: unnamed unused input active-high
line 16: unnamed unused output active-high
line 17: "PIN_22" unused input active-high
line 18: "PIN_32" unused input active-high
line 19: "PIN_33" unused input active-high
line 20: "PIN_7" unused input active-high
line 21: unnamed unused input active-high
line 22: unnamed unused input active-high
line 23: unnamed unused input active-high
line 24: unnamed unused input active-high
line 25: unnamed unused input active-high
line 26: unnamed unused input active-high
line 27: unnamed unused input active-high
line 28: unnamed unused input active-high
line 29: unnamed unused input active-high
line 30: unnamed unused input active-high
line 31: unnamed unused input active-high
gpiochip4 - 32 lines:
line 0: unnamed unused input active-high
line 1: unnamed unused input active-high
line 2: unnamed unused input active-high
line 3: unnamed unused input active-high
line 4: unnamed unused input active-high
line 5: unnamed unused input active-high
line 6: unnamed unused input active-high
line 7: unnamed unused input active-high
line 8: unnamed unused input active-high
line 9: unnamed unused input active-high
line 10: "PIN_27" unused input active-high
line 11: "PIN_28" unused input active-high
line 12: unnamed unused input active-high
line 13: unnamed unused input active-high
line 14: unnamed unused input active-high
line 15: unnamed unused input active-high
line 16: unnamed unused input active-high
line 17: unnamed unused input active-high
line 18: "PIN_23" unused input active-high
line 19: "PIN_19" unused input active-high
line 20: unnamed "headset_gpio" input active-high [used]
line 21: "PIN_21" unused input active-high
line 22: "PIN_24" unused input active-high
line 23: unnamed unused input active-high
line 24: unnamed unused input active-high
line 25: "PIN_26" unused input active-high
line 26: unnamed unused input active-high
line 27: unnamed unused input active-high
line 28: unnamed unused input active-high
line 29: unnamed unused input active-high
line 30: unnamed unused input active-high
line 31: unnamed unused input active-high
gpiochip5 - 1 lines:
line 0: unnamed unused output active-hightxt
System: Host: rock-3c Kernel: 5.10.160-34-rk356x aarch64 bits: 64 Console: N/A Distro: Debian GNU/Linux 11 (bullseye)
Machine: Type: ARM Device System: Radxa ROCK3 Model C details: N/A serial: fd91730856bfadd8
CPU: Info: Quad Core model: N/A variant: cortex-a55 bits: 64 type: MCP
Speed: 1416 MHz min/max: 408/1416 MHz Core speeds (MHz): 1: 1416 2: 1416 3: 1416 4: 1416
Graphics: Device-1: display-subsystem driver: rockchip_drm v: N/A
Device-2: mali-bifrost driver: mali v: N/A
Device-3: rk3568-dw-hdmi driver: dwhdmi_rockchip v: N/A
Display: server: X.org 1.20.11 driver: loaded: modesetting tty: 138x28
Message: Advanced graphics data unavailable in console for root.
Audio: Device-1: rk3568-dw-hdmi driver: dwhdmi_rockchip
Device-2: simple-audio-card driver: asoc_simple_card
Device-3: simple-audio-card driver: asoc_simple_card
Sound Server: ALSA v: k5.10.160-34-rk356x
Network: Device-1: rk3568-gmac driver: rk_gmac_dwmac
IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 2a:6a:50:77:be:90
Device-2: wlan-platdata driver: wlan_platdata
Drives: Local Storage: total: 28.87 GiB used: 4.47 GiB (15.5%)
ID-1: /dev/mmcblk1 model: SD32G size: 28.87 GiB
Partition: ID-1: / size: 28.02 GiB used: 4.47 GiB (16.0%) fs: ext4 dev: /dev/mmcblk1p3
ID-2: /boot/efi size: 299.4 MiB used: 4 KiB (0.0%) fs: vfat dev: /dev/mmcblk1p2
Swap: ID-1: swap-1 type: zram size: 991.7 MiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors: System Temperatures: cpu: 37.2 C mobo: N/A
Fan Speeds (RPM): N/A
Info: Processes: 151 Uptime: 1h 23m Memory: 1.94 GiB used: 305.4 MiB (15.4%) Init: systemd runlevel: 5 Shell: Bash
inxi: 3.3.01Check the rock 3c gpio pinout for more details.