How to set up Device Tree for second camera on DB820c


Does anyone know what changes I would have to make to the device tree to get a second mipi camera working on the DB820c? A different CCI and I2C bus would need to be used, correct? I would want to use CCI_I2C_SDA1 and CCI_I2C_SCL1 with CAM_MCLK2, instead of CCI_I2C_SDA0 and CCI_I2C_SCL0, and CAM_MCLK0. Would the a0c000 address need to change to something else:
cci@a0c000 {
status = “ok”;

		camera_rear@3b {

Any help would be great,

Ov5640 Camera Support in APQ8096 Open Embedded

Not necessarily, you can drive several cameras with only one CCI/I2C bus. At initialization camera will be configured with different I2C addresses. So you can have several camera child devices under the cci@a0c000 nodes.

AFAIK, The 820C/APW8096 has only one CCI controller, I assume you can route the CCI controller pins to either SDA0/SCL0 or SDA1/SCL1, but you still use the same controller. @todortomov do you confirm ?


It has one CCI controller but that contoller can drive two hardware CCI buses. So Kim’s question is valid however the software support for the second CCI bus is still in progress, it is not ready yet.


Hi Loic and todor,
I think I’ve just confirmed that CCI1 is not working, but CCI0 is working. This is on a development board that has a snapdragon 820 processor. I attached a camera that requires no I2C commands for setting up the camera and am able to capture video from the camera after configuring the device tree to port2 for that camera and it comes up correctly as /dev/video2:
camss@a00000 {
status = “ok”
ports {

port@2 {
reg = <2>;
csiphy2_ep: endpoint {
clock-lanes = <7>;
data-lanes = <0 1>;
remote-endpoint = <&camera_ep>;
//status = “disabled”;
This camera also works on port@0. Another camera I have does require I2C and only works on port@0.
Do you have a timeline for when the other CCI bus will be working?

Thanks for the help and confirmation,


Any update on this?
I want to use the second MIPI port as well as the first port on the Dragonboard 820c.