Форум Beholder http://beholder.ru/bb/ | |
Linux и Beholder Columbus PCMCIA TVFM card http://beholder.ru/bb/viewtopic.php?f=11&t=2759 |
Страница 1 из 5 |
Автор: | Maxim Savenko [ 14 апр 2006, 09:12 ] |
Заголовок сообщения: | Linux и Beholder Columbus PCMCIA TVFM card |
Попробовал сделать как было описано для 409го, на первый взгляд отличие только в тюнере, для Columbus он ALPS TSEZ1. Порывшись в инете нашел инфу что это интерфейс этого тюнера такой же как и у ALPS TSBE5 (http://www.spinics.net/lists/vfl/msg15149.html). Соответственно внес следующие строки в saa7134-cards.c в структуру struct saa7134_board saa7134_boards[]: Код: [SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM] = { /* maxix */ .name = "Beholder Columbus TVFM", .audio_clock = 0x00187de7, .tuner_type = TUNER_ALPS_TSBE5_PAL, .radio_type = UNSET, .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 3, .amux = TV, .tv = 1, },{ .name = name_comp1, .vmux = 1, .amux = LINE1, },{ .name = name_svideo, .vmux = 8, .amux = LINE1, }}, .radio = { .name = name_radio, .amux = LINE2, }, }, и соответственно в структуру struct pci_device_id saa7134_pci_tbl[] = { Код: },{ .vendor = PCI_VENDOR_ID_PHILIPS, .device = PCI_DEVICE_ID_PHILIPS_SAA7133, .subvendor = 0x0000, .subdevice = 0x5201, .driver_data = SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM, },{ После загрузки драйвера ядро сообщает следующее: Код: saa7130/34: v4l2 driver version 0.2.14 loaded ACPI: PCI Interrupt 0000:03:00.0[A] -> Link [LNKF] -> GSI 10 (level, low) -> IRQ 10 saa7133[0]: found at 0000:03:00.0, rev: 240, irq: 10, latency: 64, mmio: 0x34000000 saa7133[0]: subsystem: 0000:5201, board: Beholder Columbus TVFM [card=85,autodetected] saa7133[0]: board init: gpio is c000 input: saa7134 IR (Beholder Columbus T as /class/input/input3 tuner 1-0060: TEA5767 detected. tuner 1-0060: chip found @ 0xc0 (saa7133[0]) tuner 1-0060: type set to 62 (Philips TEA5767HN FM Radio) saa7133[0]: i2c eeprom 00: 00 00 01 52 54 20 00 00 00 00 00 00 00 00 00 01 saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff aa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: registered device video0 [v4l2] saa7133[0]: registered device vbi0 saa7133[0]: registered device radio0 Ну типа все найдено, но нифига при этом не видно через tvtime например... Стоит отметить, что в винде при запуске устройства на борту Behold Columbus зажигается синяя лампочка.. В Linux такого не происходит, скорее всего дело в активации устройства в момент инициализации, как например это делается в том же коде для SAA7134_BOARD_CINERGY400_CARDBUS: Код: case SAA7134_BOARD_CINERGY400_CARDBUS:
/* power-up tuner chip */ saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x00040000, 0x00040000); saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00040000, 0x00000000); Только вот как это сделать для Columbus. Ктонибудь, чтонибудь знает про это? Или ктонибудь пробовал Columbus под Linux. -------------------------------- ядро 2.6.16 дистриб Fedora Core 5. |
Автор: | Maxim Savenko [ 14 апр 2006, 16:15 ] |
Заголовок сообщения: | "синяя лампочка" |
Нашел я на форуме две ссылки на сайт xbt: http://www.ixbt.com/monitor/behold-columbus.shtml http://www.ixbt.com/monitor/aver-cardbus-plus.shtml Посвященную собсно Colambus и очень похожей на нее карточки AVerTV Cardbus Plus. Она тоже как выяснилось должна активироваться, "включаться по питанию", в момент запуска модуля. в ядре для нее есть соответствующая строка, куда я и подвязал ранее определенный идентификатор карты Columbus: Код: case SAA7134_BOARD_AVERMEDIA_CARDBUS: case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: /* power-up tuner chip */ saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff); saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff); msleep(1); break; После запуска модуля карточка активировалась, и даже появился сигнал TV в tvtime. Однако печалит полное отсутствие звука... И ко всему прочему dmesg дает следующее: Код: saa7130/34: v4l2 driver version 0.2.14 loaded ACPI: PCI Interrupt 0000:03:00.0[A] -> Link [LNKF] -> GSI 10 (level, low) -> IRQ 10 saa7133[0]: found at 0000:03:00.0, rev: 240, irq: 10, latency: 64, mmio: 0x34000000 saa7133[0]: subsystem: 0000:5201, board: Beholder Columbus TVFM [card=85,autodetected] saa7133[0]: board init: gpio is effffff tuner 1-0060: Returned more than 5 bytes. It is not a TEA5767 tuner 1-0060: chip found @ 0xc0 (saa7133[0]) tuner 1-0060: type set to 12 (Alps TSBE5) tuner 1-0061: chip found @ 0xc2 (saa7133[0]) tda9887 1-0042: chip found @ 0x84 (saa7133[0]) saa7133[0]: i2c eeprom 00: 00 00 01 52 54 20 00 00 00 00 00 00 00 00 00 01 saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: registered device video0 [v4l2] saa7133[0]: registered device vbi0 saa7133[0]: registered device radio0 Из всего этого напрягает строка: Код: tuner 1-0060: Returned more than 5 bytes. It is not a TEA5767
Ранее отлично определяемый TEA5767, теперь уже не определился. Похоже что такое включение все же не совсем корректно.... Интересно, а у нашего глубокоуважаемого, производителя нельзя получить такую документацию на програмный интерфейс к этой карточке(порты IO, базовые адреса и пр.)? PS: Помогите сообществу Linux обзавестись информацией по програмным интерфейсам к вашей продукции, ведь это же и в Ваших интересах. |
Автор: | lza [ 04 июн 2006, 13:40 ] |
Заголовок сообщения: | Re: "синяя лампочка" |
Здравствкйте. Скажите, смогли вы разобраться со сзвуком и как? |
Автор: | DmitryL [ 20 янв 2007, 21:38 ] |
Заголовок сообщения: | |
Настройка ТV тюнера Behold TV Columbus PCMCIA. Чипсет SAA7135HL/101 ВЧ-модуль ALPS TSEZ1 FM-радио TEA5767 Этот тюнер практически аналог AverMedia Cardbus E500. Добавляем в modprobe.conf (статья http://www.linuxtv.org/v4lwiki/index.ph ... Plus_E501R) options saa7134 card=46 tuner=12 alsa=1 options tda9887 secam=d install saa7134 /sbin/modprobe tda9887; /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-alsa && /usr/sbin/alsactl restore >/dev/null 2>&1 || : remove saa7134-alsa { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove saa7134-alsa Используем следующую команду для просмотра TV: mplayer -vo xv -ao alsa -tv driver=v4l2:device=/dev/video0:width=720:height=576:normid=5:chanlist=russia:immediatemode=0:alsa:adevice=hw.1,0:audiorate=32000:input=1 tv://1 tv://1 - номер канала, normid=5 - SECAM, input=1 - номер выхода (composite, tv, s-video). PS: Иногда пропадает звук, надо вынуть и снова вставить карту. |
Автор: | Kriz [ 29 апр 2007, 20:50 ] |
Заголовок сообщения: | Проблема со звуком |
Спасибо, Дмитрий, огромное ![]() ![]() ![]() PS: Под Windows на PAL-60 картинка как-то смазывалась, починить так же не смог, тут всё Ок, очень рад) |
Автор: | elnone [ 21 июн 2008, 09:57 ] |
Заголовок сообщения: | |
Доброго всем времени суток! Использую gentoo с ядром 2.6.25-tuxonice-r4 на ноуте HP 530 Купил вчера сего зверька и ура запустился в tvtime, но без звука! Предложенное выше не проходит. pccard: CardBus card inserted into slot 0 yenta EnE: chaning testregister 0xC9, 04 -> 04 Linux video capture interface: v2.00 saa7130/34: v4l2 driver version 0.2.14 loaded PCI: Enabling device 0000:03:00.0 (0000 -> 0002) ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 18 (level, low) -> IRQ 18 saa7133[0]: found at 0000:03:00.0, rev: 209, irq: 18, latency: 0, mmio: 0x44000000 PCI: Setting latency timer of device 0000:03:00.0 to 64 saa7133[0]: subsystem: 0000:5201, board: Beholder BeholdTV Columbus TVFM [card=128,autodetected] saa7133[0]: board init: gpio is 8000 saa7133[0]: i2c eeprom 00: 00 00 01 52 54 20 00 00 00 00 00 00 00 00 00 01 saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff saa7133[0]: i2c eeprom f0: 42 54 56 30 35 30 30 ff ff ff ff ff ff ff ff ff tuner' 0-0042: chip found @ 0x84 (saa7133[0]) tda9887 0-0042: tda988[5/6/7] found Returned more than 5 bytes. It is not a TEA5767 tuner' 0-0060: chip found @ 0xc0 (saa7133[0]) tuner-simple 0-0060: type set to 12 (Alps TSBE5) tuner' 0-0061: chip found @ 0xc2 (saa7133[0]) saa7133[0]: registered device video0 [v4l2] saa7133[0]: registered device vbi0 saa7133[0]: registered device radio0 saa7134 ALSA driver for DMA sound loaded saa7133[0]/alsa: saa7133[0] at 0x44000000 irq 18 registered as card -1 lsmod | grep alsa saa7134_alsa 10048 0 saa7134 119380 1 saa7134_alsa videobuf_dma_sg 9604 2 saa7134_alsa,saa7134 snd_pcm 51332 3 snd_pcm_oss,saa7134_alsa,snd_hda_intel snd 39076 11 snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_seq_device,saa7134_alsa,snd_hda_intel,snd_pcm,snd_timer Как понял, прочитав эту статью http://www.pctuner.ru/forums-m-posts-q-3894.html звук не заработает? И вообще есть ли пользователи на линукс с этим устройством? |
Автор: | elnone [ 21 июн 2008, 10:22 ] |
Заголовок сообщения: | |
Ура Звук заработал Когда пересобрал sox и запустил sox -c 2 -s -w -r 32000 -t ossdsp /dev/dsp1 -t ossdsp -w -r 32000 /dev/dsp |
Автор: | elnone [ 21 июн 2008, 13:09 ] |
Заголовок сообщения: | |
А вот как поступить с радио? Как заставить его звучать? устовлена прога gnomeradio. |
Автор: | Linux [ 23 июн 2008, 15:19 ] |
Заголовок сообщения: | |
писал(а): А вот как поступить с радио? Как заставить его звучать?
Модуль ядра загружать с такими параметрами: modprobe saa7134 alsa=1 secam=d Для запуска радио использовать такой скрипт. Тюнер встает как третья карта в системе, первая обычная звуковая карта, второй у меня винмодем, третья тюнер. Если винмодема нет заменить hw:2,0 на hw:1,0 #!/bin/sh if [ -f /usr/bin/arecord ]; then arecord -q -D hw:2,0 -r 32000 -c 2 -f S16_LE | aplay -q - & fi if [ -f /usr/bin/gradio ]; then gradio -f 102.6 fi pid=`pidof arecord` if [ $pid ]; then kill -9 $pid fi |
Автор: | elnone [ 23 июн 2008, 17:26 ] |
Заголовок сообщения: | |
Почему то ничего не ловится и постоянные помехи... Хотя tvtime ловит супер и блекс ![]() А вот проблемы с пультом... Как заставить, чтобы появилось утройство /dev/input/eventX Какие должны быть mask_keycode и mask_keyup ? При выставленных этих значениях 0x001f00; и 0x004000; получается как будто кто-то жмет все веремя одну клавишу "~" case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: ir_codes = ir_codes_manli; mask_keycode = 0x001f00; mask_keyup = 0x004000; polling = 50; // ms break; } if (NULL == ir_codes) { printk("%s: Oops: IR config error [card=%d]\n", dev->name, dev->board); return -ENODEV; } Спасибо! |
Автор: | Linux [ 24 июн 2008, 02:28 ] |
Заголовок сообщения: | |
elnone, Однозначно старая версия ядра и модуля saa7134 в нем. Именно для колумбуса были большие исправления кода для работы пульта изначально он полностью не рабочий. В том же патче прошло исправления для радио, сейчас там неправильно задана частота кварца для чипа FM приемника. Все было исправлено и работает. Предлагаю обновиться. |
Автор: | elnone [ 24 июн 2008, 09:39 ] |
Заголовок сообщения: | |
Доброе утро! Обновиться до какой версии? в настоящий момент у меня стоит tuxonice-sources-2.6.25-r5 >>> Если в вашем дистррибутиве версия ядра выше 2.6.24rc6 то в основном поддержка тюнеров (кроме H6) уже есть - и ничего делать не надо. <<< Радио не работает, как понимаю, из-за "Returned more than 5 bytes. It is not a TEA5767" То есть в данном случае нужно откатиться или пропатчить - но чем? Конкретного ответа по данной проблеме в интернете не нашел (и на форуме тоже) Спасибо |
Автор: | elnone [ 24 июн 2008, 13:33 ] |
Заголовок сообщения: | |
Посмотреле еще раз патч http://www.igk.ru/linux/files/v4l/v4l2- ... -all.patch всес изменение +#if 0 /* Not working for TEA5767 in Beholder Columbus card */ /* It seems that tea5767 returns 0xff after the 5th byte */ if ((buffer[5] != 0xff) || (buffer[6] != 0xff)) { printk(KERN_WARNING "Returned more than 5 bytes. It is not a TEA5767\n"); return EINVAL; } +#endif Что именно дает эта запись? Теперь определяется в dmesg tea5767 0-0060: type set to Philips TEA5767HN FM Radio Но результат нулевой, не ловиться ни одна радио станция... BTW: gradio не скачать... и его вообще выкинули из репозитория gentoo/ |
Автор: | Linux [ 24 июн 2008, 13:43 ] |
Заголовок сообщения: | |
Эта запись это определение чипа FM радио. Патч был для нее, вот полный комплект патчей которые были сделаны 23 апреля. Полная поддержка пультов, радио и ТВ в тюнерах кроме H6. Большие исправления для колумбуса: diff -r 59987f33c150 linux/drivers/media/video/saa7134/saa7134-i2c.c --- a/linux/drivers/media/video/saa7134/saa7134-i2c.c Sat Apr 12 15:04:50 2008 +0000 +++ b/linux/drivers/media/video/saa7134/saa7134-i2c.c Wed Apr 23 14:21:08 2008 +1000 @@ -140,6 +140,8 @@ static inline int i2c_is_busy(enum i2c_s { switch (status) { case BUSY: + case TO_SCL: + case TO_ARB: return true; default: return false; Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d> diff -r 59987f33c150 linux/drivers/media/video/tea5767.c --- a/linux/drivers/media/video/tea5767.c Sat Apr 12 15:04:50 2008 +0000 +++ b/linux/drivers/media/video/tea5767.c Wed Apr 23 14:21:08 2008 +1000 @@ -400,11 +400,13 @@ int tea5767_autodetection(struct i2c_ada return EINVAL; } +#if 0 /* Not working for TEA5767 in Beholder Columbus card */ /* It seems that tea5767 returns 0xff after the 5th byte */ if ((buffer[5] != 0xff) || (buffer[6] != 0xff)) { printk(KERN_WARNING "Returned more than 5 bytes. It is not a TEA5767\n"); return EINVAL; } +#endif #if 0 /*Sometimes, this code doesn't work */ /* Sets tuner at some freq (87.5 MHz) and see if it is ok */ Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d> diff -r 59987f33c150 linux/drivers/media/common/ir-keymaps.c --- a/linux/drivers/media/common/ir-keymaps.c Sat Apr 12 15:04:50 2008 +0000 +++ b/linux/drivers/media/common/ir-keymaps.c Wed Apr 23 14:21:08 2008 +1000 @@ -2089,6 +2089,76 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB EXPORT_SYMBOL_GPL(ir_codes_behold); +/* Beholder Intl. Ltd. 2008 + * Dmitry Belimov d.belimov@google.com + * Keytable is used by BeholdTV Columbus + * The "ascii-art picture" below (in comments, first row + * is the keycode in hex, and subsequent row(s) shows + * the button labels (several variants when appropriate) + * helps to descide which keycodes to assign to the buttons. + */ +IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = { + + /* 0x13 0x11 0x1C 0x12 * + * Mute Source TV/FM Power * + * */ + + [0x13] = KEY_MUTE, + [0x11] = KEY_PROPS, + [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */ + [0x12] = KEY_POWER, + + /* 0x01 0x02 0x03 0x0D * + * 1 2 3 Stereo * + * * + * 0x04 0x05 0x06 0x19 * + * 4 5 6 Snapshot * + * * + * 0x07 0x08 0x09 0x10 * + * 7 8 9 Zoom * + * */ + [0x01] = KEY_1, + [0x02] = KEY_2, + [0x03] = KEY_3, + [0x0D] = KEY_SETUP, /* Setup key */ + [0x04] = KEY_4, + [0x05] = KEY_5, + [0x06] = KEY_6, + [0x19] = KEY_BOOKMARKS, /* Snapshot key */ + [0x07] = KEY_7, + [0x08] = KEY_8, + [0x09] = KEY_9, + [0x10] = KEY_ZOOM, + + /* 0x0A 0x00 0x0B 0x0C * + * RECALL 0 ChannelUp VolumeUp * + * */ + [0x0A] = KEY_AGAIN, + [0x00] = KEY_0, + [0x0B] = KEY_CHANNELUP, + [0x0C] = KEY_VOLUMEUP, + + /* 0x1B 0x1D 0x15 0x18 * + * Timeshift Record ChannelDown VolumeDown * + * */ + + [0x1B] = KEY_REWIND, + [0x1D] = KEY_RECORD, + [0x15] = KEY_CHANNELDOWN, + [0x18] = KEY_VOLUMEDOWN, + + /* 0x0E 0x1E 0x0F 0x1A * + * Stop Pause Previouse Next * + * */ + + [0x0E] = KEY_STOP, + [0x1E] = KEY_PAUSE, + [0x0F] = KEY_PREVIOUS, + [0x1A] = KEY_NEXT, + +}; +EXPORT_SYMBOL_GPL(ir_codes_behold_columbus); + /* * Remote control for the Genius TVGO A11MCE * Adrian Pardini <pardo> diff -r 59987f33c150 linux/drivers/media/video/saa7134/saa7134-cards.c --- a/linux/drivers/media/video/saa7134/saa7134-cards.c Sat Apr 12 15:04:50 2008 +0000 +++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Wed Apr 23 14:21:08 2008 +1000 @@ -30,6 +30,7 @@ #include "tuner-xc2028.h" #include <media> #include <media> +#include "tea5767.h" /* commly used strings */ static char name_mute[] = "mute"; @@ -1049,7 +1050,7 @@ struct saa7134_board saa7134_boards[] = }, [SAA7134_BOARD_MANLI_MTV002] = { /* Ognjen Nastic <ognjen> */ - .name = "Manli MuchTV M-TV002/Behold TV 403 FM", + .name = "Manli MuchTV M-TV002", .audio_clock = 0x00200000, .tuner_type = TUNER_PHILIPS_PAL, .radio_type = UNSET, @@ -1076,7 +1077,7 @@ struct saa7134_board saa7134_boards[] = }, [SAA7134_BOARD_MANLI_MTV001] = { /* Ognjen Nastic <ognjen> UNTESTED */ - .name = "Manli MuchTV M-TV001/Behold TV 401", + .name = "Manli MuchTV M-TV001", .audio_clock = 0x00200000, .tuner_type = TUNER_PHILIPS_PAL, .radio_type = UNSET, @@ -2198,6 +2199,8 @@ struct saa7134_board saa7134_boards[] = }, [SAA7134_BOARD_BEHOLD_409FM] = { /* <http>, Sergey <skiv> */ + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 409 FM", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, @@ -2205,6 +2208,7 @@ struct saa7134_board saa7134_boards[] = .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .tda9887_conf = TDA9887_PRESENT, + .gpiomask = 0x00008000, .inputs = {{ .name = name_tv, .vmux = 3, @@ -3615,12 +3619,15 @@ struct saa7134_board saa7134_boards[] = }}, }, [SAA7134_BOARD_BEHOLD_401] = { + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 401", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FQ1216ME, .radio_type = UNSET, .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, + .gpiomask = 0x00008000, .inputs = {{ .name = name_svideo, .vmux = 8, @@ -3641,12 +3648,15 @@ struct saa7134_board saa7134_boards[] = }, }, [SAA7134_BOARD_BEHOLD_403] = { + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 403", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FQ1216ME, .radio_type = UNSET, .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, + .gpiomask = 0x00008000, .inputs = {{ .name = name_svideo, .vmux = 8, @@ -3663,12 +3673,15 @@ struct saa7134_board saa7134_boards[] = }}, }, [SAA7134_BOARD_BEHOLD_403FM] = { + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 403 FM", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FQ1216ME, .radio_type = UNSET, .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, + .gpiomask = 0x00008000, .inputs = {{ .name = name_svideo, .vmux = 8, @@ -3689,6 +3702,8 @@ struct saa7134_board saa7134_boards[] = }, }, [SAA7134_BOARD_BEHOLD_405] = { + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 405", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, @@ -3696,6 +3711,7 @@ struct saa7134_board saa7134_boards[] = .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .tda9887_conf = TDA9887_PRESENT, + .gpiomask = 0x00008000, .inputs = {{ .name = name_svideo, .vmux = 8, @@ -3713,6 +3729,8 @@ struct saa7134_board saa7134_boards[] = }, [SAA7134_BOARD_BEHOLD_405FM] = { /* Sergey <skiv> */ + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 405 FM", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, @@ -3720,6 +3738,7 @@ struct saa7134_board saa7134_boards[] = .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .tda9887_conf = TDA9887_PRESENT, + .gpiomask = 0x00008000, .inputs = {{ .name = name_svideo, .vmux = 8, @@ -3740,6 +3759,8 @@ struct saa7134_board saa7134_boards[] = }, }, [SAA7134_BOARD_BEHOLD_407] = { + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 407", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, @@ -3747,7 +3768,7 @@ struct saa7134_board saa7134_boards[] = .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .tda9887_conf = TDA9887_PRESENT, - .gpiomask = 0xc0c000, + .gpiomask = 0x00008000, .inputs = {{ .name = name_svideo, .vmux = 8, @@ -3767,6 +3788,8 @@ struct saa7134_board saa7134_boards[] = }}, }, [SAA7134_BOARD_BEHOLD_407FM] = { + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 407 FM", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, @@ -3774,7 +3797,7 @@ struct saa7134_board saa7134_boards[] = .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .tda9887_conf = TDA9887_PRESENT, - .gpiomask = 0xc0c000, + .gpiomask = 0x00008000, .inputs = {{ .name = name_svideo, .vmux = 8, @@ -3799,6 +3822,8 @@ struct saa7134_board saa7134_boards[] = }, }, [SAA7134_BOARD_BEHOLD_409] = { + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 409", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, @@ -3806,6 +3831,7 @@ struct saa7134_board saa7134_boards[] = .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .tda9887_conf = TDA9887_PRESENT, + .gpiomask = 0x00008000, .inputs = {{ .name = name_tv, .vmux = 3, @@ -3822,6 +3848,8 @@ struct saa7134_board saa7134_boards[] = }}, }, [SAA7134_BOARD_BEHOLD_505FM] = { + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 505 FM/RDS", .audio_clock = 0x00200000, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, @@ -3829,6 +3857,7 @@ struct saa7134_board saa7134_boards[] = .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .tda9887_conf = TDA9887_PRESENT, + .gpiomask = 0x00008000, .inputs = {{ .name = name_tv, .vmux = 3, @@ -3853,6 +3882,8 @@ struct saa7134_board saa7134_boards[] = }, }, [SAA7134_BOARD_BEHOLD_507_9FM] = { + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV 507 FM/RDS / BeholdTV 509 FM", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, @@ -3860,6 +3891,7 @@ struct saa7134_board saa7134_boards[] = .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .tda9887_conf = TDA9887_PRESENT, + .gpiomask = 0x00008000, .inputs = {{ .name = name_tv, .vmux = 3, @@ -3880,6 +3912,8 @@ struct saa7134_board saa7134_boards[] = }, }, [SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM] = { + /* Beholder Intl. Ltd. 2008 */ + /*Dmitry Belimov <d> */ .name = "Beholder BeholdTV Columbus TVFM", .audio_clock = 0x00187de7, .tuner_type = TUNER_ALPS_TSBE5_PAL, @@ -3887,23 +3921,28 @@ struct saa7134_board saa7134_boards[] = .tuner_addr = ADDR_UNSET, .radio_addr = ADDR_UNSET, .tda9887_conf = TDA9887_PRESENT, - .inputs = {{ - .name = name_tv, - .vmux = 3, - .amux = TV, - .tv = 1, - },{ - .name = name_comp1, - .vmux = 1, - .amux = LINE1, - },{ - .name = name_svideo, - .vmux = 8, - .amux = LINE1, - }}, - .radio = { - .name = name_radio, - .amux = LINE2, + .gpiomask = 0x000A8004, + .inputs = {{ + .name = name_tv, + .vmux = 3, + .amux = TV, + .tv = 1, + .gpio = 0x000A8004, + }, { + .name = name_comp1, + .vmux = 1, + .amux = LINE1, + .gpio = 0x000A8000, + }, { + .name = name_svideo, + .vmux = 8, + .amux = LINE1, + .gpio = 0x000A8000, + } }, + .radio = { + .name = name_radio, + .amux = LINE2, + .gpio = 0x000A8000, }, }, [SAA7134_BOARD_BEHOLD_607_9FM] = { @@ -5574,7 +5613,6 @@ int saa7134_board_init1(struct saa7134_d case SAA7134_BOARD_AVERMEDIA_CARDBUS: case SAA7134_BOARD_AVERMEDIA_CARDBUS_506: case SAA7134_BOARD_AVERMEDIA_M115: - case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: case SAA7134_BOARD_AVERMEDIA_A16D: #if 1 /* power-down tuner chip */ @@ -5586,6 +5624,20 @@ int saa7134_board_init1(struct saa7134_d saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff); saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff); msleep(10); + break; + case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: +#if 1 + /* power-down tuner chip */ + saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x000A8004, 0x000A8004); + saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x000A8004, 0); +#endif + msleep(10); + /* power-up tuner chip */ + saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x000A8004, 0x000A8004); + saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x000A8004, 0x000A8004); + msleep(10); + /* remote via GPIO */ + dev->has_remote = SAA7134_REMOTE_GPIO; break; case SAA7134_BOARD_RTD_VFG7350: @@ -5875,6 +5927,20 @@ int saa7134_board_init2(struct saa7134_d break; } break; + case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: + { + struct v4l2_priv_tun_config tea5767_cfg; + struct tea5767_ctrl ctl; + + dev->i2c_client.addr = 0xC0; + /* set TEA5767(analog FM) defines */ + memset(&ctl, 0, sizeof(ctl)); + ctl.xtal_freq = TEA5767_HIGH_LO_13MHz; + tea5767_cfg.tuner = TUNER_TEA5767; + tea5767_cfg.priv = &ctl; + saa7134_i2c_call_clients(dev, TUNER_SET_CONFIG, &tea5767_cfg); + } + break; } if (dev->tuner_type == TUNER_XC2028) { diff -r 59987f33c150 linux/drivers/media/video/saa7134/saa7134-input.c --- a/linux/drivers/media/video/saa7134/saa7134-input.c Sat Apr 12 15:04:50 2008 +0000 +++ b/linux/drivers/media/video/saa7134/saa7134-input.c Wed Apr 23 14:21:08 2008 +1000 @@ -331,6 +331,11 @@ int saa7134_input_init1(struct saa7134_d break; case SAA7134_BOARD_MANLI_MTV001: case SAA7134_BOARD_MANLI_MTV002: + ir_codes = ir_codes_manli; + mask_keycode = 0x001f00; + mask_keyup = 0x004000; + polling = 50; /* ms */ + break; case SAA7134_BOARD_BEHOLD_409FM: case SAA7134_BOARD_BEHOLD_401: case SAA7134_BOARD_BEHOLD_403: @@ -343,7 +348,13 @@ int saa7134_input_init1(struct saa7134_d case SAA7134_BOARD_BEHOLD_505FM: case SAA7134_BOARD_BEHOLD_507_9FM: ir_codes = ir_codes_manli; - mask_keycode = 0x001f00; + mask_keycode = 0x003f00; + mask_keyup = 0x004000; + polling = 50; /* ms */ + break; + case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM: + ir_codes = ir_codes_behold_columbus; + mask_keycode = 0x003f00; mask_keyup = 0x004000; polling = 50; // ms break; diff -r 59987f33c150 linux/include/media/ir-common.h --- a/linux/include/media/ir-common.h Sat Apr 12 15:04:50 2008 +0000 +++ b/linux/include/media/ir-common.h Wed Apr 23 14:21:08 2008 +1000 @@ -142,6 +142,7 @@ extern IR_KEYTAB_TYPE ir_codes_tt_1500[I extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE]; extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE]; extern IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE]; +extern IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE]; extern IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE]; extern IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE]; extern IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE]; Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d> Все эти изменения в том патче таки есть, специально проверил. После его применения при установке карты в слот появится новой устройство /dev/input/eventX с которого пойдут данные от пульта. |
Автор: | elnone [ 24 июн 2008, 15:46 ] |
Заголовок сообщения: | |
Взял ядро tuxonice-sources-2.6.24-r9 Наложил выше указанны патч, cd /usr/src/linux/ patch -p1 v4l...patch лег без сучка ![]() Заработал пульт!!! по ТВ поймать без кабеля ничего не получилось, буду дома с кабелем стараться... А вот радио стало г*вниться Получаю следующую запись tda9887: ... i2c i/o error: rc == -5 (should be 4) Что бы это могло бы значить? |
Страница 1 из 5 | Часовой пояс: UTC + 3 часа |