Page 1 of 1

AR8035 Smart Speed disable

Posted: Wed Nov 29, 2017 9:02 pm
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

Re: AR8035 Smart Speed disable

Posted: Wed Nov 29, 2017 9:41 pm
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);