mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* Ethernet PHY KSZ9031 is not working
@ 2016-03-03 12:44 gianluca
  2016-03-03 13:52 ` Antony Pavlov
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: gianluca @ 2016-03-03 12:44 UTC (permalink / raw)
  To: barebox

Hello list,
It's me again! ;-)

Actually I had tested 80% of the board with barebox.

- USB
The microUSB is working (as I can use serial Downloader)
USB Host-A has to be tested, but if I type:

>> usb
> USB: scanning bus for devices...
> Bus 001 Device 001: ID 0000:0000 EHCI Host Controller
> 1 USB Device(s) found

so I can suppose the host controller is working. So I have to check on 
HOW to test the usb-pendisk, but it can be done later on... I have to 
activate the +5V by a gpio, so I have to think where is the best place 
to do that. At the C code level in the device_initcalls()?? Or using the 
gpio pinmux features in the device tree?

- I2C (i2c0, i2c1, i2c2)
They all three are working fine.

- DDR3 Memory Controller
Memtest is passing all tests. So I can suppose the timings are quite 
good enough to use the Dynamic RAM correctly. I will do a stress test 
later...

- SDHC (mmc1, mmc2, mmc3)
> -- 2194000.usdhc
>   `-- mmc1
This port is connected to a SDIO Wifi Module so I will test it with Linux

> -- 2198000.usdhc
>   `-- mmc2
>      `-- 0x00000000-0x1d9bfffff ( 7.4 GiB): /dev/mmc2
>      `-- 0x00400000-0x00bfffff ( 8 MiB): /dev/mmc2.0
>      `-- 0x00c00000-0x02bfffff ( 32 MiB): /dev/mmc2.1
>      `-- 0x02c00000-0x1d9bfffff ( 7.4 GiB): /dev/mmc2.2
This port has a microSD 8Gb with 3 partitions.

> -- 219c000.usdhc
>   `-- mmc3
>      `-- 0x00000000-0x001fffff ( 2 MiB): /dev/mmc3.boot0
>      `-- 0x00000000-0x001fffff ( 2 MiB): /dev/mmc3.boot1
>      `-- 0x00000000-0xe4ffffff ( 3.6 GiB): /dev/mmc3
This port has an eMMC 4GB unpartioned. 2 boot partitions and a big one 
for boot when it starts from internal boot.

- GPIOS
The gpios can be activated/deactivated on demand. As far as I see all 
gpios I had on this board are working as expected.

- SERIAL
In this board I have 3 serial ports (only RX/TX connected)

> `-- 21ec000.serial
>    `-- serial2

This is the uart3 as debug console and it works fine.

> `-- 21e8000.serial
>    `-- serial1

> `-- 2000000.aips-bus
>    `-- 2000000.spba-bus
>       `-- 2020000.serial
>          `-- serial0

How can I test them with barebox? Is it possible to set the baudrate, 
and send a character with the 'echo' command? And as soon as I have the 
/dev/ node can I read from it using the 'cat' command?

- FEC/PHY
This is the worst part of the game. :-(
It does not work at all.
I was looking on other boards with the same phy (KSZ9031 by Micrel) like 
Variscite-imx6, but with no luck.

In board.c I setup ONLY the fixup for ksz9031 and assert/de-assert the 
nRESET RGMII pin

> static int ksz9031rn_phy_fixup(struct phy_device *dev)
> {
> 	pr_info("%s Called\n", __FUNCTION__);
> 	/*
> 	 * min rx data delay, max rx/tx clock delay,
> 	 * min rx/tx control delay
> 	 */
> 	phy_write_mmd_indirect(dev, 4, 2, 0);
> 	phy_write_mmd_indirect(dev, 5, 2, 0);
> 	phy_write_mmd_indirect(dev, 8, 2, 0x03ff);
>
> 	pr_info("%s Exit\n", __FUNCTION__);
> 	return 0;
> }
>
> static int ek360_enet_init(void)
> {
> 	pr_info("%s Called\n", __FUNCTION__);
> 	if (!of_machine_is_compatible("eurek,ek360"))
> 		return 0;
>
> 	/*
> 	 * As this board has all configure pins (MODE0..3, PHYADD0..2, ...)
> 	 * with a fixed state (pullup & pulldown resistors) there should no
> 	 * need to have gpio working here for configuration.
> 	 * We need only assert & de-assert the reset pin here
> 	 */
> 	mxc_iomux_v3_setup_pad(MX6Q_PAD_EIM_D23__GPIO_3_23);
> 	gpio_direction_output(IMX_GPIO_NR(3,23), 0); /* assert nRESET */
> 	mdelay(50);
> 	gpio_direction_output(IMX_GPIO_NR(3,23), 1); /* de-assert nRESET */
> 	gpio_free(IMX_GPIO_NR(3,23));
>
> 	phy_register_fixup_for_uid(PHY_ID_KSZ9031, MICREL_PHY_ID_MASK,
> 					   ksz9031rn_phy_fixup);
>
> 	pr_info("%s Exit\n", __FUNCTION__);
> 	return 0;
> }
> fs_initcall(ek360_enet_init);
>

and let the device-tree to set the correct pins and setup the fec:

> 		pinctrl_enet: enetgrp {
> 			fsl,pins = <
> 				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0
> 				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b0b0
> 				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b0b0
> 				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0
> 				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0
> 				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b0b0
> 				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b0b0
> 				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b0b0
> 				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b0b0
> 				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b0b0
> 				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b0b0
> 				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b0b0
> 				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
> 				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
> 				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
> 				MX6QDL_PAD_EIM_D23__GPIO3_IO23		0x80000000 /* KSZ9031 PHY Reset */
> 			>;
> 		};
> &fec {
> 	pinctrl-names = "default";
> 	pinctrl-0 = <&pinctrl_enet>;
> 	phy-mode = "rgmii";
> 	phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
> 	phy-reset-duration = <100>;
> 	status = "okay";
> };

On reset/poweron I can see clearly some RJ-45 JackMag leds already lite 
due to the fixed hardware configuration.

When Barebox takes control over, those pins are turned off, the device 
tree information is telling me:

> `-- 2188000.ethernet
>    `-- miibus0
>       `-- phy0
>          `-- 0x00000000-0x0000003f ( 64 Bytes): /dev/phy0
>    `-- eth0

