109 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From b11df0c9efbbe2b52c5133ca15030f01b43ec6ef Mon Sep 17 00:00:00 2001
 | |
| From: Al Cooper <alcooperx@gmail.com>
 | |
| Date: Fri, 3 Jan 2020 13:18:04 -0500
 | |
| Subject: [PATCH] dt-bindings: Add Broadcom STB USB PHY binding document
 | |
| 
 | |
| Add support for bcm7216 and bcm7211
 | |
| 
 | |
| Signed-off-by: Al Cooper <alcooperx@gmail.com>
 | |
| Reviewed-by: Rob Herring <robh@kernel.org>
 | |
| Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
 | |
| Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
 | |
| ---
 | |
|  .../bindings/phy/brcm,brcmstb-usb-phy.txt     | 69 +++++++++++++++----
 | |
|  1 file changed, 56 insertions(+), 13 deletions(-)
 | |
| 
 | |
| --- 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: wakeup interrupt
 | |
| +- interrupt-names: "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.
 | |
| +- brcm,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";
 | |
| +};
 | 
