18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef BOARD_BCM963XX_H_
38c2ecf20Sopenharmony_ci#define BOARD_BCM963XX_H_
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <linux/types.h>
68c2ecf20Sopenharmony_ci#include <linux/gpio.h>
78c2ecf20Sopenharmony_ci#include <linux/leds.h>
88c2ecf20Sopenharmony_ci#include <bcm63xx_dev_enet.h>
98c2ecf20Sopenharmony_ci#include <bcm63xx_dev_usb_usbd.h>
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci/*
128c2ecf20Sopenharmony_ci * flash mapping
138c2ecf20Sopenharmony_ci */
148c2ecf20Sopenharmony_ci#define BCM963XX_CFE_VERSION_OFFSET	0x570
158c2ecf20Sopenharmony_ci#define BCM963XX_NVRAM_OFFSET		0x580
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci/*
188c2ecf20Sopenharmony_ci * board definition
198c2ecf20Sopenharmony_ci */
208c2ecf20Sopenharmony_cistruct board_info {
218c2ecf20Sopenharmony_ci	u8		name[16];
228c2ecf20Sopenharmony_ci	unsigned int	expected_cpu_id;
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci	/* enabled feature/device */
258c2ecf20Sopenharmony_ci	unsigned int	has_enet0:1;
268c2ecf20Sopenharmony_ci	unsigned int	has_enet1:1;
278c2ecf20Sopenharmony_ci	unsigned int	has_enetsw:1;
288c2ecf20Sopenharmony_ci	unsigned int	has_pci:1;
298c2ecf20Sopenharmony_ci	unsigned int	has_pccard:1;
308c2ecf20Sopenharmony_ci	unsigned int	has_ohci0:1;
318c2ecf20Sopenharmony_ci	unsigned int	has_ehci0:1;
328c2ecf20Sopenharmony_ci	unsigned int	has_usbd:1;
338c2ecf20Sopenharmony_ci	unsigned int	has_uart0:1;
348c2ecf20Sopenharmony_ci	unsigned int	has_uart1:1;
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	/* ethernet config */
378c2ecf20Sopenharmony_ci	struct bcm63xx_enet_platform_data enet0;
388c2ecf20Sopenharmony_ci	struct bcm63xx_enet_platform_data enet1;
398c2ecf20Sopenharmony_ci	struct bcm63xx_enetsw_platform_data enetsw;
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci	/* USB config */
428c2ecf20Sopenharmony_ci	struct bcm63xx_usbd_platform_data usbd;
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci	/* GPIO LEDs */
458c2ecf20Sopenharmony_ci	struct gpio_led leds[5];
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci	/* External PHY reset GPIO */
488c2ecf20Sopenharmony_ci	unsigned int ephy_reset_gpio;
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	/* External PHY reset GPIO flags from gpio.h */
518c2ecf20Sopenharmony_ci	unsigned long ephy_reset_gpio_flags;
528c2ecf20Sopenharmony_ci};
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci#endif /* ! BOARD_BCM963XX_H_ */
55