imx6ull lcd驱动编写

一、LCD驱动框架编写

二、LCD引脚配置

  • 使用pinctrl配置LCD引脚
  • 使用GPIO子系统控制背光

i.MX Pins Tool

下载并安装i.MX Pins Tool v6工具,打开配置文件。
该软件可以点击某个引脚,配置对应的功能,就可以生成设备树代码 。

如何配置LCD引脚的功能

  1. 需要知道哪些引脚需要配置(看原理图)
  2. 需要知道这些引脚应该配置成什么

LCD底板原理图
B_LCD_DATAXXX:这24位的数据引脚肯定需要配置成LCD的功能
B_LCD_VSYNC:列同步信号
B_LCD_HSYNC:水平同步信号
B_LCD_PCLK:CLK信号

B_LCD_TP_INT:触摸相关暂时不配置
B_LCD_TP_RST:触摸相关暂时不配置
I2C2_SCL:触摸相关暂时不配置
I2C2_SDA:触摸相关暂时不配置

继续查看100ask的LCD底板原理图
在这里插入图片描述

B_LCD_RESET:接口没有接到屏幕上,电路上的电阻没接
B_LCD_DISP:没有接
B_LCD_PWD:lcd背光电路

配置软件

在这里插入图片描述
先全都选上,
引脚的上又行列两个坐标,比如一个引脚在K行,第17列,那么这个引脚就是K17(PIN NUM)。
K17还有一个名字(PIN NAME)
在这里插入图片描述
然后依次设置LCD对应的引脚,并结合原理图处理出错的引脚,同时把N17配置成GPIO功能。
在这里插入图片描述生成的配置文件命名说明:

&iomuxc {
    pinctrl-names = "default";
    pinctrl-0 = <&BOARD_InitPins>;
    imx6ull-board {
        BOARD_InitPins: BOARD_InitPinsGrp {                /*!< Function assigned for the core: Cortex-A7[ca7] */
            fsl,pins = <
                MX6UL_PAD_GPIO1_IO08__GPIO1_IO08           0x000010B0
                MX6UL_PAD_LCD_CLK__LCDIF_CLK               0x000010B0
                MX6UL_PAD_LCD_DATA00__LCDIF_DATA00         0x000010B0
				//.....
				//MX6UL表示芯片,PAD表示引脚,LCD_CLK表示引脚名字,LCDIF_CLK表示功能,数值表示配置信息不同的配置值不一样
				//pinctrl子系统会对这些值配置成对应的功能
            >;
        };
    };
};

在arch/arm/boot/dts/imx6ul-pinfunc.h文件中有对应的配置:

/*
 * The pin function ID is a tuple of
 * <mux_reg conf_reg input_reg mux_mode input_val>			所有的引脚功能都有对应的参数
 */
#define MX6UL_PAD_BOOT_MODE0__GPIO5_IO10                0x0014 0x02a0 0x0000 5 0
#define MX6UL_PAD_BOOT_MODE1__GPIO5_IO11                0x0018 0x02a4 0x0000 5 0

#define MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00              0x001c 0x02a8 0x0000 5 0
#define MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01              0x0020 0x02ac 0x0000 5 0
#define MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02              0x0024 0x02b0 0x0000 5 0
#define MX6UL_PAD_SNVS_TAMPER3__GPIO5_IO03              0x0028 0x02b4 0x0000 5 0
#define MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04              0x002c 0x02b8 0x0000 5 0
#define MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05              0x0030 0x02bc 0x0000 5 0
#define MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06              0x0034 0x02c0 0x0000 5 0
#define MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07              0x0038 0x02c4 0x0000 5 0
#define MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08              0x003c 0x02c8 0x0000 5 0
#define MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09              0x0040 0x02cc 0x0000 5 0

#define MX6UL_PAD_JTAG_MOD__SJC_MOD                     0x0044 0x02d0 0x0000 0 0
#define MX6UL_PAD_JTAG_MOD__GPT2_CLK                    0x0044 0x02d0 0x05a0 1 0
#define MX6UL_PAD_JTAG_MOD__SPDIF_OUT                   0x0044 0x02d0 0x0000 2 0
#define MX6UL_PAD_JTAG_MOD__ENET1_REF_CLK_25M           0x0044 0x02d0 0x0000 3 0
#define MX6UL_PAD_JTAG_MOD__CCM_PMIC_RDY                0x0044 0x02d0 0x04c0 4 0
#define MX6UL_PAD_JTAG_MOD__GPIO1_IO10                  0x0044 0x02d0 0x0000 5 0
#define MX6UL_PAD_JTAG_MOD__SDMA_EXT_EVENT00            0x0044 0x02d0 0x0610 6 0
#define MX6UL_PAD_JTAG_TMS__SJC_TMS                     0x0048 0x02d4 0x0000 0 0
#define MX6UL_PAD_JTAG_TMS__GPT2_CAPTURE1               0x0048 0x02d4 0x0598 1 0
#define MX6UL_PAD_JTAG_TMS__SAI2_MCLK                   0x0048 0x02d4 0x05f0 2 0

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

习惯就好zz

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

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

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

打赏作者

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

抵扣说明:

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

余额充值