[PATCH] soc: xilinx: zynqmp: Add TCG variant detection for ZU3TCG
Michal Simek
michal.simek at amd.com
Mon Jun 29 17:25:36 CEST 2026
On 6/23/26 17:08, Padmarao Begari wrote:
> The XCZU3TCG device shares IDCODE 0x04718093 with XCZU3TEG but has
> the GPU disable eFuse bit set (Consumer Grade, no GPU). Previously,
> the TEG detection branch appended "teg" unconditionally, causing
> U-Boot to report the device as zu3teg and failing bitstream ID
> checks for xczu3tcg bitstreams.
>
> Check EFUSE_GPU_DIS_MASK in the TEG branch to distinguish the two
> sub-variants, mirroring the existing EG/CG detection logic:
> - GPU disabled -> TCG family -> "zu3tcg"
> - GPU enabled -> TEG family -> "zu3teg"
>
> Fixes: fa2f0c97af96 ("soc: zynqmp: Add the IDcode for TEG variant")
> Signed-off-by: Padmarao Begari <padmarao.begari at amd.com>
> ---
> drivers/soc/soc_xilinx_zynqmp.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/soc/soc_xilinx_zynqmp.c b/drivers/soc/soc_xilinx_zynqmp.c
> index 4abc73013eb..0e13e230914 100644
> --- a/drivers/soc/soc_xilinx_zynqmp.c
> +++ b/drivers/soc/soc_xilinx_zynqmp.c
> @@ -358,7 +358,9 @@ static int soc_xilinx_zynqmp_detect_machine(struct udevice *dev, u32 idcode,
> } else if (device->variants & ZYNQMP_VARIANT_DR_SE) {
> strlcat(priv->machine, "dr_SE", sizeof(priv->machine));
> } else if (device->variants & ZYNQMP_VARIANT_TEG) {
> - strlcat(priv->machine, "teg", sizeof(priv->machine));
> + /* Devices with TEG variant might be TEG or TCG family */
> + strlcat(priv->machine, (idcode2 & EFUSE_GPU_DIS_MASK) ?
> + "tcg" : "teg", sizeof(priv->machine));
> }
>
> return 0;
Applied.
M
More information about the U-Boot
mailing list