Linux USB
 help / color / mirror / Atom feed
From: Rodrigo Gobbi <rodrigo.gobbi.7@gmail.com>
To: gregkh@linuxfoundation.org, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, davidm@egauge.net
Cc: ~lkcamp/patches@lists.sr.ht, linux-usb@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH] dt-bindings: usb: add yaml file for maxim,max3421
Date: Thu,  9 Oct 2025 15:15:42 -0300	[thread overview]
Message-ID: <20251009182046.185520-1-rodrigo.gobbi.7@gmail.com> (raw)

Convert maxim,max3421.txt to yaml format with a few extra properties like
maxim,vbus-en-pin, maxim,gpx-pin, reset pin and supplies. Also add a
maxim,max3421e compatible with a fallback, since the actually PN is with
the 'e' suffix.

Signed-off-by: Rodrigo Gobbi <rodrigo.gobbi.7@gmail.com>
---
I've converted the txt into yaml with a few extra things as mentioned
in the commit msg. All of them were extracted from the datasheet and also
looking at the current state of the driver.

About the maintainer ref inside yaml, I'll quote the driver author:

Dear @David Mosberger, the binding file for this driver was not converted
to YAML format. This patch address this. I've noticed you were the original
driver author, so I`m "quoting" you at the maintainer ref inside yaml.
I would appreciate your comment or suggestion over this topic.

Tks and regards to all.
---
 .../devicetree/bindings/usb/maxim,3421.yaml   | 88 +++++++++++++++++++
 .../devicetree/bindings/usb/maxim,max3421.txt | 23 -----
 2 files changed, 88 insertions(+), 23 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/maxim,3421.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/maxim,max3421.txt

diff --git a/Documentation/devicetree/bindings/usb/maxim,3421.yaml b/Documentation/devicetree/bindings/usb/maxim,3421.yaml
new file mode 100644
index 000000000000..bccb22be74ff
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/maxim,3421.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/maxim,3421.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MAXIM MAX3421e USB Peripheral/Host Controller
+
+maintainers:
+  - David Mosberger <davidm@egauge.net>
+
+description: |
+  The controller provides USB2.0 compliant with Full Speed or Low Speed when in
+  the host mode. At peripheral, it operates at Full Speed. At both cases, it
+  uses a SPI interface.
+  Datasheet at:
+    https://www.analog.com/media/en/technical-documentation/data-sheets/max3421e.pdf
+
+properties:
+  compatible:
+    oneOf:
+      - items:
+          - enum:
+              - maxim,max3421e
+          - const: maxim,max3421
+      - const: maxim,max3421
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  spi-max-frequency:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    maximum: 26000000
+    description:
+      SPI interface that operates up to 26MHz in Hz.
+
+  maxim,vbus-en-pin:
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    description:
+      One of eight GPOUT pins to control external VBUS power and the polarity
+      of the active level. It's an array of GPIO number and the active level of it.
+    minItems: 2
+    maxItems: 2
+
+  maxim,gpx-pin:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: A property to define the behavior of the GPX pin, which is an
+      output that may be selected in a 4-way multiplexer between OPERATE(0),
+      VBUS_DETECT(1), BUSACT/INIRQ(2) and SOF(3) signals.
+    enum: [0, 1, 2, 3]
+    default: 0
+
+  reset-gpios:
+    description: Active low to clear all of the internal registers except for
+                 PINCTL (R17), USBCTL (R15), and SPI logic.
+
+  vdd-supply: true
+
+  vlogic-supply: true
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - maxim,vbus-en-pin
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/irq.h>
+    spi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        usb@0 {
+          compatible = "maxim,max3421";
+          reg = <0>;
+          maxim,vbus-en-pin = <3 1>;
+          spi-max-frequency = <26000000>;
+          interrupt-parent = <&gpio>;
+          interrupts = <42>;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/usb/maxim,max3421.txt b/Documentation/devicetree/bindings/usb/maxim,max3421.txt
deleted file mode 100644
index 90495b1aeec2..000000000000
--- a/Documentation/devicetree/bindings/usb/maxim,max3421.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-Maxim Integrated SPI-based USB 2.0 host controller MAX3421E
-
-Required properties:
- - compatible: Should be "maxim,max3421"
- - spi-max-frequency: maximum frequency for this device must not exceed 26 MHz.
- - reg: chip select number to which this device is connected.
- - maxim,vbus-en-pin: <GPOUTx ACTIVE_LEVEL>
-   GPOUTx is the number (1-8) of the GPOUT pin of MAX3421E to drive Vbus.
-   ACTIVE_LEVEL is 0 or 1.
- - interrupts: the interrupt line description for the interrupt controller.
-   The driver configures MAX3421E for active low level triggered interrupts,
-   configure your interrupt line accordingly.
-
-Example:
-
-	usb@0 {
-		compatible = "maxim,max3421";
-		reg = <0>;
-		maxim,vbus-en-pin = <3 1>;
-		spi-max-frequency = <26000000>;
-		interrupt-parent = <&PIC>;
-		interrupts = <42>;
-	};
-- 
2.48.1


             reply	other threads:[~2025-10-09 18:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-09 18:15 Rodrigo Gobbi [this message]
2025-10-10  1:34 ` [PATCH] dt-bindings: usb: add yaml file for maxim,max3421 Krzysztof Kozlowski
2025-10-10 19:46   ` Rodrigo Gobbi
2025-10-10 23:27     ` Krzysztof Kozlowski

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=20251009182046.185520-1-rodrigo.gobbi.7@gmail.com \
    --to=rodrigo.gobbi.7@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=davidm@egauge.net \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=~lkcamp/patches@lists.sr.ht \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox