1#-------------------------------------------------------------------------------
2# Copyright (c) 2023-2024, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6#-------------------------------------------------------------------------------
7locations:
8    rom:
9        base_address: 0x1101F000
10        size: 0x1000
11    vm0:
12        base_address: 0x31000000
13        size: 0x10000
14        reserved: 0x8
15    otp:
16        # This has to be manually calculated, and must be updated if the OTP
17        # layout changes
18        base_address: 0x500A4C00
19        size: 0x400
20        reserved: 0x8
21    integrity_checker:
22        base_address: 0x5015C000
23    sam:
24        base_address: 0x5009F000
25    dma350:
26        base_address: 0x50002000
27    dtcm:
28        base_address: 0x34000000
29    lcm:
30        base_address: 0x500A0000
31    rse_system_control_registers:
32        base_address: 0x58021000
33    trng:
34        base_address: 0x500A5270
35    tram:
36        base_address: 0x5015D000
37    kmu:
38        base_address: 0x5009E000
39
40program:
41  - storage_location: "rom"
42    execution_location: "rom"
43    channel: 0
44    name: "program0"
45    description: "Set up DMA Channel 1"
46    commands:
47      - !include include/program0_cmd0.yaml         # Program 0 - Command 0
48      - !include include/program0_cmd1.yaml         # Program 0 - Command 1
49      - !include include/program0_cmd2.yaml         # Program 0 - Command 2
50
51  - storage_location: "rom"
52    execution_location: "rom"
53    channel: 1
54    name: "program1"
55    description: "Run only in Virgin TCI mode"
56    commands:
57      - !include include/program1_cmd0.yaml         # Program 1 - Command 0
58      - !include include/program1_cmd1.yaml         # Program 1 - Command 1
59
60  - storage_location: "rom"
61    execution_location: "rom"
62    channel: 0
63    name: "program2"
64    description: "P3 P4 Init"
65    commands:
66      - !include include/program2_cmd0.yaml         # Program 2 - Command 0
67      - !include include/program2_cmd1.yaml         # Program 2 - Command 1
68      - !include include/program2_cmd2.yaml         # Program 2 - Command 2
69      - !include include/program2_cmd3.yaml         # Program 2 - Command 3
70
71  - storage_location: "rom"
72    execution_location: "rom"
73    channel: 1
74    name: "program3"
75    description: "Run only in CM and DM modes"
76    commands:
77      - !include include/program3_cmd0.yaml         # Program 3 - Command 0
78      - !include include/program3_cmd1.yaml         # Program 3 - Command 1
79      - !include include/program3_cmd2.yaml         # Program 3 - Command 2
80
81  - storage_location: "rom"
82    execution_location: "rom"
83    channel: 0
84    name: "program4"
85    description: "OTP ICS loader"
86    commands:
87      - !include include/program4_cmd0.yaml         # Program 4 - Command 0
88      - !include include/program4_cmd1.yaml         # Program 4 - Command 1
89      - !include include/program4_cmd2.yaml         # Program 4 - Command 2
90      - !include include/program4_cmd3.yaml         # Program 4 - Command 3
91      - !include include/program4_cmd4.yaml         # Program 4 - Command 4
92
93  - storage_location: "otp"
94    execution_location: "vm0"
95    channel: 0
96    name: "program5"
97    description: "Copy SAM configuration"
98    commands:
99      - !include include/program5_cmd0.yaml         # Program 5 - Command 0
100      - !include include/program5_cmd1.yaml         # Program 5 - Command 1
101      - !include include/program5_cmd2.yaml         # Program 5 - Command 2
102
103  - storage_location: "rom"
104    execution_location: "rom"
105    name: "program6"
106    description: "Release DCU lock, enable and zeroize TRAM, and release CPUWAIT"
107    commands:
108      - !include include/program6_cmd0.yaml         # Program 6 - Command 0
109      - !include include/program6_cmd1.yaml         # Program 6 - Command 1
110      - !include include/program6_cmd2.yaml         # Program 6 - Command 2
111      - !include include/program6_cmd3.yaml         # Program 6 - Command 3
112      - !include include/program6_cmd4.yaml         # Program 6 - Command 4
113      - !include include/program6_cmd5.yaml         # Program 6 - Command 5
114      - !include include/program6_cmd6.yaml         # Program 6 - Command 6
115      - !include include/program6_cmd7.yaml         # Program 6 - Command 7
116      - !include include/program6_cmd8.yaml         # Program 6 - Command 8
117