display

[English]

概述

Display模块提供统一的显示控制器管理接口

参考工程:

DISPLAY API Reference

Header File

Functions

avdk_err_t bk_display_open(bk_display_ctlr_handle_t handle)

Open display controller.

参数

handle – Display controller handle

返回

Operation result, AVDK_ERR_OK indicates success

avdk_err_t bk_display_close(bk_display_ctlr_handle_t handle)

Close display controller.

参数

handle – Display controller handle

返回

Operation result, AVDK_ERR_OK indicates success

avdk_err_t bk_display_delete(bk_display_ctlr_handle_t handle)

Delete display controller.

参数

handle – Display controller handle

返回

Operation result, AVDK_ERR_OK indicates success

avdk_err_t bk_display_flush(bk_display_ctlr_handle_t handle, frame_buffer_t *frame, bk_err_t (*free_t)(void *args))

Flush display content.

参数
  • handle – Display controller handle

  • frame – Frame data to be displayed

  • free_t – Frame data release callback function

返回

Operation result, AVDK_ERR_OK indicates success

avdk_err_t bk_display_ioctl(bk_display_ctlr_handle_t handle, uint32_t cmd, void *arg)

Control IO operations of display controller.

参数
  • handle – Display controller handle

  • cmd – IO control command

  • param – Command data

返回

Operation result, AVDK_ERR_OK indicates success

avdk_err_t bk_display_mcu_new(bk_display_ctlr_handle_t *handle, bk_display_mcu_ctlr_config_t *config)

Create MCU display controller.

参数
  • handle – Output parameter, used to store the created display controller handle

  • config – MCU display controller configuration parameters

返回

Operation result, AVDK_ERR_OK indicates success

avdk_err_t bk_display_rgb_new(bk_display_ctlr_handle_t *handle, bk_display_rgb_ctlr_config_t *config)

Create RGB display controller.

参数
  • handle – Output parameter, used to store the created display controller handle

  • config – RGB display controller configuration parameters

返回

Operation result, AVDK_ERR_OK indicates success

avdk_err_t bk_display_spi_new(bk_display_ctlr_handle_t *handle, bk_display_spi_ctlr_config_t *config)

Create SPI display controller.

参数
  • handle – Output parameter, used to store the created display controller handle

  • config – SPI display controller configuration parameters

返回

Operation result, AVDK_ERR_OK indicates success

avdk_err_t bk_display_qspi_new(bk_display_ctlr_handle_t *handle, bk_display_qspi_ctlr_config_t *config)

Create QSPI display controller.

参数
  • handle – Output parameter, used to store the created display controller handle

  • config – QSPI display controller configuration parameters

返回

Operation result, AVDK_ERR_OK indicates success

avdk_err_t bk_display_dual_qspi_new(bk_display_ctlr_handle_t *handle, bk_display_dual_qspi_ctlr_config_t *config)

Create Dual QSPI display controller.

参数
  • handle – Output parameter, used to store the created display controller handle

  • config – Dual QSPI display controller configuration parameters

返回

Operation result, AVDK_ERR_OK indicates success

avdk_err_t bk_display_dual_spi_new(bk_display_ctlr_handle_t *handle, bk_display_dual_spi_ctlr_config_t *config)

Create Dual SPI display controller.

参数
  • handle – Output parameter, used to store the created display controller handle

  • config – Dual SPI display controller configuration parameters

返回

Operation result, AVDK_ERR_OK indicates success

DISPLAY Typedefs

Header File

Structures

struct bk_display_rgb_ctlr_config_t

RGB display controller configuration structure.

Used to configure LCD display controller with RGB interface, including device name, LCD device information and SPI IO configuration

Public Members

const lcd_device_t *lcd_device

LCD device configuration structure pointer, containing display parameters and initialization commands

int8_t clk_pin

spi clk io pin

int8_t cs_pin

cs io pin

int8_t sda_pin

sda io pin

int8_t rst_pin

lcd reset io pin

struct bk_display_mcu_ctlr_config_t

MCU display controller configuration structure.

Used to configure LCD display controller with MCU interface, including device name and LCD device information

