diff options
author | Mike Isely <isely@pobox.com> | 2008-07-25 18:35:31 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-07-26 11:54:35 -0400 |
commit | 31335b13ca3925f361702ca4fc895ab165beddb9 (patch) | |
tree | aadfdf374ceb7a69c043da27b0583c3b53d4468e /drivers/media/video/pvrusb2/pvrusb2-devattr.h | |
parent | 7e994302ed3fc6d209ce247ad5b6d9c2499bf7c2 (diff) |
V4L/DVB (8474): pvrusb2: Enable IR chip on HVR-1900 class devices
The Zilog IR chip on HVR-1900 devices is held in reset when the device
initializes. We have to bring this chip out of reset before LIRC has
any chance of operating the chip. So do it.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-devattr.h')
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-devattr.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-devattr.h b/drivers/media/video/pvrusb2/pvrusb2-devattr.h index e23ce1d2edd7..cb3a33eb0276 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-devattr.h +++ b/drivers/media/video/pvrusb2/pvrusb2-devattr.h | |||
@@ -48,6 +48,10 @@ struct pvr2_string_table { | |||
48 | #define PVR2_LED_SCHEME_NONE 0 | 48 | #define PVR2_LED_SCHEME_NONE 0 |
49 | #define PVR2_LED_SCHEME_HAUPPAUGE 1 | 49 | #define PVR2_LED_SCHEME_HAUPPAUGE 1 |
50 | 50 | ||
51 | #define PVR2_IR_SCHEME_NONE 0 | ||
52 | #define PVR2_IR_SCHEME_24XXX 1 | ||
53 | #define PVR2_IR_SCHEME_ZILOG 2 | ||
54 | |||
51 | /* This describes a particular hardware type (except for the USB device ID | 55 | /* This describes a particular hardware type (except for the USB device ID |
52 | which must live in a separate structure due to environmental | 56 | which must live in a separate structure due to environmental |
53 | constraints). See the top of pvrusb2-hdw.c for where this is | 57 | constraints). See the top of pvrusb2-hdw.c for where this is |
@@ -126,15 +130,19 @@ struct pvr2_device_desc { | |||
126 | ensure that it is found. */ | 130 | ensure that it is found. */ |
127 | unsigned int flag_has_wm8775:1; | 131 | unsigned int flag_has_wm8775:1; |
128 | 132 | ||
129 | /* Device has IR hardware that can be faked into looking like a | 133 | /* Indicate any specialized IR scheme that might need to be |
130 | normal Hauppauge i2c IR receiver. This is currently very | 134 | supported by this driver. If not set, then it is assumed that |
131 | specific to the 24xxx device, where Hauppauge had replaced their | 135 | IR can work without help from the driver (which is frequently |
132 | 'standard' I2C IR receiver with a bunch of FPGA logic controlled | 136 | the case). This is otherwise set to one of |
133 | directly via the FX2. Turning this on tells the pvrusb2 driver | 137 | PVR2_IR_SCHEME_xxxx. For "xxxx", the value "24XXX" indicates a |
134 | to virtualize the presence of the non-existant IR receiver chip and | 138 | Hauppauge 24xxx class device which has an FPGA-hosted IR |
135 | implement the virtual receiver in terms of appropriate FX2 | 139 | receiver that can only be reached via FX2 command codes. In |
136 | commands. */ | 140 | that case the pvrusb2 driver will emulate the behavior of the |
137 | unsigned int flag_has_hauppauge_custom_ir:1; | 141 | older 29xxx device's IR receiver (a "virtual" I2C chip) in terms |
142 | of those command codes. For the value "ZILOG", we're dealing | ||
143 | with an IR chip that must be taken out of reset via another FX2 | ||
144 | command code (which is the case for HVR-1950 devices). */ | ||
145 | unsigned int ir_scheme:2; | ||
138 | 146 | ||
139 | /* These bits define which kinds of sources the device can handle. | 147 | /* These bits define which kinds of sources the device can handle. |
140 | Note: Digital tuner presence is inferred by the | 148 | Note: Digital tuner presence is inferred by the |