aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb/af9015.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/dvb-usb/af9015.h')
-rw-r--r--drivers/media/dvb/dvb-usb/af9015.h215
1 files changed, 160 insertions, 55 deletions
diff --git a/drivers/media/dvb/dvb-usb/af9015.h b/drivers/media/dvb/dvb-usb/af9015.h
index c41f30e4a1b8..931c8515830d 100644
--- a/drivers/media/dvb/dvb-usb/af9015.h
+++ b/drivers/media/dvb/dvb-usb/af9015.h
@@ -95,6 +95,7 @@ enum af9015_ir_mode {
95 AF9015_IR_MODE_HID, 95 AF9015_IR_MODE_HID,
96 AF9015_IR_MODE_RLC, 96 AF9015_IR_MODE_RLC,
97 AF9015_IR_MODE_RC6, 97 AF9015_IR_MODE_RC6,
98 AF9015_IR_MODE_POLLING, /* just guess */
98}; 99};
99 100
100struct af9015_state { 101struct af9015_state {
@@ -119,6 +120,7 @@ enum af9015_remote {
119/* 5 */ AF9015_REMOTE_AVERMEDIA_KS, 120/* 5 */ AF9015_REMOTE_AVERMEDIA_KS,
120}; 121};
121 122
123/* LeadTek - Y04G0051 */
122/* Leadtek WinFast DTV Dongle Gold */ 124/* Leadtek WinFast DTV Dongle Gold */
123static struct dvb_usb_rc_key af9015_rc_keys_leadtek[] = { 125static struct dvb_usb_rc_key af9015_rc_keys_leadtek[] = {
124 { 0x001e, KEY_1 }, 126 { 0x001e, KEY_1 },
@@ -131,64 +133,96 @@ static struct dvb_usb_rc_key af9015_rc_keys_leadtek[] = {
131 { 0x0025, KEY_8 }, 133 { 0x0025, KEY_8 },
132 { 0x0026, KEY_9 }, 134 { 0x0026, KEY_9 },
133 { 0x0027, KEY_0 }, 135 { 0x0027, KEY_0 },
134 { 0x0028, KEY_ENTER }, 136 { 0x0028, KEY_OK },
135 { 0x004f, KEY_VOLUMEUP }, 137 { 0x004f, KEY_RIGHT },
136 { 0x0050, KEY_VOLUMEDOWN }, 138 { 0x0050, KEY_LEFT },
137 { 0x0051, KEY_CHANNELDOWN }, 139 { 0x0051, KEY_DOWN },
138 { 0x0052, KEY_CHANNELUP }, 140 { 0x0052, KEY_UP },
141 { 0x011a, KEY_POWER2 },
142 { 0x04b4, KEY_TV },
143 { 0x04b3, KEY_RED },
144 { 0x04b2, KEY_GREEN },
145 { 0x04b1, KEY_YELLOW },
146 { 0x04b0, KEY_BLUE },
147 { 0x003d, KEY_TEXT },
148 { 0x0113, KEY_SLEEP },
149 { 0x0010, KEY_MUTE },
150 { 0x0105, KEY_ESC },
151 { 0x0009, KEY_SCREEN },
152 { 0x010f, KEY_MENU },
153 { 0x003f, KEY_CHANNEL },
154 { 0x0013, KEY_REWIND },
155 { 0x0012, KEY_PLAY },
156 { 0x0011, KEY_FASTFORWARD },
157 { 0x0005, KEY_PREVIOUS },
158 { 0x0029, KEY_STOP },
159 { 0x002b, KEY_NEXT },
160 { 0x0041, KEY_EPG },
161 { 0x0019, KEY_VIDEO },
162 { 0x0016, KEY_AUDIO },
163 { 0x0037, KEY_DOT },
164 { 0x002a, KEY_AGAIN },
165 { 0x002c, KEY_CAMERA },
166 { 0x003c, KEY_NEW },
167 { 0x0115, KEY_RECORD },
168 { 0x010b, KEY_TIME },
169 { 0x0043, KEY_VOLUMEUP },
170 { 0x0042, KEY_VOLUMEDOWN },
171 { 0x004b, KEY_CHANNELUP },
172 { 0x004e, KEY_CHANNELDOWN },
139}; 173};
140 174
141static u8 af9015_ir_table_leadtek[] = { 175static u8 af9015_ir_table_leadtek[] = {
142 0x03, 0xfc, 0x00, 0xff, 0x1a, 0x01, 0x00, 176 0x03, 0xfc, 0x00, 0xff, 0x1a, 0x01, 0x00, /* KEY_POWER2 */
143 0x03, 0xfc, 0x56, 0xa9, 0x00, 0x00, 0x00, 177 0x03, 0xfc, 0x56, 0xa9, 0xb4, 0x04, 0x00, /* KEY_TV */
144 0x03, 0xfc, 0x4b, 0xb4, 0x00, 0x00, 0x00, 178 0x03, 0xfc, 0x4b, 0xb4, 0xb3, 0x04, 0x00, /* KEY_RED */
145 0x03, 0xfc, 0x4c, 0xb3, 0xb2, 0x04, 0x00, 179 0x03, 0xfc, 0x4c, 0xb3, 0xb2, 0x04, 0x00, /* KEY_GREEN */
146 0x03, 0xfc, 0x4d, 0xb2, 0x00, 0x00, 0x00, 180 0x03, 0xfc, 0x4d, 0xb2, 0xb1, 0x04, 0x00, /* KEY_YELLOW */
147 0x03, 0xfc, 0x4e, 0xb1, 0x00, 0x00, 0x00, 181 0x03, 0xfc, 0x4e, 0xb1, 0xb0, 0x04, 0x00, /* KEY_BLUE */
148 0x03, 0xfc, 0x1f, 0xe0, 0x3d, 0x00, 0x00, 182 0x03, 0xfc, 0x1f, 0xe0, 0x3d, 0x00, 0x00, /* KEY_TEXT */
149 0x03, 0xfc, 0x40, 0xbf, 0x13, 0x01, 0x00, 183 0x03, 0xfc, 0x40, 0xbf, 0x13, 0x01, 0x00, /* KEY_SLEEP */
150 0x03, 0xfc, 0x14, 0xeb, 0x10, 0x00, 0x00, 184 0x03, 0xfc, 0x14, 0xeb, 0x10, 0x00, 0x00, /* KEY_MUTE */
151 0x03, 0xfc, 0x49, 0xb6, 0x05, 0x01, 0x00, 185 0x03, 0xfc, 0x49, 0xb6, 0x05, 0x01, 0x00, /* KEY_ESC */
152 0x03, 0xfc, 0x50, 0xaf, 0x29, 0x00, 0x00, 186 0x03, 0xfc, 0x50, 0xaf, 0x29, 0x00, 0x00, /* KEY_STOP (1)*/
153 0x03, 0xfc, 0x0c, 0xf3, 0x52, 0x00, 0x00, 187 0x03, 0xfc, 0x0c, 0xf3, 0x52, 0x00, 0x00, /* KEY_UP */
154 0x03, 0xfc, 0x03, 0xfc, 0x09, 0x00, 0x00, 188 0x03, 0xfc, 0x03, 0xfc, 0x09, 0x00, 0x00, /* KEY_SCREEN */
155 0x03, 0xfc, 0x08, 0xf7, 0x50, 0x00, 0x00, 189 0x03, 0xfc, 0x08, 0xf7, 0x50, 0x00, 0x00, /* KEY_LEFT */
156 0x03, 0xfc, 0x13, 0xec, 0x28, 0x00, 0x00, 190 0x03, 0xfc, 0x13, 0xec, 0x28, 0x00, 0x00, /* KEY_OK (1) */
157 0x03, 0xfc, 0x04, 0xfb, 0x4f, 0x00, 0x00, 191 0x03, 0xfc, 0x04, 0xfb, 0x4f, 0x00, 0x00, /* KEY_RIGHT */
158 0x03, 0xfc, 0x4f, 0xb0, 0x0f, 0x01, 0x00, 192 0x03, 0xfc, 0x4f, 0xb0, 0x0f, 0x01, 0x00, /* KEY_MENU */
159 0x03, 0xfc, 0x10, 0xef, 0x51, 0x00, 0x00, 193 0x03, 0xfc, 0x10, 0xef, 0x51, 0x00, 0x00, /* KEY_DOWN */
160 0x03, 0xfc, 0x51, 0xae, 0x3f, 0x00, 0x00, 194 0x03, 0xfc, 0x51, 0xae, 0x3f, 0x00, 0x00, /* KEY_CHANNEL */
161 0x03, 0xfc, 0x42, 0xbd, 0x13, 0x00, 0x00, 195 0x03, 0xfc, 0x42, 0xbd, 0x13, 0x00, 0x00, /* KEY_REWIND */
162 0x03, 0xfc, 0x43, 0xbc, 0x00, 0x00, 0x00, 196 0x03, 0xfc, 0x43, 0xbc, 0x12, 0x00, 0x00, /* KEY_PLAY */
163 0x03, 0xfc, 0x44, 0xbb, 0x11, 0x00, 0x00, 197 0x03, 0xfc, 0x44, 0xbb, 0x11, 0x00, 0x00, /* KEY_FASTFORWARD */
164 0x03, 0xfc, 0x52, 0xad, 0x19, 0x00, 0x00, 198 0x03, 0xfc, 0x52, 0xad, 0x19, 0x00, 0x00, /* KEY_VIDEO (1) */
165 0x03, 0xfc, 0x54, 0xab, 0x05, 0x00, 0x00, 199 0x03, 0xfc, 0x54, 0xab, 0x05, 0x00, 0x00, /* KEY_PREVIOUS */
166 0x03, 0xfc, 0x46, 0xb9, 0x29, 0x00, 0x00, 200 0x03, 0xfc, 0x46, 0xb9, 0x29, 0x00, 0x00, /* KEY_STOP (2) */
167 0x03, 0xfc, 0x55, 0xaa, 0x2b, 0x00, 0x00, 201 0x03, 0xfc, 0x55, 0xaa, 0x2b, 0x00, 0x00, /* KEY_NEXT */
168 0x03, 0xfc, 0x53, 0xac, 0x41, 0x00, 0x00, 202 0x03, 0xfc, 0x53, 0xac, 0x41, 0x00, 0x00, /* KEY_EPG */
169 0x03, 0xfc, 0x05, 0xfa, 0x1e, 0x00, 0x00, 203 0x03, 0xfc, 0x05, 0xfa, 0x1e, 0x00, 0x00, /* KEY_1 */
170 0x03, 0xfc, 0x06, 0xf9, 0x1f, 0x00, 0x00, 204 0x03, 0xfc, 0x06, 0xf9, 0x1f, 0x00, 0x00, /* KEY_2 */
171 0x03, 0xfc, 0x07, 0xf8, 0x20, 0x00, 0x00, 205 0x03, 0xfc, 0x07, 0xf8, 0x20, 0x00, 0x00, /* KEY_3 */
172 0x03, 0xfc, 0x1e, 0xe1, 0x19, 0x00, 0x00, 206 0x03, 0xfc, 0x1e, 0xe1, 0x19, 0x00, 0x00, /* KEY_VIDEO (2) */
173 0x03, 0xfc, 0x09, 0xf6, 0x21, 0x00, 0x00, 207 0x03, 0xfc, 0x09, 0xf6, 0x21, 0x00, 0x00, /* KEY_4 */
174 0x03, 0xfc, 0x0a, 0xf5, 0x22, 0x00, 0x00, 208 0x03, 0xfc, 0x0a, 0xf5, 0x22, 0x00, 0x00, /* KEY_5 */
175 0x03, 0xfc, 0x0b, 0xf4, 0x23, 0x00, 0x00, 209 0x03, 0xfc, 0x0b, 0xf4, 0x23, 0x00, 0x00, /* KEY_6 */
176 0x03, 0xfc, 0x1b, 0xe4, 0x16, 0x00, 0x00, 210 0x03, 0xfc, 0x1b, 0xe4, 0x16, 0x00, 0x00, /* KEY_AUDIO */
177 0x03, 0xfc, 0x0d, 0xf2, 0x24, 0x00, 0x00, 211 0x03, 0xfc, 0x0d, 0xf2, 0x24, 0x00, 0x00, /* KEY_7 */
178 0x03, 0xfc, 0x0e, 0xf1, 0x25, 0x00, 0x00, 212 0x03, 0xfc, 0x0e, 0xf1, 0x25, 0x00, 0x00, /* KEY_8 */
179 0x03, 0xfc, 0x0f, 0xf0, 0x26, 0x00, 0x00, 213 0x03, 0xfc, 0x0f, 0xf0, 0x26, 0x00, 0x00, /* KEY_9 */
180 0x03, 0xfc, 0x16, 0xe9, 0x28, 0x00, 0x00, 214 0x03, 0xfc, 0x16, 0xe9, 0x28, 0x00, 0x00, /* KEY_OK (2) */
181 0x03, 0xfc, 0x41, 0xbe, 0x37, 0x00, 0x00, 215 0x03, 0xfc, 0x41, 0xbe, 0x37, 0x00, 0x00, /* KEY_DOT */
182 0x03, 0xfc, 0x12, 0xed, 0x27, 0x00, 0x00, 216 0x03, 0xfc, 0x12, 0xed, 0x27, 0x00, 0x00, /* KEY_0 */
183 0x03, 0xfc, 0x11, 0xee, 0x2a, 0x00, 0x00, 217 0x03, 0xfc, 0x11, 0xee, 0x2a, 0x00, 0x00, /* KEY_AGAIN */
184 0x03, 0xfc, 0x48, 0xb7, 0x2c, 0x00, 0x00, 218 0x03, 0xfc, 0x48, 0xb7, 0x2c, 0x00, 0x00, /* KEY_CAMERA */
185 0x03, 0xfc, 0x4a, 0xb5, 0x3c, 0x00, 0x00, 219 0x03, 0xfc, 0x4a, 0xb5, 0x3c, 0x00, 0x00, /* KEY_NEW */
186 0x03, 0xfc, 0x47, 0xb8, 0x15, 0x01, 0x00, 220 0x03, 0xfc, 0x47, 0xb8, 0x15, 0x01, 0x00, /* KEY_RECORD */
187 0x03, 0xfc, 0x45, 0xba, 0x0b, 0x01, 0x00, 221 0x03, 0xfc, 0x45, 0xba, 0x0b, 0x01, 0x00, /* KEY_TIME */
188 0x03, 0xfc, 0x5e, 0xa1, 0x43, 0x00, 0x00, 222 0x03, 0xfc, 0x5e, 0xa1, 0x43, 0x00, 0x00, /* KEY_VOLUMEUP */
189 0x03, 0xfc, 0x5a, 0xa5, 0x42, 0x00, 0x00, 223 0x03, 0xfc, 0x5a, 0xa5, 0x42, 0x00, 0x00, /* KEY_VOLUMEDOWN */
190 0x03, 0xfc, 0x5b, 0xa4, 0x4b, 0x00, 0x00, 224 0x03, 0xfc, 0x5b, 0xa4, 0x4b, 0x00, 0x00, /* KEY_CHANNELUP */
191 0x03, 0xfc, 0x5f, 0xa0, 0x4e, 0x00, 0x00, 225 0x03, 0xfc, 0x5f, 0xa0, 0x4e, 0x00, 0x00, /* KEY_CHANNELDOWN */
192}; 226};
193 227
194/* TwinHan AzureWave AD-TU700(704J) */ 228/* TwinHan AzureWave AD-TU700(704J) */
@@ -746,4 +780,75 @@ static u8 af9015_ir_table_trekstor[] = {
746 0x00, 0xff, 0x84, 0x7b, 0x27, 0x07, 0x00, 780 0x00, 0xff, 0x84, 0x7b, 0x27, 0x07, 0x00,
747}; 781};
748 782
783/* MSI DIGIVOX mini III */
784static struct dvb_usb_rc_key af9015_rc_keys_msi_digivox_iii[] = {
785 { 0x0713, KEY_POWER }, /* [red power button] */
786 { 0x073b, KEY_VIDEO }, /* Source */
787 { 0x073e, KEY_ZOOM }, /* Zoom */
788 { 0x070b, KEY_POWER2 }, /* ShutDown */
789 { 0x071e, KEY_1 },
790 { 0x071f, KEY_2 },
791 { 0x0720, KEY_3 },
792 { 0x0721, KEY_4 },
793 { 0x0722, KEY_5 },
794 { 0x0723, KEY_6 },
795 { 0x0724, KEY_7 },
796 { 0x0725, KEY_8 },
797 { 0x0726, KEY_9 },
798 { 0x0727, KEY_0 },
799 { 0x0752, KEY_CHANNELUP }, /* CH+ */
800 { 0x0751, KEY_CHANNELDOWN }, /* CH- */
801 { 0x0750, KEY_VOLUMEUP }, /* Vol+ */
802 { 0x074f, KEY_VOLUMEDOWN }, /* Vol- */
803 { 0x0705, KEY_ESC }, /* [back up arrow] */
804 { 0x0708, KEY_OK }, /* [enter arrow] */
805 { 0x073f, KEY_RECORD }, /* Rec */
806 { 0x0716, KEY_STOP }, /* Stop */
807 { 0x072a, KEY_PLAY }, /* Play */
808 { 0x073c, KEY_MUTE }, /* Mute */
809 { 0x0718, KEY_UP },
810 { 0x0707, KEY_DOWN },
811 { 0x070f, KEY_LEFT },
812 { 0x0715, KEY_RIGHT },
813 { 0x0736, KEY_RED },
814 { 0x0737, KEY_GREEN },
815 { 0x072d, KEY_YELLOW },
816 { 0x072e, KEY_BLUE },
817};
818
819static u8 af9015_ir_table_msi_digivox_iii[] = {
820 0x61, 0xd6, 0x43, 0xbc, 0x13, 0x07, 0x00, /* KEY_POWER */
821 0x61, 0xd6, 0x01, 0xfe, 0x3b, 0x07, 0x00, /* KEY_VIDEO */
822 0x61, 0xd6, 0x0b, 0xf4, 0x3e, 0x07, 0x00, /* KEY_ZOOM */
823 0x61, 0xd6, 0x03, 0xfc, 0x0b, 0x07, 0x00, /* KEY_POWER2 */
824 0x61, 0xd6, 0x04, 0xfb, 0x1e, 0x07, 0x00, /* KEY_1 */
825 0x61, 0xd6, 0x08, 0xf7, 0x1f, 0x07, 0x00, /* KEY_2 */
826 0x61, 0xd6, 0x02, 0xfd, 0x20, 0x07, 0x00, /* KEY_3 */
827 0x61, 0xd6, 0x0f, 0xf0, 0x21, 0x07, 0x00, /* KEY_4 */
828 0x61, 0xd6, 0x05, 0xfa, 0x22, 0x07, 0x00, /* KEY_5 */
829 0x61, 0xd6, 0x06, 0xf9, 0x23, 0x07, 0x00, /* KEY_6 */
830 0x61, 0xd6, 0x0c, 0xf3, 0x24, 0x07, 0x00, /* KEY_7 */
831 0x61, 0xd6, 0x0d, 0xf2, 0x25, 0x07, 0x00, /* KEY_8 */
832 0x61, 0xd6, 0x0a, 0xf5, 0x26, 0x07, 0x00, /* KEY_9 */
833 0x61, 0xd6, 0x11, 0xee, 0x27, 0x07, 0x00, /* KEY_0 */
834 0x61, 0xd6, 0x09, 0xf6, 0x52, 0x07, 0x00, /* KEY_CHANNELUP */
835 0x61, 0xd6, 0x07, 0xf8, 0x51, 0x07, 0x00, /* KEY_CHANNELDOWN */
836 0x61, 0xd6, 0x0e, 0xf1, 0x50, 0x07, 0x00, /* KEY_VOLUMEUP */
837 0x61, 0xd6, 0x13, 0xec, 0x4f, 0x07, 0x00, /* KEY_VOLUMEDOWN */
838 0x61, 0xd6, 0x10, 0xef, 0x05, 0x07, 0x00, /* KEY_ESC */
839 0x61, 0xd6, 0x12, 0xed, 0x08, 0x07, 0x00, /* KEY_OK */
840 0x61, 0xd6, 0x14, 0xeb, 0x3f, 0x07, 0x00, /* KEY_RECORD */
841 0x61, 0xd6, 0x15, 0xea, 0x16, 0x07, 0x00, /* KEY_STOP */
842 0x61, 0xd6, 0x16, 0xe9, 0x2a, 0x07, 0x00, /* KEY_PLAY */
843 0x61, 0xd6, 0x17, 0xe8, 0x3c, 0x07, 0x00, /* KEY_MUTE */
844 0x61, 0xd6, 0x18, 0xe7, 0x18, 0x07, 0x00, /* KEY_UP */
845 0x61, 0xd6, 0x19, 0xe6, 0x07, 0x07, 0x00, /* KEY_DOWN */
846 0x61, 0xd6, 0x1a, 0xe5, 0x0f, 0x07, 0x00, /* KEY_LEFT */
847 0x61, 0xd6, 0x1b, 0xe4, 0x15, 0x07, 0x00, /* KEY_RIGHT */
848 0x61, 0xd6, 0x1c, 0xe3, 0x36, 0x07, 0x00, /* KEY_RED */
849 0x61, 0xd6, 0x1d, 0xe2, 0x37, 0x07, 0x00, /* KEY_GREEN */
850 0x61, 0xd6, 0x1e, 0xe1, 0x2d, 0x07, 0x00, /* KEY_YELLOW */
851 0x61, 0xd6, 0x1f, 0xe0, 0x2e, 0x07, 0x00, /* KEY_BLUE */
852};
853
749#endif 854#endif