[PATCH v1 1/1] arm: socfpga: agilex5: Sub-device check enabled for runtime workaround
Chee, Tien Fong
tien.fong.chee at altera.com
Fri May 2 08:04:19 CEST 2025
> -----Original Message-----
> From: Meng, Tingting <tingting.meng at altera.com>
> Sent: Tuesday, April 29, 2025 5:55 PM
> To: u-boot at lists.denx.de
> Cc: Marek Vasut <marex at denx.de>; Chee, Tien Fong
> <tien.fong.chee at altera.com>; Meng, Tingting <tingting.meng at altera.com>;
> Hea, Kok Kiang <kok.kiang.hea at altera.com>; Maniyam, Dinesh
> <dinesh.maniyam at altera.com>; Ng, Boon Khai <boon.khai.ng at altera.com>;
> Yuslaimi, Alif Zakuan <alif.zakuan.yuslaimi at altera.com>; Rosdi, Danish
> Ahmad <danish.ahmad.rosdi at altera.com>; Zamri, Muhammad Hazim Izzat
> <muhammad.hazim.izzat.zamri at altera.com>; Lim, Jit Loon
> <jit.loon.lim at altera.com>
> Subject: [PATCH v1 1/1] arm: socfpga: agilex5: Sub-device check enabled for
> runtime workaround
>
> From: Tingting Meng <tingting.meng at altera.com>
>
> Sub-device information is retrieved from the JTAG ID in Boot Scratch Cold 4
> Register. This interface is introduced to allow device-specific errata
> workarounds to be applied in the future, based on the detected sub-device
> type.
>
> Signed-off-by: Tingting Meng <tingting.meng at altera.com>
> ---
> arch/arm/mach-socfpga/misc_soc64.c | 32
> ++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/arch/arm/mach-socfpga/misc_soc64.c b/arch/arm/mach-
> socfpga/misc_soc64.c
> index 4f080f4f0b3..5222b384434 100644
> --- a/arch/arm/mach-socfpga/misc_soc64.c
> +++ b/arch/arm/mach-socfpga/misc_soc64.c
> @@ -22,6 +22,22 @@
>
> DECLARE_GLOBAL_DATA_PTR;
>
> +/* Agilex5 Sub Device Jtag ID List */
> +#define A3690_JTAG_ID 0x036090DD
> +#define A3694_JTAG_ID 0x436090DD
> +#define A36C0_JTAG_ID 0x0360C0DD
> +#define A36C4_JTAG_ID 0x4360C0DD
> +#define A36D0_JTAG_ID 0x0360D0DD
> +#define A36D4_JTAG_ID 0x4360D0DD
> +#define A36F0_JTAG_ID 0x0360F0DD
> +#define A36F4_JTAG_ID 0x4360F0DD
> +#define A3610_JTAG_ID 0x036010DD
> +#define A3614_JTAG_ID 0x436010DD
> +#define A3630_JTAG_ID 0x036030DD
> +#define A3634_JTAG_ID 0x436030DD
> +
> +#define JTAG_ID_MASK 0xCFF0FFFF
> +
> /*
> * FPGA programming support for SoC FPGA Stratix 10
> */
> @@ -42,6 +58,22 @@ static Altera_desc altera_fpga[] = {
> },
> };
>
> +u32 socfpga_get_jtag_id(void)
> +{
> + u32 jtag_id;
> +
> + jtag_id = readl(socfpga_get_sysmgr_addr() +
> +SYSMGR_SOC64_BOOT_SCRATCH_COLD4);
> +
> + if (!jtag_id) {
> + debug("Failed to read JTAG ID. Default JTAG ID to
> A36F4_JTAG_ID.\n");
> + jtag_id = A36F4_JTAG_ID;
> + }
> +
> + debug("%s: jtag_id: 0x%x\n", __func__, jtag_id);
> +
> + return jtag_id;
> +}
> +
> /*
> * The Agilex5 platform has enabled the bloblist feature, and the bloblist
> * address and size are initialized based on the defconfig settings.
> --
> 2.25.1
Reviewed-by: Tien Fong Chee <tien.fong.chee at intel.com>
Best regards,
Tien Fong
More information about the U-Boot
mailing list