| 
									
										
										
										
											2009-12-04 09:41:28 -05:00
										 |  |  | #ifndef __ASM_MACH_MMP2_H
 | 
					
						
							|  |  |  | #define __ASM_MACH_MMP2_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-06-20 22:11:52 +08:00
										 |  |  | #include <linux/platform_data/pxa_sdhci.h>
 | 
					
						
							| 
									
										
										
										
											2010-09-29 16:18:51 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-08 12:40:59 -07:00
										 |  |  | extern void mmp2_timer_init(void); | 
					
						
							| 
									
										
										
										
											2010-07-15 22:22:33 +08:00
										 |  |  | extern void __init mmp2_init_icu(void); | 
					
						
							|  |  |  | extern void __init mmp2_init_irq(void); | 
					
						
							|  |  |  | extern void mmp2_clear_pmic_int(void); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-04 09:41:28 -05:00
										 |  |  | #include <linux/i2c.h>
 | 
					
						
							| 
									
										
										
										
											2011-02-23 12:38:16 +01:00
										 |  |  | #include <linux/i2c/pxa-i2c.h>
 | 
					
						
							| 
									
										
										
										
											2009-12-04 09:41:28 -05:00
										 |  |  | #include <mach/devices.h>
 | 
					
						
							| 
									
										
										
										
											2012-08-24 15:16:48 +02:00
										 |  |  | #include <linux/platform_data/dma-mmp_tdma.h>
 | 
					
						
							| 
									
										
										
										
											2009-12-04 09:41:28 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | extern struct pxa_device_desc mmp2_device_uart1; | 
					
						
							|  |  |  | extern struct pxa_device_desc mmp2_device_uart2; | 
					
						
							|  |  |  | extern struct pxa_device_desc mmp2_device_uart3; | 
					
						
							|  |  |  | extern struct pxa_device_desc mmp2_device_uart4; | 
					
						
							|  |  |  | extern struct pxa_device_desc mmp2_device_twsi1; | 
					
						
							|  |  |  | extern struct pxa_device_desc mmp2_device_twsi2; | 
					
						
							|  |  |  | 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; | 
					
						
							| 
									
										
										
										
											2010-09-29 16:18:51 -04:00
										 |  |  | 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; | 
					
						
							| 
									
										
										
										
											2011-08-15 11:09:53 +08:00
										 |  |  | extern struct pxa_device_desc mmp2_device_asram; | 
					
						
							| 
									
										
										
										
											2011-08-15 11:09:54 +08:00
										 |  |  | extern struct pxa_device_desc mmp2_device_isram; | 
					
						
							| 
									
										
										
										
											2009-12-04 09:41:28 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-10-17 20:37:52 +08:00
										 |  |  | extern struct platform_device mmp2_device_gpio; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-04 09:41:28 -05:00
										 |  |  | static inline int mmp2_add_uart(int id) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	struct pxa_device_desc *d = NULL; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	switch (id) { | 
					
						
							|  |  |  | 	case 1: d = &mmp2_device_uart1; break; | 
					
						
							|  |  |  | 	case 2: d = &mmp2_device_uart2; break; | 
					
						
							|  |  |  | 	case 3: d = &mmp2_device_uart3; break; | 
					
						
							|  |  |  | 	case 4: d = &mmp2_device_uart4; break; | 
					
						
							|  |  |  | 	default: | 
					
						
							|  |  |  | 		return -EINVAL; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return pxa_register_device(d, NULL, 0); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline int mmp2_add_twsi(int id, struct i2c_pxa_platform_data *data, | 
					
						
							|  |  |  | 				  struct i2c_board_info *info, unsigned size) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	struct pxa_device_desc *d = NULL; | 
					
						
							|  |  |  | 	int ret; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	switch (id) { | 
					
						
							| 
									
										
										
										
											2010-04-28 15:34:04 -04:00
										 |  |  | 	case 1: d = &mmp2_device_twsi1; break; | 
					
						
							|  |  |  | 	case 2: d = &mmp2_device_twsi2; break; | 
					
						
							|  |  |  | 	case 3: d = &mmp2_device_twsi3; break; | 
					
						
							|  |  |  | 	case 4: d = &mmp2_device_twsi4; break; | 
					
						
							|  |  |  | 	case 5: d = &mmp2_device_twsi5; break; | 
					
						
							|  |  |  | 	case 6: d = &mmp2_device_twsi6; break; | 
					
						
							| 
									
										
										
										
											2009-12-04 09:41:28 -05:00
										 |  |  | 	default: | 
					
						
							|  |  |  | 		return -EINVAL; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-28 15:34:04 -04:00
										 |  |  | 	ret = i2c_register_board_info(id - 1, info, size); | 
					
						
							| 
									
										
										
										
											2009-12-04 09:41:28 -05:00
										 |  |  | 	if (ret) | 
					
						
							|  |  |  | 		return ret; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return pxa_register_device(d, data, sizeof(*data)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-29 16:18:51 -04:00
										 |  |  | 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)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-15 11:09:53 +08:00
										 |  |  | static inline int mmp2_add_asram(struct sram_platdata *data) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return pxa_register_device(&mmp2_device_asram, data, sizeof(*data)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-15 11:09:54 +08:00
										 |  |  | static inline int mmp2_add_isram(struct sram_platdata *data) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return pxa_register_device(&mmp2_device_isram, data, sizeof(*data)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-04 09:41:28 -05:00
										 |  |  | #endif /* __ASM_MACH_MMP2_H */
 | 
					
						
							|  |  |  | 
 |