diff mbox

[RESEND] phy: sun4i-usb: add support for R40 USB PHY

Message ID 20180103084944.3145-1-icenowy@aosc.io (mailing list archive)
State New, archived
Headers show

Commit Message

Icenowy Zheng Jan. 3, 2018, 8:49 a.m. UTC
Allwinner R40 features a USB PHY like the one in A64, but with 3 PHYs.

Add support for it.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Rob Herring <robh@kernel.org>
---
When resending, the ACK's by Maxime and Rob are added.

 Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt |  1 +
 drivers/phy/allwinner/phy-sun4i-usb.c                   | 12 ++++++++++++
 2 files changed, 13 insertions(+)

Comments

Hermann Lauer Jan. 15, 2018, 3:06 p.m. UTC | #1
On Wed, Jan 03, 2018 at 04:49:44PM +0800, Icenowy Zheng wrote:
> Allwinner R40 features a USB PHY like the one in A64, but with 3 PHYs.
> 
> Add support for it.
> 
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> Acked-by: Rob Herring <robh@kernel.org>

You may add

Tested-by: Hermann.Lauer@iwr.uni-heidelberg.de

as my Banana Pi M2 Ultra is running over a week now with an usb-network
adapter which is needed until devicetree entries for the Banana Pi M2 Ultra
are available for the ccu register enabling allowing access to the ethernet phy.

Thanks !

