The sub-system configuration is captured in a Configuration Object, which is generated by the Vivado and PetaLinux toolchain. The Configuration Object contains:
- The PM Masters that are present in the system (APU and/or RPU). Any PM Master not specified in the Configuration Object is powered down by the PMU.
- Configurable permissions for each PM Master, such as:
- Which PM Master can use which PM Slave (A PM Master can use all the PM Slaves that belong in the same sub-system.)
- Access to MMIO address regions.
- Access to peripheral reset lines.
- Pre-allocated PM Slaves. The PM Master can use these PM Slaves without requesting for them first. These PM Slaves are needed by the PM Master to boot. The toolchain makes sure that the APU can access the L2 cache and DDR banks without first requesting for them. The same is true for the RPU accessing all the TCM banks.
Note: Isolation is not
required for the Configuration Object to be created. You can create subsystems to
customize the Configuration Object and then uncheck the isolation
checkbox.