1 #ifndef BOARD_BCM963XX_H_
2 #define BOARD_BCM963XX_H_
3 
4 #include <linux/types.h>
5 #include <linux/gpio.h>
6 #include <linux/leds.h>
7 #include <bcm63xx_dev_enet.h>
8 #include <bcm63xx_dev_usb_usbd.h>
9 #include <bcm63xx_dev_dsp.h>
10 
11 /*
12  * flash mapping
13  */
14 #define BCM963XX_CFE_VERSION_OFFSET	0x570
15 #define BCM963XX_NVRAM_OFFSET		0x580
16 
17 /*
18  * board definition
19  */
20 struct board_info {
21 	u8		name[16];
22 	unsigned int	expected_cpu_id;
23 
24 	/* enabled feature/device */
25 	unsigned int	has_enet0:1;
26 	unsigned int	has_enet1:1;
27 	unsigned int	has_enetsw:1;
28 	unsigned int	has_pci:1;
29 	unsigned int	has_pccard:1;
30 	unsigned int	has_ohci0:1;
31 	unsigned int	has_ehci0:1;
32 	unsigned int	has_usbd:1;
33 	unsigned int	has_dsp:1;
34 	unsigned int	has_uart0:1;
35 	unsigned int	has_uart1:1;
36 
37 	/* ethernet config */
38 	struct bcm63xx_enet_platform_data enet0;
39 	struct bcm63xx_enet_platform_data enet1;
40 	struct bcm63xx_enetsw_platform_data enetsw;
41 
42 	/* USB config */
43 	struct bcm63xx_usbd_platform_data usbd;
44 
45 	/* DSP config */
46 	struct bcm63xx_dsp_platform_data dsp;
47 
48 	/* GPIO LEDs */
49 	struct gpio_led leds[5];
50 
51 	/* External PHY reset GPIO */
52 	unsigned int ephy_reset_gpio;
53 
54 	/* External PHY reset GPIO flags from gpio.h */
55 	unsigned long ephy_reset_gpio_flags;
56 };
57 
58 #endif /* ! BOARD_BCM963XX_H_ */
59