Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * Copyright (C) 2004 Olof Johansson <olof@lixom.net>, IBM Corporation
0004  */
0005 
0006 #ifndef _POWERPC_SYSDEV_DART_H
0007 #define _POWERPC_SYSDEV_DART_H
0008 
0009 
0010 /* Offset from base to control register */
0011 #define DART_CNTL   0
0012 
0013 /* Offset from base to exception register */
0014 #define DART_EXCP_U3    0x10
0015 /* Offset from base to TLB tag registers */
0016 #define DART_TAGS_U3    0x1000
0017 
0018 /* U4 registers */
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 /* Control Register fields */
0025 
0026 /* U3 registers */
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 /* U4 registers */
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 /* size of table in pages */
0052 
0053 
0054 /* DART table fields */
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 /* _POWERPC_SYSDEV_DART_H */