Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d99e192e authored by Junzhe Zou's avatar Junzhe Zou Committed by Gerrit - the friendly Code Review server
Browse files

msm: camera: vfe: Add new camif lite header file



Define new camif lite strutures for version 480
hardware.

Change-Id: Ib73f86b91553a807d27deacd4d7e9d66f86c7bf3
Signed-off-by: default avatarJunzhe Zou <jnzhezou@codeaurora.org>
Signed-off-by: default avatarVenkat Chinta <vchinta@codeaurora.org>
parent 3b3e314b
Loading
Loading
Loading
Loading
+59 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2019, The Linux Foundation. All rights reserved.
 */

#ifndef _CAM_VFE_CAMIF_LITE_VER3_H_
#define _CAM_VFE_CAMIF_LITE_VER3_H_

#include "cam_isp_hw.h"
#include "cam_vfe_top.h"

struct cam_vfe_camif_lite_ver3_reg {
	uint32_t     lite_hw_version;
	uint32_t     lite_hw_status;
	uint32_t     lite_module_config;
	uint32_t     lite_skip_period;
	uint32_t     lite_irq_subsample_pattern;
	uint32_t     lite_epoch_irq;
	uint32_t     lite_debug_1;
	uint32_t     lite_debug_0;
	uint32_t     lite_test_bus_ctrl;
	uint32_t     camif_lite_spare;
	uint32_t     reg_update_cmd;
};

struct cam_vfe_camif_lite_ver3_reg_data {
	uint32_t     extern_reg_update_shift;
	uint32_t     reg_update_cmd_data;
	uint32_t     epoch_line_cfg;
	uint32_t     sof_irq_mask;
	uint32_t     epoch0_irq_mask;
	uint32_t     epoch1_irq_mask;
	uint32_t     eof_irq_mask;
	uint32_t     error_irq_mask0;
	uint32_t     error_irq_mask2;
	uint32_t     enable_diagnostic_hw;
};

struct cam_vfe_camif_lite_ver3_hw_info {
	struct cam_vfe_top_ver3_reg_offset_common   *common_reg;
	struct cam_vfe_camif_lite_ver3_reg          *camif_lite_reg;
	struct cam_vfe_camif_lite_ver3_reg_data     *reg_data;
};

int cam_vfe_camif_lite_ver3_acquire_resource(
	struct cam_isp_resource_node          *camif_lite_res,
	void                                  *acquire_param);

int cam_vfe_camif_lite_ver3_init(
	struct cam_hw_intf            *hw_intf,
	struct cam_hw_soc_info        *soc_info,
	void                          *camif_lite_hw_info,
	struct cam_isp_resource_node  *camif_lite_node);

int cam_vfe_camif_lite_ver3_deinit(
	struct cam_isp_resource_node  *camif_node);

#endif /* _CAM_VFE_CAMIF_LITE_VER3_H_ */
+8 −3
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@
#ifndef _CAM_VFE_TOP_VER3_H_
#define _CAM_VFE_TOP_VER3_H_

#include "cam_vfe_camif_ver3.h"
#include "cam_vfe_camif_lite_ver3.h"
#include "cam_vfe_camif_ver2.h"
#include "cam_vfe_camif_lite_ver2.h"
#include "cam_vfe_rdi.h"
@@ -40,9 +42,12 @@ struct cam_vfe_top_ver3_reg_offset_common {

struct cam_vfe_top_ver3_hw_info {
	struct cam_vfe_top_ver3_reg_offset_common  *common_reg;
	struct cam_vfe_camif_ver2_hw_info           camif_hw_info;
	struct cam_vfe_camif_lite_ver2_hw_info      camif_lite_hw_info;
	struct cam_vfe_rdi_ver2_hw_info             rdi_hw_info;
	struct cam_vfe_camif_ver3_hw_info           camif_hw_info;
	struct cam_vfe_camif_lite_ver3_hw_info      pdlib_hw_info;
	struct cam_vfe_camif_lite_ver3_hw_info
		*rdi_hw_info[CAM_VFE_RDI_VER2_MAX];
	struct cam_vfe_camif_lite_ver3_hw_info      lcr_hw_info;
	struct cam_vfe_fe_ver1_hw_info              fe_hw_info;
	uint32_t mux_type[CAM_VFE_TOP_VER3_MUX_MAX];
};