All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/2] ARM: dts: imx6q-tbs2910: Add an mdio node
@ 2020-07-13 13:05 Fabio Estevam
  2020-07-13 13:05 ` [PATCH v3 2/2] ARM: dts: imx6q-tbs2910: Pass reset-assert-us Fabio Estevam
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Fabio Estevam @ 2020-07-13 13:05 UTC (permalink / raw)
  To: shawnguo; +Cc: smoch, Fabio Estevam, linux-imx, 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 v2:
- None. Only reorded the patches.

 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 bfff87ce2e1f..1f34028c6397 100644
--- a/arch/arm/boot/dts/imx6q-tbs2910.dts
+++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
@@ -100,7 +100,18 @@
 	pinctrl-0 = <&pinctrl_enet>;
 	phy-mode = "rgmii-id";
 	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
+	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] 6+ messages in thread

* [PATCH v3 2/2] ARM: dts: imx6q-tbs2910: Pass reset-assert-us
  2020-07-13 13:05 [PATCH v3 1/2] ARM: dts: imx6q-tbs2910: Add an mdio node Fabio Estevam
@ 2020-07-13 13:05 ` Fabio Estevam
  2020-07-14  9:48   ` Sören Moch
  2020-07-20  2:22   ` Shawn Guo
  2020-07-14  9:46 ` [PATCH v3 1/2] ARM: dts: imx6q-tbs2910: Add an mdio node Soeren Moch
  2020-07-20  2:22 ` Shawn Guo
  2 siblings, 2 replies; 6+ messages in thread
From: Fabio Estevam @ 2020-07-13 13:05 UTC (permalink / raw)
  To: shawnguo; +Cc: smoch, Fabio Estevam, linux-imx, 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 'reset-assert-us' property to describe such requirement.

While at it, use the 'reset-gpios' property inside the the mdio
node instead of the deprecated usage of 'phy-reset-gpios'.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
Changes since v2:
- Use reset-gpios and reset-assert-us inside the mdio node
instead of the deprecated usage of phy-reset-gpios (Soeren)

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

diff --git a/arch/arm/boot/dts/imx6q-tbs2910.dts b/arch/arm/boot/dts/imx6q-tbs2910.dts
index 1f34028c6397..861e05d53157 100644
--- a/arch/arm/boot/dts/imx6q-tbs2910.dts
+++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
@@ -99,7 +99,6 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_enet>;
 	phy-mode = "rgmii-id";
-	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
 	phy-handle = <&phy>;
 	status = "okay";
 
@@ -110,6 +109,8 @@
 		phy: ethernet-phy@4 {
 			reg = <4>;
 			qca,clk-out-frequency = <125000000>;
+			reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
+			reset-assert-us = <10000>;
 		};
 	};
 };
-- 
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] 6+ messages in thread

* Re: [PATCH v3 1/2] ARM: dts: imx6q-tbs2910: Add an mdio node
  2020-07-13 13:05 [PATCH v3 1/2] ARM: dts: imx6q-tbs2910: Add an mdio node Fabio Estevam
  2020-07-13 13:05 ` [PATCH v3 2/2] ARM: dts: imx6q-tbs2910: Pass reset-assert-us Fabio Estevam
@ 2020-07-14  9:46 ` Soeren Moch
  2020-07-20  2:22 ` Shawn Guo
  2 siblings, 0 replies; 6+ messages in thread
From: Soeren Moch @ 2020-07-14  9:46 UTC (permalink / raw)
  To: Fabio Estevam, shawnguo; +Cc: linux-imx, linux-arm-kernel

On 13.07.20 15:05, 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>
As for v2:

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 v2:
> - None. Only reorded the patches.
>
>  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 bfff87ce2e1f..1f34028c6397 100644
> --- a/arch/arm/boot/dts/imx6q-tbs2910.dts
> +++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
> @@ -100,7 +100,18 @@
>  	pinctrl-0 = <&pinctrl_enet>;
>  	phy-mode = "rgmii-id";
>  	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> +	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] 6+ messages in thread

* Re: [PATCH v3 2/2] ARM: dts: imx6q-tbs2910: Pass reset-assert-us
  2020-07-13 13:05 ` [PATCH v3 2/2] ARM: dts: imx6q-tbs2910: Pass reset-assert-us Fabio Estevam
