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 = <&ltdc_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. 添加设备兼容性

三、测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mculover666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值