1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2e7300d04SMaxime Bizon #ifndef BOARD_BCM963XX_H_
3e7300d04SMaxime Bizon #define BOARD_BCM963XX_H_
4e7300d04SMaxime Bizon 
5e7300d04SMaxime Bizon #include <linux/types.h>
6e7300d04SMaxime Bizon #include <linux/gpio.h>
7e7300d04SMaxime Bizon #include <linux/leds.h>
8e7300d04SMaxime Bizon #include <bcm63xx_dev_enet.h>
922df90f6SKevin Cernekee #include <bcm63xx_dev_usb_usbd.h>
10e7300d04SMaxime Bizon 
11e7300d04SMaxime Bizon /*
12e7300d04SMaxime Bizon  * flash mapping
13e7300d04SMaxime Bizon  */
14e7300d04SMaxime Bizon #define BCM963XX_CFE_VERSION_OFFSET	0x570
15e7300d04SMaxime Bizon #define BCM963XX_NVRAM_OFFSET		0x580
16e7300d04SMaxime Bizon 
17e7300d04SMaxime Bizon /*
18e7300d04SMaxime Bizon  * board definition
19e7300d04SMaxime Bizon  */
20e7300d04SMaxime Bizon struct board_info {
21e7300d04SMaxime Bizon 	u8		name[16];
22e7300d04SMaxime Bizon 	unsigned int	expected_cpu_id;
23e7300d04SMaxime Bizon 
24e7300d04SMaxime Bizon 	/* enabled feature/device */
25e7300d04SMaxime Bizon 	unsigned int	has_enet0:1;
26e7300d04SMaxime Bizon 	unsigned int	has_enet1:1;
276f00a022SMaxime Bizon 	unsigned int	has_enetsw:1;
28e7300d04SMaxime Bizon 	unsigned int	has_pci:1;
29e7300d04SMaxime Bizon 	unsigned int	has_pccard:1;
30e7300d04SMaxime Bizon 	unsigned int	has_ohci0:1;
31e7300d04SMaxime Bizon 	unsigned int	has_ehci0:1;
3222df90f6SKevin Cernekee 	unsigned int	has_usbd:1;
33524ef29cSMaxime Bizon 	unsigned int	has_uart0:1;
34524ef29cSMaxime Bizon 	unsigned int	has_uart1:1;
35e7300d04SMaxime Bizon 
36e7300d04SMaxime Bizon 	/* ethernet config */
37e7300d04SMaxime Bizon 	struct bcm63xx_enet_platform_data enet0;
38e7300d04SMaxime Bizon 	struct bcm63xx_enet_platform_data enet1;
396f00a022SMaxime Bizon 	struct bcm63xx_enetsw_platform_data enetsw;
40e7300d04SMaxime Bizon 
4122df90f6SKevin Cernekee 	/* USB config */
4222df90f6SKevin Cernekee 	struct bcm63xx_usbd_platform_data usbd;
4322df90f6SKevin Cernekee 
44e7300d04SMaxime Bizon 	/* GPIO LEDs */
45e7300d04SMaxime Bizon 	struct gpio_led leds[5];
460b35f0c5SFlorian Fainelli 
470b35f0c5SFlorian Fainelli 	/* External PHY reset GPIO */
480b35f0c5SFlorian Fainelli 	unsigned int ephy_reset_gpio;
490b35f0c5SFlorian Fainelli 
500b35f0c5SFlorian Fainelli 	/* External PHY reset GPIO flags from gpio.h */
510b35f0c5SFlorian Fainelli 	unsigned long ephy_reset_gpio_flags;
52e7300d04SMaxime Bizon };
53e7300d04SMaxime Bizon 
54e7300d04SMaxime Bizon #endif /* ! BOARD_BCM963XX_H_ */
55