Skip to content

{bp-19561} boards/rp23xx: add missing rp23xx_st7735.c LCD board glue - #19654

Merged
xiaoxiang781216 merged 1 commit into
apache:releases/13.0from
jerpelea:bp-19561
Aug 3, 2026
Merged

{bp-19561} boards/rp23xx: add missing rp23xx_st7735.c LCD board glue#19654
xiaoxiang781216 merged 1 commit into
apache:releases/13.0from
jerpelea:bp-19561

Conversation

@jerpelea

@jerpelea jerpelea commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

The rp23xx common board sources reference rp23xx_st7735.c from both Make.defs and CMakeLists.txt under CONFIG_LCD_ST7735, but the file was never added. Enabling CONFIG_LCD_ST7735 on any rp23xx board therefore fails the build on the missing source.

Add 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() and board_lcd_uninitialize(): bring up SPI1, claim the D/C (shared with the unused SPI1 RX pad, per the rp23xx common convention), RST and BL pads as GPIO, pulse the panel reset and bind the ST7735 driver.

Validated on silicon on a Waveshare RP2350-LCD-0.96 (RP2350A + ST7735S 160x80 IPS): the panel powers up and displays correctly, painted at boot with no console interaction. Build-tested raspberrypi-pico-2:nsh with CONFIG_LCD_ST7735=y (compiles and links).

Impact

RELEASE

Testing

CI

The rp23xx common board sources reference rp23xx_st7735.c from both
Make.defs and CMakeLists.txt under CONFIG_LCD_ST7735, but the file was
never added.  Enabling CONFIG_LCD_ST7735 on any rp23xx board therefore
fails the build on the missing source.

Add 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()
and board_lcd_uninitialize(): bring up SPI1, claim the D/C (shared with
the unused SPI1 RX pad, per the rp23xx common convention), RST and BL
pads as GPIO, pulse the panel reset and bind the ST7735 driver.

Validated on silicon on a Waveshare RP2350-LCD-0.96 (RP2350A + ST7735S
160x80 IPS): the panel powers up and displays correctly, painted at boot
with no console interaction.  Build-tested raspberrypi-pico-2:nsh with
CONFIG_LCD_ST7735=y (compiles and links).

Assisted-by: Claude (Anthropic Claude Code)
Signed-off-by: Ricard Rosson <ricard@groundbits.com>
@github-actions github-actions Bot added Size: M The size of the change in this PR is medium Board: arm labels Aug 3, 2026
@xiaoxiang781216
xiaoxiang781216 merged commit 77996d7 into apache:releases/13.0 Aug 3, 2026
17 of 41 checks passed
@jerpelea
jerpelea deleted the bp-19561 branch August 4, 2026 06:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Board: arm Size: M The size of the change in this PR is medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants