barebox_set_soc_uid() calls barebox_set_soc_uid() the same way as done previously, but also exposes the SoC ID in the barebox environment.
Signed-off-by: Sascha Hauer <[email protected]> --- drivers/nvmem/ocotp.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/nvmem/ocotp.c b/drivers/nvmem/ocotp.c index affca938849d0d1a8dc347e3a0e1f3a380f1aab7..4d12426275426acb69f8e8349cf56367a3f1f80d 100644 --- a/drivers/nvmem/ocotp.c +++ b/drivers/nvmem/ocotp.c @@ -863,6 +863,7 @@ static void imx_ocotp_set_unique_machine_id(void) bool is_imx8mp = of_machine_is_compatible("fsl,imx8mp"); uint32_t uid[4]; int len; + char *uidstr; if (is_imx8mp) { if (imx_ocotp_read_field(IMX8MP_OCOTP_UID(0), &uid[0])) @@ -875,6 +876,7 @@ static void imx_ocotp_set_unique_machine_id(void) if (imx_ocotp_read_field(IMX8MP_OCOTP_UID_2(1), &uid[3])) return; len = sizeof(uid); + uidstr = xasprintf("%08X%08X%08X%08X", uid[3], uid[2], uid[1], uid[0]); } else { if (imx_ocotp_read_field(OCOTP_UNIQUE_ID(0), &uid[0])) return; @@ -882,9 +884,11 @@ static void imx_ocotp_set_unique_machine_id(void) return; len = sizeof(uid) / 2; + uidstr = xasprintf("%08X%08X", uid[1], uid[0]); } - machine_id_set_hashable(uid, len); + barebox_set_soc_uid(uidstr, &uid, sizeof(uid)); + free(uidstr); } static int imx_ocotp_probe(struct device *dev) @@ -960,8 +964,7 @@ static int imx_ocotp_probe(struct device *dev) ethaddr->value, ethaddr); } - if (IS_ENABLED(CONFIG_MACHINE_ID)) - imx_ocotp_set_unique_machine_id(); + imx_ocotp_set_unique_machine_id(); ret = imx_ocotp_init_dt(priv); if (ret) -- 2.47.3
