14e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349Daniel Mack#ifndef _COLIBRI_H_
24e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349Daniel Mack#define _COLIBRI_H_
38a28b10e915fff4a4e8be4f152a8e8695d0cb044Daniel Mack
48a28b10e915fff4a4e8be4f152a8e8695d0cb044Daniel Mack#include <net/ax88796.h>
5ccb8d8d070b8f25f0163da5c9ceacf63a5169540Jakob Viketoft#include <mach/mfp.h>
68a28b10e915fff4a4e8be4f152a8e8695d0cb044Daniel Mack
75fc9f9a1deefc9999af721fba249cd58ee7e273bDaniel Mack/*
84c243c8584be9fbff9e11fc37fa2449448c5d442Daniel Mack * base board glue for PXA270 module
94c243c8584be9fbff9e11fc37fa2449448c5d442Daniel Mack */
104c243c8584be9fbff9e11fc37fa2449448c5d442Daniel Mack
114c243c8584be9fbff9e11fc37fa2449448c5d442Daniel Mackenum {
12a3172e5413a06af772c6ad34c0f68a2ebbdbcf86Marek Vasut	COLIBRI_EVALBOARD = 0,
13403d29713e0a5c671d852913a0b5935c0ff00cb7Marek Vasut	COLIBRI_PXA270_INCOME,
144c243c8584be9fbff9e11fc37fa2449448c5d442Daniel Mack};
154c243c8584be9fbff9e11fc37fa2449448c5d442Daniel Mack
16a3172e5413a06af772c6ad34c0f68a2ebbdbcf86Marek Vasut#if defined(CONFIG_MACH_COLIBRI_EVALBOARD)
17a3172e5413a06af772c6ad34c0f68a2ebbdbcf86Marek Vasutextern void colibri_evalboard_init(void);
184c243c8584be9fbff9e11fc37fa2449448c5d442Daniel Mack#else
19a3172e5413a06af772c6ad34c0f68a2ebbdbcf86Marek Vasutstatic inline void colibri_evalboard_init(void) {}
204c243c8584be9fbff9e11fc37fa2449448c5d442Daniel Mack#endif
214c243c8584be9fbff9e11fc37fa2449448c5d442Daniel Mack
22403d29713e0a5c671d852913a0b5935c0ff00cb7Marek Vasut#if defined(CONFIG_MACH_COLIBRI_PXA270_INCOME)
23403d29713e0a5c671d852913a0b5935c0ff00cb7Marek Vasutextern void colibri_pxa270_income_boardinit(void);
24403d29713e0a5c671d852913a0b5935c0ff00cb7Marek Vasut#else
25403d29713e0a5c671d852913a0b5935c0ff00cb7Marek Vasutstatic inline void colibri_pxa270_income_boardinit(void) {}
26403d29713e0a5c671d852913a0b5935c0ff00cb7Marek Vasut#endif
27403d29713e0a5c671d852913a0b5935c0ff00cb7Marek Vasut
284c243c8584be9fbff9e11fc37fa2449448c5d442Daniel Mack/*
295fc9f9a1deefc9999af721fba249cd58ee7e273bDaniel Mack * common settings for all modules
305fc9f9a1deefc9999af721fba249cd58ee7e273bDaniel Mack */
314e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349Daniel Mack
32acb3655973de30cb74549986e5e118a374967702Daniel Mack#if defined(CONFIG_MMC_PXA) || defined(CONFIG_MMC_PXA_MODULE)
33acb3655973de30cb74549986e5e118a374967702Daniel Mackextern void colibri_pxa3xx_init_mmc(mfp_cfg_t *pins, int len, int detect_pin);
34acb3655973de30cb74549986e5e118a374967702Daniel Mack#else
350e983d3c38f87d405beb1ebbe2fea11eb01cc4c6Eric Miaostatic inline void colibri_pxa3xx_init_mmc(mfp_cfg_t *pins, int len, int detect_pin) {}
36acb3655973de30cb74549986e5e118a374967702Daniel Mack#endif
37acb3655973de30cb74549986e5e118a374967702Daniel Mack
3891fcfb908d62038c3c2cdecb7fb8aa2c98cb70a2Daniel Mack#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
3991fcfb908d62038c3c2cdecb7fb8aa2c98cb70a2Daniel Mackextern void colibri_pxa3xx_init_lcd(int bl_pin);
4091fcfb908d62038c3c2cdecb7fb8aa2c98cb70a2Daniel Mack#else
410e983d3c38f87d405beb1ebbe2fea11eb01cc4c6Eric Miaostatic inline void colibri_pxa3xx_init_lcd(int bl_pin) {}
4291fcfb908d62038c3c2cdecb7fb8aa2c98cb70a2Daniel Mack#endif
4391fcfb908d62038c3c2cdecb7fb8aa2c98cb70a2Daniel Mack
4422a0200b18b8526043d3014efdaf839b01767111Daniel Mack#if defined(CONFIG_AX88796)
4522a0200b18b8526043d3014efdaf839b01767111Daniel Mackextern void colibri_pxa3xx_init_eth(struct ax_plat_data *plat_data);
4622a0200b18b8526043d3014efdaf839b01767111Daniel Mack#endif
4722a0200b18b8526043d3014efdaf839b01767111Daniel Mack
4853740df16f42163255031d24d99ba207a9ac81a9Daniel Mack#if defined(CONFIG_MTD_NAND_PXA3xx) || defined(CONFIG_MTD_NAND_PXA3xx_MODULE)
4953740df16f42163255031d24d99ba207a9ac81a9Daniel Mackextern void colibri_pxa3xx_init_nand(void);
5053740df16f42163255031d24d99ba207a9ac81a9Daniel Mack#else
5153740df16f42163255031d24d99ba207a9ac81a9Daniel Mackstatic inline void colibri_pxa3xx_init_nand(void) {}
5253740df16f42163255031d24d99ba207a9ac81a9Daniel Mack#endif
5353740df16f42163255031d24d99ba207a9ac81a9Daniel Mack
544e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349Daniel Mack/* physical memory regions */
554e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349Daniel Mack#define COLIBRI_SDRAM_BASE	0xa0000000      /* SDRAM region */
564e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349Daniel Mack
57f95bb54016ae2465a74f5eeb04b539ef213ce6c9Marek Vasut/* GPIO definitions for Colibri PXA270 */
58f95bb54016ae2465a74f5eeb04b539ef213ce6c9Marek Vasut#define GPIO114_COLIBRI_PXA270_ETH_IRQ	114
59d01b8d64949dd39ffe2cbe8068b82fb83f82f43cMarek Vasut#define GPIO0_COLIBRI_PXA270_SD_DETECT	0
607cca84abf49afe28f3e81531f79b2cb4dd6cba1bMarek Vasut#define GPIO113_COLIBRI_PXA270_TS_IRQ	113
614e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349Daniel Mack
629b6956f45132f9bf696e9f6c2e457bdfa8e08721Marek Vasut/* GPIO definitions for Colibri PXA300/310 */
6357834a722473848338b1967f7fdd9907c713b0a7Bjørn Forsman#define GPIO13_COLIBRI_PXA300_SD_DETECT	13
649b6956f45132f9bf696e9f6c2e457bdfa8e08721Marek Vasut
659b6956f45132f9bf696e9f6c2e457bdfa8e08721Marek Vasut/* GPIO definitions for Colibri PXA320 */
669b6956f45132f9bf696e9f6c2e457bdfa8e08721Marek Vasut#define GPIO28_COLIBRI_PXA320_SD_DETECT	28
679b6956f45132f9bf696e9f6c2e457bdfa8e08721Marek Vasut
684e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349Daniel Mack#endif /* _COLIBRI_H_ */
695c0dbb8fc2b36619684cbb7486491ecac950a595Daniel Mack
70