Project

General

Profile

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

    (1-1/1)
    Go to top
    Add picture from clipboard (Maximum size: 1 GB)