For example I just want to see if there is any activity on specific i2c bus (channel?). I dont have any additional equipment, analyzers, oscilloscope, I just want to log activity on i2c after my touch panel stops reacting. Is there a way to do this?
Also, how to find i2c base address?
Solved! Go to Solution.
i.MX6DQ Reference Manual (rev.2 7/2014)
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf
i.MX6SDL Reference Manual (rev.2 5/2015)
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SDLRM.pdf
i.MX6SL Reference Manual (rev.1 5/2013)
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SLRM.pdf
i.MX6SX Reference Manual (rev.0 2/2015)
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SXRM.pdf
Hi Petar
one can try All Boards I2C-tools
however seems, using oscilloscope or analyzer is most preferable option.
i2c base address can be found in documentation.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thank you for your reply.
These tools are handy, but it doesnt look like they could monitor the actual ongoing traffic on a bus. Unless subsequent dumping of registers would show that something is going on?
I was browsing all imx docs I could find for this base address but couldn't find it. If you can tell me more specific where to look for?
Edit: I just found this doc file https://community.freescale.com/servlet/JiveServlet/download/475517-286795/i.MX_6_Linux_Reference_Ma...
And I followed memory map chapter to this source code in kernel (grep i2c):
./mx6.h:#define MX6Q_I2C1_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x20000)
./mx6.h:#define MX6Q_I2C2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x24000)
./mx6.h:#define MX6Q_I2C3_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x28000)
./mx6.h:#define MX6SL_I2C4_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x78000)
./mx6.h:#define MX6DL_I2C4_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x78000)
I guess these addresses are used by all sabresd boards?
i.MX6DQ Reference Manual (rev.2 7/2014)
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf
i.MX6SDL Reference Manual (rev.2 5/2015)
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SDLRM.pdf
i.MX6SL Reference Manual (rev.1 5/2013)
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SLRM.pdf
i.MX6SX Reference Manual (rev.0 2/2015)
http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SXRM.pdf
Thank you!
Hi Petar
I am not aware of such tools, regarding "base address",
which are you looking for ? If processor, then one needs
to check processor Reference Manual, usually this is
Chapter 2 Memory Maps, if i2c peripheral device - then
datasheet of that particular device.
~igor