Forums » Software Development »
Camera driver development
Added by Nathan Olson 11 days ago
Do you have any resources to help with camera driver development? I've found Qualcomm's "Linux Build Guide", "Linux Camera Guide", and "Linux Camera Guide - Addendum". I'm now working on building the camera and sensor files from source.
In your chicdk-kt_1.0.qcom.bbappend file in your Yocto layer, there is a reference to CriticalLink changes and the nonexistent webpage https://redmine.syr.criticallink.com/redmine/projects/mitysom_qcs6490/wiki/Camera_Notes .
Can you tell me what version of meta-qcom-extras you used for your changes, and what the changes are? Any other info would be appreciated as well.
Replies (2)
RE: Camera driver development - Added by Noah Zins 6 days ago
Hi Nathan,
We used the r1.0_00095.0 release of Qualcomm_Linux.SPF.1.0|AP|Standard|OEM|NM_QIMPSDK for our firmware development. It contains the r1.0_00376 release of QCM6490.LE.1.0 where the meta-qcom-extras layer resides. These versions correspond with QC Linux 1.5.
Note that there is a limitation with QC Linux 1.5 that does not allow simultaneous streaming from more than 3 cameras, so we're migrating to a newer version in an upcoming SDK.
I have found the Linux Camera Guide - Addendum to be the most helpful document by far.
Sorry for the confusion about that link, it is only available internally. I am currently writing up a publicly available instruction document for this process. I hope to have it published tomorrow.
--
In short, you need to modify two recipes. I found using devtool (per the Camera Guide - Addendum) to be helpful.
devtool modify chicdk-kt
- Copy the existing cmk_ov9282_cam*.xml file at \${CAMX_CHICDK_PATH}/oem/qcom/module to add additional module XMLs with unique cameraId values.
- Add cmake files that correspond to these new XMLs at \${CAMX_CHICDK_PATH}/oem/qcom/buildbins/build/linuxembedded/binary_yupik/
- Modify ${CAMX_CHICDK_PATH}/oem/qcom/multicamera/chimcxcameraconfig/configs/kodiak/kodiak_dc.xml to match my desired configuration, and removed all other XMLs in this directory.
Note in kodiak_dc.xml the slotId property must match the cameraId property from the module XML file. The cameraId value is the CSI interface number. - Build and install chicdk-kt ipk according to the Addendum.
--
For the device tree:
devtool modify cameradtb
- open mitysom-qc6490-devkit-camera-sensor.dtsi
- Copy an existing node for the ov9281, qcom,cam-sensorX
- X needs to match cameraId from the Module XML.
- If the new camera is going to connect to CSI0 or CSI1, paste the new node under &cam_cci0, if its CSI2-4, then it goes under &cam_cci1
- Update cell-index to match X from above.
- Update csiphy-sd-index to match CSIx number the camera will be connected to.
- Update csi-master:
- CSI0 and CSI2 use csi-master = <0>
- CSI1, CSI3, and CSI4 use csi-master = <1>
Let me know if you have further questions about camera development, I will update this post when I've published an official page for this process.
Thanks,
Noah
RE: Camera driver development - Added by Noah Zins 4 days ago
Hi Nathan,
It is posted here: https://support.criticallink.com/redmine/projects/mitysom_qc6490/wiki/Camera_Config
Please don't hesitate to reach out if you have further questions!
Thanks,
Noah