From: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: peter.ujfalusi@gmail.com, dmitry.torokhov@gmail.com,
robh@kernel.org, krzk+dt@kernel.org, lgirdwood@gmail.com,
tiwai@suse.com, conor+dt@kernel.org, lee@kernel.org,
ukleinek@kernel.org, broonie@kernel.org,
gregkh@linuxfoundation.org, linux-input@vger.kernel.org,
devicetree@vger.kernel.org, linux-pwm@vger.kernel.org,
linux-sound@vger.kernel.org, linux-usb@vger.kernel.org,
shuah@kernel.org, jihed.chaibi.dev@gmail.com
Subject: [PATCH 8/8] usb: dt-bindings: ti,twlxxxx-usb: convert to DT schema
Date: Tue, 12 Aug 2025 00:47:39 +0200 [thread overview]
Message-ID: <20250811224739.53869-9-jihed.chaibi.dev@gmail.com> (raw)
In-Reply-To: <20250811224739.53869-1-jihed.chaibi.dev@gmail.com>
Convert the legacy TXT binding for the TWL4030/6030 USB module
to the modern YAML DT schema format. This adds formal validation
and improves documentation using a conditional schema.
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
---
.../bindings/usb/ti,twlxxxx-usb.yaml | 121 ++++++++++++++++++
.../devicetree/bindings/usb/twlxxxx-usb.txt | 43 -------
2 files changed, 121 insertions(+), 43 deletions(-)
create mode 100644 Documentation/devicetree/bindings/usb/ti,twlxxxx-usb.yaml
delete mode 100644 Documentation/devicetree/bindings/usb/twlxxxx-usb.txt
diff --git a/Documentation/devicetree/bindings/usb/ti,twlxxxx-usb.yaml b/Documentation/devicetree/bindings/usb/ti,twlxxxx-usb.yaml
new file mode 100644
index 000000000..029865ad2
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ti,twlxxxx-usb.yaml
@@ -0,0 +1,121 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/ti,twlxxxx-usb.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Texas Instruments TWL4030/6030 USB PHY and Comparator
+
+maintainers:
+ - Peter Ujfalusi <peter.ujfalusi@gmail.com>
+
+description: |
+ Bindings for the USB PHY and comparator module found within the
+ TWL4030 and TWL6030 family of companion chips.
+
+ TWL6030: USB COMPARATOR
+ TWL4030: USB COMPARATOR & PHY
+
+ If a sibling node is compatible with "ti,twl4030-bci", the driver for
+ that node will query this device for USB power status.
+
+properties:
+ compatible:
+ enum:
+ - ti,twl4030-usb
+ - ti,twl6030-usb
+
+ interrupts:
+ description: |
+ Interrupts for ID and VBUS events.
+ For "ti,twl6030-usb", two interrupts must be specified:
+ - The first is the OTG interrupt for ID events (host mode).
+ - The second is the USB interrupt for VBUS events (device mode).
+ For "ti,twl4030-usb", one or two interrupts can be specified:
+ - The first is the OTG interrupt for both ID and VBUS events.
+ - The second is optional.
+ minItems: 1
+ maxItems: 2
+
+ usb-supply:
+ description:
+ Phandle to the VUSB regulator. For TWL6030, this should be the 'vusb'
+ regulator. For TWL6032 subclass, it should be the 'ldousb' regulator.
+
+ usb1v5-supply:
+ description: Phandle to the VUSB1V5 regulator (for TWL4030).
+
+ usb1v8-supply:
+ description: Phandle to the VUSB1V8 regulator (for TWL4030).
+
+ usb3v1-supply:
+ description: Phandle to the USB3V1 regulator (for TWL4030).
+
+ usb_mode:
+ description: |
+ The mode used by the PHY (TWL4030 ONLY) to connect to the controller:
+ 1: ULPI mode
+ 2: CEA2011_3PIN mode
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [1, 2]
+
+required:
+ - compatible
+ - interrupts
+
+additionalProperties: false
+
+if:
+ properties:
+ compatible:
+ contains:
+ const: ti,twl6030-usb
+then:
+ required:
+ - usb-supply
+ properties:
+ interrupts:
+ minItems: 2
+else:
+ required:
+ - usb1v5-supply
+ - usb1v8-supply
+ - usb3v1-supply
+ - usb_mode
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ twl@48 {
+ reg = <0x48>;
+
+ usb_phy: usb-phy {
+ compatible = "ti,twl4030-usb";
+ interrupts = <10 4>; // Single interrupt: OTG (ID and VBUS events)
+ interrupt-parent = <&gic>;
+ usb1v5-supply = <®_vusb1v5>;
+ usb1v8-supply = <®_vusb1v8>;
+ usb3v1-supply = <®_vusb3v1>;
+ usb_mode = <1>;
+ };
+ };
+ };
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ twl@48 {
+ reg = <0x48>;
+
+ usb_comp: usb-phy {
+ compatible = "ti,twl6030-usb";
+ interrupts = <4 4>, <10 4>; // Two interrupts: OTG (ID events), USB (VBUS events)
+ interrupt-parent = <&gic>;
+ usb-supply = <®_vusb>;
+ };
+ };
+ };
diff --git a/Documentation/devicetree/bindings/usb/twlxxxx-usb.txt b/Documentation/devicetree/bindings/usb/twlxxxx-usb.txt
deleted file mode 100644
index 17327a296..000000000
--- a/Documentation/devicetree/bindings/usb/twlxxxx-usb.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-USB COMPARATOR OF TWL CHIPS
-
-TWL6030 USB COMPARATOR
- - compatible : Should be "ti,twl6030-usb"
- - interrupts : Two interrupt numbers to the cpu should be specified. First
- interrupt number is the otg interrupt number that raises ID interrupts when
- the controller has to act as host and the second interrupt number is the
- usb interrupt number that raises VBUS interrupts when the controller has to
- act as device
- - usb-supply : phandle to the regulator device tree node. It should be vusb
- if it is twl6030 or ldousb if it is twl6032 subclass.
-
-twl6030-usb {
- compatible = "ti,twl6030-usb";
- interrupts = < 4 10 >;
-};
-
-Board specific device node entry
-&twl6030-usb {
- usb-supply = <&vusb>;
-};
-
-TWL4030 USB PHY AND COMPARATOR
- - compatible : Should be "ti,twl4030-usb"
- - interrupts : The interrupt numbers to the cpu should be specified. First
- interrupt number is the otg interrupt number that raises ID interrupts
- and VBUS interrupts. The second interrupt number is optional.
- - <supply-name>-supply : phandle to the regulator device tree node.
- <supply-name> should be vusb1v5, vusb1v8 and vusb3v1
- - usb_mode : The mode used by the phy to connect to the controller. "1"
- specifies "ULPI" mode and "2" specifies "CEA2011_3PIN" mode.
-
-If a sibling node is compatible "ti,twl4030-bci", then it will find
-this device and query it for USB power status.
-
-twl4030-usb {
- compatible = "ti,twl4030-usb";
- interrupts = < 10 4 >;
- usb1v5-supply = <&vusb1v5>;
- usb1v8-supply = <&vusb1v8>;
- usb3v1-supply = <&vusb3v1>;
- usb_mode = <1>;
-};
--
2.39.5
next prev parent reply other threads:[~2025-08-11 22:48 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-11 22:47 [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding to DT schema Jihed Chaibi
2025-08-11 22:47 ` [PATCH 1/8] mfd: dt-bindings: ti,twl4030-audio: convert " Jihed Chaibi
2025-08-12 14:58 ` Rob Herring
2025-08-11 22:47 ` [PATCH 2/8] mfd: dt-bindings: ti,twl6040: " Jihed Chaibi
2025-08-12 1:24 ` Rob Herring (Arm)
2025-08-12 14:54 ` Rob Herring
2025-08-12 16:06 ` Jihed Chaibi
2025-08-14 21:24 ` Rob Herring
2025-08-11 22:47 ` [PATCH 3/8] input: dt-bindings: ti,twl4030-keypad: " Jihed Chaibi
2025-08-11 22:47 ` [PATCH 4/8] mfd: dt-bindings: ti,twl4030-power: " Jihed Chaibi
2025-08-11 22:47 ` [PATCH 5/8] pwm: dt-bindings: ti,twl-pwm: " Jihed Chaibi
2025-08-19 6:08 ` Uwe Kleine-König
2025-08-11 22:47 ` [PATCH 6/8] pwm: dt-bindings: ti,twl-pwmled: " Jihed Chaibi
2025-08-11 22:47 ` [PATCH 7/8] sound: dt-bindings: ti,omap-twl4030: " Jihed Chaibi
2025-08-13 20:29 ` Mark Brown
2025-08-18 18:03 ` Rob Herring
2025-08-11 22:47 ` Jihed Chaibi [this message]
2025-08-19 6:09 ` [PATCH 0/8] dt-bindings: Convert TWL4030/6040 family binding " Uwe Kleine-König
2025-08-19 13:19 ` Jihed Chaibi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250811224739.53869-9-jihed.chaibi.dev@gmail.com \
--to=jihed.chaibi.dev@gmail.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=peter.ujfalusi@gmail.com \
--cc=robh@kernel.org \
--cc=shuah@kernel.org \
--cc=tiwai@suse.com \
--cc=ukleinek@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.