Re: [PATCH v2 1/2] dt-bindings: usb: misc: Add binding for Microchip usb5744 hub

From: Rob Herring
Date: Wed Feb 10 2021 - 17:23:51 EST


On Tue, Feb 09, 2021 at 11:48:09AM +0100, Michal Simek wrote:
> From: Piyush Mehta <piyush.mehta@xxxxxxxxxx>
>
> Added dt binding for usb5744 driver.
>
> Signed-off-by: Piyush Mehta <piyush.mehta@xxxxxxxxxx>
> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
> ---
>
> Changes in v2: None
>
> .../bindings/usb/microchip,usb5744.yaml | 56 +++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 57 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/usb/microchip,usb5744.yaml
>
> diff --git a/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml b/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml
> new file mode 100644
> index 000000000000..fe222f6db81d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/microchip,usb5744.yaml
> @@ -0,0 +1,56 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/usb/microchip,usb5744.yaml#";
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#";
> +
> +title: Bindings for the Microchip USB5744 4-port Hub Controller
> +
> +description:
> + Microchip’s USB5744 SmartHub™ IC is a 4 port, SuperSpeed (SS)/Hi-Speed (HS),
> + low power, low pin count configurable and fully compliant with the USB 3.1
> + Gen 1 specification. The USB5744 also supports Full Speed (FS) and Low Speed
> + (LS) USB signaling, offering complete coverage of all defined USB operating
> + speeds. The new SuperSpeed hubs operate in parallel with the USB 2.0
> + controller, so 5 Gbps SuperSpeed data transfers are not affected by slower
> + USB 2.0 traffic.
> +
> +maintainers:
> + - Piyush Mehta <piyush.mehta@xxxxxxxxxx>
> + - Michal Simek <michal.simek@xxxxxxxxxx>
> +
> +properties:
> + compatible:
> + const: microchip,usb5744
> +
> + reg:
> + maxItems: 1
> + description: |
> + Specifies the i2c slave address, it is required and should be 0x2d
> + if I2C is used.

If I2C is not used, then this should be underneath the USB host as a USB
device. That also implies a different compatible string. I'd suggest you
just say I2C is required if that's your use.

'const: 0x2d' instead of maxItems is the schema to express the address
if fixed.

> +
> + reset-gpios:
> + maxItems: 1
> + description:
> + The phandle and specifier for the GPIO that controls the RESET line of
> + USB hub.
> +
> +required:
> + - compatible
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + usb5744@2d {
> + compatible = "microchip,usb5744";
> + reg = <0x2d>;
> + reset-gpios = <&gpio 44 GPIO_ACTIVE_HIGH>;
> + };
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 41e8d3d7faec..7439471b5d37 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2697,6 +2697,7 @@ W: http://wiki.xilinx.com
> T: git https://github.com/Xilinx/linux-xlnx.git
> F: Documentation/devicetree/bindings/i2c/cdns,i2c-r1p10.yaml
> F: Documentation/devicetree/bindings/i2c/xlnx,xps-iic-2.00.a.yaml
> +F: Documentation/devicetree/bindings/usb/microchip,usb5744.yaml
> F: arch/arm/mach-zynq/
> F: drivers/block/xsysace.c
> F: drivers/clocksource/timer-cadence-ttc.c
> --
> 2.30.0
>