cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

brcm,brcmstb-usb-phy.yaml (4278B)


      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,brcmstb-usb-phy
     22
     23  reg:
     24    minItems: 1
     25    items:
     26      - description: the base CTRL register
     27      - description: XHCI EC register
     28      - description: XHCI GBL register
     29      - description: USB PHY register
     30      - description: USB MDIO register
     31      - description: BDC register
     32
     33  reg-names:
     34    minItems: 1
     35    items:
     36      - const: ctrl
     37      - const: xhci_ec
     38      - const: xhci_gbl
     39      - const: usb_phy
     40      - const: usb_mdio
     41      - const: bdc_ec
     42
     43  power-domains:
     44    maxItems: 1
     45
     46  clocks:
     47    minItems: 1
     48    maxItems: 2
     49
     50  clock-names:
     51    minItems: 1
     52    items:
     53      - const: sw_usb
     54      - const: sw_usb3
     55
     56  interrupts:
     57    description: wakeup interrupt
     58
     59  interrupt-names:
     60    const: wake
     61
     62  brcm,ipp:
     63    $ref: /schemas/types.yaml#/definitions/uint32
     64    description: Invert Port Power
     65    minimum: 0
     66    maximum: 1
     67
     68  brcm,ioc:
     69    $ref: /schemas/types.yaml#/definitions/uint32
     70    description: Invert Over Current detection
     71    minimum: 0
     72    maximum: 1
     73
     74  dr_mode:
     75    description: PHY Device mode. If this property is not defined, the PHY will
     76      default to "host" mode.
     77    enum:
     78      - host
     79      - peripheral
     80      - drd
     81      - typec-pd
     82
     83  brcm,syscon-piarbctl:
     84    description: phandle to syscon for handling config registers
     85    $ref: /schemas/types.yaml#/definitions/phandle
     86
     87  brcm,has-xhci:
     88    description: Indicates the PHY has an XHCI PHY.
     89    type: boolean
     90
     91  brcm,has-eohci:
     92    description: Indicates the PHY has an EHCI/OHCI PHY.
     93    type: boolean
     94
     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 PHY
     99      - PHY_TYPE_USB3 for USB3.x PHY
    100    const: 1
    101
    102required:
    103  - reg
    104  - "#phy-cells"
    105
    106anyOf:
    107  - required:
    108      - brcm,has-xhci
    109  - required:
    110      - brcm,has-eohci
    111
    112allOf:
    113  - if:
    114      properties:
    115        compatible:
    116          contains:
    117            enum:
    118              - const: brcm,bcm4908-usb-phy
    119              - const: brcm,brcmstb-usb-phy
    120    then:
    121      properties:
    122        reg:
    123          minItems: 1
    124          maxItems: 2
    125  - if:
    126      properties:
    127        compatible:
    128          contains:
    129            const: brcm,bcm7211-usb-phy
    130    then:
    131      properties:
    132        reg:
    133          minItems: 5
    134          maxItems: 6
    135        reg-names:
    136          minItems: 5
    137          maxItems: 6
    138  - if:
    139      properties:
    140        compatible:
    141          contains:
    142            const: brcm,bcm7216-usb-phy
    143    then:
    144      properties:
    145        reg:
    146          minItems: 3
    147          maxItems: 3
    148        reg-names:
    149          minItems: 3
    150          maxItems: 3
    151
    152additionalProperties: false
    153
    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    };