Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1656437 > unrolled thread

[PATCH 0/3] Add Broadcom STB USB phy driver

Started byAl Cooper <alcooperx@gmail.com>
First post2017-06-02 20:10 +0200
Last post2017-06-02 20:10 +0200
Articles 7 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/3] Add Broadcom STB USB phy driver Al Cooper <alcooperx@gmail.com> - 2017-06-02 20:10 +0200
    [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document Al Cooper <alcooperx@gmail.com> - 2017-06-02 20:10 +0200
      Re: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding  document Kishon Vijay Abraham I <kishon@ti.com> - 2017-06-07 14:40 +0200
      Re: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding  document Rob Herring <robh@kernel.org> - 2017-06-09 00:20 +0200
        Re: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document Al Cooper <al.cooper@broadcom.com> - 2017-06-12 22:20 +0200
          Re: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document Al Cooper <al.cooper@broadcom.com> - 2017-06-12 23:00 +0200
    [PATCH 1/3] soc: brcmstb: Add Product ID and Family ID helper functions Al Cooper <alcooperx@gmail.com> - 2017-06-02 20:10 +0200

#1656437 — [PATCH 0/3] Add Broadcom STB USB phy driver

FromAl Cooper <alcooperx@gmail.com>
Date2017-06-02 20:10 +0200
Subject[PATCH 0/3] Add Broadcom STB USB phy driver
Message-ID<tNZbj-4Ci-1@gated-at.bofh.it>
Add a new USB Phy driver for Broadcom STB SoCs. This driver
supports Broadcom STB ARM and MIPS SoCs. This driver in
combination with the Broadcom STB ohci, ehci and xhci
drivers will enable USB1.1, USB2.0 and USB3.0 support.
This Phy driver also supports the Broadcom UDC gadget
driver.

Al Cooper (3):
  soc: brcmstb: Add Product ID and Family ID helper functions
  dt-bindings: Add Broadcom STB USB PHY binding document
  phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver

 .../bindings/phy/brcm,brcmstb-usb-phy.txt          |   37 +
 MAINTAINERS                                        |    7 +
 drivers/phy/Makefile                               |    4 +
 drivers/phy/phy-brcm-usb-init.c                    | 1111 ++++++++++++++++++++
 drivers/phy/phy-brcm-usb-init.h                    |  110 ++
 drivers/phy/phy-brcm-usb.c                         |  487 +++++++++
 drivers/soc/bcm/brcmstb/common.c                   |   12 +
 include/linux/soc/brcmstb/brcmstb.h                |   10 +
 8 files changed, 1778 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
 create mode 100644 drivers/phy/phy-brcm-usb-init.c
 create mode 100644 drivers/phy/phy-brcm-usb-init.h
 create mode 100644 drivers/phy/phy-brcm-usb.c

-- 
1.9.0.138.g2de3478

[toc] | [next] | [standalone]


#1656438 — [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document

FromAl Cooper <alcooperx@gmail.com>
Date2017-06-02 20:10 +0200
Subject[PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document
Message-ID<tNZbj-4Ci-3@gated-at.bofh.it>
In reply to#1656437
Add DT bindings document for Broadcom STB USB PHYs

Signed-off-by: Al Cooper <alcooperx@gmail.com>
---
 .../bindings/phy/brcm,brcmstb-usb-phy.txt          | 37 ++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt

diff --git a/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
new file mode 100644
index 0000000..e1e9b16
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
@@ -0,0 +1,37 @@
+Broadcom STB USB PHY
+
+Required properties:
+ - compatible: brcm,brcmstb-usb-phy
+ - reg: two offset and length pairs. 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 0 (1.1 and 2.0),
+	       1 (3.x)
+
+Optional Properties:
+- clocks : clock phandles.
+- clock-names: String, clock name.
+- 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)
+- brcm,has-xhci: Boolean indicating an optional 3.x only XHCI controller.
+- brcm,has-xhci-only: Boolean indicating an XHCI controller that supports
+  1.1, 2.0 and 3.0 devices
+- brcm,device: String, PHY Device mode.
+  Possible values are: off (Host), on (Device), dual (DRD)
+  or typec-pd (Type-C PD control)
+
+Example:
+
+usbphy_0: usb-phy@f0470200 {
+	reg = <0xf0470200 0xb8>,
+		<0xf0471940 0x6c0>;
+	compatible = "brcm,brcmstb-usb-phy";
+	#phy-cells = <1>;
+	brcm,ioc = <1>;
+	brcm,ipp = <1>;
+	brcm,has-xhci;
+	clocks = <&usb20>, <&usb30>;
+	clock-names = "sw_usb", "sw_usb3";
+};
-- 
1.9.0.138.g2de3478

[toc] | [prev] | [next] | [standalone]


#1659756 — Re: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document

FromKishon Vijay Abraham I <kishon@ti.com>
Date2017-06-07 14:40 +0200
SubjectRe: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document
Message-ID<tPIpI-6D4-25@gated-at.bofh.it>
In reply to#1656438
Hi,

On Friday 02 June 2017 11:31 PM, Al Cooper wrote:
> Add DT bindings document for Broadcom STB USB PHYs
> 
> Signed-off-by: Al Cooper <alcooperx@gmail.com>
> ---
>  .../bindings/phy/brcm,brcmstb-usb-phy.txt          | 37 ++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
> 
> diff --git a/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
> new file mode 100644
> index 0000000..e1e9b16
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
> @@ -0,0 +1,37 @@
> +Broadcom STB USB PHY
> +
> +Required properties:
> + - compatible: brcm,brcmstb-usb-phy
> + - reg: two offset and length pairs. The second pair specifies optional
> +        registers used by some of the SoCs that support USB 3.x

and the first pair?
> + - #phy-cells: Shall be 1 as it expects one argument for setting
> +	       the type of the PHY. Possible values are 0 (1.1 and 2.0),
> +	       1 (3.x)

It should use PHY_TYPE_USB2 or PHY_TYPE_USB3 (see include/dt-bindings/phy/phy.h).

Thanks
Kishon

[toc] | [prev] | [next] | [standalone]


#1661757 — Re: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document

FromRob Herring <robh@kernel.org>
Date2017-06-09 00:20 +0200
SubjectRe: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document
Message-ID<tQdWy-1BJ-11@gated-at.bofh.it>
In reply to#1656438
On Fri, Jun 02, 2017 at 02:01:51PM -0400, Al Cooper wrote:
> Add DT bindings document for Broadcom STB USB PHYs
> 
> Signed-off-by: Al Cooper <alcooperx@gmail.com>
> ---
>  .../bindings/phy/brcm,brcmstb-usb-phy.txt          | 37 ++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
> 
> diff --git a/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
> new file mode 100644
> index 0000000..e1e9b16
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/phy/brcm,brcmstb-usb-phy.txt
> @@ -0,0 +1,37 @@
> +Broadcom STB USB PHY
> +
> +Required properties:
> + - compatible: brcm,brcmstb-usb-phy
> + - reg: two offset and length pairs. 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 0 (1.1 and 2.0),
> +	       1 (3.x)
> +
> +Optional Properties:
> +- clocks : clock phandles.
> +- clock-names: String, clock name.
> +- 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)
> +- brcm,has-xhci: Boolean indicating an optional 3.x only XHCI controller.
> +- brcm,has-xhci-only: Boolean indicating an XHCI controller that supports
> +  1.1, 2.0 and 3.0 devices
> +- brcm,device: String, PHY Device mode.
> +  Possible values are: off (Host), on (Device), dual (DRD)
> +  or typec-pd (Type-C PD control)

