|
@@ -1,6 +1,7 @@
|
|
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
/*
|
|
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
|
|
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
|
*/
|
|
|
|
|
|
#ifndef _CAM_IFE_CSID_LITE_680_H_
|
|
@@ -291,15 +292,50 @@ static struct cam_irq_register_set cam_ife_csid_lite_680_irq_reg_set[7] = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
-static struct cam_irq_controller_reg_info cam_ife_csid_lite_680_irq_reg_info = {
|
|
|
- .num_registers = 7,
|
|
|
- .irq_reg_set = cam_ife_csid_lite_680_irq_reg_set,
|
|
|
+static struct cam_irq_controller_reg_info cam_ife_csid_lite_680_top_irq_reg_info = {
|
|
|
+ .num_registers = 1,
|
|
|
+ .irq_reg_set = &cam_ife_csid_lite_680_irq_reg_set[CAM_IFE_CSID_IRQ_REG_TOP],
|
|
|
.global_irq_cmd_offset = 0x00000014,
|
|
|
- .global_clear_bitmask = 0x00000001,
|
|
|
.global_set_bitmask = 0x00000010,
|
|
|
+ .global_clear_bitmask = 0x00000001,
|
|
|
.clear_all_bitmask = 0xFFFFFFFF,
|
|
|
};
|
|
|
|
|
|
+static struct cam_irq_controller_reg_info cam_ife_csid_lite_680_rx_irq_reg_info = {
|
|
|
+ .num_registers = 1,
|
|
|
+ .irq_reg_set = &cam_ife_csid_lite_680_irq_reg_set[CAM_IFE_CSID_IRQ_REG_RX], /* RX */
|
|
|
+ .global_irq_cmd_offset = 0,
|
|
|
+};
|
|
|
+
|
|
|
+static struct cam_irq_controller_reg_info cam_ife_csid_lite_680_path_irq_reg_info[6] = {
|
|
|
+ {
|
|
|
+ .num_registers = 1,
|
|
|
+ .irq_reg_set = &cam_ife_csid_lite_680_irq_reg_set[CAM_IFE_CSID_IRQ_REG_RDI_0],
|
|
|
+ .global_irq_cmd_offset = 0,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .num_registers = 1,
|
|
|
+ .irq_reg_set = &cam_ife_csid_lite_680_irq_reg_set[CAM_IFE_CSID_IRQ_REG_RDI_1],
|
|
|
+ .global_irq_cmd_offset = 0,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .num_registers = 1,
|
|
|
+ .irq_reg_set = &cam_ife_csid_lite_680_irq_reg_set[CAM_IFE_CSID_IRQ_REG_RDI_2],
|
|
|
+ .global_irq_cmd_offset = 0,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .num_registers = 1,
|
|
|
+ .irq_reg_set = &cam_ife_csid_lite_680_irq_reg_set[CAM_IFE_CSID_IRQ_REG_RDI_3],
|
|
|
+ .global_irq_cmd_offset = 0,
|
|
|
+ },
|
|
|
+ {}, /* no RDI4 */
|
|
|
+ {
|
|
|
+ .num_registers = 1,
|
|
|
+ .irq_reg_set = &cam_ife_csid_lite_680_irq_reg_set[CAM_IFE_CSID_IRQ_REG_IPP],
|
|
|
+ .global_irq_cmd_offset = 0,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static struct cam_irq_register_set cam_ife_csid_lite_680_buf_done_irq_reg_set[1] = {
|
|
|
{
|
|
|
.mask_reg_offset = 0x00000090,
|
|
@@ -312,7 +348,7 @@ static struct cam_irq_controller_reg_info
|
|
|
cam_ife_csid_lite_680_buf_done_irq_reg_info = {
|
|
|
.num_registers = 1,
|
|
|
.irq_reg_set = cam_ife_csid_lite_680_buf_done_irq_reg_set,
|
|
|
- .global_irq_cmd_offset = 0, /* intentionally set to zero */
|
|
|
+ .global_irq_cmd_offset = 0, /* intentionally set to zero */
|
|
|
};
|
|
|
|
|
|
static struct cam_ife_csid_ver2_common_reg_info
|
|
@@ -914,11 +950,19 @@ static struct cam_ife_csid_ver2_path_reg_info
|
|
|
};
|
|
|
|
|
|
static struct cam_ife_csid_ver2_reg_info cam_ife_csid_lite_680_reg_info = {
|
|
|
- .irq_reg_info = &cam_ife_csid_lite_680_irq_reg_info,
|
|
|
+ .top_irq_reg_info = &cam_ife_csid_lite_680_top_irq_reg_info,
|
|
|
+ .rx_irq_reg_info = &cam_ife_csid_lite_680_rx_irq_reg_info,
|
|
|
+ .path_irq_reg_info = {
|
|
|
+ &cam_ife_csid_lite_680_path_irq_reg_info[CAM_IFE_PIX_PATH_RES_RDI_0],
|
|
|
+ &cam_ife_csid_lite_680_path_irq_reg_info[CAM_IFE_PIX_PATH_RES_RDI_1],
|
|
|
+ &cam_ife_csid_lite_680_path_irq_reg_info[CAM_IFE_PIX_PATH_RES_RDI_2],
|
|
|
+ &cam_ife_csid_lite_680_path_irq_reg_info[CAM_IFE_PIX_PATH_RES_RDI_3],
|
|
|
+ NULL,
|
|
|
+ &cam_ife_csid_lite_680_path_irq_reg_info[CAM_IFE_PIX_PATH_RES_IPP],
|
|
|
+ },
|
|
|
+ .buf_done_irq_reg_info = &cam_ife_csid_lite_680_buf_done_irq_reg_info,
|
|
|
.cmn_reg = &cam_ife_csid_lite_680_cmn_reg_info,
|
|
|
.csi2_reg = &cam_ife_csid_lite_680_csi2_reg_info,
|
|
|
- .buf_done_irq_reg_info =
|
|
|
- &cam_ife_csid_lite_680_buf_done_irq_reg_info,
|
|
|
.path_reg[CAM_IFE_PIX_PATH_RES_IPP] = &cam_ife_csid_lite_680_ipp_reg_info,
|
|
|
.path_reg[CAM_IFE_PIX_PATH_RES_PPP] = NULL,
|
|
|
.path_reg[CAM_IFE_PIX_PATH_RES_RDI_0] = &cam_ife_csid_lite_680_rdi_0_reg_info,
|