]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/asm-ppc/processor.h
Merge branch 'mpc86xx'
[karo-tx-uboot.git] / include / asm-ppc / processor.h
index 9a9b8ba7161ad7348be9b3d6c2cfbb11087f07c9..e52d4b998abfe3204dc8e5c736145b12b656a1d7 100644 (file)
 #define SPRN_ICTC      0x3FB   /* Instruction Cache Throttling Control Reg */
 #define SPRN_IMISS     0x3D4   /* Instruction TLB Miss Register */
 #define SPRN_IMMR      0x27E   /* Internal Memory Map Register */
+#define SPRN_LDSTCR    0x3F8   /* Load/Store Control Register */
 #define SPRN_L2CR      0x3F9   /* Level 2 Cache Control Regsiter */
 #define SPRN_LR                0x008   /* Link Register */
 #define SPRN_MBAR       0x137   /* System memory base address */
 #define SPRN_MCSR      0x23c   /* Machine Check Syndrome register */
 #define ESR_ST          0x00800000      /* Store Operation */
 
+#if defined(CONFIG_MPC86xx)
+#define SPRN_MSSCRO    0x3f6
+#endif
+
+
 /* Short-hand versions for a number of the above SPRNs */
 
 #define CTR    SPRN_CTR        /* Counter Register */
 #define ICMP   SPRN_ICMP       /* Instruction TLB Compare Register */
 #define IMISS  SPRN_IMISS      /* Instruction TLB Miss Register */
 #define IMMR   SPRN_IMMR       /* PPC 860/821 Internal Memory Map Register */
+#define LDSTCR SPRN_LDSTCR     /* Load/Store Control Register */
 #define L2CR   SPRN_L2CR       /* PPC 750 L2 control register */
 #define LR     SPRN_LR
 #define MBAR    SPRN_MBAR       /* System memory base address */
-#if defined(CONFIG_E500)
+#if defined(CONFIG_MPC86xx)
+#define MSSCR0 SPRN_MSSCRO
+#endif
+#if defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
 #define PIR    SPRN_PIR
 #endif
 #define SVR    SPRN_SVR        /* System-On-Chip Version Register */
 #define CSRR0  SPRN_CSRR0
 #define CSRR1  SPRN_CSRR1
 #define IVPR   SPRN_IVPR
-#define USPRG0 SPRN_USPRG0
+#define USPRG0 SPRN_USPRG
 #define SPRG4R SPRN_SPRG4R
 #define SPRG5R SPRN_SPRG5R
 #define SPRG6R SPRN_SPRG6R
 #define PVR_440GP_RC   0x40120481
 #define PVR_440EP_RA   0x42221850
 #define PVR_440EP_RB   0x422218D3 /* 440EP rev B and 440GR rev A have same PVR */
+#define PVR_440EP_RC   0x422218D4 /* 440EP rev C and 440GR rev B have same PVR */
 #define PVR_440GR_RA   0x422218D3 /* 440EP rev B and 440GR rev A have same PVR */
+#define PVR_440GR_RB   0x422218D4 /* 440EP rev C and 440GR rev B have same PVR */
 #define PVR_440GX_RA   0x51B21850
 #define PVR_440GX_RB   0x51B21851
 #define PVR_440GX_RC   0x51B21892
 #define PVR_440SP_RA   0x53221850
 #define PVR_440SP_RB   0x53221891
 #define PVR_440SPe_RA  0x53421890
-#define PVR_440SPe_RB  0x53521891
+#define PVR_440SPe_RB  0x53421891
 #define PVR_601                0x00010000
 #define PVR_602                0x00050000
 #define PVR_603                0x00030000
 #define PVR_85xx_REV1  (PVR_85xx | 0x0010)
 #define PVR_85xx_REV2  (PVR_85xx | 0x0020)
 
+#define PVR_86xx       0x80040000
+#define PVR_86xx_REV1  (PVR_86xx | 0x0010)
 
 /*
  * For the 8xx processors, all of them report the same PVR family for
 #define SVR_VER(svr)   (((svr) >>  16) & 0xFFFF)       /* Version field */
 #define SVR_REV(svr)   (((svr) >>   0) & 0xFFFF)       /* Revison field */
 
+#define SVR_SUBVER(svr)        (((svr) >>  8) & 0xFF)  /* Process/MFG sub-version */
+
 #define SVR_FAM(svr)   (((svr) >> 20) & 0xFFF) /* Family field */
 #define SVR_MEM(svr)   (((svr) >> 16) & 0xF)   /* Member field */
 
 #define SVR_8541       0x807A
 #define SVR_8548       0x8031
 #define SVR_8548_E     0x8039
+#define SVR_8641       0x8090
 
 
 /* I am just adding a single entry for 8260 boards.  I think we may be