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


Groups > linux.kernel > #1411485 > unrolled thread

[PATCH] ARM: BCM5301X: Specify PHY of USB 2.0 in DT

Started byRafał Miłecki <zajec5@gmail.com>
First post2016-06-01 21:20 +0200
Last post2016-06-01 22:10 +0200
Articles 5 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] ARM: BCM5301X: Specify PHY of USB 2.0 in DT Rafał Miłecki <zajec5@gmail.com> - 2016-06-01 21:20 +0200
    Re: [PATCH] ARM: BCM5301X: Specify PHY of USB 2.0 in DT Florian Fainelli <f.fainelli@gmail.com> - 2016-06-01 21:30 +0200
      Re: [PATCH] ARM: BCM5301X: Specify PHY of USB 2.0 in DT Rafał Miłecki <zajec5@gmail.com> - 2016-06-01 21:40 +0200
        Re: [PATCH] ARM: BCM5301X: Specify PHY of USB 2.0 in DT Florian Fainelli <f.fainelli@gmail.com> - 2016-06-01 22:00 +0200
    [PATCH V2] ARM: BCM5301X: Specify PHY of USB 2.0 in DT Rafał Miłecki <zajec5@gmail.com> - 2016-06-01 22:10 +0200

#1411485 — [PATCH] ARM: BCM5301X: Specify PHY of USB 2.0 in DT

FromRafał Miłecki <zajec5@gmail.com>
Date2016-06-01 21:20 +0200
Subject[PATCH] ARM: BCM5301X: Specify PHY of USB 2.0 in DT
Message-ID<rFjQl-44X-3@gated-at.bofh.it>
Driver for Northstar USB 2.0 PHY was added in 4.7-rc1 by:
commit d3feb4067335 ("phy: bcm-ns-usb2: new driver for USB 2.0 PHY on
Northstar").
It should be used to let EHCI platform driver init PHY.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
 arch/arm/boot/dts/bcm5301x.dtsi | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index 7d4d29b..9300e19 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -140,6 +140,22 @@
 		};
 	};
 
