diff options
Diffstat (limited to 'arch/arc/include/asm/arcregs.h')
| -rw-r--r-- | arch/arc/include/asm/arcregs.h | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/arch/arc/include/asm/arcregs.h b/arch/arc/include/asm/arcregs.h index fdc5be5b1029..f9f4c6f59fdb 100644 --- a/arch/arc/include/asm/arcregs.h +++ b/arch/arc/include/asm/arcregs.h | |||
| @@ -10,7 +10,8 @@ | |||
| 10 | #define _ASM_ARC_ARCREGS_H | 10 | #define _ASM_ARC_ARCREGS_H |
| 11 | 11 | ||
| 12 | /* Build Configuration Registers */ | 12 | /* Build Configuration Registers */ |
| 13 | #define ARC_REG_DCCMBASE_BCR 0x61 /* DCCM Base Addr */ | 13 | #define ARC_REG_AUX_DCCM 0x18 /* DCCM Base Addr ARCv2 */ |
| 14 | #define ARC_REG_DCCM_BASE_BUILD 0x61 /* DCCM Base Addr ARCompact */ | ||
| 14 | #define ARC_REG_CRC_BCR 0x62 | 15 | #define ARC_REG_CRC_BCR 0x62 |
| 15 | #define ARC_REG_VECBASE_BCR 0x68 | 16 | #define ARC_REG_VECBASE_BCR 0x68 |
| 16 | #define ARC_REG_PERIBASE_BCR 0x69 | 17 | #define ARC_REG_PERIBASE_BCR 0x69 |
| @@ -18,10 +19,10 @@ | |||
| 18 | #define ARC_REG_DPFP_BCR 0x6C /* ARCompact: Dbl Precision FPU */ | 19 | #define ARC_REG_DPFP_BCR 0x6C /* ARCompact: Dbl Precision FPU */ |
| 19 | #define ARC_REG_FP_V2_BCR 0xc8 /* ARCv2 FPU */ | 20 | #define ARC_REG_FP_V2_BCR 0xc8 /* ARCv2 FPU */ |
| 20 | #define ARC_REG_SLC_BCR 0xce | 21 | #define ARC_REG_SLC_BCR 0xce |
| 21 | #define ARC_REG_DCCM_BCR 0x74 /* DCCM Present + SZ */ | 22 | #define ARC_REG_DCCM_BUILD 0x74 /* DCCM size (common) */ |
| 22 | #define ARC_REG_TIMERS_BCR 0x75 | 23 | #define ARC_REG_TIMERS_BCR 0x75 |
| 23 | #define ARC_REG_AP_BCR 0x76 | 24 | #define ARC_REG_AP_BCR 0x76 |
| 24 | #define ARC_REG_ICCM_BCR 0x78 | 25 | #define ARC_REG_ICCM_BUILD 0x78 /* ICCM size (common) */ |
| 25 | #define ARC_REG_XY_MEM_BCR 0x79 | 26 | #define ARC_REG_XY_MEM_BCR 0x79 |
| 26 | #define ARC_REG_MAC_BCR 0x7a | 27 | #define ARC_REG_MAC_BCR 0x7a |
| 27 | #define ARC_REG_MUL_BCR 0x7b | 28 | #define ARC_REG_MUL_BCR 0x7b |
| @@ -36,6 +37,7 @@ | |||
| 36 | #define ARC_REG_IRQ_BCR 0xF3 | 37 | #define ARC_REG_IRQ_BCR 0xF3 |
| 37 | #define ARC_REG_SMART_BCR 0xFF | 38 | #define ARC_REG_SMART_BCR 0xFF |
| 38 | #define ARC_REG_CLUSTER_BCR 0xcf | 39 | #define ARC_REG_CLUSTER_BCR 0xcf |
| 40 | #define ARC_REG_AUX_ICCM 0x208 /* ICCM Base Addr (ARCv2) */ | ||
| 39 | 41 | ||
| 40 | /* status32 Bits Positions */ | 42 | /* status32 Bits Positions */ |
| 41 | #define STATUS_AE_BIT 5 /* Exception active */ | 43 | #define STATUS_AE_BIT 5 /* Exception active */ |
| @@ -246,7 +248,7 @@ struct bcr_perip { | |||
| 246 | #endif | 248 | #endif |
| 247 | }; | 249 | }; |
| 248 | 250 | ||
| 249 | struct bcr_iccm { | 251 | struct bcr_iccm_arcompact { |
| 250 | #ifdef CONFIG_CPU_BIG_ENDIAN | 252 | #ifdef CONFIG_CPU_BIG_ENDIAN |
| 251 | unsigned int base:16, pad:5, sz:3, ver:8; | 253 | unsigned int base:16, pad:5, sz:3, ver:8; |
| 252 | #else | 254 | #else |
| @@ -254,17 +256,15 @@ struct bcr_iccm { | |||
| 254 | #endif | 256 | #endif |
| 255 | }; | 257 | }; |
| 256 | 258 | ||
| 257 | /* DCCM Base Address Register: ARC_REG_DCCMBASE_BCR */ | 259 | struct bcr_iccm_arcv2 { |
| 258 | struct bcr_dccm_base { | ||
| 259 | #ifdef CONFIG_CPU_BIG_ENDIAN | 260 | #ifdef CONFIG_CPU_BIG_ENDIAN |
| 260 | unsigned int addr:24, ver:8; | 261 | unsigned int pad:8, sz11:4, sz01:4, sz10:4, sz00:4, ver:8; |
| 261 | #else | 262 | #else |
| 262 | unsigned int ver:8, addr:24; | 263 | unsigned int ver:8, sz00:4, sz10:4, sz01:4, sz11:4, pad:8; |
| 263 | #endif | 264 | #endif |
| 264 | }; | 265 | }; |
| 265 | 266 | ||
| 266 | /* DCCM RAM Configuration Register: ARC_REG_DCCM_BCR */ | 267 | struct bcr_dccm_arcompact { |
| 267 | struct bcr_dccm { | ||
| 268 | #ifdef CONFIG_CPU_BIG_ENDIAN | 268 | #ifdef CONFIG_CPU_BIG_ENDIAN |
| 269 | unsigned int res:21, sz:3, ver:8; | 269 | unsigned int res:21, sz:3, ver:8; |
| 270 | #else | 270 | #else |
| @@ -272,6 +272,14 @@ struct bcr_dccm { | |||
| 272 | #endif | 272 | #endif |
| 273 | }; | 273 | }; |
| 274 | 274 | ||
| 275 | struct bcr_dccm_arcv2 { | ||
| 276 | #ifdef CONFIG_CPU_BIG_ENDIAN | ||
| 277 | unsigned int pad2:12, cyc:3, pad1:1, sz1:4, sz0:4, ver:8; | ||
| 278 | #else | ||
| 279 | unsigned int ver:8, sz0:4, sz1:4, pad1:1, cyc:3, pad2:12; | ||
| 280 | #endif | ||
| 281 | }; | ||
| 282 | |||
| 275 | /* ARCompact: Both SP and DP FPU BCRs have same format */ | 283 | /* ARCompact: Both SP and DP FPU BCRs have same format */ |
| 276 | struct bcr_fp_arcompact { | 284 | struct bcr_fp_arcompact { |
| 277 | #ifdef CONFIG_CPU_BIG_ENDIAN | 285 | #ifdef CONFIG_CPU_BIG_ENDIAN |
| @@ -315,9 +323,9 @@ struct bcr_bpu_arcv2 { | |||
| 315 | 323 | ||
| 316 | struct bcr_generic { | 324 | struct bcr_generic { |
| 317 | #ifdef CONFIG_CPU_BIG_ENDIAN | 325 | #ifdef CONFIG_CPU_BIG_ENDIAN |
| 318 | unsigned int pad:24, ver:8; | 326 | unsigned int info:24, ver:8; |
| 319 | #else | 327 | #else |
| 320 | unsigned int ver:8, pad:24; | 328 | unsigned int ver:8, info:24; |
| 321 | #endif | 329 | #endif |
| 322 | }; | 330 | }; |
| 323 | 331 | ||
