aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/m5mols/m5mols_reg.h
blob: da9cab5f8179f2c6bcc9a68baf961ae95de60a55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
/*
 * Register map for M5MOLS 8M Pixel camera sensor with ISP
 *
 * Copyright (C) 2011 Samsung Electronics Co., Ltd.
 * Author: HeungJun Kim <riverful.kim@samsung.com>
 *
 * Copyright (C) 2009 Samsung Electronics Co., Ltd.
 * Author: Dongsoo Nathaniel Kim <dongsoo45.kim@samsung.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

#ifndef M5MOLS_REG_H
#define M5MOLS_REG_H

/*
 * Category section register
 *
 * The category means a kind of command set. Including category section,
 * all defined categories in this version supports only, as you see below:
 */
#define CAT_SYSTEM		0x00
#define CAT_PARAM		0x01
#define CAT_MON			0x02
#define CAT_AE			0x03
#define CAT_WB			0x06
#define CAT_EXIF		0x07
#define CAT_LENS		0x0a
#define CAT_CAPTURE_PARAMETER	0x0b
#define CAT_CAPTURE_CONTROL	0x0c
#define CAT_FLASH		0x0f	/* related with FW, Verions, booting */

/*
 * Category 0 - System
 *
 * This category supports FW version, managing mode, even interrupt.
 */
#define CAT0_CUSTOMER_CODE	0x00
#define CAT0_PJ_CODE		0x01
#define CAT0_VERSION_FW_H	0x02
#define CAT0_VERSION_FW_L	0x03
#define CAT0_VERSION_HW_H	0x04
#define CAT0_VERSION_HW_L	0x05
#define CAT0_VERSION_PARM_H	0x06
#define CAT0_VERSION_PARM_L	0x07
#define CAT0_VERSION_AWB_H	0x08
#define CAT0_VERSION_AWB_L	0x09
#define CAT0_SYSMODE		0x0b
#define CAT0_STATUS		0x0c
#define CAT0_INT_QUEUE		0x0e
#define CAT0_INT_FACTOR		0x10	/* ver 10bit: 0x10, other 0x1c */
#define CAT0_INT_ENABLE		0x11	/* ver 10bit: 0x11, other 0x10  */
#define CAT0_INT_ROOTEN		0x12
#define CAT0_INT_INFO		0x18

/*
 * category 1 - Parameter mode
 *
 * This category is dealing with almost camera vendor. In spite of that,
 * It's a register to be able to detailed value for whole camera syste.
 * The key parameter like a resolution, FPS, data interface connecting
 * with Mobile AP, even effects.
 */
#define CAT1_DATA_INTERFACE	0x00
#define CAT1_MONITOR_SIZE	0x01
#define CAT1_MONITOR_FPS	0x02
#define CAT1_EFFECT		0x0b

/*
 * Category 2 - Monitor mode
 *
 * This category supports only monitoring mode. The monitoring mode means,
 * similar to preview. It supports like a YUYV format. At the capture mode,
 * it is handled like a JPEG & RAW formats.
 */
#define CAT2_ZOOM		0x01
#define CAT2_ZOOM_POSITION	0x02
#define CAT2_ZOOM_STEP		0x03
#define CAT2_CFIXB		0x09
#define CAT2_CFIXR		0x0a
#define CAT2_COLOR_EFFECT	0x0b
#define CAT2_CHROMA_LVL		0x0f
#define CAT2_CHROMA_EN		0x10

/*
 * Category 3 - Auto Exposure
 *
 * Currently, it supports only gain value with monitor mode. This device
 * is able to support Shutter, Gain(similar with Aperture), Flicker, at
 * monitor mode & capture mode both.
 */
#define CAT3_AE_LOCK		0x00
#define CAT3_AE_MODE		0x01
#define CAT3_MANUAL_GAIN_MON	0x12	/* 2 bytes operations belows */
#define CAT3_MANUAL_SHUT_MON	0x14
#define CAT3_MAX_EXPOSURE_MON	0x16
#define CAT3_MAX_EXPOSURE_CAP	0x18
#define CAT3_MAX_GAIN_MON	0x1a
#define CAT3_MAX_GAIN_CAP	0x1c
#define CAT3_MANUAL_GAIN_CAP	0x26
#define CAT3_MANUAL_SHUT_CAP	0x28

/*
 * Category 6 - White Balance
 *
 * Currently, it supports only auto white balance.
 */
#define CAT6_AWB_LOCK		0x00
#define CAT6_AWB_MODE		0x02
#define CAT6_AWB_MANUAL		0x03

/*
 * Category 7 - EXIF Information
 */
#define CAT7_INFO_EXPTIME_NU	0x00
#define CAT7_INFO_EXPTIME_DE	0x04
#define CAT7_INFO_TV_NU		0x08
#define CAT7_INFO_TV_DE		0x0c
#define CAT7_INFO_AV_NU		0x10
#define CAT7_INFO_AV_DE		0x14
#define CAT7_INFO_BV_NU		0x18
#define CAT7_INFO_BV_DE		0x1c
#define CAT7_INFO_EBV_NU	0x20
#define CAT7_INFO_EBV_DE	0x24
#define CAT7_INFO_ISO		0x28
#define CAT7_INFO_FLASH		0x2a
#define CAT7_INFO_SDR		0x2c
#define CAT7_INFO_QVAL		0x2e

/*
 * Category A - Lens Parameter
 */
#define CATA_INIT_AF_FUNC	0x00
#define CATA_AF_MODE		0x01
#define CATA_AF_EXCUTE		0x02
#define CATA_AF_STATUS		0x03
#define CATA_AF_VERSION		0x0a

/*
 * Category B - Capture Parameter
 */
#define CATB_YUVOUT_MAIN	0x00
#define CATB_MAIN_IMAGE_SIZE	0x01

/*
 * Category C - Capture Control
 */
#define CATC_CAP_SEL_FRAME	0x06	/* It determines Single or Multi. */
#define CATC_CAP_START		0x09
#define CATC_CAP_IMAGE_SIZE	0x0d
#define CATC_CAP_THUMB_SIZE	0x11

/*
 * Category F - Flash
 *
 * This mode provides functions about internal Flash works and System startup.
 */
#define CATC_CAM_START		0x12	/* It start internal ARM core booting
					 * after power-up */

#endif	/* M5MOLS_REG_H */