高通UEFI,ABL,XBL控制GPIO

高通EUFI分了ABL,XBL两部分

ABL类似于lk,xbl类似preload,但也有不同。

ABL的主要代码在

/bootable/bootloader/edk2/QcomModulePkg/Application/LinuxLoader/LinuxLoader.c

从名字看属于应用,是检查状态进入recovery mode或者Normal模式。

对于关机充电的判断和控制比较关键的是

bootable/bootloader/edk2/QcomModulePkg/Library/BootLib/UpdateCmdLine.c

控制gpio

看到有些网站上介绍abl控制gpio用gpio_tlmm_config

但在abl代码里搜不到gpio_tlmm_config,并且xbl中也搜不到

因此,实际上新的架构已经不用gpio_tlmm_config这个了。

更为怪异的是abl中都搜不到gpio相关的内容,而xbl中可以搜到一些,因此推测是abl中不直接控制硬件,是在xbl中控制。

那么如果有需要再abl---比如关机充电的控制,要读硬件状态,那么要怎样控制呢?

这个就要引入protocol的控制

abl,xbl,protocol

  Status = gBS->LocateProtocol (&gChargerExProtocolGuid, NULL,
                                (VOID **)&ChgDetectProtocol);

........

    Status = ChgDetectProtocol->IsOffModeCharging (BatteryStatus);
这个比较通俗的解释就是要调用gChargerExProto

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高通UEFI高通公司为了支持其处理器和芯片组在Android设备上的引导和初始化而开发的软件模块。UEFI(统一扩展固件界面)是一种新型的固件标准,取代了过去的BIOS(基本输入输出系统)。高通UEFI开发Android开发文档主要提供了有关在使用高通处理器和芯片组的Android设备上进行开发的指导和说明。 该文档首先介绍了如何正确设置开发环境,包括安装必要的软件和驱动程序。接着,文档介绍了高通UEFI的架构和工作原理,包括引导流程、启动流程和初始化过程。开发人员可以深入了解UEFI在Android设备上的作用和功能。 文档还提供了如何进行UEFI开发的具体指导,包括如何编写UEFI应用程序、如何调试和测试UEFI应用程序以及如何进行项目集成等。针对不同的开发需求,文档也提供了各种开发和定制UEFI的选项和工具,使开发人员能够根据实际情况进行灵活的开发和调试。 此外,文档还包含了一些实际案例和示例代码,帮助开发人员更好地理解如何使用高通UEFI开发Android设备,并且提供了一些常见问题和解决方案以供参考。 总而言之,高通UEFI开发Android开发文档为开发人员提供了一个全面的指南,帮助他们理解和应用高通UEFI在Android设备上的开发和定制。通过这些文档,开发人员可以更加有效地利用高通UEFI提供的功能和特性,为Android设备开发出更加稳定和高性能的引导和初始化软件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值