diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2012-07-18 04:46:46 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-09-13 15:15:36 -0400 |
commit | 117a55b69d36a19028d1c59a737ad1246a0a75ad (patch) | |
tree | 9a2c3236660ae8a3f2c0108e0e8f1e60c70e4784 /include/media | |
parent | 54450f591c9927496b3d41c041fa802d0ef96885 (diff) |
[media] ad9389b: driver for the Analog Devices AD9389B video encoder
Initial version of this driver.
The full datasheets are available from the Analog Devices website:
http://ez.analog.com/docs/DOC-1741
Not all features of the receiver are supported by this driver for various
reasons. Most notably:
- No CEC support (the CEC API needs a lot more discussion)
- No HDCP repeater support (we don't use that either)
I'm sure that there are more things missing, but this driver does work
well for our hardware.
Note that I am using the register addresses instead of register names: the
datasheet containing the register descriptions is organized by register
address. Using names would make the datasheet lookup very hard. An attempt
was made to try and document what is being done when registers are used
instead.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/ad9389b.h | 49 | ||||
-rw-r--r-- | include/media/v4l2-chip-ident.h | 3 |
2 files changed, 52 insertions, 0 deletions
diff --git a/include/media/ad9389b.h b/include/media/ad9389b.h new file mode 100644 index 000000000000..5ba9af869b8b --- /dev/null +++ b/include/media/ad9389b.h | |||
@@ -0,0 +1,49 @@ | |||
1 | /* | ||
2 | * Analog Devices AD9389B/AD9889B video encoder driver header | ||
3 | * | ||
4 | * Copyright 2012 Cisco Systems, Inc. and/or its affiliates. All rights reserved. | ||
5 | * | ||
6 | * This program is free software; you may redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; version 2 of the License. | ||
9 | * | ||
10 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
11 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
12 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
13 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
14 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
15 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
16 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
17 | * SOFTWARE. | ||
18 | */ | ||
19 | |||
20 | #ifndef AD9389B_H | ||
21 | #define AD9389B_H | ||
22 | |||
23 | enum ad9389b_tmds_pll_gear { | ||
24 | AD9389B_TMDS_PLL_GEAR_AUTOMATIC, | ||
25 | AD9389B_TMDS_PLL_GEAR_SEMI_AUTOMATIC, | ||
26 | }; | ||
27 | |||
28 | /* Platform dependent definitions */ | ||
29 | struct ad9389b_platform_data { | ||
30 | enum ad9389b_tmds_pll_gear tmds_pll_gear ; | ||
31 | /* Differential Data/Clock Output Drive Strength (reg. 0xa2/0xa3) */ | ||
32 | u8 diff_data_drive_strength; | ||
33 | u8 diff_clk_drive_strength; | ||
34 | }; | ||
35 | |||
36 | /* notify events */ | ||
37 | #define AD9389B_MONITOR_DETECT 0 | ||
38 | #define AD9389B_EDID_DETECT 1 | ||
39 | |||
40 | struct ad9389b_monitor_detect { | ||
41 | int present; | ||
42 | }; | ||
43 | |||
44 | struct ad9389b_edid_detect { | ||
45 | int present; | ||
46 | int segment; | ||
47 | }; | ||
48 | |||
49 | #endif | ||
diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-ident.h index 6adb360e8601..4ee125bae719 100644 --- a/include/media/v4l2-chip-ident.h +++ b/include/media/v4l2-chip-ident.h | |||
@@ -215,6 +215,9 @@ enum { | |||
215 | V4L2_IDENT_CX23888_AV = 8881, /* Integrated A/V decoder */ | 215 | V4L2_IDENT_CX23888_AV = 8881, /* Integrated A/V decoder */ |
216 | V4L2_IDENT_CX23888_IR = 8882, /* Integrated infrared controller */ | 216 | V4L2_IDENT_CX23888_IR = 8882, /* Integrated infrared controller */ |
217 | 217 | ||
218 | /* module ad9389b: just ident 9389 */ | ||
219 | V4L2_IDENT_AD9389B = 9389, | ||
220 | |||
218 | /* module tda9840: just ident 9840 */ | 221 | /* module tda9840: just ident 9840 */ |
219 | V4L2_IDENT_TDA9840 = 9840, | 222 | V4L2_IDENT_TDA9840 = 9840, |
220 | 223 | ||