Forums » Software Development »
Camera driver development
Added by Nathan Olson 5 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 (1)
RE: Camera driver development - Added by Noah Zins about 1 hour 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