[PATCH v6 1/2] dt-bindings: arm: stm32: Document st,stm32mp23/25-syscfg subnodes and cells

Marek Vasut marex at nabladev.com
Wed Sep 2 05:39:49 PDT 2026


The st,stm32mp23-syscfg and st,stm32mp25-syscfg can have subnodes, which
represent the USB 2.0 FEMTO-PHY. Document subnodes pattern properties and
address/size cells.

Signed-off-by: Marek Vasut <marex at nabladev.com>
---
Cc: Alexandre Torgue <alexandre.torgue at foss.st.com>
Cc: Christophe Roullier <christophe.roullier at foss.st.com>
Cc: Conor Dooley <conor+dt at kernel.org>
Cc: Krzysztof Kozlowski <krzk+dt at kernel.org>
Cc: Marek Vasut <marex at nabladev.com>
Cc: Maxime Coquelin <mcoquelin.stm32 at gmail.com>
Cc: Raphael Gallais-Pou <raphael.gallais-pou at foss.st.com>
Cc: Rob Herring <robh at kernel.org>
Cc: Yannick Fertre <yannick.fertre at foss.st.com>
Cc: devicetree at vger.kernel.org
Cc: kernel at dh-electronics.com
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
Cc: linux-stm32 at st-md-mailman.stormreply.com
---
V2: New patch
V3: Fix the bindings
V4: - Undo simple-mfd in favor of dedicated SYSCFG SoC driver
    - Update commit message to match, this used to be patch
      dt-bindings: arm: stm32: Switch st,stm32mp23/25-syscfg into simple-mfd
    - Split this from series arm64: dts: phy: st: usb: Add STM32MP2 USB support
      https://lore.kernel.org/all/20260822074816.548662-1-marex@nabladev.com/
V5: - Add missing contains: into conditional
    - Add phy subnodes into required list for stm32mp23-syscfg/stm32mp25-syscfg
V6: - Reduce the pattern in patternProperties to match only on phy at 2400 and phy at 2800
    - Disable address/clock/size-cells/phy at 2400/phy at 2800 unless compatible
      with st,stm32mp23-syscfg or st,stm32mp25-syscfg
    - Disable clocks unless compatible with st,stm32mp157-syscfg or st,stm32f4-gcan
---
 .../bindings/arm/stm32/st,stm32-syscon.yaml   | 30 ++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml b/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml
index 95d2319afe235..a559f8b03b842 100644
--- a/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml
+++ b/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml
@@ -39,6 +39,17 @@ properties:
   "#clock-cells":
     const: 0
 
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 1
+
+patternProperties:
+  "^phy at 2[48]00$":
+    type: object
+    $ref: /schemas/phy/st,stm32-usb2phy.yaml
+
 required:
   - compatible
   - reg
@@ -54,13 +65,30 @@ allOf:
     then:
       required:
         - clocks
+    else:
+      properties:
+        clocks: false
   - if:
       properties:
         compatible:
-          const: st,stm32mp25-syscfg
+          contains:
+            enum:
+              - st,stm32mp23-syscfg
+              - st,stm32mp25-syscfg
     then:
       required:
+        - "#address-cells"
         - "#clock-cells"
+        - "#size-cells"
+        - phy at 2400
+        - phy at 2800
+    else:
+      properties:
+        '#address-cells': false
+        '#clock-cells': false
+        '#size-cells': false
+        phy at 2400: false
+        phy at 2800: false
 
 additionalProperties: false
 
-- 
2.53.0




More information about the linux-arm-kernel mailing list