KCC's Quizzes AQQ305 about a mutual exponentiation equation
1. Quote of the month: "A train station is where a train stops. A bus station is where a bus stops. I have a work station on my desk, so..." - unknown
2. Quiz AQQ305 about finding a mutual exponential equation
Good luck, and try to be among the
View All
September Monthly Blog Quiz! Read the blog, take the quiz, and you could win a gift card
Quiz: How Well Do You Know Adaptive Power Switching?
Is your I/O module overheating? The AD74416H's Adaptive Power Switching (APS) can cut heat dissipation by up to 40% — but how well do you really understand how it works?
Read the blog first: Cooling
View All
MAX96711
Production
The MAX96711 is a compact serializer with features especially suited for automotive camera applications. In high-bandwidth mode, the parallel-clock maximum...
Datasheet
MAX96711 on Analog.com
Hello ADI support! MAX96712 data sheet promises 2 i2c address translation per GMSL2 port. I already use it on the serializer side, with my MAX9295 and it is working fine. However, when I set it up on the deserializer side ( I have more than 2 i2c devices to translate), it doesn't do anything.
My setup is the following: one Nvidia AGX ORIN is connected to the MAX96712, and I have a camera that is connected to it using a GMSL2 cable.
The camera is connected to the port A of the MAX96712. The i2c control channel is 0. At this stage, I can see all my i2c devices.
Now, from the data sheet of the MAX96712 I have, it clearly appears that I should write in registers 0x642 to 0x645 to translate my devices. So for one device, I can write in register 0x642 the source address (translated address) and in 0x643 the destination address (true address). Hence, If I want to translate a device with 7 bits address 0x10 to 0x20, I write the following in my register:
REG - > VAL 0x642 -> 0x40 0x643 -> 0x20
But the translation is not effective. I have tried it the other way around and it does not work either.
Could you help me to activate this feature? Am I wrong in my understanding of the i2c address translation using the MAX96712?
I thank you very much for your attention regarding this matter.
Best regards,
Louis
Hi,
Please note that, I2C drivers to work with 7 bit addressing,
if your software/tool is using 7-bit I2C address, In that case we need to right shift the 8 bit map address to one.
For example: 0x98 IO Map – 8 bit address
0x98 >>1 =0x4C – 7 bit address
I2C source and destination address translation related details are provided here at MAX96711 14-Bit GMSL Serializer with High-Immunity/Bandwidth Mode and Coax/STP Cable Drive (analog.com)
This link https://patchwork.kernel.org/project/linux-media/patch/20181102154723.23662-2-kieran.bingham@ideasonboard.com/ We got it from internet about regarding MAX chip I2C translation.
Thanks.
Poornima
I have the same problem. My camera is connected to it using a GMSL1 cable with max96705 and the I2c address is right.
REG - > VAL
0x642 -> 0x80
0x643 -> 0x40
But,it does not work either.
Hi,
I forgot this issue, but I think I found the answer to my initial message.
First, Poornima thanks for your feedback. My issue wasn't because I used 7 bit addresses instead of 8 bit addresses.
In fact the answer is in the documentation of the 96712. Here is the description of the Source address register for I2C translation:
Link A GMSL1 AND GMSL2 I2C AddressTranslator Source A:
When I2C device address matches SRC_A_P0_A, internal I2C master (on remote side) replaces the device address by
DST_A_P0_A. This setting applies only to I2C Port 0 for GMSL2. This setting applies to all I2C Ports for GMSL1.
In fact, in my setup, I have no I2C master on remote side, the master is on the local side. Hence, the translation feature of my serializer is working, as well as the deserializer's translation, but for the later it is not in the right direction for my setup: the I2C master is on local side for the 96712. Maybe someone can confirm my guess.
Anyway, I dropped the idea of I2C translation using the deserializer since I couldn't get it working.
I would like to add one last precision, I stumbled across the same issue with the MAX9296: the translation is working on my serializer (remote I2C master), but not on the deserializer (local I2C master). Since the setup is exactly the same as with the MAX96712, this corroborate my previous statement.
Best regards,
Louis Guerlin