Merge ../linux-2.6-watchdog-mm
[linux-drm-fsl-dcu.git] / arch / powerpc / sysdev / dart.h
index 33ed9ed7fc1e35f693d41d0369d47c8658d613af..ff202edb0591d2fb55afabd99004ba3a3e38ec80 100644 (file)
 #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_ENABLE    0x80000000
+#define DART_CNTL_U4_IONE      0x40000000
+#define DART_CNTL_U4_FLUSHTLB  0x20000000
+#define DART_CNTL_U4_IDLE      0x10000000
+#define DART_CNTL_U4_PAR_EN    0x08000000
+#define DART_CNTL_U4_IONE_MASK 0x07ffffff
+#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 */
@@ -53,7 +72,6 @@
 
 #define DART_PAGE_SHIFT                12
 #define DART_PAGE_SIZE         (1 << DART_PAGE_SHIFT)
-#define DART_PAGE_FACTOR       (PAGE_SHIFT - DART_PAGE_SHIFT)
 
 
 #endif /* _POWERPC_SYSDEV_DART_H */