xref: /linux/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h (revision b24413180f5600bcb3bb70fbed5cf186b60864bd)
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