but when I try to bring up the ethernet connection here is the message:

> dhcp
> warning: No MAC address set. Using random address ae:05:f1:62:bd:d8
> ksz9031rn_phy_fixup Called
> ksz9031rn_phy_fixup Exit
> dhcp: Network is down

And all leds in the RJ-45 JackMag are still turned off.

I don't know where I can check if something goes wrong. May be a failure 
on board, but at this time this board is the ONLY BOARD I can use.

Can somebody help me out????


Best Regards,
Gianluca
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: Ethernet PHY KSZ9031 is not working
  2016-03-03 13:52 ` Antony Pavlov
@ 2016-03-03 13:47   ` gianluca
  2016-03-03 15:21     ` Antony Pavlov
  0 siblings, 1 reply; 9+ messages in thread
From: gianluca @ 2016-03-03 13:47 UTC (permalink / raw)
  To: Antony Pavlov; +Cc: barebox

On 03/03/2016 02:52 PM, Antony Pavlov wrote:

>> When Barebox takes control over, those pins are turned off, the device
>> tree information is telling me:
>>
>>> `-- 2188000.ethernet
>>>     `-- miibus0
>>>        `-- phy0
>>>           `-- 0x00000000-0x0000003f ( 64 Bytes): /dev/phy0
>>>     `-- eth0
>>
>> but when I try to bring up the ethernet connection here is the message:
>>
>>> dhcp
>>> warning: No MAC address set. Using random address ae:05:f1:62:bd:d8
>>> ksz9031rn_phy_fixup Called
>>> ksz9031rn_phy_fixup Exit
>>> dhcp: Network is down
>>
>> And all leds in the RJ-45 JackMag are still turned off.
>>
>> I don't know where I can check if something goes wrong. May be a failure
>> on board, but at this time this board is the ONLY BOARD I can use.
>
> Use 'miitool -v -v' command to check your phy registers and the link status.
>

