AR8035 Smart Speed disable

Technical discussions related to any XMOS development kit or reference design. Eg XK-1A, sliceKIT, etc.
Post Reply
User avatar
akp
XCore Expert
Posts: 578
Joined: Thu Nov 26, 2015 11:47 pm

AR8035 Smart Speed disable

Post by akp »

There is a bug in the ar8035_phy_driver() in the disabling of smart speed. Per the latest Qualcomm data sheet I have, once smart speed is disabled the AR8035 must undergo sw reset. I have added that feature and also determined that, in that case, an additional setting must be made in order to disable gigabit ethernet in case you don't want to use more than fast ethernet. Here is the correct steps to do so:

1. Write smartspeed register (0x14) with value 0x80C (disable smart speed)
2. R-M-W basic control register (0x00) with bit 15 set to trigger sw reset -- this will cause smartspeed setting to become active
3. In case GbE is disabled, write 0x14 with value 0x90C (disable GbE)

cheers


User avatar
akp
XCore Expert
Posts: 578
Joined: Thu Nov 26, 2015 11:47 pm

Post by akp »

Also found a problem with the EEE auto-neg advertisement. Device address was wrong in the data phase of the write
change

Code: Select all

  // Disable EEE auto-neg advertisement
  smi.write_reg(phy_address, 0x0D, 7);
  smi.write_reg(phy_address, 0x0E, 0x3C);
  smi.write_reg(phy_address, 0x0D, 0x4003);
  smi.write_reg(phy_address, 0x0E, 0);
to

Code: Select all

  // Disable EEE auto-neg advertisement
  smi.write_reg(phy_address, 0x0D, 7);
  smi.write_reg(phy_address, 0x0E, 0x3C);
  smi.write_reg(phy_address, 0x0D, 0x4007);
  smi.write_reg(phy_address, 0x0E, 0);
Post Reply