"); //-->
By Toradex秦海
1). 简介
嵌入式ARM平台设备采用Embedded Linux操作系统进行开发已经越来越成为主流,本文就着重演示在EmbeddedLinux下配置24bit RGB LCD显示。
本文所演示的平台来自于ToradexColibri iMX6和ColibriiMX7嵌入式平台,分别基于NXP iMX6和 iMX7 系列ARM处理器。ToradexColibri系列模块默认定义支持18bit RGB 输出,如果要支持24bit RGB 输出,那么需要在硬件以及device tree上面做对应的修改,下面就具体进行说明。
2. 准备
a). Toradex ARM 模块产品数据手册,请从下面下载:Colibri iMX6|Colibri iMX7
b). 参考这里说明下载Toradex Embedded Linux V2.7内核源代码,用于修改编译device tree文件。
3). Colibri iMX6 平台 24bit RGB 配置
a). 首先参考Colibri iMX6 数据手册章节 5.5.1 Parrallel RGB LCD interface, 确定24bit RGB 管脚定义:
请注意,默认的18bit和24bit管脚分配,除了数量上面的不同,在定义上也是有区别的。
b). 由于默认的device tree文件是基于18bit RGB 输出定义的,因此需要修改device tree 文件来适配管脚和功能的变化。
关于 device tree的基本说明请参考这里,我们需要修改的device tree源文件位于 arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts,修改好的文件请见这里或者基于默认文件的patch文件请见这里。
说明如下:
./ 首先在lcd的配置处修改为24bit,即 &lcd 部分
./ 然后在 &mxcfb1 部分同样修改24bit支持,以及对应的LCD分辨率,这里举例为 800x480
./ 最后修改pinmux部分,将24bit增加的pin脚被其他占用的功能去掉,然后添加到lcd对应的管脚定义中去,即后面的&pinctrl_weim_gpio_1, &pinctrl_weim_gpio_2 以及 &pinctrl_ipu1_lcd 这三个部分。
c). 根据这里的说明,重新编译device tree文件并部署到模块上。
4). Colibri i.MX7 平台 24bit RGB 配置
a). 首先参考Colibri iMX6 数据手册章节 5.5.1 Parrallel RGB LCD interface, 确定24bit RGB 管脚定义:
b). 由于默认的device tree文件是基于18bit RGB 输出定义的,因此需要修改device tree 文件来适配管脚和功能的变化。
关于 device tree的基本说明请参考这里,我们需要修改的device tree源文件位于 arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi,修改好的文件请见这里或者基于默认文件的patch文件请见这里。
说明如下:
./ 首先修改lcd的相关配置即 &lcdif 部分,在其中pinctrl-0 中 增加 &pinctrl_lcdif_dat_24,即为24bit增加的pin部分;同时将 bus-width 修改为 24bit支持,另外默认的分辨率这里同样设置为wvga,也就是800x480。
./ 然后修改&iomxc部分,将24bit增加的pin脚被其他占用的功能去掉,即去掉 &pinctrl_hog_3 。
c). 根据这里的说明,重新编译device tree文件并部署到模块上。
5). 总结
本文演示了基于ARM平台Embedded Linux 下24bit RGB 输出的软硬件配置方法供参考。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。