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: Anson Huang <Anson.Huang@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
This commit is contained in:
parent
3026d0b7a4
commit
8dfe397431
@ -66,6 +66,26 @@ out:
|
|||||||
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)
|
|||||||
|
|
||||||
iounmap(anatop_base);
|
iounmap(anatop_base);
|
||||||
of_node_put(np);
|
of_node_put(np);
|
||||||
|
|
||||||
|
imx8mm_soc_uid();
|
||||||
|
|
||||||
return rev;
|
return rev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user