diff mbox series

[06/13] dt-bindings: Add Broadcom STB USB PHY binding document

Message ID 20191107141339.6079-7-alcooperx@gmail.com (mailing list archive)
State New, archived
Headers show
Series phy: usb: Updates to Broadcom STB USB PHY driver | expand

Commit Message

Alan Cooper Nov. 7, 2019, 2:13 p.m. UTC
Add support for bcm7216 and bcm7211

Signed-off-by: Al Cooper <alcooperx@gmail.com>
---
 .../bindings/phy/brcm,brcmstb-usb-phy.txt     | 69 +++++++++++++++----
 1 file changed, 56 insertions(+), 13 deletions(-)

Comments

Rob Herring Nov. 14, 2019, 1:20 a.m. UTC | #1
On Thu, Nov 07, 2019 at 09:13:32AM -0500, Al Cooper wrote:
> Add support for bcm7216 and bcm7211
> 
> Signed-off-by: Al Cooper <alcooperx@gmail.com>
> ---
>  .../bindings/phy/brcm,brcmstb-usb-phy.txt     | 69 +++++++++++++++----
>  1 file changed, 56 insertions(+), 13 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
> index 24a0d06acd1d..14184cec15dc 100644
> --- a/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
> +++ b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
> @@ -1,30 +1,49 @@
>  Broadcom STB USB PHY
>  
>  Required properties:
> - - compatible: brcm,brcmstb-usb-phy
> - - reg: two offset and length pairs.
> -	The first pair specifies a manditory set of memory mapped
> -	registers used for general control of the PHY.
> -	The second pair specifies optional registers used by some of
> -	the SoCs that support USB 3.x
> - - #phy-cells: Shall be 1 as it expects one argument for 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
> +- compatible: should be one of
> +	"brcm,brcmstb-usb-phy"
> +	"brcm,bcm7216-usb-phy"
> +	"brcm,bcm7211-usb-phy"
> +
> +- reg and reg-names properties requirements are specific to the
> +  compatible string.
> +  "brcm,brcmstb-usb-phy":
> +    - reg: 1 or 2 offset and length pairs. One for the base CTRL registers
> +           and an optional pair for systems with USB 3.x support
> +    - reg-names: not specified
> +  "brcm,bcm7216-usb-phy":
> +    - reg: 3 offset and length pairs for CTRL, XHCI_EC and XHCI_GBL
> +           registers
> +    - reg-names: "ctrl", "xhci_ec", "xhci_gbl"
> +  "brcm,bcm7211-usb-phy":
> +    - reg: 5 offset and length pairs for CTRL, XHCI_EC, XHCI_GBL,
> +           USB_PHY and USB_MDIO registers and an optional pair
> +	   for the BDC registers
> +    - reg-names: "ctrl", "xhci_ec", "xhci_gbl", "usb_phy", "usb_mdio", "bdc_ec"
> +
> +- #phy-cells: Shall be 1 as it expects one argument for 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
>  
>  Optional Properties:
>  - clocks : clock phandles.
>  - clock-names: String, clock name.
> +- interrupts: wake interrupt
> +- interrupt-names: "wake"

If a wakeup source, the standard name is 'wakeup'.

