diff options
author | Peng Fan <peng.fan@nxp.com> | 2023-08-07 15:14:27 +0300 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2023-08-11 17:13:58 +0300 |
commit | 150019dea22afa2ea9ebe28078fe36271defa9c4 (patch) | |
tree | ecd5462e2de97185cc7f8a6f0055974444245acb | |
parent | 4b9ccf041e3971427784870ac5b607a5cb38d43a (diff) | |
download | linux-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>
-rw-r--r-- | drivers/firmware/imx/imx-scu-soc.c | 20 |
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; |