[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <accb4ab1-07fa-4e33-a74c-2c588ca415ac@kernel.org>
Date: Fri, 2 Jan 2026 10:58:47 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Vladimir Zapolskiy <vz@...ia.com>, Arnd Bergmann <arnd@...db.de>
Cc: Piotr Wojtaszczyk <piotr.wojtaszczyk@...esys.com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] soc: nxp: Add a simple NXP LPC32xx socinfo driver
On 02/01/2026 00:56, Vladimir Zapolskiy wrote:
> Add NXP LPC32xx specific driver to get unique SoC ID from System Control
> Block registers and export it to userspace.
>
> Signed-off-by: Vladimir Zapolskiy <vz@...ia.com>
> ---
> drivers/soc/Kconfig | 1 +
> drivers/soc/Makefile | 1 +
> drivers/soc/nxp/Kconfig | 16 +++++
> drivers/soc/nxp/Makefile | 2 +
> drivers/soc/nxp/lpc32xx-soc.c | 114 ++++++++++++++++++++++++++++++++++
> 5 files changed, 134 insertions(+)
> create mode 100644 drivers/soc/nxp/Kconfig
> create mode 100644 drivers/soc/nxp/Makefile
> create mode 100644 drivers/soc/nxp/lpc32xx-soc.c
>
> diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig
> index a2d65adffb80..c21b0d2f58fc 100644
> --- a/drivers/soc/Kconfig
> +++ b/drivers/soc/Kconfig
> @@ -18,6 +18,7 @@ source "drivers/soc/loongson/Kconfig"
> source "drivers/soc/mediatek/Kconfig"
> source "drivers/soc/microchip/Kconfig"
> source "drivers/soc/nuvoton/Kconfig"
> +source "drivers/soc/nxp/Kconfig"
> source "drivers/soc/pxa/Kconfig"
> source "drivers/soc/qcom/Kconfig"
> source "drivers/soc/renesas/Kconfig"
> diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile
> index 47a3925ff84c..a04c21a8a5a4 100644
> --- a/drivers/soc/Makefile
> +++ b/drivers/soc/Makefile
> @@ -24,6 +24,7 @@ obj-y += loongson/
> obj-y += mediatek/
> obj-y += microchip/
> obj-y += nuvoton/
> +obj-y += nxp/
> obj-y += pxa/
> obj-y += qcom/
> obj-y += renesas/
Missing maintainers entry.
> +
> +static int lpc32xx_soc_probe(struct platform_device *pdev)
> +{
> + struct soc_device_attribute *soc_dev_attr;
> + struct device *dev = &pdev->dev;
> + struct soc_device *soc_dev;
> + struct regmap *scb;
> + u32 serial_id[4];
> + int ret;
> +
> + soc_dev_attr = devm_kzalloc(dev, sizeof(*soc_dev_attr), GFP_KERNEL);
> + if (!soc_dev_attr)
> + return -ENOMEM;
> +
> + soc_dev_attr->family = "NXP LPC32xx";
> +
> + ret = of_property_read_string(of_root, "model", &soc_dev_attr->machine);
> + if (ret)
> + return ret;
> +
> + scb = syscon_regmap_lookup_by_compatible("nxp,lpc3220-scb");
This is undocumented ABI.
Anyway, you should look up devices via phandles.
Best regards,
Krzysztof
Powered by blists - more mailing lists