>  - brcm,ipp: Boolean, Invert Port Power.
>    Possible values are: 0 (Don't invert), 1 (Invert)
>  - brcm,ioc: Boolean, Invert Over Current detection.
>    Possible values are: 0 (Don't invert), 1 (Invert)
> -NOTE: one or both of the following two properties must be set
> -- brcm,has-xhci: Boolean indicating the phy has an XHCI phy.
> -- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy.
>  - dr_mode: String, PHY Device mode.
>    Possible values are: "host", "peripheral ", "drd" or "typec-pd"
>    If this property is not defined, the phy will default to "host" mode.
> +- syscon-piarbctl: phandle to syscon for handling config registers

Needs vendor prefix.

> +NOTE: one or both of the following two properties must be set
> +- brcm,has-xhci: Boolean indicating the phy has an XHCI phy.
> +- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy.
> +
>  
>  Example:
>  
> @@ -41,3 +60,27 @@ usbphy_0: usb-phy@f0470200 {
>  	clocks = <&usb20>, <&usb30>;
>  	clock-names = "sw_usb", "sw_usb3";
>  };
> +
> +usb-phy@29f0200 {
> +	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>;
> +	compatible = "brcm,bcm7211-usb-phy";
> +	interrupts = <0x30>;
> +	interrupt-parent = <&vpu_intr1_nosec_intc>;
> +	interrupt-names = "wake";
> +	#phy-cells = <0x1>;
> +	brcm,has-xhci;
> +	syscon-piarbctl = <&syscon_piarbctl>;
> +	clocks = <&scmi_clk 256>;
> +	clock-names = "sw_usb";
> +};
> -- 
> 2.17.1
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
index 24a0d06acd1d..14184cec15dc 100644
--- a/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
+++ b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
@@ -1,30 +1,49 @@ 
 Broadcom STB USB PHY
 
 Required properties:
- - compatible: brcm,brcmstb-usb-phy
- - reg: two offset and length pairs.
-	The first pair specifies a manditory set of memory mapped
-	registers used for general control of the PHY.
-	The second pair specifies optional registers used by some of
-	the SoCs that support USB 3.x
- - #phy-cells: Shall be 1 as it expects one argument for 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
+- compatible: should be one of
+	"brcm,brcmstb-usb-phy"
+	"brcm,bcm7216-usb-phy"
+	"brcm,bcm7211-usb-phy"
+
+- reg and reg-names properties requirements are specific to the
+  compatible string.
+  "brcm,brcmstb-usb-phy":
+    - reg: 1 or 2 offset and length pairs. One for the base CTRL registers
+           and an optional pair for systems with USB 3.x support
+    - reg-names: not specified
+  "brcm,bcm7216-usb-phy":
+    - reg: 3 offset and length pairs for CTRL, XHCI_EC and XHCI_GBL
+           registers
+    - reg-names: "ctrl", "xhci_ec", "xhci_gbl"
+  "brcm,bcm7211-usb-phy":
+    - reg: 5 offset and length pairs for CTRL, XHCI_EC, XHCI_GBL,
+           USB_PHY and USB_MDIO registers and an optional pair
+	   for the BDC registers
+    - reg-names: "ctrl", "xhci_ec", "xhci_gbl", "usb_phy", "usb_mdio", "bdc_ec"
+
+- #phy-cells: Shall be 1 as it expects one argument for 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
 
 Optional Properties:
 - clocks : clock phandles.
 - clock-names: String, clock name.
+- interrupts: wake interrupt
+- interrupt-names: "wake"
 - brcm,ipp: Boolean, Invert Port Power.
   Possible values are: 0 (Don't invert), 1 (Invert)
 - brcm,ioc: Boolean, Invert Over Current detection.
   Possible values are: 0 (Don't invert), 1 (Invert)
-NOTE: one or both of the following two properties must be set
-- brcm,has-xhci: Boolean indicating the phy has an XHCI phy.
-- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy.
 - dr_mode: String, PHY Device mode.
   Possible values are: "host", "peripheral ", "drd" or "typec-pd"
   If this property is not defined, the phy will default to "host" mode.
+- syscon-piarbctl: phandle to syscon for handling config registers
+NOTE: one or both of the following two properties must be set
+- brcm,has-xhci: Boolean indicating the phy has an XHCI phy.
+- brcm,has-eohci: Boolean indicating the phy has an EHCI/OHCI phy.
+
 
 Example:
 
@@ -41,3 +60,27 @@  usbphy_0: usb-phy@f0470200 {
 	clocks = <&usb20>, <&usb30>;
 	clock-names = "sw_usb", "sw_usb3";
 };
+
+usb-phy@29f0200 {
+	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>;
+	compatible = "brcm,bcm7211-usb-phy";
+	interrupts = <0x30>;
+	interrupt-parent = <&vpu_intr1_nosec_intc>;
+	interrupt-names = "wake";
+	#phy-cells = <0x1>;
+	brcm,has-xhci;
+	syscon-piarbctl = <&syscon_piarbctl>;
+	clocks = <&scmi_clk 256>;
+	clock-names = "sw_usb";
+};