summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrik Sikken <bertrik@sikken.nl>2010-07-26 20:15:16 +0000
committerBertrik Sikken <bertrik@sikken.nl>2010-07-26 20:15:16 +0000
commitadc472bec522e5b8bd34302cb3267cfb9a12d12c (patch)
tree394ca78314cb2ece1fd5412f8870868e608be813
parent6087d8960328b427f495d46d74664a4b0e32af17 (diff)
downloadrockbox-adc472bec522e5b8bd34302cb3267cfb9a12d12c.tar.gz
rockbox-adc472bec522e5b8bd34302cb3267cfb9a12d12c.zip
FM tuner region code cleanup - FS #11492 by me.
This removes the tuner-specific region structs and makes each driver use the common one (which is now extended with a deemphasis field) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27579 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/tuner/ipod_remote_tuner.c17
-rw-r--r--firmware/drivers/tuner/lv24020lp.c5
-rw-r--r--firmware/drivers/tuner/rda5802.c25
-rw-r--r--firmware/drivers/tuner/si4700.c15
-rw-r--r--firmware/drivers/tuner/tea5760uk.c9
-rw-r--r--firmware/drivers/tuner/tea5767.c9
-rw-r--r--firmware/export/ipod_remote_tuner.h13
-rw-r--r--firmware/export/lv24020lp.h2
-rw-r--r--firmware/export/rda5802.h8
-rw-r--r--firmware/export/si4700.h9
-rw-r--r--firmware/export/tea5760.h8
-rw-r--r--firmware/export/tea5767.h8
-rw-r--r--firmware/export/tuner.h1
-rw-r--r--firmware/tuner.c88
14 files changed, 54 insertions, 163 deletions
diff --git a/firmware/drivers/tuner/ipod_remote_tuner.c b/firmware/drivers/tuner/ipod_remote_tuner.c
index 25ad2d9845..52d93b8b34 100644
--- a/firmware/drivers/tuner/ipod_remote_tuner.c
+++ b/firmware/drivers/tuner/ipod_remote_tuner.c
@@ -177,8 +177,9 @@ void rmt_tuner_region(int region)
177{ 177{
178 if (region != old_region) 178 if (region != old_region)
179 { 179 {
180 const struct fm_region_data *rd = &fm_region_data[region];
180 unsigned char data[] = {0x07, 0x08, 0x00}; 181 unsigned char data[] = {0x07, 0x08, 0x00};
181 if (region == 2) 182 if (rd->freq_min == 76000000)
182 { 183 {
183 data[2] = 0x02; /* japan band */ 184 data[2] = 0x02; /* japan band */
184 } 185 }
@@ -378,12 +379,14 @@ int ipod_rmt_tuner_set(int setting, int value)
378 379
379 case RADIO_REGION: 380 case RADIO_REGION:
380 { 381 {
381 const struct rmt_tuner_region_data *rd = 382 const struct fm_region_data *rd = &fm_region_data[value];
382 &rmt_tuner_region_data[value]; 383 int band = (rd->freq_min == 76000000) ? 2 : 0;
383 384 int spacing = (100000 / rd->freq_step);
384 rmt_tuner_region(rd->band); 385 int deemphasis = (rd->deemphasis == 50) ? 1 : 0;
385 set_deltafreq(rd->spacing); 386
386 set_deemphasis(rd->deemphasis); 387 rmt_tuner_region(band);
388 set_deltafreq(spacing);
389 set_deemphasis(deemphasis);
387 rmt_tuner_set_param(tuner_param); 390 rmt_tuner_set_param(tuner_param);
388 break; 391 break;
389 } 392 }
diff --git a/firmware/drivers/tuner/lv24020lp.c b/firmware/drivers/tuner/lv24020lp.c
index 86f8c39593..0228888309 100644
--- a/firmware/drivers/tuner/lv24020lp.c
+++ b/firmware/drivers/tuner/lv24020lp.c
@@ -938,11 +938,14 @@ int lv24020lp_set(int setting, int value)
938 break; 938 break;
939 939
940 case RADIO_REGION: 940 case RADIO_REGION:
941 if (lv24020lp_region_data[value]) 941 {
942 const struct fm_region_data *rd = &fm_region_data[value];
943 if (rd->deemphasis == 75)
942 lv24020lp_write_set(AUDIO_CTRL2, DEEMP); 944 lv24020lp_write_set(AUDIO_CTRL2, DEEMP);
943 else 945 else
944 lv24020lp_write_clear(AUDIO_CTRL2, DEEMP); 946 lv24020lp_write_clear(AUDIO_CTRL2, DEEMP);
945 break; 947 break;
948 }
946 949
947 case RADIO_FORCE_MONO: 950 case RADIO_FORCE_MONO:
948 if (value) 951 if (value)
diff --git a/firmware/drivers/tuner/rda5802.c b/firmware/drivers/tuner/rda5802.c
index a505b6b382..8c78a9f243 100644
--- a/firmware/drivers/tuner/rda5802.c
+++ b/firmware/drivers/tuner/rda5802.c
@@ -59,16 +59,16 @@
59#define CHANNEL_BAND (0x3 << 2) 59#define CHANNEL_BAND (0x3 << 2)
60 #define CHANNEL_BANDw(x) (((x) << 2) & CHANNEL_BAND) 60 #define CHANNEL_BANDw(x) (((x) << 2) & CHANNEL_BAND)
61 #define CHANNEL_BANDr(x) (((x) & CHANNEL_BAND) >> 2) 61 #define CHANNEL_BANDr(x) (((x) & CHANNEL_BAND) >> 2)
62 #define CHANNEL_BAND_875_1080 (0x0 << 2) /* tenth-megahertz */ 62 #define CHANNEL_BAND_870_1080 (0x0) /* tenth-megahertz */
63 #define CHANNEL_BAND_760_1080 (0x1 << 2) 63 #define CHANNEL_BAND_760_1080 (0x1)
64 #define CHANNEL_BAND_760_900 (0x2 << 2) 64 #define CHANNEL_BAND_760_900 (0x2)
65 #define CHANNEL_BAND_650_760 (0x3 << 2) 65 #define CHANNEL_BAND_650_760 (0x3)
66#define CHANNEL_SPACE (0x3 << 0) 66#define CHANNEL_SPACE (0x3 << 0)
67 #define CHANNEL_SPACEw(x) (((x) << 0) & CHANNEL_SPACE) 67 #define CHANNEL_SPACEw(x) (((x) << 0) & CHANNEL_SPACE)
68 #define CHANNEL_SPACEr(x) (((x) & CHANNEL_SPACE) >> 0) 68 #define CHANNEL_SPACEr(x) (((x) & CHANNEL_SPACE) >> 0)
69 #define CHANNEL_SPACE_100KHZ (0x0 << 0) 69 #define CHANNEL_SPACE_100KHZ (0x0)
70 #define CHANNEL_SPACE_200KHZ (0x1 << 0) 70 #define CHANNEL_SPACE_200KHZ (0x1)
71 #define CHANNEL_SPACE_50KHZ (0x2 << 0) 71 #define CHANNEL_SPACE_50KHZ (0x2)
72 72
73/* SYSCONFIG1 (0x4) */ 73/* SYSCONFIG1 (0x4) */
74#define SYSCONFIG1_DE (0x1 << 11) 74#define SYSCONFIG1_DE (0x1 << 11)
@@ -239,13 +239,16 @@ static int rda5802_tuned(void)
239 239
240static void rda5802_set_region(int region) 240static void rda5802_set_region(int region)
241{ 241{
242 const struct rda5802_region_data *rd = &rda5802_region_data[region]; 242 const struct fm_region_data *rd = &fm_region_data[region];
243 uint16_t bandspacing = CHANNEL_BANDw(rd->band) | 243 int band = (rd->freq_min == 76000000) ?
244 CHANNEL_BAND_760_900 : CHANNEL_BAND_870_1080;
245 int deemphasis = (rd->deemphasis == 50) ? SYSCONFIG1_DE : 0;
246
247 uint16_t bandspacing = CHANNEL_BANDw(band) |
244 CHANNEL_SPACEw(CHANNEL_SPACE_50KHZ); 248 CHANNEL_SPACEw(CHANNEL_SPACE_50KHZ);
245 uint16_t oldbs = cache[CHANNEL] & (CHANNEL_BAND | CHANNEL_SPACE); 249 uint16_t oldbs = cache[CHANNEL] & (CHANNEL_BAND | CHANNEL_SPACE);
246 250
247 rda5802_write_masked(SYSCONFIG1, rd->deemphasis ? SYSCONFIG1_DE : 0, 251 rda5802_write_masked(SYSCONFIG1, deemphasis, SYSCONFIG1_DE);
248 SYSCONFIG1_DE);
249 rda5802_write_masked(CHANNEL, bandspacing, CHANNEL_BAND | CHANNEL_SPACE); 252 rda5802_write_masked(CHANNEL, bandspacing, CHANNEL_BAND | CHANNEL_SPACE);
250 rda5802_write_cache(); 253 rda5802_write_cache();
251 254
diff --git a/firmware/drivers/tuner/si4700.c b/firmware/drivers/tuner/si4700.c
index f9b26be6f8..ea88dc9835 100644
--- a/firmware/drivers/tuner/si4700.c
+++ b/firmware/drivers/tuner/si4700.c
@@ -400,14 +400,17 @@ static int si4700_tuned(void)
400 400
401static void si4700_set_region(int region) 401static void si4700_set_region(int region)
402{ 402{
403 const struct si4700_region_data *rd = &si4700_region_data[region]; 403 const struct fm_region_data *rd = &fm_region_data[region];
404 uint16_t bandspacing = SYSCONFIG2_BANDw(rd->band) | 404
405 SYSCONFIG2_SPACEw(rd->spacing); 405 int band = (rd->freq_min == 76000000) ? 2 : 0;
406 int spacing = (100000 / rd->freq_step);
407 int deemphasis = (rd->deemphasis == 50) ? SYSCONFIG1_DE : 0;
408
409 uint16_t bandspacing = SYSCONFIG2_BANDw(band) |
410 SYSCONFIG2_SPACEw(spacing);
406 uint16_t oldbs = cache[SYSCONFIG2] & (SYSCONFIG2_BAND | SYSCONFIG2_SPACE); 411 uint16_t oldbs = cache[SYSCONFIG2] & (SYSCONFIG2_BAND | SYSCONFIG2_SPACE);
407 412
408 si4700_write_masked(SYSCONFIG1, 413 si4700_write_masked(SYSCONFIG1, deemphasis, SYSCONFIG1_DE);
409 rd->deemphasis ? SYSCONFIG1_DE : 0,
410 SYSCONFIG1_DE);
411 si4700_write_masked(SYSCONFIG2, bandspacing, 414 si4700_write_masked(SYSCONFIG2, bandspacing,
412 SYSCONFIG2_BAND | SYSCONFIG2_SPACE); 415 SYSCONFIG2_BAND | SYSCONFIG2_SPACE);
413 416
diff --git a/firmware/drivers/tuner/tea5760uk.c b/firmware/drivers/tuner/tea5760uk.c
index db07e20cf4..20234e28ed 100644
--- a/firmware/drivers/tuner/tea5760uk.c
+++ b/firmware/drivers/tuner/tea5760uk.c
@@ -91,11 +91,12 @@ int tea5760_set(int setting, int value)
91 91
92 case RADIO_REGION: 92 case RADIO_REGION:
93 { 93 {
94 const struct tea5760_region_data *rd = 94 const struct fm_region_data *rd = &fm_region_data[value];
95 &tea5760_region_data[value]; 95 int band = (rd->freq_min == 76000000) ? 1 : 0;
96 int deemphasis = (rd->deemphasis == 50) ? 1 : 0;
96 97
97 tea5760_set_clear(4, (1<<1), rd->deemphasis); 98 tea5760_set_clear(3, (1<<5), band);
98 tea5760_set_clear(3, (1<<5), rd->band); 99 tea5760_set_clear(4, (1<<1), deemphasis);
99 } 100 }
100 break; 101 break;
101 102
diff --git a/firmware/drivers/tuner/tea5767.c b/firmware/drivers/tuner/tea5767.c
index 5888e00781..b16bb4b7c5 100644
--- a/firmware/drivers/tuner/tea5767.c
+++ b/firmware/drivers/tuner/tea5767.c
@@ -86,11 +86,12 @@ int tea5767_set(int setting, int value)
86 86
87 case RADIO_REGION: 87 case RADIO_REGION:
88 { 88 {
89 const struct tea5767_region_data *rd = 89 const struct fm_region_data *rd = &fm_region_data[value];
90 &tea5767_region_data[value]; 90 int deemphasis = (rd->deemphasis == 75) ? 1 : 0;
91 int band = (rd->freq_min == 76000000) ? 1 : 0;
91 92
92 tea5767_set_clear(4, (1<<6), rd->deemphasis); 93 tea5767_set_clear(4, (1<<6), deemphasis);
93 tea5767_set_clear(3, (1<<5), rd->band); 94 tea5767_set_clear(3, (1<<5), band);
94 break; 95 break;
95 } 96 }
96 case RADIO_FORCE_MONO: 97 case RADIO_FORCE_MONO:
diff --git a/firmware/export/ipod_remote_tuner.h b/firmware/export/ipod_remote_tuner.h
index 28fcfe1e93..2c866ad3d2 100644
--- a/firmware/export/ipod_remote_tuner.h
+++ b/firmware/export/ipod_remote_tuner.h
@@ -48,19 +48,6 @@ extern void rmt_tuner_signal_power(unsigned char value);
48 48
49extern void rmt_tuner_rds_data(void); 49extern void rmt_tuner_rds_data(void);
50 50
51struct rmt_tuner_region_data
52{
53 /* 0: 50us, 1: 75us */
54 unsigned char deemphasis;
55 /* 0: europe, 1: japan (BL in TEA spec)*/
56 unsigned char band;
57 /* 0: us/australia (200kHz), 1: europe/japan (100kHz), 2: (50kHz) */
58 unsigned char spacing;
59} __attribute__((packed));
60
61extern const struct rmt_tuner_region_data
62 rmt_tuner_region_data[TUNER_NUM_REGIONS];
63
64int ipod_rmt_tuner_set(int setting, int value); 51int ipod_rmt_tuner_set(int setting, int value);
65int ipod_rmt_tuner_get(int setting); 52int ipod_rmt_tuner_get(int setting);
66char* ipod_get_rds_info(int setting); 53char* ipod_get_rds_info(int setting);
diff --git a/firmware/export/lv24020lp.h b/firmware/export/lv24020lp.h
index 16a8856a3f..753949f361 100644
--- a/firmware/export/lv24020lp.h
+++ b/firmware/export/lv24020lp.h
@@ -37,8 +37,6 @@
37#define LV24020LP_DEBUG_FIRST LV24020LP_CTRL_STAT 37#define LV24020LP_DEBUG_FIRST LV24020LP_CTRL_STAT
38#define LV24020LP_DEBUG_LAST LV24020LP_SD_SET 38#define LV24020LP_DEBUG_LAST LV24020LP_SD_SET
39 39
40const unsigned char lv24020lp_region_data[TUNER_NUM_REGIONS];
41
42int lv24020lp_set(int setting, int value); 40int lv24020lp_set(int setting, int value);
43int lv24020lp_get(int setting); 41int lv24020lp_get(int setting);
44void lv24020lp_power(bool status); 42void lv24020lp_power(bool status);
diff --git a/firmware/export/rda5802.h b/firmware/export/rda5802.h
index e61ecb40ae..87707966fd 100644
--- a/firmware/export/rda5802.h
+++ b/firmware/export/rda5802.h
@@ -27,14 +27,6 @@
27 27
28#define HAVE_RADIO_REGION 28#define HAVE_RADIO_REGION
29 29
30struct rda5802_region_data
31{
32 unsigned char deemphasis; /* 0: 75us, 1: 50us */
33 unsigned char band; /* 0: us/europe, 1: japan */
34} __attribute__((packed));
35
36extern const struct rda5802_region_data rda5802_region_data[TUNER_NUM_REGIONS];
37
38struct rda5802_dbg_info 30struct rda5802_dbg_info
39{ 31{
40 uint16_t regs[16]; /* Read registers */ 32 uint16_t regs[16]; /* Read registers */
diff --git a/firmware/export/si4700.h b/firmware/export/si4700.h
index d6c4e73b6e..c4aff6ff30 100644
--- a/firmware/export/si4700.h
+++ b/firmware/export/si4700.h
@@ -27,15 +27,6 @@
27 27
28#define HAVE_RADIO_REGION 28#define HAVE_RADIO_REGION
29 29
30struct si4700_region_data
31{
32 unsigned char deemphasis; /* 0: 75us, 1: 50us */
33 unsigned char band; /* 0: us/europe, 1: japan */
34 unsigned char spacing; /* 0: us/australia (200kHz), 1: europe/japan (100kHz), 2: (50kHz) */
35} __attribute__((packed));
36
37extern const struct si4700_region_data si4700_region_data[TUNER_NUM_REGIONS];
38
39struct si4700_dbg_info 30struct si4700_dbg_info
40{ 31{
41 uint16_t regs[16]; /* Read registers */ 32 uint16_t regs[16]; /* Read registers */
diff --git a/firmware/export/tea5760.h b/firmware/export/tea5760.h
index 8fa54dfa78..ea857dec3e 100644
--- a/firmware/export/tea5760.h
+++ b/firmware/export/tea5760.h
@@ -28,14 +28,6 @@
28 28
29#define HAVE_RADIO_REGION 29#define HAVE_RADIO_REGION
30 30
31struct tea5760_region_data
32{
33 unsigned char deemphasis; /* 1: 50us, 0: 75us */
34 unsigned char band; /* 0: europe, 1: japan (BL in TEA spec)*/
35} __attribute__((packed));
36
37extern const struct tea5760_region_data tea5760_region_data[TUNER_NUM_REGIONS];
38
39struct tea5760_dbg_info 31struct tea5760_dbg_info
40{ 32{
41 unsigned char read_regs[16]; 33 unsigned char read_regs[16];
diff --git a/firmware/export/tea5767.h b/firmware/export/tea5767.h
index dceb0f4168..eee469d1ea 100644
--- a/firmware/export/tea5767.h
+++ b/firmware/export/tea5767.h
@@ -26,14 +26,6 @@
26#define HAVE_RADIO_REGION 26#define HAVE_RADIO_REGION
27#define HAVE_RADIO_MUTE_TIMEOUT 27#define HAVE_RADIO_MUTE_TIMEOUT
28 28
29struct tea5767_region_data
30{
31 unsigned char deemphasis; /* 0: 50us, 1: 75us */
32 unsigned char band; /* 0: europe, 1: japan (BL in TEA spec)*/
33} __attribute__((packed));
34
35extern const struct tea5767_region_data tea5767_region_data[TUNER_NUM_REGIONS];
36
37struct tea5767_dbg_info 29struct tea5767_dbg_info
38{ 30{
39 unsigned char read_regs[5]; 31 unsigned char read_regs[5];
diff --git a/firmware/export/tuner.h b/firmware/export/tuner.h
index 461c9a3fcb..9263c08d90 100644
--- a/firmware/export/tuner.h
+++ b/firmware/export/tuner.h
@@ -84,6 +84,7 @@ struct fm_region_data
84 int freq_min; 84 int freq_min;
85 int freq_max; 85 int freq_max;
86 int freq_step; 86 int freq_step;
87 int deemphasis; /* in microseconds, usually 50 or 75 */
87}; 88};
88 89
89extern const struct fm_region_data fm_region_data[TUNER_NUM_REGIONS]; 90extern const struct fm_region_data fm_region_data[TUNER_NUM_REGIONS];
diff --git a/firmware/tuner.c b/firmware/tuner.c
index 3232147bbb..e08cef46ff 100644
--- a/firmware/tuner.c
+++ b/firmware/tuner.c
@@ -28,92 +28,16 @@
28/* General region information */ 28/* General region information */
29const struct fm_region_data fm_region_data[TUNER_NUM_REGIONS] = 29const struct fm_region_data fm_region_data[TUNER_NUM_REGIONS] =
30{ 30{
31 [REGION_EUROPE] = { 87500000, 108000000, 100000 }, 31 [REGION_EUROPE] = { 87500000, 108000000, 100000, 50 },
32 [REGION_US_CANADA] = { 87900000, 107900000, 200000 }, 32 [REGION_US_CANADA] = { 87900000, 107900000, 200000, 75 },
33 [REGION_JAPAN] = { 76000000, 90000000, 100000 }, 33 [REGION_JAPAN] = { 76000000, 90000000, 100000, 50 },
34 [REGION_KOREA] = { 87500000, 108000000, 200000 }, 34 [REGION_KOREA] = { 87500000, 108000000, 200000, 50 },
35 [REGION_ITALY] = { 87500000, 108000000, 50000 }, 35 [REGION_ITALY] = { 87500000, 108000000, 50000, 50 },
36 [REGION_OTHER] = { 87500000, 108000000, 50000 } 36 [REGION_OTHER] = { 87500000, 108000000, 50000, 50 }
37}; 37};
38 38
39#ifndef SIMULATOR 39#ifndef SIMULATOR
40 40
41/* Tuner-specific region information */
42
43#if (CONFIG_TUNER & LV24020LP)
44/* deemphasis setting for region */
45const unsigned char lv24020lp_region_data[TUNER_NUM_REGIONS] =
46{
47 [REGION_EUROPE] = 0, /* 50uS */
48 [REGION_US_CANADA] = 1, /* 75uS */
49 [REGION_JAPAN] = 0, /* 50uS */
50 [REGION_KOREA] = 0, /* 50uS */
51 [REGION_ITALY] = 0, /* 50uS */
52 [REGION_OTHER] = 0, /* 50uS */
53};
54#endif /* (CONFIG_TUNER & LV24020LP) */
55
56#if (CONFIG_TUNER & TEA5760)
57const struct tea5760_region_data tea5760_region_data[TUNER_NUM_REGIONS] =
58{
59 [REGION_EUROPE] = { 1, 0 }, /* 50uS, US/Europe band */
60 [REGION_US_CANADA] = { 0, 0 }, /* 75uS, US/Europe band */
61 [REGION_JAPAN] = { 1, 1 }, /* 50uS, Japanese band */
62 [REGION_KOREA] = { 1, 0 }, /* 50uS, US/Europe band */
63 [REGION_ITALY] = { 1, 0 }, /* 50uS, US/Europe band */
64 [REGION_OTHER] = { 1, 0 }, /* 50uS, US/Europe band */
65};
66#endif /* (CONFIG_TUNER & TEA5760) */
67
68#if (CONFIG_TUNER & TEA5767)
69const struct tea5767_region_data tea5767_region_data[TUNER_NUM_REGIONS] =
70{
71 [REGION_EUROPE] = { 0, 0 }, /* 50uS, US/Europe band */
72 [REGION_US_CANADA] = { 1, 0 }, /* 75uS, US/Europe band */
73 [REGION_JAPAN] = { 0, 1 }, /* 50uS, Japanese band */
74 [REGION_KOREA] = { 0, 0 }, /* 50uS, US/Europe band */
75 [REGION_ITALY] = { 0, 0 }, /* 50uS, US/Europe band */
76 [REGION_OTHER] = { 0, 0 }, /* 50uS, US/Europe band */
77};
78#endif /* (CONFIG_TUNER & TEA5767) */
79
80#if (CONFIG_TUNER & SI4700)
81const struct si4700_region_data si4700_region_data[TUNER_NUM_REGIONS] =
82{
83 [REGION_EUROPE] = { 1, 0, 1 }, /* 50uS, US/Europe band, 100kHz spacing */
84 [REGION_US_CANADA] = { 0, 0, 0 }, /* 75uS, US/Europe band, 200kHz spacing */
85 [REGION_JAPAN] = { 1, 2, 1 }, /* 50uS, Japanese band, 100kHz spacing */
86 [REGION_KOREA] = { 1, 0, 0 }, /* 50uS, US/Europe band, 200kHz spacing */
87 [REGION_ITALY] = { 1, 0, 2 }, /* 50uS, US/Europe band, 50kHz spacing */
88 [REGION_OTHER] = { 1, 0, 2 }, /* 50uS, US/Europe band, 50kHz spacing */
89};
90#endif /* (CONFIG_TUNER & SI4700) */
91
92#if (CONFIG_TUNER & RDA5802)
93const struct rda5802_region_data rda5802_region_data[TUNER_NUM_REGIONS] =
94{
95 [REGION_EUROPE] = { 1, 0 }, /* 50uS, US/Europe band */
96 [REGION_US_CANADA] = { 0, 0 }, /* 75uS, US/Europe band */
97 [REGION_JAPAN] = { 1, 1 }, /* 50uS, Japanese band */
98 [REGION_KOREA] = { 1, 0 }, /* 50uS, US/Europe band */
99 [REGION_ITALY] = { 1, 0 }, /* 50uS, US/Europe band */
100 [REGION_OTHER] = { 1, 0 }, /* 50uS, US/Europe band */
101};
102#endif /* (CONFIG_TUNER & RDA5802) */
103
104#if (CONFIG_TUNER & IPOD_REMOTE_TUNER)
105const struct rmt_tuner_region_data
106 rmt_tuner_region_data[TUNER_NUM_REGIONS] =
107{
108 [REGION_EUROPE] = { 1, 0, 1 }, /* 50uS, US/Europe band, 100kHz spacing */
109 [REGION_US_CANADA] = { 0, 0, 0 }, /* 75uS, US/Europe band, 200kHz spacing */
110 [REGION_JAPAN] = { 1, 2, 1 }, /* 50uS, Japanese band, 100kHz spacing */
111 [REGION_KOREA] = { 1, 0, 0 }, /* 50uS, US/Europe band, 200kHz spacing */
112 [REGION_ITALY] = { 1, 0, 2 }, /* 50uS, US/Europe band, 50kHz spacing */
113 [REGION_OTHER] = { 1, 0, 2 }, /* 50uS, US/Europe band, 50kHz spacing */
114};
115#endif /* (CONFIG_TUNER & IPOD_REMOTE_TUNER) */
116
117#ifdef CONFIG_TUNER_MULTI 41#ifdef CONFIG_TUNER_MULTI
118int (*tuner_set)(int setting, int value); 42int (*tuner_set)(int setting, int value);
119int (*tuner_get)(int setting); 43int (*tuner_get)(int setting);