All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration
@ 2020-06-25 11:18 Fabio Estevam
  2020-06-25 11:18 ` [PATCH v2 2/2] ARM: dts: imx6q-tbs2910: Add an mdio node Fabio Estevam
  2020-06-25 16:29 ` [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration Soeren Moch
  0 siblings, 2 replies; 7+ messages in thread
From: Fabio Estevam @ 2020-06-25 11:18 UTC (permalink / raw)
  To: shawnguo; +Cc: smoch, Fabio Estevam, linux-arm-kernel

According to the AR8035 datasheet:

"When using crystal, the clock is generated internally after power is
stable. For a reliable power on reset, suggest to keep asserting the reset
low long enough (10ms) to ensure the clock is stable and clock-to-reset 1ms
requirement is satisfied."

Pass the 'phy-reset-duration' property to meet such requirement.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
Changes since v1:
- None.

 arch/arm/boot/dts/imx6q-tbs2910.dts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/imx6q-tbs2910.dts b/arch/arm/boot/dts/imx6q-tbs2910.dts
index bfff87ce2e1f..7b03b2787430 100644
--- a/arch/arm/boot/dts/imx6q-tbs2910.dts
+++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
@@ -100,6 +100,7 @@
 	pinctrl-0 = <&pinctrl_enet>;
 	phy-mode = "rgmii-id";
 	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
+	phy-reset-duration = <10>;
 	status = "okay";
 };
 
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/2] ARM: dts: imx6q-tbs2910: Add an mdio node
  2020-06-25 11:18 [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration Fabio Estevam
@ 2020-06-25 11:18 ` Fabio Estevam
  2020-06-25 16:29   ` Soeren Moch
  2020-06-25 16:29 ` [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration Soeren Moch
  1 sibling, 1 reply; 7+ messages in thread
From: Fabio Estevam @ 2020-06-25 11:18 UTC (permalink / raw)
  To: shawnguo; +Cc: smoch, Fabio Estevam, linux-arm-kernel

imx6q-tbs2910 has an Atheros AR8035 Ethernet PHY at address 4.

The AR8035 provides a 125MHz clock to the ENET_REF_CLK i.MX6 pin.

Improve the Ethernet representation by adding an mdio node with such
information.

This fixes an Ethernet regression in U-Boot as U-Boot AR803X driver now
expects the 'qca,clk-out-frequency' property to be passed via
device tree.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
Changes since v1:
- Use the correct board name in teh Subject.

 arch/arm/boot/dts/imx6q-tbs2910.dts | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm/boot/dts/imx6q-tbs2910.dts b/arch/arm/boot/dts/imx6q-tbs2910.dts
index 7b03b2787430..dfba19cd7af5 100644
--- a/arch/arm/boot/dts/imx6q-tbs2910.dts
+++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
@@ -101,7 +101,18 @@
 	phy-mode = "rgmii-id";
 	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
 	phy-reset-duration = <10>;
+	phy-handle = <&phy>;
 	status = "okay";
+
+	mdio {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		phy: ethernet-phy@4 {
+			reg = <4>;
+			qca,clk-out-frequency = <125000000>;
+		};
+	};
 };
 
 &hdmi {
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration
  2020-06-25 11:18 [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration Fabio Estevam
  2020-06-25 11:18 ` [PATCH v2 2/2] ARM: dts: imx6q-tbs2910: Add an mdio node Fabio Estevam
@ 2020-06-25 16:29 ` Soeren Moch
  2020-07-13  1:19   ` Shawn Guo
  1 sibling, 1 reply; 7+ messages in thread
From: Soeren Moch @ 2020-06-25 16:29 UTC (permalink / raw)
  To: Fabio Estevam, shawnguo; +Cc: linux-arm-kernel

Hi Fabio,

On 25.06.20 13:18, Fabio Estevam wrote:
> According to the AR8035 datasheet:
>
> "When using crystal, the clock is generated internally after power is
> stable. For a reliable power on reset, suggest to keep asserting the reset
> low long enough (10ms) to ensure the clock is stable and clock-to-reset 1ms
> requirement is satisfied."
>
> Pass the 'phy-reset-duration' property to meet such requirement.
>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
"phy-reset-duration" is listed as deprecated in
Documentation/devicetree/bindings/net/fsl-fec.txt .
So maybe it is not the best option, but it should work.

Reviewed-by: Soeren Moch <smoch@web.de>

Thanks,
Soeren
> ---
> Changes since v1:
> - None.
>
>  arch/arm/boot/dts/imx6q-tbs2910.dts | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm/boot/dts/imx6q-tbs2910.dts b/arch/arm/boot/dts/imx6q-tbs2910.dts
> index bfff87ce2e1f..7b03b2787430 100644
> --- a/arch/arm/boot/dts/imx6q-tbs2910.dts
> +++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
> @@ -100,6 +100,7 @@
>  	pinctrl-0 = <&pinctrl_enet>;
>  	phy-mode = "rgmii-id";
>  	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> +	phy-reset-duration = <10>;
>  	status = "okay";
>  };
>


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: imx6q-tbs2910: Add an mdio node
  2020-06-25 11:18 ` [PATCH v2 2/2] ARM: dts: imx6q-tbs2910: Add an mdio node Fabio Estevam
@ 2020-06-25 16:29   ` Soeren Moch
  2020-07-13  1:18     ` Shawn Guo
  0 siblings, 1 reply; 7+ messages in thread
From: Soeren Moch @ 2020-06-25 16:29 UTC (permalink / raw)
  To: Fabio Estevam, shawnguo; +Cc: linux-arm-kernel

Hi Fabio,

On 25.06.20 13:18, Fabio Estevam wrote:
> imx6q-tbs2910 has an Atheros AR8035 Ethernet PHY at address 4.
>
> The AR8035 provides a 125MHz clock to the ENET_REF_CLK i.MX6 pin.
>
> Improve the Ethernet representation by adding an mdio node with such
> information.
>
> This fixes an Ethernet regression in U-Boot as U-Boot AR803X driver now
> expects the 'qca,clk-out-frequency' property to be passed via
> device tree.
>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
Due to my experience Shawn likes the properties sorted alphabetically,
with some exceptions.
I'm not sure if the "phy-handle" property is such exception.

But this works, describes the hardware correctly, and fixes ethernet
problems in U-Boot.

Reviewed-by: Soeren Moch <smoch@web.de>


Tested in U-Boot and linux-5.7:

Tested-by: Soeren Moch <smoch@web.de>

Thanks,
Soeren
> ---
> Changes since v1:
> - Use the correct board name in teh Subject.
>
>  arch/arm/boot/dts/imx6q-tbs2910.dts | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6q-tbs2910.dts b/arch/arm/boot/dts/imx6q-tbs2910.dts
> index 7b03b2787430..dfba19cd7af5 100644
> --- a/arch/arm/boot/dts/imx6q-tbs2910.dts
> +++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
> @@ -101,7 +101,18 @@
>  	phy-mode = "rgmii-id";
>  	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
>  	phy-reset-duration = <10>;
> +	phy-handle = <&phy>;
>  	status = "okay";
> +
> +	mdio {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		phy: ethernet-phy@4 {
> +			reg = <4>;
> +			qca,clk-out-frequency = <125000000>;
> +		};
> +	};
>  };
>  
>  &hdmi {



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 2/2] ARM: dts: imx6q-tbs2910: Add an mdio node
  2020-06-25 16:29   ` Soeren Moch