@ 2020-07-14  9:48   ` Sören Moch
  2020-07-20  2:22   ` Shawn Guo
  1 sibling, 0 replies; 6+ messages in thread
From: Sören Moch @ 2020-07-14  9:48 UTC (permalink / raw)
  To: Fabio Estevam, shawnguo; +Cc: linux-imx, linux-arm-kernel

On 13.07.20 15:05, 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 'reset-assert-us' property to describe such requirement.
>
> While at it, use the 'reset-gpios' property inside the the mdio
> node instead of the deprecated usage of 'phy-reset-gpios'.
>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>

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

Thanks,
Soeren

> ---
> Changes since v2:
> - Use reset-gpios and reset-assert-us inside the mdio node
> instead of the deprecated usage of phy-reset-gpios (Soeren)
>
>  arch/arm/boot/dts/imx6q-tbs2910.dts | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/imx6q-tbs2910.dts b/arch/arm/boot/dts/imx6q-tbs2910.dts
> index 1f34028c6397..861e05d53157 100644
> --- a/arch/arm/boot/dts/imx6q-tbs2910.dts
> +++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
> @@ -99,7 +99,6 @@
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_enet>;
>  	phy-mode = "rgmii-id";
> -	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
>  	phy-handle = <&phy>;
>  	status = "okay";
>
> @@ -110,6 +109,8 @@
>  		phy: ethernet-phy@4 {
>  			reg = <4>;
>  			qca,clk-out-frequency = <125000000>;
> +			reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
> +			reset-assert-us = <10000>;
>  		};
>  	};
>  };


_______________________________________________
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] 6+ messages in thread

* Re: [PATCH v3 1/2] ARM: dts: imx6q-tbs2910: Add an mdio node
  2020-07-13 13:05 [PATCH v3 1/2] ARM: dts: imx6q-tbs2910: Add an mdio node Fabio Estevam
  2020-07-13 13:05 ` [PATCH v3 2/2] ARM: dts: imx6q-tbs2910: Pass reset-assert-us Fabio Estevam
  2020-07-14  9:46 ` [PATCH v3 1/2] ARM: dts: imx6q-tbs2910: Add an mdio node Soeren Moch
@ 2020-07-20  2:22 ` Shawn Guo
  2 siblings, 0 replies; 6+ messages in thread
From: Shawn Guo @ 2020-07-20  2:22 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: smoch, linux-imx, linux-arm-kernel

On Mon, Jul 13, 2020 at 10:05:08AM -0300, 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>

Applied, thanks.

_______________________________________________
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] 6+ messages in thread

* Re: [PATCH v3 2/2] ARM: dts: imx6q-tbs2910: Pass reset-assert-us
  2020-07-13 13:05 ` [PATCH v3 2/2] ARM: dts: imx6q-tbs2910: Pass reset-assert-us Fabio Estevam
  2020-07-14  9:48   ` Sören Moch
@ 2020-07-20  2:22   ` Shawn Guo
  1 sibling, 0 replies; 6+ messages in thread
From: Shawn Guo @ 2020-07-20  2:22 UTC (permalink / raw)
  To: Fabio Estevam; +Cc: smoch, linux-imx, linux-arm-kernel

On Mon, Jul 13, 2020 at 10:05:09AM -0300, 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 'reset-assert-us' property to describe such requirement.
> 
> While at it, use the 'reset-gpios' property inside the the mdio
> node instead of the deprecated usage of 'phy-reset-gpios'.
> 
> Signed-off-by: Fabio Estevam <festevam@gmail.com>

Applied, thanks.

_______________________________________________
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] 6+ messages in thread

end of thread, other threads:[~2020-07-20  2:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-13 13:05 [PATCH v3 1/2] ARM: dts: imx6q-tbs2910: Add an mdio node Fabio Estevam
2020-07-13 13:05 ` [PATCH v3 2/2] ARM: dts: imx6q-tbs2910: Pass reset-assert-us Fabio Estevam
2020-07-14  9:48   ` Sören Moch
2020-07-20  2:22   ` Shawn Guo
2020-07-14  9:46 ` [PATCH v3 1/2] ARM: dts: imx6q-tbs2910: Add an mdio node Soeren Moch
2020-07-20  2:22 ` Shawn Guo

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.