[PATCH 2/3] arm: layerscape: Disable unused parts of ICID tables
Peng Fan
peng.fan at oss.nxp.com
Fri Oct 14 02:40:34 CEST 2022
On 10/12/2022 5:51 AM, Sean Anderson wrote:
> Several parts of the ICID table are only necessary for U-Boot proper.
> Disable them in SPL. This saves around 500 bytes.
>
> Signed-off-by: Sean Anderson <sean.anderson at seco.com>
Reviewed-by: Peng Fan <peng.fan at nxp.com>
> ---
>
> arch/arm/cpu/armv8/fsl-layerscape/icid.c | 2 ++
> .../include/asm/arch-fsl-layerscape/fsl_icid.h | 16 ++++++++++++++--
> 2 files changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/icid.c b/arch/arm/cpu/armv8/fsl-layerscape/icid.c
> index 25cd82f16eb..2d87281ec21 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/icid.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/icid.c
> @@ -46,6 +46,7 @@ void set_icids(void)
> #endif
> }
>
> +#ifndef CONFIG_SPL_BUILD
> int fdt_set_iommu_prop(void *blob, int off, int smmu_ph, u32 *ids, int num_ids)
> {
> int i, ret;
> @@ -190,3 +191,4 @@ void fdt_fixup_icid(void *blob)
> fdt_fixup_fman_icids(blob, smmu_ph);
> #endif
> }
> +#endif
> diff --git a/arch/arm/include/asm/arch-fsl-layerscape/fsl_icid.h b/arch/arm/include/asm/arch-fsl-layerscape/fsl_icid.h
> index 3c06a55cb85..8af0d35d27b 100644
> --- a/arch/arm/include/asm/arch-fsl-layerscape/fsl_icid.h
> +++ b/arch/arm/include/asm/arch-fsl-layerscape/fsl_icid.h
> @@ -12,11 +12,15 @@
> #include <asm/armv8/sec_firmware.h>
>
> struct icid_id_table {
> +#ifndef CONFIG_SPL_BUILD
> const char *compat;
> - u32 id;
> - u32 reg;
> phys_addr_t compat_addr;
> +#endif
> phys_addr_t reg_addr;
> + u32 reg;
> +#ifndef CONFIG_SPL_BUILD
> + u32 id;
> +#endif
> bool le;
> };
>
> @@ -31,6 +35,13 @@ int fdt_set_iommu_prop(void *blob, int off, int smmu_ph, u32 *ids, int num_ids);
> void set_icids(void);
> void fdt_fixup_icid(void *blob);
>
> +#ifdef CONFIG_SPL_BUILD
> +#define SET_ICID_ENTRY(name, idA, regA, addr, compataddr, _le) \
> + { .reg = regA, \
> + .reg_addr = addr, \
> + .le = _le \
> + }
> +#else
> #define SET_ICID_ENTRY(name, idA, regA, addr, compataddr, _le) \
> { .compat = name, \
> .id = idA, \
> @@ -39,6 +50,7 @@ void fdt_fixup_icid(void *blob);
> .reg_addr = addr, \
> .le = _le \
> }
> +#endif
>
> #ifdef CONFIG_SYS_FSL_SEC_LE
> #define SEC_IS_LE true
More information about the U-Boot
mailing list