> -----Original Message-----
> From: Vladimir Levintovich [mailto:vladim...@silicom.co.il]
> Sent: Wednesday, May 20, 2015 7:25 AM
> To: Rose, Gregory V; e1000-devel@lists.sourceforge.net
> Subject: RE: Programming i2c interface on XL710
> 
> Thanks.
> I tryed.
> Here are 2 commands for example:
> find /sys/kernel/debug/i40e/ -name command -exec sh -c 'echo "write
> 0x000881e0 0x05a01234" > {}' {} ';'
> find /sys/kernel/debug/i40e/ -name command  -exec sh -c 'echo "read
> 0x000881e0 " > {}' {} ';'
> Below is the result from the dmesg buffer:
> [89780.472266] i40e 0000:02:00.1: write: 0x000881e0 = 0x05a00d00
> [89780.474727] i40e 0000:02:00.0: write: 0x000881e0 = 0x05a01234
> [89780.479131] i40e 0000:02:00.1: read: 0x000881e0 = 0xa5a01234
> [89780.481625] i40e 0000:02:00.0: read: 0x000881e0 = 0xa5a01234

It appears to me that you were able to successfully write 01234h to the device 
at bus address 02:00.0 - I rearranged the above to help show it.

> [89780.474727] i40e 0000:02:00.0: write: 0x000881e0 = 0x05a01234
> [89780.481625] i40e 0000:02:00.0: read: 0x000881e0 = 0xa5a01234

But the write to the device at bus address 02:00.1 did not succeed - you wrote 
0D00h but read back 01234h.

> [89780.472266] i40e 0000:02:00.1: write: 0x000881e0 = 0x05a00d00
> [89780.479131] i40e 0000:02:00.1: read: 0x000881e0 = 0xa5a01234

I think the i2c interface is writeable only through the first function of the 
device.  I will check and get back to you with an answer.  But for now it 
appears that you are able to write to the register on the device at bus address 
02:00.0.

- Greg

> 
>  I have disconnected qsfp Trancievers and I saw at the same result. It
> means I wrote nothing to the QSFP Tranciever.
>  Please advise how can I advance?
>  Thank you
> 
> -----Original Message-----
> From: Rose, Gregory V [mailto:gregory.v.r...@intel.com]
> Sent: Monday, May 18, 2015 8:30 PM
> To: Vladimir Levintovich; e1000-devel@lists.sourceforge.net
> Subject: RE: Programming i2c interface on XL710
> 
> 
> > -----Original Message-----
> > From: Vladimir Levintovich [mailto:vladim...@silicom.co.il]
> > Sent: Monday, May 18, 2015 9:07 AM
> > To: e1000-devel@lists.sourceforge.net
> > Subject: [E1000-devel] Programming i2c interface on XL710
> >
> > Hi guys,
> >
> > Is someone have an experience with programming i2c interface on XL710?
> >
> > I need to test QSFP+ 10 Gbs 4X Pluggable Transceiver (FTL410QD2C) , i.e.
> > to write something data, read that and also to test Acknowledge.
> > Device code of this transceiver is 1010000 R/W.
> >
> > According to XL710 data sheet, I need to write/read to/from register
> > GLGEN_I2CCMD0 (offset 0x000881E0).
> > I perform it using some utility. Here are 2 commands for example:
> > find /sys/kernel/debug/i40e/ -name command -exec sh -c 'echo  "write
> > 0x000881e0 0x20a05a5a" > {}' {} ';'
> > find /sys/kernel/debug/i40e/ -name command -exec sh -c 'echo  "write
> > 0x000881e0 0x28a00000" > {}' {} ';'
> > find /sys/kernel/debug/i40e/ -name command -exec sh -c 'echo  "read
> > 0x000881e0 " > {}' {} ';'
> >
> > How do I need to write/read to/from this register properly?
> 
> It appears that you've written 0x5a5a to register 0xA0 and then are
> reading the value back.  What makes you think you haven't done it
> correctly?
> 
> > I don't understand what is filed REGADD and PHYADD (chapter
> 11.2..2.1.14)?
> 
> I'm no expert on I2C programming but it appears the REGADD field is the
> offset of one of the registers - in your example above it is 0xA0.  The
> PHYADD bits are refer to the device address - it says it should be 1010b.
> It is a bit confusing because the field is 3 bits but the default value
> they mention is 4 bits.  From your example above it appears you're using
> the value 000b.  Perhaps changing it 101b might help?
> 
> Thanks,
> 
> - Greg


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to