diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/tuner/ipod_remote_tuner.c | 17 | ||||
-rw-r--r-- | firmware/drivers/tuner/lv24020lp.c | 5 | ||||
-rw-r--r-- | firmware/drivers/tuner/rda5802.c | 25 | ||||
-rw-r--r-- | firmware/drivers/tuner/si4700.c | 15 | ||||
-rw-r--r-- | firmware/drivers/tuner/tea5760uk.c | 9 | ||||
-rw-r--r-- | firmware/drivers/tuner/tea5767.c | 9 | ||||
-rw-r--r-- | firmware/export/ipod_remote_tuner.h | 13 | ||||
-rw-r--r-- | firmware/export/lv24020lp.h | 2 | ||||
-rw-r--r-- | firmware/export/rda5802.h | 8 | ||||
-rw-r--r-- | firmware/export/si4700.h | 9 | ||||
-rw-r--r-- | firmware/export/tea5760.h | 8 | ||||
-rw-r--r-- | firmware/export/tea5767.h | 8 | ||||
-rw-r--r-- | firmware/export/tuner.h | 1 | ||||
-rw-r--r-- | firmware/tuner.c | 88 |
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 | ||
240 | static void rda5802_set_region(int region) | 240 | static 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 | ||
401 | static void si4700_set_region(int region) | 401 | static 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 | ||
49 | extern void rmt_tuner_rds_data(void); | 49 | extern void rmt_tuner_rds_data(void); |
50 | 50 | ||
51 | struct 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 | |||
61 | extern const struct rmt_tuner_region_data | ||
62 | rmt_tuner_region_data[TUNER_NUM_REGIONS]; | ||
63 | |||
64 | int ipod_rmt_tuner_set(int setting, int value); | 51 | int ipod_rmt_tuner_set(int setting, int value); |
65 | int ipod_rmt_tuner_get(int setting); | 52 | int ipod_rmt_tuner_get(int setting); |
66 | char* ipod_get_rds_info(int setting); | 53 | char* 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 | ||
40 | const unsigned char lv24020lp_region_data[TUNER_NUM_REGIONS]; | ||
41 | |||
42 | int lv24020lp_set(int setting, int value); | 40 | int lv24020lp_set(int setting, int value); |
43 | int lv24020lp_get(int setting); | 41 | int lv24020lp_get(int setting); |
44 | void lv24020lp_power(bool status); | 42 | void 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 | ||
30 | struct 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 | |||
36 | extern const struct rda5802_region_data rda5802_region_data[TUNER_NUM_REGIONS]; | ||
37 | |||
38 | struct rda5802_dbg_info | 30 | struct 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 | ||
30 | struct 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 | |||
37 | extern const struct si4700_region_data si4700_region_data[TUNER_NUM_REGIONS]; | ||
38 | |||
39 | struct si4700_dbg_info | 30 | struct 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 | ||
31 | struct 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 | |||
37 | extern const struct tea5760_region_data tea5760_region_data[TUNER_NUM_REGIONS]; | ||
38 | |||
39 | struct tea5760_dbg_info | 31 | struct 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 | ||
29 | struct 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 | |||
35 | extern const struct tea5767_region_data tea5767_region_data[TUNER_NUM_REGIONS]; | ||
36 | |||
37 | struct tea5767_dbg_info | 29 | struct 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 | ||
89 | extern const struct fm_region_data fm_region_data[TUNER_NUM_REGIONS]; | 90 | extern 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 */ |
29 | const struct fm_region_data fm_region_data[TUNER_NUM_REGIONS] = | 29 | const 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 */ | ||
45 | const 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) | ||
57 | const 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) | ||
69 | const 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) | ||
81 | const 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) | ||
93 | const 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) | ||
105 | const 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 |
118 | int (*tuner_set)(int setting, int value); | 42 | int (*tuner_set)(int setting, int value); |
119 | int (*tuner_get)(int setting); | 43 | int (*tuner_get)(int setting); |