Commit 8dfe3974 authored by Anson Huang's avatar Anson Huang Committed by Shawn Guo

soc: imx8: Add i.MX8MM UID(unique identifier) support

Add i.MX8MM SoC UID(unique identifier) support, user
can read it from sysfs:

root@imx8mmevk:~# cat /sys/devices/soc0/soc_uid
B365FA0A5C85D6EE
Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 3026d0b7
...@@ -66,6 +66,26 @@ static u32 __init imx8mq_soc_revision(void) ...@@ -66,6 +66,26 @@ static u32 __init imx8mq_soc_revision(void)
return rev; return rev;
} }
static void __init imx8mm_soc_uid(void)
{
void __iomem *ocotp_base;
struct device_node *np;
np = of_find_compatible_node(NULL, NULL, "fsl,imx8mm-ocotp");
if (!np)
return;
ocotp_base = of_iomap(np, 0);
WARN_ON(!ocotp_base);
soc_uid = readl_relaxed(ocotp_base + OCOTP_UID_HIGH);
soc_uid <<= 32;
soc_uid |= readl_relaxed(ocotp_base + OCOTP_UID_LOW);
iounmap(ocotp_base);
of_node_put(np);
}
static u32 __init imx8mm_soc_revision(void) static u32 __init imx8mm_soc_revision(void)
{ {
struct device_node *np; struct device_node *np;
...@@ -83,6 +103,9 @@ static u32 __init imx8mm_soc_revision(void) ...@@ -83,6 +103,9 @@ static u32 __init imx8mm_soc_revision(void)
iounmap(anatop_base); iounmap(anatop_base);
of_node_put(np); of_node_put(np);
imx8mm_soc_uid();
return rev; return rev;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment