#ifndef PPROM_H
#define	PPROM_H
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *
 *   PPROM.H
 *
 *   Header for Personality Information.
 *
 *   Copyright (C) 2006 Allied Telesis Labs
 *
 * ------------------------------------------------------------------------
 */
/* magic number for PPROM */
#define PPROM_MAGIC_NUMBER	0x5050524f

/* defines for PPROM types
 */
#define	PPR_TYPE_DS2400		0
#define PPR_TYPE_DS2502		1
#define PPR_TYPE_BOOTFLASH	2
#define PPR_TYPE_FLASH		3

/* OEM code defines
 */
#define PPR_OEM_ATI_USA				0
#define PPR_OEM_ATI_EUROPE			1
#define PPR_OEM_ATKK				2
#define PPR_OEM_NTT				6 

#define PPR_OEM_MAX		7

#define PPR_OEM_BASE	0x1000
#define PPR_OEM_TOP		( PPR_OEM_BASE + PPR_OEM_MAX )

/* a define for the value of a word in the PPROM that is not programmed
 */
#define	PPR_UNPROG_WORD	0x0000

/* pprom addresses
 */
#define	PPROM_MAIN_ADDRESS	0x014f8e00
#define	PPROM_EXP_ADDRESS	0x01600e00
#define	PPROM_ENG_ADDRESS	0x017ffe00

typedef struct
{
    unsigned int magicNumber;
    unsigned short oemCode;
    unsigned char  manufactId;
    unsigned char  manufactDate;
    unsigned short boardType;
    unsigned short revisionCode;
    unsigned char  macAddress1[6];
    unsigned char  macAddress2[6];
    unsigned int reservedFuture;
    unsigned short personalityCheck;
    unsigned short hwModLevel;
} ppromPpr3PersonalityT;

/* Board Type IDs are unique board indentifiers. Types
 * may be added sequentially, BUT existing values MUST NOT BE CHANGED
 * This is the register for board types, all other definitions
 * must match this one. 
 * Notes;
 *	1) 'MPR' & 'SLR' are used for boards for MPR & SLR models 
 *  	   'MPR' is used for boards which can go in both (eg Comp)
 *
 *	2) The Async16 board PPROM is the same as the Async12 PPROM -
 *	   ie both types should have a board type ID of PPR_MPR_ASYNC12.
 *	   After reading the PPROM the interface board type is detected 
 *	   and the correct ID is then selected(!)
 */
