从零开始之驱动发开、linux驱动(二十六、三星平台framebuffer)
一、总述
本驱动是基于三星的s5pv210处理器分析,对于三星平台所有的framebuffer驱动基本都是一样。对应于s5pv210中的内部外设Display Controller (FIMD)模块。
framefuffer驱动是基于字符设备驱动,在使用platform总线封装编写。
二、驱动源码的分布
1、驱动代码的源文件分布:
(1):drivers/video/fb-dev/s3c-fb.c, 驱动主体框架。
(2):arch/arm/mach-s5pv210/mach-smdkv210.c,负责提供platform_device,这个文件里面提供了很多的基于platform总线编写的驱动需要的platform_device,mach文件是每一个移植好的内核都会提供这个文件的.
(3):arch/arm/plat-samsung/devs.c,为platform_device提供一些硬件描述信息。
三星平台的framebuffer设备基于平台总线创建。
分为两部分:
一部分是和三星的所有处理器通用的操作接口,和配置接口,在platform bus中称作driver。
另一部分是和LCD相关的一些时序,分辨率等容易变化的参数,在platform bus中称作device。
我们这里先分析和LCD相关的对不同硬件,可能变化的参数,当然这些参数都是我们上节fb_info中的参数。
首先我们先看几个时序相关的参数:
static struct s3c_fb_pd_win smdkv210_fb_win0 = {.max_bpp = 32,
从零开始之驱动发开、linux驱动(二十六、三星平台framebuffer)相关推荐
- 深入学习Linux摄像头(四)三星平台fimc驱动详解
深入学习Linux摄像头系列 深入学习Linux摄像头(一)v4l2应用编程 深入学习Linux摄像头(二)v4l2驱动框架 深入学习Linux摄像头(三)虚拟摄像头驱动分析 深入学习Linux摄像头 ...
- Linux驱动 简单的Linux驱动基础知识
Linux驱动 简单的Linux驱动基础知识 一.简述 记--Linux驱动学习笔记. Linux驱动程序初始化硬件设备,并提供硬件控制接口给更上一层的应用调用. 例如使用QT应用程序 ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十九:LCD模块
实验二十九:LCD模块 据说Alinx 301支持 7"TFT,好奇的朋友一定疑惑道,它们3.2"TFT以及7"TFT等两者之间究竟有何区别呢?答案很简单,前者自带控制器 ...
- 从零开始学java(二十六)--多维数组,多维数组存储表格数据
从零开始学java(二十六)--多维数组 多维数组 多维数组存储表格数据 多维数组 多维数组可以看成以数组为元素的数组.可以有二维.三维.甚至更多维数组,但是实际开发中用的非常少.最多到二维数组(学习 ...
- LINUX学习基础篇(二十六)swap分区
LINUX学习基础篇(二十六)swap分区 swap分区 查看swap分区大小 分配swap分区 格式化swap分区 增加swap分区 swap分区 Linux中的swap分区相当于Windows中的 ...
- Shell脚本学习-阶段二十六-Web服务与端口
文章目录-Shell阶段二十六-端口与服务对照表 前言 端口与Web服务对照表 简介 前言 端口与Web服务对照表 2端口:管理实用程序 3端口:压缩进程 5端口:远程作业登录 7端口:回显 9端口: ...
- BetaFlight模块设计之二十六:接收机任务分析
BetaFlight模块设计之二十六:接收机任务分析 接收机任务 配置情况 硬件配置 软件配置 驱动配置 sbus驱动函数分析 sbusDataReceive函数 sbusFrameStatus函数 ...
- 电脑高手应用技巧荟萃(电脑知识二十六)
电脑高手应用技巧荟萃(电脑知识二十六) 2010年12月07日 ★"锁定计算机"快捷方式 我想在桌面上创建一个"锁定计算机"的快捷方式,请问应该如何实现呢? 首 ...
- JVM 学习笔记二十六、JVM监控及诊断工具-GUI篇
二十六.JVM监控及诊断工具-GUI篇 1.工具概述 使用上一张命令行工具或组合能帮您获取目标Java应用性能相关的基础信息,但他们存在下列局限: (1)无法获取方法级别的分析数据,如方法间的调用关系 ...
- 大话设计模式笔记(二十一、二十二、二十三、二十四、二十五、二十六)
二十一.单例模式(Singleton) 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 1.通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象.一个最好的办法就是 ...
最新文章
- POJ 3667 Hotel(线段树)
- 1、Angular2 Component 组件
- springMVC中Dispatcher中的/和/*的区别
- linux循环处理多行,Linux高级文本处理之gawk分支和循环(四)
- mysql 触发器 运算符_mysql三元运算,上下连表,视图,触发器,存储过程,事务等不常用方法...
- 深度学习笔记(18) 迁移学习
- 适配器模式 - 上厕所案例
- 常用linux系统管理工具
- html站点的定义,HTML是什么?您构建网页的一站式解决方案
- 色彩的对比度和饱和度_使用高色彩对比度进行更方便的设计
- PDMS二次开发(一)——Hello World for PDMS
- mysql数据库原理及应用书籍_《MySQL数据库原理及应用》 【正版电子纸书阅读_PDF下载】- 书问...
- PHP在线讨饭源码+支付宝当面付DEMO+自动在线要饭源码+安装教程
- 飞行器制导与控制及其Matlab仿真
- 微信企业号回调模式 java_java微信企业号开发之开发模式的开启
- RT-Thread柿饼常用应用代码汇总
- 【网络安全】文件包含漏洞总结
- 如何提升语音识别技术的识别能力?
- 必须了解的待人处事小技巧
- 局域网即时通讯软件可以保护数据安全吗?
热门文章
- 抖音小店都有哪些类目
- 高响应比优先调度算法的模拟(非抢占式C++)
- c语言编程跑马灯,走楼灯设计(C语言设计跑马灯程序)
- 奥鹏刷分软件_【中国大学mooc刷课系统和奥鹏在线作业自动答案软件哪个好用】中国大学mooc刷课系统和奥鹏在线作业自动答案软件对比-ZOL下载...
- python网格搜索优化参数_Python中基于网格搜索算法优化的深度学习模型分析糖尿病数据...
- [GIS原理] 10.1 空间统计描述(描述性分析、探索性数据分析)、空间自相关分析 - QQ图、权重矩阵、Moran'sl、G统计量
- 大数据之Superset
- LQR 控制学习-LQR控制 MATLAB官方教程-LQR 控制器_状态空间系统Matlab/Simulink建模分析
- Oracle Instant Client环境配置
- AndroidQQ登录接入详细介绍(kotlin搭建)