File Index
Files and directories
Sign in
FILE

brcm,brcmstb-usb-phy.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/phy/brcm,brcmstb-usb-phy.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Broadcom STB USB PHY
  8
  9description: Broadcom's PHY that handles EHCI/OHCI and/or XHCI
 10
 11maintainers:
 12  - Al Cooper <alcooperx@gmail.com>
 13  - Rafał Miłecki <rafal@milecki.pl>
 14
 15properties:
 16  compatible:
 17    enum:
 18      - brcm,bcm4908-usb-phy
 19      - brcm,bcm7211-usb-phy
 20      - brcm,bcm7216-usb-phy
 21      - brcm,bcm74110-usb-phy
 22      - brcm,brcmstb-usb-phy
 23
 24  reg:
 25    minItems: 1
 26    items:
 27      - description: the base CTRL register
 28      - description: XHCI EC register
 29      - description: XHCI GBL register
 30      - description: USB PHY register
 31      - description: USB MDIO register
 32      - description: BDC register
 33
 34  reg-names:
 35    minItems: 1
 36    items:
 37      - const: ctrl
 38      - const: xhci_ec
 39      - const: xhci_gbl
 40      - const: usb_phy
 41      - const: usb_mdio
 42      - const: bdc_ec
 43
 44  power-domains:
 45    maxItems: 1
 46
 47  clocks:
 48    minItems: 1
 49    maxItems: 2
 50
 51  clock-names:
 52    minItems: 1
 53    items:
 54      - const: sw_usb
 55      - const: sw_usb3
 56
 57  interrupts:
 58    description: wakeup interrupt
 59
 60  interrupt-names:
 61    const: wake
 62
 63  brcm,ipp:
 64    $ref: /schemas/types.yaml#/definitions/uint32
 65    description: Invert Port Power
 66    minimum: 0
 67    maximum: 1
 68
 69  brcm,ioc:
 70    $ref: /schemas/types.yaml#/definitions/uint32
 71    description: Invert Over Current detection
 72    minimum: 0
 73    maximum: 1
 74
 75  dr_mode:
 76    description: PHY Device mode. If this property is not defined, the PHY will
 77      default to "host" mode.
 78    enum:
 79      - host
 80      - peripheral
 81      - drd
 82      - typec-pd
 83
 84  brcm,syscon-piarbctl:
 85    description: phandle to syscon for handling config registers
 86    $ref: /schemas/types.yaml#/definitions/phandle
 87
 88  brcm,has-xhci:
 89    description: Indicates the PHY has an XHCI PHY.
 90    type: boolean
 91
 92  brcm,has-eohci:
 93    description: Indicates the PHY has an EHCI/OHCI PHY.
 94    type: boolean
 95
 96  "#phy-cells":
 97    description: |
 98      Cell allows setting the type of the PHY. Possible values are:
 99      - PHY_TYPE_USB2 for USB1.1/2.0 PHY
100      - PHY_TYPE_USB3 for USB3.x PHY
101    const: 1
102
103required:
104  - reg
105  - "#phy-cells"
106
107anyOf:
108  - required:
109      - brcm,has-xhci
110  - required:
111      - brcm,has-eohci
112
113allOf:
114  - if:
115      properties:
116        compatible:
117          contains:
118            enum:
119              - brcm,bcm4908-usb-phy
120              - brcm,brcmstb-usb-phy
121    then:
122      properties:
123        reg:
124          minItems: 1
125          maxItems: 2
126  - if:
127      properties:
128        compatible:
129          contains:
130            const: brcm,bcm7211-usb-phy
131    then:
132      properties:
133        reg:
134          minItems: 5
135          maxItems: 6
136        reg-names:
137          minItems: 5
138          maxItems: 6
139  - if:
140      properties:
141        compatible:
142          contains:
143            enum:
144              - brcm,bcm7216-usb-phy
145              - brcm,bcm74110-usb-phy
146    then:
147      properties:
148        reg:
149          minItems: 3
150          maxItems: 3
151        reg-names:
152          minItems: 3
153          maxItems: 3
154
155additionalProperties: false
156
157examples:
158  - |
159    #include <dt-bindings/phy/phy.h>
160
161    usb-phy@f0470200 {
162        compatible = "brcm,brcmstb-usb-phy";
163        reg = <0xf0470200 0xb8>,
164              <0xf0471940 0x6c0>;
165        #phy-cells = <1>;
166        dr_mode = "host";
167        brcm,ioc = <1>;
168        brcm,ipp = <1>;
169        brcm,has-xhci;
170        brcm,has-eohci;
171        clocks = <&usb20>, <&usb30>;
172        clock-names = "sw_usb", "sw_usb3";
173    };
174  - |
175    #include <dt-bindings/phy/phy.h>
176
177    usb-phy@29f0200 {
178        compatible = "brcm,bcm7211-usb-phy";
179        reg = <0x29f0200 0x200>,
180              <0x29c0880 0x30>,
181              <0x29cc100 0x534>,
182              <0x2808000 0x24>,
183              <0x2980080 0x8>;
184        reg-names = "ctrl",
185            "xhci_ec",
186            "xhci_gbl",
187            "usb_phy",
188            "usb_mdio";
189        brcm,ioc = <0x0>;
190        brcm,ipp = <0x0>;
191        interrupts = <0x30>;
192        interrupt-parent = <&vpu_intr1_nosec_intc>;
193        interrupt-names = "wake";
194        #phy-cells = <0x1>;
195        brcm,has-xhci;
196        brcm,syscon-piarbctl = <&syscon_piarbctl>;
197        clocks = <&scmi_clk 256>;
198        clock-names = "sw_usb";
199    };
~/ Read-only file preview.