@ 2020-07-13  1:18     ` Shawn Guo
  0 siblings, 0 replies; 7+ messages in thread
From: Shawn Guo @ 2020-07-13  1:18 UTC (permalink / raw)
  To: Soeren Moch; +Cc: Fabio Estevam, linux-arm-kernel

On Thu, Jun 25, 2020 at 06:29:25PM +0200, Soeren Moch wrote:
> Hi Fabio,
> 
> On 25.06.20 13:18, Fabio Estevam wrote:
> > imx6q-tbs2910 has an Atheros AR8035 Ethernet PHY at address 4.
> >
> > The AR8035 provides a 125MHz clock to the ENET_REF_CLK i.MX6 pin.
> >
> > Improve the Ethernet representation by adding an mdio node with such
> > information.
> >
> > This fixes an Ethernet regression in U-Boot as U-Boot AR803X driver now
> > expects the 'qca,clk-out-frequency' property to be passed via
> > device tree.
> >
> > Signed-off-by: Fabio Estevam <festevam@gmail.com>
> Due to my experience Shawn likes the properties sorted alphabetically,
> with some exceptions.

Oh, it would be good to have properties sorted somehow, but I'm not
enforcing that.  What I like to sort alphabetically is those labeling
nodes.

Shawn

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration
  2020-06-25 16:29 ` [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration Soeren Moch
@ 2020-07-13  1:19   ` Shawn Guo
  2020-07-13 13:10     ` Fabio Estevam
  0 siblings, 1 reply; 7+ messages in thread
From: Shawn Guo @ 2020-07-13  1:19 UTC (permalink / raw)
  To: Soeren Moch; +Cc: Fabio Estevam, linux-arm-kernel

On Thu, Jun 25, 2020 at 06:29:22PM +0200, Soeren Moch wrote:
> Hi Fabio,
> 
> On 25.06.20 13:18, Fabio Estevam wrote:
> > According to the AR8035 datasheet:
> >
> > "When using crystal, the clock is generated internally after power is
> > stable. For a reliable power on reset, suggest to keep asserting the reset
> > low long enough (10ms) to ensure the clock is stable and clock-to-reset 1ms
> > requirement is satisfied."
> >
> > Pass the 'phy-reset-duration' property to meet such requirement.
> >
> > Signed-off-by: Fabio Estevam <festevam@gmail.com>
> "phy-reset-duration" is listed as deprecated in
> Documentation/devicetree/bindings/net/fsl-fec.txt .

Good point.  There must be some new way we should do this properly.

Shawn

> So maybe it is not the best option, but it should work.
> 
> Reviewed-by: Soeren Moch <smoch@web.de>
> 
> Thanks,
> Soeren
> > ---
> > Changes since v1:
> > - None.
> >
> >  arch/arm/boot/dts/imx6q-tbs2910.dts | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/arm/boot/dts/imx6q-tbs2910.dts b/arch/arm/boot/dts/imx6q-tbs2910.dts
> > index bfff87ce2e1f..7b03b2787430 100644
> > --- a/arch/arm/boot/dts/imx6q-tbs2910.dts
> > +++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
> > @@ -100,6 +100,7 @@
> >  	pinctrl-0 = <&pinctrl_enet>;
> >  	phy-mode = "rgmii-id";
> >  	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> > +	phy-reset-duration = <10>;
> >  	status = "okay";
> >  };
> >
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration
  2020-07-13  1:19   ` Shawn Guo
@ 2020-07-13 13:10     ` Fabio Estevam
  0 siblings, 0 replies; 7+ messages in thread
From: Fabio Estevam @ 2020-07-13 13:10 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Soeren Moch, moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE

Hi Shawn,

On Sun, Jul 12, 2020 at 10:19 PM Shawn Guo <shawnguo@kernel.org> wrote:

> Good point.  There must be some new way we should do this properly.

I have sent v3 that uses the generic 'reset-assert-us' property.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-07-13 13:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-25 11:18 [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration Fabio Estevam
2020-06-25 11:18 ` [PATCH v2 2/2] ARM: dts: imx6q-tbs2910: Add an mdio node Fabio Estevam
2020-06-25 16:29   ` Soeren Moch
2020-07-13  1:18     ` Shawn Guo
2020-06-25 16:29 ` [PATCH v2 1/2] ARM: dts: imx6q-tbs2910: Pass phy-reset-duration Soeren Moch
2020-07-13  1:19   ` Shawn Guo
2020-07-13 13:10     ` Fabio Estevam

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.