[U-Boot] Data abort in omap_gpio

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


Hi all,

I've encountered a data abort in omap_gpio when using
gpio_direction_output(). Anyone aware of that?

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/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 ;)

Best Regards

Andreas Bießmann


More information about the U-Boot mailing list