/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __BCM47XX_BOARD_H
#define __BCM47XX_BOARD_H

enum bcm47xx_board {
	BCM47XX_BOARD_ASUS_RTAC66U,
	BCM47XX_BOARD_ASUS_RTN10,
	BCM47XX_BOARD_ASUS_RTN10D,
	BCM47XX_BOARD_ASUS_RTN10U,
	BCM47XX_BOARD_ASUS_RTN12,
	BCM47XX_BOARD_ASUS_RTN12B1,
	BCM47XX_BOARD_ASUS_RTN12C1,
	BCM47XX_BOARD_ASUS_RTN12D1,
	BCM47XX_BOARD_ASUS_RTN12HP,
	BCM47XX_BOARD_ASUS_RTN15U,
	BCM47XX_BOARD_ASUS_RTN16,
	BCM47XX_BOARD_ASUS_RTN53,
	BCM47XX_BOARD_ASUS_RTN66U,
	BCM47XX_BOARD_ASUS_WL300G,
	BCM47XX_BOARD_ASUS_WL320GE,
	BCM47XX_BOARD_ASUS_WL330GE,
	BCM47XX_BOARD_ASUS_WL500G,
	BCM47XX_BOARD_ASUS_WL500GD,
	BCM47XX_BOARD_ASUS_WL500GPV1,
	BCM47XX_BOARD_ASUS_WL500GPV2,
	BCM47XX_BOARD_ASUS_WL500W,
	BCM47XX_BOARD_ASUS_WL520GC,
	BCM47XX_BOARD_ASUS_WL520GU,
	BCM47XX_BOARD_ASUS_WL700GE,
	BCM47XX_BOARD_ASUS_WLHDD,

	BCM47XX_BOARD_BELKIN_F7D3301,
	BCM47XX_BOARD_BELKIN_F7D3302,
	BCM47XX_BOARD_BELKIN_F7D4301,
	BCM47XX_BOARD_BELKIN_F7D4302,
	BCM47XX_BOARD_BELKIN_F7D4401,

	BCM47XX_BOARD_BUFFALO_WBR2_G54,
	BCM47XX_BOARD_BUFFALO_WHR2_A54G54,
	BCM47XX_BOARD_BUFFALO_WHR_G125,
	BCM47XX_BOARD_BUFFALO_WHR_G54S,
	BCM47XX_BOARD_BUFFALO_WHR_HP_G54,
	BCM47XX_BOARD_BUFFALO_WLA2_G54L,
	BCM47XX_BOARD_BUFFALO_WZR_G300N,
	BCM47XX_BOARD_BUFFALO_WZR_RS_G54,
	BCM47XX_BOARD_BUFFALO_WZR_RS_G54HP,

	BCM47XX_BOARD_CISCO_M10V1,
	BCM47XX_BOARD_CISCO_M20V1,

	BCM47XX_BOARD_DELL_TM2300,

	BCM47XX_BOARD_DLINK_DIR130,
	BCM47XX_BOARD_DLINK_DIR330,

	BCM47XX_BOARD_HUAWEI_E970,

