123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- /*
- * Samsung Exynos4x12 FIMC-IS (Imaging Subsystem) driver
- *
- * FIMC-IS command set definitions
- *
- * Copyright (C) 2013 Samsung Electronics Co., Ltd.
- *
- * Authors: Younghwan Joo <yhwan.joo@samsung.com>
- * Sylwester Nawrocki <s.nawrocki@samsung.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
- #ifndef FIMC_IS_CMD_H_
- #define FIMC_IS_CMD_H_
- #define FIMC_IS_COMMAND_VER 110 /* FIMC-IS command set version 1.10 */
- /* Enumeration of commands beetween the FIMC-IS and the host processor. */
- /* HOST to FIMC-IS */
- #define HIC_PREVIEW_STILL 0x0001
- #define HIC_PREVIEW_VIDEO 0x0002
- #define HIC_CAPTURE_STILL 0x0003
- #define HIC_CAPTURE_VIDEO 0x0004
- #define HIC_STREAM_ON 0x0005
- #define HIC_STREAM_OFF 0x0006
- #define HIC_SET_PARAMETER 0x0007
- #define HIC_GET_PARAMETER 0x0008
- #define HIC_SET_TUNE 0x0009
- #define HIC_GET_STATUS 0x000b
- /* Sensor part */
- #define HIC_OPEN_SENSOR 0x000c
- #define HIC_CLOSE_SENSOR 0x000d
- #define HIC_SIMMIAN_INIT 0x000e
- #define HIC_SIMMIAN_WRITE 0x000f
- #define HIC_SIMMIAN_READ 0x0010
- #define HIC_POWER_DOWN 0x0011
- #define HIC_GET_SET_FILE_ADDR 0x0012
- #define HIC_LOAD_SET_FILE 0x0013
- #define HIC_MSG_CONFIG 0x0014
- #define HIC_MSG_TEST 0x0015
- /* FIMC-IS to HOST */
- #define IHC_GET_SENSOR_NUM 0x1000
- #define IHC_SET_SHOT_MARK 0x1001
- /* parameter1: frame number */
- /* parameter2: confidence level (smile 0~100) */
- /* parameter3: confidence level (blink 0~100) */
- #define IHC_SET_FACE_MARK 0x1002
- /* parameter1: coordinate count */
- /* parameter2: coordinate buffer address */
- #define IHC_FRAME_DONE 0x1003
- /* parameter1: frame start number */
- /* parameter2: frame count */
- #define IHC_AA_DONE 0x1004
- #define IHC_NOT_READY 0x1005
- #define IH_REPLY_DONE 0x2000
- #define IH_REPLY_NOT_DONE 0x2001
- enum fimc_is_scenario {
- IS_SC_PREVIEW_STILL,
- IS_SC_PREVIEW_VIDEO,
- IS_SC_CAPTURE_STILL,
- IS_SC_CAPTURE_VIDEO,
- IS_SC_MAX
- };
- enum fimc_is_sub_scenario {
- IS_SC_SUB_DEFAULT,
- IS_SC_SUB_PS_VTCALL,
- IS_SC_SUB_CS_VTCALL,
- IS_SC_SUB_PV_VTCALL,
- IS_SC_SUB_CV_VTCALL,
- };
- struct is_common_regs {
- u32 hicmd;
- u32 hic_sensorid;
- u32 hic_param[4];
- u32 reserved1[4];
- u32 ihcmd;
- u32 ihc_sensorid;
- u32 ihc_param[4];
- u32 reserved2[4];
- u32 isp_sensor_id;
- u32 isp_param[2];
- u32 reserved3[1];
- u32 scc_sensor_id;
- u32 scc_param[2];
- u32 reserved4[1];
- u32 dnr_sensor_id;
- u32 dnr_param[2];
- u32 reserved5[1];
- u32 scp_sensor_id;
- u32 scp_param[2];
- u32 reserved6[29];
- } __packed;
- struct is_mcuctl_reg {
- u32 mcuctl;
- u32 bboar;
- u32 intgr0;
- u32 intcr0;
- u32 intmr0;
- u32 intsr0;
- u32 intmsr0;
- u32 intgr1;
- u32 intcr1;
- u32 intmr1;
- u32 intsr1;
- u32 intmsr1;
- u32 intcr2;
- u32 intmr2;
- u32 intsr2;
- u32 intmsr2;
- u32 gpoctrl;
- u32 cpoenctlr;
- u32 gpictlr;
- u32 reserved[0xd];
- struct is_common_regs common;
- } __packed;
- #endif /* FIMC_IS_CMD_H_ */
|