public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Huang Shijie <shijie8@gmail.com>
Cc: linux-media@vger.kernel.org, zyziii@telegent.com, tiwai@suse.de
Subject: Re: [PATCH v2 00/10] add linux driver for chip TLG2300
Date: Tue, 02 Feb 2010 10:17:42 -0200	[thread overview]
Message-ID: <4B6817E6.4070709@redhat.com> (raw)
In-Reply-To: <1265094475-13059-1-git-send-email-shijie8@gmail.com>

Huang Shijie wrote:
> The TLG2300 is a chip of Telegent System.
> It support analog tv,DVB-T and radio in a single chip.
> The chip has been used in several dongles, such as aeromax DH-9000:
> 	http://www.b2bdvb.com/dh-9000.htm
> 
> You can get more info from:
> 	[1] http://www.telegent.com/
> 	[2] http://www.telegent.com/press/2009Sept14_CSI.html
> 
> The driver is based Mauro's subtree(2.6.33-rc4).	
> 	
> about country code:
> 	The country code is needed for firmware, so I can not remove it.
> 	If I remove it, the audio will not work properly.

I'm assuming that you're referring to the analog part, right? 

Instead of a country code, the driver should use the V4L2_STD_ macros to
determine the audio standard. Please take a look at saa7134-tvaudio code. It has
an interesting logic to associate the V4L2_STD with the corresponding audio settings:

For example, the audio carrier frequency and the audio standard are at tvaudio array:

static struct saa7134_tvaudio tvaudio[] = {
        {
                .name          = "PAL-B/G FM-stereo",
                .std           = V4L2_STD_PAL_BG,
                .mode          = TVAUDIO_FM_BG_STEREO,
                .carr1         = 5500,
                .carr2         = 5742,
        },{
                .name          = "PAL-D/K1 FM-stereo",
                .std           = V4L2_STD_PAL_DK,
                .carr1         = 6500,
                .carr2         = 6258,
                .mode          = TVAUDIO_FM_BG_STEREO,
        },{
                .name          = "PAL-D/K2 FM-stereo",
                .std           = V4L2_STD_PAL_DK,
                .carr1         = 6500,
                .carr2         = 6742,
                .mode          = TVAUDIO_FM_BG_STEREO,
        },{
                .name          = "PAL-D/K3 FM-stereo",
                .std           = V4L2_STD_PAL_DK,
                .carr1         = 6500,
                .carr2         = 5742,
                .mode          = TVAUDIO_FM_BG_STEREO,
        },{
                .name          = "PAL-B/G NICAM",
                .std           = V4L2_STD_PAL_BG,
                .carr1         = 5500,
                .carr2         = 5850,
                .mode          = TVAUDIO_NICAM_FM,
        },{
                .name          = "PAL-I NICAM",
                .std           = V4L2_STD_PAL_I,
                .carr1         = 6000,
                .carr2         = 6552,
                .mode          = TVAUDIO_NICAM_FM,
        },{
                .name          = "PAL-D/K NICAM",
                .std           = V4L2_STD_PAL_DK,
                .carr1         = 6500,
                .carr2         = 5850,
                .mode          = TVAUDIO_NICAM_FM,
        },{
                .name          = "SECAM-L NICAM",
                .std           = V4L2_STD_SECAM_L,
                .carr1         = 6500,
                .carr2         = 5850,
                .mode          = TVAUDIO_NICAM_AM,
        },{
...
}

Btw, probably the most complicated device, in terms of firmware, is the xc3028. It has one
different firmware for each different combination of standard. There are 80 different firmwares
at the version 3.6. Each time a firmware changes, a reset via GPIO should be sent to the device.

The tuner-xc3028 has a logic that re-loads the firmware if the standard changes, and the 
new standard is not supported by the current firmware. So, it may help if you also take a
look at tuner-xc2028.

-- 

Cheers,
Mauro

  parent reply	other threads:[~2010-02-02 12:17 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-02  7:07 [PATCH v2 00/10] add linux driver for chip TLG2300 Huang Shijie
2010-02-02  7:07 ` [PATCH v2 01/10] add header files for tlg2300 Huang Shijie
2010-02-02  7:07   ` [PATCH v2 02/10] add the generic file Huang Shijie
2010-02-02  7:07     ` [PATCH v2 03/10] add video/vbi file for tlg2300 Huang Shijie
2010-02-02  7:07       ` [PATCH v2 04/10] add DVB-T support " Huang Shijie
2010-02-02  7:07         ` [PATCH v2 05/10] add FM " Huang Shijie
2010-02-02  7:07           ` [PATCH v2 06/10] add audio " Huang Shijie
2010-02-02  7:07             ` [PATCH v2 07/10] add document file " Huang Shijie
2010-02-02  7:07               ` [PATCH v2 08/10] add Kconfig and Makefile " Huang Shijie
2010-02-02  7:07                 ` [PATCH v2 09/10] modify the " Huang Shijie
2010-02-02 12:17 ` Mauro Carvalho Chehab [this message]
2010-02-03  6:20   ` [PATCH v2 00/10] add linux driver for chip TLG2300 Huang Shijie
2010-02-03  7:29     ` Mauro Carvalho Chehab
2010-02-03  8:40       ` Huang Shijie
2010-02-03  8:59         ` Mauro Carvalho Chehab
2010-02-03  9:14           ` Huang Shijie
2010-02-04  9:06           ` Huang Shijie
2010-02-04 12:19             ` Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B6817E6.4070709@redhat.com \
    --to=mchehab@redhat.com \
    --cc=linux-media@vger.kernel.org \
    --cc=shijie8@gmail.com \
    --cc=tiwai@suse.de \
    --cc=zyziii@telegent.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox