STM32MP157A驱动开发 | 05 - 基于LTDC接口驱动RGB LCD
Posted Mculover666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32MP157A驱动开发 | 05 - 基于LTDC接口驱动RGB LCD相关的知识,希望对你有一定的参考价值。
Step1. 添加LCD设备树描述,包括背光节点和ltdc节点
Step2. 驱动文件里添加一组设备ID
一、添加设备树描述
1. 修改ltdc节点描述
比较重要的属性是remote-endpoint,描述ltdc输出到哪里。
2. 添加ltdc输出接口描述
rgblcd: rgblcd
compatible = "bearpi,rgblcd";
backlight = &rgblcd_backlight;
status = "okay";
port
rgblcd_in: endpoint
remote-endpoint = <<dc_ep0_out>;
;
;
;
其中remote-endpoint用于告诉屏幕驱动数据从哪里获得。
3. 添加backlight节点
rgblcd_backlight: rgblcd-backlight
compatible = "gpio-backlight";
gpios = <&gpioe 9 GPIO_ACTIVE_HIGH>;
default-on;
status = "okay";
;
二、在驱动中添加屏幕参数
1. 添加屏幕参数描述
static const struct drm_display_mode bearpi_rgblcd_mode =
.clock = 51200,
.hdisplay = 800,
.hsync_start = 800 + 46,
.hsync_end = 800 + 46 + 1,
.htotal = 800 + 46 + 1 + 210,
.vdisplay = 480,
.vsync_start = 480 + 23,
.vsync_end = 480 + 23 + 1,
.vtotal = 480 + 23 + 1 + 22,
.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
;
static const struct panel_desc bearpi_rgblcd_desc =
.modes = &bearpi_rgblcd_mode,
.num_modes = 1,
.bpc = 6,
.size =
.width = 152,
.height = 91,
,
.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
;
2. 添加设备兼容性
三、测试
以上是关于STM32MP157A驱动开发 | 05 - 基于LTDC接口驱动RGB LCD的主要内容,如果未能解决你的问题,请参考以下文章
STM32MP157A驱动开发 | 04 - Linux DRM显示驱动框架
STM32MP157A驱动开发 | 04 - Linux DRM显示驱动框架
STM32MP157A驱动开发 | 03-usb host接口的使用(U盘 )
STM32MP157A驱动开发 | 03-usb host接口的使用(U盘 )