Tamas Ban | f6aed63 | 2022-10-13 16:42:48 +0200 | [diff] [blame] | 1 | @startuml |
| 2 | skinparam ParticipantPadding 10 |
| 3 | skinparam BoxPadding 10 |
| 4 | box RSS |
| 5 | participant RSS_BL1_1 |
| 6 | participant RSS_BL1_2 |
| 7 | participant RSS_BL2 |
| 8 | participant RSS_S |
| 9 | endbox |
| 10 | box SCP |
| 11 | participant SCP_BL1 |
| 12 | endbox |
| 13 | box AP |
| 14 | participant AP_BL1 |
| 15 | participant AP_BL2 |
| 16 | participant AP_BL31 |
| 17 | endbox |
| 18 | |
| 19 | == RSS Boot phase == |
| 20 | -> RSS_BL1_1: Reset |
| 21 | Rnote over RSS_BL1_1: ROM code, XIP |
| 22 | Rnote over RSS_BL1_2: OTP code, XIP |
| 23 | Rnote over RSS_BL2, AP_BL31: Stored in flash, loaded and executed in RAM |
| 24 | activate RSS_BL1_1 #Green |
| 25 | RSS_BL1_1 -->> RSS_BL1_2: Validate, measure |
| 26 | Rnote over RSS_BL1_1: BL1_2 measurement\n\ saved to a shared buffer |
| 27 | RSS_BL1_1 -> RSS_BL1_2: Pass execution |
| 28 | deactivate RSS_BL1_1 |
| 29 | activate RSS_BL1_2 #Green |
| 30 | RSS_BL1_2 -->> RSS_BL2: Validate, measure, load |
| 31 | Rnote over RSS_BL1_2: RSS_BL2 measurement\n\ saved to a shared buffer |
| 32 | RSS_BL1_2 -> RSS_BL2: Pass execution |
| 33 | deactivate RSS_BL1_2 |
| 34 | activate RSS_BL2 #Green |
| 35 | RSS_BL2 -->> RSS_S: Validate, measure, load |
| 36 | RSS_BL2 -->> SCP_BL1: Validate, measure, load |
| 37 | Rnote over RSS_BL2: RSS_S and SCP_BL1\n\ measurements saved\n\ to a shared buffer |
| 38 | RSS_BL2 -> SCP_BL1: Release from reset |
| 39 | activate SCP_BL1 #Green |
| 40 | Rnote over RSS_BL2, SCP_BL1: MHU init between RSS and SCP |
| 41 | Rnote over SCP_BL1: Configure memory |
| 42 | Rnote over RSS_BL2: Waits for SCP |
| 43 | SCP_BL1 --> RSS_BL2: Done |
| 44 | RSS_BL2 -->> AP_BL1: Validate, measure, load |
| 45 | Rnote over RSS_BL2: AP_BL1 measurement\n\ saved to a shared buffer |
| 46 | RSS_BL2 -> AP_BL1: Release from reset |
| 47 | activate AP_BL1 #Green |
| 48 | RSS_BL2 -> RSS_S: Pass execution |
| 49 | deactivate RSS_BL2 |
| 50 | activate RSS_S #Green |
| 51 | Rnote over RSS_S: Measurements read from\n\ shared buffer and saved by\n\ |
| 52 | Measured Boot service to\n\ measurement slots. |
| 53 | |
| 54 | == RSS Runtime / AP Boot phase == |
| 55 | Rnote over RSS_S, AP_BL1: MHU init between RSS and AP |
| 56 | Rnote over AP_BL1: Measure and load:\n\ FW_CONFIG\n\ TB_FW_CONFIG |
| 57 | AP_BL1 -> RSS_S: Extend measurement |
| 58 | Rnote over RSS_S: Measured Boot:\n\ store measurement |
| 59 | AP_BL1 -->> AP_BL2: Validate, measure,load |
| 60 | AP_BL1 -> RSS_S: Extend measurement |
| 61 | Rnote over RSS_S: Measured Boot:\n\ store measurement |
| 62 | AP_BL1 -> AP_BL2: Pass execution |
| 63 | deactivate AP_BL1 |
| 64 | activate AP_BL2 #Green |
| 65 | Rnote over AP_BL2: Measure and load:\n\ HW_CONFIG |
| 66 | AP_BL2 -> RSS_S: Extend measurement |
| 67 | Rnote over RSS_S: Measured Boot:\n\ store measurement |
| 68 | AP_BL2 -->> AP_BL31: Validate, measure,load |
| 69 | Rnote over AP_BL2: Measure and load:\n\ BL31 |
| 70 | AP_BL2 -> RSS_S: Extend measurement |
| 71 | Rnote over RSS_S: Measured Boot:\n\ store measurement |
| 72 | Rnote over AP_BL2: Measure and load:\n\ RMM |
| 73 | AP_BL2 -> RSS_S: Extend measurement |
| 74 | Rnote over RSS_S: Measured Boot:\n\ store measurement |
| 75 | AP_BL2 -> AP_BL31: Pass execution |
| 76 | deactivate AP_BL2 |
| 77 | activate AP_BL31 #Green |
| 78 | == RSS / AP Runtime == |
| 79 | @enduml |