armv8/fdt: add fixup_crypto_node
For Qoriq PPC&ARM v7 platforms, the crypto node is being fixup'ed in order to update the SEC internal version (aka SEC ERA). This patch adds the same functionality to the ARMv8 SoCs. Signed-off-by: Alex Porosanu <alexandru.porosanu@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
This commit is contained in:
		
							parent
							
								
									6f3819fe30
								
							
						
					
					
						commit
						f13c99c2a2
					
				|  | @ -20,6 +20,8 @@ | ||||||
| #ifdef CONFIG_MP | #ifdef CONFIG_MP | ||||||
| #include <asm/arch/mp.h> | #include <asm/arch/mp.h> | ||||||
| #endif | #endif | ||||||
|  | #include <fsl_sec.h> | ||||||
|  | #include <asm/arch-fsl-layerscape/soc.h> | ||||||
| 
 | 
 | ||||||
| int fdt_fixup_phy_connection(void *blob, int offset, phy_interface_t phyc) | int fdt_fixup_phy_connection(void *blob, int offset, phy_interface_t phyc) | ||||||
| { | { | ||||||
|  | @ -75,6 +77,23 @@ void ft_fixup_cpu(void *blob) | ||||||
| 
 | 
 | ||||||
| void ft_cpu_setup(void *blob, bd_t *bd) | void ft_cpu_setup(void *blob, bd_t *bd) | ||||||
| { | { | ||||||
|  | #ifdef CONFIG_FSL_LSCH2 | ||||||
|  | 	struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR); | ||||||
|  | 	unsigned int svr = in_be32(&gur->svr); | ||||||
|  | 
 | ||||||
|  | 	/* delete crypto node if not on an E-processor */ | ||||||
|  | 	if (!IS_E_PROCESSOR(svr)) | ||||||
|  | 		fdt_fixup_crypto_node(blob, 0); | ||||||
|  | #if CONFIG_SYS_FSL_SEC_COMPAT >= 4 | ||||||
|  | 	else { | ||||||
|  | 		ccsr_sec_t __iomem *sec; | ||||||
|  | 
 | ||||||
|  | 		sec = (void __iomem *)CONFIG_SYS_FSL_SEC_ADDR; | ||||||
|  | 		fdt_fixup_crypto_node(blob, sec_in32(&sec->secvid_ms)); | ||||||
|  | 	} | ||||||
|  | #endif | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| #ifdef CONFIG_MP | #ifdef CONFIG_MP | ||||||
| 	ft_fixup_cpu(blob); | 	ft_fixup_cpu(blob); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue