hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
....@@ -1,30 +1,49 @@
11 Broadcom STB USB PHY
22
33 Required properties:
4
- - compatible: brcm,brcmstb-usb-phy
5
- - reg: two offset and length pairs.
6
- The first pair specifies a manditory set of memory mapped
7
- registers used for general control of the PHY.
8
- The second pair specifies optional registers used by some of
9
- the SoCs that support USB 3.x
10
- - #phy-cells: Shall be 1 as it expects one argument for setting
11
- the type of the PHY. Possible values are:
12
- - PHY_TYPE_USB2 for USB1.1/2.0 PHY
13
- - PHY_TYPE_USB3 for USB3.x PHY
4
+- compatible: should be one of
5
+ "brcm,brcmstb-usb-phy"
6
+ "brcm,bcm7216-usb-phy"
7
+ "brcm,bcm7211-usb-phy"
8
+
9
+- reg and reg-names properties requirements are specific to the
10
+ compatible string.
11
+ "brcm,brcmstb-usb-phy":
12
+ - reg: 1 or 2 offset and length pairs. One for the base CTRL registers
13
+ and an optional pair for systems with USB 3.x support
14
+ - reg-names: not specified
15
+ "brcm,bcm7216-usb-phy":
16
+ - reg: 3 offset and length pairs for CTRL, XHCI_EC and XHCI_GBL
17
+ registers
18
+ - reg-names: "ctrl", "xhci_ec", "xhci_gbl"
19
+ "brcm,bcm7211-usb-phy":
20
+ - reg: 5 offset and length pairs for CTRL, XHCI_EC, XHCI_GBL,
21
+ USB_PHY and USB_MDIO registers and an optional pair
22
+ for the BDC registers
23
+ - reg-names: "ctrl", "xhci_ec", "xhci_gbl", "usb_phy", "usb_mdio", "bdc_ec"
24
+
25
+- #phy-cells: Shall be 1 as it expects one argument for setting
26
+ the type of the PHY. Possible values are:
27
+ - PHY_TYPE_USB2 for USB1.1/2.0 PHY
28
+ - PHY_TYPE_USB3 for USB3.x PHY
1429
1530 Optional Properties:
1631 - clocks : clock phandles.
1732 - clock-names: String, clock name.
33
+- interrupts: wakeup interrupt
34
+- interrupt-names: "wakeup"
1835 - brcm,ipp: Boolean, Invert Port Power.
1936 Possible values are: 0 (Don't invert), 1 (Invert)
2037 - brcm,ioc: Boolean, Invert Over Current detection.
2138 Possible values are: 0 (Don't invert), 1 (Invert)
22
-NOTE: one or both of the following two properties must be set
23
-- brcm,has-xhci: Boolean indicating the phy has an XHCI phy.
24
-- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy.
2539 - dr_mode: String, PHY Device mode.
2640 Possible values are: "host", "peripheral ", "drd" or "typec-pd"
2741 If this property is not defined, the phy will default to "host" mode.
42
+- brcm,syscon-piarbctl: phandle to syscon for handling config registers
43
+NOTE: one or both of the following two properties must be set
44
+- brcm,has-xhci: Boolean indicating the phy has an XHCI phy.
45
+- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy.
46
+
2847
2948 Example:
3049
....@@ -41,3 +60,27 @@
4160 clocks = <&usb20>, <&usb30>;
4261 clock-names = "sw_usb", "sw_usb3";
4362 };
63
+
64
+usb-phy@29f0200 {
65
+ reg = <0x29f0200 0x200>,
66
+ <0x29c0880 0x30>,
67
+ <0x29cc100 0x534>,
68
+ <0x2808000 0x24>,
69
+ <0x2980080 0x8>;
70
+ reg-names = "ctrl",
71
+ "xhci_ec",
72
+ "xhci_gbl",
73
+ "usb_phy",
74
+ "usb_mdio";
75
+ brcm,ioc = <0x0>;
76
+ brcm,ipp = <0x0>;
77
+ compatible = "brcm,bcm7211-usb-phy";
78
+ interrupts = <0x30>;
79
+ interrupt-parent = <&vpu_intr1_nosec_intc>;
80
+ interrupt-names = "wake";
81
+ #phy-cells = <0x1>;
82
+ brcm,has-xhci;
83
+ syscon-piarbctl = <&syscon_piarbctl>;
84
+ clocks = <&scmi_clk 256>;
85
+ clock-names = "sw_usb";
86
+};