On 6/8/2020 12:26 PM, Nicolas Saenz Julienne wrote: > The firmware running on the RPi VideoCore can be used to reset and > initialize the board's xHCI controller. The reset controller is passed > to the PCI device through the DT, hence this binding. > > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@xxxxxxx> > --- > .../arm/bcm/raspberrypi,bcm2835-firmware.yaml | 21 +++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml > index b48ed875eb8e..8f9d0986c28f 100644 > --- a/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml > +++ b/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.yaml > @@ -39,6 +39,22 @@ properties: > - compatible > - "#clock-cells" > > + usb-reset: > + type: object > + > + properties: > + compatible: > + const: raspberrypi,firmware-usb-reset I would make this less USB centric, even if this is the only consumer of the reset controller for now, there could, in premise be other blocks that require a reset (e.g.: V3D) that would involve going to the VPU firmware because of various requirements (security, register blocking etc.). > + > + "#clock-cells": Did not you mean #reset-cells here? > + const: 0 > + description: > > + There is only one reset line available, so no need for cell decoding. > + > + required: > + - compatible > + - "#reset-cells" > + > additionalProperties: false > > required: > @@ -55,5 +71,10 @@ examples: > compatible = "raspberrypi,firmware-clocks"; > #clock-cells = <1>; > }; > + > + usb_reset: usb-reset { > + compatible = "raspberrypi,firmware-usb-reset"; > + #reset-cells = <0>; > + }; > }; > ... > -- Florian