summaryrefslogtreecommitdiff
path: root/drivers/firmware/imx/imx-scu-soc.c
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2023-08-07 15:14:27 +0300
committerShawn Guo <shawnguo@kernel.org>2023-08-11 17:13:58 +0300
commit150019dea22afa2ea9ebe28078fe36271defa9c4 (patch)
treeecd5462e2de97185cc7f8a6f0055974444245acb /drivers/firmware/imx/imx-scu-soc.c
parent4b9ccf041e3971427784870ac5b607a5cb38d43a (diff)
downloadlinux-150019dea22afa2ea9ebe28078fe36271defa9c4.tar.xz
firmware: imx: scu: use soc name for soc_id
Same as soc-imx8m and soc-imx driver, use soc name for soc_id which is user friendly. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'drivers/firmware/imx/imx-scu-soc.c')
-rw-r--r--drivers/firmware/imx/imx-scu-soc.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/firmware/imx/imx-scu-soc.c b/drivers/firmware/imx/imx-scu-soc.c
index 2f32353de2c9..497192320562 100644
--- a/drivers/firmware/imx/imx-scu-soc.c
+++ b/drivers/firmware/imx/imx-scu-soc.c
@@ -78,6 +78,22 @@ static int imx_scu_soc_id(void)
return msg.data.resp.id;
}
+static const char *imx_scu_soc_name(u32 id)
+{
+ switch (id) {
+ case 0x1:
+ return "i.MX8QM";
+ case 0x2:
+ return "i.MX8QXP";
+ case 0xe:
+ return "i.MX8DXL";
+ default:
+ break;
+ }
+
+ return "NULL";
+}
+
int imx_scu_soc_init(struct device *dev)
{
struct soc_device_attribute *soc_dev_attr;
@@ -113,9 +129,7 @@ int imx_scu_soc_init(struct device *dev)
/* format soc_id value passed from SCU firmware */
val = id & 0x1f;
- soc_dev_attr->soc_id = devm_kasprintf(dev, GFP_KERNEL, "0x%x", val);
- if (!soc_dev_attr->soc_id)
- return -ENOMEM;
+ soc_dev_attr->soc_id = imx_scu_soc_name(val);
/* format revision value passed from SCU firmware */
val = (id >> 5) & 0xf;