#define	PPR_KIWI_L3SW		86	/* MC8240 based L3 switch */
#define	PPR_NSM_4PIC		87	/* NSM supporting 4 PICs with 2 M360s */
#define	PPR_GBUL_SX_FIBRE	88	/* Gigabit uplink module, SX fibre */
#define	PPR_GBUL_LX_FIBRE	89	/* Gigabit uplink module, LX fibre */
#define	PPR_GBUL_MTRJ_FIBRE	90	/* Gigabit uplink module, MT-RJ fibre */
#define	PPR_GBUL_VF45_FIBRE	91	/* Gigabit uplink module, VF-45 fibre */
#define	PPR_GBUL_LC_FIBRE	92	/* Gigabit uplink module, LC fibre */
#define	PPR_GBUL_TX_COPPER	93	/* Gigabit uplink module, TX copper */
#define	PPR_ATOM_48V		94	/* 48V DC version of AR740 */
#define	PPR_NSM_8BRI		95	/* AR041 NSM with 8 BRI ports */
#define	PPR_RAPIER_16FSC	96	/* MC8240/Broadcom 5600 based L3 switch with 16 SC fibre ports */
#define	PPR_8624XL_80		97	/* MC8240/Broadcom 5600 based L3 switch with 24 10/100 ports and 48VDC PS */
#define	PPR_RAPIER_16FMT	98	/* MC8240/Broadcom 5600 based L3 switch with 16 MT fibre ports */
#define	PPR_RAPIERV2_16FMT	99	/* RP16FMTii MC8240/Broadcom 5615 based L3 switch with 16 MT fibre ports */
#define	PPR_RAPIER_8T8FSC	100	/* MC8240/Broadcom 5600 based L3 switch with 8 Cu and 8 SC fibre ports */
#define	PPR_RAPIERV2_8T8FSC	101	/* RP8t8fSCii MC8240/Broadcom 5615 based L3 switch with 8 Cu and 8 SC fibre ports */
#define	PPR_RAPIER_8T8FMT	102	/* MC8240/Broadcom 5600 based L3 switch with 8 Cu and 8 MT fibre ports */
#define	PPR_RAPIERV2_8T8FMT	103	/* RP8t8fMTii MC8240/Broadcom 5615 based L3 switch with 8 Cu and 8 MT fibre ports */
#define	PPR_RAPIER_8FSC		104	/* MC8240/Broadcom 5600 based L3 switch with 8 SC fibre ports  */
#define	PPR_RAPIERV2_8FSC	105	/* RP8FSCii MC8240/Broadcom 5615 based L3 switch with 8 SC fibre ports  */
#define	PPR_RAPIER_8FMT		106	/* MC8240/Broadcom 5600 based L3 switch with 8 MT fibre ports  */
#define	PPR_RAPIERV2_8FMT	107	/* RP8FMTii MC8240/Broadcom 5615 based L3 switch with 8 MT fibre ports  */
#define	PPR_RAPIER_24		108	/* MC8240/Broadcom 5600 based L3 switch with 24 10/100 ports */
#define	PPR_RAPIER_G6T		109	/* MC8240/Broadcom 5680 based L3 switch with 6 Cu ports */
#define	PPR_RAPIER_G6SCSX	110	/* MC8240/Broadcom 5680 based L3 switch with 6 SC-SX fibre ports */
#define	PPR_RAPIER_G6SCLX	111	/* MC8240/Broadcom 5680 based L3 switch with 6 SC-LX fibre ports */
#define	PPR_RAPIER_G6MT		112	/* MC8240/Broadcom 5680 based L3 switch with 6 MT fibre ports */
#define	PPR_RAPIERV2_16FSC	113	/* RP16FSCii MC8240/Broadcom 5615 based L3 switch with 16 SC fibre ports */
#define	PPR_RAPIERV2_24		114	/* RP24ii MC8240/Broadcom 5615 based L3 switch with 24 10/100 ports */
#define	PPR_AR_824			115	/* AR824 MC8240/Broadcom 5600 based L3 switch with 24 10/100 ports */
#define	PPR_AR_816FSC		116	/* AR816FSC MC8240/Broadcom 5600 based L3 switch with 16 SC fibre ports */
#define	PPR_AR_V2_816FSC	117	/* AR816FSCii MC8240/Broadcom 5615 based L3 switch with 16 SC fibre ports */
#define	PPR_AR_816FMT		118	/* AR816FMT MC8240/Broadcom 5600 based L3 switch with 16 MT fibre ports */
#define	PPR_AR_V2_816FMT	119	/* AR816FMTii MC8240/Broadcom 5615 based L3 switch with 16 MT fibre ports */
#define	PPR_AR_88T8FSC		120	/* AR88T8FSC MC8240/Broadcom 5600 based L3 switch with 8 Cu and 8 SC fibre ports */
#define	PPR_AR_V2_88T8FSC	121	/* AR88T8FSCii MC8240/Broadcom 5615 based L3 switch with 8 Cu and 8 SC fibre ports */
#define	PPR_AR_88T8FMT		122	/* AR88T8FMT MC8240/Broadcom 5600 based L3 switch with 8 Cu and 8 MT fibre ports */
#define	PPR_AR_V2_88T8FMT	123 /* AR88T8FMTii MC8240/Broadcom 5615 based L3 switch with 8 Cu and 8 MT fibre ports */
#define	PPR_AR_88FSC		124 /* AR88T MC8240/Broadcom 5600 based L3 switch with 8 SC fibre ports */
#define	PPR_AR_V2_88FSC		125 /* AR88Tii MC8240/Broadcom 5615 based L3 switch with 8 SC fibre ports */
#define	PPR_AR_88FMT		126 /* AR88T MC8240/Broadcom 5600 based L3 switch with 8 MT fibre ports */
#define	PPR_AR_V2_88FMT		127 /* AR88Tii MC8240/Broadcom 5615 based L3 switch with 8 MT fibre ports */
#define	PPR_AR_V2_824		128	/* AR824ii MC8240/Broadcom 5615 based L3 switch with 24 10/100 ports */
#define	PPR_AT_8724XL		129	/* MC8240/Broadcom 5615 based L3 switch with 24 10/100 ports */
#define	PPR_AT_8748XL		130 /* MC8240/Broadcom 5615 based L3 switch with 48 10/100 ports */
#define	PPR_AT_8724XL_DC	131	/* MC8240/Broadcom 5615 based L3 switch with 24 10/100 ports and 48VDC PS */
#define	PPR_AT_8748XL_DC	132	/* MC8240/Broadcom 5615 based L3 switch with 48 10/100 ports and 48VDC PS */
#define	PPR_RAPIERMAX_24	133	/* RPMAX24 MC8245/Broadcom 5645 based L3 switch with 24 10/100 ports */
#define	PPR_RAPIERMAX_24_DC	134	/* RPMAX24 MC8245/Broadcom 5645 based L3 switch with 24 10/100 ports and 48VDC PS */

