[PATCH 2/2] soc: nxp: Add a simple NXP LPC32xx socinfo driver

Krzysztof Kozlowski krzk at kernel.org
Sat Jan 3 04:43:29 PST 2026


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 at mleia.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.
>>>
>>> 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.

Best regards,
Krzysztof



More information about the linux-arm-kernel mailing list