135 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Samsung Exynos4x12 FIMC-IS (Imaging Subsystem) driver4 *5 * FIMC-IS command set definitions6 *7 * Copyright (C) 2013 Samsung Electronics Co., Ltd.8 *9 * Authors: Younghwan Joo <yhwan.joo@samsung.com>10 * Sylwester Nawrocki <s.nawrocki@samsung.com>11 */12 13#ifndef FIMC_IS_CMD_H_14#define FIMC_IS_CMD_H_15 16#define FIMC_IS_COMMAND_VER 110 /* FIMC-IS command set version 1.10 */17 18/* Enumeration of commands between the FIMC-IS and the host processor. */19 20/* HOST to FIMC-IS */21#define HIC_PREVIEW_STILL 0x000122#define HIC_PREVIEW_VIDEO 0x000223#define HIC_CAPTURE_STILL 0x000324#define HIC_CAPTURE_VIDEO 0x000425#define HIC_STREAM_ON 0x000526#define HIC_STREAM_OFF 0x000627#define HIC_SET_PARAMETER 0x000728#define HIC_GET_PARAMETER 0x000829#define HIC_SET_TUNE 0x000930#define HIC_GET_STATUS 0x000b31/* Sensor part */32#define HIC_OPEN_SENSOR 0x000c33#define HIC_CLOSE_SENSOR 0x000d34#define HIC_SIMMIAN_INIT 0x000e35#define HIC_SIMMIAN_WRITE 0x000f36#define HIC_SIMMIAN_READ 0x001037#define HIC_POWER_DOWN 0x001138#define HIC_GET_SET_FILE_ADDR 0x001239#define HIC_LOAD_SET_FILE 0x001340#define HIC_MSG_CONFIG 0x001441#define HIC_MSG_TEST 0x001542/* FIMC-IS to HOST */43#define IHC_GET_SENSOR_NUM 0x100044#define IHC_SET_SHOT_MARK 0x100145/* parameter1: frame number */46/* parameter2: confidence level (smile 0~100) */47/* parameter3: confidence level (blink 0~100) */48#define IHC_SET_FACE_MARK 0x100249/* parameter1: coordinate count */50/* parameter2: coordinate buffer address */51#define IHC_FRAME_DONE 0x100352/* parameter1: frame start number */53/* parameter2: frame count */54#define IHC_AA_DONE 0x100455#define IHC_NOT_READY 0x100556 57#define IH_REPLY_DONE 0x200058#define IH_REPLY_NOT_DONE 0x200159 60enum fimc_is_scenario {61 IS_SC_PREVIEW_STILL,62 IS_SC_PREVIEW_VIDEO,63 IS_SC_CAPTURE_STILL,64 IS_SC_CAPTURE_VIDEO,65 IS_SC_MAX66};67 68enum fimc_is_sub_scenario {69 IS_SC_SUB_DEFAULT,70 IS_SC_SUB_PS_VTCALL,71 IS_SC_SUB_CS_VTCALL,72 IS_SC_SUB_PV_VTCALL,73 IS_SC_SUB_CV_VTCALL,74};75 76struct is_common_regs {77 u32 hicmd;78 u32 hic_sensorid;79 u32 hic_param[4];80 u32 reserved1[4];81 82 u32 ihcmd;83 u32 ihc_sensorid;84 u32 ihc_param[4];85 u32 reserved2[4];86 87 u32 isp_sensor_id;88 u32 isp_param[2];89 u32 reserved3[1];90 91 u32 scc_sensor_id;92 u32 scc_param[2];93 u32 reserved4[1];94 95 u32 dnr_sensor_id;96 u32 dnr_param[2];97 u32 reserved5[1];98 99 u32 scp_sensor_id;100 u32 scp_param[2];101 u32 reserved6[29];102} __packed;103 104struct is_mcuctl_reg {105 u32 mcuctl;106 u32 bboar;107 108 u32 intgr0;109 u32 intcr0;110 u32 intmr0;111 u32 intsr0;112 u32 intmsr0;113 114 u32 intgr1;115 u32 intcr1;116 u32 intmr1;117 u32 intsr1;118 u32 intmsr1;119 120 u32 intcr2;121 u32 intmr2;122 u32 intsr2;123 u32 intmsr2;124 125 u32 gpoctrl;126 u32 cpoenctlr;127 u32 gpictlr;128 129 u32 reserved[0xd];130 131 struct is_common_regs common;132} __packed;133 134#endif /* FIMC_IS_CMD_H_ */135