Benutzer-Werkzeuge

Webseiten-Werkzeuge



bpi-r64:gpio

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
bpi-r64:gpio [2019/02/23 10:52] – [GPIO] frankbpi-r64:gpio [2023/06/08 17:06] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== GPIO ======
 +[[bpi-r2:gpio|BPI-R2-GPIO]]
 +===== Pin-Belegung =====
  
 +{{http://wiki.banana-pi.org/images/1/1d/R64_gpio_40.jpg|}}
 +
 +
 +^ Nebenfunktion ^ Hauptfunktion ^ pin# ^ xxxxxxxxxxxxxxxxxxxxx ^ pin# ^ Hauptfunktion  ^ Nebenfunktion ^
 +|              |            |    | {{ :bpi-r2:gpio_farbig.png?nolink |}} |    |              |              |
 +| | +3V3 |    |  ::: |  2   | +5V |  |
 +| GPIO 56 # | I2C1_SDA |    |  ::: |  4   | +5V |  |
 +| GPIO 55 # | I2C1_SCL |    |  ::: |  6   | GND |  |
 +| GPIO101 | PWM 7 |    |  ::: |  8   | UART0-TX | GPIO 59 # |
 +| | GND |    |  ::: |  10  | UART0-RX | GPIO 60 # |
 +| GPIO 51 # | PWM1 / UART1-TX  |  11  |  ::: |  12  |  |  |
 +| GPIO 52 # | PWM2 / UART1-RX |  13  |  ::: |  14  | GND |  |
 +| GPIO 98 # | |  15  |  ::: |  16  |  | GPIO 61 # |
 +| | +3V3 |  17  |  ::: |  18  |  | GPIO 62 # |
 +| GPIO 68 # | PWM5 / SPI1 MOSI |  19  |  ::: |  20  | GND |  |
 +| GPIO 69 | PWM6 / SPI1 MISO |  21  |  ::: |  22  | SPI0 CLK | GPIO 63 |
 +| GPIO 67 | PWM4 / SPI1 CLK |  23  |  ::: |  24  | SPI1 CS | GPIO 70 |
 +| | GND |  25  |  ::: |  26  | SPI0 CS | GPIO 66 |
 +| GPIO 58 | I2C2 SDA |  27  |  ::: |  28  | I2C2 SCL | GPIO 57 |
 +| GPIO 85 | |  29  |  ::: |  30  | GND |  |
 +| GPIO 82 | SPI0 MOSI|  31  |  ::: |  32  | SPI0 MOSI | GPIO 64 |
 +| | |  33  |  ::: |  34  | GND |  |
 +| | |  35  |  ::: |  36  | SPI0 MISO | GPIO 65 |
 +| GPIO 86 | |  37  |  ::: |  38  | I2S IN |  |
 +| | GND |  39  |  ::: |  40  | I2S OUT |  |
 +| |   | ::: | | | |
 +
 +(# verified gpio working, 101 is blocked by pwm)
 +
 +  * uart0 (dts) => Debug-Uart
 +  * uart1 (dts) => undefined => mt7622_uart2_2_tx_rx_pins (59/60)
 +  * uart2 (dts) => uart1 (gpio) => mt7622_uart2_1_tx_rx_pins (51/52)
 +
 +
 +===== Kernel 4.19 =====
 +
 +<code>
 +root@bpi-iot-ros-ai:~# cat /sys/kernel/debug/pinctrl/10211000.pinctrl-pinctrl_mt7622/gpio-ranges
 +GPIO ranges handled:
 +0: pinctrl_mt7622 GPIOS [409 - 511] PINS [0 - 102]
 +root@bpi-iot-ros-ai:~# GPIO_NO=$((409+56))
 +root@bpi-iot-ros-ai:~# echo $GPIO_NO
 +465
 +root@bpi-iot-ros-ai:~# echo $GPIO_NO > /sys/class/gpio/export
 +
 +-bash: echo: write error: Invalid argument => blocked by i2c1
 +
 +#if i2c1 is disabled in dts:
 +root@bpi-r64:~# echo $GPIO_NO > /sys/class/gpio/export                          
 +root@bpi-r64:~# echo out > /sys/class/gpio/gpio${GPIO_NO}/direction             
 +root@bpi-r64:~# echo 1 > /sys/class/gpio/gpio${GPIO_NO}/value #led goes on
 +root@bpi-r64:~# echo 0 > /sys/class/gpio/gpio${GPIO_NO}/value #led goes off
 +</code>
 +
 +Die sysfs Schnittstelle (/sys/class/gpio/...) benötigt die kernel-option CONFIG_GPIO_SYSFS
 +
 +==== uart ====
 +
 +der debug-Uart ist in der DTS uart0. Der vorhandene uart2 ist scheinbar uart1 der gpio-Leiste...uart1 ist aktuell nicht definiert.