#define	PPR_8724XL_80			140	/* MC8240/Broadcom 5615 based L3 switch with 24 10/100 ports and 48VDC PS, Special product for YahooBB */
#define	PPR_8748XL_80			141	/* MC8240/Broadcom 5615 based L3 switch with 48 10/100 ports and 48VDC PS, Special product for YahooBB */
#define	PPR_RAPIERV2_24_NEBS	142	/* RP24ii MC8240/Broadcom 5615 based L3 switch with 24 10/100 ports, NEBS */
#define	PPR_RAPIERV2_24_DC_NEBS	143	/* RP24ii MC8240/Broadcom 5615 based L3 switch with 24 10/100 ports, 48VDC PSU, NEBS */
#define	PPR_AT_8724XL_NEBS		144	/* MPC8240/Broadcom 5615 based L2+ switch with 24 10/100 port, NEBS */
#define	PPR_AT_8724XL_DC_NEBS	145	/* MPC8240/Broadcom 5615 based L2+ switch with 24 10/100 ports 48VDC PSU, NEBS */
#define	PPR_RAPIERMAX_48_DC 	146	/* RPMAX48 MC8245/Broadcom 5645 based L3 switch with 48 10/100 ports, 2 GBIC ports and 48VDC PS */
#define	PPR_RAPIER_48			147	/* RP48 MC8240/Broadcom 5600 based L3 switch with 48 10/100 ports */
#define	PPR_RAPIERMAX_48		148	/* RPMAX48 MC8245/Broadcom 5645 based L3 switch with 48 10/100 ports, 2 GBIC ports */
#define	PPR_RAPIERV2_48			149	/* RP48ii MC8240/Broadcom 5615 based L3 switch with 48 10/100 ports */
#define	PPR_NSM_4BRI			150	/* AR042 NSM with 4 BRI ports */
#define	PPR_AR_410W				151	/* AR410W, 4 switched 10/100 ports, PCMCIA for wireless LAN, up to rev M1 */
#define	PPR_AR_410_OLD			151	/* AR410W, 4 switched 10/100 ports, PCMCIA for wireless LAN, up to rev M1 */
#define	PPR_PIC_4ETH10_100		152	/* AR026 PIC with 4 switched 10/100 ETH ports */
#define	PPR_CEPAC				153	/* ENCO CEPAC card with the Hifn 7751 encryption processor */
#define	PPR_CPAC				154	/* ENCO CPAC card with the Hifn 7751 encryption processor */
#define	PPR_CEMACv2				155	/* ENCO CEMACv2 card with the Hifn 7711 encryption processor */
#define PPR_CLAYMORE_G16F		156	/* AT-9816GF with 16 GBIC ports, Switchcore chip, Rapier PSU (board #185 higher based power)*/
#define PPR_CLAYMORE_G12TF		157	/* AT-9812TF with 12 Copper ports, 4 GBIC ports, Switchcore chip Rapier PSU (board #186 higher based power)  */
#define PPR_SB10400_CHASSIS		158	/* SwitchBlade 4 Slot Chassis for AC Power Supply */
#define PPR_SB10480_CHASSIS		159	/* SwitchBlade 4 Slot Chassis for DC Power Supply */
#define PPR_SB10800_CHASSIS		160	/* SwitchBlade 8 Slot Chassis for AC Power Supply */
#define PPR_SB10880_CHASSIS		161	/* SwitchBlade 8 Slot Chassis for DC Power Supply */
#define PPR_SB11600_CHASSIS		162	/* SwitchBlade 16 Slot Chassis for AC Power Supply */
#define PPR_SB11680_CHASSIS		163	/* SwitchBlade 16 Slot Chassis for DC Power Supply */
#define PPR_SB211_CTRL_BLADE	164	/* SwitchBlade control blade */
#define PPR_SB212_CTRL_BLADE	165	/* SwitchBlade control blade with DTM support */
#define PPR_SB348TX_FE_BLADE	166	/* SwitchBlade 48 FE port blade */
#define PPR_SB396TX_FE_BLADE	167	/* SwitchBlade 96 FE port blade */
#define PPR_SB324SC_FE_BLADE	168	/* SwitchBlade 32 Fibre FE port blade (SC) */
#define PPR_SB324MT_FE_BLADE	169	/* SwitchBlade 32 Fibre FE port blade (MT-RJ) */
#define PPR_SB324SMSC_FE_BLADE	170	/* SwitchBlade Singlemode 24/32 Fibre FE port blade (SC) */ 
#define PPR_SB408GT_GE_BLADE	171	/* SwitchBlade 8 1000BASE-T Port blade (RJ45) */
#define PPR_SB408SXSC_GE_BLADE	172	/* SwitchBlade 8 1000BASE-SX Port blade (SC) */
#define PPR_SB408SXMT_GE_BLADE	173	/* SwitchBlade 8 1000BASE-SX Port blade (MT-RJ) */
#define PPR_SB408LXSC_GE_BLADE	174	/* SwitchBlade 8 1000BASE-LX Port blade (SX) */
#define PPR_SB408LXMT_GE_BLADE	175	/* SwitchBlade 8 1000BASE-LX Port blade (MT-RJ) */
#define	PPR_AR_410				176	/* AR410, 4 switched 10/100 ports, 1 Eth port, PCMCIA for wireless LAN, rev M2 onwards */
#define PPR_ULM_SC_MULTIMODE_FIBRE	177 /* 100Base FX, multimode fiber ULM with SC connector, AT-A40/SC-00 */
#define PPR_ULM_MTRJ_MULTIMODE_FIBRE    178 /* 100Base FX, multimode fiber ULM with MTRJ connector, AT-A40/MT-00 */
#define PPR_ULM_SC_SINGLEMODE_FIBRE     179 /* 100Base FX, singlemode fiber ULM with SC connector, AT-A41/SC-00 */
#define PPR_ULM_MTRJ_SINGLEMODE_FIBRE   180 /* 100Base FX, singlemode fiber ULM with MTRJ connector, AT-A41/MT-00 */
#define PPR_AR_720B   			181 /* AR720 V2, 2 10/100 port; 128 or 256 MB SO-DIMM   */
#define PPR_AR_740B   			182 /* AR740 V2, 2 10/100 port; 128 or 256 MB SO-DIMM  */
#define PPR_SB408GBIC_GE_BLADE	183	/* SwitchBlade 8 1000BASE GBIC Port blade */
#define PPR_GBUL_GBIC			184	/* 1000Base-X Uplink Module for GBIC, AT-A42-00 */
#define PPR_CLAYMORE_G16B		185	/* AT-9816GB with 16 GBIC ports, Switchcore chip, Teamgreat PSU (board #156 lower based power)*/
#define PPR_CLAYMORE_G12T		186	/* AT-9812T with 12 Copper ports, 4 GBIC ports, Switchcore chip Teamgreat PSU (board #157 lower based power)  */
#define PPR_NSM_DS3				187 /* AT-AR048 NSM-DS3 44.736 MBits/s WAN interface */
#define PPR_spare_188			188 /* spare */
#define PPR_NOT_SUPPORTED		189 /* Any board that is recognised but cannot be used for any reason */
#define PPR_AR_450S				190	/* AR450, 5 switched 10/100 ports, 2 Eth ports, 1 Asyn port */
#define PPR_AR_450S_DUAL		191	/* AR450, 5 switched 10/100 ports, 2 Eth ports, 2 Asyn port */
#define PPR_SB4215_EXPANDER		192 /* SwitchBlade 4 Slot chassis bandwith expander */
#define PPR_AR_720B_48V			193	/* AR720 V2, 2 10/100 port; 128 or 256 MB SO-DIMM, 48V DC psu */
#define PPR_AR_740B_48V			194	/* AR740 V2, 2 10/100 port; 128 or 256 MB SO-DIMM, 48V DC psu */
#define	PPR_AR_410V2			195	/* AR410 V2, 4 switched 10/100 ports, 1 Eth port */
#define	PPR_AR_410V3			196	/* AR410 V3, 4 switched 10/100 ports, 1 Eth port */
#define	PPR_PIC_FXS				197	/* VoIP pic with 2 Foreign Exchange Station(FXS) interfaces */
#define	PPR_PIC_FXO				198	/* VoIP pic with 2 Foreign Exchange Office(FXO) interfaces */
#define	PPR_CLAYMORE_G8			199	/* AT-9808GB with 8 GBIC ports, Switchcore chip,  Teamgreat PSU (board #156 lower based power) */
#define	PPR_CLAYMORE_G8_ACCEL	200	/* Accelerator card for a Claymore G8 (AT-9808GB) */
#define PPR_CLAYMORE_48_EX		201	/* Claymore 48, 4 SFPs + 48 switched 10/100, Marvel Prestera EX */
#define PPR_CLAYMORE_8948I		202 /* 8948i, 4 SFPs + 48 switched 10/100, Marvel Prestera 98EX116 (Leaded and RoHS) */
#define PPR_CLAYMORE_G16B_80	203	/* AT-9816GB with 16 GBIC ports, Switchcore chip, and 48VDC PSU (board #185 AC PSU version) */
#define PPR_CLAYMORE_12T_80		204	/* AT-9812T with 12 Copper ports, 4 GBIC ports, Switchcore chip, and 48VDC PSU (board #186 AC PSU version) */
#define PPR_PIC_AR021S_V2		205 /* BRI pic in which an MC145574 transceiver is used (An replacement of PPR_ICM_BRI1)  */

