Manual power control of MAX96712 Deserializer

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 6.0.8.1

Target Operating System
Linux

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)

In the nvsipl code example the MAX96712 deserializer becomes visible on the I2C bus after a call to DevBlkCDISetDeserPower.
How can I control the deserializer power on the command line?

Moving to DRIVE AGX Orin forum(DRIVE AGX Orin General - NVIDIA Developer Forums)

Dear @manthey,
do you mean you are looking for command from linux terminal?

1 Like

Yes exactly.

Dear @manthey,
May I know why your are looking for this method?

We are trying to port a high-bandwidth multi-camera solution to AGX Orin Drive. In order to be able to maintain and support such complex solutions in the field you need a certain level of control over the related hardware.
E.g. verify all components are connected and visible on the I2C bus, verify devices revisions and link states.
These basic operation should not be part of the camera driver but be part of separate tools to enable the field teams with basic diagnose options.

Dear @manthey,
Check if the below info helps

for A port

cd /sys/kernel/debug/cdi-mgr.0.a/cdi-dev.0.28
echo 0x1 > offset
echo 0x2Y > val 

Y here indicates 4 bit camera selector(A3A2A1A0).
I quickly tested running nvsipl_camera with just A0 camera, and then when I set val → 0x21 or 0x23 or 0x25 or 0x27, the nvsipl_camera works continuously as A0 camera bit is set in val. But when I set val → 0x22 , the application crashed as A0 camera bit is not set.

The 0x28 device is the MAX20087 which seems to control the Power Over Coax. This would supply the serializer and the camera but not the local MAX96712@29 deserializer.
You can check with sudo i2ctransfer -y -f 0 w2@0x29 0x00 0x0d r1. If the deserializer is powered up it will respond 0xa0 if not you get an remote i/o error. Other option is to set /sys/kernel/debug/cdi-mgr.0.a/cdi-dev.0.29/offset to 0xd and you get 0xa0 from val if powered on and i/o error if not.

I found /sys/kernel/debug/cdi-mgr.0.a/pwr-on but I don’t know the value to put here

The deserializer powers up after INvSIPLCamera::Init() is called. But this requires complex platform configurations and drivers to be present on the Orin drive system. That is not really suited to just verify the hardware connected to a system by a field team. Any help here is highly appreciated.

Dear @manthey,
It seems the request info is beyond of the forum support. Please reach out to you NVIDIA representative for further support.

My NVIDIA representative referred me to the forum

Please check if the information provided in Cdi-mgr ioctls do not appear to power on deserializer helps.

Yes. But I’d like to add that the solution has been provided by my fellow colleague after his request had also been rejected. In order to build maintainable solutions beyond demo level, integrators need low level control over the hardware.
I recommend NVIDIA reviewing it’s support policy. After 10 years working with NVIDIA embedded products (TK1) I have have not once seen any other line of support other than the forum.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.