From: Wayne Chang <waynec@nvidia.com>
To: <mathias.nyman@intel.com>, <vkoul@kernel.org>,
<neil.armstrong@linaro.org>, <robh@kernel.org>,
<krzk+dt@kernel.org>, <conor+dt@kernel.org>,
<gregkh@linuxfoundation.org>, <thierry.reding@gmail.com>,
<jonathanh@nvidia.com>
Cc: <waynec@nvidia.com>, <linux-usb@vger.kernel.org>,
<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-phy@lists.infradead.org>, <devicetree@vger.kernel.org>
Subject: [PATCH 2/8] dt-bindings: usb: Add Tegra264 XUSB host support
Date: Mon, 29 Jun 2026 17:34:00 +0800 [thread overview]
Message-ID: <20260629093406.1118594-3-waynec@nvidia.com> (raw)
In-Reply-To: <20260629093406.1118594-1-waynec@nvidia.com>
Extend the Tegra234 XUSB host binding to cover Tegra264:
- Add nvidia,tegra264-xusb compatible string
- Document optional USB wake interrupts for Tegra264
- Document Tegra264 PMC wake event to port mapping
- Allow up to five IOMMU specifiers for the additional XUSB host
stream IDs
Signed-off-by: Wayne Chang <waynec@nvidia.com>
---
.../bindings/usb/nvidia,tegra234-xusb.yaml | 115 ++++++++++++------
1 file changed, 80 insertions(+), 35 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml b/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml
index ec0993497fbb..94b1dbe2b02f 100644
--- a/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml
+++ b/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml
@@ -17,7 +17,9 @@ description: |
properties:
compatible:
- const: nvidia,tegra234-xusb
+ enum:
+ - nvidia,tegra234-xusb
+ - nvidia,tegra264-xusb
reg:
items:
@@ -31,37 +33,6 @@ properties:
- const: fpci
- const: bar2
- interrupts:
- minItems: 2
- items:
- - description: xHCI host interrupt
- - description: mailbox interrupt
- - description: USB wake event 0
- - description: USB wake event 1
- - description: USB wake event 2
- - description: USB wake event 3
- - description: USB wake event 4
- - description: USB wake event 5
- - description: USB wake event 6
- description: |
- The first two interrupts are required for the USB host controller. The
- remaining USB wake event interrupts are optional. Each USB wake event is
- independent; it is not necessary to use all of these events on a
- platform. The USB host controller can function even if no wake-up events
- are defined. The USB wake event interrupts are handled by the Tegra PMC;
- hence, the interrupt controller for these is the PMC and the interrupt
- IDs correspond to the PMC wake event IDs. A complete list of wake event
- IDs is provided below, and this information is also present in the Tegra
- TRM document.
-
- PMC wake-up 76 for USB3 port 0 wakeup
- PMC wake-up 77 for USB3 port 1 wakeup
- PMC wake-up 78 for USB3 port 2 and port 3 wakeup
- PMC wake-up 79 for USB2 port 0 wakeup
- PMC wake-up 80 for USB2 port 1 wakeup
- PMC wake-up 81 for USB2 port 2 wakeup
- PMC wake-up 82 for USB2 port 3 wakeup
-
clocks:
items:
- description: XUSB host clock
@@ -96,9 +67,6 @@ properties:
- const: dma-mem # read
- const: write
- iommus:
- maxItems: 1
-
nvidia,xusb-padctl:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle to the XUSB pad controller that is used to configure
@@ -137,6 +105,83 @@ properties:
allOf:
- $ref: usb-xhci.yaml
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - nvidia,tegra234-xusb
+ then:
+ properties:
+ interrupts:
+ minItems: 2
+ description: |
+ The first two interrupts are required for the USB host controller.
+ The remaining USB wake event interrupts are optional. Each USB wake
+ event is independent; it is not necessary to use all of these events
+ on a platform. The USB host controller can function even if no
+ wake-up events are defined. The USB wake event interrupts are
+ handled by the Tegra PMC; hence, the interrupt controller for these
+ is the PMC and the interrupt IDs correspond to the PMC wake event
+ IDs.
+
+ PMC wake-up 76 for USB3 port 0 wakeup
+ PMC wake-up 77 for USB3 port 1 wakeup
+ PMC wake-up 78 for USB3 port 2 and port 3 wakeup
+ PMC wake-up 79 for USB2 port 0 wakeup
+ PMC wake-up 80 for USB2 port 1 wakeup
+ PMC wake-up 81 for USB2 port 2 wakeup
+ PMC wake-up 82 for USB2 port 3 wakeup
+ items:
+ - description: xHCI host interrupt
+ - description: mailbox interrupt
+ - description: USB wake event 0
+ - description: USB wake event 1
+ - description: USB wake event 2
+ - description: USB wake event 3
+ - description: USB wake event 4
+ - description: USB wake event 5
+ - description: USB wake event 6
+ iommus:
+ maxItems: 1
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - nvidia,tegra264-xusb
+ then:
+ properties:
+ interrupts:
+ minItems: 2
+ description: |
+ Same as Tegra234, with one additional optional USB wake event
+ interrupt. USB3 port 2 and port 3 each have a dedicated wake event
+ interrupt on Tegra264.
+
+ PMC wake-up 79 for USB3 port 0 wakeup
+ PMC wake-up 80 for USB3 port 1 wakeup
+ PMC wake-up 81 for USB3 port 2 wakeup
+ PMC wake-up 82 for USB3 port 3 wakeup
+ PMC wake-up 83 for USB2 port 0 wakeup
+ PMC wake-up 84 for USB2 port 1 wakeup
+ PMC wake-up 85 for USB2 port 2 wakeup
+ PMC wake-up 86 for USB2 port 3 wakeup
+ items:
+ - description: xHCI host interrupt
+ - description: mailbox interrupt
+ - description: USB wake event 0
+ - description: USB wake event 1
+ - description: USB wake event 2
+ - description: USB wake event 3
+ - description: USB wake event 4
+ - description: USB wake event 5
+ - description: USB wake event 6
+ - description: USB wake event 7
+ iommus:
+ maxItems: 5
+
unevaluatedProperties: false
examples:
--
2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Wayne Chang <waynec@nvidia.com>
To: <mathias.nyman@intel.com>, <vkoul@kernel.org>,
<neil.armstrong@linaro.org>, <robh@kernel.org>,
<krzk+dt@kernel.org>, <conor+dt@kernel.org>,
<gregkh@linuxfoundation.org>, <thierry.reding@gmail.com>,
<jonathanh@nvidia.com>
Cc: <waynec@nvidia.com>, <linux-usb@vger.kernel.org>,
<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-phy@lists.infradead.org>, <devicetree@vger.kernel.org>
Subject: [PATCH 2/8] dt-bindings: usb: Add Tegra264 XUSB host support
Date: Mon, 29 Jun 2026 17:34:00 +0800 [thread overview]
Message-ID: <20260629093406.1118594-3-waynec@nvidia.com> (raw)
In-Reply-To: <20260629093406.1118594-1-waynec@nvidia.com>
Extend the Tegra234 XUSB host binding to cover Tegra264:
- Add nvidia,tegra264-xusb compatible string
- Document optional USB wake interrupts for Tegra264
- Document Tegra264 PMC wake event to port mapping
- Allow up to five IOMMU specifiers for the additional XUSB host
stream IDs
Signed-off-by: Wayne Chang <waynec@nvidia.com>
---
.../bindings/usb/nvidia,tegra234-xusb.yaml | 115 ++++++++++++------
1 file changed, 80 insertions(+), 35 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml b/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml
index ec0993497fbb..94b1dbe2b02f 100644
--- a/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml
+++ b/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml
@@ -17,7 +17,9 @@ description: |
properties:
compatible:
- const: nvidia,tegra234-xusb
+ enum:
+ - nvidia,tegra234-xusb
+ - nvidia,tegra264-xusb
reg:
items:
@@ -31,37 +33,6 @@ properties:
- const: fpci
- const: bar2
- interrupts:
- minItems: 2
- items:
- - description: xHCI host interrupt
- - description: mailbox interrupt
- - description: USB wake event 0
- - description: USB wake event 1
- - description: USB wake event 2
- - description: USB wake event 3
- - description: USB wake event 4
- - description: USB wake event 5
- - description: USB wake event 6
- description: |
- The first two interrupts are required for the USB host controller. The
- remaining USB wake event interrupts are optional. Each USB wake event is
- independent; it is not necessary to use all of these events on a
- platform. The USB host controller can function even if no wake-up events
- are defined. The USB wake event interrupts are handled by the Tegra PMC;
- hence, the interrupt controller for these is the PMC and the interrupt
- IDs correspond to the PMC wake event IDs. A complete list of wake event
- IDs is provided below, and this information is also present in the Tegra
- TRM document.
-
- PMC wake-up 76 for USB3 port 0 wakeup
- PMC wake-up 77 for USB3 port 1 wakeup
- PMC wake-up 78 for USB3 port 2 and port 3 wakeup
- PMC wake-up 79 for USB2 port 0 wakeup
- PMC wake-up 80 for USB2 port 1 wakeup
- PMC wake-up 81 for USB2 port 2 wakeup
- PMC wake-up 82 for USB2 port 3 wakeup
-
clocks:
items:
- description: XUSB host clock
@@ -96,9 +67,6 @@ properties:
- const: dma-mem # read
- const: write
- iommus:
- maxItems: 1
-
nvidia,xusb-padctl:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle to the XUSB pad controller that is used to configure
@@ -137,6 +105,83 @@ properties:
allOf:
- $ref: usb-xhci.yaml
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - nvidia,tegra234-xusb
+ then:
+ properties:
+ interrupts:
+ minItems: 2
+ description: |
+ The first two interrupts are required for the USB host controller.
+ The remaining USB wake event interrupts are optional. Each USB wake
+ event is independent; it is not necessary to use all of these events
+ on a platform. The USB host controller can function even if no
+ wake-up events are defined. The USB wake event interrupts are
+ handled by the Tegra PMC; hence, the interrupt controller for these
+ is the PMC and the interrupt IDs correspond to the PMC wake event
+ IDs.
+
+ PMC wake-up 76 for USB3 port 0 wakeup
+ PMC wake-up 77 for USB3 port 1 wakeup
+ PMC wake-up 78 for USB3 port 2 and port 3 wakeup
+ PMC wake-up 79 for USB2 port 0 wakeup
+ PMC wake-up 80 for USB2 port 1 wakeup
+ PMC wake-up 81 for USB2 port 2 wakeup
+ PMC wake-up 82 for USB2 port 3 wakeup
+ items:
+ - description: xHCI host interrupt
+ - description: mailbox interrupt
+ - description: USB wake event 0
+ - description: USB wake event 1
+ - description: USB wake event 2
+ - description: USB wake event 3
+ - description: USB wake event 4
+ - description: USB wake event 5
+ - description: USB wake event 6
+ iommus:
+ maxItems: 1
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - nvidia,tegra264-xusb
+ then:
+ properties:
+ interrupts:
+ minItems: 2
+ description: |
+ Same as Tegra234, with one additional optional USB wake event
+ interrupt. USB3 port 2 and port 3 each have a dedicated wake event
+ interrupt on Tegra264.
+
+ PMC wake-up 79 for USB3 port 0 wakeup
+ PMC wake-up 80 for USB3 port 1 wakeup
+ PMC wake-up 81 for USB3 port 2 wakeup
+ PMC wake-up 82 for USB3 port 3 wakeup
+ PMC wake-up 83 for USB2 port 0 wakeup
+ PMC wake-up 84 for USB2 port 1 wakeup
+ PMC wake-up 85 for USB2 port 2 wakeup
+ PMC wake-up 86 for USB2 port 3 wakeup
+ items:
+ - description: xHCI host interrupt
+ - description: mailbox interrupt
+ - description: USB wake event 0
+ - description: USB wake event 1
+ - description: USB wake event 2
+ - description: USB wake event 3
+ - description: USB wake event 4
+ - description: USB wake event 5
+ - description: USB wake event 6
+ - description: USB wake event 7
+ iommus:
+ maxItems: 5
+
unevaluatedProperties: false
examples:
--
2.25.1
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2026-06-29 9:34 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-29 9:33 [PATCH 0/8] Enable USB host functions on Jetson AGX Thor Wayne Chang
2026-06-29 9:33 ` Wayne Chang
2026-06-29 9:33 ` [PATCH 1/8] dt-bindings: phy: tegra-xusb: Add support for Tegra264 Wayne Chang
2026-06-29 9:33 ` Wayne Chang
2026-06-29 15:19 ` Conor Dooley
2026-06-29 15:19 ` Conor Dooley
2026-06-29 9:34 ` Wayne Chang [this message]
2026-06-29 9:34 ` [PATCH 2/8] dt-bindings: usb: Add Tegra264 XUSB host support Wayne Chang
2026-06-29 15:21 ` Conor Dooley
2026-06-29 15:21 ` Conor Dooley
2026-06-29 9:34 ` [PATCH 3/8] arm64: tegra: Enable XUSB host function on Jetson AGX Thor Wayne Chang
2026-06-29 9:34 ` Wayne Chang
2026-06-29 9:44 ` sashiko-bot
2026-06-29 9:44 ` sashiko-bot
2026-06-29 9:34 ` [PATCH 4/8] phy: tegra: xusb: Use devm_clk_get_optional to fetch USB2 tracking clock Wayne Chang
2026-06-29 9:34 ` Wayne Chang
2026-06-29 9:46 ` sashiko-bot
2026-06-29 9:46 ` sashiko-bot
2026-06-29 9:34 ` [PATCH 5/8] phy: tegra: xusb: Increase timeout for USB2_TRK_COMPLETED polling Wayne Chang
2026-06-29 9:34 ` Wayne Chang
2026-06-29 9:34 ` [PATCH 6/8] phy: tegra: xusb: Add Tegra264 support Wayne Chang
2026-06-29 9:34 ` Wayne Chang
2026-06-29 9:45 ` sashiko-bot
2026-06-29 9:45 ` sashiko-bot
2026-06-29 9:34 ` [PATCH 7/8] usb: host: xhci-tegra: Skip MBOX MSG_ENABLED on Tegra264 Wayne Chang
2026-06-29 9:34 ` Wayne Chang
2026-06-29 9:34 ` [PATCH 8/8] usb: host: xhci-tegra: Add Tegra264 XHCI support Wayne Chang
2026-06-29 9:34 ` Wayne Chang
2026-06-29 9:47 ` sashiko-bot
2026-06-29 9:47 ` sashiko-bot
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=20260629093406.1118594-3-waynec@nvidia.com \
--to=waynec@nvidia.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jonathanh@nvidia.com \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=neil.armstrong@linaro.org \
--cc=robh@kernel.org \
--cc=thierry.reding@gmail.com \
--cc=vkoul@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.