Lines Matching +full:revision +full:- +full:id

1 // SPDX-License-Identifier: GPL-2.0
12 #include <linux/arm-smccc.h>
62 np = of_find_compatible_node(NULL, NULL, "fsl,imx8mq-ocotp"); in imx8mq_soc_revision()
77 * SOC revision on older imx8mq is not available in fuses so query in imx8mq_soc_revision()
107 np = of_find_compatible_node(NULL, NULL, "fsl,imx8mm-ocotp"); in imx8mm_soc_uid()
137 np = of_find_compatible_node(NULL, NULL, "fsl,imx8mm-anatop"); in imx8mm_soc_revision()
191 const struct of_device_id *id; in imx8_soc_init() local
198 return -ENOMEM; in imx8_soc_init()
200 soc_dev_attr->family = "Freescale i.MX"; in imx8_soc_init()
202 ret = of_property_read_string(of_root, "model", &soc_dev_attr->machine); in imx8_soc_init()
206 id = of_match_node(imx8_soc_match, of_root); in imx8_soc_init()
207 if (!id) { in imx8_soc_init()
208 ret = -ENODEV; in imx8_soc_init()
212 data = id->data; in imx8_soc_init()
214 soc_dev_attr->soc_id = data->name; in imx8_soc_init()
215 if (data->soc_revision) in imx8_soc_init()
216 soc_rev = data->soc_revision(); in imx8_soc_init()
219 soc_dev_attr->revision = imx8_revision(soc_rev); in imx8_soc_init()
220 if (!soc_dev_attr->revision) { in imx8_soc_init()
221 ret = -ENOMEM; in imx8_soc_init()
225 soc_dev_attr->serial_number = kasprintf(GFP_KERNEL, "%016llX", soc_uid); in imx8_soc_init()
226 if (!soc_dev_attr->serial_number) { in imx8_soc_init()
227 ret = -ENOMEM; in imx8_soc_init()
237 pr_info("SoC: %s revision %s\n", soc_dev_attr->soc_id, in imx8_soc_init()
238 soc_dev_attr->revision); in imx8_soc_init()
241 platform_device_register_simple("imx-cpufreq-dt", -1, NULL, 0); in imx8_soc_init()
246 kfree(soc_dev_attr->serial_number); in imx8_soc_init()
248 if (strcmp(soc_dev_attr->revision, "unknown")) in imx8_soc_init()
249 kfree(soc_dev_attr->revision); in imx8_soc_init()