[U-Boot] Data abort in omap_gpio

Andreas Bießmann andreas.devel at googlemail.com
Thu Apr 10 09:47:03 CEST 2014


On 04/10/2014 09:22 AM, Andreas Bießmann wrote:
> On 04/09/2014 05:37 PM, Tom Rini wrote:
>> On Wed, Apr 09, 2014 at 05:22:57PM +0200, Andreas Bießmann wrote:
> 
>>> (gdb) s
>>> 118		__raw_writel(l, reg);
>>> (gdb) print/s l
>>> $17 = 2048
>>> (gdb) print/x l
>>> $18 = 0x800
>>> (gdb) print/x reg
>>> $19 = 0x49050090
>>> (gdb) s
>>> ^C
>>> Program received signal SIGSTOP, Stopped (signal).
>>> _start () at /home/abiessmann/src/u-boot/arch/arm/cpu/armv7/start.S:27
>>> 27		ldr	pc, _data_abort
>>> (gdb)
>>> --->8---
>>>
>>> (Encounterd with tricorder board current ToT)
>>>
>>> I'll dive into that tomorrow. If anyone has some pointeres, please speak
>>> out loud ;)
>>
>> You need to add the relevant CONFIG_OMAP3_GPIO_n define to enable
>> clocks/etc for the gpios being used.
>>
> 
> Well, it is GPIO 42/43 which is located in bank 1. These clocks are not
> enabled explicitly in 708cfb74b7c6df9c37d3c48988a154be79daefeb. I
> haven't followed the dsicussen but wonder why we do not switch the
> clocks on gpio_request().
> 
> So is it seems that 708cfb74b7c6df9c37d3c48988a154be79daefeb missed to
> enable clocks for bank 1. I'll try that.

Got it working. The numbering starts with '1' here (not '0'). Therefore
GPIO 42/43 is in bank 2. Enabling that bank with CONFIG_OMAP3_GPIO_2
stops data abort

Thanks for the hint! Fixup patch series for 2014.04 coming today.

Best Regards

Andreas Bießmann



More information about the U-Boot mailing list