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 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_uart0:1; 34 unsigned int has_uart1:1; 35 36 /* ethernet config */ 37 struct bcm63xx_enet_platform_data enet0; 38 struct bcm63xx_enet_platform_data enet1; 39 struct bcm63xx_enetsw_platform_data enetsw; 40 41 /* USB config */ 42 struct bcm63xx_usbd_platform_data usbd; 43 44 /* GPIO LEDs */ 45 struct gpio_led leds[5]; 46 47 /* External PHY reset GPIO */ 48 unsigned int ephy_reset_gpio; 49 50 /* External PHY reset GPIO flags from gpio.h */ 51 unsigned long ephy_reset_gpio_flags; 52 }; 53 54 #endif /* ! BOARD_BCM963XX_H_ */ 55