Problems with the i.MX53 connected to a KSZ8895RQ

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Problems with the i.MX53 connected to a KSZ8895RQ

935 Views
agamarramu
Contributor I

Hi all,

One of our new designs include the LAN port KSZ8895RQ and I have found a problem with it. After several proofs, I have realized that the problem is that it is only working when I have something connected to the port 1. If I connect my PC to the port 1, everything works fine, if I don't connect anything, nothing is working.

The ports are connected the following way:

- Port 1: to an Ethernet connector, used to connect a PC

- Port 2: to another Ethernet connector, used to connect a PC

- Port 3: empty, future uses

- Port 4: to another board

- Port 5: to the main CPU through the RMII interface

The ports 4 and 5 are always connected but I cannot ping the board connected to the Port 4 from the main CPU if the Port 1 is not connected. Can any of you helping me with this? It seems that the phy driver is only working if it is able to connect through the Port 1 of the switch. I use the SPI port to configure the switch

Labels (2)
0 Kudos
Reply
2 Replies

751 Views
igorpadykov
NXP Employee
NXP Employee

Hi Alvaro

one can try to test with uboot KSZ8895 driver with fixed fixed phy/link

http://lists.denx.de/pipermail/u-boot/2013-September/161819.html

http://lists.denx.de/pipermail/u-boot/2013-August/161220.html

Best regards

igor

0 Kudos
Reply

751 Views
agamarramu
Contributor I

Hi Igor,

Thanks a lot for your response but I had already used those patches and they are not working fine, I suppose that is because I have a different kernel version that the one they were created (mine is 3.0.79). An example of phy driver structure that I find in my micrel.c file:

static struct phy_driver ks8001_driver = {

  .phy_id = PHY_ID_KS8001,

  .name = "Micrel KS8001 or KS8721",

  .phy_id_mask = 0x00fffff0,

  .features = (PHY_BASIC_FEATURES | SUPPORTED_Pause),

  .flags = PHY_HAS_MAGICANEG | PHY_HAS_INTERRUPT,

  .config_init = kszphy_config_init,

  .config_aneg = genphy_config_aneg,

  .read_status = genphy_read_status,

  .ack_interrupt = kszphy_ack_interrupt,

  .config_intr = kszphy_config_intr,

  .driver = { .owner = THIS_MODULE,},

};

Have you found any other patch or fix on the web? Because I have been looking in the Internet and nothing works for me.

Regards

Alvaro

0 Kudos
Reply