Re: [PATCH v3 1/4] dt-bindings: usb: Add Microchip USB253x/USB3x13/USB46x4 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 27, 2020 at 10:33:30AM +0200, Christian Eggers wrote:
> Add DT bindings for Microchip USB253x/USB3x13/USB46x4 driver.

Looks like a lot copied from usb251xb.txt. Many of these properties need 
to be defined in a common schema. That could be either common to USB 
devices, hubs, or Microchip hubs or some combination of those. 

> 
> Signed-off-by: Christian Eggers <ceggers@xxxxxxx>
> ---
>  .../devicetree/bindings/usb/usb253x.yaml      | 234 ++++++++++++++++++
>  1 file changed, 234 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/usb/usb253x.yaml
> 
> diff --git a/Documentation/devicetree/bindings/usb/usb253x.yaml b/Documentation/devicetree/bindings/usb/usb253x.yaml
> new file mode 100644
> index 000000000000..88ea744147b6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/usb253x.yaml
> @@ -0,0 +1,234 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/usb253x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Microchip USB253x/USB3x13/USB46x4 USB 2.0 Hi-Speed Hub Controller
> +
> +maintainers:
> +  - Christian Eggers <ceggers@xxxxxxx>
> +
> +description: |
> +  http://ww1.microchip.com/downloads/en/AppNotes/00001801C.pdf
> +
> +properties:
> +  compatible:
> +    enum:
> +      - microchip,usb2532
> +      - microchip,usb2532i
> +      - microchip,usb2533
> +      - microchip,usb2533i
> +      - microchip,usb2534
> +      - microchip,usb2534i
> +      - microchip,usb3613
> +      - microchip,usb3613i
> +      - microchip,usb3813
> +      - microchip,usb3813i
> +      - microchip,usb4604
> +      - microchip,usb4604i
> +      - microchip,usb4624
> +      - microchip,usb4624i
> +
> +  reg:
> +    maxItems: 1
> +    description:
> +      I2C address on the selected bus (usually <0x2D>).
> +
> +  reset-gpios:
> +    maxItems: 1
> +    description:
> +      Specify the gpio for hub reset.
> +
> +  vdd-supply:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description:
> +      Specify the regulator supplying vdd.
> +
> +  skip-config:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Skip Hub configuration, but only send the USB-Attach command.
> +
> +  vendor-id:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    maximum: 65535
> +    description:
> +      Set USB Vendor ID of the hub.
> +
> +  product-id:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    maximum: 65535
> +    description:
> +      Set USB Product ID of the hub.
> +
> +  device-id:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    maximum: 65535
> +    description:
> +      Set USB Device ID of the hub.
> +
> +  language-id:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    maximum: 65535
> +    description:
> +      Set USB Language ID.
> +
> +  manufacturer:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description:
> +      Set USB Manufacturer string (max. a total of 93 characters for
> +      manufacturer, product and serial).
> +
> +  product:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description:
> +      Set USB Product string (max. a total of 93 characters for
> +      manufacturer, product and serial).
> +
> +  serial:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description:
> +      Set USB Serial string (max. a total of 93 characters for
> +      manufacturer, product and serial).
> +
> +  bus-powered:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Selects bus powered operation.
> +
> +  self-powered:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Selects self powered operation (default).
> +
> +  disable-hi-speed:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Disable USB Hi-Speed support.
> +
> +  multi-tt:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Selects multi-transaction-translator (default).
> +
> +  single-tt:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Selects single-transaction-translator.
> +
> +  disable-eop:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Disable End of Packet generation in full-speed mode.
> +
> +  ganged-sensing:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Select ganged over-current sense type in self-powered mode.
> +
> +  individual-sensing:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Select individual over-current sense type in self-powered mode (default).
> +
> +  ganged-port-switching:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Select ganged port power switching mode.
> +
> +  individual-port-switching:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Select individual port power switching mode (default).
> +
> +  dynamic-power-switching:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Enable auto-switching from self- to bus-powered operation if the local
> +      power source is removed or unavailable.
> +
> +  oc-delay-us:
> +    enum:
> +      - 100
> +      - 4000
> +      - 8000
> +      - 16000
> +    default: 8000
> +    description:
> +      Delay time (in microseconds) for filtering the over-current sense inputs.
> +      If an invalid value is given, the default is used instead.
> +
> +  compound-device:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Indicate the hub is part of a compound device.
> +
> +  port-mapping-mode:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Enable port mapping mode.
> +
> +  non-removable-ports:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Should specify the ports which have a non-removable device connected.
> +
> +  sp-disabled-ports:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Specifies the ports which will be self-power disabled.
> +
> +  bp-disabled-ports:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Specifies the ports which will be bus-power disabled.
> +
> +  power-on-time-ms:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    default: 100
> +    minimum: 0
> +    maximum: 510
> +    description:
> +      Specifies the time (in milliseconds) it takes from the time the host
> +      initiates the power-on sequence to a port until the port has adequate
> +      power.
> +
> +  hub-controller-port:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Hub port where the internal hub controller shall be connected. Usually
> +      <number of ports>+1.
> +
> +additionalProperties: false
> +
> +required:
> +  - compatible
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    i2c0 {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +
> +      usb2534i@2d {
> +        compatible = "microchip,usb2534i";
> +        reg = <0x2d>;
> +        pinctrl-names = "default";
> +        pinctrl-0 = <&pinctrl_usb_hub>;
> +        /* usb253x.c already assumes low-active, don't negate twice */
> +        reset-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
> +        /*skip-config;*/
> +        /* T_ON,max = 4 ms for NCP380 */
> +        power-on-time-ms = <4>;
> +        manufacturer = "Foo";
> +        product = "Foo-Bar";
> +        /* port 2 is connected to an internal SD-Card reader */
> +        non-removable-ports = <2>;
> +        /* hub controller mapped to logical port 5 */
> +        hub-controller-port = <5>;
> +      };
> +    };
> +
> +...
> -- 
> Christian Eggers
> Embedded software developer
> 
> Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
> Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRA 57918
> Persoenlich haftender Gesellschafter: Arnold & Richter Cine Technik GmbH
> Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRB 54477
> Geschaeftsfuehrer: Dr. Michael Neuhaeuser; Stephan Schenk; Walter Trauninger; Markus Zeiler
> 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux