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

title: SMSC USB3503 High-Speed Hub Controller

maintainers:
  - Dongjin Kim <tobetter@gmail.com>

properties:
  compatible:
    enum:
      - smsc,usb3503
      - smsc,usb3503a
      - smsc,usb3803

  reg:
    maxItems: 1

  connect-gpios:
    maxItems: 1
    description: >
      GPIO for connect

  intn-gpios:
    maxItems: 1
    description: >
      GPIO for interrupt

  reset-gpios:
    maxItems: 1
    description: >
      GPIO for reset

  bypass-gpios:
    maxItems: 1
    description: >
      GPIO for bypass.
      Control signal to select between HUB MODE and BYPASS MODE.

  disabled-ports:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 1
    maxItems: 3
    items:
      minimum: 1
      maximum: 3
    description: >
      Specifies the ports unused using their port number. Do not describe this
      property if all ports have to be enabled.

  initial-mode:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: >
      Specifies initial mode. 1 for Hub mode, 2 for standby mode and 3 for bypass mode.
      In bypass mode the downstream port 3 is connected to the upstream port with low
      switch resistance R_on.

  clocks:
    maxItems: 1
    description: >
      Clock used for driving REFCLK signal. If not provided the driver assumes
      that clock signal is always available, its rate is specified by REF_SEL
      pins and a value from the primary reference clock frequencies table is
      used.

  clock-names:
    const: refclk

  refclk-frequency:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: >
      Frequency of the REFCLK signal as defined by REF_SEL pins. If not
      provided, driver will not set rate of the REFCLK signal and assume that a
      value from the primary reference clock frequencies table is used.

required:
  - compatible

allOf:
  - if:
      not:
        properties:
          compatible:
            enum:
              - smsc,usb3803
    then:
      properties:
        bypass-gpios: false

  - if:
      required:
        - bypass-gpios
    then:
      properties:
        initial-mode:
          enum: [1, 2, 3]
    else:
      properties:
        initial-mode:
          enum: [1, 2]

additionalProperties: false

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

        usb-hub@8 {
            compatible = "smsc,usb3503";
            reg = <0x08>;
            connect-gpios = <&gpx3 0 1>;
            disabled-ports = <2 3>;
            intn-gpios = <&gpx3 4 1>;
            reset-gpios = <&gpx3 5 1>;
            initial-mode = <1>;
            clocks = <&clks 80>;
            clock-names = "refclk";
        };
    };

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

        usb-hub@8 {
            compatible = "smsc,usb3803";
            reg = <0x08>;
            connect-gpios = <&gpx3 0 1>;
            disabled-ports = <2 3>;
            intn-gpios = <&gpx3 4 1>;
            reset-gpios = <&gpx3 5 1>;
            bypass-gpios = <&gpx3 6 1>;
            initial-mode = <3>;
            clocks = <&clks 80>;
            clock-names = "refclk";
        };
    };

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

    usb-hub {
        /* I2C is not connected */
        compatible = "smsc,usb3503";
        initial-mode = <1>; /* initialize in HUB mode */
        disabled-ports = <1>;
        intn-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
        reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
        connect-gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
        refclk-frequency = <19200000>;
    };

...
