diff options
Diffstat (limited to 'arch/powerpc/sysdev/dart.h')
| -rw-r--r-- | arch/powerpc/sysdev/dart.h | 41 | 
1 files changed, 28 insertions, 13 deletions
diff --git a/arch/powerpc/sysdev/dart.h b/arch/powerpc/sysdev/dart.h index 33ed9ed7fc1..c2d05763ccb 100644 --- a/arch/powerpc/sysdev/dart.h +++ b/arch/powerpc/sysdev/dart.h @@ -20,29 +20,44 @@  #define _POWERPC_SYSDEV_DART_H -/* physical base of DART registers */ -#define DART_BASE        0xf8033000UL -  /* Offset from base to control register */ -#define DARTCNTL   0 +#define DART_CNTL	0 +  /* Offset from base to exception register */ -#define DARTEXCP   0x10 +#define DART_EXCP_U3	0x10  /* Offset from base to TLB tag registers */ -#define DARTTAG    0x1000 +#define DART_TAGS_U3	0x1000 +/* U4 registers */ +#define DART_BASE_U4	0x10 +#define DART_SIZE_U4	0x20 +#define DART_EXCP_U4	0x30 +#define DART_TAGS_U4	0x1000  /* Control Register fields */ -/* base address of table (pfn) */ -#define DARTCNTL_BASE_MASK    0xfffff -#define DARTCNTL_BASE_SHIFT   12 +/* U3 registers */ +#define DART_CNTL_U3_BASE_MASK	0xfffff +#define DART_CNTL_U3_BASE_SHIFT	12 +#define DART_CNTL_U3_FLUSHTLB	0x400 +#define DART_CNTL_U3_ENABLE	0x200 +#define DART_CNTL_U3_SIZE_MASK	0x1ff +#define DART_CNTL_U3_SIZE_SHIFT	0 + +/* U4 registers */ +#define DART_BASE_U4_BASE_MASK	0xffffff +#define DART_BASE_U4_BASE_SHIFT	0 +#define DART_CNTL_U4_FLUSHTLB	0x20000000 +#define DART_CNTL_U4_ENABLE	0x80000000 +#define DART_SIZE_U4_SIZE_MASK	0x1fff +#define DART_SIZE_U4_SIZE_SHIFT	0 + +#define DART_REG(r)	(dart + ((r) >> 2)) +#define DART_IN(r)	(in_be32(DART_REG(r))) +#define DART_OUT(r,v)	(out_be32(DART_REG(r), (v))) -#define DARTCNTL_FLUSHTLB     0x400 -#define DARTCNTL_ENABLE       0x200  /* size of table in pages */ -#define DARTCNTL_SIZE_MASK    0x1ff -#define DARTCNTL_SIZE_SHIFT   0  /* DART table fields */  |