[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20260126-ti-usb-v1-1-2855c129eb6d@gmail.com>
Date: Mon, 26 Jan 2026 13:22:04 +0000
From: Charan Pedumuru <charan.pedumuru@...il.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Felipe Balbi <balbi@...com>
Cc: linux-usb@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, Charan Pedumuru <charan.pedumuru@...il.com>
Subject: [PATCH 1/2] dt-bindings: usb: ti,omap4-musb: convert to DT schema
Convert OMAP MUSB USB OTG Controller binding to DT schema.
Changes during conversion:
- Introduce new compatible string patterns "am35x_otg_hs" and "usb_otg_hs"
to properly match existing nodes already defined in the DT sources.
- Include "interrupts" and "interrupt-names" properties in the YAML, as
they are used by many in-tree DTS files.
- Extend the "power" property to allow the value 150 (in addition to
existing values), since this is present in several in-tree DTS examples.
Signed-off-by: Charan Pedumuru <charan.pedumuru@...il.com>
---
.../devicetree/bindings/usb/ti,omap4-musb.yaml | 133 +++++++++++++++++++++
1 file changed, 133 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/ti,omap4-musb.yaml b/Documentation/devicetree/bindings/usb/ti,omap4-musb.yaml
new file mode 100644
index 000000000000..16e95fe4c38d
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ti,omap4-musb.yaml
@@ -0,0 +1,133 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/ti,omap4-musb.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments OMAP MUSB USB OTG Controller
+
+maintainers:
+ - Felipe Balbi <balbi@...com
+
+description:
+ Texas Instruments glue layer for the Mentor Graphics MUSB OTG controller.
+ Handles SoC-specific integration including PHY interface bridging(ULPI/
+ UTMI), interrupt aggregation, DMA engine coordination (internal/
+ external), VBUS/session control via control module mailbox, and
+ clock/reset management. Provides fixed hardware configuration parameters
+ to the generic MUSB core driver.
+
+properties:
+ $nodename:
+ pattern: "^(am35x_otg_hs|usb_otg_hs|usb)@[0-9a-f]+$"
+
+ compatible:
+ enum:
+ - ti,omap3-musb
+ - ti,omap4-musb
+
+ reg:
+ maxItems: 1
+
+ ti,hwmods:
+ $ref: /schemas/types.yaml#/definitions/string
+ description:
+ Specifies the name of the TI PRCM (Power, Reset and Clock Management)
+ hardware module that must be enabled (powered and clocked) for this
+ device node to operate. The value "usb_otg_hs" refers to the USB
+ On-The-Go High-Speed controller IP block.
+ const: usb_otg_hs
+
+ interrupts:
+ minItems: 1
+ maxItems: 2
+
+ interrupt-names:
+ minItems: 1
+ maxItems: 2
+ items:
+ enum: [mc, dma]
+
+ multipoint:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Indicates the MUSB controller supports multipoint. This is a MUSB
+ configuration-specific setting.
+ const: 1
+
+ num-eps:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Specifies the number of endpoints. This is a MUSB configuration
+ specific setting.
+ const: 16
+
+ ram-bits:
+ description:
+ Specifies the RAM address size.
+ const: 12
+
+ interface-type:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Describes the type of interface between the controller and the PHY.
+ 0 for ULPI, 1 for UTMI.
+ enum: [0, 1]
+
+ mode:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: 1 for HOST, 2 for PERIPHERAL, 3 for OTG.
+ enum: [1, 2, 3]
+
+ power:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Signifies the controller can supply up to 100mA when operating
+ in host mode.
+ enum: [50, 150]
+
+ phys:
+ maxItems: 1
+
+ phy-names:
+ const: usb2-phy
+
+ usb-phy:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description: Phandle for the PHY device.
+ deprecated: true
+
+ ctrl-module:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Phandle of the control module this glue uses to write to mailbox.
+
+required:
+ - reg
+ - compatible
+ - interrupts
+ - interrupt-names
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ usb_otg_hs@...ab000 {
+ compatible = "ti,omap4-musb";
+ reg = <0x4a0ab000 0x1000>;
+ interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "mc", "dma";
+ ti,hwmods = "usb_otg_hs";
+ multipoint = <1>;
+ num-eps = <16>;
+ ram-bits = <12>;
+ ctrl-module = <&omap_control_usb>;
+ phys = <&usb2_phy>;
+ phy-names = "usb2-phy";
+ interface-type = <1>;
+ mode = <3>;
+ power = <50>;
+ };
+...
--
2.52.0
Powered by blists - more mailing lists