> ---
> When resending, the ACK's by Maxime and Rob are added.
> 
>  Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt |  1 +
>  drivers/phy/allwinner/phy-sun4i-usb.c                   | 12 ++++++++++++
>  2 files changed, 13 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
> index c1ce5a0a652e..07ca4ec4a745 100644
> --- a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
> +++ b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
> @@ -11,6 +11,7 @@ Required properties:
>    * allwinner,sun8i-a33-usb-phy
>    * allwinner,sun8i-a83t-usb-phy
>    * allwinner,sun8i-h3-usb-phy
> +  * allwinner,sun8i-r40-usb-phy
>    * allwinner,sun8i-v3s-usb-phy
>    * allwinner,sun50i-a64-usb-phy
>  - reg : a list of offset + length pairs
> diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c
> index aa857be692cf..bee798892b21 100644
> --- a/drivers/phy/allwinner/phy-sun4i-usb.c
> +++ b/drivers/phy/allwinner/phy-sun4i-usb.c
> @@ -112,6 +112,7 @@ enum sun4i_usb_phy_type {
>  	sun8i_a33_phy,
>  	sun8i_a83t_phy,
>  	sun8i_h3_phy,
> +	sun8i_r40_phy,
>  	sun8i_v3s_phy,
>  	sun50i_a64_phy,
>  };
> @@ -919,6 +920,16 @@ static const struct sun4i_usb_phy_cfg sun8i_h3_cfg = {
>  	.phy0_dual_route = true,
>  };
>  
> +static const struct sun4i_usb_phy_cfg sun8i_r40_cfg = {
> +	.num_phys = 3,
> +	.type = sun8i_r40_phy,
> +	.disc_thresh = 3,
> +	.phyctl_offset = REG_PHYCTL_A33,
> +	.dedicated_clocks = true,
> +	.enable_pmu_unk1 = true,
> +	.phy0_dual_route = true,
> +};
> +
>  static const struct sun4i_usb_phy_cfg sun8i_v3s_cfg = {
>  	.num_phys = 1,
>  	.type = sun8i_v3s_phy,
> @@ -948,6 +959,7 @@ static const struct of_device_id sun4i_usb_phy_of_match[] = {
>  	{ .compatible = "allwinner,sun8i-a33-usb-phy", .data = &sun8i_a33_cfg },
>  	{ .compatible = "allwinner,sun8i-a83t-usb-phy", .data = &sun8i_a83t_cfg },
>  	{ .compatible = "allwinner,sun8i-h3-usb-phy", .data = &sun8i_h3_cfg },
> +	{ .compatible = "allwinner,sun8i-r40-usb-phy", .data = &sun8i_r40_cfg },
>  	{ .compatible = "allwinner,sun8i-v3s-usb-phy", .data = &sun8i_v3s_cfg },
>  	{ .compatible = "allwinner,sun50i-a64-usb-phy",
>  	  .data = &sun50i_a64_cfg},
Chen-Yu Tsai Jan. 19, 2018, 6:25 a.m. UTC | #2
Hi Kishon,

On Mon, Jan 15, 2018 at 11:06 PM, Hermann Lauer
<Hermann.Lauer@iwr.uni-heidelberg.de> wrote:
> On Wed, Jan 03, 2018 at 04:49:44PM +0800, Icenowy Zheng wrote:
>> Allwinner R40 features a USB PHY like the one in A64, but with 3 PHYs.
>>
>> Add support for it.
>>
>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
>> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>> Acked-by: Rob Herring <robh@kernel.org>
>
> You may add
>
> Tested-by: Hermann.Lauer@iwr.uni-heidelberg.de

Gentle ping for this patch to be included in 4.16

ChenYu
Icenowy Zheng Jan. 19, 2018, 6:30 a.m. UTC | #3
于 2018年1月19日 GMT+08:00 下午2:25:09, Chen-Yu Tsai <wens@csie.org> 写到:
>Hi Kishon,
>
>On Mon, Jan 15, 2018 at 11:06 PM, Hermann Lauer
><Hermann.Lauer@iwr.uni-heidelberg.de> wrote:
>> On Wed, Jan 03, 2018 at 04:49:44PM +0800, Icenowy Zheng wrote:
>>> Allwinner R40 features a USB PHY like the one in A64, but with 3
>PHYs.
>>>
>>> Add support for it.
>>>
>>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
>>> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>>> Acked-by: Rob Herring <robh@kernel.org>
>>
>> You may add
>>
>> Tested-by: Hermann.Lauer@iwr.uni-heidelberg.de
>
>Gentle ping for this patch to be included in 4.16

I think maybe I forgot PATCH in title so it didn't enter patchwork?

>
>ChenYu
>
>_______________________________________________
>linux-arm-kernel mailing list
>linux-arm-kernel@lists.infradead.org
>http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Kishon Vijay Abraham I Jan. 19, 2018, 8:13 a.m. UTC | #4
Hi,

On Friday 19 January 2018 11:55 AM, Chen-Yu Tsai wrote:
> Hi Kishon,
> 
> On Mon, Jan 15, 2018 at 11:06 PM, Hermann Lauer
> <Hermann.Lauer@iwr.uni-heidelberg.de> wrote:
>> On Wed, Jan 03, 2018 at 04:49:44PM +0800, Icenowy Zheng wrote:
>>> Allwinner R40 features a USB PHY like the one in A64, but with 3 PHYs.
>>>
>>> Add support for it.
>>>
>>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
>>> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>>> Acked-by: Rob Herring <robh@kernel.org>
>>
>> You may add
>>
>> Tested-by: Hermann.Lauer@iwr.uni-heidelberg.de
> 
> Gentle ping for this patch to be included in 4.16

Sent the pull request for 4.16 to Greg on Jan 2nd. So this can't be included in
4.16. Sorry.

Thanks
Kishon
Kishon Vijay Abraham I Feb. 16, 2018, 11:13 a.m. UTC | #5
On Friday 19 January 2018 01:43 PM, Kishon Vijay Abraham I wrote:
> Hi,
> 
> On Friday 19 January 2018 11:55 AM, Chen-Yu Tsai wrote:
>> Hi Kishon,
>>
>> On Mon, Jan 15, 2018 at 11:06 PM, Hermann Lauer
>> <Hermann.Lauer@iwr.uni-heidelberg.de> wrote:
>>> On Wed, Jan 03, 2018 at 04:49:44PM +0800, Icenowy Zheng wrote:
>>>> Allwinner R40 features a USB PHY like the one in A64, but with 3 PHYs.
>>>>
>>>> Add support for it.
>>>>
>>>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
>>>> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>>>> Acked-by: Rob Herring <robh@kernel.org>
>>>
>>> You may add
>>>
>>> Tested-by: Hermann.Lauer@iwr.uni-heidelberg.de
>>
>> Gentle ping for this patch to be included in 4.16
> 
> Sent the pull request for 4.16 to Greg on Jan 2nd. So this can't be included in
> 4.16. Sorry.

merged now, thanks!

-Kishon
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
index c1ce5a0a652e..07ca4ec4a745 100644
--- a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
+++ b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
@@ -11,6 +11,7 @@  Required properties:
   * allwinner,sun8i-a33-usb-phy
   * allwinner,sun8i-a83t-usb-phy
   * allwinner,sun8i-h3-usb-phy
+  * allwinner,sun8i-r40-usb-phy
   * allwinner,sun8i-v3s-usb-phy
   * allwinner,sun50i-a64-usb-phy
 - reg : a list of offset + length pairs
diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c
index aa857be692cf..bee798892b21 100644
--- a/drivers/phy/allwinner/phy-sun4i-usb.c
+++ b/drivers/phy/allwinner/phy-sun4i-usb.c
@@ -112,6 +112,7 @@  enum sun4i_usb_phy_type {
 	sun8i_a33_phy,
 	sun8i_a83t_phy,
 	sun8i_h3_phy,
+	sun8i_r40_phy,
 	sun8i_v3s_phy,
 	sun50i_a64_phy,
 };
@@ -919,6 +920,16 @@  static const struct sun4i_usb_phy_cfg sun8i_h3_cfg = {
 	.phy0_dual_route = true,
 };
 
+static const struct sun4i_usb_phy_cfg sun8i_r40_cfg = {
+	.num_phys = 3,
+	.type = sun8i_r40_phy,
+	.disc_thresh = 3,
+	.phyctl_offset = REG_PHYCTL_A33,
+	.dedicated_clocks = true,
+	.enable_pmu_unk1 = true,
+	.phy0_dual_route = true,
+};
+
 static const struct sun4i_usb_phy_cfg sun8i_v3s_cfg = {
 	.num_phys = 1,
 	.type = sun8i_v3s_phy,
@@ -948,6 +959,7 @@  static const struct of_device_id sun4i_usb_phy_of_match[] = {
 	{ .compatible = "allwinner,sun8i-a33-usb-phy", .data = &sun8i_a33_cfg },
 	{ .compatible = "allwinner,sun8i-a83t-usb-phy", .data = &sun8i_a83t_cfg },
 	{ .compatible = "allwinner,sun8i-h3-usb-phy", .data = &sun8i_h3_cfg },
+	{ .compatible = "allwinner,sun8i-r40-usb-phy", .data = &sun8i_r40_cfg },
 	{ .compatible = "allwinner,sun8i-v3s-usb-phy", .data = &sun8i_v3s_cfg },
 	{ .compatible = "allwinner,sun50i-a64-usb-phy",
 	  .data = &sun50i_a64_cfg},