MTK6577+Android 之关机电流高问题的解决
本文将详细介绍 MTK6577+Android 之关机电流高问题的解决方法。该问题在关机时电流仍然很高,达到了 25mA,并且电源指示灯仍然保持亮的状态。
我们需要了解 MTK6577+Android 的关机流程。在关机时,系统会调用 pm_power_off() 函数来关机。该函数的定义在 \mediatek\platform\mt6577\kernel\core\core.c 文件中。通过该函数,系统会调用 mt6577_power_off() 函数来实现关机。
mt6577_power_off() 函数的定义在 \mediatek\custom\hsimobile77_ics2\kernel\core\src\board.c 文件中。该函数会拉低 RTC 的 PWRBB 引脚来关机,并判断是否有接入 USB 或充电器。如果有接入 USB 或充电器,系统会进入关机充电流程。在关机充电时,拔出 USB 调用 uboot 的 mt6577_power_off 函数来实现关机。
在 MTK6577+Android 系统中,快速开机(IPO)技术被用于加速系统的启动速度。该技术可以通过 MTK_IPO_SUPPORT Variable 来控制是否打开快速启动。如果该变量被设置为 yes,系统就会打开快速启动功能。
在关机流程中,系统还会调用 l2x0_init() 函数来初始化 L2 Cache。该函数的定义在 \mediatek\platform\mt6577\kernel\core\core.c 文件中。该函数会设置 L2 Cache 的动态时钟门控和 prefetch 控制寄存器。
此外,系统还会调用 scu_enable() 函数来启用 ARM SCU(System Control Unit)。该函数的定义在 \mediatek\platform\mt6577\kernel\core\core.c 文件中。该函数会设置 INFRA_ACP 寄存器来接收 ACP 事务。
MTK6577+Android 之关机电流高问题的解决方法是通过调用 mt6577_power_off() 函数来实现关机,并且需要设置 MTK_IPO_SUPPORT 变量来控制快速启动功能。此外,系统还需要正确地初始化 L2 Cache 和启用 ARM SCU,以确保系统的稳定运行。
知识点:
* MTK6577+Android 之关机电流高问题的解决方法
* mt6577_power_off() 函数的定义和作用
* MTK_IPO_SUPPORT 变量的作用
* L2 Cache 的初始化和作用
* ARM SCU 的作用和设置
* Android 关机流程的源码分析
* MTK 快速开机技术的原理和实现