最終更新:2024-12-17 (火) 00:44:51 (199d)
Linux/GPIO
概要
歴史
Linux/dev/gpiochip
- Linux/dev/gpiochipを使ってアクセス
- libgpiodがライブラリ
- API v2: Linux 5.10~
- Linux 5.10でCONFIG_GPIO_CDEVを.configで切り替え可能に
- libgpiod v2?
- API v1: 処理自体はLinux 4.6くらいから追加
- libgpiod v1?
Linux/sys/class/gpio (Deprecated)
- CONFIG_GPIO_SYSFS
- sysfsを介してGPIOを操作
- 互換性のために残ってる感じ
ドキュメント
sysfs (CONFIG_GPIO_SYSFS)
debugfs (CONFIG_DEBUG_FS)
.config
- CONFIG_GPIOLIB
- CONFIG_DEBUG_GPIO
- CONFIG_GPIO_SYSFS
- CONFIG_KEYBOARD_GPIO
- CONFIG_I2C_GPIO?
ライブラリ
libgpiod (kernel.org)
- Linux/dev/gpiochipを使ってアクセス
gpiozero
- バックエンドが選べる
GPIOコントローラ?
- GPIO controllers have paths like Linux/sys/class/gpio/gpiochipN?
割り込み待機
カーネルの関数
参考
sysfs
- Linux/sys/devices/platform/soc/<address>.gpio/gpio/gpiochip0/
Linux 5.x
- 今まではLinux/sys/class/gpio下にアクセスすることによりGPIOを操作していたがこれが非推奨となり、gpiolibを使うのが推奨になっている
メモ
- Linux/dev/gpiomem (GPIO関連メモリ)