
On Thu, Apr 29, 2010 at 11:15 AM, Scott Wood scottwood@freescale.com wrote:
Steve Sakoman wrote:
This patch adds support for the second and third mmc channels on OMAP3 processors
Boards wishing to use this feature should define CONFIG_SYS_MMC_SET_DEV in the board config
Tested on Overo
Signed-off-by: Steve Sakoman steve@sakoman.com
diff --git a/arch/arm/include/asm/arch-omap3/mmc_host_def.h b/arch/arm/include/asm/arch-omap3/mmc_host_def.h index aa751c9..f081b43 100644 --- a/arch/arm/include/asm/arch-omap3/mmc_host_def.h +++ b/arch/arm/include/asm/arch-omap3/mmc_host_def.h @@ -31,11 +31,18 @@ typedef struct t2 { unsigned char res1[0x274]; unsigned int devconf0; /* 0x274 */
- unsigned char res2[0x2A8];
- unsigned char res2[0x064];
- unsigned int devconf1; /* 0x2D8 */
- unsigned char res3[0x248];
unsigned int pbias_lite; /* 0x520 */
This changes the offset of pbias_lite -- 0x64+4+0x248 = 0x2b0, not 0x2a8.
The mandatory use of structs even with large reserved areas seems to invite and obscure such issues (and the comments don't help much, since nothing ensures they're accurate).
Good catch!
Agreed -- I really hate sparse structs like this since they just invite this type of error when you fill in missing registers.
I'll fix and resubmit the patch for further comment.
Steve