]> git.sur5r.net Git - u-boot/blobdiff - arch/powerpc/include/asm/processor.h
powerpc: remove 4xx support
[u-boot] / arch / powerpc / include / asm / processor.h
index 64a6f9c54e10e910e75c776731a4a9b6f33c1d1b..30ac4f8c10c2d190c3f54f3ab40196295a2a32d3 100644 (file)
@@ -7,8 +7,6 @@
  */
 #define current_text_addr() ({ __label__ _l; _l: &&_l;})
 
-#include <linux/config.h>
-
 #include <asm/ptrace.h>
 #include <asm/types.h>
 
 
 /* Special Purpose Registers (SPRNs)*/
 
-/* PPC440 Architecture is BOOK-E */
-#ifdef CONFIG_440
-#define CONFIG_BOOKE
-#endif
-
 #define SPRN_CCR0      0x3B3   /* Core Configuration Register 0 */
 #ifdef CONFIG_BOOKE
 #define SPRN_CCR1      0x378   /* Core Configuration Register for 440 only */
 #else
 #define SPRN_TCR       0x154   /* Book E Timer Control Register */
 #endif /* CONFIG_BOOKE */
+#ifdef CONFIG_E500MC
+#define  TCR_WP(x)             (((64-x)&0x3)<<30)| \
+                               (((64-x)&0x3c)<<15) /* WDT Period 2^x clocks*/
+#else
 #define   TCR_WP(x)            (((x)&0x3)<<30) /* WDT Period */
 #define     WP_2_17            0               /* 2^17 clocks */
 #define     WP_2_21            1               /* 2^21 clocks */
 #define     WP_2_25            2               /* 2^25 clocks */
 #define     WP_2_29            3               /* 2^29 clocks */
+#endif /* CONFIG_E500 */
 #define   TCR_WRC(x)           (((x)&0x3)<<28) /* WDT Reset Control */
 #define     WRC_NONE           0               /* No reset will occur */
 #define     WRC_CORE           1               /* Core reset will occur */
 #define   L1CSR1_ICE           0x00000001      /* Instruction Cache Enable */
 #define SPRN_L1CSR2    0x25e   /* L1 Data Cache Control and Status Register 2 */
 #define   L1CSR2_DCWS          0x40000000      /* Data Cache Write Shadow */
+#define   L1CSR2_DCSTASHID  0x000003ff /* Data Cache Stash ID */
 #define SPRN_L2CSR0    0x3f9   /* L2 Data Cache Control and Status Register 0 */
 #define   L2CSR0_L2E           0x80000000      /* L2 Cache Enable */
 #define   L2CSR0_L2PE          0x40000000      /* L2 Cache Parity/ECC Enable */
 #define SPRN_MCAR      0x23d   /* Machine Check Address register */
 #define MCSR_MCS       0x80000000      /* Machine Check Summary */
 #define MCSR_IB                0x40000000      /* Instruction PLB Error */
-#if defined(CONFIG_440)
-#define MCSR_DRB       0x20000000      /* Data Read PLB Error */
-#define MCSR_DWB       0x10000000      /* Data Write PLB Error */
-#else
 #define MCSR_DB                0x20000000      /* Data PLB Error */
-#endif /* defined(CONFIG_440) */
 #define MCSR_TLBP      0x08000000      /* TLB Parity Error */
 #define MCSR_ICP       0x04000000      /* I-Cache Parity Error */
 #define MCSR_DCSP      0x02000000      /* D-Cache Search Parity Error */
 #define MAS7   SPRN_MAS7
 #define MAS8   SPRN_MAS8
 
-#if defined(CONFIG_4xx) || defined(CONFIG_44x) || defined(CONFIG_MPC85xx)
+#if defined(CONFIG_MPC85xx)
 #define DAR_DEAR DEAR
 #else
 #define DAR_DEAR DAR
 /* System-On-Chip Version Register (SVR) field extraction */
 
 #define SVR_VER(svr)   (((svr) >> 16) & 0xFFFF) /* Version field */
-#define SVR_REV(svr)   (((svr) >>  0) & 0xFFFF) /* Revision field */
+#define SVR_REV(svr)   (((svr) >>  0) & 0xFF)   /* Revision field */
 
 #define SVR_CID(svr)   (((svr) >> 28) & 0x0F)   /* Company or manufacturer ID */
 #define SVR_SOCOP(svr) (((svr) >> 22) & 0x3F)   /* SOC integration options */
 #define PVR_405GP_RC   0x40110082
 #define PVR_405GP_RD   0x401100C4
 #define PVR_405GP_RE   0x40110145  /* same as pc405cr rev c */
