xref: /OK3568_Linux_fs/kernel/include/media/i2c/upd64083.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * upd6408x - NEC Electronics 3-Dimensional Y/C separation input defines
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * 2006 by Hans Verkuil (hverkuil@xs4all.nl)
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef _UPD64083_H_
9*4882a593Smuzhiyun #define _UPD64083_H_
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun /* There are two bits of information that the driver needs in order
12*4882a593Smuzhiyun    to select the correct routing: the operating mode and the selection
13*4882a593Smuzhiyun    of the Y input (external or internal).
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun    The first two operating modes expect a composite signal on the Y input,
16*4882a593Smuzhiyun    the second two operating modes use both the Y and C inputs.
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun    Normally YCS_MODE is used for tuner and composite inputs, and the
19*4882a593Smuzhiyun    YCNR mode is used for S-Video inputs.
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun    The external Y-ADC is selected when the composite input comes from a
22*4882a593Smuzhiyun    upd64031a ghost reduction device. If this device is not present, or
23*4882a593Smuzhiyun    the input is a S-Video signal, then the internal Y-ADC input should
24*4882a593Smuzhiyun    be used. */
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun /* Operating modes: */
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun /* YCS mode: Y/C separation (burst locked clocking) */
29*4882a593Smuzhiyun #define UPD64083_YCS_MODE      0
30*4882a593Smuzhiyun /* YCS+ mode: 2D Y/C separation and YCNR (burst locked clocking) */
31*4882a593Smuzhiyun #define UPD64083_YCS_PLUS_MODE 1
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun /* Note: the following two modes cannot be used in combination with the
34*4882a593Smuzhiyun    external Y-ADC. */
35*4882a593Smuzhiyun /* MNNR mode: frame comb type YNR+C delay (line locked clocking) */
36*4882a593Smuzhiyun #define UPD64083_MNNR_MODE     2
37*4882a593Smuzhiyun /* YCNR mode: frame recursive YCNR (burst locked clocking) */
38*4882a593Smuzhiyun #define UPD64083_YCNR_MODE     3
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun /* Select external Y-ADC: this should be set if this device is used in
41*4882a593Smuzhiyun    combination with the upd64031a ghost reduction device.
42*4882a593Smuzhiyun    Otherwise leave at 0 (use internal Y-ADC). */
43*4882a593Smuzhiyun #define UPD64083_EXT_Y_ADC     (1 << 2)
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun #endif
46