From: Wayne Chang <waynec@nvidia.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Mathias Nyman <mathias.nyman@intel.com>,
Thierry Reding <thierry.reding@kernel.org>,
Jonathan Hunter <jonathanh@nvidia.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: <linux-usb@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Wayne Chang <waynec@nvidia.com>
Subject: [PATCH V3 1/3] dt-bindings: usb: Add Tegra264 XUSB host support
Date: Thu, 3 Sep 2026 15:45:37 +0800 [thread overview]
Message-ID: <20260903074539.613220-2-waynec@nvidia.com> (raw)
In-Reply-To: <20260903074539.613220-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
- List the up to five IOMMU specifiers for the additional XUSB host
stream IDs, since their order is now significant
- Constrain interrupts and iommus counts for both Tegra234 and
Tegra264 via allOf conditionals, since each SoC wires up a fixed
number of wake interrupts and stream IDs
Signed-off-by: Wayne Chang <waynec@nvidia.com>
---
V2 -> V3: List the iommus entries instead of just bounding minItems/
maxItems, and clarify that entries 1-4 correspond to XHCI virtual
functions 1-4. Add an allOf conditional that also constrains Tegra264
to interrupts maxItems 10 and iommus minItems 5, instead of leaving
Tegra264 with the same flexible top-level bounds as Tegra234.
V1 -> V2: Property definitions are back at the top level with the widest
constraints, The allOf conditional only tightens Tegra234 to interrupts
maxItems 9 and iommus maxItems 1.
.../bindings/usb/nvidia,tegra234-xusb.yaml | 52 +++++++++++++++++++++---
1 file changed, 47 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml b/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml
index ec0993497fbb..71e01701ae2c 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:
@@ -43,6 +45,7 @@ properties:
- description: USB wake event 4
- description: USB wake event 5
- description: USB wake event 6
+ - description: USB wake event 7
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
@@ -50,10 +53,9 @@ properties:
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.
+ IDs correspond to the PMC wake event IDs.
+ Tegra234 PMC wake events:
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
@@ -62,6 +64,16 @@ properties:
PMC wake-up 81 for USB2 port 2 wakeup
PMC wake-up 82 for USB2 port 3 wakeup
+ Tegra264 PMC wake events:
+ 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
+
clocks:
items:
- description: XUSB host clock
@@ -97,7 +109,13 @@ properties:
- const: write
iommus:
- maxItems: 1
+ minItems: 1
+ items:
+ - description: XUSB host stream ID
+ - description: XUSB host stream ID for virtual function 1
+ - description: XUSB host stream ID for virtual function 2
+ - description: XUSB host stream ID for virtual function 3
+ - description: XUSB host stream ID for virtual function 4
nvidia,xusb-padctl:
$ref: /schemas/types.yaml#/definitions/phandle
@@ -137,6 +155,30 @@ properties:
allOf:
- $ref: usb-xhci.yaml
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: nvidia,tegra234-xusb
+ then:
+ properties:
+ interrupts:
+ maxItems: 9
+ iommus:
+ maxItems: 1
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: nvidia,tegra264-xusb
+ then:
+ properties:
+ interrupts:
+ maxItems: 10
+ iommus:
+ minItems: 5
+
unevaluatedProperties: false
examples:
--
2.25.1
next prev parent reply other threads:[~2026-09-03 7:46 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-03 7:45 [PATCH V3 0/3] usb: host: xhci-tegra: Add Tegra264 XHCI support Wayne Chang
2026-09-03 7:45 ` Wayne Chang [this message]
2026-09-03 17:33 ` [PATCH V3 1/3] dt-bindings: usb: Add Tegra264 XUSB host support Conor Dooley
2026-09-03 7:45 ` [PATCH V3 2/3] usb: host: xhci-tegra: Skip MBOX MSG_ENABLED on Tegra264 Wayne Chang
2026-09-03 7:45 ` [PATCH V3 3/3] usb: host: xhci-tegra: Add Tegra264 XHCI support Wayne Chang
2026-09-03 8:05 ` sashiko-bot
2026-09-08 17:01 ` [PATCH V3 0/3] " Jon Hunter
2026-09-28 13:54 ` Jon Hunter
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=20260903074539.613220-2-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-tegra@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=robh@kernel.org \
--cc=thierry.reding@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.