[U-Boot] data abort in omap_gpio

Andreas Bießmann andreas.devel at googlemail.com
Wed Apr 9 17:16:07 CEST 2014


Hi all,

I've encountered a data abort in tricorder board when switching gpio's.

Here is the trace:

---8<---
gpio_direction_output (gpio=<value optimized out>, value=0) at
/home/abiessmann/src/u-boot/drivers/gpio/omap_gpio.c:197
197		_set_gpio_dataout(bank, get_gpio_index(gpio), value);
(gdb) s
_set_gpio_dataout (gpio=<value optimized out>, value=0) at
/home/abiessmann/src/u-boot/drivers/gpio/omap_gpio.c:102
102		void *reg = bank->base;
(gdb) s
105		switch (bank->method) {
(gdb) s
107			if (enable)
(gdb) list
102		void *reg = bank->base;
103		u32 l = 0;
104	
105		switch (bank->method) {
106		case METHOD_GPIO_24XX:
107			if (enable)
108				reg += OMAP_GPIO_SETDATAOUT;
109			else
110				reg += OMAP_GPIO_CLEARDATAOUT;
111			l = 1 << gpio;
(gdb) s
111			l = 1 << gpio;
(gdb) s
108				reg += OMAP_GPIO_SETDATAOUT;
(gdb) s
110				reg += OMAP_GPIO_CLEARDATAOUT;
(gdb) s
111			l = 1 << gpio;
(gdb) s
118		__raw_writel(l, reg);
(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---

Anyone aware of that?

I'll dive into that tomorrow. If anyone knows that problem a pointer
would be good.

Best regards

Andreas Bießmann


More information about the U-Boot mailing list