# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/chipidea,usb2-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: USB2 ChipIdea USB controller Common Properties

maintainers:
  - Xu Yang <xu.yang_2@nxp.com>

properties:
  reg:
    minItems: 1
    maxItems: 2

  interrupts:
    minItems: 1
    maxItems: 2

  clocks:
    minItems: 1
    maxItems: 3

  clock-names:
    minItems: 1
    maxItems: 3

  dr_mode: true

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

  reset-names:
    maxItems: 1

  "#reset-cells":
    const: 1

  phy_type: true

  itc-setting:
    description:
      interrupt threshold control register control, the setting should be
      aligned with ITC bits at register USBCMD.
    $ref: /schemas/types.yaml#/definitions/uint32

  ahb-burst-config:
    description:
      it is vendor dependent, the required value should be aligned with
      AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This property is
      used to change AHB burst configuration, check the chipidea spec for
      meaning of each value. If this property is not existed, it will use
      the reset value.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0x0
    maximum: 0x7

  tx-burst-size-dword:
    description:
      it is vendor dependent, the tx burst size in dword (4 bytes), This
      register represents the maximum length of a the burst in 32-bit
      words while moving data from system memory to the USB bus, the value
      of this property will only take effect if property "ahb-burst-config"
      is set to 0, if this property is missing the reset default of the
      hardware implementation will be used.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0x0
    maximum: 0x20

  rx-burst-size-dword:
    description:
      it is vendor dependent, the rx burst size in dword (4 bytes), This
      register represents the maximum length of a the burst in 32-bit words
      while moving data from the USB bus to system memory, the value of
      this property will only take effect if property "ahb-burst-config"
      is set to 0, if this property is missing the reset default of the
      hardware implementation will be used.
    $ref: /schemas/types.yaml#/definitions/uint32
    minimum: 0x0
    maximum: 0x20

  extcon:
    description:
      Phandles to external connector devices. First phandle should point
      to external connector, which provide "USB" cable events, the second
      should point to external connector device, which provide "USB-HOST"
      cable events. If one of the external connector devices is not
      required, empty <0> phandle should be specified.
    $ref: /schemas/types.yaml#/definitions/phandle-array
    minItems: 1
    items:
      - description: vbus extcon
      - description: id extcon

  phy-clkgate-delay-us:
    description:
      The delay time (us) between putting the PHY into low power mode and
      gating the PHY clock.

  non-zero-ttctrl-ttha:
    description:
      After setting this property, the value of register ttctrl.ttha
      will be 0x7f; if not, the value will be 0x0, this is the default
      value. It needs to be very carefully for setting this property, it
      is recommended that consult with your IC engineer before setting
      this value.  On the most of chipidea platforms, the "usage_tt" flag
      at RTL is 0, so this property only affects siTD.

      If this property is not set, the max packet size is 1023 bytes, and
      if the total of packet size for previous transactions are more than
      256 bytes, it can't accept any transactions within this frame. The
      use case is single transaction, but higher frame rate.

      If this property is set, the max packet size is 188 bytes, it can
      handle more transactions than above case, it can accept transactions
      until it considers the left room size within frame is less than 188
      bytes, software needs to make sure it does not send more than 90%
      maximum_periodic_data_per_frame. The use case is multiple
      transactions, but less frame rate.
    type: boolean

  mux-controls:
    description:
      The mux control for toggling host/device output of this controller.
      It's expected that a mux state of 0 indicates device mode and a mux
      state of 1 indicates host mode.
    maxItems: 1

  mux-control-names:
    const: usb_switch

  pinctrl-names:
    description:
      Names for optional pin modes in "default", "host", "device".
      In case of HSIC-mode, "idle" and "active" pin modes are mandatory.
      In this case, the "idle" state needs to pull down the data and
      strobe pin and the "active" state needs to pull up the strobe pin.
    oneOf:
      - items:
          - const: idle
          - const: active
      - items:
          - const: default
          - const: host
          - const: device
      - items:
          - const: default
          - enum:
              - host
              - device
      - items:
          - const: default

  pinctrl-0:
    maxItems: 1

  pinctrl-1:
    maxItems: 1

  phys:
    maxItems: 1

  phy-names:
    const: usb-phy

  vbus-supply:
    description: reference to the VBUS regulator.

  usb-phy:
    description: phandle for the PHY device. Use "phys" instead.
    maxItems: 1
    deprecated: true

  port:
    description:
      Any connector to the data bus of this controller should be modelled
      using the OF graph bindings specified, if the "usb-role-switch"
      property is used.
    $ref: /schemas/graph.yaml#/properties/port

  reset-gpios:
    maxItems: 1

dependencies:
  port: [ usb-role-switch ]
  mux-controls: [ mux-control-names ]

required:
  - reg
  - interrupts

allOf:
  - $ref: usb-hcd.yaml#
  - $ref: usb-drd.yaml#

additionalProperties: true
