Document the Renesas UPD720201/UPD720202 USB 3.0 xHCI Host Controller,
which connects over PCIe and requires specific power supplies to
start up.
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
.../bindings/usb/renesas,upd720201-pci.yaml | 55 ++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml b/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml
new file mode 100644
index 000000000000..df3cdcf44747
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/renesas,upd720201-pci.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: UPD720201/UPD720202 USB 3.0 xHCI Host Controller (PCIe)
+
+maintainers:
+ - Neil Armstrong <neil.armstrong@linaro.org>
+
+description:
+ UPD720201 USB 3.0 xHCI Host Controller via PCIe x1 Gen2 interface.
+ The UPD720202 up to two downstream ports, while UPD720201 supports up to
+ four downstream USB 3.0 rev1.0 ports.
+
+properties:
+ compatible:
+ const: pci1912,0014
+
+ reg:
+ maxItems: 1
+
+ avdd33-supply:
+ description: +3.3 V power supply for analog circuit
+
+ vdd10-supply:
+ description: +1.05 V power supply
+
+ vdd33-supply:
+ description: +3.3 V power supply
+
+required:
+ - compatible
+ - reg
+
+allOf:
+ - $ref: usb-xhci.yaml
+
+additionalProperties: false
+
+examples:
+ - |
+ pcie@0 {
+ reg = <0x0 0x1000>;
+ ranges = <0x02000000 0x0 0x100000 0x10000000 0x0 0x0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ device_type = "pci";
+
+ usb@0 {
+ compatible = "pci1912,0014";
+ reg = <0x0 0x0 0x0 0x0 0x0>;
+ };
+ };
--
2.34.1
Hi Neil,
On Tue, 27 Jan 2026 at 10:57, Neil Armstrong <neil.armstrong@linaro.org> wrote:
> Document the Renesas UPD720201/UPD720202 USB 3.0 xHCI Host Controller,
> which connects over PCIe and requires specific power supplies to
Here: "requires"...
> start up.
>
> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> ---
> .../bindings/usb/renesas,upd720201-pci.yaml | 55 ++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml b/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml
> new file mode 100644
> index 000000000000..df3cdcf44747
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml
> @@ -0,0 +1,55 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/renesas,upd720201-pci.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: UPD720201/UPD720202 USB 3.0 xHCI Host Controller (PCIe)
> +
> +maintainers:
> + - Neil Armstrong <neil.armstrong@linaro.org>
> +
> +description:
> + UPD720201 USB 3.0 xHCI Host Controller via PCIe x1 Gen2 interface.
> + The UPD720202 up to two downstream ports, while UPD720201 supports up to
> + four downstream USB 3.0 rev1.0 ports.
> +
> +properties:
> + compatible:
> + const: pci1912,0014
Just wondering: how does having a new driver
drivers/pci/pwrctrl/pci-pwrctrl-upd720201.c matching against this
compatible play well with normal PCI discovery and probing of
drivers/usb/host/xhci-pci-renesas.c?
> +
> + reg:
> + maxItems: 1
> +
> + avdd33-supply:
> + description: +3.3 V power supply for analog circuit
> +
> + vdd10-supply:
> + description: +1.05 V power supply
> +
> + vdd33-supply:
> + description: +3.3 V power supply
> +
> +required:
> + - compatible
> + - reg
... but no power supplies are listed here? ...
> +
> +allOf:
> + - $ref: usb-xhci.yaml
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + pcie@0 {
> + reg = <0x0 0x1000>;
> + ranges = <0x02000000 0x0 0x100000 0x10000000 0x0 0x0>;
> + #address-cells = <3>;
> + #size-cells = <2>;
> + device_type = "pci";
> +
> + usb@0 {
The actual DTS uses "usb-controller".
> + compatible = "pci1912,0014";
> + reg = <0x0 0x0 0x0 0x0 0x0>;
... also not in the example?
> + };
> + };
>
> --
> 2.34.1
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Hi,
On 1/27/26 11:20, Geert Uytterhoeven wrote:
> Hi Neil,
>
> On Tue, 27 Jan 2026 at 10:57, Neil Armstrong <neil.armstrong@linaro.org> wrote:
>> Document the Renesas UPD720201/UPD720202 USB 3.0 xHCI Host Controller,
>> which connects over PCIe and requires specific power supplies to
>
> Here: "requires"...
Sorry I don't understand
>
>> start up.
>>
>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>> ---
>> .../bindings/usb/renesas,upd720201-pci.yaml | 55 ++++++++++++++++++++++
>> 1 file changed, 55 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml b/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml
>> new file mode 100644
>> index 000000000000..df3cdcf44747
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml
>> @@ -0,0 +1,55 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/usb/renesas,upd720201-pci.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: UPD720201/UPD720202 USB 3.0 xHCI Host Controller (PCIe)
>> +
>> +maintainers:
>> + - Neil Armstrong <neil.armstrong@linaro.org>
>> +
>> +description:
>> + UPD720201 USB 3.0 xHCI Host Controller via PCIe x1 Gen2 interface.
>> + The UPD720202 up to two downstream ports, while UPD720201 supports up to
>> + four downstream USB 3.0 rev1.0 ports.
>> +
>> +properties:
>> + compatible:
>> + const: pci1912,0014
>
> Just wondering: how does having a new driver
> drivers/pci/pwrctrl/pci-pwrctrl-upd720201.c matching against this
> compatible play well with normal PCI discovery and probing of
> drivers/usb/host/xhci-pci-renesas.c?
In Linux, power control is implemented as a platform device driver,
so it doesn't collide with the pci driver.
The pci driver won't probe until the device shows up on the bus anyway,
so he power control will attach as platform for this purpose.
>
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + avdd33-supply:
>> + description: +3.3 V power supply for analog circuit
>> +
>> + vdd10-supply:
>> + description: +1.05 V power supply
>> +
>> + vdd33-supply:
>> + description: +3.3 V power supply
>> +
>> +required:
>> + - compatible
>> + - reg
>
> ... but no power supplies are listed here? ...
None are stricly required, they can be supplied directly without
a passive regulator. Not sure they should be required
>
>> +
>> +allOf:
>> + - $ref: usb-xhci.yaml
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + pcie@0 {
>> + reg = <0x0 0x1000>;
>> + ranges = <0x02000000 0x0 0x100000 0x10000000 0x0 0x0>;
>> + #address-cells = <3>;
>> + #size-cells = <2>;
>> + device_type = "pci";
>> +
>> + usb@0 {
>
> The actual DTS uses "usb-controller".
>
>> + compatible = "pci1912,0014";
>> + reg = <0x0 0x0 0x0 0x0 0x0>;
>
> ... also not in the example?
>
>> + };
>> + };
>>
>> --
>> 2.34.1
>
> Gr{oetje,eeting}s,
>
> Geert
>
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
Thanks,
Neil
Hi Neil,
On Tue, 27 Jan 2026 at 14:55, Neil Armstrong <neil.armstrong@linaro.org> wrote:
> On 1/27/26 11:20, Geert Uytterhoeven wrote:
> > On Tue, 27 Jan 2026 at 10:57, Neil Armstrong <neil.armstrong@linaro.org> wrote:
> >> Document the Renesas UPD720201/UPD720202 USB 3.0 xHCI Host Controller,
> >> which connects over PCIe and requires specific power supplies to
> >
> > Here: "requires"...
>
> Sorry I don't understand
Please read below the continuations ("...") below...
>
> >
> >> start up.
> >>
> >> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml
> >> @@ -0,0 +1,55 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/usb/renesas,upd720201-pci.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: UPD720201/UPD720202 USB 3.0 xHCI Host Controller (PCIe)
> >> +
> >> +maintainers:
> >> + - Neil Armstrong <neil.armstrong@linaro.org>
> >> +
> >> +description:
> >> + UPD720201 USB 3.0 xHCI Host Controller via PCIe x1 Gen2 interface.
> >> + The UPD720202 up to two downstream ports, while UPD720201 supports up to
> >> + four downstream USB 3.0 rev1.0 ports.
> >> +
> >> +properties:
> >> + compatible:
> >> + const: pci1912,0014
> >
> > Just wondering: how does having a new driver
> > drivers/pci/pwrctrl/pci-pwrctrl-upd720201.c matching against this
> > compatible play well with normal PCI discovery and probing of
> > drivers/usb/host/xhci-pci-renesas.c?
>
> In Linux, power control is implemented as a platform device driver,
> so it doesn't collide with the pci driver.
>
> The pci driver won't probe until the device shows up on the bus anyway,
> so he power control will attach as platform for this purpose.
OK.
> >> + avdd33-supply:
> >> + description: +3.3 V power supply for analog circuit
> >> +
> >> + vdd10-supply:
> >> + description: +1.05 V power supply
> >> +
> >> + vdd33-supply:
> >> + description: +3.3 V power supply
> >> +
> >> +required:
> >> + - compatible
> >> + - reg
> >
> > ... but no power supplies are listed here? ...
>
> None are stricly required, they can be supplied directly without
> a passive regulator. Not sure they should be required
So the goal of this binding is to document the required power supplies
which are not required? I am confused (but that could just be me ;-)...
> >> +examples:
> >> + - |
> >> + pcie@0 {
> >> + reg = <0x0 0x1000>;
> >> + ranges = <0x02000000 0x0 0x100000 0x10000000 0x0 0x0>;
> >> + #address-cells = <3>;
> >> + #size-cells = <2>;
> >> + device_type = "pci";
> >> +
> >> + usb@0 {
> >
> > The actual DTS uses "usb-controller".
> >
> >> + compatible = "pci1912,0014";
> >> + reg = <0x0 0x0 0x0 0x0 0x0>;
> >
> > ... also not in the example?
> >
> >> + };
> >> + };
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
On 1/27/26 15:02, Geert Uytterhoeven wrote:
> Hi Neil,
>
> On Tue, 27 Jan 2026 at 14:55, Neil Armstrong <neil.armstrong@linaro.org> wrote:
>> On 1/27/26 11:20, Geert Uytterhoeven wrote:
>>> On Tue, 27 Jan 2026 at 10:57, Neil Armstrong <neil.armstrong@linaro.org> wrote:
>>>> Document the Renesas UPD720201/UPD720202 USB 3.0 xHCI Host Controller,
>>>> which connects over PCIe and requires specific power supplies to
>>>
>>> Here: "requires"...
>>
>> Sorry I don't understand
>
> Please read below the continuations ("...") below...
Well electronically the IC requires those voltages
>
>>
>>>
>>>> start up.
>>>>
>>>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/usb/renesas,upd720201-pci.yaml
>>>> @@ -0,0 +1,55 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/usb/renesas,upd720201-pci.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: UPD720201/UPD720202 USB 3.0 xHCI Host Controller (PCIe)
>>>> +
>>>> +maintainers:
>>>> + - Neil Armstrong <neil.armstrong@linaro.org>
>>>> +
>>>> +description:
>>>> + UPD720201 USB 3.0 xHCI Host Controller via PCIe x1 Gen2 interface.
>>>> + The UPD720202 up to two downstream ports, while UPD720201 supports up to
>>>> + four downstream USB 3.0 rev1.0 ports.
>>>> +
>>>> +properties:
>>>> + compatible:
>>>> + const: pci1912,0014
>>>
>>> Just wondering: how does having a new driver
>>> drivers/pci/pwrctrl/pci-pwrctrl-upd720201.c matching against this
>>> compatible play well with normal PCI discovery and probing of
>>> drivers/usb/host/xhci-pci-renesas.c?
>>
>> In Linux, power control is implemented as a platform device driver,
>> so it doesn't collide with the pci driver.
>>
>> The pci driver won't probe until the device shows up on the bus anyway,
>> so he power control will attach as platform for this purpose.
>
> OK.
>
>>>> + avdd33-supply:
>>>> + description: +3.3 V power supply for analog circuit
>>>> +
>>>> + vdd10-supply:
>>>> + description: +1.05 V power supply
>>>> +
>>>> + vdd33-supply:
>>>> + description: +3.3 V power supply
>>>> +
>>>> +required:
>>>> + - compatible
>>>> + - reg
>>>
>>> ... but no power supplies are listed here? ...
>>
>> None are stricly required, they can be supplied directly without
>> a passive regulator. Not sure they should be required
>
> So the goal of this binding is to document the required power supplies
> which are not required? I am confused (but that could just be me ;-)...
but you're right, I'll mark them required...
>
>>>> +examples:
>>>> + - |
>>>> + pcie@0 {
>>>> + reg = <0x0 0x1000>;
>>>> + ranges = <0x02000000 0x0 0x100000 0x10000000 0x0 0x0>;
>>>> + #address-cells = <3>;
>>>> + #size-cells = <2>;
>>>> + device_type = "pci";
>>>> +
>>>> + usb@0 {
>>>
>>> The actual DTS uses "usb-controller".
>>>
>>>> + compatible = "pci1912,0014";
>>>> + reg = <0x0 0x0 0x0 0x0 0x0>;
>>>
>>> ... also not in the example?
... and add them to example.
>>>
>>>> + };
>>>> + };
>
> Gr{oetje,eeting}s,
>
> Geert
>
Thanks,
Neil
© 2016 - 2026 Red Hat, Inc.