xref: /OK3568_Linux_fs/kernel/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef BOARD_BCM963XX_H_
3*4882a593Smuzhiyun #define BOARD_BCM963XX_H_
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #include <linux/types.h>
6*4882a593Smuzhiyun #include <linux/gpio.h>
7*4882a593Smuzhiyun #include <linux/leds.h>
8*4882a593Smuzhiyun #include <bcm63xx_dev_enet.h>
9*4882a593Smuzhiyun #include <bcm63xx_dev_usb_usbd.h>
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun /*
12*4882a593Smuzhiyun  * flash mapping
13*4882a593Smuzhiyun  */
14*4882a593Smuzhiyun #define BCM963XX_CFE_VERSION_OFFSET	0x570
15*4882a593Smuzhiyun #define BCM963XX_NVRAM_OFFSET		0x580
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun /*
18*4882a593Smuzhiyun  * board definition
19*4882a593Smuzhiyun  */
20*4882a593Smuzhiyun struct board_info {
21*4882a593Smuzhiyun 	u8		name[16];
22*4882a593Smuzhiyun 	unsigned int	expected_cpu_id;
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun 	/* enabled feature/device */
25*4882a593Smuzhiyun 	unsigned int	has_enet0:1;
26*4882a593Smuzhiyun 	unsigned int	has_enet1:1;
27*4882a593Smuzhiyun 	unsigned int	has_enetsw:1;
28*4882a593Smuzhiyun 	unsigned int	has_pci:1;
29*4882a593Smuzhiyun 	unsigned int	has_pccard:1;
30*4882a593Smuzhiyun 	unsigned int	has_ohci0:1;
31*4882a593Smuzhiyun 	unsigned int	has_ehci0:1;
32*4882a593Smuzhiyun 	unsigned int	has_usbd:1;
33*4882a593Smuzhiyun 	unsigned int	has_uart0:1;
34*4882a593Smuzhiyun 	unsigned int	has_uart1:1;
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun 	/* ethernet config */
37*4882a593Smuzhiyun 	struct bcm63xx_enet_platform_data enet0;
38*4882a593Smuzhiyun 	struct bcm63xx_enet_platform_data enet1;
39*4882a593Smuzhiyun 	struct bcm63xx_enetsw_platform_data enetsw;
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun 	/* USB config */
42*4882a593Smuzhiyun 	struct bcm63xx_usbd_platform_data usbd;
43*4882a593Smuzhiyun 
44*4882a593Smuzhiyun 	/* GPIO LEDs */
45*4882a593Smuzhiyun 	struct gpio_led leds[5];
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun 	/* External PHY reset GPIO */
48*4882a593Smuzhiyun 	unsigned int ephy_reset_gpio;
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun 	/* External PHY reset GPIO flags from gpio.h */
51*4882a593Smuzhiyun 	unsigned long ephy_reset_gpio_flags;
52*4882a593Smuzhiyun };
53*4882a593Smuzhiyun 
54*4882a593Smuzhiyun #endif /* ! BOARD_BCM963XX_H_ */
55