高通lk屏幕向kernel传参】的更多相关文章

LK把相关参数报存到cmdline上: 在Bootable\bootloader\lk\dev\gcdb\display\gcdb_display_param.c上gcdb_display_cmdline_arg函数里: 调用过程如图所示: aboot_init()--> target_display_panel_node()--> gcdb_display_cmdline_arg(panel_name, pbuf, buf_size) aboot_init()函数里面: #define DI…
lk SPI驱动 1. 初始化时钟 在lk中,我们是从kmain开始执行下来的,而执行顺序则是先初始化时钟,也就是在platform_early_init函数中开始执行的: 在这里我们需要修改这个函数中的platform_clock_init();,我们来这里看这个函数,平台为msm8909: void platform_clock_init(void) { clk_init(msm_clocks_msm8909, ARRAY_SIZE(msm_clocks_msm8909)); } msm_c…
本文转载自:https://blog.csdn.net/u010164190/article/details/78625636 .Add framework log #define LOG_NDEBUG 0 .Add hal log #define LOG_NDEBUG 0 #define VERY_VERY_VERBOSE_LOGGING .Add kernel log #define DEBUG…
前段时间小米出现红米note2 换屏门,现在我们公司也要上演了:有两个供应商提供不同IC 的LCD panel. 软件区分的办法是读取LCD IC 的ID 寄存器,下面解析高通平台LK中LCD兼容的过程. 废话不多说了直接从   target_display_init() .第一次开代码时不理解为什么会有 do{}  while(),这就是高通原生lkLCD 兼容的关键所在.至于你需要兼容多少LCD 就在while()设置了,具体代码就不跟下去了. gcdb_display_init () 在该…
在Restful风格的WebApi的里面,API服务的增删改查,分别对应着Http Method的Get / Post / Delete /Put,下面简单总结了Get / Post /Delete /Put的传参方式 一.Get传参 get设计成传输小数据,而且最好是不修改服务器的数据,所以浏览器一般都在地址栏里面可以看到,数据放在url的QueryString中. 1.1  简单类型 $(function () { $.ajax({ type: 'get', url:'http://loca…
lk部分:(实现LCD兼容) 1. 函数定位 aboot_init()来到target_display_init(): 这就是高通原生lk LCD 兼容的关键所在.至于你需要兼容多少LCD 就在while()设置了,具体代码就不跟下去了. 然后根据target中的不同文件来判断是否进入哪一个函数来处理: target_display_init() 函数里有很重要函数就是gcdb_display_init(); 如果平台支持屏幕最大个数自动检测,msm8953支持兼容两个屏.(GCDB:Globa…
来源:唐磊的个人博客<C++ 传参时传内置类型时用传值(pass by value)方式效率较高> 在<Effective C++>里提到对内置(C-like)类型在函数传参时pass by value比pass by reference更高效,当用OO的c++自定义类型(存在构造/析构等)pass by reference to const 更好,STL里的迭代器和函数对象是用C指针实现的,因此pass by value更好.至于为什么,下面的代码验证了下. #include &…
1.函数的初识 初始函数 获取任意一个字符串的元素的个数 s1='dsjdkjkfefenga' count=0 for i in s1: count+=1 print(count) 获取列表的元素的个数 l1 = [1, 2, 3] count = 0 for i in l1: count += 1 print(count) 面向过程编程 1. 代码重复. 2. 代码可可读性不高 初始函数 l1 = [1, 2, 3] def new_len(): count = 0 for i in l1:…
http://blog.csdn.net/skyflying2012/article/details/35787971 最近阅读代码学习了uboot boot kernel的过程以及uboot如何传参给kernel,记录下来,与大家共享: U-boot版本:2014.4 Kernel版本:3.4.55 一 uboot 如何启动 kernel 1 do_bootm uboot下使用bootm命令启动内核镜像文件uImage,uImage是在zImage头添加了64字节的镜像信息供uboot解析使用…
原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流程分析 qcril 流程分析,设置sim卡锁 python scons 语法学习 Python 语言之 scons 工具流程分析: 1.2 搭建高通平台环境开发环境 高通and…
此次移植打算分成两个模块来说,bootloader部分和kernel部分.在实际的移植调试过程中也是这么分成了两个部分分别调试. 高通平台中的bootloader叫做LK(Little Kernel,对于LCM来说LK部分相当重要,它不仅要负责开机部分的LCD显示任务,还要负责传参给kernel的LCM驱动,指导kernel选择合适的LCM参数. 1.LK中LCM启动流程 注:read_panel_id()和read_panel_id_ddr3()为私有添加,非高通库上代码. 在这个流程图中,需…
本文转载自:http://www.mobile-open.com/2016/970947.html 高通平台中的bootloader叫做LK(Little Kernel,对于LCM来说LK部分相当重要,它不仅要负责开机部分的LCD显示任务,还要负责传参给kernel的LCM驱动,指导kernel选择合适的LCM参数. 1.LK中LCM启动流程 注:read_panel_id()和read_panel_id_ddr3()为私有添加,非高通库上代码.   在这个流程图中,需要着重了解的有oem_pa…
====================基本知识=======================LK是(L)ittle (K)ernel的缩写.高通平台android普遍采用LK作为其bootloader,LK是一个开源项目.但是,LK只是整个系统的引导部分,所以它不是独立存在.LK是一个功能及其强大的bootloader,但现在只支持arm和x86平台.LK的一个显著的特点就是它实现了一个简单的线程机制(thread),和对高通处理器的深度定制和使用. 启动流程 1. 芯片上电复位到地址0, R…
本文转载自:http://blog.csdn.net/fang_first/article/details/49615631 ====================基本知识======================= LK是(L)ittle (K)ernel的缩写. 高通平台android普遍采用LK作为其bootloader,LK是一个开源项目.但是,LK只是整个系统的引导部分,所以它不是独立存在.LK是一个功能及其强大的bootloader,但现在只支持arm和x86平台. LK的一个显…
一.概述 1.1 简介 本文档主要包括LCD模块的驱动流程分析.Framebuffer相关知识.Gralloc等相关内容,以及LCD调试的一些经验和相关bug的分析和讲解. 1.2  开发环境 Android:4.0 Kernel: Linux3.0 Ubuntu:需要 10.04以及之后的版本 Gcc: 4.4.3 toolchain 1.3  硬件平台 Msm8x25,pmic(pm8029) 1.4  操作系统 Android:4.0,  Kernel: 3.0 1.5  开发工具 VIM…
来公司上班现在已经整整一个月了,蔽人不才,能力有限,学习进度缓慢,不过也是有一点点的收获与心得,在这里写出来与大家分享,养成良好的记录习惯也免得后忘记. 不啰嗦了,开入正题.来公司一个月左右的时间,主要接触了高通android4.0和android2.3的LCD驱动,当然在bootloader下LCD的驱动我也调试的. (1) kernel 先来说一下kernel里LCD的移植,之前从来没有接触过LINUX里LCD的驱动,所以刚一开始我竟然连MIPI接口.LCDC接口这些最基本的都不知道,鄙视一…
介绍了Android SurfaceFlinger层次以下的图形合成和显示系统,主要基于高通MSM8k MDP4x平台. 做为Android Display专题.SurfaceFlinger的详细介绍参见链接文章. Android GDI之SurfaceFlinger SurfaceFinger按英文翻译过来就是Surface投递者.SufaceFlinger的构成并不是太复杂,复杂的是他的客户端建构.SufaceFlinger主要功能是: )将Layers(Surfaces)内容的刷新到屏幕上…
一. MSM8K Boot Flow 图1: 高通MSM8K平台bootloader启动流程基本类似,但具体各平台,比如MSM8974.MSM8916.MSM8994等,会有微小区别. 从上图,可以看出高通8K平台的boot过程非常不一般啊.相比MTK平台,或者高通7K平台,复杂了非常多. 下图是高通文档对启动流程的说明, 已经很清楚了,我这边就直接贴出来啦. 图2: 系统上电后从RPM PBL启动到 APPS PBL 然后SBL1 ,再启动APPSBL 等等,整个过程看似非常复杂,但其实很多代…
目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 Kernel display接口 典型应用flow分析 介绍 Surface manager(surface flinger)简介 架构分析 流程分析 根据前面的介绍,surfaceflinger作为一个server process,上层的应用程序(作为client)通过Binder方式与其进行通信.…
MSM8K Boot Flow  转自:http://www.cnblogs.com/liang123/p/6325257.html            http://blog.csdn.net/Fybon/article/details/37565227            http://blog.csdn.net/loongembedded/article/details/52356051 图1: 高通MSM8K平台bootloader启动流程基本类似,但具体各平台,比如MSM8974.…
高通display驱动 0. 关键字 MDSS : 高通平台lcd multimedia Display sub system DSI: Display Serial Interface qcom,mdss-dsi-force-clock-lane-hs; // faulse :clock每帧回lp11 ture: clock不回 qcom,mdss-dsi-hfp-power-mode; // data 每行回lp11,对应的hfp要修改成300以上 1. 涉及文件 drivers\video…
本文重点针对HDMI在android上的应用,而比较相关的就是overlay机制.overlay在这里只是简单的介绍,后续会有文章再专门详述. 我没记错的话,高通从7X30开始,平台就可以支持HDMI(1.3)输出了.只不过在7x30上通过RGB接口外接一颗HDMI的transmitter来实现:而到了8系列(8x60),高通把这颗IC也集成了,直接就提供HDMI的输出了.(这样下去,以后渐渐的把外围器件都集成了,做底层的估计要失业了,做硬件的似乎工作量也没多少了). 先来看看HW的能力,下图是…
本文转载自:http://blog.csdn.net/zhangchiytu/article/details/6777039 高通7系列硬件架构分析 如上图,高通7系列 Display的硬件部分主要由下面几个部分组成: A.MDP 高通MSM7200A内部模块,主要负责显示数据的转换和部分图像处理功能理,如YUV转RGB,放大缩小.旋转等.MDP内部的MDP DMA负责数据从DDR到MDDI Host的传输(可以完成RGB之间的转换,如RGB565转成RGB666,这个转换工能载目前的code…
本文转载自:http://www.itgo.me/a/x6305658852004979994/lcd%20qcom 来自 :http://blog.csdn.net/dacaozuo/article/details/7796476来公司上班现在已经整整一个月了,蔽人不才,能力有限,学习进度缓慢,不过也是有一点点的收获与心得,在这里写出来与大家分享,养成良好的记录习惯也免得后忘记. 不啰嗦了,开入正题.来公司一个月左右的时间,主要接触了高通android4.0和android2.3的LCD驱动,…
DTS是Device Tree Source的缩写,用来描述设备的硬件细节.在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,相当多数的代码只是在描述板级细节,而这些板级细节对于内核来讲,不过是垃圾,如板上的platform设备.resource.i2c_board_info.spi_board_info以及各种硬件的platform_data.为了去掉这些垃圾代码,Linux采用DTS这种新的数据结构来描述硬件设备.采用…
点击打开链接 1. repo init -u git://review.sonyericsson.net/platform/manifest -b volatile-jb-mr1-yangtze 2. https://wiki.sonyericsson.net/androiki/CN3-II/Bringup_Trail_FC34  如何编译3. https://wiki.sonyericsson.net/androiki/PLD_CM/Yangtze  如何编译和flash4. https://…
点击打开链接 最近客户反馈了一个Bug,我们的系统用着用着会自动重启,尤其是在拨号的时候极容易死机或者进入下载模式.根据老大和高通的支持得到了一个解决方案. 在Android系统中,有这么一个文件夹:sys/bus/msm_subsys/devices,里面分别有三个文件夹:subsys0.subsys1.subsys2,这三个都是android系统中运行的子系统.根据高通的解释,subsys0主要是负责adsp(音视频媒体的相关服务)的启动和运行,subsys1主要负责modem(拨打电话和蓝…
处理器信息 8994包含如下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(Hexagon) 低功耗音频子系统 RPM Cortex-M3 资源功耗管理子系统 Modem QDSP6 v5(Hexagon) 调制解调(基带)处理子系统 从上表中可以看出,8994包含应用处理子系统.资源功耗管理子系统.调制子系统.低功耗音频子系统.其中应用处理子系统由4个A53和4个A57组成, 资…
一部分是开源的,可以从codeaurora.org上下载,还有一部分是高通产权的,需要从高通的网站上下载. 将高通产权的代码放到:vendor/qcom/proprietary 1. 设置bms一些参数 @msm-pm8226.dtsi中     pm8226_bms: qcom,bms{        qcom,low-soc-calculate-soc-threshold = <15>; //认为是低电压的soc(15%)        qcom,low-soc-calculate-soc…
高通在MSM8998上引入了UEFI,用来代替LK(Little Kernel).高通UEFI由XBL和ABL两部分组成.XBL负责芯片驱动及充电等核心应用功能.ABL包括芯片无关的应用如fastboot.XBL核心是none-HLOS boot_image代码的一部分,属于高通私有代码.ABL则在开源Linux Android代码树里.LK的设备驱动都放在了XBL核心,Linux加载启动及fastboot等功能组件则作为独立的UEFI应用存在.有关UEFI.XBL及ABL的详细介绍,请参见高通…