首页 > 系统相关 >Linux系统驱动之编程_配置LCD控制器_基于IMX6ULL

Linux系统驱动之编程_配置LCD控制器_基于IMX6ULL

时间:2023-07-03 11:02:30浏览次数:55  
标签:porch 开发板 LCD Linux active IMX6ULL display

资料下载

coding无法使用浏览器打开,必须用git工具下载:

git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git

视频观看

百问网驱动大全

编程_配置LCD控制器_基于IMX6ULL

参考资料,GIT仓库里:

  • 芯片资料
  • IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLRM.pdf
  • 《Chapter 34 Enhanced LCD Interface (eLCDIF)》
  • IMX6ULL的LCD裸机程序
  • IMX6ULL\source\03_LCD\05_参考的裸机源码\03_font_test
  • 内核自带的IMX6ULL LCD驱动程序
  • 驱动源码:Linux-4.9.88\drivers\video\fbdev\mxsfb.c
  • 设备树:
  • arch/arm/boot/dts/imx6ull.dtsi
  • arch/arm/boot/dts/100ask_imx6ull-14x14.dts
  • 本节视频编写好的代码
  • IMX6ULL\source\03_LCD\09_lcd_drv_lcdcontroller_config_use_devicetree
  • 引脚配置工具/设备树生成工具
  • 打开:http://download.100ask.net/
  • 找到开发板:“100ASK_IMX6ULL_PRO开发板”
  • 下载开发板配套资料
  • 下载完后,工具在如下目录里:

Linux系统驱动之编程_配置LCD控制器_基于IMX6ULL_驱动程序

1. 硬件相关的操作

LCD驱动程序的核心就是:

  • 分配fb_info
  • 设置fb_info
  • 注册fb_info
  • 硬件相关的设置

硬件相关的设置又可以分为3部分:

  • 引脚设置
  • 时钟设置
  • LCD控制器设置

2. 在设备树里指定LCD参数

framebuffer-mylcd {
			compatible = "100ask,lcd_drv";
	        pinctrl-names = "default";
			pinctrl-0 = <&mylcd_pinctrl>;
			backlight-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;

            clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
                     <&clks IMX6UL_CLK_LCDIF_APB>;
            clock-names = "pix", "axi";
            
            display = <&display0>;

			display0: display {
				bits-per-pixel = <24>;
				bus-width = <24>;

				display-timings {
					native-mode = <&timing0>;

					 timing0: timing0_1024x768 {
					 clock-frequency = <50000000>;
					 hactive = <1024>;
					 vactive = <600>;
					 hfront-porch = <160>;
					 hback-porch = <140>;
					 hsync-len = <20>;
					 vback-porch = <20>;
					 vfront-porch = <12>;
					 vsync-len = <3>;

					 hsync-active = <0>;
					 vsync-active = <0>;
					 de-active = <1>;
					 pixelclk-active = <0>;
					 };

				};
			};            
	};

3. 编程

3.1 从设备树获得参数

时序参数、引脚极性等信息,都被保存在一个display_timing结构体里:

Linux系统驱动之编程_配置LCD控制器_基于IMX6ULL_.net_02

参考内核文件:

  • drivers\video\of_display_timing.c
  • drivers\video\fbdev\mxsfb.c

3.2 使用参数配置LCD控制器


标签:porch,开发板,LCD,Linux,active,IMX6ULL,display
From: https://blog.51cto.com/weidongshan/6609554

相关文章

  • Linux系统驱动之编程_配置引脚_基于IMX6ULL
    资料下载coding无法使用浏览器打开,必须用git工具下载:gitclonehttps://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git视频观看百问网驱动大全编程_配置引脚_基于IMX6ULL参考资料,GIT仓库里:芯片资料IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLRM.pd......
  • Linux系统驱动之分析内核自带的LCD驱动程序_基于IMX6ULL
    资料下载coding无法使用浏览器打开,必须用git工具下载:gitclonehttps://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git视频观看百问网驱动大全分析内核自带的LCD驱动程序_基于IMX6ULL参考资料,GIT仓库里:IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLR......
  • Linux下轻松修改MySQL/MariaDB的Root密码
    如果你是第一次安装MySQL或MariaDB,你可以执行mysql_secure_installation 脚本来实现基本的安全设置。其中的一个设置是数据库的root密码——该密码必须保密,并且只在必要的时候使用。如果你需要修改它(例如,当数据库管理员换了人——或者被解雇了!)。修改MySQL或......
  • Linux 日志管理
    Linux日志管理原创 Lyle_Tu Linux分布式主任 2023-07-0117:54 发表于福建收录于合集#linux36个#服务器18个介绍    Linux日志管理是指对Linux系统中产生的各种日志文件进行收集、分析、备份、轮转和删除等操作,以便监控系统的运行状况,诊断和解决问题,......
  • 【深度】韦东山:一文看看尽linux对中断处理的前世今生
    交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载)交流群二:QQ群:536785813(单片机-嵌入式)公 众 号:百问科技版本日期作者说明V12020韦东山技术文档前言:本文,4200字,研究代码花了一天,写出来花了一天;录视频估计又得花半天;真怀念以前简单粗暴的生活啊:拿起话筒就录视频,先画好......
  • Linux PWM 开发指南
    LinuxPWM开发指南1概述1.1编写目的介绍PWM模块的详细设计方便相关人员进行PWM模块的代码设计开发。1.2使用范围适用于Linux-3.10,linux-4.4和Linux-4.9内核,Linux-5.4内核。1.3相关人员PWM驱动的开发人员/维护人员等2术语及概念2.1术语定义及缩略语术语解释说明Sun......
  • Linux NOR 开发指南
    LinuxNOR开发指南1简介编写目的此文档描述SunxiNOR模块的使用方法,为相关人员调试提供指导适用范围boot0:适用于brandy-2.0u-boot:适用于u-boot-2018kernel:适用于linux-4.9/linux-5.4内核BSP的开发人员、测试人员2模块介绍2.1模块功能介绍Linux中SPINOR体系结构......
  • 【调试笔记】韦东山:在100ASK_IMX6ULL板子上支持其他型号的屏幕
    论  坛:http://bbs.100ask.net/(学术答疑)公 众 号:百问科技版本日期作者说明V12020韦东山技术文档在100ASK_IMX6ULL板子上支持其他型号的屏幕1.在100ASK_IMX6ULL底板上如何接其他厂家的屏幕很多学员有过STM32的学习经验,他们手上的开发板很多,LCD也很多。一个LCD还挺贵的,不能浪......
  • Tina_Linux_系统裁剪_开发指南
    文章目录Tina_Linux_系统裁剪_开发指南1概述2Tina系统裁剪简介2.1boot0裁剪2.2uboot裁剪2.3内核裁剪2.3.1删除不使用的功能2.3.2删除不使用的驱动2.3.3修改内核源代码2.3.3.1size工具.2.3.3.2ksize.py脚本2.3.3.3nm命令2.3.3.4kernel压缩方式.2.4文件系统裁剪.2.4.1......
  • 全志Tina Linux SPINAND UBI 离线烧录 开发指南 支持百问网T113 D1-H哪吒 DongshanPI-
    1概述编写目的:介绍SunxiSPINand烧写时的数据布局2名词解释词义UBIunsortedblockimagePEBphysicaleraseblockLEBlogicaleraseblockPEB和logicalblock关系1PEB=1logicalblock1logicalblock=2physicalblocks3总体数据布局ubi方案FLASH上的数据布局sys_pa......