This patch series depends on the "mach-snapdragon: handle platforms without PSCI support" patch that was submitted earlier today. That first patch lays some groundwork to handle detecting when a device is booting without PSCI and deletes the /psci node in that case.
This series builds on top of that detection by rewriting all CPUs with enable-method="psci" to "spin-table". Once this is done, the existing spin-table support in U-Boot handles further patching the nodes with the appropriate cpu-release-addr and reserving the memory with the spin-table instructions. Interestingly, this spin-table code doesn't seem to be in active use anywhere, and it had bitrotted a little. But after blowing the dust off it and fixing a couple of missing #includes, it works great. I extended the spin-table support a little to make it easier for consumers to plug in a method that is called for each CPU that needs to be brought online. This saves the qcom board code from needing to hook into ft_board_setup or something that runs before booting the OS. Signed-off-by: Sam Day <[email protected]> --- Changes in v2: - Reworked the SCM impl to be a proper firmware driver, and streamlined the API so callers aren't forced to deal with calling conventions (thanks Casey). - Link to v1: https://lore.kernel.org/r/[email protected] --- Sam Day (6): armv8: spin_table: Fix missing includes armv8: spin_table: add hook for booting cores firmware: Add qcom SCM driver mach-snapdragon: fixup CPUs with PSCI enable-method mach-snapdragon: MSM8916 spin-table CPU boot support qcom_defconfig: enable spin-table support MAINTAINERS | 2 + arch/arm/cpu/armv8/spin_table.c | 20 +++ arch/arm/include/asm/spin_table.h | 3 + arch/arm/mach-snapdragon/Makefile | 1 + arch/arm/mach-snapdragon/board.c | 41 +++++ arch/arm/mach-snapdragon/msm8916-smp.c | 138 +++++++++++++++++ configs/qcom_defconfig | 3 + drivers/firmware/Kconfig | 9 ++ drivers/firmware/Makefile | 1 + drivers/firmware/qcom-scm.c | 274 +++++++++++++++++++++++++++++++++ include/firmware/qcom/scm.h | 71 +++++++++ 11 files changed, 563 insertions(+) --- base-commit: 30b77f6aa146c96b831cb4ece038130b655b6a41 change-id: 20250127-msm8916-smp-support-5f5e7b49d07e Best regards, -- Sam Day <[email protected]>