I believe we have standard property for this though maybe not type C.

off/on seem strange for meaning host/device as well.

> +
> +Example:
> +
> +usbphy_0: usb-phy@f0470200 {
> +	reg = <0xf0470200 0xb8>,
> +		<0xf0471940 0x6c0>;
> +	compatible = "brcm,brcmstb-usb-phy";
> +	#phy-cells = <1>;
> +	brcm,ioc = <1>;
> +	brcm,ipp = <1>;
> +	brcm,has-xhci;
> +	clocks = <&usb20>, <&usb30>;
> +	clock-names = "sw_usb", "sw_usb3";
> +};
> -- 
> 1.9.0.138.g2de3478
> 
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[toc] | [prev] | [next] | [standalone]


#1664199 — Re: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document

FromAl Cooper <al.cooper@broadcom.com>
Date2017-06-12 22:20 +0200
SubjectRe: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document
Message-ID<tRDYC-6RQ-15@gated-at.bofh.it>
In reply to#1661757
On Thu, Jun 8, 2017 at 6:11 PM, Rob Herring <robh@kernel.org> wrote:
>> +- brcm,device: String, PHY Device mode.
>> +  Possible values are: off (Host), on (Device), dual (DRD)
>> +  or typec-pd (Type-C PD control)
>
> I believe we have standard property for this though maybe not type C.
>
> off/on seem strange for meaning host/device as well.

