一.驱动部分 首先向NXP 的 fae要android 6.0 bring up的代码,如:NFC_NCIHALx_AR0F.4.3.0_M_NoSE 结构目录如下: 1. 添加驱动文件 高通平台需使用pn544节点,所以将驱动中的设备节点名字修改为pn544即可: 2. 修改平台配置 在init.qcom.rc中增加节点的权限,并创建etc/param文件夹 # NFC setprop ro.nfc.port "I2C" chmod 0660 /dev/pn544 chown nfc…
此次移植打算分成两个模块来说,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…
本文转载自:http://blog.csdn.net/liwei16611/article/details/51279658 高通camera bring up分为两种类型:YUV和bayerbring up yuv sensor1.kernel空间1) vim kernel/driver/media/platform/msm/camera_v2/sensor添加sensor驱动文件-可参考其他修改Makefile2) kernel/arch/arm/configs添加CONFIG_<senso…
一. MSM8K Boot Flow 图1: 高通MSM8K平台bootloader启动流程基本类似,但具体各平台,比如MSM8974.MSM8916.MSM8994等,会有微小区别. 从上图,可以看出高通8K平台的boot过程非常不一般啊.相比MTK平台,或者高通7K平台,复杂了非常多. 下图是高通文档对启动流程的说明, 已经很清楚了,我这边就直接贴出来啦. 图2: 系统上电后从RPM PBL启动到 APPS PBL 然后SBL1 ,再启动APPSBL 等等,整个过程看似非常复杂,但其实很多代…
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.…
本文转载自:http://blog.csdn.net/gabbzang/article/details/12063031 http://blog.csdn.NET/dwyane_zhang/article/details/6775738 没事做整理一下GPS的流程,也算给自己一个交代. 1.硬件抽象层: 高通MSM的硬件层代码在:hardware/qcom/gps/loc_api下,高通的GPS集成在baseband侧,与Modem部分一样,同样是基于share Memory上高通自有的RPC协…
最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Sensor硬件和驱动的工作机制 先看看Accerometer +Gyro Sensor的原理图: 总结起来分四个部分(电源,地,通信接口,中断脚).电源和地与平台和芯片本身有关系,与我们分析的没有多少关系,根据sensor的特性保证sensor正常工作的上电时序.关于通信接口,sensor与ap之间通…
处理器信息 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组成, 资…
本文转载自:http://blog.csdn.net/fang_first/article/details/49615631 ====================基本知识======================= LK是(L)ittle (K)ernel的缩写. 高通平台android普遍采用LK作为其bootloader,LK是一个开源项目.但是,LK只是整个系统的引导部分,所以它不是独立存在.LK是一个功能及其强大的bootloader,但现在只支持arm和x86平台. LK的一个显…
处理器信息 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组成.…
本文转载自:https://blog.csdn.net/radianceblau/article/details/76180915 本系列导航: linux驱动由浅入深系列:高通sensor架构实例分析之一(整体概览+AP侧代码分析) linux驱动由浅入深系列:高通sensor架构实例分析之二(adsp驱动代码结构)linux驱动由浅入深系列:高通sensor架构实例分析之三(adsp上报数据详解.校准流程详解) 从adsp获取数据的方法分为同步.异步两种方式,但一般在实际使用中使用异步方式,…
lk部分:(实现LCD兼容) 1. 函数定位 aboot_init()来到target_display_init(): 这就是高通原生lk LCD 兼容的关键所在.至于你需要兼容多少LCD 就在while()设置了,具体代码就不跟下去了. 然后根据target中的不同文件来判断是否进入哪一个函数来处理: target_display_init() 函数里有很重要函数就是gcdb_display_init(); 如果平台支持屏幕最大个数自动检测,msm8953支持兼容两个屏.(GCDB:Globa…
转自:https://blog.csdn.net/lsn946803746/article/details/52515225 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/lsn946803746/article/details/52515225BLSP(BAM Low-Speed Peripheral) , 每一个BLSP含有两个QUP, 每一个QUP可以被配置为I2C, SPI,…
一.概述 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接口这些最基本的都不知道,鄙视一…
原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流程分析 qcril 流程分析,设置sim卡锁 python scons 语法学习 Python 语言之 scons 工具流程分析: 1.2 搭建高通平台环境开发环境 高通and…
目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 Kernel display接口 典型应用flow分析 介绍 Surface manager(surface flinger)简介 架构分析 流程分析 根据前面的介绍,surfaceflinger作为一个server process,上层的应用程序(作为client)通过Binder方式与其进行通信.…
本文转载自: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这种新的数据结构来描述硬件设备.采用…
之前一段时间有幸在高通android平台上调试2款camera sensor,一款是OV的5M YUV sensor,支持jpeg out,同时也支持AF,调试比较比较简单,因为别的项目已经在使用了,只是把相关的驱动移植过来就好:另一款是Samsung的一款比较新的3M YUV FF sensor,在最新项目中要使用的,本文以调试该sensor为例,从底层驱动的角度分享一下高通android平台下调试camera的经验,而对于高通平台camera部分的架构以及原理不做过多的介绍. 一.准备工作…
你给Wi-Fi交过专利费吗?你知道Wi-Fi是谁申请的专利吗? 答:肯定是高通! 错! Wi-Fi技术由澳洲政府的研究机构CSIRO在90年代发明并于1996年在美国成功申请了无线网技术专利.(US Patent Number5,487,069)发明人是悉尼大学工程系毕业生Dr John O'Sullivan领导的一群由悉尼大学工程系毕业生组成的研究小组. IEEE曾请求澳洲政府放弃其Wi-Fi专利,让世界免费使用Wi-Fi技术,但遭到拒绝. 澳洲政府随后在美国通过官司胜诉或庭外和解,收取了世界…
介绍了Android SurfaceFlinger层次以下的图形合成和显示系统,主要基于高通MSM8k MDP4x平台. 做为Android Display专题.SurfaceFlinger的详细介绍参见链接文章. Android GDI之SurfaceFlinger SurfaceFinger按英文翻译过来就是Surface投递者.SufaceFlinger的构成并不是太复杂,复杂的是他的客户端建构.SufaceFlinger主要功能是: )将Layers(Surfaces)内容的刷新到屏幕上…
欢迎关注泛泰非盈利专业第三方开发团队 VegaDevTeam  (本team 由 syhost suky zhaochengw(z大) xuefy(大星星) tenfar(R大师) loogeo crazyi(天下无雪) windxixi(雪狐) wangsai008 组成) 感谢: tenfar(R大师),zhaochengw(z大).xuefy(大星星),suky.wzhy90 特别说明: 此版本号仅为測试版, 用于測试反馈bug(本人已经測试将近10天),  由于3.4内核的MSM8660…
====================基本知识=======================LK是(L)ittle (K)ernel的缩写.高通平台android普遍采用LK作为其bootloader,LK是一个开源项目.但是,LK只是整个系统的引导部分,所以它不是独立存在.LK是一个功能及其强大的bootloader,但现在只支持arm和x86平台.LK的一个显著的特点就是它实现了一个简单的线程机制(thread),和对高通处理器的深度定制和使用. 启动流程 1. 芯片上电复位到地址0, R…
点击打开链接 daily buildhttp://android-ci-platform.cnbj.sonyericsson.net/job/daily_build_jb-mr2-yukon/DL-CNBJ-TianChi-SWCM: tianchi gina jb 的 CM 一. msm8226-tianchi_dsds.dtsi; msm-pm8226.dtsi 二.. Audio Jack   NC 和 NO的选择改成了dts里面设置   @kernel/arch/arm/boot/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://…
从trust zone之我见知道,支持trustzone的芯片会跑在两个世界. 普通世界.安全世界,对应高通这边是HLOS,QSEE. 如下图: 如下是HLOS与QSEE的软件架构图 HLOS这两分为kernel层,user层.user层的通过qseecom提供的API起动trustzone那边的app. qseecom driver 除了提供API,还调用scm函数做世界切换. scm driver 那边接到qseecom的调用后,会把HLOS相关数据(包括指令参数)放入指它buffer,然后…
转自:http://blog.csdn.net/radianceblau/article/details/73229005 http://www.aiuxian.com/article/p-1414261.html http://www.xuebuyuan.com/2209890.html 对于嵌入式工程师了解芯片启动过程是十分有必要的,在分析.调试各种问题的时候都有可能涉及到这方面的知识.同时这部分知识也是比较复杂的,因为其中涉及到芯片内部架构,启动各个阶段软件代码执行顺序,启动模式等等.下面…