brintos

brintos / linux-shallow public Read only

0
0
Text · 4.2 KiB · 580fbe3 Raw
197 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---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 PHY8 9description: Broadcom's PHY that handles EHCI/OHCI and/or XHCI10 11maintainers:12  - Al Cooper <alcooperx@gmail.com>13  - Rafał Miłecki <rafal@milecki.pl>14 15properties:16  compatible:17    enum:18      - brcm,bcm4908-usb-phy19      - brcm,bcm7211-usb-phy20      - brcm,bcm7216-usb-phy21      - brcm,brcmstb-usb-phy22 23  reg:24    minItems: 125    items:26      - description: the base CTRL register27      - description: XHCI EC register28      - description: XHCI GBL register29      - description: USB PHY register30      - description: USB MDIO register31      - description: BDC register32 33  reg-names:34    minItems: 135    items:36      - const: ctrl37      - const: xhci_ec38      - const: xhci_gbl39      - const: usb_phy40      - const: usb_mdio41      - const: bdc_ec42 43  power-domains:44    maxItems: 145 46  clocks:47    minItems: 148    maxItems: 249 50  clock-names:51    minItems: 152    items:53      - const: sw_usb54      - const: sw_usb355 56  interrupts:57    description: wakeup interrupt58 59  interrupt-names:60    const: wake61 62  brcm,ipp:63    $ref: /schemas/types.yaml#/definitions/uint3264    description: Invert Port Power65    minimum: 066    maximum: 167 68  brcm,ioc:69    $ref: /schemas/types.yaml#/definitions/uint3270    description: Invert Over Current detection71    minimum: 072    maximum: 173 74  dr_mode:75    description: PHY Device mode. If this property is not defined, the PHY will76      default to "host" mode.77    enum:78      - host79      - peripheral80      - drd81      - typec-pd82 83  brcm,syscon-piarbctl:84    description: phandle to syscon for handling config registers85    $ref: /schemas/types.yaml#/definitions/phandle86 87  brcm,has-xhci:88    description: Indicates the PHY has an XHCI PHY.89    type: boolean90 91  brcm,has-eohci:92    description: Indicates the PHY has an EHCI/OHCI PHY.93    type: boolean94 95  "#phy-cells":96    description: |97      Cell allows setting the type of the PHY. Possible values are:98      - PHY_TYPE_USB2 for USB1.1/2.0 PHY99      - PHY_TYPE_USB3 for USB3.x PHY100    const: 1101 102required:103  - reg104  - "#phy-cells"105 106anyOf:107  - required:108      - brcm,has-xhci109  - required:110      - brcm,has-eohci111 112allOf:113  - if:114      properties:115        compatible:116          contains:117            enum:118              - brcm,bcm4908-usb-phy119              - brcm,brcmstb-usb-phy120    then:121      properties:122        reg:123          minItems: 1124          maxItems: 2125  - if:126      properties:127        compatible:128          contains:129            const: brcm,bcm7211-usb-phy130    then:131      properties:132        reg:133          minItems: 5134          maxItems: 6135        reg-names:136          minItems: 5137          maxItems: 6138  - if:139      properties:140        compatible:141          contains:142            const: brcm,bcm7216-usb-phy143    then:144      properties:145        reg:146          minItems: 3147          maxItems: 3148        reg-names:149          minItems: 3150          maxItems: 3151 152additionalProperties: false153 154examples:155  - |156    #include <dt-bindings/phy/phy.h>157 158    usb-phy@f0470200 {159        compatible = "brcm,brcmstb-usb-phy";160        reg = <0xf0470200 0xb8>,161              <0xf0471940 0x6c0>;162        #phy-cells = <1>;163        dr_mode = "host";164        brcm,ioc = <1>;165        brcm,ipp = <1>;166        brcm,has-xhci;167        brcm,has-eohci;168        clocks = <&usb20>, <&usb30>;169        clock-names = "sw_usb", "sw_usb3";170    };171  - |172    #include <dt-bindings/phy/phy.h>173 174    usb-phy@29f0200 {175        compatible = "brcm,bcm7211-usb-phy";176        reg = <0x29f0200 0x200>,177              <0x29c0880 0x30>,178              <0x29cc100 0x534>,179              <0x2808000 0x24>,180              <0x2980080 0x8>;181        reg-names = "ctrl",182            "xhci_ec",183            "xhci_gbl",184            "usb_phy",185            "usb_mdio";186        brcm,ioc = <0x0>;187        brcm,ipp = <0x0>;188        interrupts = <0x30>;189        interrupt-parent = <&vpu_intr1_nosec_intc>;190        interrupt-names = "wake";191        #phy-cells = <0x1>;192        brcm,has-xhci;193        brcm,syscon-piarbctl = <&syscon_piarbctl>;194        clocks = <&scmi_clk 256>;195        clock-names = "sw_usb";196    };197