> > > Right now I've modded igb_init_i2c() to engage the bit-banging > > > i2c driver for the i210 too > > > > I don't think that will work. The datasheet for the i210 talks about > > two registers for I2C/MDIO which are not bit-banging. Only the i350 > > uses bit-banging. > > > From the i210 datasheet, page 477: > chapter 8.17.9 "SFP I2C Parameters" - reg. I2CPARAMS (0x102C; R/W) > bit 8 "I2CBB_EN" = I2C bit-bang enable. > And about 6 more bits for SDA and SCL direction, input and output. > Looking through existing code of the bit-banging callbacks for i350, > their function would seem identical between the i210 and i350. > I may check the bit definition macros again, if the scope shows > nothing. > Sure enough, the I2C port works in bit-banging mode, even without a semaphore. Screenshot attached. I'm not getting an ACK from the SFP, probably because I've got the address and offset wrong and because I'd better use indirect access. There's some more work awaiting me... God knows if this is going to be any use :-)
Frank
The following section of this message contains a file attachment prepared for transmission using the Internet MIME message format. If you are using Pegasus Mail, or any other MIME-compliant system, you should be able to save it or view it from within your mailer. If you cannot, please ask your system administrator for assistance. ---- File information ----------- File: osc_some_frame_bitbang.png Date: 17 Mar 2018, 17:43 Size: 54383 bytes. Type: Unknown
osc_some_frame_bitbang.png
Description: Binary data
The following section of this message contains a file attachment prepared for transmission using the Internet MIME message format. If you are using Pegasus Mail, or any other MIME-compliant system, you should be able to save it or view it from within your mailer. If you cannot, please ask your system administrator for assistance. ---- File information ----------- File: osc_some_frame_HW.png Date: 17 Mar 2018, 17:39 Size: 40613 bytes. Type: Unknown
osc_some_frame_HW.png
Description: Binary data