All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] mx6sabresd: Make Ethernet functional again
@ 2016-10-24 12:22 Fabio Estevam
  2016-11-05 16:35 ` Fabio Estevam
  2016-11-06 11:59 ` [U-Boot] " Tom Rini
  0 siblings, 2 replies; 5+ messages in thread
From: Fabio Estevam @ 2016-10-24 12:22 UTC (permalink / raw)
  To: u-boot

From: Fabio Estevam <fabio.estevam@nxp.com>

Since commit ce412b79e7255770 ("drivers: net: phy: atheros: add separate
config for AR8031") ethernet does not work on mx6sabresd.

This commit correctly assigns ar8031_config() as the configuration
function for AR8031 in the same way as done in the Linux kernel.

However, on mx6sabresd design we need some additional configuration,
such as enabling the 125 MHz AR8031 output that needs to be done
in the board file.

This also aligns with the same method that the kernel performs
the AR8031 fixup in arch/arm/mach-imx/mach-imx6q.c.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
---
 board/freescale/mx6sabresd/mx6sabresd.c | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c
index e58c03c..a5c2b86 100644
--- a/board/freescale/mx6sabresd/mx6sabresd.c
+++ b/board/freescale/mx6sabresd/mx6sabresd.c
@@ -360,6 +360,39 @@ int board_mmc_init(bd_t *bis)
 }
 #endif
 
