1 /*
2  *  Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
3  *
4  *  Redistribution and use in source and binary forms, with or without
5  *  modification, are permitted provided that the following conditions
6  *  are met:
7  *
8  *    Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  *
11  *    Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the
14  *    distribution.
15  *
16  *    Neither the name of Texas Instruments Incorporated nor the names of
17  *    its contributors may be used to endorse or promote products derived
18  *    from this software without specific prior written permission.
19  *
20  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  *
32  */
33 
34 
35 #ifndef __HW_STACK_DIE_CTRL_H__
36 #define __HW_STACK_DIE_CTRL_H__
37 
38 //*****************************************************************************
39 //
40 // The following are defines for the STACK_DIE_CTRL register offsets.
41 //
42 //*****************************************************************************
43 #define STACK_DIE_CTRL_O_STK_UP_RESET \
44                                 0x00000000  // Can be written only by Base
45                                             // Processor. Writing to this
46                                             // register will reset the stack
47                                             // processor reset will be
48                                             // de-asserted upon clearing this
49                                             // register.
50 
51 #define STACK_DIE_CTRL_O_SR_MASTER_PRIORITY \
52                                 0x00000004  // This register defines who among
53                                             // base processor and stack
54                                             // processor have highest priority
55                                             // for Sram Access. Can be written
56                                             // only by Base Processor.
57 
58 #define STACK_DIE_CTRL_O_STK_SR_ACC_CTL_BK2 \
59                                 0x00000008  // In Spinlock mode this Register
60                                             // defines who among base processor
61                                             // and stack processor have access
62                                             // to Sram Bank2 right now. In
63                                             // Handshake mode this Register
64                                             // defines who among base processor
65                                             // and stack processor have access
66                                             // to Sram Bank2 and Bank3 right
67                                             // now. Its Clear only register and
68                                             // is set by hardware. Lower bit can
69                                             // be cleared only by Base Processor
70                                             // and Upper bit Cleared only by the
71                                             // Stack processor.
72 
73 #define STACK_DIE_CTRL_O_BASE_UP_ACC_REQ_BK2 \
74                                 0x0000000C  // In Spinlock mode whenever Base
75                                             // processor wants the access to
76                                             // Sram Bank2 it should request for
77                                             // it by writing into this register.
78                                             // It'll get interrupt whenever it
79                                             // is granted. In Handshake mode
80                                             // this bit will be set by Stack
81                                             // processor. Its a set only bit and
82                                             // is cleared by HW when the request
83                                             // is granted.
84 
85 #define STACK_DIE_CTRL_O_STK_UP_ACC_REQ_BK2 \
86                                 0x00000010  // In Spinlock mode Whenever Stack
87                                             // processor wants the access to
88                                             // Sram Bank2 it should request for
89                                             // it by writing into this register.
90                                             // It'll get interrupt whenever it
91                                             // is granted. In Handshake mode
92                                             // this bit will be set by the Base
93                                             // processor. Its a set only bit and
94                                             // is cleared by HW when the request
95                                             // is granted.
96 
97 #define STACK_DIE_CTRL_O_STK_SR_ACC_CTL_BK3 \
98                                 0x00000014  // Register defines who among base
99                                             // processor and stack processor
100                                             // have access to Sram Bank3 right
101                                             // now. Its Clear only register and
102                                             // is set by hardware. Lower bit can
103                                             // be cleared only by Base Processor
104                                             // and Upper bit Cleared only by the
105                                             // Stack processor.
106 
107 #define STACK_DIE_CTRL_O_BASE_UP_ACC_REQ_BK3 \
108                                 0x00000018  // In Spinlock mode whenever Base
109                                             // processor wants the access to
110                                             // Sram Bank3 it should request for
111                                             // it by writing into this register.
112                                             // It'll get interrupt whenever it
113                                             // is granted. In Handshake mode
114                                             // this bit will be set by Stack
115                                             // processor. Its a set only bit and
116                                             // is cleared by HW when the request
117                                             // is granted.
118 
119 #define STACK_DIE_CTRL_O_STK_UP_ACC_REQ_BK3 \
120                                 0x0000001C  // In Spinlock mode Whenever Stack
121                                             // processor wants the access to
122                                             // Sram Bank3 it should request for
123                                             // it by writing into this register.
124                                             // It'll get interrupt whenever it
125                                             // is granted. In Handshake mode
126                                             // this bit will be set by the Base
127                                             // processor. Its a set only bit and
128                                             // is cleared by HW when the request
129                                             // is granted.
130 
131 #define STACK_DIE_CTRL_O_RDSM_CFG_CPU \
132                                 0x00000020  // Read State Machine timing
133                                             // configuration register. Generally
134                                             // Bit 4 and 3 will be identical.
135                                             // For stacked die always 43 are 0
136                                             // and 6:5 == 1 for 120Mhz.
137 
138 #define STACK_DIE_CTRL_O_RDSM_CFG_EE \
139                                 0x00000024  // Read State Machine timing
140                                             // configuration register. Generally
141                                             // Bit 4 and 3 will be identical.
142                                             // For stacked die always 43 are 0
143                                             // and 6:5 == 1 for 120Mhz.
144 
145 #define STACK_DIE_CTRL_O_BASE_UP_IRQ_LOG \
146                                 0x00000028  // Reading this register Base
147                                             // procesor will able to know the
148                                             // reason for the interrupt. This is
149                                             // clear only register - set by HW
150                                             // upon an interrupt to Base
151                                             // processor and can be cleared only
152                                             // by BASE processor.
153 
154 #define STACK_DIE_CTRL_O_STK_UP_IRQ_LOG \
155                                 0x0000002C  // Reading this register Stack
156                                             // procesor will able to know the
157                                             // reason for the interrupt. This is
158                                             // clear only register - set by HW
159                                             // upon an interrupt to Stack
160                                             // processor and can be cleared only
161                                             // by Stack processor.
162 
163 #define STACK_DIE_CTRL_O_STK_CLK_EN \
164                                 0x00000030  // Can be written only by base
165                                             // processor. Controls the enable
166                                             // pin of the cgcs for the clocks
167                                             // going to CM3 dft ctrl block and
168                                             // Sram.
169 
170 #define STACK_DIE_CTRL_O_SPIN_LOCK_MODE \
171                                 0x00000034  // Can be written only by the base
172                                             // processor. Decides the ram
173                                             // sharing mode :: handshake or
174                                             // Spinlock mode.
175 
176 #define STACK_DIE_CTRL_O_BUS_FAULT_ADDR \
177                                 0x00000038  // Stores the last bus fault
178                                             // address.
179 
180 #define STACK_DIE_CTRL_O_BUS_FAULT_CLR \
181                                 0x0000003C  // write only registers on read
182                                             // returns 0.W Write 1 to clear the
183                                             // bust fault to store the new bus
184                                             // fault address
185 
186 #define STACK_DIE_CTRL_O_RESET_CAUSE \
187                                 0x00000040  // Reset cause value captured from
188                                             // the ICR_CLKRST block.
189 
190 #define STACK_DIE_CTRL_O_WDOG_TIMER_EVENT \
191                                 0x00000044  // Watchdog timer event value
192                                             // captured from the ICR_CLKRST
193                                             // block
194 
195 #define STACK_DIE_CTRL_O_DMA_REQ \
196                                 0x00000048  // To send Dma Request to bottom
197                                             // die.
198 
199 #define STACK_DIE_CTRL_O_SRAM_JUMP_OFFSET_ADDR \
200                                 0x0000004C  // Address offset within SRAM to
201                                             // which CM3 should jump after
202                                             // reset.
203 
204 #define STACK_DIE_CTRL_O_SW_REG1 \
205                                 0x00000050  // These are sw registers for
206                                             // topdie processor and bottom die
207                                             // processor to communicate. Both
208                                             // can set and read these registers.
209                                             // In case of write clash bottom
210                                             // die's processor wins and top die
211                                             // processor access is ignored.
212 
213 #define STACK_DIE_CTRL_O_SW_REG2 \
214                                 0x00000054  // These are sw registers for
215                                             // topdie processor and bottom die
216                                             // processor to communicate. Both
217                                             // can set and read these registers.
218                                             // In case of write clash bottom
219                                             // die's processor wins and top die
220                                             // processor access is ignored.
221 
222 #define STACK_DIE_CTRL_O_FMC_SLEEP_CTL \
223                                 0x00000058  // By posting the request Flash can
224                                             // be put into low-power mode
225                                             // (Sleep) without powering down the
226                                             // Flash. Earlier (in Garnet) this
227                                             // was fully h/w controlled and the
228                                             // control for this was coming from
229                                             // SysCtl while entering into Cortex
230                                             // Deep-sleep mode. But for our
231                                             // device the D2D i/f doesnt support
232                                             // this. The Firmware has to program
233                                             // the register in the top-die for
234                                             // entering into this mode and wait
235                                             // for an interrupt.
236 
237 #define STACK_DIE_CTRL_O_MISC_CTL \
238                                 0x0000005C  // Miscellanious control register.
239 
240 #define STACK_DIE_CTRL_O_SW_DFT_CTL \
241                                 0x000000FC  // DFT control and status bits
242 
243 #define STACK_DIE_CTRL_O_PADN_CTL_0 \
244                                 0x00000100  // Mainly for For controlling the
245                                             // pads OEN pins. There are total 60
246                                             // pads and hence 60 control registe
247                                             // i.e n value varies from 0 to 59.
248                                             // Here is the mapping for the
249                                             // pad_ctl register number and the
250                                             // functionality : 0 D2DPAD_DMAREQ1
251                                             // 1 D2DPAD_DMAREQ0 2
252                                             // D2DPAD_INT2BASE 3 D2DPAD_PIOSC 4
253                                             // D2DPAD_RST_N 5 D2DPAD_POR_RST_N 6
254                                             // D2DPAD_HCLK 7 D2DPAD_JTAG_TDO 8
255                                             // D2DPAD_JTAG_TCK 9 D2DPAD_JTAG_TMS
256                                             // 10 D2DPAD_JTAG_TDI 11-27
257                                             // D2DPAD_FROMSTACK[D2D_FROMSTACK_SIZE
258                                             // -1:0] 28-56 D2DPAD_TOSTACK
259                                             // [D2D_TOSTACK_SIZE -1:0] 57-59
260                                             // D2DPAD_SPARE [D2D_SPARE_PAD_SIZE
261                                             // -1:0] 0:00
262 
263 
264 
265 
266 //******************************************************************************
267 //
268 // The following are defines for the bit fields in the
269 // STACK_DIE_CTRL_O_STK_UP_RESET register.
270 //
271 //******************************************************************************
272 #define STACK_DIE_CTRL_STK_UP_RESET_UP_RESET \
273                                 0x00000001  // 1 :Assert Reset 0 : Deassert the
274                                             // Reset
275 
276 //******************************************************************************
277 //
278 // The following are defines for the bit fields in the
279 // STACK_DIE_CTRL_O_SR_MASTER_PRIORITY register.
280 //
281 //******************************************************************************
282 #define STACK_DIE_CTRL_SR_MASTER_PRIORITY_PRIORITY_M \
283                                 0x00000003  // 00 : Equal Priority 01 : Stack
284                                             // Processor have priority 10 : Base
285                                             // Processor have priority 11 :
286                                             // Unused
287 
288 #define STACK_DIE_CTRL_SR_MASTER_PRIORITY_PRIORITY_S 0
289 //******************************************************************************
290 //
291 // The following are defines for the bit fields in the
292 // STACK_DIE_CTRL_O_STK_SR_ACC_CTL_BK2 register.
293 //
294 //******************************************************************************
295 #define STACK_DIE_CTRL_STK_SR_ACC_CTL_BK2_STK_UP_ACCSS \
296                                 0x00000002  // Stack Processor should clear it
297                                             // when it is done with the sram
298                                             // bank usage. Set by HW It is set
299                                             // when Stack Processor is granted
300                                             // the access to this bank
301 
302 #define STACK_DIE_CTRL_STK_SR_ACC_CTL_BK2_BASE_UP_ACCSS \
303                                 0x00000001  // Base Processor should clear it
304                                             // when it is done wth the sram
305                                             // usage. Set by HW It is set when
306                                             // Base Processor is granted the
307                                             // access to this bank
308 
309 //******************************************************************************
310 //
311 // The following are defines for the bit fields in the
312 // STACK_DIE_CTRL_O_BASE_UP_ACC_REQ_BK2 register.
313 //
314 //******************************************************************************
315 #define STACK_DIE_CTRL_BASE_UP_ACC_REQ_BK2_ACCSS_REQ \
316                                 0x00000001  // Base Processor will set when
317                                             // Sram access is needed in Spin
318                                             // Lock mode. In Handshake mode
319                                             // Stack Processor will set to
320                                             // inform Base Processor that it is
321                                             // done with the processing of data
322                                             // in SRAM and is now ready to use
323                                             // by the base processor.
324 
325 //******************************************************************************
326 //
327 // The following are defines for the bit fields in the
328 // STACK_DIE_CTRL_O_STK_UP_ACC_REQ_BK2 register.
329 //
330 //******************************************************************************
331 #define STACK_DIE_CTRL_STK_UP_ACC_REQ_BK2_ACCSS_REQ \
332                                 0x00000001  // Stack Processor will set when
333                                             // Sram access is needed in Spin
334                                             // Lock mode. In Handshake mode Base
335                                             // Processor will set to inform
336                                             // Stack Processor to start
337                                             // processing the data in the Ram.
338 
339 //******************************************************************************
340 //
341 // The following are defines for the bit fields in the
342 // STACK_DIE_CTRL_O_STK_SR_ACC_CTL_BK3 register.
343 //
344 //******************************************************************************
345 #define STACK_DIE_CTRL_STK_SR_ACC_CTL_BK3_STK_UP_ACCSS \
346                                 0x00000002  // Stack Processor should clear it
347                                             // when it is done with the sram
348                                             // bank usage. Set by HW It is set
349                                             // when Stack Processor is granted
350                                             // the access to this bank.
351 
352 #define STACK_DIE_CTRL_STK_SR_ACC_CTL_BK3_BASE_UP_ACCSS \
353                                 0x00000001  // Base Processor should clear it
354                                             // when it is done wth the sram
355                                             // usage. Set by HW it is set when
356                                             // Base Processor is granted the
357                                             // access to this bank.
358 
359 //******************************************************************************
360 //
361 // The following are defines for the bit fields in the
362 // STACK_DIE_CTRL_O_BASE_UP_ACC_REQ_BK3 register.
363 //
364 //******************************************************************************
365 #define STACK_DIE_CTRL_BASE_UP_ACC_REQ_BK3_ACCSS_REQ \
366                                 0x00000001  // Base Processor will set when
367                                             // Sram access is needed in Spin
368                                             // Lock mode. Not used in handshake
369                                             // mode.
370 
371 //******************************************************************************
372 //
373 // The following are defines for the bit fields in the
374 // STACK_DIE_CTRL_O_STK_UP_ACC_REQ_BK3 register.
375 //
376 //******************************************************************************
377 #define STACK_DIE_CTRL_STK_UP_ACC_REQ_BK3_ACCSS_REQ \
378                                 0x00000001  // Stack Processor will set when
379                                             // Sram access is needed in Spin
380                                             // Lock mode.
381 
382 //******************************************************************************
383 //
384 // The following are defines for the bit fields in the
385 // STACK_DIE_CTRL_O_RDSM_CFG_CPU register.
386 //
387 //******************************************************************************
388 #define STACK_DIE_CTRL_RDSM_CFG_CPU_FLCLK_PULSE_WIDTH_M \
389                                 0x000000C0  // Bank Clock Hi Time 00 : HCLK
390                                             // pulse 01 : 1 cycle of HCLK 10 :
391                                             // 1.5 cycles of HCLK 11 : 2 cycles
392                                             // of HCLK
393 
394 #define STACK_DIE_CTRL_RDSM_CFG_CPU_FLCLK_PULSE_WIDTH_S 6
395 #define STACK_DIE_CTRL_RDSM_CFG_CPU_FLCLK_SENSE \
396                                 0x00000020  // FLCLK 0 : indicates flash clock
397                                             // rise aligns on HCLK rise 1 :
398                                             // indicates flash clock rise aligns
399                                             // on HCLK fall
400 
401 #define STACK_DIE_CTRL_RDSM_CFG_CPU_PIPELINE_FLDATA \
402                                 0x00000010  // 0 : Always register flash rdata
403                                             // before sending to CPU 1 : Drive
404                                             // Flash rdata directly out on MISS
405                                             // (Both ICODE / DCODE)
406 
407 #define STACK_DIE_CTRL_RDSM_CFG_CPU_READ_WAIT_STATE_M \
408                                 0x0000000F  // Number of wait states inserted
409 
410 #define STACK_DIE_CTRL_RDSM_CFG_CPU_READ_WAIT_STATE_S 0
411 //******************************************************************************
412 //
413 // The following are defines for the bit fields in the
414 // STACK_DIE_CTRL_O_RDSM_CFG_EE register.
415 //
416 //******************************************************************************
417 #define STACK_DIE_CTRL_RDSM_CFG_EE_FLCLK_PULSE_WIDTH_M \
418                                 0x000000C0  // Bank Clock Hi Time 00 : HCLK
419                                             // pulse 01 : 1 cycle of HCLK 10 :
420                                             // 1.5 cycles of HCLK 11 : 2 cycles
421                                             // of HCLK
422 
423 #define STACK_DIE_CTRL_RDSM_CFG_EE_FLCLK_PULSE_WIDTH_S 6
424 #define STACK_DIE_CTRL_RDSM_CFG_EE_FLCLK_SENSE \
425                                 0x00000020  // FLCLK 0 : indicates flash clock
426                                             // rise aligns on HCLK rise 1 :
427                                             // indicates flash clock rise aligns
428                                             // on HCLK fall
429 
430 #define STACK_DIE_CTRL_RDSM_CFG_EE_PIPELINE_FLDATA \
431                                 0x00000010  // 0 : Always register flash rdata
432                                             // before sending to CPU 1 : Drive
433                                             // Flash rdata directly out on MISS
434                                             // (Both ICODE / DCODE)
435 
436 #define STACK_DIE_CTRL_RDSM_CFG_EE_READ_WAIT_STATE_M \
437                                 0x0000000F  // Number of wait states inserted
438 
439 #define STACK_DIE_CTRL_RDSM_CFG_EE_READ_WAIT_STATE_S 0
440 //******************************************************************************
441 //
442 // The following are defines for the bit fields in the
443 // STACK_DIE_CTRL_O_BASE_UP_IRQ_LOG register.
444 //
445 //******************************************************************************
446 #define STACK_DIE_CTRL_BASE_UP_IRQ_LOG_SR_BK3_REL \
447                                 0x00000010  // Set when Relinquish Interrupt
448                                             // sent to Base processor for Bank3.
449 
450 #define STACK_DIE_CTRL_BASE_UP_IRQ_LOG_SR_BK2_RELEASE \
451                                 0x00000008  // Set when Relinquish Interrupt
452                                             // sent to Base processor for Bank2.
453 
454 #define STACK_DIE_CTRL_BASE_UP_IRQ_LOG_SR_BK3_GRANT \
455                                 0x00000004  // Set when Bank3 is granted to
456                                             // Base processor.
457 
458 #define STACK_DIE_CTRL_BASE_UP_IRQ_LOG_SR_BK2_GRANT \
459                                 0x00000002  // Set when Bank2 is granted to
460                                             // BAse processor.
461 
462 #define STACK_DIE_CTRL_BASE_UP_IRQ_LOG_SR_INVAL_ACCSS \
463                                 0x00000001  // Set when there Base processor do
464                                             // an Invalid access to Sram. Ex :
465                                             // Accessing the bank which is not
466                                             // granted for BAse processor.
467 
468 //******************************************************************************
469 //
470 // The following are defines for the bit fields in the
471 // STACK_DIE_CTRL_O_STK_UP_IRQ_LOG register.
472 //
473 //******************************************************************************
474 #define STACK_DIE_CTRL_STK_UP_IRQ_LOG_SR_BK3_REL \
475                                 0x00000008  // Set when Relinquish Interrupt
476                                             // sent to Stack processor for
477                                             // Bank3.
478 
479 #define STACK_DIE_CTRL_STK_UP_IRQ_LOG_SR_BK2_REL \
480                                 0x00000004  // Set when Relinquish Interrupt
481                                             // sent to Stack processor for
482                                             // Bank2.
483 
484 #define STACK_DIE_CTRL_STK_UP_IRQ_LOG_SR_BK3_GRANT \
485                                 0x00000002  // Set when Bank3 is granted to
486                                             // Stack processor.
487 
488 #define STACK_DIE_CTRL_STK_UP_IRQ_LOG_SR_BK2_GRANT \
489                                 0x00000001  // Set when Bank2 is granted to
490                                             // Stack processor.
491 
492 //******************************************************************************
493 //
494 // The following are defines for the bit fields in the
495 // STACK_DIE_CTRL_O_STK_CLK_EN register.
496 //
497 //******************************************************************************
498 #define STACK_DIE_CTRL_STK_CLK_EN_SR_CLK \
499                                 0x00000004  // Enable the clock going to sram.
500 
501 #define STACK_DIE_CTRL_STK_CLK_EN_DFT_CTRL_CLK \
502                                 0x00000002  // Enable the clock going to dft
503                                             // control block
504 
505 #define STACK_DIE_CTRL_STK_CLK_EN_STK_UP_CLK \
506                                 0x00000001  // Enable the clock going to Cm3
507 
508 //******************************************************************************
509 //
510 // The following are defines for the bit fields in the
511 // STACK_DIE_CTRL_O_SPIN_LOCK_MODE register.
512 //
513 //******************************************************************************
514 #define STACK_DIE_CTRL_SPIN_LOCK_MODE_MODE \
515                                 0x00000001  // 0 : Handshake Mode 1 : Spinlock
516                                             // mode.
517 
518 //******************************************************************************
519 //
520 // The following are defines for the bit fields in the
521 // STACK_DIE_CTRL_O_BUS_FAULT_ADDR register.
522 //
523 //******************************************************************************
524 #define STACK_DIE_CTRL_BUS_FAULT_ADDR_ADDRESS_M \
525                                 0xFFFFFFFF  // Fault Address
526 
527 #define STACK_DIE_CTRL_BUS_FAULT_ADDR_ADDRESS_S 0
528 //******************************************************************************
529 //
530 // The following are defines for the bit fields in the
531 // STACK_DIE_CTRL_O_BUS_FAULT_CLR register.
532 //
533 //******************************************************************************
534 #define STACK_DIE_CTRL_BUS_FAULT_CLR_CLEAR \
535                                 0x00000001  // When set it'll clear the bust
536                                             // fault address register to store
537                                             // the new bus fault address
538 
539 //******************************************************************************
540 //
541 // The following are defines for the bit fields in the
542 // STACK_DIE_CTRL_O_RESET_CAUSE register.
543 //
544 //******************************************************************************
545 #define STACK_DIE_CTRL_RESET_CAUSE_RST_CAUSE_M \
546                                 0xFFFFFFFF
547 
548 #define STACK_DIE_CTRL_RESET_CAUSE_RST_CAUSE_S 0
549 //******************************************************************************
550 //
551 // The following are defines for the bit fields in the
552 // STACK_DIE_CTRL_O_WDOG_TIMER_EVENT register.
553 //
554 //******************************************************************************
555 #define STACK_DIE_CTRL_WDOG_TIMER_EVENT_WDOG_TMR_EVNT_M \
556                                 0xFFFFFFFF
557 
558 #define STACK_DIE_CTRL_WDOG_TIMER_EVENT_WDOG_TMR_EVNT_S 0
559 //******************************************************************************
560 //
561 // The following are defines for the bit fields in the
562 // STACK_DIE_CTRL_O_DMA_REQ register.
563 //
564 //******************************************************************************
565 #define STACK_DIE_CTRL_DMA_REQ_DMAREQ1 \
566                                 0x00000002  // Generate DMAREQ1 on setting this
567                                             // bit.
568 
569 #define STACK_DIE_CTRL_DMA_REQ_DMAREQ0 \
570                                 0x00000001  // Generate DMAREQ0 on setting this
571                                             // bit.
572 
573 //******************************************************************************
574 //
575 // The following are defines for the bit fields in the
576 // STACK_DIE_CTRL_O_SRAM_JUMP_OFFSET_ADDR register.
577 //
578 //******************************************************************************
579 #define STACK_DIE_CTRL_SRAM_JUMP_OFFSET_ADDR_ADDR_M \
580                                 0xFFFFFFFF
581 
582 #define STACK_DIE_CTRL_SRAM_JUMP_OFFSET_ADDR_ADDR_S 0
583 //******************************************************************************
584 //
585 // The following are defines for the bit fields in the
586 // STACK_DIE_CTRL_O_SW_REG1 register.
587 //
588 //******************************************************************************
589 #define STACK_DIE_CTRL_SW_REG1_NEWBITFIELD1_M \
590                                 0xFFFFFFFF
591 
592 #define STACK_DIE_CTRL_SW_REG1_NEWBITFIELD1_S 0
593 //******************************************************************************
594 //
595 // The following are defines for the bit fields in the
596 // STACK_DIE_CTRL_O_SW_REG2 register.
597 //
598 //******************************************************************************
599 #define STACK_DIE_CTRL_SW_REG2_NEWBITFIELD1_M \
600                                 0xFFFFFFFF
601 
602 #define STACK_DIE_CTRL_SW_REG2_NEWBITFIELD1_S 0
603 //******************************************************************************
604 //
605 // The following are defines for the bit fields in the
606 // STACK_DIE_CTRL_O_FMC_SLEEP_CTL register.
607 //
608 //******************************************************************************
609 #define STACK_DIE_CTRL_FMC_SLEEP_CTL_FMC_LPM_ACK \
610                                 0x00000002  // captures the status of of
611                                             // fmc_lpm_ack
612 
613 #define STACK_DIE_CTRL_FMC_SLEEP_CTL_FMC_LPM_REQ \
614                                 0x00000001  // When set assert
615                                             // iflpe2fmc_lpm_req to FMC.
616 
617 //******************************************************************************
618 //
619 // The following are defines for the bit fields in the
620 // STACK_DIE_CTRL_O_MISC_CTL register.
621 //
622 //******************************************************************************
623 #define STACK_DIE_CTRL_MISC_CTL_WDOG_RESET \
624                                 0x00000080  // 1 : will reset the async wdog
625                                             // timer runing on piosc clock
626 
627 #define STACK_DIE_CTRL_MISC_CTL_FW_IRQ2 \
628                                 0x00000020  // Setting this Will send to
629                                             // interttupt to CM3
630 
631 #define STACK_DIE_CTRL_MISC_CTL_FW_IRQ1 \
632                                 0x00000010  // Setting this Will send to
633                                             // interttupt to CM3
634 
635 #define STACK_DIE_CTRL_MISC_CTL_FW_IRQ0 \
636                                 0x00000008  // Setting this Will send to
637                                             // interttupt to CM3
638 
639 #define STACK_DIE_CTRL_MISC_CTL_FLB_TEST_MUX_CTL_BK3 \
640                                 0x00000004  // While testing Flash Setting this
641                                             // bit will Control the
642                                             // CE/STR/AIN/CLKIN going to flash
643                                             // banks 12 and 3. 0 : Control
644                                             // signals coming from FMC for Bank
645                                             // 3 goes to Bank3 1 : Control
646                                             // signals coming from FMC for Bank
647                                             // 0 goes to Bank2
648 
649 #define STACK_DIE_CTRL_MISC_CTL_FLB_TEST_MUX_CTL_BK2 \
650                                 0x00000002  // While testing Flash Setting this
651                                             // bit will Control the
652                                             // CE/STR/AIN/CLKIN going to flash
653                                             // banks 12 and 3. 0 : Control
654                                             // signals coming from FMC for Bank
655                                             // 2 goes to Bank2 1 : Control
656                                             // signals coming from FMC for Bank
657                                             // 0 goes to Bank2
658 
659 #define STACK_DIE_CTRL_MISC_CTL_FLB_TEST_MUX_CTL_BK1 \
660                                 0x00000001  // While testing Flash Setting this
661                                             // bit will Control the
662                                             // CE/STR/AIN/CLKIN going to flash
663                                             // banks 12 and 3. 0 : Control
664                                             // signals coming from FMC for Bank
665                                             // 1 goes to Bank1 1 : Control
666                                             // signals coming from FMC for Bank
667                                             // 0 goes to Bank1
668 
669 //******************************************************************************
670 //
671 // The following are defines for the bit fields in the
672 // STACK_DIE_CTRL_O_SW_DFT_CTL register.
673 //
674 //******************************************************************************
675 #define STACK_DIE_CTRL_SW_DFT_CTL_FL_CTRL_OWNS \
676                                 0x20000000  // when set to '1' all flash
677                                             // control signals switch over to
678                                             // CM3 control when '0' it is under
679                                             // the D2D interface control
680 
681 #define STACK_DIE_CTRL_SW_DFT_CTL_SWIF_CPU_READ \
682                                 0x10000000  // 1 indicates in SWIF mode the
683                                             // control signals to flash are from
684                                             // FMC CPU read controls the clock
685                                             // and address. that is one can give
686                                             // address via FMC and read through
687                                             // IDMEM.
688 
689 #define STACK_DIE_CTRL_SW_DFT_CTL_CPU_DONE \
690                                 0x00800000  // 'CPU Done' bit for PBIST. Write
691                                             // '1' to indicate test done.
692 
693 #define STACK_DIE_CTRL_SW_DFT_CTL_CPU_FAIL \
694                                 0x00400000  // 'CPU Fail' bit for PBIST. Write
695                                             // '1' to indicate test failed.
696 
697 #define STACK_DIE_CTRL_SW_DFT_CTL_FLBK4_OWNS \
698                                 0x00001000  // when set to '1' flash bank 4
699                                             // (EEPROM) is owned by the CM3for
700                                             // reads over DCODE bus. When '0'
701                                             // access control given to D2D
702                                             // interface.
703 
704 #define STACK_DIE_CTRL_SW_DFT_CTL_FLBK3_OWNS \
705                                 0x00000800  // when set to '1' flash bank 3 is
706                                             // owned by the CM3for reads over
707                                             // DCODE bus. When '0' access
708                                             // control given to D2D interface.
709 
710 #define STACK_DIE_CTRL_SW_DFT_CTL_FLBK2_OWNS \
711                                 0x00000400  // when set to '1' flash bank 2 is
712                                             // owned by the CM3for reads over
713                                             // DCODE bus. When '0' access
714                                             // control given to D2D interface.
715 
716 #define STACK_DIE_CTRL_SW_DFT_CTL_FLBK1_OWNS \
717                                 0x00000200  // when set to '1' flash bank 1 is
718                                             // owned by the CM3for reads over
719                                             // DCODE bus. When '0' access
720                                             // control given to D2D interface.
721 
722 #define STACK_DIE_CTRL_SW_DFT_CTL_FLBK0_OWNS \
723                                 0x00000100  // when set to '1' flash bank 0 is
724                                             // owned by the CM3 for reads over
725                                             // DCODE bus. When '0' access
726                                             // control given to D2D interface.
727 
728 //******************************************************************************
729 //
730 // The following are defines for the bit fields in the
731 // STACK_DIE_CTRL_O_PADN_CTL_0 register.
732 //
733 //******************************************************************************
734 #define STACK_DIE_CTRL_PADN_CTL_0_SPARE_PAD_DOUT \
735                                 0x00000008  // This bit is valid for only the
736                                             // spare pads ie for n=57 to 59.
737                                             // value to drive at the output of
738                                             // the pad
739 
740 #define STACK_DIE_CTRL_PADN_CTL_0_SPARE_PAD_DIN \
741                                 0x00000004  // This bit is valid for only the
742                                             // spare pads ie for n=57 to 59.
743                                             // captures the 'Y' pin of the pad
744                                             // which is the data being driven
745                                             // into the die
746 
747 #define STACK_DIE_CTRL_PADN_CTL_0_OEN2X \
748                                 0x00000002  // OEN2X control when '1' enables
749                                             // the output with 1x. Total drive
750                                             // strength is decided bu oen1x
751                                             // setting + oen2x setting.
752 
753 #define STACK_DIE_CTRL_PADN_CTL_0_OEN1X \
754                                 0x00000001  // OEN1X control when '1' enables
755                                             // the output with 1x . Total drive
756                                             // strength is decided bu oen1x
757                                             // setting + oen2x setting.
758 
759 
760 
761 
762 #endif // __HW_STACK_DIE_CTRL_H__
763