aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/intel/pmt/class.c
diff options
context:
space:
mode:
authorHiago De Franco <[email protected]>2025-06-29 17:25:11 +0000
committerUlf Hansson <[email protected]>2025-07-16 18:54:37 +0000
commit496deecb020d14ba89ba7084fbc3024f91687023 (patch)
tree26f8087f5c9afe02bb2e76edd78bbea0710fc871 /drivers/platform/x86/intel/pmt/class.c
parentpmdomain: core: introduce dev_pm_genpd_is_on() (diff)
downloadkernel-496deecb020d14ba89ba7084fbc3024f91687023.tar.gz
kernel-496deecb020d14ba89ba7084fbc3024f91687023.zip
remoteproc: imx_rproc: skip clock enable when M-core is managed by the SCU
For the i.MX8X and i.MX8 family SoCs, when the Cortex-M core is powered up and started by the Cortex-A core using the bootloader (e.g., via the U-Boot bootaux command), both M-core and Linux run within the same SCFW (System Controller Firmware) partition. With that, Linux has permission to control the M-core. But once the M-core is started by the bootloader, the SCFW automatically enables its clock and sets the clock rate. If Linux later attempts to enable the same clock via clk_prepare_enable(), the SCFW returns a 'LOCKED' error, as the clock is already configured by the SCFW. This causes the probe function in imx_rproc.c to fail, leading to the M-core power domain being shut down while the core is still running. This results in a fault from the SCU (System Controller Unit) and triggers a system reset. To address this issue, ignore handling the clk for i.MX8X and i.MX8 M-core, as SCFW already takes care of enabling and configuring the clock. Suggested-by: Peng Fan <[email protected]> Reviewed-by: Ulf Hansson <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Hiago De Franco <[email protected]> Acked-by: Mathieu Poirier <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Ulf Hansson <[email protected]>
Diffstat (limited to 'drivers/platform/x86/intel/pmt/class.c')
0 files changed, 0 insertions, 0 deletions