[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