|
@@ -233,39 +233,45 @@ ENTRY(lowlevel_init)
|
|
* NOTE: As per the CCSR map doc, TZASC 3 and TZASC 4 are just
|
|
* NOTE: As per the CCSR map doc, TZASC 3 and TZASC 4 are just
|
|
* placeholders.
|
|
* placeholders.
|
|
*/
|
|
*/
|
|
-#ifdef CONFIG_FSL_TZASC_1
|
|
|
|
- ldr x1, =TZASC_GATE_KEEPER(0)
|
|
|
|
- ldr w0, [x1] /* Filter 0 Gate Keeper Register */
|
|
|
|
- orr w0, w0, #1 << 0 /* Set open_request for Filter 0 */
|
|
|
|
- str w0, [x1]
|
|
|
|
|
|
|
|
- ldr x1, =TZASC_REGION_ATTRIBUTES_0(0)
|
|
|
|
- ldr w0, [x1] /* Region-0 Attributes Register */
|
|
|
|
- orr w0, w0, #1 << 31 /* Set Sec global write en, Bit[31] */
|
|
|
|
- orr w0, w0, #1 << 30 /* Set Sec global read en, Bit[30] */
|
|
|
|
- str w0, [x1]
|
|
|
|
|
|
+.macro tzasc_prog, xreg
|
|
|
|
+
|
|
|
|
+ mov x12, TZASC1_BASE
|
|
|
|
+ mov x16, #0x10000
|
|
|
|
+ mul x14, \xreg, x16
|
|
|
|
+ add x14, x14,x12
|
|
|
|
+ mov x1, #0x8
|
|
|
|
+ add x1, x1, x14
|
|
|
|
+
|
|
|
|
+ ldr w0, [x1] /* Filter 0 Gate Keeper Register */
|
|
|
|
+ orr w0, w0, #1 << 0 /* Set open_request for Filter 0 */
|
|
|
|
+ str w0, [x1]
|
|
|
|
+
|
|
|
|
+ mov x1, #0x110
|
|
|
|
+ add x1, x1, x14
|
|
|
|
+
|
|
|
|
+ ldr w0, [x1] /* Region-0 Attributes Register */
|
|
|
|
+ orr w0, w0, #1 << 31 /* Set Sec global write en, Bit[31] */
|
|
|
|
+ orr w0, w0, #1 << 30 /* Set Sec global read en, Bit[30] */
|
|
|
|
+ str w0, [x1]
|
|
|
|
+
|
|
|
|
+ mov x1, #0x114
|
|
|
|
+ add x1, x1, x14
|
|
|
|
+
|
|
|
|
+ ldr w0, [x1] /* Region-0 Access Register */
|
|
|
|
+ mov w0, #0xFFFFFFFF /* Set nsaid_wr_en and nsaid_rd_en */
|
|
|
|
+ str w0, [x1]
|
|
|
|
+.endm
|
|
|
|
+
|
|
|
|
+#ifdef CONFIG_FSL_TZASC_1
|
|
|
|
+ mov x13, #0
|
|
|
|
+ tzasc_prog x13
|
|
|
|
|
|
- ldr x1, =TZASC_REGION_ID_ACCESS_0(0)
|
|
|
|
- ldr w0, [x1] /* Region-0 Access Register */
|
|
|
|
- mov w0, #0xFFFFFFFF /* Set nsaid_wr_en and nsaid_rd_en */
|
|
|
|
- str w0, [x1]
|
|
|
|
#endif
|
|
#endif
|
|
#ifdef CONFIG_FSL_TZASC_2
|
|
#ifdef CONFIG_FSL_TZASC_2
|
|
- ldr x1, =TZASC_GATE_KEEPER(1)
|
|
|
|
- ldr w0, [x1] /* Filter 0 Gate Keeper Register */
|
|
|
|
- orr w0, w0, #1 << 0 /* Set open_request for Filter 0 */
|
|
|
|
- str w0, [x1]
|
|
|
|
-
|
|
|
|
- ldr x1, =TZASC_REGION_ATTRIBUTES_0(1)
|
|
|
|
- ldr w0, [x1] /* Region-1 Attributes Register */
|
|
|
|
- orr w0, w0, #1 << 31 /* Set Sec global write en, Bit[31] */
|
|
|
|
- orr w0, w0, #1 << 30 /* Set Sec global read en, Bit[30] */
|
|
|
|
- str w0, [x1]
|
|
|
|
|
|
+ mov x13, #1
|
|
|
|
+ tzasc_prog x13
|
|
|
|
|
|
- ldr x1, =TZASC_REGION_ID_ACCESS_0(1)
|
|
|
|
- ldr w0, [x1] /* Region-1 Attributes Register */
|
|
|
|
- mov w0, #0xFFFFFFFF /* Set nsaid_wr_en and nsaid_rd_en */
|
|
|
|
- str w0, [x1]
|
|
|
|
#endif
|
|
#endif
|
|
isb
|
|
isb
|
|
dsb sy
|
|
dsb sy
|