kashimAstro / ofxGPIO

Library C++ for raspberrypi and orangepi, GPIO interfaces compatible with openframeworks.
MIT License
191 stars 44 forks source link

doesnt seems to work with RPi5 Bookworm 0F12.0 arch64 #37

Open siteswapjuggler opened 11 months ago

siteswapjuggler commented 11 months ago

As for now I just try to make the simple button it compile well but the app doesn't return any result on GPIO17 I need to investigate more.

siteswapjuggler commented 11 months ago

Ok so the library seems based on the linux file system tree which is not the same anymore with RPi5. Next step is to investigate on the new file system.

siteswapjuggler commented 11 months ago

cat /sys/kernel/debug/gpio gives us the pinmap association:

 gpio-399 (ID_SD               )
 gpio-400 (ID_SC               )
 gpio-401 (PIN3                )
 gpio-402 (PIN5                )
 gpio-403 (PIN7                )
 gpio-404 (PIN29               )
 gpio-405 (PIN31               )
 gpio-406 (PIN26               )
 gpio-407 (PIN24               )
 gpio-408 (PIN21               )
 gpio-409 (PIN19               )
 gpio-410 (PIN23               )
 gpio-411 (PIN32               )
 gpio-412 (PIN33               )
 gpio-413 (PIN8                )
 gpio-414 (PIN10               )
 gpio-415 (PIN36               )
 gpio-416 (PIN11               )
 gpio-417 (PIN12               )
 gpio-418 (PIN35               )
 gpio-419 (PIN38               )
 gpio-420 (PIN40               )
 gpio-421 (PIN15               )
 gpio-422 (PIN16               )
 gpio-423 (PIN18               )
 gpio-424 (PIN22               )
 gpio-425 (PIN37               )
 gpio-426 (PIN13               )
 gpio-427 (PCIE_RP1_WAKE       )
 gpio-428 (FAN_TACH            )
 gpio-429 (HOST_SDA            )
 gpio-430 (HOST_SCL            )
 gpio-431 (ETH_RST_N           |phy-reset           ) out hi ACTIVE LOW
 gpio-432 (-                   )
 gpio-433 (CD0_IO0_MICCLK      |cam0_reg            ) out lo 
 gpio-434 (CD0_IO0_MICDAT0     )
 gpio-435 (RP1_PCIE_CLKREQ_N   )
 gpio-436 (-                   )
 gpio-437 (CD0_SDA             )
 gpio-438 (CD0_SCL             )
 gpio-439 (CD1_SDA             )
 gpio-440 (CD1_SCL             )
 gpio-441 (USB_VBUS_EN         )
 gpio-442 (USB_OC_N            )
 gpio-443 (RP1_STAT_LED        |PWR                 ) out hi ACTIVE LOW
 gpio-444 (FAN_PWM             )
 gpio-445 (CD1_IO0_MICCLK      |cam1_reg            ) out lo 
 gpio-446 (2712_WAKE           )
 gpio-447 (CD1_IO1_MICDAT1     )
 gpio-448 (EN_MAX_USB_CUR      )
 gpio-449 (-                   )
 gpio-450 (-                   )
 gpio-451 (-                   )
 gpio-452 (-                   )

gpiochip3: GPIOs 453-458, parent: platform/107d517c00.gpio, gpio-brcmstb@107d517c20:
 gpio-453 (HDMI0_SCL           )
 gpio-454 (HDMI0_SDA           )
 gpio-455 (HDMI1_SCL           )
 gpio-456 (HDMI1_SDA           )
 gpio-457 (PMIC_SCL            )
 gpio-458 (PMIC_SDA            )

gpiochip2: GPIOs 459-475, parent: platform/107d517c00.gpio, gpio-brcmstb@107d517c00:
 gpio-459 (RP1_SDA             )
 gpio-460 (RP1_SCL             )
 gpio-461 (RP1_RUN             |RP1 RUN pin         ) out hi 
 gpio-462 (SD_IOVDD_SEL        |vdd-sd-io           ) out hi 
 gpio-463 (SD_PWR_ON           |sd_vcc_reg          ) out hi 
 gpio-464 (SD_CDET_N           )
 gpio-465 (SD_FLG_N            )
 gpio-466 (-                   )
 gpio-467 (2712_WAKE           )
 gpio-468 (2712_STAT_LED       |ACT                 ) out hi ACTIVE LOW
 gpio-469 (-                   )
 gpio-470 (-                   )
 gpio-471 (PMIC_INT            )
 gpio-472 (UART_TX_FS          )
 gpio-473 (UART_RX_FS          )
 gpio-474 (-                   )
 gpio-475 (-                   )

gpiochip1: GPIOs 476-479, parent: platform/107d508500.gpio, gpio-brcmstb@107d508520:
 gpio-476 (WIFI_SDIO_D0        )
 gpio-477 (WIFI_SDIO_D1        )
 gpio-478 (WIFI_SDIO_D2        )
 gpio-479 (WIFI_SDIO_D3        )

gpiochip0: GPIOs 480-511, parent: platform/107d508500.gpio, gpio-brcmstb@107d508500:
 gpio-480 (-                   )
 gpio-481 (2712_BOOT_CS_N      |spi10 CS0           ) out hi ACTIVE LOW
 gpio-482 (2712_BOOT_MISO      )
 gpio-483 (2712_BOOT_MOSI      )
 gpio-484 (2712_BOOT_SCLK      )
 gpio-485 (-                   )
 gpio-486 (-                   )
 gpio-487 (-                   )
 gpio-488 (-                   )
 gpio-489 (-                   )
 gpio-490 (-                   )
 gpio-491 (-                   )
 gpio-492 (-                   )
 gpio-493 (-                   )
 gpio-494 (PCIE_SDA            )
 gpio-495 (PCIE_SCL            )
 gpio-496 (-                   )
 gpio-497 (-                   )
 gpio-498 (-                   )
 gpio-499 (-                   )
 gpio-500 (PWR_GPIO            |pwr_button          ) in  hi ACTIVE LOW
 gpio-501 (2712_G21_FS         )
 gpio-502 (-                   )
 gpio-503 (-                   )
 gpio-504 (BT_RTS              )
 gpio-505 (BT_CTS              )
 gpio-506 (BT_TXD              )
 gpio-507 (BT_RXD              )
 gpio-508 (WL_ON               |wl_on_reg           ) out hi 
 gpio-509 (BT_ON               |shutdown            ) out hi 
 gpio-510 (WIFI_SDIO_CLK       )
 gpio-511 (WIFI_SDIO_CMD       )

So basically PIN3 which is GPIO2 in the RPi pinout is now accessible via GPIO401...

As low number GPIO are not used anymore it's very strange for RPi fundation to not have linked them to the new numbers... but well perhaps it'll come in a future update...