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