The subsystem definition is important for the PLM to:
Identify a subsystem by its ID
Track the access permission of various peripheral for the subsystem
Make sure the pre-alloced peripherals are available when the subsystem is loaded.
Enable healthy boot monitoring for the subsystem.
The TRD defines two subsystems, APU Subsystem running Linux on SMP Cortex A72 cores and RPU Subsystem running standalone application on Lock-Step Cortex R5 cores.
Following table describes example of some peripheral permission for subsystems in the TRD:
Peripheral |
Subsystem |
Pre-alloced |
Access Permission |
|---|---|---|---|
Uart_0 |
APU |
Yes |
Shared |
Uart_1 |
RPU |
Yes |
Exclusive |
Sdio_1 |
APU |
Yes |
No Restriction |
Swdt_fpd |
APU |
No |
Time-shared |
Swdt_lpd |
RPU |
No |
Time-shared |
Gem_0 |
APU |
Yes |
Exclusive |
HB_MON_0 |
APU |
Yes |
Exclusive |
HB_MON_1 |
RPU |
Yes |
Exclusive |
Detail subsystem definition is available in the sources under hw/common/subsystem.cdo file.
Note
Uart_0 is set to have Shared access permission as it is being shared with plm for initial boot messages.
Note
Access permissions will be enforced both by hardware (using protection units) and software (using plm and pm permissions).