Thank you for this hint.
Before digging on the Datasheet for the explanation of all MII PHY 
registers, here is the output of the command you wrote above:

> barebox@EK360 Eurek i.MX6 Quad:/ miitool -v -v
> phy0: 2188000.ethernet-1: no link
> registers for MII PHY:
> 1140 7949 0022 1622 01e1 0000 0006 2001
> 0000 0300 0000 0000 0000 0000 0000 3000
> 0000 00f4 0000 0000 0000 0000 0000 0200
> 0000 0000 0000 0028 0000 0000 0000 0301
> product info: Micrel KSZ9031 Gigabit PHY (vendor 00:08:85, model 34 rev 2)
> basic mode: autonegotiation enabled
> basic status: no link
> capabilities: 1000baseT-FD 1000baseT-HD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
> advertising: 1000baseT-FD 1000baseT-HD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
>

So, the link between the FEC and the PHY it is seems to working good.
If everything seems to be ok (speaking about registers) maybe there is 
some issue on the RJ-45 MagJack connector.

What kind of RJ45 are you using?? I am using a 1000/100/10 from Wuerth 
Elektronic named:
Artikelnummer / part number :
Bezeichnung :
description :
7499111121A
LAN-Übertrager WE-RJ45LAN 10/100/1000 BaseT
LAN-Transformer WE-RJ45LAN 10/100/1000 BaseT

Best Regards,
Gianluca
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: Ethernet PHY KSZ9031 is not working
  2016-03-03 12:44 Ethernet PHY KSZ9031 is not working gianluca
@ 2016-03-03 13:52 ` Antony Pavlov
  2016-03-03 13:47   ` gianluca
  2016-03-03 14:42 ` Ethernet PHY KSZ9031 is not working Holger Schurig
  2016-03-03 14:53 ` Sascha Hauer
  2 siblings, 1 reply; 9+ messages in thread
From: Antony Pavlov @ 2016-03-03 13:52 UTC (permalink / raw)
  To: gianluca; +Cc: barebox

On Thu, 3 Mar 2016 13:44:54 +0100
gianluca <gianlucarenzi@eurek.it> wrote:

> Hello list,
> It's me again! ;-)
> 
> Actually I had tested 80% of the board with barebox.

...

> 
> When Barebox takes control over, those pins are turned off, the device 
> tree information is telling me:
> 
> > `-- 2188000.ethernet
> >    `-- miibus0
> >       `-- phy0
> >          `-- 0x00000000-0x0000003f ( 64 Bytes): /dev/phy0
> >    `-- eth0
> 
> but when I try to bring up the ethernet connection here is the message:
> 
> > dhcp
> > warning: No MAC address set. Using random address ae:05:f1:62:bd:d8
> > ksz9031rn_phy_fixup Called
> > ksz9031rn_phy_fixup Exit
> > dhcp: Network is down
> 
> And all leds in the RJ-45 JackMag are still turned off.
> 
> I don't know where I can check if something goes wrong. May be a failure 
> on board, but at this time this board is the ONLY BOARD I can use.

Use 'miitool -v -v' command to check your phy registers and the link status.

-- 
Best regards,
  Antony Pavlov

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: Ethernet PHY KSZ9031 is not working
  2016-03-03 12:44 Ethernet PHY KSZ9031 is not working gianluca
  2016-03-03 13:52 ` Antony Pavlov
