public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: usb: st,st-ehci-300x: convert to DT schema
@ 2026-03-07  7:31 Charan Pedumuru
  2026-03-12 15:24 ` Rob Herring
  0 siblings, 1 reply; 2+ messages in thread
From: Charan Pedumuru @ 2026-03-07  7:31 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Peter Griffin
  Cc: linux-usb, devicetree, linux-kernel, Charan Pedumuru

Convert STMicroelectronics USB EHCI Controller binding to DT schema.

Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
---
 Documentation/devicetree/bindings/usb/ehci-st.txt  | 38 ---------
 .../devicetree/bindings/usb/st,st-ehci-300x.yaml   | 95 ++++++++++++++++++++++
 2 files changed, 95 insertions(+), 38 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/ehci-st.txt b/Documentation/devicetree/bindings/usb/ehci-st.txt
deleted file mode 100644
index d6f2bdee20fc..000000000000
--- a/Documentation/devicetree/bindings/usb/ehci-st.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-ST USB EHCI controller
-
-Required properties:
- - compatible		: must be "st,st-ehci-300x"
- - reg			: physical base addresses of the controller and length of memory mapped
-			  region
- - interrupts		: one EHCI interrupt should be described here
- - pinctrl-names	: a pinctrl state named "default" must be defined
- - pinctrl-0		: phandle referencing pin configuration of the USB controller
-See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
- - clocks		: phandle list of usb clocks
- - clock-names		: should be "ic" for interconnect clock and "clk48"
-See: Documentation/devicetree/bindings/clock/clock-bindings.txt
-
- - phys			: phandle for the PHY device
- - phy-names		: should be "usb"
- - resets		: phandle + reset specifier pairs to the powerdown and softreset lines
-			  of the USB IP
- - reset-names		: should be "power" and "softreset"
-See: Documentation/devicetree/bindings/reset/st,stih407-powerdown.yaml
-See: Documentation/devicetree/bindings/reset/reset.txt
-
-Example:
-
-	ehci1: usb@fe203e00 {
-		compatible = "st,st-ehci-300x";
-		reg = <0xfe203e00 0x100>;
-		interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_usb1>;
-		clocks = <&clk_s_a1_ls 0>;
-		phys = <&usb2_phy>;
-		phy-names = "usb";
-
-		resets = <&powerdown STIH416_USB1_POWERDOWN>,
-			 <&softreset STIH416_USB1_SOFTRESET>;
-		reset-names = "power", "softreset";
-	};
diff --git a/Documentation/devicetree/bindings/usb/st,st-ehci-300x.yaml b/Documentation/devicetree/bindings/usb/st,st-ehci-300x.yaml
new file mode 100644
index 000000000000..0cd625cd003b
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/st,st-ehci-300x.yaml
@@ -0,0 +1,95 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/st,st-ehci-300x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: STMicroelectronics USB EHCI Controller (ST EHCI 300x)
+
+maintainers:
+  - Peter Griffin <peter.griffin@linaro.org>
+
+description:
+  The STMicroelectronics EHCI 300x controller is a USB 2.0 Enhanced Host
+  Controller Interface used in several ST SoCs. It provides high-speed USB
+  host functionality and interfaces with an external USB PHY. The controller
+  requires clock, reset, interrupt, and pin control configuration along with
+  PHY connection information to operate correctly.
+
+allOf:
+  - $ref: usb-hcd.yaml#
+
+properties:
+  compatible:
+    const: st,st-ehci-300x
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  pinctrl-names:
+    const: default
+
+  pinctrl-0:
+    maxItems: 1
+
+  clocks:
+    maxItems: 2
+
+  clock-names:
+    items:
+      - const: ic
+      - const: clk48
+
+  phys:
+    maxItems: 1
+
+  phy-names:
+    const: usb
+
+  resets:
+    maxItems: 2
+
+  reset-names:
+    items:
+      - const: power
+      - const: softreset
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - pinctrl-names
+  - pinctrl-0
+  - clocks
+  - clock-names
+  - phys
+  - phy-names
+  - resets
+  - reset-names
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/clock/stih410-clks.h>
+    #include <dt-bindings/reset/stih407-resets.h>
+    usb@fe203e00 {
+        compatible = "st,st-ehci-300x";
+        reg = <0xfe203e00 0x100>;
+        interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>;
+        pinctrl-names = "default";
+        pinctrl-0 = <&pinctrl_usb1>;
+        clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
+                 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
+        clock-names = "ic", "clk48";
+        phys = <&usb2_phy>;
+        phy-names = "usb";
+        resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
+                 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
+        reset-names = "power", "softreset";
+    };
+...

---
base-commit: 3f9cd19e764b782706dbaacc69e502099cb014ba
change-id: 20260305-st-ehci-fa341495799b

Best regards,
-- 
Charan Pedumuru <charan.pedumuru@gmail.com>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] dt-bindings: usb: st,st-ehci-300x: convert to DT schema
  2026-03-07  7:31 [PATCH] dt-bindings: usb: st,st-ehci-300x: convert to DT schema Charan Pedumuru
@ 2026-03-12 15:24 ` Rob Herring
  0 siblings, 0 replies; 2+ messages in thread
From: Rob Herring @ 2026-03-12 15:24 UTC (permalink / raw)
  To: Charan Pedumuru
  Cc: Greg Kroah-Hartman, Krzysztof Kozlowski, Conor Dooley,
	Peter Griffin, linux-usb, devicetree, linux-kernel

On Sat, Mar 07, 2026 at 07:31:42AM +0000, Charan Pedumuru wrote:
> Convert STMicroelectronics USB EHCI Controller binding to DT schema.
> 
> Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com>
> ---
>  Documentation/devicetree/bindings/usb/ehci-st.txt  | 38 ---------
>  .../devicetree/bindings/usb/st,st-ehci-300x.yaml   | 95 ++++++++++++++++++++++
>  2 files changed, 95 insertions(+), 38 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/usb/ehci-st.txt b/Documentation/devicetree/bindings/usb/ehci-st.txt
> deleted file mode 100644
> index d6f2bdee20fc..000000000000
> --- a/Documentation/devicetree/bindings/usb/ehci-st.txt
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -ST USB EHCI controller
> -
> -Required properties:
> - - compatible		: must be "st,st-ehci-300x"
> - - reg			: physical base addresses of the controller and length of memory mapped
> -			  region
> - - interrupts		: one EHCI interrupt should be described here
> - - pinctrl-names	: a pinctrl state named "default" must be defined
> - - pinctrl-0		: phandle referencing pin configuration of the USB controller
> -See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> - - clocks		: phandle list of usb clocks
> - - clock-names		: should be "ic" for interconnect clock and "clk48"
> -See: Documentation/devicetree/bindings/clock/clock-bindings.txt
> -
> - - phys			: phandle for the PHY device
> - - phy-names		: should be "usb"
> - - resets		: phandle + reset specifier pairs to the powerdown and softreset lines
> -			  of the USB IP
> - - reset-names		: should be "power" and "softreset"
> -See: Documentation/devicetree/bindings/reset/st,stih407-powerdown.yaml
> -See: Documentation/devicetree/bindings/reset/reset.txt
> -
> -Example:
> -
> -	ehci1: usb@fe203e00 {
> -		compatible = "st,st-ehci-300x";
> -		reg = <0xfe203e00 0x100>;
> -		interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&pinctrl_usb1>;
> -		clocks = <&clk_s_a1_ls 0>;
> -		phys = <&usb2_phy>;
> -		phy-names = "usb";
> -
> -		resets = <&powerdown STIH416_USB1_POWERDOWN>,
> -			 <&softreset STIH416_USB1_SOFTRESET>;
> -		reset-names = "power", "softreset";
> -	};
> diff --git a/Documentation/devicetree/bindings/usb/st,st-ehci-300x.yaml b/Documentation/devicetree/bindings/usb/st,st-ehci-300x.yaml
> new file mode 100644
> index 000000000000..0cd625cd003b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/st,st-ehci-300x.yaml
> @@ -0,0 +1,95 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/st,st-ehci-300x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: STMicroelectronics USB EHCI Controller (ST EHCI 300x)
> +
> +maintainers:
> +  - Peter Griffin <peter.griffin@linaro.org>
> +
> +description:
> +  The STMicroelectronics EHCI 300x controller is a USB 2.0 Enhanced Host
> +  Controller Interface used in several ST SoCs. It provides high-speed USB
> +  host functionality and interfaces with an external USB PHY. The controller
> +  requires clock, reset, interrupt, and pin control configuration along with
> +  PHY connection information to operate correctly.
> +
> +allOf:
> +  - $ref: usb-hcd.yaml#
> +
> +properties:
> +  compatible:
> +    const: st,st-ehci-300x
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +

> +  pinctrl-names:
> +    const: default
> +
> +  pinctrl-0:
> +    maxItems: 1

These can be dropped as pinctrl properties are always allowed.

With that,

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-03-12 15:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-07  7:31 [PATCH] dt-bindings: usb: st,st-ehci-300x: convert to DT schema Charan Pedumuru
2026-03-12 15:24 ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox