17#ifndef __VSF_DISP_MIPI_SPI_LCD_H__
18#define __VSF_DISP_MIPI_SPI_LCD_H__
24#if VSF_USE_UI == ENABLED && VSF_DISP_USE_MIPI_SPI_LCD == ENABLED
29#if defined(__VSF_DISP_MIPI_SPI_LCD_CLASS_IMPLEMENT)
30# define __VSF_CLASS_IMPLEMENT__
43#if VSF_HAL_USE_SPI != ENABLED
44# error "need VSF_HAL_USE_SPI"
47#ifndef VSF_DISP_MIPI_SPI_LCD_SUPPORT_HARDWARE_RESET
48# define VSF_DISP_MIPI_SPI_LCD_SUPPORT_HARDWARE_RESET ENABLED
51#ifndef VSF_DISP_MIPI_SPI_LCD_USING_VSF_GPIO
52# define VSF_DISP_MIPI_SPI_LCD_USING_VSF_GPIO ENABLED
55#define VSF_DISP_MIPI_SPI_LCD_SPI_8BITS_MODE 0
56#define VSF_DISP_MIPI_SPI_LCD_SPI_9BITS_MODE 1
58#ifndef VSF_DISP_MIPI_SPI_LCD_SPI_MODE
59# define VSF_DISP_MIPI_SPI_LCD_SPI_MODE VSF_DISP_MIPI_SPI_LCD_SPI_8BITS_MODE
63#ifndef VSF_DISP_MIPI_SPI_LCD_CFG_CS_INDEX
64# define VSF_DISP_MIPI_SPI_LCD_CFG_CS_INDEX 0
68#ifndef VSF_DISP_MIPI_SPI_LCD_CFG_X_OFFSET
69# define VSF_DISP_MIPI_SPI_LCD_CFG_X_OFFSET 0
71#ifndef VSF_DISP_MIPI_SPI_LCD_CFG_Y_OFFSET
72# define VSF_DISP_MIPI_SPI_LCD_CFG_Y_OFFSET 0
75#if (VSF_DISP_MIPI_SPI_LCD_SPI_MODE != VSF_DISP_MIPI_SPI_LCD_SPI_8BITS_MODE)\
76 && (VSF_DISP_MIPI_SPI_LCD_SPI_MODE != VSF_DISP_MIPI_SPI_LCD_SPI_9BITS_MODE)
77# error "vsf_disp_mipi_spi_lcd: error spi mode"
80#if VSF_DISP_MIPI_SPI_LCD_SPI_MODE == VSF_DISP_MIPI_SPI_LCD_SPI_9BITS_MODE
81# error "TODO: support 9bit spi mode"
126#define VSF_DISP_MIPI_SPI_LCD_INITSEQ(__LCD_SEQ, ...) \
127 VSF_DISP_MIPI_LCD_INITSEQ(__LCD_SEQ, \
132#define VSF_DISP_MIPI_SPI_LCD_REFRESH_SEQ_LEN \
133 (1 + 1 + 4) + (1 + 1 + 4) + (1 + 1 + 4 + 4)
138#define VSF_DISP_ST7789V_SPI_INITSEQ(...) \
139 VSF_DISP_MIPI_SPI_LCD_INITSEQ(VSF_DISP_MIPI_LCD_ST7789V_BASE, \
152#if VSF_DISP_MIPI_SPI_LCD_USING_VSF_GPIO == ENABLED
157#if VSF_DISP_MIPI_SPI_LCD_SUPPORT_HARDWARE_RESET == ENABLED
Definition vsf_disp.h:151
Definition vsf_disp_mipi_spi_lcd.h:145
Definition vsf_disp.h:176
#define vsf_class(__name)
Definition ooc_class.h:52
unsigned short uint16_t
Definition stdint.h:7
unsigned uint32_t
Definition stdint.h:9
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_disp.h:146
Definition vsf_template_gpio.h:844
SPI instance structure, used for SPI Multi Class support, not needed in non Multi Class mode.
Definition vsf_template_spi.h:1131
bool vsf_disp_mipi_spi_lcd_wait_te_line_ready(vk_disp_mipi_spi_lcd_t *disp_mipi_spi_lcd)
Definition vsf_disp_mipi_spi_lcd.c:125
#define VSF_DISP_MIPI_SPI_LCD_REFRESH_SEQ_LEN
Definition vsf_disp_mipi_spi_lcd.h:132
const vk_disp_drv_t vk_disp_drv_mipi_spi_lcd
Definition vsf_disp_mipi_spi_lcd.c:110
void vsf_disp_mipi_te_line_ready(vk_disp_mipi_spi_lcd_t *disp_mipi_spi_lcd)
Definition vsf_disp_mipi_spi_lcd.c:119
void vsf_disp_mipi_spi_lcd_cs_inactive(vk_disp_mipi_spi_lcd_t *disp_mipi_spi_lcd)
Definition vsf_disp_mipi_spi_lcd.c:185
void vsf_disp_mipi_spi_lcd_cs_active(vk_disp_mipi_spi_lcd_t *disp_mipi_spi_lcd)
Chip-select control (weak, override for GPIO CS or custom index). Default implementation uses vsf_spi...
Definition vsf_disp_mipi_spi_lcd.c:179