#define UNUSED_206				206 /* spare */
#define UNUSED_207				207 /* spare */
#define UNUSED_208				208 /* spare */
#define UNUSED_209				209 /* spare */
#define PPR_CLAYMORE_48_ACCEL	210	/* Network Processor Accelerator Card, Marvel Prestera EX130/135 + NP1 */
#define UNUSED_211				211 /* spare */
#define PPR_CLAYMORE_48_AC		212	/* Claymore 48 AC Power Supply Unit [AT-PWR01-AC] */
#define PPR_CLAYMORE_48_DC		213	/* Claymore 48 DC Power Supply Unit [AT-PWR01-DC] */
#define PPR_CLAYMORE_48_FAN		214	/* Claymore 48 Fan [AT-FAN01] */
#define PPR_SB4412GT_GE_BLADE 	215	/* SwitchBlade 24 10/100/100/1000BASE-T Port blade (RJ45) */
#define PPR_SB4541_10GE_BLADE	216	/* SwitchBlade 1 10GBASE-R XFP Port blade */
#define PPR_MUSTANG_24T_4SP		217	/* Mustang 24, 24 BaseT + 4 SFP, Marvell Prestera 98EX125 */
#define PPR_MUSTANG_24SP		218	/* Mustang 24, 24 SFP, Marvell Prestera 98EX125 */
#define PPR_MUSTANG_24T_4SP_LOW_SRAM  219 /* Mustang 24, 24 BaseT + 4 SFP, Marvell Prestera 98EX125 - Low SRAM */
#define PPR_MUSTANG_24T_4SP_ACCEL 220 /* Mustang 24, 24 BaseT + 4 SFP, Marvell Prestera 98EX125, IPv6 accelerator option */
#define PPR_MUSTANG_24SP_ACCEL	221	/* Mustang 24, 24 SFP, Marvell Prestera 98EX125, IPv6 accelerator option */
#define PPR_MUSTANG_24T_ACCEL	222	/* Potential Mustang 24, 24 BaseT, Marvell Prestera 98EX125, IPv6 accelerator option */
#define PPR_MUSTANG_24T_4SP_IP6	223	/* Mustang 24, 24 BaseT + 4 SFP, Marvell Prestera 98EX126 */
#define PPR_MUSTANG_24SP_IP6	224	/* Mustang 24, 24 SFP, Marvell Prestera 98EX126 */
#define PPR_MUSTANG_24T_IP6		225	/* Potential Mustang 24, 24 BaseT, Marvell Prestera 98EX126 */
#define PPR_AR_440				226	/* AR440, MC8272 CPU, 1 ADSL1 Port (Annex A), 5 Switched 10/100 Ports, 1 Asyn Port  */
#define PPR_AR_441				227	/* AR441, MC8272 CPU, 1 ADSL1 Port (Annex B), 5 Switched 10/100 Ports, 1 Asyn Port 	*/
#define PPR_AR_442				228	/* AR442, MC8272 CPU, 1 SHDSL Port, 5 Switched 10/100 Ports, 1 Asyn Port			*/
#define PPR_AR_443				229	/* AR443, MC8272 CPU, 1 ADSL2+ (Annex A) Port, 5 Switched 10/100 Ports, 1 Asyn Port	*/
#define PPR_AR_444				230	/* AR444, MC8272 CPU, 1 ADSL2+ (Annex B) Port, 5 Switched 10/100 Ports, 1 Asyn Port	*/
#define PPR_AR_420				231	/* AR420, MC8272 CPU, 5 Switched 10/100 Ports, 1 ETH Port, 1 Asyn Port				*/
#define PPR_STINGRAY_8524		238	/* Stingray 8524 with 24 10/100 port, 2 expansion slots, BCM switch chip */
#define PPR_ULM_ATA46			239	/* 1000Base-X Uplink Module, AT-A46 */
#define PPR_AR_550				240	/* AR550, MC8555 CPU, 2 10/100 Eth Ports, 5 Switched 10/100 Ports, 1 Asyn Port, 1 PIC slot */
#define PPR_AR_551				241	/* AR551, MC8555 CPU, 2 10/100 Eth Ports, 5 Switched 10/100 Ports, 1 Asyn Port, 2 PIC slots */
#define PPR_AR_552				242	/* AR552, MC8555 CPU, 2 10/100 Eth Ports, 5 Switched 10/100 Ports, 1 Asyn Port,  no PIC slots */
#define PPR_ULM_ATA45_SC		243	/* 100Base-FX/SC, multimode fibre Uplink Module, AT-A45/SC */
#define PPR_ULM_ATA45_SCSM		244	/* 100Base-FX/SC, singlemode fibre Uplink Module, AT-A45/SC-SM */
#define PPR_ULM_ATA45_MT		245	/* 100Base-FX/MTRJ, multimode fibre Uplink Module, AT-A45/MT */
#define PPR_ULM_ATA47_GBIC		246	/* 1000Base-X Uplink Module for GBIC, AT-A47 */