+static int ar8031_phy_fixup(struct phy_device *phydev)
+{
+	unsigned short val;
+
+	/* To enable AR8031 ouput a 125MHz clk from CLK_25M */
+	phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x7);
+	phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x8016);
+	phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4007);
+
+	val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe);
+	val &= 0xffe3;
+	val |= 0x18;
+	phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val);
+
+	/* introduce tx clock delay */
+	phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x5);
+	val = phy_read(phydev, MDIO_DEVAD_NONE, 0x1e);
+	val |= 0x0100;
+	phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, val);
+
+	return 0;
+}
+
+int board_phy_config(struct phy_device *phydev)
+{
+	ar8031_phy_fixup(phydev);
+
+	if (phydev->drv->config)
+		phydev->drv->config(phydev);
+
+	return 0;
+}
+
 #if defined(CONFIG_VIDEO_IPUV3)
 static void disable_lvds(struct display_info_t const *dev)
 {
-- 
2.7.4

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

* [U-Boot] [PATCH] mx6sabresd: Make Ethernet functional again
  2016-10-24 12:22 [U-Boot] [PATCH] mx6sabresd: Make Ethernet functional again Fabio Estevam
@ 2016-11-05 16:35 ` Fabio Estevam
  2016-11-05 17:41   ` Stefano Babic
  2016-11-06 11:59 ` [U-Boot] " Tom Rini
  1 sibling, 1 reply; 5+ messages in thread
From: Fabio Estevam @ 2016-11-05 16:35 UTC (permalink / raw)
  To: u-boot

Hi Stefano,

On Mon, Oct 24, 2016 at 10:22 AM, Fabio Estevam <festevam@gmail.com> wrote:
> From: Fabio Estevam <fabio.estevam@nxp.com>
>
> Since commit ce412b79e7255770 ("drivers: net: phy: atheros: add separate
> config for AR8031") ethernet does not work on mx6sabresd.
>
> This commit correctly assigns ar8031_config() as the configuration
> function for AR8031 in the same way as done in the Linux kernel.
>
> However, on mx6sabresd design we need some additional configuration,
> such as enabling the 125 MHz AR8031 output that needs to be done
> in the board file.
>
> This also aligns with the same method that the kernel performs
> the AR8031 fixup in arch/arm/mach-imx/mach-imx6q.c.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>

This one (and the similar patch for wandboard) is a regression fix, so
hopefully it can reach 2016.11 release.

Thanks

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

* [U-Boot] [PATCH] mx6sabresd: Make Ethernet functional again
  2016-11-05 16:35 ` Fabio Estevam
@ 2016-11-05 17:41   ` Stefano Babic
  2016-11-06 11:11     ` Stefano Babic
  0 siblings, 1 reply; 5+ messages in thread
From: Stefano Babic @ 2016-11-05 17:41 UTC (permalink / raw)
  To: u-boot



On 05/11/2016 17:35, Fabio Estevam wrote:
> Hi Stefano,
> 
> On Mon, Oct 24, 2016 at 10:22 AM, Fabio Estevam <festevam@gmail.com> wrote:
>> From: Fabio Estevam <fabio.estevam@nxp.com>
>>
>> Since commit ce412b79e7255770 ("drivers: net: phy: atheros: add separate
>> config for AR8031") ethernet does not work on mx6sabresd.
>>
>> This commit correctly assigns ar8031_config() as the configuration
>> function for AR8031 in the same way as done in the Linux kernel.
>>
>> However, on mx6sabresd design we need some additional configuration,
>> such as enabling the 125 MHz AR8031 output that needs to be done
>> in the board file.
>>
>> This also aligns with the same method that the kernel performs
>> the AR8031 fixup in arch/arm/mach-imx/mach-imx6q.c.
>>
>> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
> 
> This one (and the similar patch for wandboard) is a regression fix, so
> hopefully it can reach 2016.11 release.

I pick it up

Stefano

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

* [U-Boot] [PATCH] mx6sabresd: Make Ethernet functional again
  2016-11-05 17:41   ` Stefano Babic
@ 2016-11-06 11:11     ` Stefano Babic
  0 siblings, 0 replies; 5+ messages in thread
From: Stefano Babic @ 2016-11-06 11:11 UTC (permalink / raw)
  To: u-boot

Hi Tom,

On 05/11/2016 18:41, Stefano Babic wrote:
> 
> 
> On 05/11/2016 17:35, Fabio Estevam wrote:
>> Hi Stefano,
>>
>> On Mon, Oct 24, 2016 at 10:22 AM, Fabio Estevam <festevam@gmail.com> wrote:
>>> From: Fabio Estevam <fabio.estevam@nxp.com>
>>>
>>> Since commit ce412b79e7255770 ("drivers: net: phy: atheros: add separate
>>> config for AR8031") ethernet does not work on mx6sabresd.
>>>
>>> This commit correctly assigns ar8031_config() as the configuration
>>> function for AR8031 in the same way as done in the Linux kernel.
>>>
>>> However, on mx6sabresd design we need some additional configuration,
>>> such as enabling the 125 MHz AR8031 output that needs to be done
>>> in the board file.
>>>
>>> This also aligns with the same method that the kernel performs
>>> the AR8031 fixup in arch/arm/mach-imx/mach-imx6q.c.
>>>
>>> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
>>
>> This one (and the similar patch for wandboard) is a regression fix, so
>> hopefully it can reach 2016.11 release.
> 
> I pick it up
> 

As you are already picking Jagan's patch, can you take this one from
Fabio, too ? Or do you prefer a PR from me ?

Thanks,
Stefano

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

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

* [U-Boot] mx6sabresd: Make Ethernet functional again
  2016-10-24 12:22 [U-Boot] [PATCH] mx6sabresd: Make Ethernet functional again Fabio Estevam
  2016-11-05 16:35 ` Fabio Estevam
@ 2016-11-06 11:59 ` Tom Rini
  1 sibling, 0 replies; 5+ messages in thread
From: Tom Rini @ 2016-11-06 11:59 UTC (permalink / raw)
  To: u-boot

On Mon, Oct 24, 2016 at 10:22:06AM -0200, Fabio Estevam wrote:

> From: Fabio Estevam <fabio.estevam@nxp.com>
> 
> Since commit ce412b79e7255770 ("drivers: net: phy: atheros: add separate
> config for AR8031") ethernet does not work on mx6sabresd.
> 
> This commit correctly assigns ar8031_config() as the configuration
> function for AR8031 in the same way as done in the Linux kernel.
> 
> However, on mx6sabresd design we need some additional configuration,
> such as enabling the 125 MHz AR8031 output that needs to be done
> in the board file.
> 
> This also aligns with the same method that the kernel performs
> the AR8031 fixup in arch/arm/mach-imx/mach-imx6q.c.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20161106/38fee7d0/attachment.sig>

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

end of thread, other threads:[~2016-11-06 11:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-24 12:22 [U-Boot] [PATCH] mx6sabresd: Make Ethernet functional again Fabio Estevam
2016-11-05 16:35 ` Fabio Estevam
2016-11-05 17:41   ` Stefano Babic
2016-11-06 11:11     ` Stefano Babic
2016-11-06 11:59 ` [U-Boot] " Tom Rini

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.