162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/usb/ci-hdrc-usb2.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: USB2 ChipIdea USB controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Xu Yang <xu.yang_2@nxp.com>
1162306a36Sopenharmony_ci  - Peng Fan <peng.fan@nxp.com>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciproperties:
1462306a36Sopenharmony_ci  compatible:
1562306a36Sopenharmony_ci    oneOf:
1662306a36Sopenharmony_ci      - enum:
1762306a36Sopenharmony_ci          - chipidea,usb2
1862306a36Sopenharmony_ci          - lsi,zevio-usb
1962306a36Sopenharmony_ci          - nvidia,tegra20-ehci
2062306a36Sopenharmony_ci          - nvidia,tegra20-udc
2162306a36Sopenharmony_ci          - nvidia,tegra30-ehci
2262306a36Sopenharmony_ci          - nvidia,tegra30-udc
2362306a36Sopenharmony_ci          - nvidia,tegra114-udc
2462306a36Sopenharmony_ci          - nvidia,tegra124-udc
2562306a36Sopenharmony_ci          - qcom,ci-hdrc
2662306a36Sopenharmony_ci      - items:
2762306a36Sopenharmony_ci          - enum:
2862306a36Sopenharmony_ci              - nvidia,tegra114-ehci
2962306a36Sopenharmony_ci              - nvidia,tegra124-ehci
3062306a36Sopenharmony_ci              - nvidia,tegra210-ehci
3162306a36Sopenharmony_ci          - const: nvidia,tegra30-ehci
3262306a36Sopenharmony_ci      - items:
3362306a36Sopenharmony_ci          - enum:
3462306a36Sopenharmony_ci              - fsl,imx23-usb
3562306a36Sopenharmony_ci              - fsl,imx25-usb
3662306a36Sopenharmony_ci              - fsl,imx28-usb
3762306a36Sopenharmony_ci              - fsl,imx35-usb
3862306a36Sopenharmony_ci              - fsl,imx50-usb
3962306a36Sopenharmony_ci              - fsl,imx51-usb
4062306a36Sopenharmony_ci              - fsl,imx53-usb
4162306a36Sopenharmony_ci              - fsl,imx6q-usb
4262306a36Sopenharmony_ci              - fsl,imx6sl-usb
4362306a36Sopenharmony_ci              - fsl,imx6sx-usb
4462306a36Sopenharmony_ci              - fsl,imx6ul-usb
4562306a36Sopenharmony_ci              - fsl,imx7d-usb
4662306a36Sopenharmony_ci              - fsl,vf610-usb
4762306a36Sopenharmony_ci          - const: fsl,imx27-usb
4862306a36Sopenharmony_ci      - items:
4962306a36Sopenharmony_ci          - enum:
5062306a36Sopenharmony_ci              - fsl,imx8dxl-usb
5162306a36Sopenharmony_ci              - fsl,imx8ulp-usb
5262306a36Sopenharmony_ci          - const: fsl,imx7ulp-usb
5362306a36Sopenharmony_ci          - const: fsl,imx6ul-usb
5462306a36Sopenharmony_ci      - items:
5562306a36Sopenharmony_ci          - enum:
5662306a36Sopenharmony_ci              - fsl,imx8mm-usb
5762306a36Sopenharmony_ci              - fsl,imx8mn-usb
5862306a36Sopenharmony_ci          - const: fsl,imx7d-usb
5962306a36Sopenharmony_ci          - const: fsl,imx27-usb
6062306a36Sopenharmony_ci      - items:
6162306a36Sopenharmony_ci          - enum:
6262306a36Sopenharmony_ci              - fsl,imx6sll-usb
6362306a36Sopenharmony_ci              - fsl,imx7ulp-usb
6462306a36Sopenharmony_ci          - const: fsl,imx6ul-usb
6562306a36Sopenharmony_ci          - const: fsl,imx27-usb
6662306a36Sopenharmony_ci      - items:
6762306a36Sopenharmony_ci          - const: xlnx,zynq-usb-2.20a
6862306a36Sopenharmony_ci          - const: chipidea,usb2
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci  reg:
7162306a36Sopenharmony_ci    minItems: 1
7262306a36Sopenharmony_ci    maxItems: 2
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci  interrupts:
7562306a36Sopenharmony_ci    minItems: 1
7662306a36Sopenharmony_ci    maxItems: 2
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci  clocks:
7962306a36Sopenharmony_ci    minItems: 1
8062306a36Sopenharmony_ci    maxItems: 3
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci  clock-names:
8362306a36Sopenharmony_ci    minItems: 1
8462306a36Sopenharmony_ci    maxItems: 3
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci  dr_mode: true
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci  power-domains:
8962306a36Sopenharmony_ci    maxItems: 1
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci  resets:
9262306a36Sopenharmony_ci    maxItems: 1
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci  reset-names:
9562306a36Sopenharmony_ci    maxItems: 1
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci  "#reset-cells":
9862306a36Sopenharmony_ci    const: 1
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci  phy_type: true
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci  itc-setting:
10362306a36Sopenharmony_ci    description:
10462306a36Sopenharmony_ci      interrupt threshold control register control, the setting should be
10562306a36Sopenharmony_ci      aligned with ITC bits at register USBCMD.
10662306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci  ahb-burst-config:
10962306a36Sopenharmony_ci    description:
11062306a36Sopenharmony_ci      it is vendor dependent, the required value should be aligned with
11162306a36Sopenharmony_ci      AHBBRST at SBUSCFG, the range is from 0x0 to 0x7. This property is
11262306a36Sopenharmony_ci      used to change AHB burst configuration, check the chipidea spec for
11362306a36Sopenharmony_ci      meaning of each value. If this property is not existed, it will use
11462306a36Sopenharmony_ci      the reset value.
11562306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
11662306a36Sopenharmony_ci    minimum: 0x0
11762306a36Sopenharmony_ci    maximum: 0x7
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci  tx-burst-size-dword:
12062306a36Sopenharmony_ci    description:
12162306a36Sopenharmony_ci      it is vendor dependent, the tx burst size in dword (4 bytes), This
12262306a36Sopenharmony_ci      register represents the maximum length of a the burst in 32-bit
12362306a36Sopenharmony_ci      words while moving data from system memory to the USB bus, the value
12462306a36Sopenharmony_ci      of this property will only take effect if property "ahb-burst-config"
12562306a36Sopenharmony_ci      is set to 0, if this property is missing the reset default of the
12662306a36Sopenharmony_ci      hardware implementation will be used.
12762306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
12862306a36Sopenharmony_ci    minimum: 0x0
12962306a36Sopenharmony_ci    maximum: 0x20
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci  rx-burst-size-dword:
13262306a36Sopenharmony_ci    description:
13362306a36Sopenharmony_ci      it is vendor dependent, the rx burst size in dword (4 bytes), This
13462306a36Sopenharmony_ci      register represents the maximum length of a the burst in 32-bit words
13562306a36Sopenharmony_ci      while moving data from the USB bus to system memory, the value of
13662306a36Sopenharmony_ci      this property will only take effect if property "ahb-burst-config"
13762306a36Sopenharmony_ci      is set to 0, if this property is missing the reset default of the
13862306a36Sopenharmony_ci      hardware implementation will be used.
13962306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
14062306a36Sopenharmony_ci    minimum: 0x0
14162306a36Sopenharmony_ci    maximum: 0x20
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci  extcon:
14462306a36Sopenharmony_ci    description:
14562306a36Sopenharmony_ci      Phandles to external connector devices. First phandle should point
14662306a36Sopenharmony_ci      to external connector, which provide "USB" cable events, the second
14762306a36Sopenharmony_ci      should point to external connector device, which provide "USB-HOST"
14862306a36Sopenharmony_ci      cable events. If one of the external connector devices is not
14962306a36Sopenharmony_ci      required, empty <0> phandle should be specified.
15062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle-array
15162306a36Sopenharmony_ci    minItems: 1
15262306a36Sopenharmony_ci    items:
15362306a36Sopenharmony_ci      - description: vbus extcon
15462306a36Sopenharmony_ci      - description: id extcon
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci  phy-clkgate-delay-us:
15762306a36Sopenharmony_ci    description:
15862306a36Sopenharmony_ci      The delay time (us) between putting the PHY into low power mode and
15962306a36Sopenharmony_ci      gating the PHY clock.
16062306a36Sopenharmony_ci
16162306a36Sopenharmony_ci  non-zero-ttctrl-ttha:
16262306a36Sopenharmony_ci    description:
16362306a36Sopenharmony_ci      After setting this property, the value of register ttctrl.ttha
16462306a36Sopenharmony_ci      will be 0x7f; if not, the value will be 0x0, this is the default
16562306a36Sopenharmony_ci      value. It needs to be very carefully for setting this property, it
16662306a36Sopenharmony_ci      is recommended that consult with your IC engineer before setting
16762306a36Sopenharmony_ci      this value.  On the most of chipidea platforms, the "usage_tt" flag
16862306a36Sopenharmony_ci      at RTL is 0, so this property only affects siTD.
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci      If this property is not set, the max packet size is 1023 bytes, and
17162306a36Sopenharmony_ci      if the total of packet size for previous transactions are more than
17262306a36Sopenharmony_ci      256 bytes, it can't accept any transactions within this frame. The
17362306a36Sopenharmony_ci      use case is single transaction, but higher frame rate.
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci      If this property is set, the max packet size is 188 bytes, it can
17662306a36Sopenharmony_ci      handle more transactions than above case, it can accept transactions
17762306a36Sopenharmony_ci      until it considers the left room size within frame is less than 188
17862306a36Sopenharmony_ci      bytes, software needs to make sure it does not send more than 90%
17962306a36Sopenharmony_ci      maximum_periodic_data_per_frame. The use case is multiple
18062306a36Sopenharmony_ci      transactions, but less frame rate.
18162306a36Sopenharmony_ci    type: boolean
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci  mux-controls:
18462306a36Sopenharmony_ci    description:
18562306a36Sopenharmony_ci      The mux control for toggling host/device output of this controller.
18662306a36Sopenharmony_ci      It's expected that a mux state of 0 indicates device mode and a mux
18762306a36Sopenharmony_ci      state of 1 indicates host mode.
18862306a36Sopenharmony_ci    maxItems: 1
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci  mux-control-names:
19162306a36Sopenharmony_ci    const: usb_switch
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci  operating-points-v2:
19462306a36Sopenharmony_ci    description: A phandle to the OPP table containing the performance states.
19562306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci  pinctrl-names:
19862306a36Sopenharmony_ci    description:
19962306a36Sopenharmony_ci      Names for optional pin modes in "default", "host", "device".
20062306a36Sopenharmony_ci      In case of HSIC-mode, "idle" and "active" pin modes are mandatory.
20162306a36Sopenharmony_ci      In this case, the "idle" state needs to pull down the data and
20262306a36Sopenharmony_ci      strobe pin and the "active" state needs to pull up the strobe pin.
20362306a36Sopenharmony_ci    oneOf:
20462306a36Sopenharmony_ci      - items:
20562306a36Sopenharmony_ci          - const: idle
20662306a36Sopenharmony_ci          - const: active
20762306a36Sopenharmony_ci      - items:
20862306a36Sopenharmony_ci          - const: default
20962306a36Sopenharmony_ci          - enum:
21062306a36Sopenharmony_ci              - host
21162306a36Sopenharmony_ci              - device
21262306a36Sopenharmony_ci      - items:
21362306a36Sopenharmony_ci          - const: default
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci  pinctrl-0:
21662306a36Sopenharmony_ci    maxItems: 1
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci  pinctrl-1:
21962306a36Sopenharmony_ci    maxItems: 1
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci  phys:
22262306a36Sopenharmony_ci    maxItems: 1
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ci  phy-names:
22562306a36Sopenharmony_ci    const: usb-phy
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci  phy-select:
22862306a36Sopenharmony_ci    description:
22962306a36Sopenharmony_ci      Phandler of TCSR node with two argument that indicate register
23062306a36Sopenharmony_ci      offset, and phy index
23162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle-array
23262306a36Sopenharmony_ci    items:
23362306a36Sopenharmony_ci      - description: phandle to TCSR node
23462306a36Sopenharmony_ci      - description: register offset
23562306a36Sopenharmony_ci      - description: phy index
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_ci  vbus-supply:
23862306a36Sopenharmony_ci    description: reference to the VBUS regulator.
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ci  fsl,usbmisc:
24162306a36Sopenharmony_ci    description:
24262306a36Sopenharmony_ci      Phandler of non-core register device, with one argument that
24362306a36Sopenharmony_ci      indicate usb controller index
24462306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle-array
24562306a36Sopenharmony_ci    items:
24662306a36Sopenharmony_ci      - items:
24762306a36Sopenharmony_ci          - description: phandle to usbmisc node
24862306a36Sopenharmony_ci          - description: index of usb controller
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci  fsl,anatop:
25162306a36Sopenharmony_ci    description: phandle for the anatop node.
25262306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci  disable-over-current:
25562306a36Sopenharmony_ci    type: boolean
25662306a36Sopenharmony_ci    description: disable over current detect
25762306a36Sopenharmony_ci
25862306a36Sopenharmony_ci  over-current-active-low:
25962306a36Sopenharmony_ci    type: boolean
26062306a36Sopenharmony_ci    description: over current signal polarity is active low
26162306a36Sopenharmony_ci
26262306a36Sopenharmony_ci  over-current-active-high:
26362306a36Sopenharmony_ci    type: boolean
26462306a36Sopenharmony_ci    description:
26562306a36Sopenharmony_ci      Over current signal polarity is active high. It's recommended to
26662306a36Sopenharmony_ci      specify the over current polarity.
26762306a36Sopenharmony_ci
26862306a36Sopenharmony_ci  power-active-high:
26962306a36Sopenharmony_ci    type: boolean
27062306a36Sopenharmony_ci    description: power signal polarity is active high
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci  external-vbus-divider:
27362306a36Sopenharmony_ci    type: boolean
27462306a36Sopenharmony_ci    description: enables off-chip resistor divider for Vbus
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ci  samsung,picophy-pre-emp-curr-control:
27762306a36Sopenharmony_ci    description:
27862306a36Sopenharmony_ci      HS Transmitter Pre-Emphasis Current Control. This signal controls
27962306a36Sopenharmony_ci      the amount of current sourced to the USB_OTG*_DP and USB_OTG*_DN
28062306a36Sopenharmony_ci      pins after a J-to-K or K-to-J transition. The range is from 0x0 to
28162306a36Sopenharmony_ci      0x3, the default value is 0x1. Details can refer to TXPREEMPAMPTUNE0
28262306a36Sopenharmony_ci      bits of USBNC_n_PHY_CFG1.
28362306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
28462306a36Sopenharmony_ci    minimum: 0x0
28562306a36Sopenharmony_ci    maximum: 0x3
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_ci  samsung,picophy-dc-vol-level-adjust:
28862306a36Sopenharmony_ci    description:
28962306a36Sopenharmony_ci      HS DC Voltage Level Adjustment. Adjust the high-speed transmitter DC
29062306a36Sopenharmony_ci      level voltage. The range is from 0x0 to 0xf, the default value is
29162306a36Sopenharmony_ci      0x3. Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1.
29262306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
29362306a36Sopenharmony_ci    minimum: 0x0
29462306a36Sopenharmony_ci    maximum: 0xf
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci  fsl,picophy-rise-fall-time-adjust:
29762306a36Sopenharmony_ci    description:
29862306a36Sopenharmony_ci      HS Transmitter Rise/Fall Time Adjustment. Adjust the rise/fall times
29962306a36Sopenharmony_ci      of the high-speed transmitter waveform. It has no unit. The rise/fall
30062306a36Sopenharmony_ci      time will be increased or decreased by a certain percentage relative
30162306a36Sopenharmony_ci      to design default time. (0:-10%; 1:design default; 2:+15%; 3:+20%)
30262306a36Sopenharmony_ci      Details can refer to TXRISETUNE0 bit of USBNC_n_PHY_CFG1.
30362306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
30462306a36Sopenharmony_ci    minimum: 0
30562306a36Sopenharmony_ci    maximum: 3
30662306a36Sopenharmony_ci    default: 1
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ci  usb-phy:
30962306a36Sopenharmony_ci    description: phandle for the PHY device. Use "phys" instead.
31062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
31162306a36Sopenharmony_ci    deprecated: true
31262306a36Sopenharmony_ci
31362306a36Sopenharmony_ci  fsl,usbphy:
31462306a36Sopenharmony_ci    description: phandle of usb phy that connects to the port. Use "phys" instead.
31562306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
31662306a36Sopenharmony_ci    deprecated: true
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ci  nvidia,phy:
31962306a36Sopenharmony_ci    description: phandle of usb phy that connects to the port. Use "phys" instead.
32062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
32162306a36Sopenharmony_ci    deprecated: true
32262306a36Sopenharmony_ci
32362306a36Sopenharmony_ci  nvidia,needs-double-reset:
32462306a36Sopenharmony_ci    description: Indicates double reset or not.
32562306a36Sopenharmony_ci    type: boolean
32662306a36Sopenharmony_ci    deprecated: true
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_ci  port:
32962306a36Sopenharmony_ci    description:
33062306a36Sopenharmony_ci      Any connector to the data bus of this controller should be modelled
33162306a36Sopenharmony_ci      using the OF graph bindings specified, if the "usb-role-switch"
33262306a36Sopenharmony_ci      property is used.
33362306a36Sopenharmony_ci    $ref: /schemas/graph.yaml#/properties/port
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_ci  reset-gpios:
33662306a36Sopenharmony_ci    maxItems: 1
33762306a36Sopenharmony_ci
33862306a36Sopenharmony_ci  ulpi:
33962306a36Sopenharmony_ci    type: object
34062306a36Sopenharmony_ci    additionalProperties: false
34162306a36Sopenharmony_ci    patternProperties:
34262306a36Sopenharmony_ci      "^phy(-[0-9])?$":
34362306a36Sopenharmony_ci        description: The phy child node for Qcom chips.
34462306a36Sopenharmony_ci        type: object
34562306a36Sopenharmony_ci        $ref: /schemas/phy/qcom,usb-hs-phy.yaml
34662306a36Sopenharmony_ci
34762306a36Sopenharmony_cidependencies:
34862306a36Sopenharmony_ci  port: [ usb-role-switch ]
34962306a36Sopenharmony_ci  mux-controls: [ mux-control-names ]
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_cirequired:
35262306a36Sopenharmony_ci  - compatible
35362306a36Sopenharmony_ci  - reg
35462306a36Sopenharmony_ci  - interrupts
35562306a36Sopenharmony_ci
35662306a36Sopenharmony_ciallOf:
35762306a36Sopenharmony_ci  - $ref: usb-hcd.yaml#
35862306a36Sopenharmony_ci  - $ref: usb-drd.yaml#
35962306a36Sopenharmony_ci  - if:
36062306a36Sopenharmony_ci      properties:
36162306a36Sopenharmony_ci        phy_type:
36262306a36Sopenharmony_ci          const: hsic
36362306a36Sopenharmony_ci      required:
36462306a36Sopenharmony_ci        - phy_type
36562306a36Sopenharmony_ci    then:
36662306a36Sopenharmony_ci      properties:
36762306a36Sopenharmony_ci        pinctrl-names:
36862306a36Sopenharmony_ci          items:
36962306a36Sopenharmony_ci            - const: idle
37062306a36Sopenharmony_ci            - const: active
37162306a36Sopenharmony_ci    else:
37262306a36Sopenharmony_ci      properties:
37362306a36Sopenharmony_ci        pinctrl-names:
37462306a36Sopenharmony_ci          minItems: 1
37562306a36Sopenharmony_ci          maxItems: 2
37662306a36Sopenharmony_ci          oneOf:
37762306a36Sopenharmony_ci            - items:
37862306a36Sopenharmony_ci                - const: default
37962306a36Sopenharmony_ci                - enum:
38062306a36Sopenharmony_ci                    - host
38162306a36Sopenharmony_ci                    - device
38262306a36Sopenharmony_ci            - items:
38362306a36Sopenharmony_ci                - const: default
38462306a36Sopenharmony_ci  - if:
38562306a36Sopenharmony_ci      properties:
38662306a36Sopenharmony_ci        compatible:
38762306a36Sopenharmony_ci          contains:
38862306a36Sopenharmony_ci            enum:
38962306a36Sopenharmony_ci              - chipidea,usb2
39062306a36Sopenharmony_ci              - lsi,zevio-usb
39162306a36Sopenharmony_ci              - nvidia,tegra20-udc
39262306a36Sopenharmony_ci              - nvidia,tegra30-udc
39362306a36Sopenharmony_ci              - nvidia,tegra114-udc
39462306a36Sopenharmony_ci              - nvidia,tegra124-udc
39562306a36Sopenharmony_ci              - qcom,ci-hdrc
39662306a36Sopenharmony_ci              - xlnx,zynq-usb-2.20a
39762306a36Sopenharmony_ci    then:
39862306a36Sopenharmony_ci      properties:
39962306a36Sopenharmony_ci        fsl,usbmisc: false
40062306a36Sopenharmony_ci        disable-over-current: false
40162306a36Sopenharmony_ci        over-current-active-low: false
40262306a36Sopenharmony_ci        over-current-active-high: false
40362306a36Sopenharmony_ci        power-active-high: false
40462306a36Sopenharmony_ci        external-vbus-divider: false
40562306a36Sopenharmony_ci        samsung,picophy-pre-emp-curr-control: false
40662306a36Sopenharmony_ci        samsung,picophy-dc-vol-level-adjust: false
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ciunevaluatedProperties: false
40962306a36Sopenharmony_ci
41062306a36Sopenharmony_ciexamples:
41162306a36Sopenharmony_ci  - |
41262306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
41362306a36Sopenharmony_ci    #include <dt-bindings/clock/berlin2.h>
41462306a36Sopenharmony_ci
41562306a36Sopenharmony_ci    usb@f7ed0000 {
41662306a36Sopenharmony_ci        compatible = "chipidea,usb2";
41762306a36Sopenharmony_ci        reg = <0xf7ed0000 0x10000>;
41862306a36Sopenharmony_ci        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
41962306a36Sopenharmony_ci        clocks = <&chip CLKID_USB0>;
42062306a36Sopenharmony_ci        phys = <&usb_phy0>;
42162306a36Sopenharmony_ci        phy-names = "usb-phy";
42262306a36Sopenharmony_ci        vbus-supply = <&reg_usb0_vbus>;
42362306a36Sopenharmony_ci        itc-setting = <0x4>; /* 4 micro-frames */
42462306a36Sopenharmony_ci         /* Incremental burst of unspecified length */
42562306a36Sopenharmony_ci        ahb-burst-config = <0x0>;
42662306a36Sopenharmony_ci        tx-burst-size-dword = <0x10>; /* 64 bytes */
42762306a36Sopenharmony_ci        rx-burst-size-dword = <0x10>;
42862306a36Sopenharmony_ci        extcon = <0>, <&usb_id>;
42962306a36Sopenharmony_ci        phy-clkgate-delay-us = <400>;
43062306a36Sopenharmony_ci        mux-controls = <&usb_switch>;
43162306a36Sopenharmony_ci        mux-control-names = "usb_switch";
43262306a36Sopenharmony_ci    };
43362306a36Sopenharmony_ci
43462306a36Sopenharmony_ci  # Example for HSIC:
43562306a36Sopenharmony_ci  - |
43662306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
43762306a36Sopenharmony_ci    #include <dt-bindings/clock/imx6qdl-clock.h>
43862306a36Sopenharmony_ci
43962306a36Sopenharmony_ci    usb@2184400 {
44062306a36Sopenharmony_ci        compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
44162306a36Sopenharmony_ci        reg = <0x02184400 0x200>;
44262306a36Sopenharmony_ci        interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
44362306a36Sopenharmony_ci        clocks = <&clks IMX6QDL_CLK_USBOH3>;
44462306a36Sopenharmony_ci        fsl,usbphy = <&usbphynop1>;
44562306a36Sopenharmony_ci        fsl,usbmisc = <&usbmisc 2>;
44662306a36Sopenharmony_ci        phy_type = "hsic";
44762306a36Sopenharmony_ci        dr_mode = "host";
44862306a36Sopenharmony_ci        ahb-burst-config = <0x0>;
44962306a36Sopenharmony_ci        tx-burst-size-dword = <0x10>;
45062306a36Sopenharmony_ci        rx-burst-size-dword = <0x10>;
45162306a36Sopenharmony_ci        pinctrl-names = "idle", "active";
45262306a36Sopenharmony_ci        pinctrl-0 = <&pinctrl_usbh2_idle>;
45362306a36Sopenharmony_ci        pinctrl-1 = <&pinctrl_usbh2_active>;
45462306a36Sopenharmony_ci        #address-cells = <1>;
45562306a36Sopenharmony_ci        #size-cells = <0>;
45662306a36Sopenharmony_ci
45762306a36Sopenharmony_ci        ethernet@1 {
45862306a36Sopenharmony_ci            compatible = "usb424,9730";
45962306a36Sopenharmony_ci            reg = <1>;
46062306a36Sopenharmony_ci        };
46162306a36Sopenharmony_ci    };
46262306a36Sopenharmony_ci
46362306a36Sopenharmony_ci...
464