0001
0002
0003
0004
0005
0006 #ifndef _POWERPC_SYSDEV_DART_H
0007 #define _POWERPC_SYSDEV_DART_H
0008
0009
0010
0011 #define DART_CNTL 0
0012
0013
0014 #define DART_EXCP_U3 0x10
0015
0016 #define DART_TAGS_U3 0x1000
0017
0018
0019 #define DART_BASE_U4 0x10
0020 #define DART_SIZE_U4 0x20
0021 #define DART_EXCP_U4 0x30
0022 #define DART_TAGS_U4 0x1000
0023
0024
0025
0026
0027 #define DART_CNTL_U3_BASE_MASK 0xfffff
0028 #define DART_CNTL_U3_BASE_SHIFT 12
0029 #define DART_CNTL_U3_FLUSHTLB 0x400
0030 #define DART_CNTL_U3_ENABLE 0x200
0031 #define DART_CNTL_U3_SIZE_MASK 0x1ff
0032 #define DART_CNTL_U3_SIZE_SHIFT 0
0033
0034
0035 #define DART_BASE_U4_BASE_MASK 0xffffff
0036 #define DART_BASE_U4_BASE_SHIFT 0
0037 #define DART_CNTL_U4_ENABLE 0x80000000
0038 #define DART_CNTL_U4_IONE 0x40000000
0039 #define DART_CNTL_U4_FLUSHTLB 0x20000000
0040 #define DART_CNTL_U4_IDLE 0x10000000
0041 #define DART_CNTL_U4_PAR_EN 0x08000000
0042 #define DART_CNTL_U4_IONE_MASK 0x07ffffff
0043 #define DART_SIZE_U4_SIZE_MASK 0x1fff
0044 #define DART_SIZE_U4_SIZE_SHIFT 0
0045
0046 #define DART_REG(r) (dart + ((r) >> 2))
0047 #define DART_IN(r) (in_be32(DART_REG(r)))
0048 #define DART_OUT(r,v) (out_be32(DART_REG(r), (v)))
0049
0050
0051
0052
0053
0054
0055
0056 #define DARTMAP_VALID 0x80000000
0057 #define DARTMAP_RPNMASK 0x00ffffff
0058
0059
0060 #define DART_PAGE_SHIFT 12
0061 #define DART_PAGE_SIZE (1 << DART_PAGE_SHIFT)
0062
0063
0064 #endif