PMIC act8937 无法响应中断

无论插入usb接口还是充电器接口,act8937都不能响应中断,而act8937程序曾经在android2.3中验证
过的,先查硬件,排除硬件错误。 

确定是软件问题,只有打印寄存器查看了。
在drivers/power/s5pv210_battery.c 中:
#include <plat/gpio-cfg.h> //jeff.
#include <mach/gpio.h>
#include <mach/gpio-bank.h>
#include <mach/regs-gpio.h>
#include <asm/mach/map.h>
#include <linux/irq.h>

打开调试选项,在
static void battery_work(struct work_struct *work)
中增加
PRINTK("S5PV210_GPH0CON=0x%08x,S5PV210_GPH0DAT=0x%08x\n",readl(S5PV210_GPH0CON),readl(S5PV210_GPH0DAT));
发现打印出来的是
S5PV210_GPH0CON=0x00100010,S5PV210_GPH0DAT=0x00000010
理论上
S5PV210_GPH0CON应该第二个4bit为f(EXT_INT),现在却是1(OUTPUT),搜索整个kernel的tree,
发现是rt5621中有对S5PV210_GPH0CON进行操作,屏蔽掉后,打印就正常了。
S5PV210_GPH0CON=0x001000f0,S5PV210_GPH0DAT=0x00000023

然后就可以从界面里看到充电状态变化。

你可能感兴趣的:(android,struct,ext,tree,output)