Skip to content

Fix delayed transport init

Created by: girishpathak

At present, the transport module delays the initialization of the shared memory channel due to dependency on the power domain responsible for the shared memory. The transport module registers a notification for the status of this power domain and waits for powered on notification, it will then initialize the channel once it receives power on notification from the power domain module. However, for some platforms power domain can be initialized early using default_power_on = true setting in respective platform-specific config_ppu*.c as many platforms have its shared memory in the SYSTOP power domain which is usually enabled by default. The reason we need the above early initialization because few other modules would not be proceeding without the transport module channel initialization which would further interact with the transport module using notifications, thus deferring its initialization. If we can initialize the transport module early we can also initialize other modules early too.

This change includes modifications to 1. ppu configuration that sets default_power_on = true for SYSTOP 2. Relevant modification to clock configurations, as we are enabling the required clocks before all modules are started. 3. Change the order of module initialization in cmake file

Above changes may not be applicable to all platforms, hence check respective product-specific commits for changes done for that product

Merge request reports