2 cx231xx-pcb-config.c - driver for Conexant
3 Cx23100/101/102 USB video capture devices
5 Copyright (C) 2008 <srinivasa.deevi at conexant dot com>
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 #include "cx231xx-conf-reg.h"
25 static unsigned int pcb_debug
;
26 module_param(pcb_debug
, int, 0644);
27 MODULE_PARM_DESC(pcb_debug
, "enable pcb config debug messages [video]");
29 /******************************************************************************/
31 struct pcb_config cx231xx_Scenario
[] = {
33 INDEX_SELFPOWER_DIGITAL_ONLY
, /* index */
34 USB_SELF_POWER
, /* power_type */
35 0, /* speed , not decide yet */
36 MOD_DIGITAL
, /* mode */
37 SOURCE_TS_BDA
, /* ts1_source, digital tv only */
38 NOT_SUPPORTED
, /* ts2_source */
39 NOT_SUPPORTED
, /* analog source */
41 0, /* digital_index */
44 0, /* external_index */
46 1, /* only one configuration */
51 0, /* interrupt ep index */
53 NOT_SUPPORTED
, /* TS2 index */
54 NOT_SUPPORTED
, /* AUDIO */
55 NOT_SUPPORTED
, /* VIDEO */
56 NOT_SUPPORTED
, /* VANC */
57 NOT_SUPPORTED
, /* HANC */
58 NOT_SUPPORTED
/* ir_index */
63 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
64 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
68 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
69 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
74 /* full-speed config */
79 0, /* interrupt ep index */
81 NOT_SUPPORTED
, /* TS2 index */
82 NOT_SUPPORTED
, /* AUDIO */
83 NOT_SUPPORTED
, /* VIDEO */
84 NOT_SUPPORTED
, /* VANC */
85 NOT_SUPPORTED
, /* HANC */
86 NOT_SUPPORTED
/* ir_index */
90 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
91 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
95 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
96 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
104 INDEX_SELFPOWER_DUAL_DIGITAL
, /* index */
105 USB_SELF_POWER
, /* power_type */
106 0, /* speed , not decide yet */
107 MOD_DIGITAL
, /* mode */
108 SOURCE_TS_BDA
, /* ts1_source, digital tv only */
109 0, /* ts2_source,need update from register */
110 NOT_SUPPORTED
, /* analog source */
111 0, /* digital_index */
112 0, /* analog index */
114 0, /* external_index */
116 1, /* only one configuration */
119 0, /* config index */
121 0, /* interrupt ep index */
124 NOT_SUPPORTED
, /* AUDIO */
125 NOT_SUPPORTED
, /* VIDEO */
126 NOT_SUPPORTED
, /* VANC */
127 NOT_SUPPORTED
, /* HANC */
128 NOT_SUPPORTED
/* ir_index */
132 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
133 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
137 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
138 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
146 0, /* config index */
148 0, /* interrupt ep index */
151 NOT_SUPPORTED
, /* AUDIO */
152 NOT_SUPPORTED
, /* VIDEO */
153 NOT_SUPPORTED
, /* VANC */
154 NOT_SUPPORTED
, /* HANC */
155 NOT_SUPPORTED
/* ir_index */
159 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
160 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
164 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
165 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
173 INDEX_SELFPOWER_ANALOG_ONLY
, /* index */
174 USB_SELF_POWER
, /* power_type */
175 0, /* speed , not decide yet */
176 MOD_ANALOG
| MOD_DIF
| MOD_EXTERNAL
, /* mode ,analog tv only */
177 NOT_SUPPORTED
, /* ts1_source, NOT SUPPORT */
178 NOT_SUPPORTED
, /* ts2_source,NOT SUPPORT */
179 0, /* analog source, need update */
181 0, /* digital_index */
182 0, /* analog index */
184 0, /* external_index */
186 1, /* only one configuration */
189 0, /* config index */
191 0, /* interrupt ep index */
192 NOT_SUPPORTED
, /* ts1 index */
193 NOT_SUPPORTED
, /* TS2 index */
198 NOT_SUPPORTED
/* ir_index */
202 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
203 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
207 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
208 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
216 0, /* config index */
218 0, /* interrupt ep index */
219 NOT_SUPPORTED
, /* ts1 index */
220 NOT_SUPPORTED
, /* TS2 index */
223 NOT_SUPPORTED
, /* VANC */
224 NOT_SUPPORTED
, /* HANC */
225 NOT_SUPPORTED
/* ir_index */
229 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
230 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
234 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
235 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
243 INDEX_SELFPOWER_DUAL
, /* index */
244 USB_SELF_POWER
, /* power_type */
245 0, /* speed , not decide yet */
246 /* mode ,analog tv and digital path */
247 MOD_ANALOG
| MOD_DIF
| MOD_DIGITAL
| MOD_EXTERNAL
,
248 0, /* ts1_source,will update in register */
249 NOT_SUPPORTED
, /* ts2_source,NOT SUPPORT */
250 0, /* analog source need update */
251 0, /* digital_index */
252 0, /* analog index */
254 0, /* external_index */
255 1, /* only one configuration */
258 0, /* config index */
260 0, /* interrupt ep index */
262 NOT_SUPPORTED
, /* TS2 index */
267 NOT_SUPPORTED
/* ir_index */
271 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
272 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
276 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
277 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
285 0, /* config index */
287 0, /* interrupt ep index */
289 NOT_SUPPORTED
, /* TS2 index */
292 NOT_SUPPORTED
, /* VANC */
293 NOT_SUPPORTED
, /* HANC */
294 NOT_SUPPORTED
/* ir_index */
298 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
299 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
303 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
304 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
312 INDEX_SELFPOWER_TRIPLE
, /* index */
313 USB_SELF_POWER
, /* power_type */
314 0, /* speed , not decide yet */
315 /* mode ,analog tv and digital path */
316 MOD_ANALOG
| MOD_DIF
| MOD_DIGITAL
| MOD_EXTERNAL
,
317 0, /* ts1_source, update in register */
318 0, /* ts2_source,update in register */
319 0, /* analog source, need update */
321 0, /* digital_index */
322 0, /* analog index */
324 0, /* external_index */
325 1, /* only one configuration */
328 0, /* config index */
330 0, /* interrupt ep index */
337 NOT_SUPPORTED
/* ir_index */
341 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
342 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
346 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
347 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
355 0, /* config index */
357 0, /* interrupt ep index */
362 NOT_SUPPORTED
, /* VANC */
363 NOT_SUPPORTED
, /* HANC */
364 NOT_SUPPORTED
/* ir_index */
368 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
369 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
373 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
374 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
382 INDEX_SELFPOWER_COMPRESSOR
, /* index */
383 USB_SELF_POWER
, /* power_type */
384 0, /* speed , not decide yet */
385 /* mode ,analog tv AND DIGITAL path */
386 MOD_ANALOG
| MOD_DIF
| MOD_DIGITAL
| MOD_EXTERNAL
,
387 NOT_SUPPORTED
, /* ts1_source, disable */
388 SOURCE_TS_BDA
, /* ts2_source */
389 0, /* analog source,need update */
390 0, /* digital_index */
391 0, /* analog index */
393 0, /* external_index */
394 1, /* only one configuration */
397 0, /* config index */
399 0, /* interrupt ep index */
400 NOT_SUPPORTED
, /* ts1 index */
406 NOT_SUPPORTED
/* ir_index */
410 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
411 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
415 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
416 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
424 0, /* config index */
426 0, /* interrupt ep index */
427 NOT_SUPPORTED
, /* ts1 index */
431 NOT_SUPPORTED
, /* VANC */
432 NOT_SUPPORTED
, /* HANC */
433 NOT_SUPPORTED
/* ir_index */
437 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
438 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
442 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
443 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
451 INDEX_BUSPOWER_DIGITAL_ONLY
, /* index */
452 USB_BUS_POWER
, /* power_type */
453 0, /* speed , not decide yet */
454 MOD_DIGITAL
, /* mode ,analog tv AND DIGITAL path */
455 SOURCE_TS_BDA
, /* ts1_source, disable */
456 NOT_SUPPORTED
, /* ts2_source */
457 NOT_SUPPORTED
, /* analog source */
459 0, /* digital_index */
460 0, /* analog index */
462 0, /* external_index */
464 1, /* only one configuration */
467 0, /* config index */
469 0, /* interrupt ep index = 2 */
471 NOT_SUPPORTED
, /* TS2 index */
472 NOT_SUPPORTED
, /* AUDIO */
473 NOT_SUPPORTED
, /* VIDEO */
474 NOT_SUPPORTED
, /* VANC */
475 NOT_SUPPORTED
, /* HANC */
476 NOT_SUPPORTED
/* ir_index */
480 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
481 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
485 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
486 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
494 0, /* config index */
496 0, /* interrupt ep index = 2 */
498 NOT_SUPPORTED
, /* TS2 index */
499 NOT_SUPPORTED
, /* AUDIO */
500 NOT_SUPPORTED
, /* VIDEO */
501 NOT_SUPPORTED
, /* VANC */
502 NOT_SUPPORTED
, /* HANC */
503 NOT_SUPPORTED
/* ir_index */
507 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
508 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
512 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
513 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
520 INDEX_BUSPOWER_ANALOG_ONLY
, /* index */
521 USB_BUS_POWER
, /* power_type */
522 0, /* speed , not decide yet */
523 MOD_ANALOG
, /* mode ,analog tv AND DIGITAL path */
524 NOT_SUPPORTED
, /* ts1_source, disable */
525 NOT_SUPPORTED
, /* ts2_source */
526 SOURCE_ANALOG
, /* analog source--analog */
527 0, /* digital_index */
528 0, /* analog index */
530 0, /* external_index */
531 1, /* only one configuration */
534 0, /* config index */
536 0, /* interrupt ep index */
537 NOT_SUPPORTED
, /* ts1 index */
538 NOT_SUPPORTED
, /* TS2 index */
543 NOT_SUPPORTED
/* ir_index */
547 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
548 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
552 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
553 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
560 0, /* config index */
562 0, /* interrupt ep index */
563 NOT_SUPPORTED
, /* ts1 index */
564 NOT_SUPPORTED
, /* TS2 index */
567 NOT_SUPPORTED
, /* VANC */
568 NOT_SUPPORTED
, /* HANC */
569 NOT_SUPPORTED
/* ir_index */
573 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
574 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
578 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
579 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
586 INDEX_BUSPOWER_DIF_ONLY
, /* index */
587 USB_BUS_POWER
, /* power_type */
588 0, /* speed , not decide yet */
589 /* mode ,analog tv AND DIGITAL path */
590 MOD_DIF
| MOD_ANALOG
| MOD_DIGITAL
| MOD_EXTERNAL
,
591 SOURCE_TS_BDA
, /* ts1_source, disable */
592 NOT_SUPPORTED
, /* ts2_source */
593 SOURCE_DIF
| SOURCE_ANALOG
| SOURCE_EXTERNAL
, /* analog source, dif */
594 0, /* digital_index */
595 0, /* analog index */
597 0, /* external_index */
598 1, /* only one configuration */
601 0, /* config index */
603 0, /* interrupt ep index */
605 NOT_SUPPORTED
, /* TS2 index */
610 NOT_SUPPORTED
/* ir_index */
614 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
615 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
619 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
620 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
627 0, /* config index */
629 0, /* interrupt ep index */
631 NOT_SUPPORTED
, /* TS2 index */
634 NOT_SUPPORTED
, /* VANC */
635 NOT_SUPPORTED
, /* HANC */
636 NOT_SUPPORTED
/* ir_index */
640 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
641 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
645 {NOT_SUPPORTED
, {NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
646 NOT_SUPPORTED
, NOT_SUPPORTED
, NOT_SUPPORTED
,
655 /*****************************************************************/
657 u32
initialize_cx231xx(struct cx231xx
*dev
)
660 struct pcb_config
*p_pcb_info
;
661 u8 usb_speed
= 1; /* from register,1--HS, 0--FS */
662 u8 data
[4] = { 0, 0, 0, 0 };
665 u32 analog_source
= 0;
666 u8 _current_scenario_idx
= 0xff;
668 ts1_source
= SOURCE_TS_BDA
;
669 ts2_source
= SOURCE_TS_BDA
;
671 /* read board config register to find out which
672 pcb config it is related to */
673 cx231xx_read_ctrl_reg(dev
, VRT_GET_REGISTER
, BOARD_CFG_STAT
, data
, 4);
675 config_info
= le32_to_cpu(*((u32
*) data
));
676 usb_speed
= (u8
) (config_info
& 0x1);
678 /* Verify this device belongs to Bus power or Self power device */
679 if (config_info
& BUS_POWER
) { /* bus-power */
680 switch (config_info
& BUSPOWER_MASK
) {
681 case TS1_PORT
| BUS_POWER
:
682 cx231xx_Scenario
[INDEX_BUSPOWER_DIGITAL_ONLY
].speed
=
685 &cx231xx_Scenario
[INDEX_BUSPOWER_DIGITAL_ONLY
];
686 _current_scenario_idx
= INDEX_BUSPOWER_DIGITAL_ONLY
;
688 case AVDEC_ENABLE
| BUS_POWER
:
689 cx231xx_Scenario
[INDEX_BUSPOWER_ANALOG_ONLY
].speed
=
692 &cx231xx_Scenario
[INDEX_BUSPOWER_ANALOG_ONLY
];
693 _current_scenario_idx
= INDEX_BUSPOWER_ANALOG_ONLY
;
695 case AVDEC_ENABLE
| BUS_POWER
| TS1_PORT
:
696 cx231xx_Scenario
[INDEX_BUSPOWER_DIF_ONLY
].speed
=
698 p_pcb_info
= &cx231xx_Scenario
[INDEX_BUSPOWER_DIF_ONLY
];
699 _current_scenario_idx
= INDEX_BUSPOWER_DIF_ONLY
;
702 cx231xx_info("bad config in buspower!!!!\n");
703 cx231xx_info("config_info=%x\n",
704 (config_info
& BUSPOWER_MASK
));
707 } else { /* self-power */
709 switch (config_info
& SELFPOWER_MASK
) {
710 case TS1_PORT
| SELF_POWER
:
711 cx231xx_Scenario
[INDEX_SELFPOWER_DIGITAL_ONLY
].speed
=
714 &cx231xx_Scenario
[INDEX_SELFPOWER_DIGITAL_ONLY
];
715 _current_scenario_idx
= INDEX_SELFPOWER_DIGITAL_ONLY
;
717 case TS1_TS2_PORT
| SELF_POWER
:
718 cx231xx_Scenario
[INDEX_SELFPOWER_DUAL_DIGITAL
].speed
=
720 cx231xx_Scenario
[INDEX_SELFPOWER_DUAL_DIGITAL
].
721 ts2_source
= ts2_source
;
723 &cx231xx_Scenario
[INDEX_SELFPOWER_DUAL_DIGITAL
];
724 _current_scenario_idx
= INDEX_SELFPOWER_DUAL_DIGITAL
;
726 case AVDEC_ENABLE
| SELF_POWER
:
727 cx231xx_Scenario
[INDEX_SELFPOWER_ANALOG_ONLY
].speed
=
729 cx231xx_Scenario
[INDEX_SELFPOWER_ANALOG_ONLY
].
730 analog_source
= analog_source
;
732 &cx231xx_Scenario
[INDEX_SELFPOWER_ANALOG_ONLY
];
733 _current_scenario_idx
= INDEX_SELFPOWER_ANALOG_ONLY
;
735 case AVDEC_ENABLE
| TS1_PORT
| SELF_POWER
:
736 cx231xx_Scenario
[INDEX_SELFPOWER_DUAL
].speed
=
738 cx231xx_Scenario
[INDEX_SELFPOWER_DUAL
].ts1_source
=
740 cx231xx_Scenario
[INDEX_SELFPOWER_DUAL
].analog_source
=
742 p_pcb_info
= &cx231xx_Scenario
[INDEX_SELFPOWER_DUAL
];
743 _current_scenario_idx
= INDEX_SELFPOWER_DUAL
;
745 case AVDEC_ENABLE
| TS1_TS2_PORT
| SELF_POWER
:
746 cx231xx_Scenario
[INDEX_SELFPOWER_TRIPLE
].speed
=
748 cx231xx_Scenario
[INDEX_SELFPOWER_TRIPLE
].ts1_source
=
750 cx231xx_Scenario
[INDEX_SELFPOWER_TRIPLE
].ts2_source
=
752 cx231xx_Scenario
[INDEX_SELFPOWER_TRIPLE
].analog_source
=
754 p_pcb_info
= &cx231xx_Scenario
[INDEX_SELFPOWER_TRIPLE
];
755 _current_scenario_idx
= INDEX_SELFPOWER_TRIPLE
;
757 case AVDEC_ENABLE
| TS1VIP_TS2_PORT
| SELF_POWER
:
758 cx231xx_Scenario
[INDEX_SELFPOWER_COMPRESSOR
].speed
=
760 cx231xx_Scenario
[INDEX_SELFPOWER_COMPRESSOR
].
761 analog_source
= analog_source
;
763 &cx231xx_Scenario
[INDEX_SELFPOWER_COMPRESSOR
];
764 _current_scenario_idx
= INDEX_SELFPOWER_COMPRESSOR
;
767 cx231xx_info("bad senario!!!!!\n");
768 cx231xx_info("config_info=%x\n",
769 (config_info
& SELFPOWER_MASK
));
774 dev
->current_scenario_idx
= _current_scenario_idx
;
776 memcpy(&dev
->current_pcb_config
, p_pcb_info
,
777 sizeof(struct pcb_config
));
780 cx231xx_info("SC(0x00) register = 0x%x\n", config_info
);
781 cx231xx_info("scenario %d\n",
782 (dev
->current_pcb_config
.index
) + 1);
783 cx231xx_info("type=%x\n", dev
->current_pcb_config
.type
);
784 cx231xx_info("mode=%x\n", dev
->current_pcb_config
.mode
);
785 cx231xx_info("speed=%x\n", dev
->current_pcb_config
.speed
);
786 cx231xx_info("ts1_source=%x\n",
787 dev
->current_pcb_config
.ts1_source
);
788 cx231xx_info("ts2_source=%x\n",
789 dev
->current_pcb_config
.ts2_source
);
790 cx231xx_info("analog_source=%x\n",
791 dev
->current_pcb_config
.analog_source
);