Documentation / devicetree / bindings / usb / hisilicon,hi3798mv200-dwc3.yaml


Based on kernel version 6.10. Page generated on 2024-07-16 09:00 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/hisilicon,hi3798mv200-dwc3.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: HiSilicon Hi3798MV200 DWC3 USB SoC controller

maintainers:
  - Yang Xiwen <forbidden405@foxmail.com>

properties:
  compatible:
    const: hisilicon,hi3798mv200-dwc3
 
  '#address-cells':
    const: 1
 
  '#size-cells':
    const: 1

  ranges: true

  clocks:
    items:
      - description: Controller bus clock
      - description: Controller suspend clock
      - description: Controller reference clock
      - description: Controller gm clock
      - description: Controller gs clock
      - description: Controller utmi clock
      - description: Controller pipe clock

  clock-names:
    items:
      - const: bus
      - const: suspend
      - const: ref
      - const: gm
      - const: gs
      - const: utmi
      - const: pipe

  resets:
    maxItems: 1

  reset-names:
    const: soft

patternProperties:
  '^usb@[0-9a-f]+$':
    $ref: snps,dwc3.yaml#

required:
  - compatible
  - ranges
  - '#address-cells'
  - '#size-cells'
  - clocks
  - clock-names
  - resets
  - reset-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
 
    usb {
        compatible = "hisilicon,hi3798mv200-dwc3";
        ranges;
        #address-cells = <1>;
        #size-cells = <1>;
        clocks = <&clk_bus>,
                 <&clk_suspend>,
                 <&clk_ref>,
                 <&clk_gm>,
                 <&clk_gs>,
                 <&clk_utmi>,
                 <&clk_pipe>;
        clock-names = "bus", "suspend", "ref", "gm", "gs", "utmi", "pipe";
        resets = <&crg 0xb0 12>;
        reset-names = "soft";
 
        usb@98a0000 {
            compatible = "snps,dwc3";
            reg = <0x98a0000 0x10000>;
            interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&clk_bus>,
                     <&clk_suspend>,
                     <&clk_ref>;
            clock-names = "bus_early", "suspend", "ref";
            phys = <&usb2_phy1_port2>, <&combphy0 0>;
            phy-names = "usb2-phy", "usb3-phy";
            maximum-speed = "super-speed";
            dr_mode = "host";
        };
    };