OSDN Git Service

Merge tag '5.6-rc-smb3-plugfest-patches' of git://git.samba.org/sfrench/cifs-2.6
[tomoyo/tomoyo-test1.git] / arch / powerpc / include / asm / reg_8xx.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Contains register definitions common to PowerPC 8xx CPUs.  Notice
4  */
5 #ifndef _ASM_POWERPC_REG_8xx_H
6 #define _ASM_POWERPC_REG_8xx_H
7
8 /* Cache control on the MPC8xx is provided through some additional
9  * special purpose registers.
10  */
11 #define SPRN_IC_CST     560     /* Instruction cache control/status */
12 #define SPRN_IC_ADR     561     /* Address needed for some commands */
13 #define SPRN_IC_DAT     562     /* Read-only data register */
14 #define SPRN_DC_CST     568     /* Data cache control/status */
15 #define SPRN_DC_ADR     569     /* Address needed for some commands */
16 #define SPRN_DC_DAT     570     /* Read-only data register */
17
18 /* Misc Debug */
19 #define SPRN_DPDR       630
20 #define SPRN_MI_CAM     816
21 #define SPRN_MI_RAM0    817
22 #define SPRN_MI_RAM1    818
23 #define SPRN_MD_CAM     824
24 #define SPRN_MD_RAM0    825
25 #define SPRN_MD_RAM1    826
26
27 /* Special MSR manipulation registers */
28 #define SPRN_EIE        80      /* External interrupt enable (EE=1, RI=1) */
29 #define SPRN_EID        81      /* External interrupt disable (EE=0, RI=1) */
30 #define SPRN_NRI        82      /* Non recoverable interrupt (EE=0, RI=0) */
31
32 /* Debug registers */
33 #define SPRN_CMPA       144
34 #define SPRN_COUNTA     150
35 #define SPRN_CMPE       152
36 #define SPRN_CMPF       153
37 #define SPRN_LCTRL1     156
38 #define   LCTRL1_CTE_GT         0xc0000000
39 #define   LCTRL1_CTF_LT         0x14000000
40 #define   LCTRL1_CRWE_RW        0x00000000
41 #define   LCTRL1_CRWE_RO        0x00040000
42 #define   LCTRL1_CRWE_WO        0x000c0000
43 #define   LCTRL1_CRWF_RW        0x00000000
44 #define   LCTRL1_CRWF_RO        0x00010000
45 #define   LCTRL1_CRWF_WO        0x00030000
46 #define SPRN_LCTRL2     157
47 #define   LCTRL2_LW0EN          0x80000000
48 #define   LCTRL2_LW0LA_E        0x00000000
49 #define   LCTRL2_LW0LA_F        0x04000000
50 #define   LCTRL2_LW0LA_EandF    0x08000000
51 #define   LCTRL2_LW0LADC        0x02000000
52 #define   LCTRL2_SLW0EN         0x00000002
53 #ifdef CONFIG_PPC_8xx
54 #define SPRN_ICTRL      158
55 #endif
56 #define SPRN_BAR        159
57
58 /* Commands.  Only the first few are available to the instruction cache.
59 */
60 #define IDC_ENABLE      0x02000000      /* Cache enable */
61 #define IDC_DISABLE     0x04000000      /* Cache disable */
62 #define IDC_LDLCK       0x06000000      /* Load and lock */
63 #define IDC_UNLINE      0x08000000      /* Unlock line */
64 #define IDC_UNALL       0x0a000000      /* Unlock all */
65 #define IDC_INVALL      0x0c000000      /* Invalidate all */
66
67 #define DC_FLINE        0x0e000000      /* Flush data cache line */
68 #define DC_SFWT         0x01000000      /* Set forced writethrough mode */
69 #define DC_CFWT         0x03000000      /* Clear forced writethrough mode */
70 #define DC_SLES         0x05000000      /* Set little endian swap mode */
71 #define DC_CLES         0x07000000      /* Clear little endian swap mode */
72
73 /* Status.
74 */
75 #define IDC_ENABLED     0x80000000      /* Cache is enabled */
76 #define IDC_CERR1       0x00200000      /* Cache error 1 */
77 #define IDC_CERR2       0x00100000      /* Cache error 2 */
78 #define IDC_CERR3       0x00080000      /* Cache error 3 */
79
80 #define DC_DFWT         0x40000000      /* Data cache is forced write through */
81 #define DC_LES          0x20000000      /* Caches are little endian mode */
82
83 #endif /* _ASM_POWERPC_REG_8xx_H */