-#define PVR_405CR_RA   0x40110041
-#define PVR_405CR_RB   0x401100C5
-#define PVR_405CR_RC   0x40110145  /* same as pc405gp rev e */
 #define PVR_405EP_RA   0x51210950
 #define PVR_405GPR_RB  0x50910951
 #define PVR_405EZ_RA   0x41511460
 
 /* System Version Register (SVR) field extraction */
 
-#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 */
 
-#ifdef CONFIG_MPC8536
+#ifdef CONFIG_ARCH_MPC8536
 #define SVR_MAJ(svr)   (((svr) >>  4) & 0x7)   /* Major revision field*/
 #else
 #define SVR_MAJ(svr)   (((svr) >>  4) & 0xF)   /* Major revision field*/
 #define SVR_T4240      0x824000
 #define SVR_T4120      0x824001
 #define SVR_T4160      0x824100
+#define SVR_T4080      0x824102
 #define SVR_C291       0x850000
 #define SVR_C292       0x850020
 #define SVR_C293       0x850030
 #define SVR_B4860      0X868000
 #define SVR_G4860      0x868001
-#define SVR_G4060      0x868003
+#define SVR_B4460      0x868003
 #define SVR_B4440      0x868100
 #define SVR_G4440      0x868101
 #define SVR_B4420      0x868102
 #define SVR_T1020      0x852100
 #define SVR_T1021      0x852101
 #define SVR_T1022      0x852102
+#define SVR_T1024      0x854000
+#define SVR_T1023      0x854100
+#define SVR_T1014      0x854400
+#define SVR_T1013      0x854500
+#define SVR_T2080      0x853000
+#define SVR_T2081      0x853100
 
 #define SVR_8610       0x80A000
 #define SVR_8641       0x809000
@@ -1198,12 +1193,17 @@ struct cpu_type {
        u32 soc_ver;
        u32 num_cores;
        u32 mask;       /* which cpu(s) actually exist */
+#ifdef CONFIG_HETROGENOUS_CLUSTERS
+       u32 dsp_num_cores;
+       u32 dsp_mask;   /* which DSP cpu(s) actually exist */
+#endif
 };
 
 struct cpu_type *identify_cpu(u32 ver);
 int fixup_cpu(void);
 
 int fsl_qoriq_core_to_cluster(unsigned int core);
+int fsl_qoriq_dsp_core_to_cluster(unsigned int core);
 
 #if defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
 #define CPU_TYPE_ENTRY(n, v, nc) \
@@ -1344,38 +1344,22 @@ void ll_puts(const char *);
 /* In misc.c */
 void _nmask_and_or_msr(unsigned long nmask, unsigned long or_val);
 
+int prt_83xx_rsr(void);
+int prt_8260_rsr(void);
+int prt_8260_clks(void);
+
 #endif /* ndef ASSEMBLY*/
 
 #ifdef CONFIG_MACH_SPECIFIC
-#if defined(CONFIG_8xx)
-#define _machine _MACH_8xx
-#define have_of 0
-#elif defined(CONFIG_OAK)
-#define _machine _MACH_oak
-#define have_of        0
-#elif defined(CONFIG_WALNUT)
+#if defined(CONFIG_WALNUT)
 #define _machine _MACH_walnut
 #define have_of 0
-#elif defined(CONFIG_APUS)
-#define _machine _MACH_apus
-#define have_of 0
-#elif defined(CONFIG_GEMINI)
-#define _machine _MACH_gemini
-#define have_of 0
-#elif defined(CONFIG_8260)
-#define _machine _MACH_8260
-#define have_of 0
-#elif defined(CONFIG_SANDPOINT)
-#define _machine _MACH_sandpoint
-#elif defined(CONFIG_HIDDEN_DRAGON)
-#define _machine _MACH_hidden_dragon
-#define have_of 0
 #else
 #error "Machine not defined correctly"
 #endif
 #endif /* CONFIG_MACH_SPECIFIC */
 
-#if defined(CONFIG_MPC85xx) || defined(CONFIG_440)
+#if defined(CONFIG_MPC85xx)
  #define EPAPR_MAGIC   (0x45504150)
 #else
  #define EPAPR_MAGIC   (0x65504150)