ricardgb opened a new pull request, #19561:
URL: https://github.com/apache/nuttx/pull/19561
boards/rp23xx: add missing rp23xx_st7735.c LCD board glue
## Summary
The rp23xx common board sources reference `rp23xx_st7735.c` from both
`boards/arm/rp23xx/common/src/Make.defs` and `CMakeLists.txt` under
`CONFIG_LCD_ST7735`, but the file was never added. Enabling
`CONFIG_LCD_ST7735` on any rp23xx board currently fails the build on the
missing source.
This adds the file, modelled on the existing RP2040 sibling
`boards/arm/rp2040/common/src/rp2040_st7735.c` and retargeted to rp23xx/SPI1.
It implements `board_lcd_initialize()` / `board_lcd_getdev()` /
`board_lcd_uninitialize()`: brings up SPI1, claims the D/C line (shared with
the unused SPI1 RX pad, per the rp23xx common convention that
`rp23xx_spi1cmddata()` already follows), RST and BL pads as GPIO, pulses the
panel reset and binds the ST7735 driver.
No build-file changes are needed — the `Make.defs`/`CMakeLists.txt` entries
already exist; this only supplies the referenced source.
## Impact
- Fixes the build for `CONFIG_LCD_ST7735=y` on rp23xx (previously a
missing-source error).
- No change when `CONFIG_LCD_ST7735` is disabled (the whole file is under
`#ifdef CONFIG_LCD_ST7735`).
## Testing
- **Silicon:** Waveshare RP2350-LCD-0.96 (RP2350A + ST7735S 160x80 IPS). An
eight-bar RGB565 colour-bar test (red/green/blue/white/yellow/cyan/magenta/
black), painted at boot with no console interaction, renders correctly:
<!-- Drag pr-st7735-panel.jpg into the GitHub PR editor here to embed it
-->

- **Build:** `raspberrypi-pico-2:nsh` with `CONFIG_LCD=y`,
`CONFIG_LCD_ST7735=y`, `CONFIG_RP23XX_SPI=y`, `CONFIG_RP23XX_SPI1=y`,
`CONFIG_SPI_CMDDATA=y` — compiles and links clean.
- `checkpatch.sh` clean.
Note: the sibling `rp23xx_st7789.c` and `rp23xx_gc9a01.c` are similarly
referenced-but-absent in the common build files; this PR addresses st7735
only (the panel I have hardware to validate).
---
*Disclosure: developed with an AI agent (Claude Code, Anthropic) and
human-reviewed before submission.*
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]