Re: [PATCH 1/9] dt-bindings: reset: Add a binding for the RPi Firmware USB reset

From: Florian Fainelli
Date: Mon Jun 08 2020 - 15:58:22 EST




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