1*b2441318SGreg 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