	BCM47XX_BOARD_LINKSYS_E900V1,
	BCM47XX_BOARD_LINKSYS_E1000V1,
	BCM47XX_BOARD_LINKSYS_E1000V2,
	BCM47XX_BOARD_LINKSYS_E1000V21,
	BCM47XX_BOARD_LINKSYS_E1200V2,
	BCM47XX_BOARD_LINKSYS_E2000V1,
	BCM47XX_BOARD_LINKSYS_E3000V1,
	BCM47XX_BOARD_LINKSYS_E3200V1,
	BCM47XX_BOARD_LINKSYS_E4200V1,
	BCM47XX_BOARD_LINKSYS_WRT150NV1,
	BCM47XX_BOARD_LINKSYS_WRT150NV11,
	BCM47XX_BOARD_LINKSYS_WRT160NV1,
	BCM47XX_BOARD_LINKSYS_WRT160NV3,
	BCM47XX_BOARD_LINKSYS_WRT300N_V1,
	BCM47XX_BOARD_LINKSYS_WRT300NV11,
	BCM47XX_BOARD_LINKSYS_WRT310NV1,
	BCM47XX_BOARD_LINKSYS_WRT310NV2,
	BCM47XX_BOARD_LINKSYS_WRT54G3GV2,
	BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0101,
	BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0467,
	BCM47XX_BOARD_LINKSYS_WRT54G_TYPE_0708,
	BCM47XX_BOARD_LINKSYS_WRT600N_V11,
	BCM47XX_BOARD_LINKSYS_WRT610NV1,
	BCM47XX_BOARD_LINKSYS_WRT610NV2,
	BCM47XX_BOARD_LINKSYS_WRTSL54GS,

	BCM47XX_BOARD_LUXUL_ABR_4400_V1,
	BCM47XX_BOARD_LUXUL_XAP_310_V1,
	BCM47XX_BOARD_LUXUL_XAP_1210_V1,
	BCM47XX_BOARD_LUXUL_XAP_1230_V1,
	BCM47XX_BOARD_LUXUL_XAP_1240_V1,
	BCM47XX_BOARD_LUXUL_XAP_1500_V1,
	BCM47XX_BOARD_LUXUL_XBR_4400_V1,
	BCM47XX_BOARD_LUXUL_XVW_P30_V1,
	BCM47XX_BOARD_LUXUL_XWR_600_V1,
	BCM47XX_BOARD_LUXUL_XWR_1750_V1,

	BCM47XX_BOARD_MICROSOFT_MN700,

	BCM47XX_BOARD_MOTOROLA_WE800G,
	BCM47XX_BOARD_MOTOROLA_WR850GP,
	BCM47XX_BOARD_MOTOROLA_WR850GV2V3,

	BCM47XX_BOARD_NETGEAR_WGR614V8,
	BCM47XX_BOARD_NETGEAR_WGR614V9,
	BCM47XX_BOARD_NETGEAR_WGR614_V10,
	BCM47XX_BOARD_NETGEAR_WNDR3300,
	BCM47XX_BOARD_NETGEAR_WNDR3400V1,
	BCM47XX_BOARD_NETGEAR_WNDR3400V2,
	BCM47XX_BOARD_NETGEAR_WNDR3400_V3,
	BCM47XX_BOARD_NETGEAR_WNDR3400VCNA,
	BCM47XX_BOARD_NETGEAR_WNDR3700V3,
	BCM47XX_BOARD_NETGEAR_WNDR4000,
	BCM47XX_BOARD_NETGEAR_WNDR4500V1,
	BCM47XX_BOARD_NETGEAR_WNDR4500V2,
	BCM47XX_BOARD_NETGEAR_WNR2000,
	BCM47XX_BOARD_NETGEAR_WNR3500L,
	BCM47XX_BOARD_NETGEAR_WNR3500U,
	BCM47XX_BOARD_NETGEAR_WNR3500V2,
	BCM47XX_BOARD_NETGEAR_WNR3500V2VC,
	BCM47XX_BOARD_NETGEAR_WNR834BV2,

	BCM47XX_BOARD_PHICOMM_M1,

	BCM47XX_BOARD_SIEMENS_SE505V2,

	BCM47XX_BOARD_SIMPLETECH_SIMPLESHARE,

	BCM47XX_BOARD_ZTE_H218N,

	BCM47XX_BOARD_UNKNOWN,
	BCM47XX_BOARD_NO,
};

#define BCM47XX_BOARD_MAX_NAME 30

void bcm47xx_board_detect(void);
enum bcm47xx_board bcm47xx_board_get(void);
const char *bcm47xx_board_get_name(void);

#endif /* __BCM47XX_BOARD_H */