#define PPR_STINGRAY_48			251	/* Stingray 8648/2SP with 48 10/100 port, 2 SFP slots, BCM switch chip */
#define PPR_STINGRAY_POE		252	/* Stingray PoE 24 port 10/100BaseT + 2 uplink modules */
#define PPR_CLAYMORE_48_REV_AC	253	/* Claymore 48 AC Power Supply Unit - Reverse Fans [AT-PWR01R-AC] */
#define PPR_CLAYMORE_48_REV_FAN 254 /* Claymore 48 Reverse Fan [AT-FAN01R] */
#define PPR_RAPTOR_24T                  255	/*Raptor 24, 24 BaseT, Marvell Prestera 98EX125*/
#define PPR_RAPTOR_24SP			256 /* Potential Raptor 24, 24 SFP, Marvell Prestera 98EX125 */
#define PPR_AR_570				257	/* AR570, MPC8555 CPU, 2 10/100/100 Eth Ports, 4 Switched 10/100/1000 Ports, 1 Asyn Port, 1 PIC slot */
#define PPR_AR_590				258	/* AR590, MPC8548 CPU, 2 10/100/100 Eth Ports, 4 Switched 10/100/1000 Ports, 1 Asyn Port, 1 EPIC slot */
#define PPR_AR_780				259	/* AR780, MPC8548 CPU, 6 10/100/100 Eth Ports, 1 Asyn Port, 1 EPIC slot */
#define PPR_AR_910				260	/* AR910, 6 x MPC8548 CPU, 6 10/100/100 Eth Ports, 1 Asyn Port, 1 EPIC slot */
#define PPR_C8724ML				261	/* CentreCOM 8724ML */
#define PPR_C8712ML				262	/* CentreCOM 8712ML */
#define PPR_CLAYMORE_48_AC_2		263	/* Claymore 48 AC Power Supply Unit [AT-PWR02-AC] */
#define PPR_CLAYMORE_48_REV_AC_2	264	/* Claymore 48 AC Power Supply Unit - Reverse Fans [AT-PWR02R-AC] */
#define PPR_XUM_10G			265	/* 10GbE XUM, 1 X 10Gb port, Marvell Prestera 98EX135 */
#define PPR_XUM_12T			266	/* 12 x RJ45 XUM, 12 x 10/100/1000-BaseT ports, Marvell Prestera 98EX125 */
#define PPR_XUM_12SFP			267	/* 12 x SFP XUM, 12 x SFP ports, Marvell Prestera 98EX125 */
#define PPR_SB4442V2_SFP_GE_BLADE 	268	/* SwitchBlade 24 SFP 1000BASE-X Port blade */
#define PPR_AR_770				269	/* AR770S, MC8555 CPU, 2 10/100/1000 Eth Ports, 4 Switched 10/100/1000 Ports, 1 Asyn Port, 2 PIC slot */
#define PPR_RAPTOR_24T_I                270	/*Raptor 24 port Gigabit copper with IPv6 in hardware*/
#define PPR_RAPTOR_24SP_I               271	/*Raptor 24 port Gigabit SFP with IPv6 in hardware*/
#define PPR_XUM_10G_I                   272	/*10GbE XEM, 1 X 10Gb port, Marvell Prestera 98EX136, IPv6 in hardware*/
#define PPR_XUM_12SFP_I                 273	/*12 x SFP XEM, 12 x SFP ports, Marvell Prestera 98EX126, IPv6 in hardware*/
#define PPR_XUM_12T_I                   274	/*12 x RJ45 XEM, 12 x 10/100/1000-BaseT ports, Marvell Prestera 98EX126, IPv6 in hardware*/
#define PPR_AR_415			275	/* AR415S, MPC 8248 Based Router */
#define PPR_AR_415_DC			276	/* AR415S, MPC 8248 Based Router, 48V DC PSU */
#define PPR_AR_550_DP			277	/* AR550S router with dual power supply and two PIC slots */

