From: Sascha Hauer <s.hauer@pengutronix.de>
To: BAREBOX <barebox@lists.infradead.org>
Subject: [PATCH v2 8/9] soc: imx8m: register SoC UID
Date: Mon, 17 Nov 2025 09:35:41 +0100 [thread overview]
Message-ID: <20251117-soc-uid-v2-8-a2415bf9133d@pengutronix.de> (raw)
In-Reply-To: <20251117-soc-uid-v2-0-a2415bf9133d@pengutronix.de>
Just like the ocotp driver the i.MX8M SoC driver also reads the SoC UID.
Unlike the ocotp driver the i.MX8M SoC driver is always enabled, so if
we don't have the ocotp driver enabled then register the SoC UID from
the SoC driver.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
---
drivers/nvmem/ocotp.c | 12 ++++++++++--
drivers/soc/imx/soc-imx8m.c | 4 ++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/drivers/nvmem/ocotp.c b/drivers/nvmem/ocotp.c
index 4d12426275426acb69f8e8349cf56367a3f1f80d..fa80f1bfe2324d6667c789758bfd683451cb5f80 100644
--- a/drivers/nvmem/ocotp.c
+++ b/drivers/nvmem/ocotp.c
@@ -31,6 +31,7 @@
#ifdef CONFIG_ARCH_IMX
#include <mach/imx/ocotp.h>
#include <mach/imx/ocotp-fusemap.h>
+#include <mach/imx/generic.h>
#else
#include <mach/mxs/ocotp.h>
#include <mach/mxs/ocotp-fusemap.h>
@@ -853,6 +854,13 @@ static int imx_ocotp_init_dt(struct ocotp_priv *priv)
return imx8m_feat_ctrl_init(priv->dev.parent, tester3, tester4, priv->data->feat);
}
+#ifndef CONFIG_ARCH_IMX
+static inline bool imx8mp_keep_compatible_soc_uid(void)
+{
+ return false;
+}
+#endif
+
#define IMX8MP_OCOTP_UID(n) \
(OCOTP_WORD(0x420 + 0x10 * (n)) | OCOTP_BIT(0) | OCOTP_WIDTH(32))
#define IMX8MP_OCOTP_UID_2(n) \
@@ -865,7 +873,7 @@ static void imx_ocotp_set_unique_machine_id(void)
int len;
char *uidstr;
- if (is_imx8mp) {
+ if (is_imx8mp && !imx8mp_keep_compatible_soc_uid()) {
if (imx_ocotp_read_field(IMX8MP_OCOTP_UID(0), &uid[0]))
return;
if (imx_ocotp_read_field(IMX8MP_OCOTP_UID(1), &uid[1]))
@@ -887,7 +895,7 @@ static void imx_ocotp_set_unique_machine_id(void)
uidstr = xasprintf("%08X%08X", uid[1], uid[0]);
}
- barebox_set_soc_uid(uidstr, &uid, sizeof(uid));
+ barebox_set_soc_uid(uidstr, &uid, len);
free(uidstr);
}
diff --git a/drivers/soc/imx/soc-imx8m.c b/drivers/soc/imx/soc-imx8m.c
index 06c524308e83b2d2b57615b9dc60652400f202e2..6f61bdb9e8d3f0bd05282d585a066d45a7ef5305 100644
--- a/drivers/soc/imx/soc-imx8m.c
+++ b/drivers/soc/imx/soc-imx8m.c
@@ -284,6 +284,10 @@ static int __init imx8_soc_init(void)
goto free_rev;
}
+ if (!IS_ENABLED(CONFIG_IMX_OCOTP))
+ barebox_set_soc_uid(soc_dev_attr->serial_number, soc_uid,
+ sizeof(soc_uid));
+
soc_dev = soc_device_register(soc_dev_attr);
if (IS_ERR(soc_dev)) {
ret = PTR_ERR(soc_dev);
--
2.47.3
next prev parent reply other threads:[~2025-11-17 8:36 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-17 8:35 [PATCH v2 0/9] Unify SoC UID and machine hashable data Sascha Hauer
2025-11-17 8:35 ` [PATCH v2 1/9] introduce SoC UID Sascha Hauer
2025-11-17 10:16 ` Jonas Rebmann
2025-11-17 11:28 ` Sascha Hauer
2025-11-17 8:35 ` [PATCH v2 2/9] soc: imx8mp: Soc ID is 128bit Sascha Hauer
2025-11-17 9:59 ` Jonas Rebmann
2025-11-17 11:02 ` Sascha Hauer
2025-11-17 8:35 ` [PATCH v2 3/9] ARM: i.MX6: print leading zero for SoC ID Sascha Hauer
2025-11-17 8:35 ` [PATCH v2 4/9] nvmem: bsec: call barebox_set_soc_uid() Sascha Hauer
2025-11-17 8:35 ` [PATCH v2 5/9] nvmem: imx-ocotp-ele: " Sascha Hauer
2025-11-17 8:35 ` [PATCH v2 6/9] nvmem: ocotp: Fix SoC ID reading for i.MX8MP Sascha Hauer
2025-11-17 8:35 ` [PATCH v2 7/9] nvmem: imx-ocotp: call barebox_set_soc_uid() Sascha Hauer
2025-11-17 8:35 ` Sascha Hauer [this message]
2025-11-17 8:35 ` [PATCH v2 9/9] Documentation: migration: add i.MX8MP SoC UID change note Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251117-soc-uid-v2-8-a2415bf9133d@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox