Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | /* SPDX-License-Identifier: GPL-2.0 */ #ifndef __ASM_MACH_MMP2_H #define __ASM_MACH_MMP2_H #include <linux/platform_data/pxa_sdhci.h> 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/platform_data/i2c-pxa.h> #include <linux/platform_data/dma-mmp_tdma.h> #include "devices.h" 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; 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) { 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) { 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; default: return -EINVAL; } ret = i2c_register_board_info(id - 1, info, size); if (ret) return ret; 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 */ |