@ 2016-03-03 14:42 ` Holger Schurig
  2016-03-09  8:58   ` Alexander Aring
  2016-03-03 14:53 ` Sascha Hauer
  2 siblings, 1 reply; 9+ messages in thread
From: Holger Schurig @ 2016-03-03 14:42 UTC (permalink / raw)
  To: gianluca; +Cc: barebox

> USB Host-A has to be tested, but if I type:
>
>>> usb
>> USB: scanning bus for devices...
>> Bus 001 Device 001: ID 0000:0000 EHCI Host Controller
>> 1 USB Device(s) found
>
> so I can suppose the host controller is working.

I'm unsure if that is correct. When you see the USB IDs of some
connected devices then you be (a bit) sure(rer).


> - DDR3 Memory Controller
> Memtest is passing all tests. So I can suppose the timings are quite
> good enough to use the Dynamic RAM correctly. I will do a stress test
> later...

I had a system once where the memtest in barebox worked, but memtester
from Linux found issues.

Also be aware that Freecell has some DDR3 memory tester / setting
optimizer that work via the USB port, like the USB downloader. Just in
case, if you ever run into trouble ...


AS for the FEC/PHY, I'm on some SMSC phy. If I recall it correctly, then
the Sabre  board also has a KSZ phy, and when I had this board here it
worked over ethernet.

In arch/arm/boards/boundarydevices-nitrogen6x/board.c there do something
similar, but not identical to what you're doing.


> When Barebox takes control over, those pins are turned off, the device
> tree information is telling me:

There is one more thing that you should be aware: the ethernet clock
can either be driven by the i.MX6, then it's an output. Or it can be
generated by the PHY, then it's an input. In my case it was
MX6QDL_PAD_GPIO_16__ENET_REF_CLK. This is controlled by a bit in the
GPR1 register. Maybe you need to adapt your device tree (search for
"enet_ref") for this?

On Linux, this is driven by arch/arm/mach-imx/mach-imx6q.c, and on
Barebox there is an enet_ref in
arch/arm/boards/freescale-mx6sx-sabresdb/board.c.


> I don't know where I can check if something goes wrong. May be a
> failure on board, but at this time this board is the ONLY BOARD I can
> use.

Time to get your oscilloscope probe ready then :-)

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: Ethernet PHY KSZ9031 is not working
  2016-03-03 12:44 Ethernet PHY KSZ9031 is not working gianluca
  2016-03-03 13:52 ` Antony Pavlov
  2016-03-03 14:42 ` Ethernet PHY KSZ9031 is not working Holger Schurig
@ 2016-03-03 14:53 ` Sascha Hauer
  2 siblings, 0 replies; 9+ messages in thread
From: Sascha Hauer @ 2016-03-03 14:53 UTC (permalink / raw)
  To: gianluca; +Cc: barebox

