All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neil Armstrong <narmstrong@baylibre.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ARM: meson-gx: Reset GXL/GXM to external PHY when not using internal PHY
Date: Fri, 31 May 2019 10:19:54 +0200	[thread overview]
Message-ID: <33ee3d0d-5235-a9d0-bdc5-42bb0635cf4d@baylibre.com> (raw)
In-Reply-To: <20190528111319.1244-1-narmstrong@baylibre.com>

On 28/05/2019 13:13, Neil Armstrong wrote:
> When using External PHY, reset the mux to use the external PHY in case U-Boot
> was chainloaded from a misconfigured bootloader.
> 
> Fixes: 33e3378091 ("ARM: meson: rework soc arch file to prepare for new SoC")
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
>  arch/arm/mach-meson/board-gx.c | 17 ++++++++++++-----
>  1 file changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c
> index e41552db52..2b0614b79b 100644
> --- a/arch/arm/mach-meson/board-gx.c
> +++ b/arch/arm/mach-meson/board-gx.c
> @@ -112,6 +112,11 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags)
>  			     GX_ETH_REG_0_TX_RATIO(4) |
>  			     GX_ETH_REG_0_PHY_CLK_EN |
>  			     GX_ETH_REG_0_CLK_EN);
> +
> +		/* Reset to external PHY */
> +		if(!IS_ENABLED(CONFIG_MESON_GXBB))
> +			writel(0x2009087f, GX_ETH_REG_3);
> +
>  		break;
>  
>  	case PHY_INTERFACE_MODE_RMII:
> @@ -119,11 +124,13 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags)
>  		out_le32(GX_ETH_REG_0, GX_ETH_REG_0_INVERT_RMII_CLK |
>  					 GX_ETH_REG_0_CLK_EN);
>  
> -		/* Use GXL RMII Internal PHY */
> -		if (IS_ENABLED(CONFIG_MESON_GXL) &&
> -		    (flags & MESON_USE_INTERNAL_RMII_PHY)) {
> -			writel(0x10110181, GX_ETH_REG_2);
> -			writel(0xe40908ff, GX_ETH_REG_3);
> +		/* Use GXL RMII Internal PHY (also on GXM) */
> +		if (!IS_ENABLED(CONFIG_MESON_GXBB)) {
> +			if ((flags & MESON_USE_INTERNAL_RMII_PHY)) {
> +				writel(0x10110181, GX_ETH_REG_2);
> +				writel(0xe40908ff, GX_ETH_REG_3);
> +			} else
> +				writel(0x2009087f, GX_ETH_REG_3);
>  		}
>  
>  		break;
> 

Applied to u-boot-amlogic

WARNING: multiple messages have this Message-ID (diff)
From: "Neil Armstrong" <narmstrong@baylibre.com>
To: u-boot@lists.denx.de
Cc: u-boot-amlogic@groups.io
Subject: Re: [PATCH] ARM: meson-gx: Reset GXL/GXM to external PHY when not using internal PHY
Date: Fri, 31 May 2019 10:19:54 +0200	[thread overview]
Message-ID: <33ee3d0d-5235-a9d0-bdc5-42bb0635cf4d@baylibre.com> (raw)
In-Reply-To: <20190528111319.1244-1-narmstrong@baylibre.com>

On 28/05/2019 13:13, Neil Armstrong wrote:
> When using External PHY, reset the mux to use the external PHY in case U-Boot
> was chainloaded from a misconfigured bootloader.
> 
> Fixes: 33e3378091 ("ARM: meson: rework soc arch file to prepare for new SoC")
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> ---
>  arch/arm/mach-meson/board-gx.c | 17 ++++++++++++-----
>  1 file changed, 12 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/mach-meson/board-gx.c b/arch/arm/mach-meson/board-gx.c
> index e41552db52..2b0614b79b 100644
> --- a/arch/arm/mach-meson/board-gx.c
> +++ b/arch/arm/mach-meson/board-gx.c
> @@ -112,6 +112,11 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags)
>  			     GX_ETH_REG_0_TX_RATIO(4) |
>  			     GX_ETH_REG_0_PHY_CLK_EN |
>  			     GX_ETH_REG_0_CLK_EN);
> +
> +		/* Reset to external PHY */
> +		if(!IS_ENABLED(CONFIG_MESON_GXBB))
> +			writel(0x2009087f, GX_ETH_REG_3);
> +
>  		break;
>  
>  	case PHY_INTERFACE_MODE_RMII:
> @@ -119,11 +124,13 @@ void meson_eth_init(phy_interface_t mode, unsigned int flags)
>  		out_le32(GX_ETH_REG_0, GX_ETH_REG_0_INVERT_RMII_CLK |
>  					 GX_ETH_REG_0_CLK_EN);
>  
> -		/* Use GXL RMII Internal PHY */
> -		if (IS_ENABLED(CONFIG_MESON_GXL) &&
> -		    (flags & MESON_USE_INTERNAL_RMII_PHY)) {
> -			writel(0x10110181, GX_ETH_REG_2);
> -			writel(0xe40908ff, GX_ETH_REG_3);
> +		/* Use GXL RMII Internal PHY (also on GXM) */
> +		if (!IS_ENABLED(CONFIG_MESON_GXBB)) {
> +			if ((flags & MESON_USE_INTERNAL_RMII_PHY)) {
> +				writel(0x10110181, GX_ETH_REG_2);
> +				writel(0xe40908ff, GX_ETH_REG_3);
> +			} else
> +				writel(0x2009087f, GX_ETH_REG_3);
>  		}
>  
>  		break;
> 

Applied to u-boot-amlogic

  reply	other threads:[~2019-05-31  8:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-28 11:13 [U-Boot] [PATCH] ARM: meson-gx: Reset GXL/GXM to external PHY when not using internal PHY Neil Armstrong
2019-05-28 11:13 ` Neil Armstrong
2019-05-31  8:19 ` Neil Armstrong [this message]
2019-05-31  8:19   ` Neil Armstrong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=33ee3d0d-5235-a9d0-bdc5-42bb0635cf4d@baylibre.com \
    --to=narmstrong@baylibre.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.