15def4c47SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 25def4c47SEmmanuel Vadot%YAML 1.2 35def4c47SEmmanuel Vadot--- 45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/phy/brcm,brcmstb-usb-phy.yaml# 55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65def4c47SEmmanuel Vadot 75def4c47SEmmanuel Vadottitle: Broadcom STB USB PHY 85def4c47SEmmanuel Vadot 95def4c47SEmmanuel Vadotdescription: Broadcom's PHY that handles EHCI/OHCI and/or XHCI 105def4c47SEmmanuel Vadot 115def4c47SEmmanuel Vadotmaintainers: 125def4c47SEmmanuel Vadot - Al Cooper <alcooperx@gmail.com> 135def4c47SEmmanuel Vadot - Rafał Miłecki <rafal@milecki.pl> 145def4c47SEmmanuel Vadot 155def4c47SEmmanuel Vadotproperties: 165def4c47SEmmanuel Vadot compatible: 175def4c47SEmmanuel Vadot enum: 185def4c47SEmmanuel Vadot - brcm,bcm4908-usb-phy 195def4c47SEmmanuel Vadot - brcm,bcm7211-usb-phy 205def4c47SEmmanuel Vadot - brcm,bcm7216-usb-phy 215def4c47SEmmanuel Vadot - brcm,brcmstb-usb-phy 225def4c47SEmmanuel Vadot 235def4c47SEmmanuel Vadot reg: 245def4c47SEmmanuel Vadot minItems: 1 255def4c47SEmmanuel Vadot maxItems: 6 265def4c47SEmmanuel Vadot items: 275def4c47SEmmanuel Vadot - description: the base CTRL register 285def4c47SEmmanuel Vadot - description: XHCI EC register 295def4c47SEmmanuel Vadot - description: XHCI GBL register 305def4c47SEmmanuel Vadot - description: USB PHY register 315def4c47SEmmanuel Vadot - description: USB MDIO register 325def4c47SEmmanuel Vadot - description: BDC register 335def4c47SEmmanuel Vadot 345def4c47SEmmanuel Vadot reg-names: 355def4c47SEmmanuel Vadot minItems: 1 365def4c47SEmmanuel Vadot maxItems: 6 375def4c47SEmmanuel Vadot items: 385def4c47SEmmanuel Vadot - const: ctrl 395def4c47SEmmanuel Vadot - const: xhci_ec 405def4c47SEmmanuel Vadot - const: xhci_gbl 415def4c47SEmmanuel Vadot - const: usb_phy 425def4c47SEmmanuel Vadot - const: usb_mdio 435def4c47SEmmanuel Vadot - const: bdc_ec 445def4c47SEmmanuel Vadot 45*2eb4d8dcSEmmanuel Vadot power-domains: 46*2eb4d8dcSEmmanuel Vadot maxItems: 1 47*2eb4d8dcSEmmanuel Vadot 485def4c47SEmmanuel Vadot clocks: 495def4c47SEmmanuel Vadot minItems: 1 505def4c47SEmmanuel Vadot maxItems: 2 515def4c47SEmmanuel Vadot 525def4c47SEmmanuel Vadot clock-names: 535def4c47SEmmanuel Vadot minItems: 1 545def4c47SEmmanuel Vadot maxItems: 2 555def4c47SEmmanuel Vadot items: 565def4c47SEmmanuel Vadot - const: sw_usb 575def4c47SEmmanuel Vadot - const: sw_usb3 585def4c47SEmmanuel Vadot 595def4c47SEmmanuel Vadot interrupts: 605def4c47SEmmanuel Vadot description: wakeup interrupt 615def4c47SEmmanuel Vadot 625def4c47SEmmanuel Vadot interrupt-names: 635def4c47SEmmanuel Vadot const: wake 645def4c47SEmmanuel Vadot 655def4c47SEmmanuel Vadot brcm,ipp: 665def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 675def4c47SEmmanuel Vadot description: Invert Port Power 685def4c47SEmmanuel Vadot minimum: 0 695def4c47SEmmanuel Vadot maximum: 1 705def4c47SEmmanuel Vadot 715def4c47SEmmanuel Vadot brcm,ioc: 725def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 735def4c47SEmmanuel Vadot description: Invert Over Current detection 745def4c47SEmmanuel Vadot minimum: 0 755def4c47SEmmanuel Vadot maximum: 1 765def4c47SEmmanuel Vadot 775def4c47SEmmanuel Vadot dr_mode: 785def4c47SEmmanuel Vadot description: PHY Device mode. If this property is not defined, the PHY will 795def4c47SEmmanuel Vadot default to "host" mode. 805def4c47SEmmanuel Vadot enum: 815def4c47SEmmanuel Vadot - host 825def4c47SEmmanuel Vadot - peripheral 835def4c47SEmmanuel Vadot - drd 845def4c47SEmmanuel Vadot - typec-pd 855def4c47SEmmanuel Vadot 865def4c47SEmmanuel Vadot brcm,syscon-piarbctl: 875def4c47SEmmanuel Vadot description: phandle to syscon for handling config registers 885def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 895def4c47SEmmanuel Vadot 905def4c47SEmmanuel Vadot brcm,has-xhci: 915def4c47SEmmanuel Vadot description: Indicates the PHY has an XHCI PHY. 925def4c47SEmmanuel Vadot type: boolean 935def4c47SEmmanuel Vadot 945def4c47SEmmanuel Vadot brcm,has-eohci: 955def4c47SEmmanuel Vadot description: Indicates the PHY has an EHCI/OHCI PHY. 965def4c47SEmmanuel Vadot type: boolean 975def4c47SEmmanuel Vadot 985def4c47SEmmanuel Vadot "#phy-cells": 995def4c47SEmmanuel Vadot description: | 1005def4c47SEmmanuel Vadot Cell allows setting the type of the PHY. Possible values are: 1015def4c47SEmmanuel Vadot - PHY_TYPE_USB2 for USB1.1/2.0 PHY 1025def4c47SEmmanuel Vadot - PHY_TYPE_USB3 for USB3.x PHY 1035def4c47SEmmanuel Vadot const: 1 1045def4c47SEmmanuel Vadot 1055def4c47SEmmanuel Vadotrequired: 1065def4c47SEmmanuel Vadot - reg 1075def4c47SEmmanuel Vadot - "#phy-cells" 1085def4c47SEmmanuel Vadot 1095def4c47SEmmanuel VadotanyOf: 1105def4c47SEmmanuel Vadot - required: 1115def4c47SEmmanuel Vadot - brcm,has-xhci 1125def4c47SEmmanuel Vadot - required: 1135def4c47SEmmanuel Vadot - brcm,has-eohci 1145def4c47SEmmanuel Vadot 1155def4c47SEmmanuel VadotallOf: 1165def4c47SEmmanuel Vadot - if: 1175def4c47SEmmanuel Vadot properties: 1185def4c47SEmmanuel Vadot compatible: 1195def4c47SEmmanuel Vadot contains: 1205def4c47SEmmanuel Vadot enum: 1215def4c47SEmmanuel Vadot - const: brcm,bcm4908-usb-phy 1225def4c47SEmmanuel Vadot - const: brcm,brcmstb-usb-phy 1235def4c47SEmmanuel Vadot then: 1245def4c47SEmmanuel Vadot properties: 1255def4c47SEmmanuel Vadot reg: 1265def4c47SEmmanuel Vadot minItems: 1 1275def4c47SEmmanuel Vadot maxItems: 2 1285def4c47SEmmanuel Vadot - if: 1295def4c47SEmmanuel Vadot properties: 1305def4c47SEmmanuel Vadot compatible: 1315def4c47SEmmanuel Vadot contains: 1325def4c47SEmmanuel Vadot const: brcm,bcm7211-usb-phy 1335def4c47SEmmanuel Vadot then: 1345def4c47SEmmanuel Vadot properties: 1355def4c47SEmmanuel Vadot reg: 1365def4c47SEmmanuel Vadot minItems: 5 1375def4c47SEmmanuel Vadot maxItems: 6 1385def4c47SEmmanuel Vadot reg-names: 1395def4c47SEmmanuel Vadot minItems: 5 1405def4c47SEmmanuel Vadot maxItems: 6 1415def4c47SEmmanuel Vadot - if: 1425def4c47SEmmanuel Vadot properties: 1435def4c47SEmmanuel Vadot compatible: 1445def4c47SEmmanuel Vadot contains: 1455def4c47SEmmanuel Vadot const: brcm,bcm7216-usb-phy 1465def4c47SEmmanuel Vadot then: 1475def4c47SEmmanuel Vadot properties: 1485def4c47SEmmanuel Vadot reg: 1495def4c47SEmmanuel Vadot minItems: 3 1505def4c47SEmmanuel Vadot maxItems: 3 1515def4c47SEmmanuel Vadot reg-names: 1525def4c47SEmmanuel Vadot minItems: 3 1535def4c47SEmmanuel Vadot maxItems: 3 1545def4c47SEmmanuel Vadot 1555def4c47SEmmanuel VadotadditionalProperties: false 1565def4c47SEmmanuel Vadot 1575def4c47SEmmanuel Vadotexamples: 1585def4c47SEmmanuel Vadot - | 1595def4c47SEmmanuel Vadot #include <dt-bindings/phy/phy.h> 1605def4c47SEmmanuel Vadot 1615def4c47SEmmanuel Vadot usb-phy@f0470200 { 1625def4c47SEmmanuel Vadot compatible = "brcm,brcmstb-usb-phy"; 1635def4c47SEmmanuel Vadot reg = <0xf0470200 0xb8>, 1645def4c47SEmmanuel Vadot <0xf0471940 0x6c0>; 1655def4c47SEmmanuel Vadot #phy-cells = <1>; 1665def4c47SEmmanuel Vadot dr_mode = "host"; 1675def4c47SEmmanuel Vadot brcm,ioc = <1>; 1685def4c47SEmmanuel Vadot brcm,ipp = <1>; 1695def4c47SEmmanuel Vadot brcm,has-xhci; 1705def4c47SEmmanuel Vadot brcm,has-eohci; 1715def4c47SEmmanuel Vadot clocks = <&usb20>, <&usb30>; 1725def4c47SEmmanuel Vadot clock-names = "sw_usb", "sw_usb3"; 1735def4c47SEmmanuel Vadot }; 1745def4c47SEmmanuel Vadot - | 1755def4c47SEmmanuel Vadot #include <dt-bindings/phy/phy.h> 1765def4c47SEmmanuel Vadot 1775def4c47SEmmanuel Vadot usb-phy@29f0200 { 1785def4c47SEmmanuel Vadot compatible = "brcm,bcm7211-usb-phy"; 1795def4c47SEmmanuel Vadot reg = <0x29f0200 0x200>, 1805def4c47SEmmanuel Vadot <0x29c0880 0x30>, 1815def4c47SEmmanuel Vadot <0x29cc100 0x534>, 1825def4c47SEmmanuel Vadot <0x2808000 0x24>, 1835def4c47SEmmanuel Vadot <0x2980080 0x8>; 1845def4c47SEmmanuel Vadot reg-names = "ctrl", 1855def4c47SEmmanuel Vadot "xhci_ec", 1865def4c47SEmmanuel Vadot "xhci_gbl", 1875def4c47SEmmanuel Vadot "usb_phy", 1885def4c47SEmmanuel Vadot "usb_mdio"; 1895def4c47SEmmanuel Vadot brcm,ioc = <0x0>; 1905def4c47SEmmanuel Vadot brcm,ipp = <0x0>; 1915def4c47SEmmanuel Vadot interrupts = <0x30>; 1925def4c47SEmmanuel Vadot interrupt-parent = <&vpu_intr1_nosec_intc>; 1935def4c47SEmmanuel Vadot interrupt-names = "wake"; 1945def4c47SEmmanuel Vadot #phy-cells = <0x1>; 1955def4c47SEmmanuel Vadot brcm,has-xhci; 1965def4c47SEmmanuel Vadot brcm,syscon-piarbctl = <&syscon_piarbctl>; 1975def4c47SEmmanuel Vadot clocks = <&scmi_clk 256>; 1985def4c47SEmmanuel Vadot clock-names = "sw_usb"; 1995def4c47SEmmanuel Vadot }; 200