Public Members

const lcd_device_t *lcd_device

LCD device configuration structure pointer, containing display parameters and initialization commands

int8_t te_pin

lcd te io pin

struct bk_display_qspi_ctlr_config_t

Public Members

const lcd_device_t *lcd_device

LCD device configuration structure pointer, containing display parameters and initialization commands

uint8_t qspi_id

qspi_id

uint8_t reset_pin

qspi reset io pin

uint8_t te_pin

qspi te io pin

struct bk_display_spi_ctlr_config_t

Public Members

const lcd_device_t *lcd_device

LCD device configuration structure pointer, containing display parameters and initialization commands

uint8_t spi_id

spi_id

uint8_t dc_pin

spi dc io pin

uint8_t reset_pin

spi reset io pin

uint8_t te_pin

spi te io pin

struct bk_display_dual_qspi_ctlr_config_t
struct bk_display_dual_spi_ctlr_config_t
struct bk_display_ctlr

Type Definitions

typedef struct bk_display_ctlr *bk_display_ctlr_handle_t

Display controller interface structure.

Defines the interface functions that the display controller must implement, including open, close, flush, delete and IO control

typedef struct bk_display_ctlr bk_display_ctlr_t

Header File

Functions

bk_lcd_i80_handle_t *lcd_i80_bus_io_register(void *io)

Structures

struct lcd_rgb_t

rgb interface config param

Public Members

lcd_clk_t clk

config lcd clk

rgb_out_clk_edge_t data_out_clk_edge

rgb data output in clk edge, should refer lcd device spec

uint16_t hsync_back_porch

rang 0~0x3FF (0~1023), should refer lcd device spec

uint16_t hsync_front_porch

rang 0~0x3FF (0~1023), should refer lcd device spec

uint16_t vsync_back_porch

rang 0~0xFF (0~255), should refer lcd device spec

uint16_t vsync_front_porch

rang 0~0xFF (0~255), should refer lcd device spec

uint8_t hsync_pulse_width

rang 0~0x3F (0~7), should refer lcd device spec

uint8_t vsync_pulse_width

rang 0~0x3F (0~7), should refer lcd device spec

struct lcd_mcu_t

mcu interface config param

Public Members

lcd_clk_t clk

config lcd clk

struct lcd_qspi_t

qspi interface config param

struct lcd_spi_t

spi interface config param

struct lcd_device_t

Public Members

int id

lcd device type, user can add if you want to add another lcd device

char *name

lcd device name

uint8_t type

lcd device hw interface

uint16_t width

lcd device width

uint16_t height

lcd device height

uint8_t src_fmt

source data format: input to display module data format(rgb565/rgb888/yuv)

uint8_t out_fmt

display module output data format(rgb565/rgb666/rgb888), input to lcd device, Color_depth, 24bit/pixel:RGB888,18bit/pixel:RGB666,16bit/pixel:RGB565

const lcd_rgb_t *rgb

RGB interface lcd device config

const lcd_mcu_t *mcu

MCU interface lcd device config

const lcd_qspi_t *qspi

QSPI interface lcd device config

const lcd_spi_t *spi

SPI interface lcd device config

bk_err_t (*init)(const void *handle)

lcd device initial function by handle

bk_err_t (*off)(const void *handle)

lcd off by handle

struct lcd_display_area_t
struct bk_lcd_i80_handle

Macros

USE_LCD_REGISTER_CALLBACKS

Type Definitions

typedef void (*lcd_isr_t)(void *args)
typedef struct bk_lcd_i80_handle bk_lcd_i80_handle_t

Enumerations

enum lcd_device_id_t

Values:

enumerator LCD_DEVICE_UNKNOW
enumerator LCD_DEVICE_ST7282

480X270 RGB

enumerator LCD_DEVICE_HX8282

1024X600 RGB

enumerator LCD_DEVICE_GC9503V

480X800 RGB

enumerator LCD_DEVICE_NT35510

480X854 RGB

enumerator LCD_DEVICE_H050IWV

800X480 RGB

enumerator LCD_DEVICE_MD0430R

800X480 RGB

enumerator LCD_DEVICE_MD0700R

