diff options
author | Mathieu J. Poirier <mathieu.poirier@linaro.org> | 2011-03-25 11:28:58 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2011-06-23 06:04:56 -0400 |
commit | 885d0fe40fb97d7f394c24ac9c88721015f852b3 (patch) | |
tree | 1a0dae48d31ca8cc3e791d2ec5c5bc17edd26c1b | |
parent | d769d05498f78efdc1adff2075b3a58af40dbb76 (diff) |
mach-ux500: Add SDI support for snowball board
With SDI support for the Snowball we can boot from the
SD card.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Robert Marklund <robert.marklund@stericsson.com>
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-sdi.c | 19 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.h | 5 |
3 files changed, 20 insertions, 7 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-sdi.c b/arch/arm/mach-ux500/board-mop500-sdi.c index 5fbd6bc63cb1..d0cb9e5eb87c 100644 --- a/arch/arm/mach-ux500/board-mop500-sdi.c +++ b/arch/arm/mach-ux500/board-mop500-sdi.c | |||
@@ -216,15 +216,24 @@ void __init mop500_sdi_init(void) | |||
216 | /* PoP:ed eMMC on top of DB8500 v1.0 has problems with high speed */ | 216 | /* PoP:ed eMMC on top of DB8500 v1.0 has problems with high speed */ |
217 | if (!cpu_is_u8500v10()) | 217 | if (!cpu_is_u8500v10()) |
218 | mop500_sdi2_data.capabilities |= MMC_CAP_MMC_HIGHSPEED; | 218 | mop500_sdi2_data.capabilities |= MMC_CAP_MMC_HIGHSPEED; |
219 | db8500_add_sdi2(&mop500_sdi2_data, periphid); | 219 | /* sdi2 on snowball is in ATL_B mode for FSMC (LAN) */ |
220 | if (!machine_is_snowball()) | ||
221 | db8500_add_sdi2(&mop500_sdi2_data, periphid); | ||
220 | 222 | ||
221 | /* On-board eMMC */ | 223 | /* On-board eMMC */ |
222 | db8500_add_sdi4(&mop500_sdi4_data, periphid); | 224 | db8500_add_sdi4(&mop500_sdi4_data, periphid); |
223 | 225 | ||
224 | if (machine_is_hrefv60()) { | 226 | if (machine_is_hrefv60() || machine_is_snowball()) { |
225 | mop500_sdi0_data.gpio_cd = HREFV60_SDMMC_CD_GPIO; | 227 | if (machine_is_hrefv60()) { |
226 | sdi0_en = HREFV60_SDMMC_EN_GPIO; | 228 | mop500_sdi0_data.gpio_cd = HREFV60_SDMMC_CD_GPIO; |
227 | sdi0_vsel = HREFV60_SDMMC_1V8_3V_GPIO; | 229 | sdi0_en = HREFV60_SDMMC_EN_GPIO; |
230 | sdi0_vsel = HREFV60_SDMMC_1V8_3V_GPIO; | ||
231 | } else if (machine_is_snowball()) { | ||
232 | mop500_sdi0_data.gpio_cd = SNOWBALL_SDMMC_CD_GPIO; | ||
233 | mop500_sdi0_data.cd_invert = true; | ||
234 | sdi0_en = SNOWBALL_SDMMC_EN_GPIO; | ||
235 | sdi0_vsel = SNOWBALL_SDMMC_1V8_3V_GPIO; | ||
236 | } | ||
228 | sdi0_configure(); | 237 | sdi0_configure(); |
229 | } | 238 | } |
230 | 239 | ||
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index e3bbb5506dd1..4eead1a0786b 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c | |||
@@ -573,8 +573,7 @@ static void __init mop500_init_machine(void) | |||
573 | ARRAY_SIZE(mop500_platform_devs)); | 573 | ARRAY_SIZE(mop500_platform_devs)); |
574 | 574 | ||
575 | mop500_i2c_init(); | 575 | mop500_i2c_init(); |
576 | if (!machine_is_snowball()) | 576 | mop500_sdi_init(); |
577 | mop500_sdi_init(); | ||
578 | mop500_spi_init(); | 577 | mop500_spi_init(); |
579 | mop500_uart_init(); | 578 | mop500_uart_init(); |
580 | 579 | ||
diff --git a/arch/arm/mach-ux500/board-mop500.h b/arch/arm/mach-ux500/board-mop500.h index 03a31cc9b084..ee77a8970c33 100644 --- a/arch/arm/mach-ux500/board-mop500.h +++ b/arch/arm/mach-ux500/board-mop500.h | |||
@@ -7,6 +7,11 @@ | |||
7 | #ifndef __BOARD_MOP500_H | 7 | #ifndef __BOARD_MOP500_H |
8 | #define __BOARD_MOP500_H | 8 | #define __BOARD_MOP500_H |
9 | 9 | ||
10 | /* snowball GPIO for MMC card */ | ||
11 | #define SNOWBALL_SDMMC_EN_GPIO 217 | ||
12 | #define SNOWBALL_SDMMC_1V8_3V_GPIO 228 | ||
13 | #define SNOWBALL_SDMMC_CD_GPIO 218 | ||
14 | |||
10 | /* HREFv60-specific GPIO assignments, this board has no GPIO expander */ | 15 | /* HREFv60-specific GPIO assignments, this board has no GPIO expander */ |
11 | #define HREFV60_TOUCH_RST_GPIO 143 | 16 | #define HREFV60_TOUCH_RST_GPIO 143 |
12 | #define HREFV60_PROX_SENSE_GPIO 217 | 17 | #define HREFV60_PROX_SENSE_GPIO 217 |