On Thu, Mar 03, 2016 at 01:44:54PM +0100, gianluca wrote:
> Hello list,
> It's me again! ;-)
> 
> Actually I had tested 80% of the board with barebox.
> 
> - USB
> The microUSB is working (as I can use serial Downloader)
> USB Host-A has to be tested, but if I type:
> 
> >>usb
> >USB: scanning bus for devices...
> >Bus 001 Device 001: ID 0000:0000 EHCI Host Controller
> >1 USB Device(s) found
> 
> so I can suppose the host controller is working. So I have to check on HOW
> to test the usb-pendisk, but it can be done later on... I have to activate
> the +5V by a gpio, so I have to think where is the best place to do that. At
> the C code level in the device_initcalls()?? Or using the gpio pinmux
> features in the device tree?
> 
> - I2C (i2c0, i2c1, i2c2)
> They all three are working fine.
> 
> - DDR3 Memory Controller
> Memtest is passing all tests. So I can suppose the timings are quite good
> enough to use the Dynamic RAM correctly. I will do a stress test later...
> 
> - SDHC (mmc1, mmc2, mmc3)
> >-- 2194000.usdhc
> >  `-- mmc1
> This port is connected to a SDIO Wifi Module so I will test it with Linux
> 
> >-- 2198000.usdhc
> >  `-- mmc2
> >     `-- 0x00000000-0x1d9bfffff ( 7.4 GiB): /dev/mmc2
> >     `-- 0x00400000-0x00bfffff ( 8 MiB): /dev/mmc2.0
> >     `-- 0x00c00000-0x02bfffff ( 32 MiB): /dev/mmc2.1
> >     `-- 0x02c00000-0x1d9bfffff ( 7.4 GiB): /dev/mmc2.2
> This port has a microSD 8Gb with 3 partitions.
> 
> >-- 219c000.usdhc
> >  `-- mmc3
> >     `-- 0x00000000-0x001fffff ( 2 MiB): /dev/mmc3.boot0
> >     `-- 0x00000000-0x001fffff ( 2 MiB): /dev/mmc3.boot1
> >     `-- 0x00000000-0xe4ffffff ( 3.6 GiB): /dev/mmc3
> This port has an eMMC 4GB unpartioned. 2 boot partitions and a big one for
> boot when it starts from internal boot.
> 
> - GPIOS
> The gpios can be activated/deactivated on demand. As far as I see all gpios
> I had on this board are working as expected.
> 
> - SERIAL
> In this board I have 3 serial ports (only RX/TX connected)
> 
> >`-- 21ec000.serial
> >   `-- serial2
> 
> This is the uart3 as debug console and it works fine.
> 
> >`-- 21e8000.serial
> >   `-- serial1
> 
> >`-- 2000000.aips-bus
> >   `-- 2000000.spba-bus
> >      `-- 2020000.serial
> >         `-- serial0
> 
> How can I test them with barebox? Is it possible to set the baudrate, and
> send a character with the 'echo' command? And as soon as I have the /dev/
> node can I read from it using the 'cat' command?
> 
> - FEC/PHY
> This is the worst part of the game. :-(
> It does not work at all.
> I was looking on other boards with the same phy (KSZ9031 by Micrel) like
> Variscite-imx6, but with no luck.
> 
> In board.c I setup ONLY the fixup for ksz9031 and assert/de-assert the
> nRESET RGMII pin
> 
> >static int ksz9031rn_phy_fixup(struct phy_device *dev)
> >{
> >	pr_info("%s Called\n", __FUNCTION__);
> >	/*
> >	 * min rx data delay, max rx/tx clock delay,
> >	 * min rx/tx control delay
> >	 */
> >	phy_write_mmd_indirect(dev, 4, 2, 0);
> >	phy_write_mmd_indirect(dev, 5, 2, 0);
> >	phy_write_mmd_indirect(dev, 8, 2, 0x03ff);
> >
> >	pr_info("%s Exit\n", __FUNCTION__);
> >	return 0;
> >}

This should rather be done using the "txd0-skew-ps" and similar device
tree properties. Make sure you have the micrel phy driver enabled.
Note the values are board specific.

It might also help to connect the ethernet cable to a 100MBit switch for
testing.

As Holger already noted GPR1[21] must be configured correctly.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: Ethernet PHY KSZ9031 is not working
  2016-03-03 13:47   ` gianluca
@ 2016-03-03 15:21     ` Antony Pavlov
  2016-03-04 11:12       ` Ethernet PHY KSZ9031 is not working [SOLVED] gianluca
  0 siblings, 1 reply; 9+ messages in thread
From: Antony Pavlov @ 2016-03-03 15:21 UTC (permalink / raw)
  To: gianluca; +Cc: barebox

On Thu, 3 Mar 2016 14:47:26 +0100
gianluca <gianlucarenzi@eurek.it> wrote:

> On 03/03/2016 02:52 PM, Antony Pavlov wrote:
> 
> Before digging on the Datasheet for the explanation of all MII PHY 
> registers, here is the output of the command you wrote above:
> 
> > barebox@EK360 Eurek i.MX6 Quad:/ miitool -v -v
> > phy0: 2188000.ethernet-1: no link
> > registers for MII PHY:
> > 1140 7949 0022 1622 01e1 0000 0006 2001
> > 0000 0300 0000 0000 0000 0000 0000 3000
> > 0000 00f4 0000 0000 0000 0000 0000 0200
> > 0000 0000 0000 0028 0000 0000 0000 0301
> > product info: Micrel KSZ9031 Gigabit PHY (vendor 00:08:85, model 34 rev 2)
> > basic mode: autonegotiation enabled
> > basic status: no link


'no link' here, so please check your magnetics and RJ-45 connector.

> > capabilities: 1000baseT-FD 1000baseT-HD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
> > advertising: 1000baseT-FD 1000baseT-HD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
> >
> 
> So, the link between the FEC and the PHY it is seems to working good.

KSZ9031 connects to ethernet MAC with two busses: RGMII and MDIO.

You can read PHY registers, so it seems your MDIO bus works fine,
but there is no warranty that your RGMII link actually works.

> If everything seems to be ok (speaking about registers) maybe there is 
> some issue on the RJ-45 MagJack connector.
> 
> What kind of RJ45 are you using??

Sorry, I have not noted this hardware detail for my board.
Mostly I work as a software developer.

> I am using a 1000/100/10 from Wuerth 
> Elektronic named:
> Artikelnummer / part number :
> Bezeichnung :
> description :
> 7499111121A
> LAN-Übertrager WE-RJ45LAN 10/100/1000 BaseT
> LAN-Transformer WE-RJ45LAN 10/100/1000 BaseT
> 


-- 
-- 
Best regards,
  Antony Pavlov

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: Ethernet PHY KSZ9031 is not working [SOLVED]
  2016-03-03 15:21     ` Antony Pavlov
@ 2016-03-04 11:12       ` gianluca
  0 siblings, 0 replies; 9+ messages in thread
From: gianluca @ 2016-03-04 11:12 UTC (permalink / raw)
  To: Antony Pavlov; +Cc: barebox

On 03/03/2016 04:21 PM, Antony Pavlov wrote:
> On Thu, 3 Mar 2016 14:47:26 +0100
> gianluca <gianlucarenzi@eurek.it> wrote:
>
>> On 03/03/2016 02:52 PM, Antony Pavlov wrote:
>>
>> Before digging on the Datasheet for the explanation of all MII PHY
>> registers, here is the output of the command you wrote above:
>>
>>> barebox@EK360 Eurek i.MX6 Quad:/ miitool -v -v
>>> phy0: 2188000.ethernet-1: no link
>>> registers for MII PHY:
>>> 1140 7949 0022 1622 01e1 0000 0006 2001
>>> 0000 0300 0000 0000 0000 0000 0000 3000
>>> 0000 00f4 0000 0000 0000 0000 0000 0200
>>> 0000 0000 0000 0028 0000 0000 0000 0301
>>> product info: Micrel KSZ9031 Gigabit PHY (vendor 00:08:85, model 34 rev 2)
>>> basic mode: autonegotiation enabled
>>> basic status: no link
>
>
> 'no link' here, so please check your magnetics and RJ-45 connector.
>

I found the problem. I did a wrong connection (PCB) between common line 
of the magnetics to the ethernet-vcc line. This line has to be connected 
ONLY to the GND with a single 10nF capacitor only.

When connecting to a Gigabit Ethernet switch:

> barebox@EK360 Eurek i.MX6 Quad:/ dhcp
> warning: No MAC address set. Using random address 8e:0c:97:9d:0d:fd
> eth0: 1000Mbps full duplex link detected
> T T T DHCP client bound to address 192.168.143.194


When connecting to a 100Mb Ethernet switch:

> barebox@EK360 Eurek i.MX6 Quad:/ dhcp
> warning: No MAC address set. Using random address 2e:a7:4d:11:f2:65
> ksz9031rn_phy_fixup Called
> ksz9031rn_phy_fixup Exit
> eth0: 100Mbps full duplex link detected
> T DHCP client bound to address 192.168.1.165

Right now, I have no 10Mb HUB but who cares? I will face the problem (if 
any) when somebody will point me this issue... ;-)

I would to thank everybody on the mailing list for all hints!

The next step is to calibrate the skew-rate of the lines (if needed) 
when facing some problems during high load transfer in both modes 
(100/1000) but for this I need to boot up in Linux first.

Next step is to connect a USB Disk and try to mount it...

Stay tuned! ;-)

Best regards,
Gianluca
-- 
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: Ethernet PHY KSZ9031 is not working
  2016-03-03 14:42 ` Ethernet PHY KSZ9031 is not working Holger Schurig
@ 2016-03-09  8:58   ` Alexander Aring
  2016-03-16 12:34     ` Holger Schurig
  0 siblings, 1 reply; 9+ messages in thread
From: Alexander Aring @ 2016-03-09  8:58 UTC (permalink / raw)
  To: Holger Schurig; +Cc: barebox, gianluca

Hi,

On Thu, Mar 03, 2016 at 03:42:01PM +0100, Holger Schurig wrote:
> > USB Host-A has to be tested, but if I type:
> >
> >>> usb
> >> USB: scanning bus for devices...
> >> Bus 001 Device 001: ID 0000:0000 EHCI Host Controller
> >> 1 USB Device(s) found
> >
> > so I can suppose the host controller is working.
> 
> I'm unsure if that is correct. When you see the USB IDs of some
> connected devices then you be (a bit) sure(rer).
> 
> 
> > - DDR3 Memory Controller
> > Memtest is passing all tests. So I can suppose the timings are quite
> > good enough to use the Dynamic RAM correctly. I will do a stress test
> > later...
> 
> I had a system once where the memtest in barebox worked, but memtester
> from Linux found issues.
> 

do you know why memtester from Linux found issues?
Maybe we can grab some patterns from [0] and simple do the same what
linux does (inclusive disable caching).


My experience with memtester is:

I saw some people which use memtester under Linux and randomly
"MTD/filesystem broken" messages blobs out while running memtester. I would
guess that the memtester written in some memory mapped area of connected
NAND devices.

- Alex

[0] http://lxr.free-electrons.com/source/mm/memtest.c#L6

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

* Re: Ethernet PHY KSZ9031 is not working
  2016-03-09  8:58   ` Alexander Aring
@ 2016-03-16 12:34     ` Holger Schurig
  0 siblings, 0 replies; 9+ messages in thread
From: Holger Schurig @ 2016-03-16 12:34 UTC (permalink / raw)
  To: Alexander Aring; +Cc: barebox, gianluca

Alexander Aring <alex.aring@gmail.com> writes:
> do you know why memtester from Linux found issues?

No, I actually didn't even look into the source code.

> I saw some people which use memtester under Linux and randomly
> "MTD/filesystem broken" messages blobs out while running memtester. I would
> guess that the memtester written in some memory mapped area of connected
> NAND devices.

In my case this wasn't the issue ... I don't have NAND in my hardware.

Later, when our hardware guy fixed layout and DDR3 timing values with
the Freescale tool, memtester worked perfectly. Barebox' memory test
however didn't show an error before the rework ... and afterwards also
not :-)

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

end of thread, other threads:[~2016-03-16 12:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-03 12:44 Ethernet PHY KSZ9031 is not working gianluca
2016-03-03 13:52 ` Antony Pavlov
2016-03-03 13:47   ` gianluca
2016-03-03 15:21     ` Antony Pavlov
2016-03-04 11:12       ` Ethernet PHY KSZ9031 is not working [SOLVED] gianluca
2016-03-03 14:42 ` Ethernet PHY KSZ9031 is not working Holger Schurig
2016-03-09  8:58   ` Alexander Aring
2016-03-16 12:34     ` Holger Schurig
2016-03-03 14:53 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox