19a5557fdSlucy wang - Sun Microsystems - Beijing China /*
29a5557fdSlucy wang - Sun Microsystems - Beijing China  * CDDL HEADER START
39a5557fdSlucy wang - Sun Microsystems - Beijing China  *
49a5557fdSlucy wang - Sun Microsystems - Beijing China  * The contents of this file are subject to the terms of the
59a5557fdSlucy wang - Sun Microsystems - Beijing China  * Common Development and Distribution License (the "License").
69a5557fdSlucy wang - Sun Microsystems - Beijing China  * You may not use this file except in compliance with the License.
79a5557fdSlucy wang - Sun Microsystems - Beijing China  *
89a5557fdSlucy wang - Sun Microsystems - Beijing China  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
99a5557fdSlucy wang - Sun Microsystems - Beijing China  * or http://www.opensolaris.org/os/licensing.
109a5557fdSlucy wang - Sun Microsystems - Beijing China  * See the License for the specific language governing permissions
119a5557fdSlucy wang - Sun Microsystems - Beijing China  * and limitations under the License.
129a5557fdSlucy wang - Sun Microsystems - Beijing China  *
139a5557fdSlucy wang - Sun Microsystems - Beijing China  * When distributing Covered Code, include this CDDL HEADER in each
149a5557fdSlucy wang - Sun Microsystems - Beijing China  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
159a5557fdSlucy wang - Sun Microsystems - Beijing China  * If applicable, add the following below this CDDL HEADER, with the
169a5557fdSlucy wang - Sun Microsystems - Beijing China  * fields enclosed by brackets "[]" replaced with your own identifying
179a5557fdSlucy wang - Sun Microsystems - Beijing China  * information: Portions Copyright [yyyy] [name of copyright owner]
189a5557fdSlucy wang - Sun Microsystems - Beijing China  *
199a5557fdSlucy wang - Sun Microsystems - Beijing China  * CDDL HEADER END
209a5557fdSlucy wang - Sun Microsystems - Beijing China  */
21*93833965Sjing xiong ERI-SUN 
229a5557fdSlucy wang - Sun Microsystems - Beijing China /*
239a5557fdSlucy wang - Sun Microsystems - Beijing China  * Copyright 2008 NetXen, Inc.  All rights reserved.
249a5557fdSlucy wang - Sun Microsystems - Beijing China  * Use is subject to license terms.
259a5557fdSlucy wang - Sun Microsystems - Beijing China  */
26*93833965Sjing xiong ERI-SUN 
27*93833965Sjing xiong ERI-SUN #ifndef _UNM_BRDINFO_H_
28*93833965Sjing xiong ERI-SUN #define	_UNM_BRDINFO_H_
29*93833965Sjing xiong ERI-SUN 
30*93833965Sjing xiong ERI-SUN #ifdef __cplusplus
31*93833965Sjing xiong ERI-SUN extern "C" {
32*93833965Sjing xiong ERI-SUN #endif
339a5557fdSlucy wang - Sun Microsystems - Beijing China 
349a5557fdSlucy wang - Sun Microsystems - Beijing China /* The version of the main data structure */
359a5557fdSlucy wang - Sun Microsystems - Beijing China #define	UNM_BDINFO_VERSION 1
369a5557fdSlucy wang - Sun Microsystems - Beijing China 
379a5557fdSlucy wang - Sun Microsystems - Beijing China /* Magic number to let user know flash is programmed */
389a5557fdSlucy wang - Sun Microsystems - Beijing China #define	UNM_BDINFO_MAGIC 0x12345678
399a5557fdSlucy wang - Sun Microsystems - Beijing China 
409a5557fdSlucy wang - Sun Microsystems - Beijing China #define	P2_CHIP 2
419a5557fdSlucy wang - Sun Microsystems - Beijing China #define	P3_CHIP 3
429a5557fdSlucy wang - Sun Microsystems - Beijing China #define	NX_P2_C0		0x24
439a5557fdSlucy wang - Sun Microsystems - Beijing China #define	NX_P2_C1		0x25
449a5557fdSlucy wang - Sun Microsystems - Beijing China #define	NX_P3_A0		0x30
459a5557fdSlucy wang - Sun Microsystems - Beijing China #define	NX_P3_A2		0x32
469a5557fdSlucy wang - Sun Microsystems - Beijing China #define	NX_P3_B0		0x40
479a5557fdSlucy wang - Sun Microsystems - Beijing China #define	NX_P3_B1		0x41
489a5557fdSlucy wang - Sun Microsystems - Beijing China #define	NX_P3_B2		0x42
499a5557fdSlucy wang - Sun Microsystems - Beijing China 
509a5557fdSlucy wang - Sun Microsystems - Beijing China #define	NX_IS_REVISION_P2(REVISION)	(REVISION <= NX_P2_C1)
519a5557fdSlucy wang - Sun Microsystems - Beijing China #define	NX_IS_REVISION_P3(REVISION)	(REVISION >= NX_P3_A0)
529a5557fdSlucy wang - Sun Microsystems - Beijing China 
539a5557fdSlucy wang - Sun Microsystems - Beijing China typedef enum {
549a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P1_BD   = 0x0000,
559a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P1_SB   = 0x0001,
569a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P1_SMAX = 0x0002,
579a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P1_SOCK = 0x0003,
589a5557fdSlucy wang - Sun Microsystems - Beijing China 
599a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P2_SOCK_31  =  0x0008,
609a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P2_SOCK_35  =  0x0009,
619a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P2_SB35_4G  =  0x000a,
629a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P2_SB31_10G =  0x000b,
639a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P2_SB31_2G  =  0x000c,
649a5557fdSlucy wang - Sun Microsystems - Beijing China 
659a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P2_SB31_10G_IMEZ =  0x000d,
669a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P2_SB31_10G_HMEZ =  0x000e,
679a5557fdSlucy wang - Sun Microsystems - Beijing China     UNM_BRDTYPE_P2_SB31_10G_CX4  =  0x000f,
689a5557fdSlucy wang - Sun Microsystems - Beijing China 
699a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* Reference quad gig */
709a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_REF_QG		=	0x0021,
719a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_HMEZ			=	0x0022,
729a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* Dual CX4 - Low Profile - Red card */
739a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_10G_CX4_LP	=  0x0023,
749a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_4_GB			=	0x0024,
759a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_IMEZ			=	0x0025,
769a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_10G_SFP_PLUS	=	0x0026,
779a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_10000_BASE_T	=	0x0027,
789a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_XG_LOM		=	0x0028,
799a5557fdSlucy wang - Sun Microsystems - Beijing China 
809a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_4_GB_MM		=	0x0029,
819a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_10G_CX4		=	0x0031, /* Reference CX4 */
829a5557fdSlucy wang - Sun Microsystems - Beijing China 	UNM_BRDTYPE_P3_10G_XFP		=	0x0032, /* Reference XFP */
839a5557fdSlucy wang - Sun Microsystems - Beijing China 
84*93833965Sjing xiong ERI-SUN     UNM_BRDTYPE_P3_10G_TRP	 =  0x0080
859a5557fdSlucy wang - Sun Microsystems - Beijing China 
869a5557fdSlucy wang - Sun Microsystems - Beijing China } unm_brdtype_t;
879a5557fdSlucy wang - Sun Microsystems - Beijing China 
889a5557fdSlucy wang - Sun Microsystems - Beijing China typedef enum {
899a5557fdSlucy wang - Sun Microsystems - Beijing China 	NX_UNKNOWN_TYPE_ROMIMAGE = 0,
909a5557fdSlucy wang - Sun Microsystems - Beijing China 	NX_P2_MN_TYPE_ROMIMAGE = 1,
919a5557fdSlucy wang - Sun Microsystems - Beijing China 	NX_P3_CT_TYPE_ROMIMAGE,
929a5557fdSlucy wang - Sun Microsystems - Beijing China 	NX_P3_MN_TYPE_ROMIMAGE,
939a5557fdSlucy wang - Sun Microsystems - Beijing China 	NX_P3_MS_TYPE_ROMIMAGE,
94*93833965Sjing xiong ERI-SUN 	NX_UNKNOWN_TYPE_ROMIMAGE_LAST
959a5557fdSlucy wang - Sun Microsystems - Beijing China } nx_fw_type_t;
969a5557fdSlucy wang - Sun Microsystems - Beijing China 
979a5557fdSlucy wang - Sun Microsystems - Beijing China /* board type specific information */
989a5557fdSlucy wang - Sun Microsystems - Beijing China typedef struct {
999a5557fdSlucy wang - Sun Microsystems - Beijing China 	unm_brdtype_t	brdtype; /* type of board */
1009a5557fdSlucy wang - Sun Microsystems - Beijing China 	long			ports; /* max no of physical ports */
1019a5557fdSlucy wang - Sun Microsystems - Beijing China 	nx_fw_type_t	fwtype; /* The FW Associated with board type */
1029a5557fdSlucy wang - Sun Microsystems - Beijing China 	char			*short_name;
1039a5557fdSlucy wang - Sun Microsystems - Beijing China } unm_brdinfo_t;
1049a5557fdSlucy wang - Sun Microsystems - Beijing China 
1059a5557fdSlucy wang - Sun Microsystems - Beijing China #define	NUM_SUPPORTED_BOARDS (sizeof (unm_boards)/sizeof (unm_brdinfo_t))
1069a5557fdSlucy wang - Sun Microsystems - Beijing China 
1079a5557fdSlucy wang - Sun Microsystems - Beijing China #define	GET_BRD_NAME_BY_TYPE(type, name)            \
1089a5557fdSlucy wang - Sun Microsystems - Beijing China {                                                   \
1099a5557fdSlucy wang - Sun Microsystems - Beijing China 	int i, found = 0;                               \
1109a5557fdSlucy wang - Sun Microsystems - Beijing China 	for (i = 0; i < NUM_SUPPORTED_BOARDS; ++i) {    \
1119a5557fdSlucy wang - Sun Microsystems - Beijing China 		if (unm_boards[i].brdtype == type) {        \
1129a5557fdSlucy wang - Sun Microsystems - Beijing China 			name = unm_boards[i].short_name;        \
1139a5557fdSlucy wang - Sun Microsystems - Beijing China 			found = 1;                              \
1149a5557fdSlucy wang - Sun Microsystems - Beijing China 			break;                                  \
1159a5557fdSlucy wang - Sun Microsystems - Beijing China 		}                                           \
1169a5557fdSlucy wang - Sun Microsystems - Beijing China 	}                                               \
1179a5557fdSlucy wang - Sun Microsystems - Beijing China 	if (!found)                                   \
1189a5557fdSlucy wang - Sun Microsystems - Beijing China 	name = "Unknown";                           \
1199a5557fdSlucy wang - Sun Microsystems - Beijing China }
1209a5557fdSlucy wang - Sun Microsystems - Beijing China 
1219a5557fdSlucy wang - Sun Microsystems - Beijing China typedef struct {
1229a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t header_version;
1239a5557fdSlucy wang - Sun Microsystems - Beijing China 
1249a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t board_mfg;
1259a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t board_type;
1269a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t board_num;
1279a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t chip_id;
1289a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t chip_minor;
1299a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t chip_major;
1309a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t chip_pkg;
1319a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t chip_lot;
1329a5557fdSlucy wang - Sun Microsystems - Beijing China 
1339a5557fdSlucy wang - Sun Microsystems - Beijing China 
1349a5557fdSlucy wang - Sun Microsystems - Beijing China 	__uint32_t port_mask; /* available niu ports */
1359a5557fdSlucy wang - Sun Microsystems - Beijing China 	__uint32_t peg_mask; /* available pegs */
1369a5557fdSlucy wang - Sun Microsystems - Beijing China 	__uint32_t icache_ok; /* can we run with icache? */
1379a5557fdSlucy wang - Sun Microsystems - Beijing China 	__uint32_t dcache_ok; /* can we run with dcache? */
1389a5557fdSlucy wang - Sun Microsystems - Beijing China 	__uint32_t casper_ok;
1399a5557fdSlucy wang - Sun Microsystems - Beijing China 
1409a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* unm_eth_addr_t  mac_address[MAX_PORTS]; */
1419a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mac_addr_lo_0;
1429a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mac_addr_lo_1;
1439a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mac_addr_lo_2;
1449a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mac_addr_lo_3;
1459a5557fdSlucy wang - Sun Microsystems - Beijing China 
1469a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* MN-related config */
1479a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_sync_mode;    /* enable/ sync shift cclk/ sync shift mclk */
1489a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_sync_shift_cclk;
1499a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_sync_shift_mclk;
1509a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_wb_en;
1519a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_crystal_freq; /* in MHz */
1529a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_speed; /* in MHz */
1539a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_org;
1549a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_depth;
1559a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_ranks_0; /* ranks per slot */
1569a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_ranks_1; /* ranks per slot */
1579a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_rd_latency_0;
1589a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_rd_latency_1;
1599a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_rd_latency_2;
1609a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_rd_latency_3;
1619a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_rd_latency_4;
1629a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_rd_latency_5;
1639a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_rd_latency_6;
1649a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_rd_latency_7;
1659a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_rd_latency_8;
1669a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_dll_val[18];
1679a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_mode_reg; /* See MIU DDR Mode Register */
1689a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_ext_mode_reg; /* See MIU DDR Extended Mode Register */
1699a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_timing_0; /* See MIU Memory Control Timing Rgister */
1709a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_timing_1; /* See MIU Extended Memory Ctrl Timing Register */
1719a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_timing_2; /* See MIU Extended Memory Ctrl Timing2 Register */
1729a5557fdSlucy wang - Sun Microsystems - Beijing China 
1739a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* SN-related config */
1749a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sn_sync_mode; /* enable/ sync shift cclk / sync shift mclk */
1759a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sn_pt_mode; /* pass through mode */
1769a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sn_ecc_en;
1779a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sn_wb_en;
1789a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sn_crystal_freq;
1799a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sn_speed;
1809a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sn_org;
1819a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sn_depth;
1829a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sn_dll_tap;
1839a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sn_rd_latency;
1849a5557fdSlucy wang - Sun Microsystems - Beijing China 
1859a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mac_addr_hi_0;
1869a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mac_addr_hi_1;
1879a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mac_addr_hi_2;
1889a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mac_addr_hi_3;
1899a5557fdSlucy wang - Sun Microsystems - Beijing China 
1909a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t magic; /* indicates flash has been initialized */
1919a5557fdSlucy wang - Sun Microsystems - Beijing China 
1929a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_rdimm;
1939a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t mn_dll_override;
1949a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t coreclock_speed;
1959a5557fdSlucy wang - Sun Microsystems - Beijing China }  unm_board_info_t;
1969a5557fdSlucy wang - Sun Microsystems - Beijing China 
1979a5557fdSlucy wang - Sun Microsystems - Beijing China #define	FLASH_NUM_PORTS		4
1989a5557fdSlucy wang - Sun Microsystems - Beijing China 
1999a5557fdSlucy wang - Sun Microsystems - Beijing China typedef struct {
2009a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t flash_addr[32];
2019a5557fdSlucy wang - Sun Microsystems - Beijing China } unm_flash_mac_addr_t;
2029a5557fdSlucy wang - Sun Microsystems - Beijing China 
2039a5557fdSlucy wang - Sun Microsystems - Beijing China /* flash user area */
2049a5557fdSlucy wang - Sun Microsystems - Beijing China typedef struct {
2059a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint8_t  flash_md5[16];
2069a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint8_t  crbinit_md5[16];
2079a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint8_t  brdcfg_md5[16];
2089a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* bootloader */
2099a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t bootld_version;
2109a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t bootld_size;
2119a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint8_t  bootld_md5[16];
2129a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* image */
2139a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t image_version;
2149a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t image_size;
2159a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint8_t  image_md5[16];
2169a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* primary image status */
2179a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t primary_status;
2189a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t secondary_present;
2199a5557fdSlucy wang - Sun Microsystems - Beijing China 
2209a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* MAC address , 4 ports */
2219a5557fdSlucy wang - Sun Microsystems - Beijing China     unm_flash_mac_addr_t mac_addr[FLASH_NUM_PORTS];
2229a5557fdSlucy wang - Sun Microsystems - Beijing China 
2239a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* Any user defined data */
2249a5557fdSlucy wang - Sun Microsystems - Beijing China } unm_old_user_info_t;
2259a5557fdSlucy wang - Sun Microsystems - Beijing China 
2269a5557fdSlucy wang - Sun Microsystems - Beijing China #define	FLASH_NUM_MAC_PER_PORT		32
2279a5557fdSlucy wang - Sun Microsystems - Beijing China typedef struct {
2289a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint8_t  flash_md5[16 * 64];
229*93833965Sjing xiong ERI-SUN 	/* __uint8_t  crbinit_md5[16]; */
230*93833965Sjing xiong ERI-SUN 	/* __uint8_t  brdcfg_md5[16]; */
2319a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* bootloader */
2329a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t bootld_version;
2339a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t bootld_size;
234*93833965Sjing xiong ERI-SUN 	/* __uint8_t  bootld_md5[16]; */
2359a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* image */
2369a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t image_version;
2379a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t image_size;
238*93833965Sjing xiong ERI-SUN 	/* U8  image_md5[16]; */
2399a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* primary image status */
2409a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t primary_status;
2419a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t secondary_present;
2429a5557fdSlucy wang - Sun Microsystems - Beijing China 
2439a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* MAC address , 4 ports, 32 address per port */
2449a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint64_t mac_addr[FLASH_NUM_PORTS * FLASH_NUM_MAC_PER_PORT];
2459a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t sub_sys_id;
2469a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint8_t  serial_num[32];
2479a5557fdSlucy wang - Sun Microsystems - Beijing China 	__uint32_t bios_version;
2489a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t pxe_enable;  /* bitmask, per port */
2499a5557fdSlucy wang - Sun Microsystems - Beijing China     __uint32_t vlan_tag[FLASH_NUM_PORTS];
2509a5557fdSlucy wang - Sun Microsystems - Beijing China 
2519a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* Any user defined data */
2529a5557fdSlucy wang - Sun Microsystems - Beijing China } unm_user_info_t;
2539a5557fdSlucy wang - Sun Microsystems - Beijing China 
2549a5557fdSlucy wang - Sun Microsystems - Beijing China /* Flash memory map */
2559a5557fdSlucy wang - Sun Microsystems - Beijing China typedef enum {
2569a5557fdSlucy wang - Sun Microsystems - Beijing China     CRBINIT_START   = 0,		/* Crbinit section */
2579a5557fdSlucy wang - Sun Microsystems - Beijing China     BRDCFG_START    = 0x4000,	/* board config */
2589a5557fdSlucy wang - Sun Microsystems - Beijing China     INITCODE_START  = 0x6000,	/* pegtune code */
2599a5557fdSlucy wang - Sun Microsystems - Beijing China     BOOTLD_START    = 0x10000,	/* bootld */
2609a5557fdSlucy wang - Sun Microsystems - Beijing China     BOOTLD1_START   = 0x14000,	/* Start of booloader 1 */
2619a5557fdSlucy wang - Sun Microsystems - Beijing China 	IMAGE_START		= 0x43000,	/* compressed image */
2629a5557fdSlucy wang - Sun Microsystems - Beijing China     SECONDARY_START = 0x200000,	/* backup images */
2639a5557fdSlucy wang - Sun Microsystems - Beijing China     PXE_FIRST_STAGE_INTEL = 0x3C0000, /* Intel First Stage info */
2649a5557fdSlucy wang - Sun Microsystems - Beijing China     PXE_FIRST_STAGE_PPC = 0x3C4000, /* PPC First Stage info */
2659a5557fdSlucy wang - Sun Microsystems - Beijing China     PXE_SECOND_STAGE_INTEL = 0x3B0000, /* Intel Second Stage info */
2669a5557fdSlucy wang - Sun Microsystems - Beijing China     PXE_SECOND_STAGE_PPC = 0x3A0000, /* Intel Second Stage info */
267*93833965Sjing xiong ERI-SUN /*    LICENSE_TIME_START = 0x3C0000,  license expiry time info */
2689a5557fdSlucy wang - Sun Microsystems - Beijing China 	PXE_START		= 0x3D0000,   /* PXE image area */
2699a5557fdSlucy wang - Sun Microsystems - Beijing China     DEFAULT_DATA_START = 0x3e0000, /* where we place default factory data */
2709a5557fdSlucy wang - Sun Microsystems - Beijing China 	/* User defined region for new boards */
2719a5557fdSlucy wang - Sun Microsystems - Beijing China 	USER_START		= 0x3E8000,
2729a5557fdSlucy wang - Sun Microsystems - Beijing China     VPD_START		= 0x3E8C00,   /* Vendor private data */
2739a5557fdSlucy wang - Sun Microsystems - Beijing China     LICENSE_START	= 0x3E9000,   /* Firmware License */
2749a5557fdSlucy wang - Sun Microsystems - Beijing China     FIXED_START		= 0x3F0000    /* backup of crbinit */
2759a5557fdSlucy wang - Sun Microsystems - Beijing China } unm_flash_map_t;
2769a5557fdSlucy wang - Sun Microsystems - Beijing China 
2779a5557fdSlucy wang - Sun Microsystems - Beijing China #define	USER_START_OLD		PXE_START /* for backward compatibility */
2789a5557fdSlucy wang - Sun Microsystems - Beijing China 
279*93833965Sjing xiong ERI-SUN #ifdef __cplusplus
280*93833965Sjing xiong ERI-SUN }
281*93833965Sjing xiong ERI-SUN #endif
282*93833965Sjing xiong ERI-SUN 
283*93833965Sjing xiong ERI-SUN #endif	/* !_UNM_BRDINFO_H_ */
284