From nobody Sun Feb 8 19:55:47 2026 Received: from mail.mleia.com (mleia.com [178.79.152.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C89F81F3BA2 for ; Thu, 1 Jan 2026 23:56:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=178.79.152.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767311822; cv=none; b=VS14tQt5CFuLK9eQh2QucNcb6kuZtf0Ua+aqVbrLdvnz/wAJU4jtK12bmdD+K9gGRif2mxT4vnqgKGU2buaFoiMCJBCVpDhZq7gN2HXjhp06+H7WDfsjDh1PHeZtTo3cL5HrJlW9cYwUZ5JPE3DkYHPNA0vkaK1oG906d/lI3DY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767311822; c=relaxed/simple; bh=X/6g7pQWQreRu4YvFqc/rdgGFTpWurYyFYNcnz90z44=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Wslack9jufHUz8AU40A/hTU3uuqDE1y0LkKy02CmKaQsqiPLd+abX9oGg0Z1HhC3QphPvmYAuQHHxwle7LVDIpzA49p93D6rsjjijZdrTtHojZf7CNt+q9vmh38keb+aKYFerCVQpzIHLsyyjGQWEbXe644cytMSXDkRw5cXbTY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mleia.com; spf=none smtp.mailfrom=mleia.com; dkim=pass (2048-bit key) header.d=mleia.com header.i=@mleia.com header.b=OJdJWl2f; dkim=pass (2048-bit key) header.d=mleia.com header.i=@mleia.com header.b=OJdJWl2f; arc=none smtp.client-ip=178.79.152.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mleia.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=mleia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mleia.com header.i=@mleia.com header.b="OJdJWl2f"; dkim=pass (2048-bit key) header.d=mleia.com header.i=@mleia.com header.b="OJdJWl2f" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mleia.com; s=mail; t=1767311812; bh=X/6g7pQWQreRu4YvFqc/rdgGFTpWurYyFYNcnz90z44=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OJdJWl2fYBfhOEWP1xNIqVRPQmYyhJ9jcIhLyMMF9TmtFE65qUmJXfbHUCgXMitL/ ts3vrXCPCYcqHuOGepXjRptCCOUl8KDIW/kDYtZ2Te6AATPeOrDe7dvR+OVcNlVeYC cPnkKFV3eaVounXCxrqhViXq9A2/dy1ERbm6/mEJ0QgLUcvsHYqnUe6jT6Mt8c5KvT zQMgUdDBEeGsqS2IFqmjszMZBLMdV4QkLpbjxy07Ao45Wvu9OyNt5ir9JAp2ql7cCZ XUTQ81LyGMT3s6S5nDGcgMvOfnMsN/LumpyW0uSefOGAmvqsUP62o1vx7/g9xXSqXY M6s/7KK+WOsJA== Received: from mail.mleia.com (localhost [127.0.0.1]) by mail.mleia.com (Postfix) with ESMTP id 32A973E956D; Thu, 1 Jan 2026 23:56:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mleia.com; s=mail; t=1767311812; bh=X/6g7pQWQreRu4YvFqc/rdgGFTpWurYyFYNcnz90z44=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OJdJWl2fYBfhOEWP1xNIqVRPQmYyhJ9jcIhLyMMF9TmtFE65qUmJXfbHUCgXMitL/ ts3vrXCPCYcqHuOGepXjRptCCOUl8KDIW/kDYtZ2Te6AATPeOrDe7dvR+OVcNlVeYC cPnkKFV3eaVounXCxrqhViXq9A2/dy1ERbm6/mEJ0QgLUcvsHYqnUe6jT6Mt8c5KvT zQMgUdDBEeGsqS2IFqmjszMZBLMdV4QkLpbjxy07Ao45Wvu9OyNt5ir9JAp2ql7cCZ XUTQ81LyGMT3s6S5nDGcgMvOfnMsN/LumpyW0uSefOGAmvqsUP62o1vx7/g9xXSqXY M6s/7KK+WOsJA== Received: from mail.mleia.com (91-159-24-186.elisa-laajakaista.fi [91.159.24.186]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.mleia.com (Postfix) with ESMTPSA id B6A3C3E9B72; Thu, 1 Jan 2026 23:56:51 +0000 (UTC) From: Vladimir Zapolskiy To: Arnd Bergmann Cc: Piotr Wojtaszczyk , Krzysztof Kozlowski , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] soc: Sort the list of subfolders alphabetically Date: Fri, 2 Jan 2026 01:56:46 +0200 Message-ID: <20260101235647.2411062-2-vz@mleia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260101235647.2411062-1-vz@mleia.com> References: <20260101235647.2411062-1-vz@mleia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-49551924 X-CRM114-CacheID: sfid-20260101_235652_221550_F3174F70 X-CRM114-Status: GOOD ( 10.42 ) Content-Type: text/plain; charset="utf-8" Move 'amlogic' to the top, it will allow to keep the alphabetical order of subfolders. Signed-off-by: Vladimir Zapolskiy --- drivers/soc/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile index c9e689080ceb..47a3925ff84c 100644 --- a/drivers/soc/Makefile +++ b/drivers/soc/Makefile @@ -3,6 +3,7 @@ # Makefile for the Linux Kernel SOC specific device drivers. # =20 +obj-y +=3D amlogic/ obj-y +=3D apple/ obj-y +=3D aspeed/ obj-$(CONFIG_ARCH_AT91) +=3D atmel/ @@ -24,7 +25,6 @@ obj-y +=3D mediatek/ obj-y +=3D microchip/ obj-y +=3D nuvoton/ obj-y +=3D pxa/ -obj-y +=3D amlogic/ obj-y +=3D qcom/ obj-y +=3D renesas/ obj-y +=3D rockchip/ --=20 2.43.0 From nobody Sun Feb 8 19:55:47 2026 Received: from mail.mleia.com (mleia.com [178.79.152.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C8A5D21B192 for ; Thu, 1 Jan 2026 23:57:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=178.79.152.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767311822; cv=none; b=Ute65B8OTUCUvijpwdHvHkHB4dRaPTN0vnhNCdTQrYm0Wk4e8MirOJun/D8ElrKQ6nnvB3w9RDE03bzx+eiakZO9QsLYrSmzglD+ppJtC6FHuwaJY6np+M4m7kWEH7GneYglgZ4HOhAnau5biOpVk3QYW1Xhaf+96j1i6C0/aw8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767311822; c=relaxed/simple; bh=bYFjwlPbd+Ih8tTrTGAVSqx5azwneW2bhRp0g+04pKI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h6FL3+s9Ip1u7EmX/xkIpi1PGS98zqERQGx3aBH5cG5FvdfpEUIJjIcvAyCfoj42uE2s9bUR1aXxQG3Khipena/qvi33+MtfrcmKunXKHy12TVYiyK/04wYMQDkksLETG8ZaHoMUmQ2VLlkhs6L1j3aRqWl1bSMGm02X7TRuV5E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mleia.com; spf=none smtp.mailfrom=mleia.com; dkim=pass (2048-bit key) header.d=mleia.com header.i=@mleia.com header.b=IShuFOpy; dkim=pass (2048-bit key) header.d=mleia.com header.i=@mleia.com header.b=IShuFOpy; arc=none smtp.client-ip=178.79.152.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=mleia.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=mleia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mleia.com header.i=@mleia.com header.b="IShuFOpy"; dkim=pass (2048-bit key) header.d=mleia.com header.i=@mleia.com header.b="IShuFOpy" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mleia.com; s=mail; t=1767311812; bh=bYFjwlPbd+Ih8tTrTGAVSqx5azwneW2bhRp0g+04pKI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IShuFOpy1kEo3preA7Pt15odnQpEehB07OVIwRyaxrzU8QCwQ9DjbEHkgFeYBQz7L AmTC16oi3i+YDDsAiZ+OKhzzyCb7T23nW8TjDeWNZpf2jV7qxje9wRem9GL2hVkETg MhUcSPzisU/Ah3plOLpSE0mN6aGgH5G4sLhp3CUxmXQH/jb1wpTgW+NhommBzhiBg1 5t8BD2Sl6iiORjCGkOlXxgeoJsuRMlxvB2rDkbj935uxEPCfc4MgEB+K/TJpLhY86g fDCGRRz6EzHXjONE2YzxRHwGHfjvvgw+U49mHNT6WkcKirSODNS5RKYjpDEQ0oMs6C zMuBfp7kRbu8Q== Received: from mail.mleia.com (localhost [127.0.0.1]) by mail.mleia.com (Postfix) with ESMTP id ACC9B3E9B72; Thu, 1 Jan 2026 23:56:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mleia.com; s=mail; t=1767311812; bh=bYFjwlPbd+Ih8tTrTGAVSqx5azwneW2bhRp0g+04pKI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IShuFOpy1kEo3preA7Pt15odnQpEehB07OVIwRyaxrzU8QCwQ9DjbEHkgFeYBQz7L AmTC16oi3i+YDDsAiZ+OKhzzyCb7T23nW8TjDeWNZpf2jV7qxje9wRem9GL2hVkETg MhUcSPzisU/Ah3plOLpSE0mN6aGgH5G4sLhp3CUxmXQH/jb1wpTgW+NhommBzhiBg1 5t8BD2Sl6iiORjCGkOlXxgeoJsuRMlxvB2rDkbj935uxEPCfc4MgEB+K/TJpLhY86g fDCGRRz6EzHXjONE2YzxRHwGHfjvvgw+U49mHNT6WkcKirSODNS5RKYjpDEQ0oMs6C zMuBfp7kRbu8Q== Received: from mail.mleia.com (91-159-24-186.elisa-laajakaista.fi [91.159.24.186]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.mleia.com (Postfix) with ESMTPSA id 3FE2A3E9B74; Thu, 1 Jan 2026 23:56:52 +0000 (UTC) From: Vladimir Zapolskiy To: Arnd Bergmann Cc: Piotr Wojtaszczyk , Krzysztof Kozlowski , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] soc: nxp: Add a simple NXP LPC32xx socinfo driver Date: Fri, 2 Jan 2026 01:56:47 +0200 Message-ID: <20260101235647.2411062-3-vz@mleia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260101235647.2411062-1-vz@mleia.com> References: <20260101235647.2411062-1-vz@mleia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-49551924 X-CRM114-CacheID: sfid-20260101_235652_723117_9DAAC783 X-CRM114-Status: GOOD ( 22.42 ) Content-Type: text/plain; charset="utf-8" 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 --- 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 +=3D loongson/ obj-y +=3D mediatek/ obj-y +=3D microchip/ obj-y +=3D nuvoton/ +obj-y +=3D nxp/ obj-y +=3D pxa/ obj-y +=3D qcom/ obj-y +=3D renesas/ diff --git a/drivers/soc/nxp/Kconfig b/drivers/soc/nxp/Kconfig new file mode 100644 index 000000000000..84be69272011 --- /dev/null +++ b/drivers/soc/nxp/Kconfig @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-only + +if ARCH_LPC32XX || COMPILE_TEST + +menu "NXP LPC32xx SoC drivers" + +config LPC32XX_SOCINFO + tristate "NXP LPC32xx SoC information driver" + default ARCH_LPC32XX + select SOC_BUS + help + NXP LPC32xx specific driver to get unique SoC ID from SCB registers. + +endmenu + +endif diff --git a/drivers/soc/nxp/Makefile b/drivers/soc/nxp/Makefile new file mode 100644 index 000000000000..466fbf946dee --- /dev/null +++ b/drivers/soc/nxp/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0-only +obj-$(CONFIG_LPC32XX_SOCINFO) +=3D lpc32xx-soc.o diff --git a/drivers/soc/nxp/lpc32xx-soc.c b/drivers/soc/nxp/lpc32xx-soc.c new file mode 100644 index 000000000000..06b10310da76 --- /dev/null +++ b/drivers/soc/nxp/lpc32xx-soc.c @@ -0,0 +1,114 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2025 Vladimir Zapolskiy + */ + +#include +#include +#include +#include +#include + +#define SERIAL_ID0 0x130 + +static int lpc32xx_soc_probe(struct platform_device *pdev) +{ + struct soc_device_attribute *soc_dev_attr; + struct device *dev =3D &pdev->dev; + struct soc_device *soc_dev; + struct regmap *scb; + u32 serial_id[4]; + int ret; + + soc_dev_attr =3D devm_kzalloc(dev, sizeof(*soc_dev_attr), GFP_KERNEL); + if (!soc_dev_attr) + return -ENOMEM; + + soc_dev_attr->family =3D "NXP LPC32xx"; + + ret =3D of_property_read_string(of_root, "model", &soc_dev_attr->machine); + if (ret) + return ret; + + scb =3D syscon_regmap_lookup_by_compatible("nxp,lpc3220-scb"); + if (!IS_ERR(scb)) { + /* Do not bail out on error, if SCB device tree node is found */ + ret =3D regmap_bulk_read(scb, SERIAL_ID0, serial_id, 4); + if (ret) + return ret; + + soc_dev_attr->serial_number =3D devm_kasprintf(dev, GFP_KERNEL, + "%08x%08x%08x%08x", + serial_id[3], + serial_id[2], + serial_id[1], + serial_id[0]); + if (!soc_dev_attr->serial_number) + return -ENOMEM; + } else { + dev_info(dev, "failed to get SCB regmap: %ld\n", PTR_ERR(scb)); + } + + soc_dev =3D soc_device_register(soc_dev_attr); + if (IS_ERR(soc_dev)) + return PTR_ERR(soc_dev); + + platform_set_drvdata(pdev, soc_dev); + + return 0; +} + +static void lpc32xx_soc_remove(struct platform_device *pdev) +{ + struct soc_device *soc_dev =3D platform_get_drvdata(pdev); + + soc_device_unregister(soc_dev); +} + +static const struct of_device_id lpc32xx_soc[] =3D { + { .compatible =3D "nxp,lpc3220", }, + { .compatible =3D "nxp,lpc3230", }, + { .compatible =3D "nxp,lpc3240", }, + { .compatible =3D "nxp,lpc3250", }, + { } +}; + +static struct platform_driver lpc32xx_soc_driver =3D { + .probe =3D lpc32xx_soc_probe, + .remove =3D lpc32xx_soc_remove, + .driver =3D { + .name =3D "lpc32xx-soc", + .of_match_table =3D lpc32xx_soc, + }, +}; + +static int __init lpc32xx_soc_device_init(void) +{ + struct platform_device *pdev; + int ret; + + if (!of_match_node(lpc32xx_soc, of_root)) + return 0; + + ret =3D platform_driver_register(&lpc32xx_soc_driver); + if (ret) { + pr_info("Failed to register lpc32xx-soc platform driver: %d\n", + ret); + return ret; + } + + pdev =3D platform_device_register_simple("lpc32xx-soc", -1, NULL, 0); + if (IS_ERR(pdev)) { + pr_info("Failed to register lpc32xx-soc platform device: %ld\n", + PTR_ERR(pdev)); + platform_driver_unregister(&lpc32xx_soc_driver); + return PTR_ERR(pdev); + }; + + return 0; +} +device_initcall(lpc32xx_soc_device_init); + +MODULE_AUTHOR("Vladimir Zapolskiy "); +MODULE_DESCRIPTION("NXP LPC32xx SoC driver"); +MODULE_LICENSE("GPL"); --=20 2.43.0