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 #include <bcm63xx_dev_dsp.h> 11e7300d04SMaxime Bizon 12e7300d04SMaxime Bizon /* 13e7300d04SMaxime Bizon * flash mapping 14e7300d04SMaxime Bizon */ 15e7300d04SMaxime Bizon #define BCM963XX_CFE_VERSION_OFFSET 0x570 16e7300d04SMaxime Bizon #define BCM963XX_NVRAM_OFFSET 0x580 17e7300d04SMaxime Bizon 18e7300d04SMaxime Bizon /* 19e7300d04SMaxime Bizon * board definition 20e7300d04SMaxime Bizon */ 21e7300d04SMaxime Bizon struct board_info { 22e7300d04SMaxime Bizon u8 name[16]; 23e7300d04SMaxime Bizon unsigned int expected_cpu_id; 24e7300d04SMaxime Bizon 25e7300d04SMaxime Bizon /* enabled feature/device */ 26e7300d04SMaxime Bizon unsigned int has_enet0:1; 27e7300d04SMaxime Bizon unsigned int has_enet1:1; 286f00a022SMaxime Bizon unsigned int has_enetsw:1; 29e7300d04SMaxime Bizon unsigned int has_pci:1; 30e7300d04SMaxime Bizon unsigned int has_pccard:1; 31e7300d04SMaxime Bizon unsigned int has_ohci0:1; 32e7300d04SMaxime Bizon unsigned int has_ehci0:1; 3322df90f6SKevin Cernekee unsigned int has_usbd:1; 34e7300d04SMaxime Bizon unsigned int has_dsp:1; 35524ef29cSMaxime Bizon unsigned int has_uart0:1; 36524ef29cSMaxime Bizon unsigned int has_uart1:1; 37e7300d04SMaxime Bizon 38e7300d04SMaxime Bizon /* ethernet config */ 39e7300d04SMaxime Bizon struct bcm63xx_enet_platform_data enet0; 40e7300d04SMaxime Bizon struct bcm63xx_enet_platform_data enet1; 416f00a022SMaxime Bizon struct bcm63xx_enetsw_platform_data enetsw; 42e7300d04SMaxime Bizon 4322df90f6SKevin Cernekee /* USB config */ 4422df90f6SKevin Cernekee struct bcm63xx_usbd_platform_data usbd; 4522df90f6SKevin Cernekee 46e7300d04SMaxime Bizon /* DSP config */ 47e7300d04SMaxime Bizon struct bcm63xx_dsp_platform_data dsp; 48e7300d04SMaxime Bizon 49e7300d04SMaxime Bizon /* GPIO LEDs */ 50e7300d04SMaxime Bizon struct gpio_led leds[5]; 510b35f0c5SFlorian Fainelli 520b35f0c5SFlorian Fainelli /* External PHY reset GPIO */ 530b35f0c5SFlorian Fainelli unsigned int ephy_reset_gpio; 540b35f0c5SFlorian Fainelli 550b35f0c5SFlorian Fainelli /* External PHY reset GPIO flags from gpio.h */ 560b35f0c5SFlorian Fainelli unsigned long ephy_reset_gpio_flags; 57e7300d04SMaxime Bizon }; 58e7300d04SMaxime Bizon 59e7300d04SMaxime Bizon #endif /* ! BOARD_BCM963XX_H_ */ 60