Ver código fonte

msm: camera: cci: Add CCI Global reset during CCI HW init

During first CCI HW initialization, CCI HW global reset has to be called.

CRs-Fixed: 2782553
Change-Id: Ifc02f512859932636c79b0bfed1f60e7c0626cee
Signed-off-by: Anil Kumar Kanakanti <[email protected]>
Anil Kumar Kanakanti 4 anos atrás
pai
commit
9943af257a
1 arquivos alterados com 10 adições e 3 exclusões
  1. 10 3
      drivers/cam_sensor_module/cam_cci/cam_cci_soc.c

+ 10 - 3
drivers/cam_sensor_module/cam_cci/cam_cci_soc.c

@@ -39,9 +39,16 @@ static int cam_cci_init_master(struct cci_device *cci_dev,
 
 		/* Set reset pending flag to true */
 		cci_dev->cci_master_info[master].reset_pending = true;
-		cam_io_w_mb((master == MASTER_0) ?
-			CCI_M0_RESET_RMSK : CCI_M1_RESET_RMSK,
-			base + CCI_RESET_CMD_ADDR);
+		cci_dev->cci_master_info[master].status = 0;
+		if (cci_dev->ref_count == 1) {
+			cam_io_w_mb(CCI_RESET_CMD_RMSK,
+				base + CCI_RESET_CMD_ADDR);
+			cam_io_w_mb(0x1, base + CCI_RESET_CMD_ADDR);
+		} else {
+			cam_io_w_mb((master == MASTER_0) ?
+				CCI_M0_RESET_RMSK : CCI_M1_RESET_RMSK,
+				base + CCI_RESET_CMD_ADDR);
+		}
 		if (!wait_for_completion_timeout(
 			&cci_dev->cci_master_info[master].reset_complete,
 			CCI_TIMEOUT)) {