android 快速开机启动,MTK6577+Android之快速开机

MTK6577+Android之快速开机

今天测试了关机电流,就是长按power按键,弹出下图:

0818b9ca8b590ca3270a3433284dd417.png

图1

选择Power off(关机)后发现电流还有25mA,和短按进入挂起时电流一样。但为什么关机是电流还有这么高了,而且在关机时电源指示灯还是亮的,那说明就没有真正关机。此时我按下power按键,设备重新启动,但很快就进入系统(大概9s),比正常的拔掉电池后开机的29s短了不少。

难道这就是快速开机(ipo: instant power on)吗?MTK工程文件下

\mediatek\config\hsimobile77_ics2\projectconfig.mk

MTK_IPO_SUPPORT=yes

通过MTK_IPO_SUPPORT的设置来决定是否打开快速启动,如果为yes表示打开,否则为no。

关机的时候最后会调用pm_power_off()来关机的,见

\mediatek\platform\mt6577\kernel\core\core.c文件相关代码:

void __initmt6577_init(void)

{

unsigned int tmp;

pm_power_off = mt6577_power_off;

#ifdefined(CONFIG_CACHE_L2X0)

writel(L2X0_DYNAMIC_CLK_GATING_EN,PL310_BASE + L2X0_POWER_CTRL);

writel(readl(PL310_BASE +L2X0_PREFETCH_CTRL) | 0x40000000, PL310_BASE + L2X0_PREFETCH_CTRL);

/*L2C data ram access latency*/

tmp = readl(PL310_BASE +L2X0_DATA_LATENCY_CTRL);

tmp &= ~((0x7 << 4) | 0x7); //clear bit[6:4] and bit[2:0]

tmp |= ((0x2 << 4) | 0x1); //3T readaccess latency & 2T setup latency

writel(tmp, PL310_BASE +L2X0_DATA_LATENCY_CTRL);

l2x0_init((void __iomem *)PL310_BASE,0x70400000, 0x8FBFFFFF);

#endif /* CONFIG_CACHE_L2X0 */

#ifdefined(CONFIG_HAVE_ARM_SCU)

scu_enable((void *)SCU_BASE);

/* set INFRA_ACP to 0x00003333 forreceiving transactions to ACP */

writel(0x00003333, INFRA_SYS_CFG_BASE +0x0F04);

#endif /* CONFIG_HAVE_ARM_SCU */

}

可以看出实际是回调mt6577_power_off()来实现关机的,它的定义在

\mediatek\custom\hsimobile77_ics2\kernel\core\src\board.c下面:

voidmt6577_power_off(void)

{

printk("core--->mt6577_power_off()\n");

/* pull PWRBB low */

rtc_bbpu_power_down();

while (1) {

printk("mt6577_power_off :check charger\n");

if (pmic_chrdet_status() ==KAL_TRUE)

arch_reset(0,"charger");

}

}

通过拉低RTC的PWRBB引脚来关机,如果判断有接入USB或是充电器,会进入关机充电流程。

关机充电时,拔出USB调用uboot的mt6577_power_off来实现关机的。

参考链接:

MTK 快速开机 技术详解

深入解析Android关机

Android 长按电源键关机整个流程小学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值