* [PATCH v2] ARM: imx: imx8mn-*-evk: use DM settings for PHY configuration
@ 2022-02-22 15:19 Heiko Thiery
2022-02-22 16:00 ` Michael Walle
0 siblings, 1 reply; 4+ messages in thread
From: Heiko Thiery @ 2022-02-22 15:19 UTC (permalink / raw)
To: u-boot
Cc: Stefano Babic, Michael Walle, Fabio Estevam,
NXP i . MX U-Boot Team, Peng Fan, Frieder Schrempf, Marek Vasut,
Heiko Thiery
With the correct settings described in the device-tree the PHY settings
in the board init are no longer required. The values are taken from the
linux device tree.
Suggested-by: Michael Walle <michael@walle.cc>
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
---
v2:
- remove phy-reset-gpios node (thanks to Michael)
When using DM_ETH_PHY the reset-gpios from the phy is used
arch/arm/dts/imx8mn-evk.dtsi | 10 +++++++++-
board/freescale/imx8mn_evk/imx8mn_evk.c | 16 ----------------
2 files changed, 9 insertions(+), 17 deletions(-)
diff --git a/arch/arm/dts/imx8mn-evk.dtsi b/arch/arm/dts/imx8mn-evk.dtsi
index 416fadb22b..fd253f0042 100644
--- a/arch/arm/dts/imx8mn-evk.dtsi
+++ b/arch/arm/dts/imx8mn-evk.dtsi
@@ -53,7 +53,6 @@
pinctrl-0 = <&pinctrl_fec1>;
phy-mode = "rgmii-id";
phy-handle = <ðphy0>;
- phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
fsl,magic-packet;
status = "okay";
@@ -64,6 +63,15 @@
ethphy0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
+ reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
+ reset-assert-us = <10000>;
+ qca,disable-smarteee;
+ vddio-supply = <&vddio>;
+
+ vddio: vddio-regulator {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
};
};
};
diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c b/board/freescale/imx8mn_evk/imx8mn_evk.c
index b24342fd5c..e35d505aea 100644
--- a/board/freescale/imx8mn_evk/imx8mn_evk.c
+++ b/board/freescale/imx8mn_evk/imx8mn_evk.c
@@ -27,22 +27,6 @@ static void setup_fec(void)
clrsetbits_le32(&gpr->gpr[1], 0x2000, 0);
}
-int board_phy_config(struct phy_device *phydev)
-{
- /* enable rgmii rxc skew and phy mode select to RGMII copper */
- phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f);
- phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8);
-
- phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x00);
- phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x82ee);
- phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05);
- phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100);
-
- if (phydev->drv->config)
- phydev->drv->config(phydev);
- return 0;
-}
-
int board_init(void)
{
setup_fec();
--
2.30.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] ARM: imx: imx8mn-*-evk: use DM settings for PHY configuration
2022-02-22 15:19 [PATCH v2] ARM: imx: imx8mn-*-evk: use DM settings for PHY configuration Heiko Thiery
@ 2022-02-22 16:00 ` Michael Walle
2022-02-22 18:13 ` Marek Vasut
0 siblings, 1 reply; 4+ messages in thread
From: Michael Walle @ 2022-02-22 16:00 UTC (permalink / raw)
To: Heiko Thiery
Cc: u-boot, Stefano Babic, Fabio Estevam, NXP i . MX U-Boot Team,
Peng Fan, Frieder Schrempf, Marek Vasut
Am 2022-02-22 16:19, schrieb Heiko Thiery:
> With the correct settings described in the device-tree the PHY settings
> in the board init are no longer required. The values are taken from the
> linux device tree.
>
> Suggested-by: Michael Walle <michael@walle.cc>
> Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
> ---
> v2:
> - remove phy-reset-gpios node (thanks to Michael)
> When using DM_ETH_PHY the reset-gpios from the phy is used
>
> arch/arm/dts/imx8mn-evk.dtsi | 10 +++++++++-
> board/freescale/imx8mn_evk/imx8mn_evk.c | 16 ----------------
> 2 files changed, 9 insertions(+), 17 deletions(-)
>
> diff --git a/arch/arm/dts/imx8mn-evk.dtsi
> b/arch/arm/dts/imx8mn-evk.dtsi
> index 416fadb22b..fd253f0042 100644
> --- a/arch/arm/dts/imx8mn-evk.dtsi
> +++ b/arch/arm/dts/imx8mn-evk.dtsi
> @@ -53,7 +53,6 @@
> pinctrl-0 = <&pinctrl_fec1>;
> phy-mode = "rgmii-id";
> phy-handle = <ðphy0>;
> - phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
This ...
> fsl,magic-packet;
> status = "okay";
>
> @@ -64,6 +63,15 @@
> ethphy0: ethernet-phy@0 {
> compatible = "ethernet-phy-ieee802.3-c22";
> reg = <0>;
> + reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
> + reset-assert-us = <10000>;
> + qca,disable-smarteee;
.. and these three lines should probably be a separate patch.
> + vddio-supply = <&vddio>;
> +
> + vddio: vddio-regulator {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
This looks good. The rgmii pad delay is already handled by the
phy-mode.
Reviewed-by: Michael Walle <michael@walle.cc>
> };
> };
> };
> diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c
> b/board/freescale/imx8mn_evk/imx8mn_evk.c
> index b24342fd5c..e35d505aea 100644
> --- a/board/freescale/imx8mn_evk/imx8mn_evk.c
> +++ b/board/freescale/imx8mn_evk/imx8mn_evk.c
> @@ -27,22 +27,6 @@ static void setup_fec(void)
> clrsetbits_le32(&gpr->gpr[1], 0x2000, 0);
> }
>
> -int board_phy_config(struct phy_device *phydev)
> -{
> - /* enable rgmii rxc skew and phy mode select to RGMII copper */
> - phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x1f);
> - phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x8);
> -
> - phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x00);
> - phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x82ee);
> - phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x05);
> - phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, 0x100);
> -
> - if (phydev->drv->config)
> - phydev->drv->config(phydev);
> - return 0;
> -}
> -
> int board_init(void)
> {
> setup_fec();
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] ARM: imx: imx8mn-*-evk: use DM settings for PHY configuration
2022-02-22 16:00 ` Michael Walle
@ 2022-02-22 18:13 ` Marek Vasut
2022-02-23 7:29 ` Heiko Thiery
0 siblings, 1 reply; 4+ messages in thread
From: Marek Vasut @ 2022-02-22 18:13 UTC (permalink / raw)
To: Michael Walle, Heiko Thiery
Cc: u-boot, Stefano Babic, Fabio Estevam, NXP i . MX U-Boot Team,
Peng Fan, Frieder Schrempf
On 2/22/22 17:00, Michael Walle wrote:
> Am 2022-02-22 16:19, schrieb Heiko Thiery:
>> With the correct settings described in the device-tree the PHY settings
>> in the board init are no longer required. The values are taken from the
>> linux device tree.
>>
>> Suggested-by: Michael Walle <michael@walle.cc>
>> Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
>> ---
>> v2:
>> - remove phy-reset-gpios node (thanks to Michael)
>> When using DM_ETH_PHY the reset-gpios from the phy is used
>>
>> arch/arm/dts/imx8mn-evk.dtsi | 10 +++++++++-
>> board/freescale/imx8mn_evk/imx8mn_evk.c | 16 ----------------
>> 2 files changed, 9 insertions(+), 17 deletions(-)
It seems someone was faster with this patch after all, thanks.
>> diff --git a/arch/arm/dts/imx8mn-evk.dtsi b/arch/arm/dts/imx8mn-evk.dtsi
>> index 416fadb22b..fd253f0042 100644
>> --- a/arch/arm/dts/imx8mn-evk.dtsi
>> +++ b/arch/arm/dts/imx8mn-evk.dtsi
>> @@ -53,7 +53,6 @@
>> pinctrl-0 = <&pinctrl_fec1>;
>> phy-mode = "rgmii-id";
>> phy-handle = <ðphy0>;
>> - phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
>
> This ...
I'm afraid the phy reset in the phy node won't really end up toggling
the PHY reset GPIO, would it ?
[...]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] ARM: imx: imx8mn-*-evk: use DM settings for PHY configuration
2022-02-22 18:13 ` Marek Vasut
@ 2022-02-23 7:29 ` Heiko Thiery
0 siblings, 0 replies; 4+ messages in thread
From: Heiko Thiery @ 2022-02-23 7:29 UTC (permalink / raw)
To: Marek Vasut
Cc: Michael Walle, u-boot, Stefano Babic, Fabio Estevam,
NXP i . MX U-Boot Team, Peng Fan, Frieder Schrempf
Hi Marek,
Am Di., 22. Feb. 2022 um 19:13 Uhr schrieb Marek Vasut <marex@denx.de>:
>
> On 2/22/22 17:00, Michael Walle wrote:
> > Am 2022-02-22 16:19, schrieb Heiko Thiery:
> >> With the correct settings described in the device-tree the PHY settings
> >> in the board init are no longer required. The values are taken from the
> >> linux device tree.
> >>
> >> Suggested-by: Michael Walle <michael@walle.cc>
> >> Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
> >> ---
> >> v2:
> >> - remove phy-reset-gpios node (thanks to Michael)
> >> When using DM_ETH_PHY the reset-gpios from the phy is used
> >>
> >> arch/arm/dts/imx8mn-evk.dtsi | 10 +++++++++-
> >> board/freescale/imx8mn_evk/imx8mn_evk.c | 16 ----------------
> >> 2 files changed, 9 insertions(+), 17 deletions(-)
>
> It seems someone was faster with this patch after all, thanks.
>
> >> diff --git a/arch/arm/dts/imx8mn-evk.dtsi b/arch/arm/dts/imx8mn-evk.dtsi
> >> index 416fadb22b..fd253f0042 100644
> >> --- a/arch/arm/dts/imx8mn-evk.dtsi
> >> +++ b/arch/arm/dts/imx8mn-evk.dtsi
> >> @@ -53,7 +53,6 @@
> >> pinctrl-0 = <&pinctrl_fec1>;
> >> phy-mode = "rgmii-id";
> >> phy-handle = <ðphy0>;
> >> - phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
> >
> > This ...
>
> I'm afraid the phy reset in the phy node won't really end up toggling
> the PHY reset GPIO, would it ?
I think you're right. The "new" reset-gpios property is not supported
by the fec driver. I think this is also valid for the linux driver if
I'm not wrong. But then some boards in linux also cannot do a phy
reset at initialization/probing. Is that right?
--
Heiko
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-02-23 7:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-22 15:19 [PATCH v2] ARM: imx: imx8mn-*-evk: use DM settings for PHY configuration Heiko Thiery
2022-02-22 16:00 ` Michael Walle
2022-02-22 18:13 ` Marek Vasut
2022-02-23 7:29 ` Heiko Thiery
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.