From: Udit Kumar Date: Wed, 15 Apr 2026 15:21:50 +0000 (+0530) Subject: arm: mach-k3: arm: mach-k3: Add writel_verify macro for register write verification X-Git-Tag: v2026.07-rc2~2^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ad681c816484c2246b4803de64553f760c0f44cd;p=thirdparty%2Fu-boot.git arm: mach-k3: arm: mach-k3: Add writel_verify macro for register write verification Add a helper macro to write and verify a 32-bit value to a memory-mapped register. This is essential for hardware errata workarounds that require confirmation that register writes have taken effect before proceeding with initialization. Signed-off-by: Udit Kumar --- diff --git a/arch/arm/mach-k3/include/mach/hardware.h b/arch/arm/mach-k3/include/mach/hardware.h index 81b5f1fa45e..b337a71956f 100644 --- a/arch/arm/mach-k3/include/mach/hardware.h +++ b/arch/arm/mach-k3/include/mach/hardware.h @@ -126,4 +126,14 @@ struct rom_extended_boot_data { u32 get_boot_device(void); const char *get_reset_reason(void); + +#define writel_verify(val, addr) \ +do { \ + u32 readback; \ + writel(val, addr); \ + readback = readl(addr); \ + if (readback != val) \ + printf("writel_verify failed: addr=0x%p, expected=0x%x, got=0x%x\n", \ + (void *)(addr), (val), readback); \ +} while (0) #endif /* _ASM_ARCH_HARDWARE_H_ */