I'll change this to:

mode: String, PHY Device mode.
Possible values are: "host", "device", "drd" or "typec-pd"

Al

[toc] | [prev] | [next] | [standalone]


#1664222 — Re: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document

FromAl Cooper <al.cooper@broadcom.com>
Date2017-06-12 23:00 +0200
SubjectRe: [PATCH 2/3] dt-bindings: Add Broadcom STB USB PHY binding document
Message-ID<tREBk-77B-19@gated-at.bofh.it>
In reply to#1664199
On Mon, Jun 12, 2017 at 4:19 PM, Al Cooper <al.cooper@broadcom.com> wrote:
> On Thu, Jun 8, 2017 at 6:11 PM, Rob Herring <robh@kernel.org> wrote:
>>> +- brcm,device: String, PHY Device mode.
>>> +  Possible values are: off (Host), on (Device), dual (DRD)
>>> +  or typec-pd (Type-C PD control)
>>
>> I believe we have standard property for this though maybe not type C.
>>
>> off/on seem strange for meaning host/device as well.
>
> I'll change this to:
>
> mode: String, PHY Device mode.
> Possible values are: "host", "device", "drd" or "typec-pd"

I just found "dr_mode" in Documentation/devicetree/bindings/usb/generic.txt.
I'd like to change this to:

dr_mode: String, PHY Device mode.
Possible values are: "host", "device", "drd" or "typec-pd"

I used a standard property name ("dr_mode") and 2 of the standard
values ("host", "device") and added 2 new values "drd" and "typec_pd".

Thanks
Al

[toc] | [prev] | [next] | [standalone]


#1656443 — [PATCH 1/3] soc: brcmstb: Add Product ID and Family ID helper functions

FromAl Cooper <alcooperx@gmail.com>
Date2017-06-02 20:10 +0200
Subject[PATCH 1/3] soc: brcmstb: Add Product ID and Family ID helper functions
Message-ID<tNZbk-4Ci-27@gated-at.bofh.it>
In reply to#1656437
Signed-off-by: Al Cooper <alcooperx@gmail.com>
---
 drivers/soc/bcm/brcmstb/common.c    | 12 ++++++++++++
 include/linux/soc/brcmstb/brcmstb.h | 10 ++++++++++
 2 files changed, 22 insertions(+)

diff --git a/drivers/soc/bcm/brcmstb/common.c b/drivers/soc/bcm/brcmstb/common.c
index b6195fd..184dbf5 100644
--- a/drivers/soc/bcm/brcmstb/common.c
+++ b/drivers/soc/bcm/brcmstb/common.c
@@ -40,6 +40,18 @@ bool soc_is_brcmstb(void)
 	return of_match_node(brcmstb_machine_match, root) != NULL;
 }
 
+u32 brcmstb_get_family_id(void)
+{
+	return family_id;
+}
+EXPORT_SYMBOL(brcmstb_get_family_id);
+
+u32 brcmstb_get_product_id(void)
+{
+	return product_id;
+}
+EXPORT_SYMBOL(brcmstb_get_product_id);
+
 static const struct of_device_id sun_top_ctrl_match[] = {
 	{ .compatible = "brcm,bcm7125-sun-top-ctrl", },
 	{ .compatible = "brcm,bcm7346-sun-top-ctrl", },
diff --git a/include/linux/soc/brcmstb/brcmstb.h b/include/linux/soc/brcmstb/brcmstb.h
index 337ce41..23e4dc9 100644
--- a/include/linux/soc/brcmstb/brcmstb.h
+++ b/include/linux/soc/brcmstb/brcmstb.h
@@ -1,10 +1,20 @@
 #ifndef __BRCMSTB_SOC_H
 #define __BRCMSTB_SOC_H
 
+#define BRCM_ID(reg)	((u32)reg >> 28 ? (u32)reg >> 16 : (u32)reg >> 8)
+#define BRCM_REV(reg)	((u32)reg & 0xff)
+
 /*
  * Bus Interface Unit control register setup, must happen early during boot,
  * before SMP is brought up, called by machine entry point.
  */
 void brcmstb_biuctrl_init(void);
 
+/*
+ * Helper functions for getting family or product id from the
+ * SoC driver.
+ */
+u32 brcmstb_get_family_id(void);
+u32 brcmstb_get_product_id(void);
+
 #endif /* __BRCMSTB_SOC_H */
-- 
1.9.0.138.g2de3478

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web