armv8: layerscape: properly use CPU_RELEASE_ADDR
The generic armv8 code already has support to bring up the secondary cores. Thus, don't hardcode the jump in the layerscape lowlevel_init to the spin table code; instead just return early and let the common armv8 code handle the jump. This way we can actually use the CPU_RELEASE_ADDR feature. Signed-off-by: Michael Walle <michael@walle.cc> [Rebased, Removed kontron_sl28.h change as file does not exist] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
		
							parent
							
								
									ae846a6119
								
							
						
					
					
						commit
						3d3fe8b12d
					
				|  | @ -208,8 +208,13 @@ ENTRY(lowlevel_init) | |||
| 	branch_if_master x0, x1, 2f | ||||
| 
 | ||||
| #if defined(CONFIG_MP) && defined(CONFIG_ARMV8_MULTIENTRY) | ||||
| 	ldr	x0, =secondary_boot_func | ||||
| 	blr	x0 | ||||
| 	/* | ||||
| 	 * Formerly, here was a jump to secondary_boot_func, but we just | ||||
| 	 * return early here and let the generic code in start.S handle | ||||
| 	 * the jump to secondary_boot_func. | ||||
| 	 */ | ||||
| 	mov	lr, x29			/* Restore LR */ | ||||
| 	ret | ||||
| #endif | ||||
| 
 | ||||
| 2: | ||||
|  | @ -421,6 +426,11 @@ ENDPROC(__asm_flush_l3_dcache) | |||
| #endif /* CONFIG_SYS_FSL_HAS_CCN504 */ | ||||
| 
 | ||||
| #ifdef CONFIG_MP | ||||
| 	.align 3
 | ||||
| 	.global secondary_boot_addr
 | ||||
| secondary_boot_addr: | ||||
| 	.quad secondary_boot_func
 | ||||
| 
 | ||||
| 	/* Keep literals not used by the secondary boot code outside it */ | ||||
| 	.ltorg | ||||
| 
 | ||||
|  |  | |||
|  | @ -43,7 +43,6 @@ static inline int fsl_layerscape_wake_seconday_cores(void) { return 0; } | |||
| #endif | ||||
| void *get_spin_tbl_addr(void); | ||||
| phys_addr_t determine_mp_bootpg(void); | ||||
| void secondary_boot_func(void); | ||||
| int is_core_online(u64 cpu_id); | ||||
| u32 cpu_pos_mask(void); | ||||
| #endif | ||||
|  |  | |||
|  | @ -28,7 +28,7 @@ | |||
| /*
 | ||||
|  * SMP Definitinos | ||||
|  */ | ||||
| #define CPU_RELEASE_ADDR		secondary_boot_func | ||||
| #define CPU_RELEASE_ADDR		secondary_boot_addr | ||||
| 
 | ||||
| /* Generic Timer Definitions */ | ||||
| #define COUNTER_FREQUENCY		25000000	/* 25MHz */ | ||||
|  |  | |||
|  | @ -47,7 +47,7 @@ | |||
| #define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_SDRAM_BASE | ||||
| #define CONFIG_SYS_DDR_BLOCK2_BASE      0x880000000ULL | ||||
| 
 | ||||
| #define CPU_RELEASE_ADDR               secondary_boot_func | ||||
| #define CPU_RELEASE_ADDR               secondary_boot_addr | ||||
| 
 | ||||
| /* Generic Timer Definitions */ | ||||
| #define COUNTER_FREQUENCY		25000000	/* 25MHz */ | ||||
|  |  | |||
|  | @ -48,7 +48,7 @@ | |||
| #define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_SDRAM_BASE | ||||
| #define CONFIG_SYS_DDR_BLOCK2_BASE      0x880000000ULL | ||||
| 
 | ||||
| #define CPU_RELEASE_ADDR               secondary_boot_func | ||||
| #define CPU_RELEASE_ADDR               secondary_boot_addr | ||||
| 
 | ||||
| /* Generic Timer Definitions */ | ||||
| #define COUNTER_FREQUENCY		25000000	/* 25MHz */ | ||||
|  |  | |||
|  | @ -48,7 +48,7 @@ | |||
| /*
 | ||||
|  * SMP Definitinos | ||||
|  */ | ||||
| #define CPU_RELEASE_ADDR		secondary_boot_func | ||||
| #define CPU_RELEASE_ADDR		secondary_boot_addr | ||||
| 
 | ||||
| /* Size of malloc() pool */ | ||||
| #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 2048 * 1024) | ||||
|  |  | |||
|  | @ -42,7 +42,7 @@ | |||
| /*
 | ||||
|  * SMP Definitinos | ||||
|  */ | ||||
| #define CPU_RELEASE_ADDR		secondary_boot_func | ||||
| #define CPU_RELEASE_ADDR		secondary_boot_addr | ||||
| 
 | ||||
| #define CONFIG_SYS_FSL_OTHER_DDR_NUM_CTRLS | ||||
| #ifdef CONFIG_SYS_FSL_HAS_DP_DDR | ||||
|  |  | |||
|  | @ -52,7 +52,7 @@ | |||
| #define CONFIG_SYS_LOAD_ADDR	(CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000) | ||||
| 
 | ||||
| /* SMP Definitinos  */ | ||||
| #define CPU_RELEASE_ADDR		secondary_boot_func | ||||
| #define CPU_RELEASE_ADDR		secondary_boot_addr | ||||
| 
 | ||||
| /* Generic Timer Definitions */ | ||||
| /*
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue