[ARM] 2918/1: [update] Base port of Comdial MP1000 platfrom
[deliverable/linux.git] / include / asm-arm / arch-clps711x / mp1000-seprom.h
1 #ifndef MP1000_SEPROM_H
2 #define MP1000_SEPROM_H
3
4 /*
5 * mp1000-seprom.h
6 *
7 *
8 * This file contains the Serial EEPROM definitions for the MP1000 board
9 *
10 * Copyright (C) 2005 Comdial Corporation
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 *
26 */
27
28 #define COMMAND_ERASE (0x1C0)
29 #define COMMAND_ERASE_ALL (0x120)
30 #define COMMAND_WRITE_DISABLE (0x100)
31 #define COMMAND_WRITE_ENABLE (0x130)
32 #define COMMAND_READ (0x180)
33 #define COMMAND_WRITE (0x140)
34 #define COMMAND_WRITE_ALL (0x110)
35
36 //
37 // Serial EEPROM data format
38 //
39
40 #define PACKED __attribute__ ((packed))
41
42 typedef struct _EEPROM {
43 union {
44 unsigned char eprom_byte_data[128];
45 unsigned short eprom_short_data[64];
46 struct {
47 unsigned char version PACKED; // EEPROM Version "1" for now
48 unsigned char box_id PACKED; // Box ID (Standalone, SOHO, embedded, etc)
49 unsigned char major_hw_version PACKED; // Major Hardware version (Hex)
50 unsigned char minor_hw_version PACKED; // Minor Hardware Version (Hex)
51 unsigned char mfg_id[3] PACKED; // Manufacturer ID (3 character Alphabetic)
52 unsigned char mfg_serial_number[10] PACKED; // Manufacturer Serial number
53 unsigned char mfg_date[3] PACKED; // Date of Mfg (Formatted YY:MM:DD)
54 unsigned char country PACKED; // Country of deployment
55 unsigned char mac_Address[6] PACKED; // MAC Address
56 unsigned char oem_string[20] PACKED; // OEM ID string
57 unsigned short feature_bits1 PACKED; // Feature Bits 1
58 unsigned short feature_bits2 PACKED; // Feature Bits 2
59 unsigned char filler[75] PACKED; // Unused/Undefined \930\94 initialized
60 unsigned short checksum PACKED; // byte accumulated short checksum
61 } eprom_struct;
62 } variant;
63 } eeprom_struct;
64
65 /* These settings must be mutually exclusive */
66 #define FEATURE_BITS1_DRAMSIZE_16MEG 0x0001 /* 0 signifies 4 MEG system */
67 #define FEATURE_BITS1_DRAMSIZE_8MEG 0x0002 /* 1 in bit 1 = 8MEG system */
68 #define FEATURE_BITS1_DRAMSIZE_64MEG 0x0004 /* 1 in bit 2 = 64MEG system */
69
70 #define FEATURE_BITS1_CPUIS90MEG 0x0010
71
72 extern void seprom_init(void);
73 extern eeprom_struct* get_seprom_ptr(void);
74 extern unsigned char* get_eeprom_mac_address(void);
75
76 #endif /* MP1000_SEPROM_H */
77
This page took 0.034036 seconds and 5 git commands to generate.