SPRUJ79 November 2024 F29H850TU , F29H859TU-Q1
Table 2-22 lists the memory-mapped registers for the C29_SECURE_REGS registers. All register offset addresses not listed in Table 2-22 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Protection |
|---|---|---|---|
| 0h | SECSP0 | Secure Stackpointer 0 | |
| 4h | SECSP1 | Secure Stackpointer 1 | |
| 8h | SECSP2 | Secure Stackpointer 2 | |
| Ch | SECSP3 | Secure Stackpointer 3 | |
| 10h | SECSP4 | Secure Stackpointer 4 | |
| 14h | SECSP5 | Secure Stackpointer 5 | |
| 18h | SECSP6 | Secure Stackpointer 6 | |
| 1Ch | SECSP7 | Secure Stackpointer 7 | |
| 80h | PSP | Protected call stack pointer | |
| 84h | WARNPSP | Warning level register for protected call stack pointer | |
| 88h | MAXPSP | Maximum levels of protected calls supported by the HW | |
| 8Ch | REVISION | IP revision id register | |
| 90h | C29_REGS_LOCK | Lock register | |
| 94h | C29_REGS_COMMIT | Commit register |
Complex bit access types are encoded to fit into small table cells. Table 2-23 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| Write Type | ||
| W | W | Write |
| W1S | W 1S | Write 1 to set |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
| Register Array Variables | ||
| i,j,k,l,m,n | When these variables are used in a register name, an offset, or an address, they refer to the value of a register array where the register is part of a group of repeating registers. The register groups form a hierarchical structure and the array is represented with a formula. | |
| y | When this variable is used in a register name, an offset, or an address it refers to the value of a register array. | |
SECSP0 is shown in Figure 2-18 and described in Table 2-24.
Return to the Summary Table.
Secure Stackpointer 0
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SP0 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SP0 | R/W | 0h | Secure stack pointer 0 Only 32-bit access is permitted to this register, shorter accesses are not a use-case Reset type: SYSRSn |
SECSP1 is shown in Figure 2-19 and described in Table 2-25.
Return to the Summary Table.
Secure Stackpointer 1
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SP1 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SP1 | R/W | 0h | Secure stack pointer 1 Only 32-bit access is permitted to this register, shorter accesses are not a use-case Reset type: SYSRSn |
SECSP2 is shown in Figure 2-20 and described in Table 2-26.
Return to the Summary Table.
Secure Stackpointer 2
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SP2 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SP2 | R/W | 0h | Secure stack pointer 2 Only 32-bit access is permitted to this register, shorter accesses are not a use-case Reset type: SYSRSn |
SECSP3 is shown in Figure 2-21 and described in Table 2-27.
Return to the Summary Table.
Secure Stackpointer 3
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SP3 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SP3 | R/W | 0h | Secure stack pointer 3 Only 32-bit access is permitted to this register, shorter accesses are not a use-case Reset type: SYSRSn |
SECSP4 is shown in Figure 2-22 and described in Table 2-28.
Return to the Summary Table.
Secure Stackpointer 4
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SP4 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SP4 | R/W | 0h | Secure stack pointer 4 Only 32-bit access is permitted to this register, shorter accesses are not a use-case Reset type: SYSRSn |
SECSP5 is shown in Figure 2-23 and described in Table 2-29.
Return to the Summary Table.
Secure Stackpointer 5
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SP5 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SP5 | R/W | 0h | Secure stack pointer 5 Only 32-bit access is permitted to this register, shorter accesses are not a use-case Reset type: SYSRSn |
SECSP6 is shown in Figure 2-24 and described in Table 2-30.
Return to the Summary Table.
Secure Stackpointer 6
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SP6 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SP6 | R/W | 0h | Secure stack pointer 6 Only 32-bit access is permitted to this register, shorter accesses are not a use-case Reset type: SYSRSn |
SECSP7 is shown in Figure 2-25 and described in Table 2-31.
Return to the Summary Table.
Secure Stackpointer 7
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SP7 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SP7 | R/W | 0h | Secure stack pointer 7 Only 32-bit access is permitted to this register, shorter accesses are not a use-case Reset type: SYSRSn |
PSP is shown in Figure 2-26 and described in Table 2-32.
Return to the Summary Table.
Protected call stack pointer
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | PSP | ||||||||||||||||||||||||||||||
| R-0h | R-0h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-12 | RESERVED | R | 0h | Reserved |
| 11-0 | PSP | R | 0h | Current value of protected call stack pointer. Increamented in HW on Secure Call and decremeted on Secure Return. It can be initialized by the CPU provided SSU security rules are met. Reset type: SYSRSn |
WARNPSP is shown in Figure 2-27 and described in Table 2-33.
Return to the Summary Table.
Warning level register for protected call stack pointer
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | WARNPSP | ||||||||||||||||||||||||||||||
| R-0h | R/W-Ch | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-12 | RESERVED | R | 0h | Reserved |
| 11-0 | WARNPSP | R/W | Ch | Warning level for protected call stack pointer.It can be initialized by the CPU provided SSU security rules are met. External logic may compare PSP with WARNPSP to generate early warning interrupt to avoid protected call stack overflow. Reset type: SYSRSn |
MAXPSP is shown in Figure 2-28 and described in Table 2-34.
Return to the Summary Table.
Maximum levels of protected calls supported by the HW
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | MAXPSP | ||||||||||||||||||||||||||||||
| R-0h | R-10h | ||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-12 | RESERVED | R | 0h | Reserved |
| 11-0 | MAXPSP | R | 10h | Maximum levels of protected calls supported by the HW.It can be initialized by the CPU provided SSU security rules are met. External logic may compare PSP with MAXPSP to generate NMI interrupt to indicate stack over flow. Reset type: SYSRSn |
REVISION is shown in Figure 2-29 and described in Table 2-35.
Return to the Summary Table.
IP revision id register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| MAJREV_CPUCONFIG | MAJREV_TMU64_PRESENT | MAJREV_FPU64_PRESENT | MAJREV_Revision | ||||
| R-4h | R-1h | R-1h | R-0h | ||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MINREV | |||||||
| R-0h | |||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-13 | MAJREV_CPUCONFIG | R | 4h | This hardcoded field defines CPU configuration 000 : Low end 100 : Base configuration(Veloce) 111 : Higher end Reset type: SYSRSn |
| 12 | MAJREV_TMU64_PRESENT | R | 1h | This hardcoded field defines whether TMU64 is present in the IP. Reset type: SYSRSn |
| 11 | MAJREV_FPU64_PRESENT | R | 1h | This hardcoded field defines whether FPU64 is present in the IP. Reset type: SYSRSn |
| 10-8 | MAJREV_Revision | R | 0h | This hardcoded field defines the major revision of the IP. Reset type: SYSRSn |
| 7-0 | MINREV | R | 0h | This hardcoded field defines the minor revision of the IP. Reset type: SYSRSn |
C29_REGS_LOCK is shown in Figure 2-30 and described in Table 2-36.
Return to the Summary Table.
C29 registers lock
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | C29_SELFTEST_REGS | C29_DIAG_REGS | C29_SECURE_REGS | C29_SECCALL_STACK | C29_RTINT_STACK | RESERVED | |
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R-0h | |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-6 | RESERVED | R | 0h | Reserved |
| 5 | C29_SELFTEST_REGS | R/W | 0h | When set, locks the C29 SELFTEST register region (writes will have no effect on it). This bit can only be modified if C29_REGS_COMMIT.C29_SELFTEST_REGS is cleared. 0 : Unlocked 1 : Locked Reset type: SYSRSn |
| 4 | C29_DIAG_REGS | R/W | 0h | When set, locks the C29 DIAG register region (writes will have no effect on it). This bit can only be modified if C29_REGS_COMMIT.C29_DIAG_REGS is cleared. 0 : Unlocked 1 : Locked Reset type: SYSRSn |
| 3 | C29_SECURE_REGS | R/W | 0h | When set, locks the C29 SECURE register region (writes will have no effect on it). This bit can only be modified if C29_REGS_COMMIT.C29_SECURE_REGST is cleared. 0 : Unlocked 1 : Locked Reset type: SYSRSn |
| 2 | C29_SECCALL_STACK | R/W | 0h | When set, locks the C29 SECCALL stack register region (writes will have no effect on it). This bit can only be modified if C29_REGS_COMMIT.C29_SECCALL_STACK is cleared. 0 : Unlocked 1 : Locked Reset type: SYSRSn |
| 1 | C29_RTINT_STACK | R/W | 0h | When set, locks the C29 RTINT stack register region (writes will have no effect on it). This bit can only be modified if C29_REGS_COMMIT.C29_RTINT_STACK is cleared. 0 : Unlocked 1 : Locked Reset type: SYSRSn |
| 0 | RESERVED | R | 0h | Reserved |
C29_REGS_COMMIT is shown in Figure 2-31 and described in Table 2-37.
Return to the Summary Table.
C29 registers commit
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | C29_SELFTEST_REGS | C29_DIAG_REGS | C29_SECURE_REGS | C29_SECCALL_STACK | C29_RTINT_STACK | RESERVED | |
| R-0h | R/W1S-0h | R/W1S-0h | R/W1S-0h | R/W1S-0h | R/W1S-0h | R-0h | |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-6 | RESERVED | R | 0h | Reserved |
| 5 | C29_SELFTEST_REGS | R/W1S | 0h | When set, locks C29_REGS_LOCK.C29_SELFTEST_REGS register field (writes will have no effect on it). This bit cannot be cleared, except by reset. 0 : C29_REGS_LOCK.C29_SELFTEST_REGS is modifiable 1 : C29_REGS_LOCK.C29_SELFTEST_REGS is committed permanently Reset type: SYSRSn |
| 4 | C29_DIAG_REGS | R/W1S | 0h | When set, locks C29_REGS_LOCK.C29_DIAG_REGS register field (writes will have no effect on it). This bit cannot be cleared, except by reset. 0 : C29_REGS_LOCK.C29_DIAG_REGS is modifiable 1 : C29_REGS_LOCK.C29_DIAG_REGS is committed permanently Reset type: SYSRSn |
| 3 | C29_SECURE_REGS | R/W1S | 0h | When set, locks C29_REGS_LOCK.C29_SECURE_REGS register field (writes will have no effect on it). This bit cannot be cleared, except by reset. 0 : C29_REGS_LOCK.C29_SECURE_REGS is modifiable 1 : C29_REGS_LOCK.C29_SECURE_REGS is committed permanently Reset type: SYSRSn |
| 2 | C29_SECCALL_STACK | R/W1S | 0h | When set, locks C29_REGS_LOCK.C29_SECCALL_STACK register field (writes will have no effect on it). This bit cannot be cleared, except by reset. 0 : C29_REGS_LOCK.C29_SECCALL_STACK is modifiable 1 : C29_REGS_LOCK.C29_SECCALL_STACK is committed permanently Reset type: SYSRSn |
| 1 | C29_RTINT_STACK | R/W1S | 0h | When set, locks C29_REGS_LOCK.C29_RTINT_STACK register field (writes will have no effect on it). This bit cannot be cleared, except by reset. 0 : C29_REGS_LOCK.C29_RTINT_STACK is modifiable 1 : C29_REGS_LOCK.C29_RTINT_STACK is committed permanently Reset type: SYSRSn |
| 0 | RESERVED | R | 0h | Reserved |