~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/powerpc/platforms/44x/fsp2.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _ASM_POWERPC_FSP_DCR_H_
  2 #define _ASM_POWERPC_FSP_DCR_H_
  3 #ifdef __KERNEL__
  4 #include <asm/dcr.h>
  5 
  6 #define DCRN_CMU_ADDR           0x00C   /* Chip management unic addr */
  7 #define DCRN_CMU_DATA           0x00D   /* Chip management unic data */
  8 
  9 /* PLB4 Arbiter */
 10 #define DCRN_PLB4_PCBI          0x010   /* PLB Crossbar ID/Rev Register */
 11 #define DCRN_PLB4_P0ACR         0x011   /* PLB0 Arbiter Control Register */
 12 #define DCRN_PLB4_P0ESRL        0x012   /* PLB0 Error Status Register Low */
 13 #define DCRN_PLB4_P0ESRH        0x013   /* PLB0 Error Status Register High */
 14 #define DCRN_PLB4_P0EARL        0x014   /* PLB0 Error Address Register Low */
 15 #define DCRN_PLB4_P0EARH        0x015   /* PLB0 Error Address Register High */
 16 #define DCRN_PLB4_P0ESRLS       0x016   /* PLB0 Error Status Register Low Set*/
 17 #define DCRN_PLB4_P0ESRHS       0x017   /* PLB0 Error Status Register High */
 18 #define DCRN_PLB4_PCBC          0x018   /* PLB Crossbar Control Register */
 19 #define DCRN_PLB4_P1ACR         0x019   /* PLB1 Arbiter Control Register */
 20 #define DCRN_PLB4_P1ESRL        0x01A   /* PLB1 Error Status Register Low */
 21 #define DCRN_PLB4_P1ESRH        0x01B   /* PLB1 Error Status Register High */
 22 #define DCRN_PLB4_P1EARL        0x01C   /* PLB1 Error Address Register Low */
 23 #define DCRN_PLB4_P1EARH        0x01D   /* PLB1 Error Address Register High */
 24 #define DCRN_PLB4_P1ESRLS       0x01E   /* PLB1 Error Status Register Low Set*/
 25 #define DCRN_PLB4_P1ESRHS       0x01F   /*PLB1 Error Status Register High Set*/
 26 
 27 /* PLB4/OPB bridge 0, 1, 2, 3 */
 28 #define DCRN_PLB4OPB0_BASE      0x020
 29 #define DCRN_PLB4OPB1_BASE      0x030
 30 #define DCRN_PLB4OPB2_BASE      0x040
 31 #define DCRN_PLB4OPB3_BASE      0x050
 32 
 33 #define PLB4OPB_GESR0           0x0     /* Error status 0: Master Dev 0-3 */
 34 #define PLB4OPB_GEAR            0x2     /* Error Address Register */
 35 #define PLB4OPB_GEARU           0x3     /* Error Upper Address Register */
 36 #define PLB4OPB_GESR1           0x4     /* Error Status 1: Master Dev 4-7 */
 37 #define PLB4OPB_GESR2           0xC     /* Error Status 2: Master Dev 8-11 */
 38 
 39 /* PLB4-to-AHB Bridge */
 40 #define DCRN_PLB4AHB_BASE       0x400
 41 #define DCRN_PLB4AHB_SEUAR      (DCRN_PLB4AHB_BASE + 1)
 42 #define DCRN_PLB4AHB_SELAR      (DCRN_PLB4AHB_BASE + 2)
 43 #define DCRN_PLB4AHB_ESR        (DCRN_PLB4AHB_BASE + 3)
 44 #define DCRN_AHBPLB4_ESR        (DCRN_PLB4AHB_BASE + 8)
 45 #define DCRN_AHBPLB4_EAR        (DCRN_PLB4AHB_BASE + 9)
 46 
 47 /* PLB6 Controller */
 48 #define DCRN_PLB6_BASE          0x11111300
 49 #define DCRN_PLB6_CR0           (DCRN_PLB6_BASE)
 50 #define DCRN_PLB6_ERR           (DCRN_PLB6_BASE + 0x0B)
 51 #define DCRN_PLB6_HD            (DCRN_PLB6_BASE + 0x0E)
 52 #define DCRN_PLB6_SHD           (DCRN_PLB6_BASE + 0x10)
 53 
 54 /* PLB4-to-PLB6 Bridge */
 55 #define DCRN_PLB4PLB6_BASE      0x11111320
 56 #define DCRN_PLB4PLB6_ESR       (DCRN_PLB4PLB6_BASE + 1)
 57 #define DCRN_PLB4PLB6_EARH      (DCRN_PLB4PLB6_BASE + 3)
 58 #define DCRN_PLB4PLB6_EARL      (DCRN_PLB4PLB6_BASE + 4)
 59 
 60 /* PLB6-to-PLB4 Bridge */
 61 #define DCRN_PLB6PLB4_BASE      0x11111350
 62 #define DCRN_PLB6PLB4_ESR       (DCRN_PLB6PLB4_BASE + 1)
 63 #define DCRN_PLB6PLB4_EARH      (DCRN_PLB6PLB4_BASE + 3)
 64 #define DCRN_PLB6PLB4_EARL      (DCRN_PLB6PLB4_BASE + 4)
 65 
 66 /* PLB6-to-MCIF Bridge */
 67 #define DCRN_PLB6MCIF_BASE      0x11111380
 68 #define DCRN_PLB6MCIF_BESR0     (DCRN_PLB6MCIF_BASE + 0)
 69 #define DCRN_PLB6MCIF_BESR1     (DCRN_PLB6MCIF_BASE + 1)
 70 #define DCRN_PLB6MCIF_BEARL     (DCRN_PLB6MCIF_BASE + 2)
 71 #define DCRN_PLB6MCIF_BEARH     (DCRN_PLB6MCIF_BASE + 3)
 72 
 73 /* Configuration Logic Registers */
 74 #define DCRN_CONF_BASE          0x11111400
 75 #define DCRN_CONF_FIR_RWC       (DCRN_CONF_BASE + 0x3A)
 76 #define DCRN_CONF_EIR_RS        (DCRN_CONF_BASE + 0x3E)
 77 #define DCRN_CONF_RPERR0        (DCRN_CONF_BASE + 0x4D)
 78 #define DCRN_CONF_RPERR1        (DCRN_CONF_BASE + 0x4E)
 79 
 80 #define DCRN_L2CDCRAI           0x11111100
 81 #define DCRN_L2CDCRDI           0x11111104
 82 /* L2 indirect addresses */
 83 #define L2MCK           0x120
 84 #define L2MCKEN         0x130
 85 #define L2INT           0x150
 86 #define L2INTEN         0x160
 87 #define L2LOG0          0x180
 88 #define L2LOG1          0x184
 89 #define L2LOG2          0x188
 90 #define L2LOG3          0x18C
 91 #define L2LOG4          0x190
 92 #define L2LOG5          0x194
 93 #define L2PLBSTAT0      0x300
 94 #define L2PLBSTAT1      0x304
 95 #define L2PLBMCKEN0     0x330
 96 #define L2PLBMCKEN1     0x334
 97 #define L2PLBINTEN0     0x360
 98 #define L2PLBINTEN1     0x364
 99 #define L2ARRSTAT0      0x500
