GUI: Fix Tomato RAF theme for all builds. Compilation typo.
[tomato.git] / release / src-rt-6.x.4708 / linux / linux-2.6.36 / drivers / staging / cxt1e1 / sbe_promformat.h
blob746f81b15c730d96de065334808e630db8152407
1 /*
2 * $Id: sbe_promformat.h,v 2.2 2005/09/28 00:10:09 rickd PMCC4_3_1B $
3 */
5 #ifndef _INC_SBE_PROMFORMAT_H_
6 #define _INC_SBE_PROMFORMAT_H_
8 /*-----------------------------------------------------------------------------
9 * sbe_promformat.h - Contents of seeprom used by dvt and manufacturing tests
11 * Copyright (C) 2002-2005 SBE, Inc.
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * For further information, contact via email: support@sbei.com
24 * SBE, Inc. San Ramon, California U.S.A.
26 *-----------------------------------------------------------------------------
27 * RCS info:
28 * RCS revision: $Revision: 2.2 $
29 * Last changed on $Date: 2005/09/28 00:10:09 $
30 * Changed by $Author: rickd $
31 *-----------------------------------------------------------------------------
32 * $Log: sbe_promformat.h,v $
33 * Revision 2.2 2005/09/28 00:10:09 rickd
34 * Add EEPROM sample from C4T1E1 board.
36 * Revision 2.1 2005/05/04 17:18:24 rickd
37 * Initial CI.
39 *-----------------------------------------------------------------------------
43 /***
44 * PMCC4 SAMPLE EEPROM IMAGE
46 * eeprom[00]: 01 11 76 07 01 00 a0 d6
47 * eeprom[08]: 22 34 56 3e 5b c1 1c 3e
48 * eeprom[16]: 5b e1 b6 00 00 00 01 00
49 * eeprom[24]: 00 08 46 d3 7b 5e a8 fb
50 * eeprom[32]: f7 ef df bf 7f 55 00 01
51 * eeprom[40]: 02 04 08 10 20 40 80 ff
52 * eeprom[48]: fe fd fb f7 ef df bf 7f
54 ***/
57 /*------------------------------------------------------------------------
58 * Type 1 Format
59 * byte:
60 * 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
61 * -------------------------------------------------------------------------
62 * 01 11 76 SS SS 00 0A D6 <SERIAL NUM> <Create TIME> <Heatrun TIME>
63 * SBE SUB SERIAL # (BCD) (time_t) (time_t)
64 * ID VENDOR (format) (format)
66 * 19 20 21 22 23 24 25 26
67 * Heat Run Heat Run
68 * Iterations Errors
69 *------------------------------------------------------------------------
73 * Type 2 Format - Added length, CRC in fixed position
74 * byte:
75 * 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
76 * -------------------------------------------------------------------------
77 * 02 00 1A CC CC CC CC 11 76 07 03 00 0A D6 <SERIAL NUM>
78 * Payload SBE Crc32 SUB System System SERIAL/MAC
79 * Length VENDOR ID ID
81 * 17 18 19 20 21 22 23 24 25 26 27 28 29 39 31 32
82 * --------------------------------------------------------------------------
83 * <Create TIME> <Heatrun TIME> Heat Run Heat Run
84 * (time_t) (time_t) Iterations Errors
88 #ifdef __cplusplus
89 extern "C"
91 #endif
94 #define STRUCT_OFFSET(type, symbol) ((long)&(((type *)0)->symbol))
96 /*------------------------------------------------------------------------
97 * Historically different Prom format types.
99 * For diagnostic and failure purposes, do not create a type 0x00 or a
100 * type 0xff
101 *------------------------------------------------------------------------
103 #define PROM_FORMAT_Unk (-1)
104 #define PROM_FORMAT_TYPE1 1
105 #define PROM_FORMAT_TYPE2 2
108 /****** bit fields for a type 1 formatted seeprom **************************/
109 typedef struct
111 char type; /* 0x00 */
112 char Id[2]; /* 0x01-0x02 */
113 char SubId[2]; /* 0x03-0x04 */
114 char Serial[6]; /* 0x05-0x0a */
115 char CreateTime[4]; /* 0x0b-0x0e */
116 char HeatRunTime[4]; /* 0x0f-0x12 */
117 char HeatRunIterations[4]; /* 0x13-0x16 */
118 char HeatRunErrors[4]; /* 0x17-0x1a */
119 char Crc32[4]; /* 0x1b-0x1e */
120 } FLD_TYPE1;
123 /****** bit fields for a type 2 formatted seeprom **************************/
124 typedef struct
126 char type; /* 0x00 */
127 char length[2]; /* 0x01-0x02 */
128 char Crc32[4]; /* 0x03-0x06 */
129 char Id[2]; /* 0x07-0x08 */
130 char SubId[2]; /* 0x09-0x0a */
131 char Serial[6]; /* 0x0b-0x10 */
132 char CreateTime[4]; /* 0x11-0x14 */
133 char HeatRunTime[4]; /* 0x15-0x18 */
134 char HeatRunIterations[4]; /* 0x19-0x1c */
135 char HeatRunErrors[4]; /* 0x1d-0x20 */
136 } FLD_TYPE2;
140 /***** this union allows us to access the seeprom as an array of bytes ***/
141 /***** or as individual fields ***/
143 #define SBE_EEPROM_SIZE 128
144 #define SBE_MFG_INFO_SIZE sizeof(FLD_TYPE2)
146 typedef union
148 char bytes[128];
149 FLD_TYPE1 fldType1;
150 FLD_TYPE2 fldType2;
151 } PROMFORMAT;
153 #ifdef __cplusplus
155 #endif
157 #endif /*** _INC_SBE_PROMFORMAT_H_ ***/