1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun #ifndef _COLIBRI_H_ 3*4882a593Smuzhiyun #define _COLIBRI_H_ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <net/ax88796.h> 6*4882a593Smuzhiyun #include <mach/mfp.h> 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun /* 9*4882a593Smuzhiyun * base board glue for PXA270 module 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun enum { 13*4882a593Smuzhiyun COLIBRI_EVALBOARD = 0, 14*4882a593Smuzhiyun COLIBRI_PXA270_INCOME, 15*4882a593Smuzhiyun }; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun #if defined(CONFIG_MACH_COLIBRI_EVALBOARD) 18*4882a593Smuzhiyun extern void colibri_evalboard_init(void); 19*4882a593Smuzhiyun #else colibri_evalboard_init(void)20*4882a593Smuzhiyunstatic inline void colibri_evalboard_init(void) {} 21*4882a593Smuzhiyun #endif 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun #if defined(CONFIG_MACH_COLIBRI_PXA270_INCOME) 24*4882a593Smuzhiyun extern void colibri_pxa270_income_boardinit(void); 25*4882a593Smuzhiyun #else colibri_pxa270_income_boardinit(void)26*4882a593Smuzhiyunstatic inline void colibri_pxa270_income_boardinit(void) {} 27*4882a593Smuzhiyun #endif 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun /* 30*4882a593Smuzhiyun * common settings for all modules 31*4882a593Smuzhiyun */ 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun #if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE) 34*4882a593Smuzhiyun extern void colibri_pxa3xx_init_mmc(mfp_cfg_t *pins, int len, int detect_pin); 35*4882a593Smuzhiyun #else colibri_pxa3xx_init_mmc(mfp_cfg_t * pins,int len,int detect_pin)36*4882a593Smuzhiyunstatic inline void colibri_pxa3xx_init_mmc(mfp_cfg_t *pins, int len, int detect_pin) {} 37*4882a593Smuzhiyun #endif 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun #if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE) 40*4882a593Smuzhiyun extern void colibri_pxa3xx_init_lcd(int bl_pin); 41*4882a593Smuzhiyun #else colibri_pxa3xx_init_lcd(int bl_pin)42*4882a593Smuzhiyunstatic inline void colibri_pxa3xx_init_lcd(int bl_pin) {} 43*4882a593Smuzhiyun #endif 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun #if defined(CONFIG_AX88796) 46*4882a593Smuzhiyun extern void colibri_pxa3xx_init_eth(struct ax_plat_data *plat_data); 47*4882a593Smuzhiyun #endif 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun #if IS_ENABLED(CONFIG_MTD_NAND_MARVELL) 50*4882a593Smuzhiyun extern void colibri_pxa3xx_init_nand(void); 51*4882a593Smuzhiyun #else colibri_pxa3xx_init_nand(void)52*4882a593Smuzhiyunstatic inline void colibri_pxa3xx_init_nand(void) {} 53*4882a593Smuzhiyun #endif 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun /* physical memory regions */ 56*4882a593Smuzhiyun #define COLIBRI_SDRAM_BASE 0xa0000000 /* SDRAM region */ 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun /* GPIO definitions for Colibri PXA270 */ 59*4882a593Smuzhiyun #define GPIO114_COLIBRI_PXA270_ETH_IRQ 114 60*4882a593Smuzhiyun #define GPIO0_COLIBRI_PXA270_SD_DETECT 0 61*4882a593Smuzhiyun #define GPIO113_COLIBRI_PXA270_TS_IRQ 113 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun /* GPIO definitions for Colibri PXA300/310 */ 64*4882a593Smuzhiyun #define GPIO13_COLIBRI_PXA300_SD_DETECT 13 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun /* GPIO definitions for Colibri PXA320 */ 67*4882a593Smuzhiyun #define GPIO28_COLIBRI_PXA320_SD_DETECT 28 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun #endif /* _COLIBRI_H_ */ 70*4882a593Smuzhiyun 71