On Wed, Apr 09, 2014 at 05:22:57PM +0200, Andreas Bießmann wrote: > 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 ;)
You need to add the relevant CONFIG_OMAP3_GPIO_n define to enable clocks/etc for the gpios being used. -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot