diff options
Diffstat (limited to 'arch/arm/mach-mmp/include/mach/mmp2.h')
| -rw-r--r-- | arch/arm/mach-mmp/include/mach/mmp2.h | 41 | 
1 files changed, 38 insertions, 3 deletions
diff --git a/arch/arm/mach-mmp/include/mach/mmp2.h b/arch/arm/mach-mmp/include/mach/mmp2.h index dbba6e8a60c..0764f4ecec8 100644 --- a/arch/arm/mach-mmp/include/mach/mmp2.h +++ b/arch/arm/mach-mmp/include/mach/mmp2.h @@ -1,16 +1,17 @@  #ifndef __ASM_MACH_MMP2_H  #define __ASM_MACH_MMP2_H -struct sys_timer; +#include <linux/platform_data/pxa_sdhci.h> -extern struct sys_timer mmp2_timer; +extern void mmp2_timer_init(void);  extern void __init mmp2_init_icu(void);  extern void __init mmp2_init_irq(void);  extern void mmp2_clear_pmic_int(void);  #include <linux/i2c.h> +#include <linux/i2c/pxa-i2c.h>  #include <mach/devices.h> -#include <plat/i2c.h> +#include <linux/platform_data/dma-mmp_tdma.h>  extern struct pxa_device_desc mmp2_device_uart1;  extern struct pxa_device_desc mmp2_device_uart2; @@ -22,6 +23,14 @@ extern struct pxa_device_desc mmp2_device_twsi3;  extern struct pxa_device_desc mmp2_device_twsi4;  extern struct pxa_device_desc mmp2_device_twsi5;  extern struct pxa_device_desc mmp2_device_twsi6; +extern struct pxa_device_desc mmp2_device_sdh0; +extern struct pxa_device_desc mmp2_device_sdh1; +extern struct pxa_device_desc mmp2_device_sdh2; +extern struct pxa_device_desc mmp2_device_sdh3; +extern struct pxa_device_desc mmp2_device_asram; +extern struct pxa_device_desc mmp2_device_isram; + +extern struct platform_device mmp2_device_gpio;  static inline int mmp2_add_uart(int id)  { @@ -63,5 +72,31 @@ static inline int mmp2_add_twsi(int id, struct i2c_pxa_platform_data *data,  	return pxa_register_device(d, data, sizeof(*data));  } +static inline int mmp2_add_sdhost(int id, struct sdhci_pxa_platdata *data) +{ +	struct pxa_device_desc *d = NULL; + +	switch (id) { +	case 0: d = &mmp2_device_sdh0; break; +	case 1: d = &mmp2_device_sdh1; break; +	case 2: d = &mmp2_device_sdh2; break; +	case 3: d = &mmp2_device_sdh3; break; +	default: +		return -EINVAL; +	} + +	return pxa_register_device(d, data, sizeof(*data)); +} + +static inline int mmp2_add_asram(struct sram_platdata *data) +{ +	return pxa_register_device(&mmp2_device_asram, data, sizeof(*data)); +} + +static inline int mmp2_add_isram(struct sram_platdata *data) +{ +	return pxa_register_device(&mmp2_device_isram, data, sizeof(*data)); +} +  #endif /* __ASM_MACH_MMP2_H */  | 
