[Linux-stm32] [PATCH v3 2/3] dt-bindings: arm: stm32: allow TAMP nvram child node for syscon
Patrice CHOTARD
patrice.chotard at foss.st.com
Wed Nov 4 14:43:16 CET 2026
On 10/17/26 19:52, Krzysztof Kozlowski wrote:
> On Fri, Oct 16, 2026 at 05:26:04PM +0200, Patrice Chotard wrote:
>> The STM32 TAMP node (compatible "st,stm32-tamp", "syscon", "simple-mfd")
>> exposes its backup registers through an nvram child node described by
>> nvmem/st,stm32-tamp-nvram.yaml. That requires the TAMP node to carry
>> "#address-cells", "#size-cells", "ranges" and an "nvram at ..." child.
>>
>> st,stm32-syscon.yaml uses "additionalProperties: false" and only allowed
>> reg/clocks/#clock-cells, so wiring the nvram provider into the DTSI made
>> "make dtbs_check" fail on every STM32MP TAMP node:
>>
>> tamp at 5c00a000 (st,stm32-tamp): '#address-cells', '#size-cells',
>> 'nvram at 5c00a100', 'ranges' do not match any of the regexes:
>> '^pinctrl-[0-9]+$'
>
> There are no children of tamp at 5c00a000 in
> arch/arm/boot/dts/st/stm32mp151.dtsi. How is it possible to reproduce
> this warning?
>
> Are you using some other patches bugs as a reason of change in bindings?
Hi Krzysztof
yes, in this patch [1] arch/arm/boot/dts/st/stm32mp151.dtsi is updated
that's why bindings need this change.
See the complete series [2].
[1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/20260930-upstream_tamp_nvram_dts_part-v2-2-bd73158ce46b@foss.st.com/
[2] https://patchwork.kernel.org/series/1176665/
>
>>
>> Allow the addressing properties and the nvram child, gated on the
>> st,stm32-tamp compatible so the other syscon variants stay strict.
>> "#size-cells" may be 1 or 2: the STM32MP21 soc bus uses two size cells
>> (an empty "ranges" requires the node to match its parent) while the
>> other STM32MP SoCs use one.
>>
>> Signed-off-by: Patrice Chotard <patrice.chotard at foss.st.com>
>> ---
>> .../bindings/arm/stm32/st,stm32-syscon.yaml | 30 ++++++++++++++++++++++
>> 1 file changed, 30 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml b/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml
>> index 95d2319afe23..1aeb54867db2 100644
>> --- a/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml
>> +++ b/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml
>> @@ -39,6 +39,23 @@ properties:
>> "#clock-cells":
>> const: 0
>>
>> + "#address-cells":
>> + const: 1
>> +
>> + "#size-cells":
>> + enum: [1, 2]
>> +
>> + ranges: true
>
> You work on some weeks old tree.
Indeed, this series need to be rebased on top of v7.4-rc1
Thanks
Patrice
>
>> +
>> +patternProperties:
>> + "^nvram@[0-9a-f]+$":
>> + type: object
>
> additionalProperties true with ref or false with a compatible, just like
> every other binding. See also display/msm for some examples.
>
>> + description:
>> + TAMP backup registers exposed as an NVMEM provider. See
>> + nvmem/st,stm32-tamp-nvram.yaml.
>> + required:
>> + - compatible
>
> Best regards,
> Krzysztof
>
More information about the Linux-stm32
mailing list