问题背景:
移植完uboot2014.04和linux3.10内核后,编写电阻触摸屏驱动,驱动程序不响应中断,刚开始以为是移植的内核对s5pv210中断管理的初始化有问题,经过痛苦的内核浏览过程发现中断向量和中断管理都初始化正确。后来用TQ210自带的uboot和内核加载触摸屏驱动后发现能正常触发中断,自带的kernel和uboot,移植的kernel和uboot,那么有四种组合去尝试定位错误。用出厂自带的uboot+自己移植的kernel发现也能触发中断,那么就定位到uboot出错了,通过比较移植的uboot和出厂自带的uboot,发现在出厂uboot的lowlevel_init.S中带有一个函数PMIC_InitIp(),这个函数用来初始化核心板里面的电源管理芯片max8698,后来查阅s5pv210发现触摸屏恰好被电源管理芯片所管理,那么当电源管理芯片未初始化时,电阻触摸屏是无法采样并触发中断的。如下图所示:
lowlevel_init.S初始化中添加如下代码:
/*初始化电源管理芯片*/
/* PS_HOLD(GPJ2_5) set to output high */
ldr r0, =ELFIN_GPIO_BASE
ldr r1, =
版权声明:本文为u011921617原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。