summaryrefslogtreecommitdiff
path: root/arch/arm/plat-mxs/include
diff options
context:
space:
mode:
authorRichard Zhu <r65037@freescale.com>2010-01-26 13:06:44 +0800
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-25 11:09:57 +0200
commit45ed220caddf776585b71b32f9638f5d5bf3f91a (patch)
tree405db049730e5b4f4dfeb6c3747b963f9029e068 /arch/arm/plat-mxs/include
parenta912dcccaebdf8f877def4f81687674e7b41767a (diff)
ENGR00117737-2 MX28 SD/MMC/SDIO
Enable the ssp mmc port0~1, the set_rate, set_parent to refio.0 clock, and the HighSpeed mode, SD up to 4bits and 50MHz, MMC up to 8bits and 52MHz. Resolved the urgly IO bench and some cards unrecognization issues. The root cause is the clk unit of clock should be Hz, but not the KHz Signed-off-by: Richard Zhu <r65037@freescale.com> Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'arch/arm/plat-mxs/include')
-rw-r--r--arch/arm/plat-mxs/include/mach/device.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/plat-mxs/include/mach/device.h b/arch/arm/plat-mxs/include/mach/device.h
index 2debcc89ffec..2e9d5968c31b 100644
--- a/arch/arm/plat-mxs/include/mach/device.h
+++ b/arch/arm/plat-mxs/include/mach/device.h
@@ -61,6 +61,23 @@ extern int mxs_add_device(struct platform_device *, int level);
extern struct platform_device *mxs_get_device(char *name, int id);
extern struct mxs_dev_lookup *mxs_get_devices(char *name);
+/* mxs ssp sd/mmc data definitons */
+struct mxs_mmc_platform_data {
+ int (*hw_init)(void);
+ void (*hw_release)(void);
+ void (*cmd_pullup)(int enable);
+ int (*get_wp)(void);
+ unsigned long (*setclock)(unsigned long hz);
+ unsigned int caps;
+ unsigned int min_clk;
+ unsigned int max_clk;
+ int read_uA;
+ int write_uA;
+ char *power_mmc;
+ char *clock_mmc;
+};
+/* end of mxs ssp sd/mmc data definitions */
+
#ifdef CONFIG_MXS_ICOLL
extern void __init avic_init_irq(void __iomem *base, int nr_irqs);
#endif