# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/usb251xb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip USB 2.0 Hi-Speed Hub Controller

maintainers:
  - Richard Leitner <richard.leitner@skidata.com>

properties:
  compatible:
    enum:
      - microchip,usb2422
      - microchip,usb2512b
      - microchip,usb2512bi
      - microchip,usb2513b
      - microchip,usb2513bi
      - microchip,usb2514b
      - microchip,usb2514bi
      - microchip,usb2517
      - microchip,usb2517i
      - microchip,usb251xb

  reg:
    maxItems: 1

  reset-gpios:
    description: |
      Should specify the gpio for hub reset

  vdd-supply:
    description: |
      Should specify the phandle to 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/uint16
    default: 0x0424
    description: |
      Set USB Vendor ID of the hub

  product-id:
    $ref: /schemas/types.yaml#/definitions/uint16
    description: |
      Set USB Product ID of the hub

  device-id:
    $ref: /schemas/types.yaml#/definitions/uint16
    default: 0x0bb3
    description: |
      Set USB Device ID of the hub

  language-id:
    $ref: /schemas/types.yaml#/definitions/uint16
    default: 0x0000
    description: |
      Set USB Language ID

  manufacturer:
    $ref: /schemas/types.yaml#/definitions/string
    description: |
      Set USB Manufacturer string (max 31 characters long)

  product:
    $ref: /schemas/types.yaml#/definitions/string
    description: |
      Set USB Product string (max 31 characters long)

  serial:
    $ref: /schemas/types.yaml#/definitions/string
    description: |
      Set USB Serial string (max 31 characters long)

  bus-powered:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      selects between self- and bus-powered operation
      (boolean, default is self-powered)

  self-powered:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      selects between self- and bus-powered operation
      (boolean, default is self-powered)

  disable-hi-speed:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      disable USB Hi-Speed support (boolean)

  multi-tt:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      selects between multi- and single-transaction-translator
      (boolean, default is multi-tt)

  single-tt:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      selects between multi- and single-transaction-translator
      (boolean, default is multi-tt)

  disable-eop:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      disable End of Packet generation in full-speed mode (boolean)

  ganged-sensing:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      select over-current sense type in self-powered mode
      (boolean, default is individual)

  individual-sensing:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      select over-current sense type in self-powered mode
      (boolean, default is individual)

  ganged-port-switching:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      select port power switching mode (boolean, default is individual)

  individual-port-switching:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      select port power switching mode (boolean, default is individual)

  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 (boolean)

  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 (boolean)

  port-mapping-mode:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      enable port mapping mode (boolean)

  led-usb-mode:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      led usb/speed indication mode selection (boolean, default is speed mode)

  led-speed-mode:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      led usb/speed indication mode selection (boolean, default is speed mode)

  string-support:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      enable string descriptor support (required for manufacturer, product
      and serial string configuration)

  non-removable-ports:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description: |
      Should specify the ports which have a non-removable device connected.

  sp-disabled-ports:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description: |
      Specifies the ports which will be self-power disabled

  bp-disabled-ports:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description: |
      Specifies the ports which will be bus-power disabled

  sp-max-total-current-microamp:
    maximum: 100000
    default: 1000
    description: |
      Specifies max current consumed by the hub from VBUS when
      operating in self-powered hub. It includes the hub silicon
      along with all associated circuitry including a permanently
      attached peripheral.

  bp-max-total-current-microamp:
    maximum: 510000
    default: 100000
    description: |
      Specifies max current consumed by the hub from VBUS when
      operating in self-powered hub. It includes the hub silicon
      along with all associated circuitry including a permanently
      attached peripheral.

  sp-max-removable-current-microamp:
    maximum: 100000
    default: 1000
    description: |
      Specifies max current consumed by the hub from VBUS when
      operating in self-powered hub. It includes the hub silicon
      along with all associated circuitry excluding a permanently
      attached peripheral.

  bp-max-removable-current-microamp:
    maximum: 510000
    default: 100000
    description: |
      Specifies max current consumed by the hub from VBUS when
      operating in self-powered hub. It includes the hub silicon
      along with all associated circuitry excluding a permanently
      attached peripheral.

  power-on-time-ms:
    maximum: 510
    default: 100
    description: |
      Specifies the time it takes from the time the host initiates the
      power-on sequence to a port until the port has adequate power.

  swap-dx-lanes:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description: |
      Specifies the ports which will swap the differential-pair (D+/D-),
      default is not-swapped.

additionalProperties: false

required:
  - compatible
  - reg

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      usb-hub@2c {
        compatible = "microchip,usb2512b";
        reg = <0x2c>;
        reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
      };

      usb-hub@2d {
        compatible = "microchip,usb2514b";
        reg = <0x2d>;
        vendor-id = /bits/ 16 <0x0000>;
        product-id = /bits/ 16 <0x0000>;
        string-support;
        manufacturer = "Foo";
        product = "Foo-Bar";
        serial = "1234567890A";
        /* correct misplaced usb connectors on port 1,2 */
        swap-dx-lanes = <1 2>;
      };
    };
