/*
 * Copyright (c) 2010 Broadcom Corporation
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#ifndef	_BRCM_HW_IDS_H_
#define	_BRCM_HW_IDS_H_

#define	BCM4325_D11DUAL_ID	0x431b
#define	BCM4325_D11G_ID		0x431c
#define	BCM4325_D11A_ID		0x431d

#define BCM4329_D11N2G_ID	0x432f	/* 4329 802.11n 2.4G device */
#define BCM4329_D11N5G_ID	0x4330	/* 4329 802.11n 5G device */
#define BCM4329_D11NDUAL_ID	0x432e

#define BCM4319_D11N_ID		0x4337	/* 4319 802.11n dualband device */
#define BCM4319_D11N2G_ID	0x4338	/* 4319 802.11n 2.4G device */
#define BCM4319_D11N5G_ID	0x4339	/* 4319 802.11n 5G device */

#define BCM43224_D11N_ID	0x4353	/* 43224 802.11n dualband device */
#define BCM43224_D11N_ID_VEN1	0x0576	/* Vendor specific 43224 802.11n db */

#define BCM43225_D11N2G_ID	0x4357	/* 43225 802.11n 2.4GHz device */

#define BCM43236_D11N_ID	0x4346	/* 43236 802.11n dualband device */
#define BCM43236_D11N2G_ID	0x4347	/* 43236 802.11n 2.4GHz device */

#define BCM4313_D11N2G_ID	0x4727	/* 4313 802.11n 2.4G device */

/* Chip IDs */
#define BCM4313_CHIP_ID		0x4313	/* 4313 chip id */
#define	BCM4319_CHIP_ID		0x4319	/* 4319 chip id */

#define	BCM43224_CHIP_ID	43224	/* 43224 chipcommon chipid */
#define	BCM43225_CHIP_ID	43225	/* 43225 chipcommon chipid */
#define	BCM43421_CHIP_ID	43421	/* 43421 chipcommon chipid */
#define	BCM43235_CHIP_ID	43235	/* 43235 chipcommon chipid */
#define	BCM43236_CHIP_ID	43236	/* 43236 chipcommon chipid */
#define	BCM43238_CHIP_ID	43238	/* 43238 chipcommon chipid */
#define	BCM4329_CHIP_ID		0x4329	/* 4329 chipcommon chipid */
#define	BCM4325_CHIP_ID		0x4325	/* 4325 chipcommon chipid */
#define	BCM4331_CHIP_ID		0x4331	/* 4331 chipcommon chipid */
#define BCM4336_CHIP_ID		0x4336	/* 4336 chipcommon chipid */
#define BCM4330_CHIP_ID		0x4330	/* 4330 chipcommon chipid */
#define BCM6362_CHIP_ID		0x6362	/* 6362 chipcommon chipid */

#endif				/* _BRCM_HW_IDS_H_ */
