product/sgi575: Improve transport module init sequence
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 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 initialisation in cmake file
Note, this change depends on the following commits
clock: allow the initial rate to be set during initialization
transport: add condition to check power domain is valid
Change-Id: I5d34b41782f4a15d923236dcd67f0fa8a1b9a393
Signed-off-by:
Girish Pathak <girish.pathak@arm.com>
Loading
Please register or sign in to comment