linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / include / asm-sparc / idprom.h
index 59083ed..d856e64 100644 (file)
@@ -7,19 +7,27 @@
 #ifndef _SPARC_IDPROM_H
 #define _SPARC_IDPROM_H
 
-#include <linux/types.h>
+/* Offset into the EEPROM where the id PROM is located on the 4c */
+#define IDPROM_OFFSET  0x7d8
 
-struct idprom {
-       u8              id_format;      /* Format identifier (always 0x01) */
-       u8              id_machtype;    /* Machine type */
-       u8              id_ethaddr[6];  /* Hardware ethernet address */
-       s32             id_date;        /* Date of manufacture */
-       u32             id_sernum:24;   /* Unique serial number */
-       u8              id_cksum;       /* Checksum - xor of the data bytes */
-       u8              reserved[16];
+/* On sun4m; physical. */
+/* MicroSPARC(-II) does not decode 31rd bit, but it works. */
+#define IDPROM_OFFSET_M  0xfd8
+
+struct idprom
+{
+       unsigned char   id_format;      /* Format identifier (always 0x01) */
+       unsigned char   id_machtype;    /* Machine type */
+       unsigned char   id_ethaddr[6];  /* Hardware ethernet address */
+       long            id_date;        /* Date of manufacture */
+       unsigned int    id_sernum:24;   /* Unique serial number */
+       unsigned char   id_cksum;       /* Checksum - xor of the data bytes */
+       unsigned char   reserved[16];
 };
 
 extern struct idprom *idprom;
 extern void idprom_init(void);
 
+#define IDPROM_SIZE  (sizeof(struct idprom))
+
 #endif /* !(_SPARC_IDPROM_H) */