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_dsp.h>
9 
10 /*
11  * flash mapping
12  */
13 #define BCM963XX_CFE_VERSION_OFFSET	0x570
14 #define BCM963XX_NVRAM_OFFSET		0x580
15 
16 /*
17  * nvram structure
18  */
19 struct bcm963xx_nvram {
20 	u32	version;
21 	u8	reserved1[256];
22 	u8	name[16];
23 	u32	main_tp_number;
24 	u32	psi_size;
25 	u32	mac_addr_count;
26 	u8	mac_addr_base[6];
27 	u8	reserved2[2];
28 	u32	checksum_old;
29 	u8	reserved3[720];
30 	u32	checksum_high;
31 };
32 
33 /*
34  * board definition
35  */
36 struct board_info {
37 	u8		name[16];
38 	unsigned int	expected_cpu_id;
39 
40 	/* enabled feature/device */
41 	unsigned int	has_enet0:1;
42 	unsigned int	has_enet1:1;
43 	unsigned int	has_pci:1;
44 	unsigned int	has_pccard:1;
45 	unsigned int	has_ohci0:1;
46 	unsigned int	has_ehci0:1;
47 	unsigned int	has_dsp:1;
48 
49 	/* ethernet config */
50 	struct bcm63xx_enet_platform_data enet0;
51 	struct bcm63xx_enet_platform_data enet1;
52 
53 	/* DSP config */
54 	struct bcm63xx_dsp_platform_data dsp;
55 
56 	/* GPIO LEDs */
57 	struct gpio_led leds[5];
58 };
59 
60 #endif /* ! BOARD_BCM963XX_H_ */
61