aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2012-05-29 02:40:04 -0400
committerLee Jones <lee.jones@linaro.org>2012-07-13 03:55:43 -0400
commit5e1ac7db04f963e230ffa0a39c5df376733f8c0b (patch)
tree084953653c4f6fe5fa12965c60ffcc02da70a296 /arch/arm/mach-ux500
parent2b667a2d8005e7c8362a77365cedbcd71fa5d6c1 (diff)
ARM: ux500: Enable Device Tree support mmci for Snowball
Allow proper initialisation for MMC via the mmci driver for the Snowball low-cost development board using DT. At the moment we continue to use DMA setup from platform code. Once the DMA generic DT bindings have been completed we can then port the remainder over to DT. Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'arch/arm/mach-ux500')
-rw-r--r--arch/arm/mach-ux500/board-mop500-sdi.c4
-rw-r--r--arch/arm/mach-ux500/board-mop500.c3
-rw-r--r--arch/arm/mach-ux500/board-mop500.h3
3 files changed, 7 insertions, 3 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-sdi.c b/arch/arm/mach-ux500/board-mop500-sdi.c
index 920251cf834c..18ff781cfbe4 100644
--- a/arch/arm/mach-ux500/board-mop500-sdi.c
+++ b/arch/arm/mach-ux500/board-mop500-sdi.c
@@ -80,7 +80,7 @@ static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = {
80}; 80};
81#endif 81#endif
82 82
83static struct mmci_platform_data mop500_sdi0_data = { 83struct mmci_platform_data mop500_sdi0_data = {
84 .ios_handler = mop500_sdi0_ios_handler, 84 .ios_handler = mop500_sdi0_ios_handler,
85 .ocr_mask = MMC_VDD_29_30, 85 .ocr_mask = MMC_VDD_29_30,
86 .f_max = 50000000, 86 .f_max = 50000000,
@@ -227,7 +227,7 @@ static struct stedma40_chan_cfg mop500_sdi4_dma_cfg_tx = {
227}; 227};
228#endif 228#endif
229 229
230static struct mmci_platform_data mop500_sdi4_data = { 230struct mmci_platform_data mop500_sdi4_data = {
231 .ocr_mask = MMC_VDD_29_30, 231 .ocr_mask = MMC_VDD_29_30,
232 .f_max = 50000000, 232 .f_max = 50000000,
233 .capabilities = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA | 233 .capabilities = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA |
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 4fd93f5c49ec..1bf179e91eab 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -776,6 +776,8 @@ struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = {
776 OF_DEV_AUXDATA("arm,pl011", 0x80007000, "uart2", &uart2_plat), 776 OF_DEV_AUXDATA("arm,pl011", 0x80007000, "uart2", &uart2_plat),
777 /* Requires DMA bindings. */ 777 /* Requires DMA bindings. */
778 OF_DEV_AUXDATA("arm,pl022", 0x80002000, "ssp0", &ssp0_plat), 778 OF_DEV_AUXDATA("arm,pl022", 0x80002000, "ssp0", &ssp0_plat),
779 OF_DEV_AUXDATA("arm,pl18x", 0x80126000, "sdi0", &mop500_sdi0_data),
780 OF_DEV_AUXDATA("arm,pl18x", 0x80114000, "sdi4", &mop500_sdi4_data),
779 /* Requires clock name bindings. */ 781 /* Requires clock name bindings. */
780 OF_DEV_AUXDATA("st,nomadik-gpio", 0x8012e000, "gpio.0", NULL), 782 OF_DEV_AUXDATA("st,nomadik-gpio", 0x8012e000, "gpio.0", NULL),
781 OF_DEV_AUXDATA("st,nomadik-gpio", 0x8012e080, "gpio.1", NULL), 783 OF_DEV_AUXDATA("st,nomadik-gpio", 0x8012e080, "gpio.1", NULL),
@@ -851,7 +853,6 @@ static void __init u8500_init_machine(void)
851 platform_add_devices(snowball_of_platform_devs, 853 platform_add_devices(snowball_of_platform_devs,
852 ARRAY_SIZE(snowball_of_platform_devs)); 854 ARRAY_SIZE(snowball_of_platform_devs));
853 855
854 snowball_sdi_init(parent);
855 } else if (of_machine_is_compatible("st-ericsson,hrefv60+")) { 856 } else if (of_machine_is_compatible("st-ericsson,hrefv60+")) {
856 /* 857 /*
857 * The HREFv60 board removed a GPIO expander and routed 858 * The HREFv60 board removed a GPIO expander and routed
diff --git a/arch/arm/mach-ux500/board-mop500.h b/arch/arm/mach-ux500/board-mop500.h
index 2f87b25a908a..b5bfc1a78b1a 100644
--- a/arch/arm/mach-ux500/board-mop500.h
+++ b/arch/arm/mach-ux500/board-mop500.h
@@ -9,6 +9,7 @@
9 9
10/* For NOMADIK_NR_GPIO */ 10/* For NOMADIK_NR_GPIO */
11#include <mach/irqs.h> 11#include <mach/irqs.h>
12#include <linux/amba/mmci.h>
12 13
13/* Snowball specific GPIO assignments, this board has no GPIO expander */ 14/* Snowball specific GPIO assignments, this board has no GPIO expander */
14#define SNOWBALL_ACCEL_INT1_GPIO 163 15#define SNOWBALL_ACCEL_INT1_GPIO 163
@@ -78,6 +79,8 @@
78 79
79struct device; 80struct device;
80struct i2c_board_info; 81struct i2c_board_info;
82extern struct mmci_platform_data mop500_sdi0_data;
83extern struct mmci_platform_data mop500_sdi4_data;
81 84
82extern void mop500_sdi_init(struct device *parent); 85extern void mop500_sdi_init(struct device *parent);
83extern void snowball_sdi_init(struct device *parent); 86extern void snowball_sdi_init(struct device *parent);