Question
Answer
The following steps assume the user has flashed the AD-GMSL522-SL with the required software as indicated in the AD-GMSL522-SL Getting Started Guide [Analog Devices Wiki], and the user is familiar with the CFG pin configuration process for the MAX96717EVKIT, visit the datasheet page 4 for more details MAX96717 DPHY Evaluation Kit - Evaluates: MAX96717/717F/717K/717R
- The user should have successfully tested the AD-GMSL522-SL Getting Started Guide - Loopback Testing and Exercises.
- The extlinux.conf files should be configured to use the tegra194-p3668-0001-gmsl522-revb-gmsl-3.dtb
Visit the nvidia/README.md at gmsl/main · analogdevicesinc/nvidia for more details on the different types of device trees configurations.
Here is the step-by-step process to follow to get a MAX96717EVKIT with CFG0 configured to I2C, XTAL, and address 0x84 to be recognized by the AD-GMSL522-SL on board MAX96724:
- Boot up the AD-GMSL522-SL without connecting the any external GMSL devices.
- Confirm the I2C devices in the I2C-1 bus:
This shows the presence of the MAX96724 Deserializer and MAX96717 Serializer installed locally.
By default, the MAX96724 Deserializer's 8-Bit I2C address is 0x4E (0x27 is the 7-bit address), you can find the CFG pin setting in the respective datasheets.
The MAX96717 Serializer's 8-bit I2C address is 0x84 (0x42 is the 7-bit address).
III. When connecting the MAX96717EVKIT with default address 0x84 notice the link Lock LED is not enabled. This means that if I read the I2C-1 bus addresses again, the Linux system is reading the local MAX96717, not the evaluation kit.
IV. Proceed to connect to the GMSL server and open the GMSL GUI on the host PC:
The GUI detects the devices in the I2C bus and reports the findings. Also notice the GUI assumes the local uC is on the Deserializer side, and the Lock LED is still off.
V. Proceed to use the CSI configuration tool to program the link in the same method used in the AD-GMSL522-SL Getting Started Guide - Loopback Testing and Exercises. If the configuration used in the Loopback Testing Exercise was saved, the user can directly program the link with the .cpp file without the need to use the CSI configuration tool.
VI. After the .cpp files is programmed, the user should see the prompt in the GUI that says, "Configuration Complete!" and now the LOCK LED should light up. This means a GMSL2 link has been stablished and the Deserializer is communicating with the Serializer via the GMSL link.
VII. In order to confirm the MAX96717EVKIT is the one interacting in this case we make use of the AD-GMSLCAMRPI-ADP adapter with a Raspberry pi Camera Module 2 attached to the MAX96717EVKIT, to make sure the correct devices show up when probing the I2C-1 bus:
In this case the camera has address 0x20 (0x10 7-bit) and there is an EE-Prom device with address 0xC8 (0x64 7-bit).
VIII. Proceed to do the steps for the pattern generator as shown in the Loopback test, then the user should see the correct images. In this example the pattern generator settings are slightly different just to make sure the external Serializer is programmed accordingly.
- Close the pattern generator visualization on Linux and Stop the pattern generator on the GUI. In order to test this is the communication with the MAX96717EVKIT, not the local MAX96717 remove the GMSL Coaxial cable from the AD-GMSL522-SL. This disables the LOCK LED. Then attempt to generate the pattern again and visualize it in Linux by pressing the Green play button. In this case I get a black screen which confirms the pattern generator was indeed from the MAX96717EVKIT, not the local MAX96717.
If I want to remove any confusion with the local Serializer, then the suggestion is to change the CFG pin configuration to provide an alternative value (in this case the only option is 0x80), the procedure is explained in Updating the Digital Potentiometers on AD-GMSL522-SL.
- After bootup with all the devices connected the user should see the following when probing the I2C-1 bus:
- The user should be able to follow the same procedure shown at the beginning of this article and there should be no difference in performance, other than the local MAX96717 showing up with address 0x80. Since the address 0x80 is not used in the configuration this does not affect the process.