On Wed, Dec 05, 2012 at 07:54:51AM -0500, Robert P. J. Day wrote: > > i was going to submit a patch to replace magic constants for OMAP4 > with more meaningful names but i ran into an oddity. here's > omap4-silicon.h: > > #define OMAP44XX_L4_WKUP_BASE 0x4A300000 > #define OMAP44XX_L4_PER_BASE 0x48000000 > > and here's part of an old posting to the linux-omap mailing list: > > +/* GPIO controller*/ > +#define OMAP44XX_GPIO1_BASE (L4_WK_44XX_BASE + 0x10000) > +#define OMAP44XX_GPIO2_BASE (L4_PER_44XX_BASE + 0x55000) > +#define OMAP44XX_GPIO3_BASE (L4_PER_44XX_BASE + 0x57000) > +#define OMAP44XX_GPIO4_BASE (L4_PER_44XX_BASE + 0x59000) > +#define OMAP44XX_GPIO5_BASE (L4_PER_44XX_BASE + 0x5B000) > +#define OMAP44XX_GPIO6_BASE (L4_PER_44XX_BASE + 0x5D000) > > but here's the tail end of omap4-generic.c: > > static int omap4_gpio_init(void) > { > add_generic_device("omap-gpio", 0, NULL, 0x4a310100, > 0xf00, IORESOURCE_MEM, NULL); > add_generic_device("omap-gpio", 1, NULL, 0x48055100, > 0xf00, IORESOURCE_MEM, NULL); > add_generic_device("omap-gpio", 2, NULL, 0x48057100, > 0xf00, IORESOURCE_MEM, NULL); > add_generic_device("omap-gpio", 3, NULL, 0x48059100, > 0xf00, IORESOURCE_MEM, NULL); > add_generic_device("omap-gpio", 4, NULL, 0x4805b100, > 0xf00, IORESOURCE_MEM, NULL); > add_generic_device("omap-gpio", 5, NULL, 0x4805d100, > 0xf00, IORESOURCE_MEM, NULL); > > return 0; > } > > as you can see, the numbers don't add up exactly -- the constants in > that final file are all 0x100 larger than a simple addition. anyone > know where that comes from? This comes from the hardware. The GPIO controller is the same as on omap3, but the base addresses have an additional 0x100 offset. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox