[PATCH] ARM: i.MX: OCOTP: read serial number with correct endianness

Robert Karszniewicz r.karszniewicz at phytec.de
Thu Dec 3 10:40:50 EST 2020


The serial number is stored with the low bytes first, as can be seen in
Linux commit 8267ff89b713 ("ARM: imx: Add serial number support for
i.MX6/7 SoCs").  The same goes for i.MX8M.

Also renamed the macro to the more descriptive name from Linux.

Fixes: c4d9463d969b ("i.MX: Introduce imx_ocotp_read_uid()")
Signed-off-by: Robert Karszniewicz <r.karszniewicz at phytec.de>
---
 arch/arm/mach-imx/include/mach/ocotp.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-imx/include/mach/ocotp.h b/arch/arm/mach-imx/include/mach/ocotp.h
index 7ba5da156b76..20205c5da759 100644
--- a/arch/arm/mach-imx/include/mach/ocotp.h
+++ b/arch/arm/mach-imx/include/mach/ocotp.h
@@ -26,8 +26,8 @@
 #define OCOTP_BIT(n)		FIELD_PREP(OCOTP_BIT_MASK, n)
 #define OCOTP_WIDTH(n)		FIELD_PREP(OCOTP_WIDTH_MASK, (n) - 1)
 
-#define OCOTP_OFFSET_CFG0	0x410
-#define OCOTP_OFFSET_CFG1	0x420
+#define OCOTP_UID_L		0x410
+#define OCOTP_UID_H		0x420
 
 
 int imx_ocotp_read_field(uint32_t field, unsigned *value);
@@ -39,9 +39,9 @@ static inline u64 imx_ocotp_read_uid(void __iomem *ocotp)
 {
 	u64 uid;
 
-	uid  = readl(ocotp + OCOTP_OFFSET_CFG0);
+	uid  = readl(ocotp + OCOTP_UID_H);
 	uid <<= 32;
-	uid |= readl(ocotp + OCOTP_OFFSET_CFG1);
+	uid |= readl(ocotp + OCOTP_UID_L);
 
 	return uid;
 }
-- 
2.7.4




More information about the barebox mailing list