Re: [PATCH 2/2] soc: nxp: Add a simple NXP LPC32xx socinfo driver
From: Vladimir Zapolskiy
Date: Sat Jan 03 2026 - 17:15:09 EST
On 1/3/26 14:43, Krzysztof Kozlowski wrote:
On 02/01/2026 14:21, Vladimir Zapolskiy wrote:
On 1/2/26 14:54, Krzysztof Kozlowski wrote:
On 02/01/2026 13:36, Vladimir Zapolskiy wrote:
On 1/2/26 11:58, Krzysztof Kozlowski wrote:
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@xxxxxxxxx>
---
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.
What is the expected level of documentation for syscon?
git grep nxp,lpc3220-scb
gives me 0 results.
Documentation is supposed to be in this patchset. If it is not, you have
changelog part to explain dependencies and unusual things.
The documentation is under review, as a DT maintainer you are in To: list
and should have it in the mailbox, for anyone's convenience the dependency
is mentioned in the cover letter to this changeset also.
There is nothing about dependency and nothing about binding in the cover
letter, so no - this is not explained nowhere and must have been explained.
If you do not find the asked information, then let me repeat my question, what
dependency or information does this changeset miss? What "undocumented ABI"
you'd expect to resolve?
Intentionally the driver works without a present "nxp,lpc3220-scb" compatible
device tree node, anyway, since it's mentioned in the driver, such a device
tree node is described over the link to another changeset.
--
Best wishes,
Vladimir