xref: /openbmc/linux/include/media/i2c/m52790.h (revision b5dcee22)
1b5dcee22SMauro Carvalho Chehab /*
2b5dcee22SMauro Carvalho Chehab     m52790.h - definition for m52790 inputs and outputs
3b5dcee22SMauro Carvalho Chehab 
4b5dcee22SMauro Carvalho Chehab     Copyright (C) 2007 Hans Verkuil (hverkuil@xs4all.nl)
5b5dcee22SMauro Carvalho Chehab 
6b5dcee22SMauro Carvalho Chehab     This program is free software; you can redistribute it and/or modify
7b5dcee22SMauro Carvalho Chehab     it under the terms of the GNU General Public License as published by
8b5dcee22SMauro Carvalho Chehab     the Free Software Foundation; either version 2 of the License, or
9b5dcee22SMauro Carvalho Chehab     (at your option) any later version.
10b5dcee22SMauro Carvalho Chehab 
11b5dcee22SMauro Carvalho Chehab     This program is distributed in the hope that it will be useful,
12b5dcee22SMauro Carvalho Chehab     but WITHOUT ANY WARRANTY; without even the implied warranty of
13b5dcee22SMauro Carvalho Chehab     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14b5dcee22SMauro Carvalho Chehab     GNU General Public License for more details.
15b5dcee22SMauro Carvalho Chehab 
16b5dcee22SMauro Carvalho Chehab     You should have received a copy of the GNU General Public License
17b5dcee22SMauro Carvalho Chehab     along with this program; if not, write to the Free Software
18b5dcee22SMauro Carvalho Chehab     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19b5dcee22SMauro Carvalho Chehab */
20b5dcee22SMauro Carvalho Chehab 
21b5dcee22SMauro Carvalho Chehab #ifndef _M52790_H_
22b5dcee22SMauro Carvalho Chehab #define _M52790_H_
23b5dcee22SMauro Carvalho Chehab 
24b5dcee22SMauro Carvalho Chehab /* Input routing switch 1 */
25b5dcee22SMauro Carvalho Chehab 
26b5dcee22SMauro Carvalho Chehab #define M52790_SW1_IN_MASK 	0x0003
27b5dcee22SMauro Carvalho Chehab #define M52790_SW1_IN_TUNER 	0x0000
28b5dcee22SMauro Carvalho Chehab #define M52790_SW1_IN_V2    	0x0001
29b5dcee22SMauro Carvalho Chehab #define M52790_SW1_IN_V3    	0x0002
30b5dcee22SMauro Carvalho Chehab #define M52790_SW1_IN_V4    	0x0003
31b5dcee22SMauro Carvalho Chehab 
32b5dcee22SMauro Carvalho Chehab /* Selects component input instead of composite */
33b5dcee22SMauro Carvalho Chehab #define M52790_SW1_YCMIX    	0x0004
34b5dcee22SMauro Carvalho Chehab 
35b5dcee22SMauro Carvalho Chehab 
36b5dcee22SMauro Carvalho Chehab /* Input routing switch 2 */
37b5dcee22SMauro Carvalho Chehab 
38b5dcee22SMauro Carvalho Chehab #define M52790_SW2_IN_MASK 	0x0300
39b5dcee22SMauro Carvalho Chehab #define M52790_SW2_IN_TUNER 	0x0000
40b5dcee22SMauro Carvalho Chehab #define M52790_SW2_IN_V2    	0x0100
41b5dcee22SMauro Carvalho Chehab #define M52790_SW2_IN_V3    	0x0200
42b5dcee22SMauro Carvalho Chehab #define M52790_SW2_IN_V4    	0x0300
43b5dcee22SMauro Carvalho Chehab 
44b5dcee22SMauro Carvalho Chehab /* Selects component input instead of composite */
45b5dcee22SMauro Carvalho Chehab #define M52790_SW2_YCMIX    	0x0400
46b5dcee22SMauro Carvalho Chehab 
47b5dcee22SMauro Carvalho Chehab 
48b5dcee22SMauro Carvalho Chehab /* Output routing switch 1 */
49b5dcee22SMauro Carvalho Chehab 
50b5dcee22SMauro Carvalho Chehab /* Enable 6dB amplifier for composite out */
51b5dcee22SMauro Carvalho Chehab #define M52790_SW1_V_AMP    	0x0008
52b5dcee22SMauro Carvalho Chehab 
53b5dcee22SMauro Carvalho Chehab /* Enable 6dB amplifier for component out */
54b5dcee22SMauro Carvalho Chehab #define M52790_SW1_YC_AMP   	0x0010
55b5dcee22SMauro Carvalho Chehab 
56b5dcee22SMauro Carvalho Chehab /* Audio output mode */
57b5dcee22SMauro Carvalho Chehab #define M52790_SW1_AUDIO_MASK 	0x00c0
58b5dcee22SMauro Carvalho Chehab #define M52790_SW1_AUDIO_MUTE 	0x0000
59b5dcee22SMauro Carvalho Chehab #define M52790_SW1_AUDIO_R 	0x0040
60b5dcee22SMauro Carvalho Chehab #define M52790_SW1_AUDIO_L 	0x0080
61b5dcee22SMauro Carvalho Chehab #define M52790_SW1_AUDIO_STEREO 0x00c0
62b5dcee22SMauro Carvalho Chehab 
63b5dcee22SMauro Carvalho Chehab 
64b5dcee22SMauro Carvalho Chehab /* Output routing switch 2 */
65b5dcee22SMauro Carvalho Chehab 
66b5dcee22SMauro Carvalho Chehab /* Enable 6dB amplifier for composite out */
67b5dcee22SMauro Carvalho Chehab #define M52790_SW2_V_AMP    	0x0800
68b5dcee22SMauro Carvalho Chehab 
69b5dcee22SMauro Carvalho Chehab /* Enable 6dB amplifier for component out */
70b5dcee22SMauro Carvalho Chehab #define M52790_SW2_YC_AMP   	0x1000
71b5dcee22SMauro Carvalho Chehab 
72b5dcee22SMauro Carvalho Chehab /* Audio output mode */
73b5dcee22SMauro Carvalho Chehab #define M52790_SW2_AUDIO_MASK 	0xc000
74b5dcee22SMauro Carvalho Chehab #define M52790_SW2_AUDIO_MUTE 	0x0000
75b5dcee22SMauro Carvalho Chehab #define M52790_SW2_AUDIO_R 	0x4000
76b5dcee22SMauro Carvalho Chehab #define M52790_SW2_AUDIO_L 	0x8000
77b5dcee22SMauro Carvalho Chehab #define M52790_SW2_AUDIO_STEREO 0xc000
78b5dcee22SMauro Carvalho Chehab 
79b5dcee22SMauro Carvalho Chehab 
80b5dcee22SMauro Carvalho Chehab /* Common values */
81b5dcee22SMauro Carvalho Chehab #define M52790_IN_TUNER (M52790_SW1_IN_TUNER | M52790_SW2_IN_TUNER)
82b5dcee22SMauro Carvalho Chehab #define M52790_IN_V2    (M52790_SW1_IN_V2 | M52790_SW2_IN_V2)
83b5dcee22SMauro Carvalho Chehab #define M52790_IN_V3    (M52790_SW1_IN_V3 | M52790_SW2_IN_V3)
84b5dcee22SMauro Carvalho Chehab #define M52790_IN_V4    (M52790_SW1_IN_V4 | M52790_SW2_IN_V4)
85b5dcee22SMauro Carvalho Chehab 
86b5dcee22SMauro Carvalho Chehab #define M52790_OUT_STEREO 	(M52790_SW1_AUDIO_STEREO | \
87b5dcee22SMauro Carvalho Chehab 				 M52790_SW2_AUDIO_STEREO)
88b5dcee22SMauro Carvalho Chehab #define M52790_OUT_AMP_STEREO 	(M52790_SW1_AUDIO_STEREO | \
89b5dcee22SMauro Carvalho Chehab 				 M52790_SW1_V_AMP | \
90b5dcee22SMauro Carvalho Chehab 				 M52790_SW2_AUDIO_STEREO | \
91b5dcee22SMauro Carvalho Chehab 				 M52790_SW2_V_AMP)
92b5dcee22SMauro Carvalho Chehab 
93b5dcee22SMauro Carvalho Chehab #endif
94