#define PPR_CLAYMORE_8948I_N	278 /* 8948i, 4 SFPs + 48 switched 10/100, Marvel Prestera 98EX116, NEBS compliant */
#define PPR_XUM_12T_I_N                 279	/*12 x RJ45 XEM, 12 x 10/100/1000-BaseT ports, Marvell Prestera 98EX126, IPv6 in hardware, NEBS*/
#define PPR_RAPTOR_24T_I_N              280	/*Raptor 24 port Gigabit copper with IPv6 in hardware, NEBS*/
#define	PPR_XCALIBUR                    281	/* 10908i - 8 x XEM Modules with IPv6 in hardware, NEBS, ROHS*/

#define	PPR_XUM_STK			285	/* Stacking XUM, 2 x 15GB ports */

//>>>>>>see note below when you add a number to this list!!!!!

#define PPR_TOP				PPR_XUM_STK	/* highest defined board type */
#define PPR_BOTTOM			PPR_KIWI_L3SW   /* lowest defined board type */

#define PPR_UNKNOWN_BOARD		0xFFFF				/* Board type unknown */

/* hardware revision codes
 */
#define PPR_REV_M1		0	/* 1st manufacture rev */
#define PPR_REV_M2		1	/* 2nd manufacture rev */
#define PPR_REV_M3		2	/* 3rd manufacture rev */
#define PPR_REV_M4		3	/* 4th manufacture rev */
#define PPR_REV_M5		4	/* 5th manufacture rev */
#define PPR_REV_M6		5	/* 6th manufacture rev */
#define PPR_REV_M7		6	/* 7th manufacture rev */
#define PPR_REV_M8		7	/* 8th manufacture rev */
#define PPR_REV_M9		8	/* 9th manufacture rev */
#define PPR_REV_M10		9	/* 10th manufacture rev */
#define PPR_REV_M11		10	/* 11th manufacture rev */
#define PPR_REV_M12		11	/* 12th manufacture rev */
#define PPR_REV_M13		12	/* 13th manufacture rev */
#define PPR_REV_M14		13	/* 14th manufacture rev */
#define PPR_REV_M15		14	/* 15th manufacture rev */
#define PPR_REV_M16		15	/* 16th manufacture rev */