1024X600 RGB

enumerator LCD_DEVICE_ST7701S_LY

480X480 RGB

enumerator LCD_DEVICE_ST7701S

480X480 RGB

enumerator LCD_DEVICE_ST7701SN

480X480 RGB

enumerator LCD_DEVICE_AML01

720X1280 RGB

enumerator LCD_DEVICE_ST7796S

320X480 MCU

enumerator LCD_DEVICE_NT35512

480X800 MCU

enumerator LCD_DEVICE_NT35510_MCU

480X800 MCU

enumerator LCD_DEVICE_ST7789V

170X320 MCU

enumerator LCD_DEVICE_ST7789T3

240X320 MCU

enumerator LCD_DEVICE_SH8601A

454X454 QSPI

enumerator LCD_DEVICE_ST77903_WX20114

400X400 QSPI

enumerator LCD_DEVICE_ST77903_SAT61478M

400X400 QSPI

enumerator LCD_DEVICE_ST77903_H0165Y008T

360X480 QSPI

enumerator LCD_DEVICE_SPD2010

412X412 QSPI

enumerator LCD_DEVICE_GC9C01

360X360 QSPI

enumerator LCD_DEVICE_JD9855

360X360 QSPI

enumerator LCD_DEVICE_JD9855_K18XJ15

360X360 QSPI

enumerator LCD_DEVICE_ST77916

360X360 QSPI

enumerator LCD_DEVICE_JD9853A

240X320 QSPI

enumerator LCD_DEVICE_ST7796U

320X480 SPI

enumerator LCD_DEVICE_GC9D01

160X160 SPI

enumerator LCD_DEVICE_ST7789V2

240X320 SPI

enum lcd_type_t

Values:

enumerator LCD_TYPE_RGB

lcd hardware interface is parallel RGB interface

enumerator LCD_TYPE_RGB565

lcd device output data hardware interface is RGB565 format

enumerator LCD_TYPE_MCU8080

lcd device output data hardware interface is MCU 8BIT format

enumerator LCD_TYPE_QSPI

lcd device hardware interface is QSPI interface

enumerator LCD_TYPE_SPI

lcd device hardware interface is SPI interface

enum lcd_int_type_t

Values:

enumerator RGB_OUTPUT_EOF

reg end of frame int status

enumerator RGB_OUTPUT_SOF

reg display output start of frame status

enumerator I8080_OUTPUT_SOF

8080 display output start of frame status

enumerator I8080_OUTPUT_EOF

8080 display output end of frame status

enumerator DE_INT
enumerator FRAME_INTERVAL_INT
enum frame_delay_unit_t

Values:

enumerator DCLK_UNIT
enumerator HSYNC_UNIT
enumerator VSYNC_UNIT
enumerator NONE
enum lcd_clk_t

rgb lcd clk select, infulence pfs, user should select according to lcd device spec

Values:

enumerator LCD_80M
enumerator LCD_60M
enumerator LCD_54M
enumerator LCD_40M
enumerator LCD_32M
enumerator LCD_30M
enumerator LCD_26M
enumerator LCD_22M
enumerator LCD_20M
enumerator LCD_17M
enumerator LCD_15M
enumerator LCD_12M
enumerator LCD_10M
enumerator LCD_9M
enumerator LCD_8M
enum lcd_qspi_clk_t

Values:

enumerator LCD_QSPI_80M
enumerator LCD_QSPI_64M
enumerator LCD_QSPI_60M
enumerator LCD_QSPI_53M
enumerator LCD_QSPI_48M
enumerator LCD_QSPI_40M
enumerator LCD_QSPI_32M
enumerator LCD_QSPI_30M
enum rgb_out_clk_edge_t

rgb data output in clk rising or falling

Values:

enumerator POSEDGE_OUTPUT

output in clk falling

enumerator NEGEDGE_OUTPUT

output in clk rising

enum data_format_t

Values:

enumerator ARGB8888

ARGB8888 DMA2D color mode

enumerator RGB888

RGB888 DMA2D color mode

enumerator RGB565

RGB565 DMA2D color mode

enumerator YUYV