[PATCH v3 3/3] ARM: samsung: exynos5250: Allow CPU1 to boot

Lukas Timmermann posted 3 patches 1 month, 3 weeks ago
There is a newer version of this series
[PATCH v3 3/3] ARM: samsung: exynos5250: Allow CPU1 to boot
Posted by Lukas Timmermann 1 month, 3 weeks ago
From: Alexandre Marquet <tb@a-marquet.fr>

The firmware trustzone needs a special call to bring up the secondary
cpu core on the Manta board. This seems to be not needed on other
exynos5 boards and comes down to the available firmware on
a particular board.

Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
Signed-off-by: Lukas Timmermann <linux@timmermann.space>
---
 arch/arm/mach-exynos/firmware.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-exynos/firmware.c b/arch/arm/mach-exynos/firmware.c
index a5e22678e27b..e9b0ed07bb90 100644
--- a/arch/arm/mach-exynos/firmware.c
+++ b/arch/arm/mach-exynos/firmware.c
@@ -61,10 +61,10 @@ static int exynos_cpu_boot(int cpu)
 	 * Exynos3250 doesn't need to send smc command for secondary CPU boot
 	 * because Exynos3250 removes WFE in secure mode.
 	 *
-	 * On Exynos5 devices the call is ignored by trustzone firmware.
+	 * On most Exynos5 devices the call is ignored by trustzone firmware.
 	 */
 	if (!soc_is_exynos4210() && !soc_is_exynos4212() &&
-	    !soc_is_exynos4412())
+	    !soc_is_exynos4412() && !of_machine_is_compatible("google,manta"))
 		return 0;
 
 	/*

-- 
2.52.0
Re: [PATCH v3 3/3] ARM: samsung: exynos5250: Allow CPU1 to boot
Posted by Henrik Grimler 1 month, 3 weeks ago
Hi Lukas,

On Mon, Dec 15, 2025 at 04:05:24PM +0100, Lukas Timmermann wrote:
> From: Alexandre Marquet <tb@a-marquet.fr>
> 
> The firmware trustzone needs a special call to bring up the secondary
> cpu core on the Manta board. This seems to be not needed on other
> exynos5 boards and comes down to the available firmware on
> a particular board.
> 
> Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
> Signed-off-by: Lukas Timmermann <linux@timmermann.space>

Reviewed-by: Henrik Grimler <henrik@grimler.se>

I had a look at the manta bootloader, but have not been able to
pinpoint where the smc calls are handled. Nevertheless, Seems like
manta might be the only Exynos 5 android device that needs CPU1BOOT. I
tried to track down exynos5250-arndale's tzsw to compare with, but
seems like it is no longer available anywhere unfortunately.

Here's a summary of my findings from looking at sboot/the tzsw from
various devices, where `CPU1BOOT SMC is handled == yes` means that the
device needs the SMC call.

.----------------------.--------------.--------------.--------------.
| Device (exynos-)     | Similar tzsw | CPU1BOOT SMC | sboot/tzsw   |
|                      | to odroidxu? | is handled?  |   source     |
.----------------------.--------------.--------------.--------------.
  4212-tab3            | yes          | yes          | T310XXSBQB2
  4412-i9300           | yes          | yes          | I9300XXUGPE1
  4412-i9305           | yes          | yes          | I9305XXUFPB1
  4412-odroid{x,x2,u3} | yes          | yes          | wiki.odroid.com/_media/en/boot.tar.gz
  4412-origen          | no           | don't know   | Linaro's origen hwpack 20130130
  5260-hllte (SM-N7505)| no           | don't know   | N7505XXSDRI2
  5410-odroidxu        | yes          | no           | github.com/hsnaves/exynos5410-firmware
  5410-ja3g            | no           | don't know   | I9500XXUHPK1
  5420-chagall-wifi    | no           | no           | T800XXU1CRJ1
  5420-arndale-octa    | yes          | no           | Linaro's arndale-octa hwpack 20140323
  5422-odroid-xu{3,4}  | yes          | no           | Hardkernel's u-boot 2020.01 branch
  5422-samsung-k3g     | no           | don't know   | G900HXXU1CVG7

As can be seen none of the Exynos 5 devices in the list have been
confirmed to need/handle CPU1BOOT.

Best regards,
Henrik Grimler


> ---
>  arch/arm/mach-exynos/firmware.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/firmware.c b/arch/arm/mach-exynos/firmware.c
> index a5e22678e27b..e9b0ed07bb90 100644
> --- a/arch/arm/mach-exynos/firmware.c
> +++ b/arch/arm/mach-exynos/firmware.c
> @@ -61,10 +61,10 @@ static int exynos_cpu_boot(int cpu)
>  	 * Exynos3250 doesn't need to send smc command for secondary CPU boot
>  	 * because Exynos3250 removes WFE in secure mode.
>  	 *
> -	 * On Exynos5 devices the call is ignored by trustzone firmware.
> +	 * On most Exynos5 devices the call is ignored by trustzone firmware.
>  	 */
>  	if (!soc_is_exynos4210() && !soc_is_exynos4212() &&
> -	    !soc_is_exynos4412())
> +	    !soc_is_exynos4412() && !of_machine_is_compatible("google,manta"))
>  		return 0;
>  
>  	/*
> 
> -- 
> 2.52.0
> 
>