Looking for support to integrate AR0231/MAX9295A GMSL2 camera to Nvidia. Are there some samples on how to integrate a new serialzier on the Nvmedia stack ? Looking for insights/recommendation on where to inject the code ? is it driver level or SAL level ?
Dear divya sharma,
The <PATH_TO_DriveSDK>/drive-t186ref-linux/samples/nvmedia/ext_dev_prgm/drv has drivers files which are supported in NvMedia and which in turn supported by Driveworks. If you want to add a new camera support, you need to add driver code files in the folder path I mentioned and check running NVMedia samples.
Thanks for the response. I would really appreciate detailed instructions on how these layers are communicating with each other. My understanding of capture sample is it makes calls to NvMedia API, from there how is it routing to /ext_dev_prgm/drv ? Does NvMedia needs to be recompiled after inserting this new driver for the serializer ?
If you want new combination apart from default provided configurations, you need to add files to /ext_dev_prgm/drv and recompile to get a new .so file and can check running samples in NVMedia. You can only work with NVMedia APIs. This does not help the new sensor to work using Driveworks. DW is configured to work with defualt sensor+ser+deser combinations.
If you want support for new Sensor+serializer+deserilizer combination on Driveworks, You need to file a bug. Please login to https://developer.nvidia.com/drive with your credentials. Please check MyAccount->MyBugs->Submit a new bug to file bug.
Please share ID here to follow up
Is there a block diagram showing the deserializer used in the AGX platform? I see references to MAX96712, but this is not a GMSL2 deserializer. Which ports support GMSL2 in GMSL2 mode?
Bug ID# 2648213 created with details of what I’m trying to achieve.
EDIT: this IS a GMSL2 deserializer - I mixed up MAX96712 with MAX96711. Is there an example GMSL2 camera conf file that I can reference?
any updates about this?
I also want to get support for AR0231/MAX9295A GMSL2.
I have tried implemented the driver under nvmedia/ext_dev_prgm.
Bellow is the detail logs for running nvmipp_raw.
# ./nvmipp_raw -cf ddpx-a.conf -c SF3324-CSI-A Max96712 Rev 2 detected! SetupConfigLink: Check deserializer limitations ChkMAX96712Limitaions: Read the deserializer revision number SetupConfigLink: Check deserializer limitations finished SetupConfigLink: Select I2C port over the link SetupConfigLink: Select I2C port over the link finished SetupConfigLink: Enabling link: 0 MAX96712 Rev 2 manual adaptation on the link 0(0) SetupConfigLink: Disable all forward channels SetupConfigLink: Disable all forward channels finished SetupConfigLink: Enable all forward channels SetupConfigLink: Enable all forward channels finished SetupConfigLink: Enable packet based control channel SetupConfigLink: Disable DE SetupConfigLink: Enable periodic AEQ MAX96712: Enable periodic AEQ on Link 0 SetupVideoLink: Replicate output SetupVideoLink: Set MIPI output mode SetupVideoLink: Set data type SetupVideoLink: Update mapping table SetupVideoLink: Enable specific link SetupVideoLink: Check config link lock SetupVideoLink: Check serializer is present MAX9295: Revision 8 detected! SetupVideoLink: Set unique address with broadcast address SetupVideoLink: Set address translation for the serializer SetupVideoLink: Check sensor is present nvmedia: ERROR: [AR0231RCCBCheckPresence:721] Chip Id register read failed nvmedia: ERROR: SetupVideoLink: Image sensor(0) device is not present, err = 89(Function not implemented) nvmedia: ERROR: Init: Failed to setup video link nvmedia: ERROR: IPPInit: Failed to initialize ISC devices nvmedia: ERROR: main: Error in IPPInit [NvMediaIPPManagerDestroy:192] Bad parameter
It seems fine until ERROR: [AR0231RCCBCheckPresence:721] Chip Id register read failed.