Skip to content

Commit 68078d0

Browse files
author
Christoph Schnetzler
committed
drivers: mipi_dbi: add mipi_dbi_rpi_pico_pio
Add mipi_dbi driver for MIPI_DBI_MODE_8080_BUS_8/9/16_BIT using PIO and DMA Signed-off-by: Christoph Schnetzler <schnetzler.christoph@gmail.com>
1 parent 98ba754 commit 68078d0

File tree

5 files changed

+597
-0
lines changed

5 files changed

+597
-0
lines changed

drivers/mipi_dbi/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ zephyr_sources_ifdef(CONFIG_MIPI_DBI_NXP_LCDIC mipi_dbi_nxp_lcdic.c)
99
zephyr_sources_ifdef(CONFIG_MIPI_DBI_NXP_FLEXIO_LCDIF mipi_dbi_nxp_flexio_lcdif.c)
1010
zephyr_sources_ifdef(CONFIG_MIPI_DBI_NXP_DCNANO_LCDIF mipi_dbi_nxp_dcnano_lcdif.c)
1111
zephyr_sources_ifdef(CONFIG_MIPI_DBI_STM32_FMC mipi_dbi_stm32_fmc.c)
12+
zephyr_sources_ifdef(CONFIG_MIPI_DBI_RPI_PICO_PIO mipi_dbi_rpi_pico_pio.c)
1213
# Data bus width is used by the SDK driver and processes it as a compile time option
1314
if(CONFIG_MIPI_DBI_NXP_FLEXIO_LCDIF)
1415
dt_chosen(flexio0_lcd PROPERTY "zephyr,display")

drivers/mipi_dbi/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,6 @@ source "drivers/mipi_dbi/Kconfig.nxp_lcdic"
2828
source "drivers/mipi_dbi/Kconfig.nxp_flexio_lcdif"
2929
source "drivers/mipi_dbi/Kconfig.stm32_fmc"
3030
source "drivers/mipi_dbi/Kconfig.nxp_dcnano_lcdif"
31+
source "drivers/mipi_dbi/Kconfig.rpi_pico"
3132

3233
endif

drivers/mipi_dbi/Kconfig.rpi_pico

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Copyright 2025 Christoph Schnetzler
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config MIPI_DBI_RPI_PICO_PIO
5+
bool "MIPI DBI driver using PIO"
6+
default y
7+
depends on DT_HAS_RASPBERRYPI_PICO_MIPI_DBI_PIO_ENABLED
8+
select GPIO
9+
select PICOSDK_USE_PIO
10+
select PICOSDK_USE_DMA
11+
help
12+
Enable support for MIPI DBI driver. This driver implements
13+
a MIPI-DBI mode B compatible controller using PIO and DMA.
14+
15+
config MIPI_DBI_RPI_PICO_PIO_CLOCK_DIV
16+
int "Clock divisor for PIO state machine"
17+
default 1
18+
range 1 65536
19+
help
20+
Rather than slowing the system clock itself, the clock divider redefines how many system clock periods are considered
21+
to be "one cycle", for execution purposes.

0 commit comments

Comments
 (0)