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 */
20struct 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