#define PPR_REV_MNUM		16	/* number of manufacture revs */
#define PPR_REV_MTOP	(PPR_REV_MNUM-1)/* highest manufacture rev code */


#define PPR_REV_PROTO	0x8000			/* start of prototype revs */

#define PPR_REV_P1	(PPR_REV_PROTO | 0)	/* 1st prototype rev */
#define PPR_REV_P2	(PPR_REV_PROTO | 1)	/* 2nd prototype rev */
#define PPR_REV_P3	(PPR_REV_PROTO | 2)	/* 3rd prototype rev */
#define PPR_REV_P4	(PPR_REV_PROTO | 3)	/* 4th prototype rev */
#define PPR_REV_P5	(PPR_REV_PROTO | 4)	/* 5st prototype rev */
#define PPR_REV_P6	(PPR_REV_PROTO | 5)	/* 6nd prototype rev */
#define PPR_REV_P7	(PPR_REV_PROTO | 6)	/* 7rd prototype rev */
#define PPR_REV_P8	(PPR_REV_PROTO | 7)	/* 8th - time to give up! */

#define PPR_REV_PNUM		8		/* number of prototype revs */
#define PPR_REV_PTOP 	(PPR_REV_PROTO | (PPR_REV_PNUM - 1))
						/* highest proto rev code */

#define CASE_KATANA	case PPR_AR_440 :\
					case PPR_AR_441 :\
					case PPR_AR_442 :\
					case PPR_AR_443 :\
					case PPR_AR_444 :\
					case PPR_AR_420

#define IF_KATANA( a )	(a == PPR_AR_440 || \
						a == PPR_AR_441 || \
						a == PPR_AR_442 || \
						a == PPR_AR_443 || \
						a == PPR_AR_444 || \
						a == PPR_AR_420 
							
#define IF_8948(a) (a == PPR_CLAYMORE_48_EX || a == PPR_CLAYMORE_8948I || a == PPR_CLAYMORE_8948I_N)

#endif //	PPROM_H
