xref: /openbmc/linux/drivers/media/i2c/tvp7002_reg.h (revision c942fddf)
1c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2cb7a01acSMauro Carvalho Chehab /* Texas Instruments Triple 8-/10-BIT 165-/110-MSPS Video and Graphics
3cb7a01acSMauro Carvalho Chehab  * Digitizer with Horizontal PLL registers
4cb7a01acSMauro Carvalho Chehab  *
5cb7a01acSMauro Carvalho Chehab  * Copyright (C) 2009 Texas Instruments Inc
6cb7a01acSMauro Carvalho Chehab  * Author: Santiago Nunez-Corrales <santiago.nunez@ridgerun.com>
7cb7a01acSMauro Carvalho Chehab  *
8cb7a01acSMauro Carvalho Chehab  * This code is partially based upon the TVP5150 driver
932590819SMauro Carvalho Chehab  * written by Mauro Carvalho Chehab <mchehab@kernel.org>,
10cb7a01acSMauro Carvalho Chehab  * the TVP514x driver written by Vaibhav Hiremath <hvaibhav@ti.com>
11cb7a01acSMauro Carvalho Chehab  * and the TVP7002 driver in the TI LSP 2.10.00.14
12cb7a01acSMauro Carvalho Chehab  */
13cb7a01acSMauro Carvalho Chehab 
14cb7a01acSMauro Carvalho Chehab /* Naming conventions
15cb7a01acSMauro Carvalho Chehab  * ------------------
16cb7a01acSMauro Carvalho Chehab  *
17cb7a01acSMauro Carvalho Chehab  * FDBK:  Feedback
18cb7a01acSMauro Carvalho Chehab  * DIV:   Divider
19cb7a01acSMauro Carvalho Chehab  * CTL:   Control
20cb7a01acSMauro Carvalho Chehab  * SEL:   Select
21cb7a01acSMauro Carvalho Chehab  * IN:    Input
22cb7a01acSMauro Carvalho Chehab  * OUT:   Output
23cb7a01acSMauro Carvalho Chehab  * R:     Red
24cb7a01acSMauro Carvalho Chehab  * G:     Green
25cb7a01acSMauro Carvalho Chehab  * B:     Blue
26cb7a01acSMauro Carvalho Chehab  * OFF:   Offset
27cb7a01acSMauro Carvalho Chehab  * THRS:  Threshold
28cb7a01acSMauro Carvalho Chehab  * DGTL:  Digital
29cb7a01acSMauro Carvalho Chehab  * LVL:   Level
30cb7a01acSMauro Carvalho Chehab  * PWR:   Power
31cb7a01acSMauro Carvalho Chehab  * MVIS:  Macrovision
32cb7a01acSMauro Carvalho Chehab  * W:     Width
33cb7a01acSMauro Carvalho Chehab  * H:     Height
34cb7a01acSMauro Carvalho Chehab  * ALGN:  Alignment
35cb7a01acSMauro Carvalho Chehab  * CLK:   Clocks
36cb7a01acSMauro Carvalho Chehab  * TOL:   Tolerance
37cb7a01acSMauro Carvalho Chehab  * BWTH:  Bandwidth
38cb7a01acSMauro Carvalho Chehab  * COEF:  Coefficient
39cb7a01acSMauro Carvalho Chehab  * STAT:  Status
40cb7a01acSMauro Carvalho Chehab  * AUTO:  Automatic
41cb7a01acSMauro Carvalho Chehab  * FLD:   Field
42cb7a01acSMauro Carvalho Chehab  * L:	  Line
43cb7a01acSMauro Carvalho Chehab  */
44cb7a01acSMauro Carvalho Chehab 
45cb7a01acSMauro Carvalho Chehab #define TVP7002_CHIP_REV		0x00
46cb7a01acSMauro Carvalho Chehab #define TVP7002_HPLL_FDBK_DIV_MSBS	0x01
47cb7a01acSMauro Carvalho Chehab #define TVP7002_HPLL_FDBK_DIV_LSBS	0x02
48cb7a01acSMauro Carvalho Chehab #define TVP7002_HPLL_CRTL		0x03
49cb7a01acSMauro Carvalho Chehab #define TVP7002_HPLL_PHASE_SEL		0x04
50cb7a01acSMauro Carvalho Chehab #define TVP7002_CLAMP_START		0x05
51cb7a01acSMauro Carvalho Chehab #define TVP7002_CLAMP_W			0x06
52cb7a01acSMauro Carvalho Chehab #define TVP7002_HSYNC_OUT_W		0x07
53cb7a01acSMauro Carvalho Chehab #define TVP7002_B_FINE_GAIN		0x08
54cb7a01acSMauro Carvalho Chehab #define TVP7002_G_FINE_GAIN		0x09
55cb7a01acSMauro Carvalho Chehab #define TVP7002_R_FINE_GAIN		0x0a
56cb7a01acSMauro Carvalho Chehab #define TVP7002_B_FINE_OFF_MSBS		0x0b
57cb7a01acSMauro Carvalho Chehab #define TVP7002_G_FINE_OFF_MSBS         0x0c
58cb7a01acSMauro Carvalho Chehab #define TVP7002_R_FINE_OFF_MSBS         0x0d
59cb7a01acSMauro Carvalho Chehab #define TVP7002_SYNC_CTL_1		0x0e
60cb7a01acSMauro Carvalho Chehab #define TVP7002_HPLL_AND_CLAMP_CTL	0x0f
61cb7a01acSMauro Carvalho Chehab #define TVP7002_SYNC_ON_G_THRS		0x10
62cb7a01acSMauro Carvalho Chehab #define TVP7002_SYNC_SEPARATOR_THRS	0x11
63cb7a01acSMauro Carvalho Chehab #define TVP7002_HPLL_PRE_COAST		0x12
64cb7a01acSMauro Carvalho Chehab #define TVP7002_HPLL_POST_COAST		0x13
65cb7a01acSMauro Carvalho Chehab #define TVP7002_SYNC_DETECT_STAT	0x14
66cb7a01acSMauro Carvalho Chehab #define TVP7002_OUT_FORMATTER		0x15
67cb7a01acSMauro Carvalho Chehab #define TVP7002_MISC_CTL_1		0x16
68cb7a01acSMauro Carvalho Chehab #define TVP7002_MISC_CTL_2              0x17
69cb7a01acSMauro Carvalho Chehab #define TVP7002_MISC_CTL_3              0x18
70cb7a01acSMauro Carvalho Chehab #define TVP7002_IN_MUX_SEL_1		0x19
71cb7a01acSMauro Carvalho Chehab #define TVP7002_IN_MUX_SEL_2            0x1a
72cb7a01acSMauro Carvalho Chehab #define TVP7002_B_AND_G_COARSE_GAIN	0x1b
73cb7a01acSMauro Carvalho Chehab #define TVP7002_R_COARSE_GAIN		0x1c
74cb7a01acSMauro Carvalho Chehab #define TVP7002_FINE_OFF_LSBS		0x1d
75cb7a01acSMauro Carvalho Chehab #define TVP7002_B_COARSE_OFF		0x1e
76cb7a01acSMauro Carvalho Chehab #define TVP7002_G_COARSE_OFF            0x1f
77cb7a01acSMauro Carvalho Chehab #define TVP7002_R_COARSE_OFF            0x20
78cb7a01acSMauro Carvalho Chehab #define TVP7002_HSOUT_OUT_START		0x21
79cb7a01acSMauro Carvalho Chehab #define TVP7002_MISC_CTL_4		0x22
80cb7a01acSMauro Carvalho Chehab #define TVP7002_B_DGTL_ALC_OUT_LSBS	0x23
81cb7a01acSMauro Carvalho Chehab #define TVP7002_G_DGTL_ALC_OUT_LSBS     0x24
82cb7a01acSMauro Carvalho Chehab #define TVP7002_R_DGTL_ALC_OUT_LSBS     0x25
83cb7a01acSMauro Carvalho Chehab #define TVP7002_AUTO_LVL_CTL_ENABLE	0x26
84cb7a01acSMauro Carvalho Chehab #define TVP7002_DGTL_ALC_OUT_MSBS	0x27
85cb7a01acSMauro Carvalho Chehab #define TVP7002_AUTO_LVL_CTL_FILTER	0x28
86cb7a01acSMauro Carvalho Chehab /* Reserved 0x29*/
87cb7a01acSMauro Carvalho Chehab #define TVP7002_FINE_CLAMP_CTL		0x2a
88cb7a01acSMauro Carvalho Chehab #define TVP7002_PWR_CTL			0x2b
89cb7a01acSMauro Carvalho Chehab #define TVP7002_ADC_SETUP		0x2c
90cb7a01acSMauro Carvalho Chehab #define TVP7002_COARSE_CLAMP_CTL	0x2d
91cb7a01acSMauro Carvalho Chehab #define TVP7002_SOG_CLAMP		0x2e
92cb7a01acSMauro Carvalho Chehab #define TVP7002_RGB_COARSE_CLAMP_CTL	0x2f
93cb7a01acSMauro Carvalho Chehab #define TVP7002_SOG_COARSE_CLAMP_CTL	0x30
94cb7a01acSMauro Carvalho Chehab #define TVP7002_ALC_PLACEMENT		0x31
95cb7a01acSMauro Carvalho Chehab /* Reserved 0x32 */
96cb7a01acSMauro Carvalho Chehab /* Reserved 0x33 */
97cb7a01acSMauro Carvalho Chehab #define TVP7002_MVIS_STRIPPER_W		0x34
98cb7a01acSMauro Carvalho Chehab #define TVP7002_VSYNC_ALGN		0x35
99cb7a01acSMauro Carvalho Chehab #define TVP7002_SYNC_BYPASS		0x36
100cb7a01acSMauro Carvalho Chehab #define TVP7002_L_FRAME_STAT_LSBS	0x37
101cb7a01acSMauro Carvalho Chehab #define TVP7002_L_FRAME_STAT_MSBS	0x38
102cb7a01acSMauro Carvalho Chehab #define TVP7002_CLK_L_STAT_LSBS		0x39
103cb7a01acSMauro Carvalho Chehab #define TVP7002_CLK_L_STAT_MSBS		0x3a
104cb7a01acSMauro Carvalho Chehab #define TVP7002_HSYNC_W			0x3b
105cb7a01acSMauro Carvalho Chehab #define TVP7002_VSYNC_W                 0x3c
106cb7a01acSMauro Carvalho Chehab #define TVP7002_L_LENGTH_TOL		0x3d
107cb7a01acSMauro Carvalho Chehab /* Reserved 0x3e */
108cb7a01acSMauro Carvalho Chehab #define TVP7002_VIDEO_BWTH_CTL		0x3f
109cb7a01acSMauro Carvalho Chehab #define TVP7002_AVID_START_PIXEL_LSBS	0x40
110cb7a01acSMauro Carvalho Chehab #define TVP7002_AVID_START_PIXEL_MSBS   0x41
111cb7a01acSMauro Carvalho Chehab #define TVP7002_AVID_STOP_PIXEL_LSBS	0x42
112cb7a01acSMauro Carvalho Chehab #define TVP7002_AVID_STOP_PIXEL_MSBS    0x43
113cb7a01acSMauro Carvalho Chehab #define TVP7002_VBLK_F_0_START_L_OFF	0x44
114cb7a01acSMauro Carvalho Chehab #define TVP7002_VBLK_F_1_START_L_OFF    0x45
115cb7a01acSMauro Carvalho Chehab #define TVP7002_VBLK_F_0_DURATION	0x46
116cb7a01acSMauro Carvalho Chehab #define TVP7002_VBLK_F_1_DURATION       0x47
117cb7a01acSMauro Carvalho Chehab #define TVP7002_FBIT_F_0_START_L_OFF	0x48
118cb7a01acSMauro Carvalho Chehab #define TVP7002_FBIT_F_1_START_L_OFF    0x49
119cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_Y_G_COEF_LSBS	0x4a
120cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_Y_G_COEF_MSBS       0x4b
121cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_Y_B_COEF_LSBS       0x4c
122cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_Y_B_COEF_MSBS       0x4d
123cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_Y_R_COEF_LSBS       0x4e
124cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_Y_R_COEF_MSBS       0x4f
125cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_U_G_COEF_LSBS       0x50
126cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_U_G_COEF_MSBS       0x51
127cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_U_B_COEF_LSBS       0x52
128cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_U_B_COEF_MSBS       0x53
129cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_U_R_COEF_LSBS       0x54
130cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_U_R_COEF_MSBS       0x55
131cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_V_G_COEF_LSBS       0x56
132cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_V_G_COEF_MSBS       0x57
133cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_V_B_COEF_LSBS       0x58
134cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_V_B_COEF_MSBS       0x59
135cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_V_R_COEF_LSBS       0x5a
136cb7a01acSMauro Carvalho Chehab #define TVP7002_YUV_V_R_COEF_MSBS       0x5b
137cb7a01acSMauro Carvalho Chehab 
138