When using MMC2 with DMA, I got the following kernel error:
[ 60.190765] Alignment trap: not handling instruction f8531022 at [<c0015af8>]
[ 60.198242] Unhandled fault: alignment exception (0x001) at 0xf9e10f9d
[ 60.205139] Internal error: : 1 [#1]
[ 60.208862] Modules linked in: arc4 wl12xx_sdio wl12xx mac80211 cfg80211 rfkill spidev ip_tables x_tables ipv6
[ 60.219390] CPU: 0 Not tainted (3.2.23 #196)
[ 60.224273] PC is at map_xbar_event_to_channel+0x4c/0x68
[ 60.229827] LR is at map_xbar_event_to_channel+0x39/0x68
This appears to be a problem with the implementation of map_xbar_event_to_channel in:
http://arago-project.org/git/projects/?p=linux-am33x.git;a=commit;f=arch/arm/mach-omap2/devices.c;hb=a7b46224febb00555eba44f0a162d3f774f1eab3
offset = (*channel)/4;
offset *= 4;
val = (unsigned int)__raw_readl(AM33XX_CTRL_REGADDR(
AM33XX_SCM_BASE_EDMA + offset));
mask = ((*channel)%4);
mask *= 8;
val = val & (~((0xFF) << mask));
val = val | (xbar_event_mapping[xbar_evt_no].xbar_event_no << mask);
__raw_writel(val, AM33XX_CTRL_REGADDR(AM33XX_SCM_BASE_EDMA + offset));