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 */
20struct 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