# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/brcm,brcmstb-usb-phy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom STB USB PHY

description: Broadcom's PHY that handles EHCI/OHCI and/or XHCI

maintainers:
  - Al Cooper <alcooperx@gmail.com>
  - Rafał Miłecki <rafal@milecki.pl>

properties:
  compatible:
    enum:
      - brcm,bcm4908-usb-phy
      - brcm,bcm7211-usb-phy
      - brcm,bcm7216-usb-phy
      - brcm,brcmstb-usb-phy

  reg:
    minItems: 1
    items:
      - description: the base CTRL register
      - description: XHCI EC register
      - description: XHCI GBL register
      - description: USB PHY register
      - description: USB MDIO register
      - description: BDC register

  reg-names:
    minItems: 1
    items:
      - const: ctrl
      - const: xhci_ec
      - const: xhci_gbl
      - const: usb_phy
      - const: usb_mdio
      - const: bdc_ec

  power-domains:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2

  clock-names:
    minItems: 1
    items:
      - const: sw_usb
      - const: sw_usb3

  interrupts:
    description: wakeup interrupt

  interrupt-names:
    const: wake

  brcm,ipp:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Invert Port Power
    minimum: 0
    maximum: 1

  brcm,ioc:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Invert Over Current detection
    minimum: 0
    maximum: 1

  dr_mode:
    description: PHY Device mode. If this property is not defined, the PHY will
      default to "host" mode.
    enum:
      - host
      - peripheral
      - drd
      - typec-pd

  brcm,syscon-piarbctl:
    description: phandle to syscon for handling config registers
    $ref: /schemas/types.yaml#/definitions/phandle

  brcm,has-xhci:
    description: Indicates the PHY has an XHCI PHY.
    type: boolean

  brcm,has-eohci:
    description: Indicates the PHY has an EHCI/OHCI PHY.
    type: boolean

  "#phy-cells":
    description: |
      Cell allows setting the type of the PHY. Possible values are:
      - PHY_TYPE_USB2 for USB1.1/2.0 PHY
      - PHY_TYPE_USB3 for USB3.x PHY
    const: 1

required:
  - reg
  - "#phy-cells"

anyOf:
  - required:
      - brcm,has-xhci
  - required:
      - brcm,has-eohci

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - brcm,bcm4908-usb-phy
              - brcm,brcmstb-usb-phy
    then:
      properties:
        reg:
          minItems: 1
          maxItems: 2
  - if:
      properties:
        compatible:
          contains:
            const: brcm,bcm7211-usb-phy
    then:
      properties:
        reg:
          minItems: 5
          maxItems: 6
        reg-names:
          minItems: 5
          maxItems: 6
  - if:
      properties:
        compatible:
          contains:
            const: brcm,bcm7216-usb-phy
    then:
      properties:
        reg:
          minItems: 3
          maxItems: 3
        reg-names:
          minItems: 3
          maxItems: 3

additionalProperties: false

examples:
  - |
    #include <dt-bindings/phy/phy.h>

    usb-phy@f0470200 {
        compatible = "brcm,brcmstb-usb-phy";
        reg = <0xf0470200 0xb8>,
              <0xf0471940 0x6c0>;
        #phy-cells = <1>;
        dr_mode = "host";
        brcm,ioc = <1>;
        brcm,ipp = <1>;
        brcm,has-xhci;
        brcm,has-eohci;
        clocks = <&usb20>, <&usb30>;
        clock-names = "sw_usb", "sw_usb3";
    };
  - |
    #include <dt-bindings/phy/phy.h>

    usb-phy@29f0200 {
        compatible = "brcm,bcm7211-usb-phy";
        reg = <0x29f0200 0x200>,
              <0x29c0880 0x30>,
              <0x29cc100 0x534>,
              <0x2808000 0x24>,
              <0x2980080 0x8>;
        reg-names = "ctrl",
            "xhci_ec",
            "xhci_gbl",
            "usb_phy",
            "usb_mdio";
        brcm,ioc = <0x0>;
        brcm,ipp = <0x0>;
        interrupts = <0x30>;
        interrupt-parent = <&vpu_intr1_nosec_intc>;
        interrupt-names = "wake";
        #phy-cells = <0x1>;
        brcm,has-xhci;
        brcm,syscon-piarbctl = <&syscon_piarbctl>;
        clocks = <&scmi_clk 256>;
        clock-names = "sw_usb";
    };