+	phys {
+		compatible = "simple-bus";
+		ranges = <0x00000000 0x18000000 0x00100000>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		usb2_phy2: usb2-phy {
+			compatible = "brcm,ns-usb2-phy";
+			reg = <0x0000c000 0x1000>;
+			reg-names = "dmu";
+			#phy-cells = <0>;
+			clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
+			clock-names = "phy-ref-clk";
+		};
+	};
+
 	axi@18000000 {
 		compatible = "brcm,bus-axi";
 		reg = <0x18000000 0x1000>;
@@ -217,6 +233,8 @@
 
 			#address-cells = <1>;
 			#size-cells = <1>;
+
+			phys = <&usb2_phy2>;
 		};
 
 		usb3: usb3@23000 {
-- 
1.8.4.5

[toc] | [next] | [standalone]


#1411487

FromFlorian Fainelli <f.fainelli@gmail.com>
Date2016-06-01 21:30 +0200
Message-ID<rFk02-488-7@gated-at.bofh.it>
In reply to#1411485
On 06/01/2016 12:16 PM, Rafał Miłecki wrote:
> Driver for Northstar USB 2.0 PHY was added in 4.7-rc1 by:
> commit d3feb4067335 ("phy: bcm-ns-usb2: new driver for USB 2.0 PHY on
> Northstar").
> It should be used to let EHCI platform driver init PHY.
> 
> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
> ---
>  arch/arm/boot/dts/bcm5301x.dtsi | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
> index 7d4d29b..9300e19 100644
> --- a/arch/arm/boot/dts/bcm5301x.dtsi
> +++ b/arch/arm/boot/dts/bcm5301x.dtsi
> @@ -140,6 +140,22 @@
>  		};
>  	};
>  
> +	phys {
> +		compatible = "simple-bus";
> +		ranges = <0x00000000 0x18000000 0x00100000>;
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +
> +		usb2_phy2: usb2-phy {
> +			compatible = "brcm,ns-usb2-phy";
> +			reg = <0x0000c000 0x1000>;
> +			reg-names = "dmu";
> +			#phy-cells = <0>;
> +			clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
> +			clock-names = "phy-ref-clk";
> +		};

You guys need to get everything straigthen up when it comes to busing
and child nodes for bcm53101x.dtsi, why do we need a "simple-bus" node
here which overlaps in part with the brcm-bus-axi node's range?

The more I look at BCMA and how it gets used for a non-external WLAN
card, and the less I am convinced it brings anything useful to the game,
quite the contrary...

> +	};
> +
>  	axi@18000000 {
>  		compatible = "brcm,bus-axi";
>  		reg = <0x18000000 0x1000>;
> @@ -217,6 +233,8 @@
>  
>  			#address-cells = <1>;
>  			#size-cells = <1>;
> +
> +			phys = <&usb2_phy2>;
>  		};
>  
>  		usb3: usb3@23000 {
> 


-- 
Florian

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


#1411499

FromRafał Miłecki <zajec5@gmail.com>
Date2016-06-01 21:40 +0200
Message-ID<rFk9I-4bk-37@gated-at.bofh.it>
In reply to#1411487
On 1 June 2016 at 21:21, Florian Fainelli <f.fainelli@gmail.com> wrote:
> On 06/01/2016 12:16 PM, Rafał Miłecki wrote:
>> Driver for Northstar USB 2.0 PHY was added in 4.7-rc1 by:
>> commit d3feb4067335 ("phy: bcm-ns-usb2: new driver for USB 2.0 PHY on
>> Northstar").
>> It should be used to let EHCI platform driver init PHY.
>>
>> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
>> ---
>>  arch/arm/boot/dts/bcm5301x.dtsi | 18 ++++++++++++++++++
>>  1 file changed, 18 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
>> index 7d4d29b..9300e19 100644
>> --- a/arch/arm/boot/dts/bcm5301x.dtsi
>> +++ b/arch/arm/boot/dts/bcm5301x.dtsi
>> @@ -140,6 +140,22 @@
>>               };
>>       };
>>
>> +     phys {
>> +             compatible = "simple-bus";
>> +             ranges = <0x00000000 0x18000000 0x00100000>;
>> +             #address-cells = <1>;
>> +             #size-cells = <1>;
>> +
>> +             usb2_phy2: usb2-phy {
>> +                     compatible = "brcm,ns-usb2-phy";
>> +                     reg = <0x0000c000 0x1000>;
>> +                     reg-names = "dmu";
>> +                     #phy-cells = <0>;
>> +                     clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
>> +                     clock-names = "phy-ref-clk";
>> +             };
>
> You guys need to get everything straigthen up when it comes to busing
> and child nodes for bcm53101x.dtsi, why do we need a "simple-bus" node
> here which overlaps in part with the brcm-bus-axi node's range?

I believed I'm making things cleaner by adding a separated node for
PHYs (in the future there will be also USB 3.0 PHY and probably a PCIe
PHY). I'm fine with placing this PHY node somewhere else if you think
it better fits there.

-- 
Rafał

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


#1411515

FromFlorian Fainelli <f.fainelli@gmail.com>
Date2016-06-01 22:00 +0200
Message-ID<rFkt4-4lQ-27@gated-at.bofh.it>
In reply to#1411499
On 06/01/2016 12:35 PM, Rafał Miłecki wrote:
> On 1 June 2016 at 21:21, Florian Fainelli <f.fainelli@gmail.com> wrote:
>> On 06/01/2016 12:16 PM, Rafał Miłecki wrote:
>>> Driver for Northstar USB 2.0 PHY was added in 4.7-rc1 by:
>>> commit d3feb4067335 ("phy: bcm-ns-usb2: new driver for USB 2.0 PHY on
>>> Northstar").
>>> It should be used to let EHCI platform driver init PHY.
>>>
>>> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
>>> ---
>>>  arch/arm/boot/dts/bcm5301x.dtsi | 18 ++++++++++++++++++
>>>  1 file changed, 18 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
>>> index 7d4d29b..9300e19 100644
>>> --- a/arch/arm/boot/dts/bcm5301x.dtsi
>>> +++ b/arch/arm/boot/dts/bcm5301x.dtsi
>>> @@ -140,6 +140,22 @@
>>>               };
>>>       };
>>>
>>> +     phys {
>>> +             compatible = "simple-bus";
>>> +             ranges = <0x00000000 0x18000000 0x00100000>;
>>> +             #address-cells = <1>;
>>> +             #size-cells = <1>;
>>> +
>>> +             usb2_phy2: usb2-phy {
>>> +                     compatible = "brcm,ns-usb2-phy";
>>> +                     reg = <0x0000c000 0x1000>;
>>> +                     reg-names = "dmu";
>>> +                     #phy-cells = <0>;
>>> +                     clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
>>> +                     clock-names = "phy-ref-clk";
>>> +             };
>>
>> You guys need to get everything straigthen up when it comes to busing
>> and child nodes for bcm53101x.dtsi, why do we need a "simple-bus" node
>> here which overlaps in part with the brcm-bus-axi node's range?
> 
> I believed I'm making things cleaner by adding a separated node for
> PHYs (in the future there will be also USB 3.0 PHY and probably a PCIe
> PHY). I'm fine with placing this PHY node somewhere else if you think
> it better fits there.

The intent looks good, but it seems to me (and the datasheet helps here
too) that extending the brcm,bus-axi node to cover a wider register
range size could allow you to put the different PHYs as child nodes of
that bus. That way even if the core is probed with BCMA you still have a
proper of_node refefence that your driver can use.

Maybe as a better immediate solution, something like the NAND controller
node would be more elegant, where it only consumes its register space
and not more?
-- 
Florian

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


#1411518 — [PATCH V2] ARM: BCM5301X: Specify PHY of USB 2.0 in DT

FromRafał Miłecki <zajec5@gmail.com>
Date2016-06-01 22:10 +0200
Subject[PATCH V2] ARM: BCM5301X: Specify PHY of USB 2.0 in DT
Message-ID<rFkCK-4FN-13@gated-at.bofh.it>
In reply to#1411485
Driver for Northstar USB 2.0 PHY was added in 4.7-rc1 by:
commit d3feb4067335 ("phy: bcm-ns-usb2: new driver for USB 2.0 PHY on
Northstar").
It should be used to let EHCI platform driver init PHY.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
---
V2: Add usb2_phy as child of root node instead of adding separated phys
    "simple-bus".
---
 arch/arm/boot/dts/bcm5301x.dtsi | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index 7d4d29b..142811d 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -140,6 +140,15 @@
 		};
 	};
 
+	usb2_phy: usb2-phy {
+		compatible = "brcm,ns-usb2-phy";
+		reg = <0x1800c000 0x1000>;
+		reg-names = "dmu";
+		#phy-cells = <0>;
+		clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
+		clock-names = "phy-ref-clk";
+	};
+
 	axi@18000000 {
 		compatible = "brcm,bus-axi";
 		reg = <0x18000000 0x1000>;
@@ -217,6 +226,8 @@
 
 			#address-cells = <1>;
 			#size-cells = <1>;
+
+			phys = <&usb2_phy>;
 		};
 
 		usb3: usb3@23000 {
-- 
1.8.4.5

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web