100 #define L2ARRSTAT1      0x504
101 #define L2ARRSTAT2      0x508
102 #define L2ARRMCKEN0     0x530
103 #define L2ARRMCKEN1     0x534
104 #define L2ARRMCKEN2     0x538
105 #define L2ARRINTEN0     0x560
106 #define L2ARRINTEN1     0x564
107 #define L2ARRINTEN2     0x568
108 #define L2CPUSTAT       0x700
109 #define L2CPUMCKEN      0x730
110 #define L2CPUINTEN      0x760
111 #define L2RACSTAT0      0x900
112 #define L2RACMCKEN0     0x930
113 #define L2RACINTEN0     0x960
114 #define L2WACSTAT0      0xD00
115 #define L2WACSTAT1      0xD04
116 #define L2WACSTAT2      0xD08
117 #define L2WACMCKEN0     0xD30
118 #define L2WACMCKEN1     0xD34
119 #define L2WACMCKEN2     0xD38
120 #define L2WACINTEN0     0xD60
121 #define L2WACINTEN1     0xD64
122 #define L2WACINTEN2     0xD68
123 #define L2WDFSTAT       0xF00
124 #define L2WDFMCKEN      0xF30
125 #define L2WDFINTEN      0xF60
126 
127 /* DDR3/4 Memory Controller */
128 #define DCRN_DDR34_BASE                 0x11120000
129 #define DCRN_DDR34_MCSTAT               0x10
130 #define DCRN_DDR34_MCOPT1               0x20
131 #define DCRN_DDR34_MCOPT2               0x21
132 #define DCRN_DDR34_PHYSTAT              0x32
133 #define DCRN_DDR34_CFGR0                0x40
134 #define DCRN_DDR34_CFGR1                0x41
135 #define DCRN_DDR34_CFGR2                0x42
136 #define DCRN_DDR34_CFGR3                0x43
137 #define DCRN_DDR34_SCRUB_CNTL           0xAA
138 #define DCRN_DDR34_SCRUB_INT            0xAB
139 #define DCRN_DDR34_SCRUB_START_ADDR     0xB0
140 #define DCRN_DDR34_SCRUB_END_ADDR       0xD0
141 #define DCRN_DDR34_ECCERR_ADDR_PORT0    0xE0
142 #define DCRN_DDR34_ECCERR_ADDR_PORT1    0xE1
143 #define DCRN_DDR34_ECCERR_ADDR_PORT2    0xE2
144 #define DCRN_DDR34_ECCERR_ADDR_PORT3    0xE3
145 #define DCRN_DDR34_ECCERR_COUNT_PORT0   0xE4
146 #define DCRN_DDR34_ECCERR_COUNT_PORT1   0xE5
147 #define DCRN_DDR34_ECCERR_COUNT_PORT2   0xE6
148 #define DCRN_DDR34_ECCERR_COUNT_PORT3   0xE7
149 #define DCRN_DDR34_ECCERR_PORT0         0xF0
150 #define DCRN_DDR34_ECCERR_PORT1         0xF2
151 #define DCRN_DDR34_ECCERR_PORT2         0xF4
152 #define DCRN_DDR34_ECCERR_PORT3         0xF6
153 #define DCRN_DDR34_ECC_CHECK_PORT0      0xF8
154 #define DCRN_DDR34_ECC_CHECK_PORT1      0xF9
155 #define DCRN_DDR34_ECC_CHECK_PORT2      0xF9
156 #define DCRN_DDR34_ECC_CHECK_PORT3      0xFB
157 
158 #define DDR34_SCRUB_CNTL_STOP           0x00000000
159 #define DDR34_SCRUB_CNTL_SCRUB          0x80000000
160 #define DDR34_SCRUB_CNTL_UE_STOP        0x20000000
161 #define DDR34_SCRUB_CNTL_CE_STOP        0x10000000
162 #define DDR34_SCRUB_CNTL_RANK_EN        0x00008000
163 
164 /* PLB-Attached DDR3/4 Core Wrapper */
165 #define DCRN_CW_BASE                    0x11111800
166 #define DCRN_CW_MCER0                   0x00
167 #define DCRN_CW_MCER1                   0x01
168 #define DCRN_CW_MCER_AND0               0x02
169 #define DCRN_CW_MCER_AND1               0x03
170 #define DCRN_CW_MCER_OR0                0x04
171 #define DCRN_CW_MCER_OR1                0x05
172 #define DCRN_CW_MCER_MASK0              0x06
173 #define DCRN_CW_MCER_MASK1              0x07
174 #define DCRN_CW_MCER_MASK_AND0          0x08
175 #define DCRN_CW_MCER_MASK_AND1          0x09
176 #define DCRN_CW_MCER_MASK_OR0           0x0A
177 #define DCRN_CW_MCER_MASK_OR1           0x0B
178 #define DCRN_CW_MCER_ACTION0            0x0C
179 #define DCRN_CW_MCER_ACTION1            0x0D
180 #define DCRN_CW_MCER_WOF0               0x0E
181 #define DCRN_CW_MCER_WOF1               0x0F
182 #define DCRN_CW_LFIR                    0x10
183 #define DCRN_CW_LFIR_AND                0x11
184 #define DCRN_CW_LFIR_OR                 0x12
185 #define DCRN_CW_LFIR_MASK               0x13
186 #define DCRN_CW_LFIR_MASK_AND           0x14
187 #define DCRN_CW_LFIR_MASK_OR            0x15
188 
189 #define CW_MCER0_MEM_CE                 0x00020000
190 /* CMU addresses */
191 #define CMUN_CRCS               0x00 /* Chip Reset Control/Status */
192 #define CMUN_CONFFIR0           0x20 /* Config Reg Parity FIR 0 */
193 #define CMUN_CONFFIR1           0x21 /* Config Reg Parity FIR 1 */
194 #define CMUN_CONFFIR2           0x22 /* Config Reg Parity FIR 2 */
195 #define CMUN_CONFFIR3           0x23 /* Config Reg Parity FIR 3 */
196 #define CMUN_URCR3_RS           0x24 /* Unit Reset Control Reg 3 Set */
197 #define CMUN_URCR3_C            0x25 /* Unit Reset Control Reg 3 Clear */
198 #define CMUN_URCR3_P            0x26 /* Unit Reset Control Reg 3 Pulse */
199 #define CMUN_PW0                0x2C /* Pulse Width Register */
200 #define CMUN_URCR0_P            0x2D /* Unit Reset Control Reg 0 Pulse */
201 #define CMUN_URCR1_P            0x2E /* Unit Reset Control Reg 1 Pulse */
202 #define CMUN_URCR2_P            0x2F /* Unit Reset Control Reg 2 Pulse */
203 #define CMUN_CLS_RW             0x30 /* Code Load Status (Read/Write) */
204 #define CMUN_CLS_S              0x31 /* Code Load Status (Set) */
205 #define CMUN_CLS_C              0x32 /* Code Load Status (Clear */
206 #define CMUN_URCR2_RS           0x33 /* Unit Reset Control Reg 2 Set */
207 #define CMUN_URCR2_C            0x34 /* Unit Reset Control Reg 2 Clear */
208 #define CMUN_CLKEN0             0x35 /* Clock Enable 0 */
209 #define CMUN_CLKEN1             0x36 /* Clock Enable 1 */
210 #define CMUN_PCD0               0x37 /* PSI clock divider 0 */
211 #define CMUN_PCD1               0x38 /* PSI clock divider 1 */
212 #define CMUN_TMR0               0x39 /* Reset Timer */
213 #define CMUN_TVS0               0x3A /* TV Sense Reg 0 */
214 #define CMUN_TVS1               0x3B /* TV Sense Reg 1 */
215 #define CMUN_MCCR               0x3C /* DRAM Configuration Reg */
216 #define CMUN_FIR0               0x3D /* Fault Isolation Reg 0 */
217 #define CMUN_FMR0               0x3E /* FIR Mask Reg 0 */
218 #define CMUN_ETDRB              0x3F /* ETDR Backdoor */
219 
220 /* CRCS bit fields */
221 #define CRCS_STAT_MASK          0xF0000000
222 #define CRCS_STAT_POR           0x10000000
223 #define CRCS_STAT_PHR           0x20000000
224 #define CRCS_STAT_PCIE          0x30000000
225 #define CRCS_STAT_CRCS_SYS      0x40000000
226 #define CRCS_STAT_DBCR_SYS      0x50000000
227 #define CRCS_STAT_HOST_SYS      0x60000000
228 #define CRCS_STAT_CHIP_RST_B    0x70000000
229 #define CRCS_STAT_CRCS_CHIP     0x80000000
230 #define CRCS_STAT_DBCR_CHIP     0x90000000
231 #define CRCS_STAT_HOST_CHIP     0xA0000000
232 #define CRCS_STAT_PSI_CHIP      0xB0000000
233 #define CRCS_STAT_CRCS_CORE     0xC0000000
234 #define CRCS_STAT_DBCR_CORE     0xD0000000
235 #define CRCS_STAT_HOST_CORE     0xE0000000
236 #define CRCS_STAT_PCIE_HOT      0xF0000000
237 #define CRCS_STAT_SELF_CORE     0x40000000
238 #define CRCS_STAT_SELF_CHIP     0x50000000
239 #define CRCS_WATCHE             0x08000000
240 #define CRCS_CORE               0x04000000 /* Reset PPC440 core */
241 #define CRCS_CHIP               0x02000000 /* Chip Reset */
242 #define CRCS_SYS                0x01000000 /* System Reset */
243 #define CRCS_WRCR               0x00800000 /* Watchdog reset on core reset */
244 #define CRCS_EXTCR              0x00080000 /* CHIP_RST_B triggers chip reset */
245 #define CRCS_PLOCK              0x00000002 /* PLL Locked */
246 
247 #define mtcmu(reg, data)                \
248 do {                                    \
249         mtdcr(DCRN_CMU_ADDR, reg);      \
250         mtdcr(DCRN_CMU_DATA, data);     \
251 } while (0)
252 
253 #define mfcmu(reg)\
254         ({u32 data;                     \
255         mtdcr(DCRN_CMU_ADDR, reg);      \
256         data = mfdcr(DCRN_CMU_DATA);    \
257         data; })
258 
259 #define mtl2(reg, data)                 \
260 do {                                    \
261         mtdcr(DCRN_L2CDCRAI, reg);      \
262         mtdcr(DCRN_L2CDCRDI, data);     \
263 } while (0)
264 
265 #define mfl2(reg)                       \
266         ({u32 data;                     \
267         mtdcr(DCRN_L2CDCRAI, reg);      \
268         data = mfdcr(DCRN_L2CDCRDI);    \
269         data; })
270 
271 #endif /* __KERNEL__ */
272 #endif /* _ASM_POWERPC_FSP2_DCR_H_ */
273 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php