Доступные GPIO представлены на рисунках:
Контроллер GPIO в линуксе - gpiochip0:
[root@baikal_t1_uq7 ~]# mount -t debugfs debugfs /sys/kernel/debug [root@baikal_t1_uq7 ~]# cat /sys/kernel/debug/gpio gpiochip1: GPIOs 477-479, parent: platform/1f045000.gpio, 1f045000.gpio: gpio-477 ( |status ) out lo gpio-479 ( |spi0 CS0 ) out hi ACTIVE LOW gpiochip0: GPIOs 480-511, parent: platform/1f044000.gpio, 1f044000.gpio: gpio-480 ( ) gpio-481 ( ) gpio-482 (ENA_CPU_I2C_0 ) gpio-483 ( ) gpio-484 ( ) gpio-485 ( ) gpio-486 ( ) gpio-487 ( ) gpio-488 ( ) gpio-489 ( ) gpio-490 ( ) gpio-491 ( ) gpio-492 ( ) gpio-493 ( ) gpio-494 ( ) gpio-495 ( ) gpio-496 ( ) gpio-497 ( ) gpio-498 ( ) gpio-499 ( ) gpio-500 ( ) gpio-501 ( ) gpio-502 ( ) gpio-503 ( ) gpio-504 ( ) gpio-505 ( ) gpio-506 ( ) gpio-507 ( |sysfs ) out hi gpio-508 ( ) gpio-509 ( ) gpio-510 ( ) gpio-511 ( )
Например, номер пина LPC_AD2/GPIO2 рассчитывается как 480 + 26 (3V3_GPIO_26) = 506.
Пример управления через sysfs:
gpio_num=506 direction=out echo ${gpio_num} > /sys/class/gpio/export echo ${direction} > /sys/class/gpio/gpio${gpio_num}/direction echo 1 > /sys/class/gpio/gpio${gpio_num}/value
В отладке на PCIE висит Intel NIC I210 и PCI M2 диск
У Байкала только один PCI контроллер, поэтому он может работать только с одним из утройств. Второе устройство, которое висит на другом lane мешает инициализировать PCI.