Android8.0 LCD启动流程初始化(qcom MSM8953)

本文详细介绍了在高通QCOM MSM8953平台上,Android 8.0系统LCD启动的初始化流程,涉及LK阶段的target_display_init()、gcdb_display_init()、oem_panel_select()等关键步骤,包括屏参数配置、DSI初始化和背光控制等,同时讲解了如何在LK阶段添加新的LCD以及LCD的bringup过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、LK阶段LCD的初始化流程

       高通平台下的Android系统的正常运行,分为PBL、SBL1、LK、Kernel、android系统5个阶段,而LCD的初始化是在LK阶段。在LK阶段又分为target_init()和app_init()部分,LCD的初始化函数target_display_init()是在app_init()函数中的aboot_init()中加载的,在aboot_init()中先去判断系统是以哪种方式启动的,然后在进入target_display_init()函数中初始化LCD。大致流程如下:

1.在target_display_init()函数中主要调用gcdb_display_init()函数,这个函数是一个核心函数。从这个函数值中一步步去运行。

2.进入oem_panel_select()函数去选择要使用那一款LCD屏,选择的机制有3种方式,第一种:根据LCD的引脚电平去判断,不同的LCD引脚的电平不一样;第二种:使用I2C读取寄存器方式去读取LCD芯片内部寄存器中的ID去判断;第三种:将第一种和第二种方式结合起来去判断是哪一款屏。

3.确定哪一款屏后,进入init_panel_data()函数去把屏的参数放到panel_struct结构体中,而屏参数的来自屏的头文件里,这个头文件里面包含了屏亮、屏灭、屏timing 、背光等参数。所有的屏的参数都存放在dev/gcdb/display/include下面。

4.存储好屏参数信息后,就进入dsi_panel_init()函数去开始初始化屏的相关参数,如:分辨率、颜色、操作模式、数据通道的配置。其实这个函数的实现就是把之前从屏头文件拷贝过来的参数在重新赋给另一变量。屏的操作模式分为两种:commend模式和video模式,两种模式的本质区别是通过有无RAM来区分的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值