ExplorationSystems / opengpio

3 stars 2 forks source link

Feature/raspberry devices #5

Closed Tom-Hirschberger closed 6 months ago

Tom-Hirschberger commented 6 months ago

I will try to add the device definitions of:

Tom-Hirschberger commented 6 months ago

The current data structure only supports GPIOs accessible through pins on the board.

The boards starting with RaspberryPi 3B have GPIOs which might be accessible by software but do not have a pin.

How should I handle this?

The following output of gpioonfo of the RaspberryPi 2B shows some examples...

gpiochip0 - 54 lines:
    line   0:     "ID_SDA"       unused   input  active-high 
    line   1:     "ID_SCL"       unused   input  active-high 
    line   2:       "SDA1"       unused   input  active-high 
    line   3:       "SCL1"       unused   input  active-high 
    line   4:  "GPIO_GCLK"       unused   input  active-high 
    line   5:      "GPIO5"       unused   input  active-high 
    line   6:      "GPIO6"       unused   input  active-high 
    line   7:  "SPI_CE1_N"       unused   input  active-high 
    line   8:  "SPI_CE0_N"       unused   input  active-high 
    line   9:   "SPI_MISO"       unused   input  active-high 
    line  10:   "SPI_MOSI"       unused   input  active-high 
    line  11:   "SPI_SCLK"       unused   input  active-high 
    line  12:     "GPIO12"       unused   input  active-high 
    line  13:     "GPIO13"       unused   input  active-high 
    line  14:       "TXD1"       unused   input  active-high 
    line  15:       "RXD1"       unused   input  active-high 
    line  16:     "GPIO16"       unused   input  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   input  active-high 
    line  21:     "GPIO21"       unused   input  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:         "NC"       unused   input  active-high 
    line  29: "LAN_RUN_BOOT" 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:   "PWM0_OUT"       unused   input  active-high 
    line  41:   "PWM1_OUT"       unused   input  active-high 
    line  42:    "ETH_CLK"       unused   input  active-high 
    line  43:   "WIFI_CLK"       unused   input  active-high 
    line  44:       "SDA0"       unused   input  active-high 
    line  45:       "SCL0"       unused   input  active-high 
    line  46:   "SMPS_SCL"       unused   input  active-high 
    line  47:   "SMPS_SDA"       unused  output  active-high 
    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-high 
gpiochip1 - 2 lines:
    line   0:      unnamed        "ACT"  output  active-high [used]
    line   1:      unnamed       unused   input  active-high 
gpiochip2 - 8 lines:
    line   0:      "BT_ON"       unused  output  active-high 
    line   1:      "WL_ON"       unused  output  active-high 
    line   2: "STATUS_LED"       unused  output  active-high 
    line   3:    "LAN_RUN"       unused  output  active-high 
    line   4: "HDMI_HPD_N"        "hpd"   input   active-low [used]
    line   5:  "CAM_GPIO0" "cam1_regulator" output active-high [used]
    line   6:  "CAM_GPIO1"       unused  output  active-high 
    line   7:  "PWR_LOW_N"        "PWR"   input  active-high [used]
Tom-Hirschberger commented 6 months ago

Added all physical pin GPIOs of all RaspberryPi device i own. Its always GPIO0 to GPIO27 on different chips but mostly the same lanes. I added the aliases of the GPIOs (like SDA1 for GPIO2), too.

All GPIOs without physical board pins are missing at the moment.

kueckermann commented 6 months ago

Thanks @Tom-Hirschberger.