* 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 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 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 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 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 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
* 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
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