Populate USB wake events for Tegra234 XUSB host controller.
These wake-up events are optional to maintain backward compatibility and
because the USB controller does not require them for normal operation.
Signed-off-by: Haotien Hsu <haotienh@nvidia.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
---
V1->V2
- Add the Acked-by tag to the commit message.
---
.../bindings/usb/nvidia,tegra234-xusb.yaml | 28 +++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml b/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml
index db761dcbf72a..6365c6647cd7 100644
--- a/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml
+++ b/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml
@@ -32,9 +32,32 @@ properties:
- 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:
@@ -127,8 +150,9 @@ examples:
<0x03650000 0x10000>;
reg-names = "hcd", "fpci", "bar2";
- interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
+ interrupts-extended = <&gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
+ <&gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
+ <&pmc 76 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&bpmp TEGRA234_CLK_XUSB_CORE_HOST>,
<&bpmp TEGRA234_CLK_XUSB_FALCON>,
--
2.34.1
On Fri, Aug 08, 2025 at 02:57:30PM +0800, Haotien Hsu wrote: > Populate USB wake events for Tegra234 XUSB host controller. > These wake-up events are optional to maintain backward compatibility and > because the USB controller does not require them for normal operation. > > Signed-off-by: Haotien Hsu <haotienh@nvidia.com> > Acked-by: Conor Dooley <conor.dooley@microchip.com> > --- > V1->V2 > - Add the Acked-by tag to the commit message. > --- > .../bindings/usb/nvidia,tegra234-xusb.yaml | 28 +++++++++++++++++-- > 1 file changed, 26 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml b/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml > index db761dcbf72a..6365c6647cd7 100644 > --- a/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml > +++ b/Documentation/devicetree/bindings/usb/nvidia,tegra234-xusb.yaml > @@ -32,9 +32,32 @@ properties: > - 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 Wrap lines at <80 chars. > + 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. blank line > + 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 indent lists. > > clocks: > items: > @@ -127,8 +150,9 @@ examples: > <0x03650000 0x10000>; > reg-names = "hcd", "fpci", "bar2"; > > - interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; > + interrupts-extended = <&gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, > + <&gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, > + <&pmc 76 IRQ_TYPE_LEVEL_HIGH>; > > clocks = <&bpmp TEGRA234_CLK_XUSB_CORE_HOST>, > <&bpmp TEGRA234_CLK_XUSB_FALCON>, > -- > 2.34.1 >
© 2016 - 2025 Red Hat, Inc.