diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-01-07 10:09:22 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-01-08 10:02:13 +0100 |
commit | 04cb446c9a1bdddae41b20df5de8825df44e8dfe (patch) | |
tree | 686fb705d4b92f085c020e40962f580b9e1c33e5 /arch | |
parent | d43bcb9987f47fd1cd575a4b965ddb743b5b7ca6 (diff) | |
download | barebox-04cb446c9a1bdddae41b20df5de8825df44e8dfe.tar.gz barebox-04cb446c9a1bdddae41b20df5de8825df44e8dfe.tar.xz |
ARM omap / mci: Fix register offsets
Only the OMAP4 has a register offset of 0x100 in the register space. Fix
this by using the device id mechanism. This became broken when the device
register convenience functions were introduced.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap/include/mach/am33xx-devices.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/devices.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/omap3-devices.h | 9 | ||||
-rw-r--r-- | arch/arm/mach-omap/include/mach/omap4-devices.h | 15 | ||||
-rw-r--r-- | arch/arm/mach-omap/omap_devices.c | 7 |
5 files changed, 18 insertions, 19 deletions
diff --git a/arch/arm/mach-omap/include/mach/am33xx-devices.h b/arch/arm/mach-omap/include/mach/am33xx-devices.h index cfb931f827..4c83b2844c 100644 --- a/arch/arm/mach-omap/include/mach/am33xx-devices.h +++ b/arch/arm/mach-omap/include/mach/am33xx-devices.h @@ -26,7 +26,8 @@ static inline struct device_d *am33xx_add_uart2(void) static inline struct device_d *am33xx_add_mmc0(struct omap_hsmmc_platform_data *pdata) { - return omap_add_mmc(0, AM33XX_MMCHS0_BASE, pdata); + return add_generic_device("omap3-hsmmc", 0, NULL, + AM33XX_MMCHS0_BASE, SZ_4K, IORESOURCE_MEM, pdata); } #endif /* __MACH_OMAP3_DEVICES_H */ diff --git a/arch/arm/mach-omap/include/mach/devices.h b/arch/arm/mach-omap/include/mach/devices.h index 6cbb25e028..adae01bc20 100644 --- a/arch/arm/mach-omap/include/mach/devices.h +++ b/arch/arm/mach-omap/include/mach/devices.h @@ -9,9 +9,6 @@ void omap_add_sram0(resource_size_t base, resource_size_t size); struct device_d *omap_add_uart(int id, unsigned long base); -struct device_d *omap_add_mmc(int id, unsigned long base, - struct omap_hsmmc_platform_data *pdata); - struct device_d *omap_add_i2c(int id, unsigned long base, void *pdata); #endif /* __MACH_OMAP_DEVICES_H */ diff --git a/arch/arm/mach-omap/include/mach/omap3-devices.h b/arch/arm/mach-omap/include/mach/omap3-devices.h index 2e8e06fc44..de67ea0117 100644 --- a/arch/arm/mach-omap/include/mach/omap3-devices.h +++ b/arch/arm/mach-omap/include/mach/omap3-devices.h @@ -59,17 +59,20 @@ static inline struct device_d *omap3_add_uart3(void) static inline struct device_d *omap3_add_mmc1(struct omap_hsmmc_platform_data *pdata) { - return omap_add_mmc(0, OMAP3_MMC1_BASE, pdata); + return add_generic_device("omap3-hsmmc", 0, NULL, + OMAP3_MMC1_BASE, SZ_4K, IORESOURCE_MEM, pdata); } static inline struct device_d *omap3_add_mmc2(struct omap_hsmmc_platform_data *pdata) { - return omap_add_mmc(1, OMAP3_MMC2_BASE, pdata); + return add_generic_device("omap3-hsmmc", 1, NULL, + OMAP3_MMC2_BASE, SZ_4K, IORESOURCE_MEM, pdata); } static inline struct device_d *omap3_add_mmc3(struct omap_hsmmc_platform_data *pdata) { - return omap_add_mmc(2, OMAP3_MMC3_BASE, pdata); + return add_generic_device("omap3-hsmmc", 2, NULL, + OMAP3_MMC3_BASE, SZ_4K, IORESOURCE_MEM, pdata); } static inline struct device_d *omap3_add_i2c1(void *pdata) diff --git a/arch/arm/mach-omap/include/mach/omap4-devices.h b/arch/arm/mach-omap/include/mach/omap4-devices.h index 5aba72dc51..561d9ce0ae 100644 --- a/arch/arm/mach-omap/include/mach/omap4-devices.h +++ b/arch/arm/mach-omap/include/mach/omap4-devices.h @@ -30,27 +30,32 @@ static inline struct device_d *omap44xx_add_uart3(void) static inline struct device_d *omap44xx_add_mmc1(struct omap_hsmmc_platform_data *pdata) { - return omap_add_mmc(0, OMAP44XX_MMC1_BASE, pdata); + return add_generic_device("omap4-hsmmc", 0, NULL, + OMAP44XX_MMC1_BASE, SZ_4K, IORESOURCE_MEM, pdata); } static inline struct device_d *omap44xx_add_mmc2(struct omap_hsmmc_platform_data *pdata) { - return omap_add_mmc(1, OMAP44XX_MMC2_BASE, pdata); + return add_generic_device("omap4-hsmmc", 1, NULL, + OMAP44XX_MMC2_BASE, SZ_4K, IORESOURCE_MEM, pdata); } static inline struct device_d *omap44xx_add_mmc3(struct omap_hsmmc_platform_data *pdata) { - return omap_add_mmc(2, OMAP44XX_MMC3_BASE, pdata); + return add_generic_device("omap4-hsmmc", 2, NULL, + OMAP44XX_MMC3_BASE, SZ_4K, IORESOURCE_MEM, pdata); } static inline struct device_d *omap44xx_add_mmc4(struct omap_hsmmc_platform_data *pdata) { - return omap_add_mmc(3, OMAP44XX_MMC4_BASE, pdata); + return add_generic_device("omap4-hsmmc", 3, NULL, + OMAP44XX_MMC4_BASE, SZ_4K, IORESOURCE_MEM, pdata); } static inline struct device_d *omap44xx_add_mmc5(struct omap_hsmmc_platform_data *pdata) { - return omap_add_mmc(4, OMAP44XX_MMC5_BASE, pdata); + return add_generic_device("omap4-hsmmc", 4, NULL, + OMAP44XX_MMC5_BASE, SZ_4K, IORESOURCE_MEM, pdata); } static inline struct device_d *omap44xx_add_i2c1(void *pdata) diff --git a/arch/arm/mach-omap/omap_devices.c b/arch/arm/mach-omap/omap_devices.c index e83ac85179..056cba541c 100644 --- a/arch/arm/mach-omap/omap_devices.c +++ b/arch/arm/mach-omap/omap_devices.c @@ -25,13 +25,6 @@ struct device_d *omap_add_uart(int id, unsigned long base) IORESOURCE_MEM_8BIT, &serial_plat); } -struct device_d *omap_add_mmc(int id, unsigned long base, - struct omap_hsmmc_platform_data *pdata) -{ - return add_generic_device("omap-hsmmc", id, NULL, - base, SZ_4K, IORESOURCE_MEM, pdata); -} - struct device_d *omap_add_i2c(int id, unsigned long base, void *pdata) { return add_generic_device("i2c-omap", id, NULL, base, SZ_4K, |