lkml.org 
[lkml]   [2008]   [Oct]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 2/7] adding latest xc3028 driver
    xc3028_module.c:
wrapper for the linux dvb frontend API
xc3028fw_helper.c:
firmware helper in order to align the raw videoblob to the
corresponding standard.
xc3028_control.c:
Xceive core tuning driver

the driver uses the tunerchip.h callbacks in order to only attach
once in the em28xx-video file
for multistandard devices.
FM Radio, AnalogTV standards and Digital TV standards are tested.

There are 2 firmwares xc3028 and xc3028L, both are merged into one
firmware blob which
is available on mcentral.de

This driver is part of the standalone em28xx driver which is also
target'ed to work without any framework upgrades
on the eeePC (kernel 2.6.21), it's the latest reference driver from Xceive.
commit fd567103427294763b172009337ccf14345e9ff0
Author: Markus Rechberger <mrechberger@sundtek.de>
Date: Wed Oct 22 22:03:11 2008 +0200

adding latest xc3028 driver

xc3028_module.c:
wrapper for the linux dvb frontend API
xc3028fw_helper.c:
firmware helper in order to align the raw videoblob to the corresponding standard.
xc3028_control.c:
Xceive core tuning driver

the driver uses the tunerchip.h callbacks in order to only attach once in the em28xx-video file
for multistandard devices.
FM Radio, AnalogTV standards and Digital TV standards are tested.

There are 2 firmwares xc3028 and xc3028L, both are merged into one firmware blob which
is available on mcentral.de

Signed-off-by: Markus Rechberger <mrechberger@sundtek.de>

diff --git a/drivers/media/video/empia/xc3028/Makefile b/drivers/media/video/empia/xc3028/Makefile
new file mode 100644
index 0000000..a24ff35
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/Makefile
@@ -0,0 +1,6 @@
+xc3028-tuner-objs := xc3028_control.o xc3028_module.o
+
+obj-m += xc3028-tuner.o
+
+EXTRA_CFLAGS += -Wall
+
diff --git a/drivers/media/video/empia/xc3028/tunerchip.h b/drivers/media/video/empia/xc3028/tunerchip.h
new file mode 100644
index 0000000..75ba8e6
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/tunerchip.h
@@ -0,0 +1,32 @@
+#ifndef _TUNER_CHIP_H
+#define _TUNER_CHIP_H
+
+struct tuner_module {
+ void *priv;
+ int (*tuner_cmd)(struct tuner_module *client, unsigned int cmd, void *data);
+ int (*shutdown)(struct tuner_module *client);
+ int (*set_frequency)(struct tuner_module *client, unsigned long frequency_in_hz);
+ int (*get_frequency_error)(struct tuner_module *client, long *frequency_error_mhz);
+ int (*get_lock_status)(struct tuner_module *client, unsigned short int *lock_status);
+ int (*get_version)(struct tuner_module *client, unsigned char* hw_majorversion, unsigned char* hw_minorversion, unsigned char* fw_majorversion, unsigned char* fw_minorversion);
+ int (*full_scan)(struct tuner_module *client, unsigned int freq_min, unsigned int freq_max, int freq_list_size, unsigned int *freq_list, int *nb_freq_found );
+ void (*release)(struct tuner_module *client);
+};
+
+#define tuner_chip_detach(MOD) if(MOD) { \
+ MOD->release(MOD); \
+ symbol_put_addr(MOD->release); \
+ }
+
+#define tuner_chip_attach(FUNCTION, ARGS...) ({ \
+ struct tuner_module *mod = NULL; \
+ typeof(&FUNCTION) __a = symbol_request(FUNCTION); \
+ if (__a) { \
+ mod=__a(ARGS); \
+ if (mod == 0) \
+ symbol_put(__a); \
+ } \
+ mod; \
+})
+
+#endif
diff --git a/drivers/media/video/empia/xc3028/xc3028_channelmaps.h b/drivers/media/video/empia/xc3028/xc3028_channelmaps.h
new file mode 100644
index 0000000..edcc50f
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/xc3028_channelmaps.h
@@ -0,0 +1,2524 @@
+//
+// Automatically generated C header file for
+// control of the XC3028 via the i2c interface.
+//
+// Filename : xc3028_channelmaps.h
+// Generated : 3/3/2006 2:00:46 PM
+//
+// (c) 2006, Xceive Corporation
+//
+
+#ifndef __XC3028_CHANNELMAPS_H
+#define __XC3028_CHANNELMAPS_H
+
+#include "xc3028_control.h"
+
+
+// *************************************************************
+// *** LIST OF AVAILABLE CHANNELMAPS
+// *** CHANNELMAP is selected during call to xc3028_initialize()
+// ***
+// *** 1) XC3028_channel_map_usa_analog_air
+// *** 2) XC3028_channel_map_usa_analog_cable
+// *** 3) XC3028_channel_map_usa_digital_air
+// *** 4) XC3028_channel_map_usa_digital_cable
+// *** 5) XC3028_channel_map_taiwan_analog_air
+// *** 6) XC3028_channel_map_taiwan_analog_cable
+// *** 7) XC3028_channel_map_taiwan_digital_air
+// *** 8) XC3028_channel_map_taiwan_digital_cable
+// *** 9) XC3028_channel_map_japan_analog_air
+// *** 10) XC3028_channel_map_japan_analog_cable
+// *** 11) XC3028_channel_map_japan_digital_air
+// *** 12) XC3028_channel_map_japan_digital_cable
+// *** 13) XC3028_channel_map_ccir_analog_air
+// *** 14) XC3028_channel_map_ccir_analog_cable
+// *** 15) XC3028_channel_map_ccir_digital_air
+// *** 16) XC3028_channel_map_ccir_digital_cable
+// *** 17) XC3028_channel_map_france_analog_air
+// *** 18) XC3028_channel_map_france_analog_cable
+// *** 19) XC3028_channel_map_france_digital_air
+// *** 20) XC3028_channel_map_france_digital_cable
+// *** 21) XC3028_channel_map_uk_analog_air
+// *** 22) XC3028_channel_map_uk_analog_cable
+// *** 23) XC3028_channel_map_uk_digital_air
+// *** 24) XC3028_channel_map_uk_digital_cable
+// *** 25) XC3028_channel_map_china_analog_air
+// *** 26) XC3028_channel_map_china_analog_cable
+// *** 27) XC3028_channel_map_china_digital_air
+// *** 28) XC3028_channel_map_china_digital_cable
+// *** 29) XC3028_channel_map_australia_air
+// *** 30) XC3028_channel_map_australia_cable
+// *************************************************************
+
+
+XC3028_CHANNEL XC3028_channels_usa_analog_air[68] = {
+ {{' ',' ',' ','2'}, 0x0DD0, 0x6} /*55.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F50, 0x6} /*61.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x1350, 0x4} /*77.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x14D0, 0x2} /*83.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2BD0, 0xE} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2D50, 0x3} /*181.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x2ED0, 0x1} /*187.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3050, 0xF} /*193.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x31D0, 0xF} /*199.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3350, 0x4} /*205.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x34D0, 0x1} /*211.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x75D0, 0x2} /*471.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x7750, 0x1} /*477.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x78D0, 0x5} /*483.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x7A50, 0x5} /*489.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x7BD0, 0x0} /*495.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x7D50, 0x3} /*501.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x7ED0, 0x2} /*507.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x8050, 0x3} /*513.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x81D0, 0xD} /*519.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x8350, 0x1} /*525.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x84D0, 0x3} /*531.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x8650, 0x2} /*537.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x87D0, 0x5} /*543.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x8950, 0xD} /*549.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x8AD0, 0xE} /*555.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x8C50, 0x2} /*561.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x8DD0, 0x1} /*567.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x8F50, 0xD} /*573.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x90D0, 0xD} /*579.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x9250, 0xE} /*585.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x93D0, 0x0} /*591.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x9550, 0x0} /*597.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x96D0, 0xD} /*603.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x9850, 0x5} /*609.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x99D0, 0xF} /*615.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x9B50, 0x0} /*621.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9CD0, 0x2} /*627.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9E50, 0x2} /*633.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x2} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA150, 0x3} /*645.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA2D0, 0xE} /*651.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA450, 0x0} /*657.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA5D0, 0x1} /*663.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA750, 0x2} /*669.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xA8D0, 0xF} /*675.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xAA50, 0x0} /*681.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xABD0, 0xF} /*687.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xAD50, 0x1} /*693.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xAED0, 0x2} /*699.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB050, 0xF} /*705.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB350, 0x1} /*717.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xB4D0, 0x0} /*723.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xB650, 0x1} /*729.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xB7D0, 0x2} /*735.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xB950, 0x3} /*741.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xBAD0, 0x1} /*747.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xBC50, 0xF} /*753.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xBF50, 0x4} /*765.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xC0D0, 0xE} /*771.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xC250, 0xE} /*777.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xC3D0, 0x0} /*783.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xC550, 0xD} /*789.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xC6D0, 0xF} /*795.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xC850, 0xF} /*801.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_usa_analog_air = {
+ 68,
+ XC3028_channels_usa_analog_air
+};
+
+XC3028_CHANNEL XC3028_channels_usa_analog_cable[125] = {
+ {{' ',' ',' ','1'}, 0x1250, 0x0} /*73.250000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x0DD0, 0x6} /*55.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F50, 0x6} /*61.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x1350, 0x4} /*77.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x14D0, 0x2} /*83.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2BD0, 0xF} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2D50, 0x3} /*181.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x2ED0, 0x3} /*187.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3050, 0xE} /*193.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x31D0, 0x2} /*199.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3350, 0x2} /*205.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x34D0, 0x2} /*211.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x1E50, 0x2} /*121.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x1FD0, 0x5} /*127.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x2150, 0xE} /*133.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x22D0, 0x2} /*139.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x2450, 0x0} /*145.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x25D0, 0x2} /*151.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x2750, 0x0} /*157.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x28D0, 0xF} /*163.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x2A50, 0x0} /*169.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x3650, 0x1} /*217.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x37D0, 0xD} /*223.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x3950, 0xF} /*229.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x3AD0, 0x2} /*235.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x3C50, 0x0} /*241.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x3DD0, 0x1} /*247.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x3F50, 0x3} /*253.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x40D0, 0xD} /*259.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x4250, 0xD} /*265.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x43D0, 0x3} /*271.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x4550, 0x1} /*277.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x46D0, 0x1} /*283.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x4850, 0xD} /*289.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x49D0, 0x1} /*295.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x4B50, 0x2} /*301.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x4CD0, 0xF} /*307.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x4E50, 0x3} /*313.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x4FD0, 0xF} /*319.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x5150, 0xE} /*325.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x52D0, 0xD} /*331.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0x5450, 0x0} /*337.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0x55D0, 0xF} /*343.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0x5750, 0xE} /*349.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0x58D0, 0xD} /*355.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0x5A50, 0x1} /*361.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0x5BD0, 0xE} /*367.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0x5D50, 0xF} /*373.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0x5ED0, 0xE} /*379.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0x6050, 0x5} /*385.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0x61D0, 0x1} /*391.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0x6350, 0x2} /*397.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0x64D0, 0xE} /*403.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0x6650, 0x2} /*409.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0x67D0, 0xF} /*415.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0x6950, 0xE} /*421.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0x6AD0, 0xE} /*427.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0x6C50, 0x1} /*433.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0x6DD0, 0x1} /*439.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0x6F50, 0x1} /*445.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0x70D0, 0x4} /*451.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0x7250, 0xE} /*457.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0x73D0, 0xE} /*463.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0x7550, 0x2} /*469.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0x76D0, 0x3} /*475.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0x7850, 0x4} /*481.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0x79D0, 0xF} /*487.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0x7B50, 0x0} /*493.250000 MHz*/ ,
+ {{' ',' ','7','0'}, 0x7CD0, 0xF} /*499.250000 MHz*/ ,
+ {{' ',' ','7','1'}, 0x7E50, 0x4} /*505.250000 MHz*/ ,
+ {{' ',' ','7','2'}, 0x7FD0, 0x2} /*511.250000 MHz*/ ,
+ {{' ',' ','7','3'}, 0x8150, 0xF} /*517.250000 MHz*/ ,
+ {{' ',' ','7','4'}, 0x82D0, 0x1} /*523.250000 MHz*/ ,
+ {{' ',' ','7','5'}, 0x8450, 0x3} /*529.250000 MHz*/ ,
+ {{' ',' ','7','6'}, 0x85D0, 0x3} /*535.250000 MHz*/ ,
+ {{' ',' ','7','7'}, 0x8750, 0x3} /*541.250000 MHz*/ ,
+ {{' ',' ','7','8'}, 0x88D0, 0xF} /*547.250000 MHz*/ ,
+ {{' ',' ','7','9'}, 0x8A50, 0xE} /*553.250000 MHz*/ ,
+ {{' ',' ','8','0'}, 0x8BD0, 0xF} /*559.250000 MHz*/ ,
+ {{' ',' ','8','1'}, 0x8D50, 0x0} /*565.250000 MHz*/ ,
+ {{' ',' ','8','2'}, 0x8ED0, 0xD} /*571.250000 MHz*/ ,
+ {{' ',' ','8','3'}, 0x9050, 0x3} /*577.250000 MHz*/ ,
+ {{' ',' ','8','4'}, 0x91D0, 0x5} /*583.250000 MHz*/ ,
+ {{' ',' ','8','5'}, 0x9350, 0x0} /*589.250000 MHz*/ ,
+ {{' ',' ','8','6'}, 0x94D0, 0x2} /*595.250000 MHz*/ ,
+ {{' ',' ','8','7'}, 0x9650, 0xD} /*601.250000 MHz*/ ,
+ {{' ',' ','8','8'}, 0x97D0, 0xD} /*607.250000 MHz*/ ,
+ {{' ',' ','8','9'}, 0x9950, 0xD} /*613.250000 MHz*/ ,
+ {{' ',' ','9','0'}, 0x9AD0, 0xF} /*619.250000 MHz*/ ,
+ {{' ',' ','9','1'}, 0x9C50, 0x0} /*625.250000 MHz*/ ,
+ {{' ',' ','9','2'}, 0x9DD0, 0x3} /*631.250000 MHz*/ ,
+ {{' ',' ','9','3'}, 0x9F50, 0x3} /*637.250000 MHz*/ ,
+ {{' ',' ','9','4'}, 0xA0D0, 0x5} /*643.250000 MHz*/ ,
+ {{' ',' ','9','5'}, 0x16D0, 0x2} /*91.250000 MHz*/ ,
+ {{' ',' ','9','6'}, 0x1850, 0xF} /*97.250000 MHz*/ ,
+ {{' ',' ','9','7'}, 0x19D0, 0xE} /*103.250000 MHz*/ ,
+ {{' ',' ','9','8'}, 0x1B51, 0x4} /*109.265625 MHz*/ ,
+ {{' ',' ','9','9'}, 0x1CD1, 0x3} /*115.265625 MHz*/ ,
+ {{' ','1','0','0'}, 0xA250, 0x4} /*649.250000 MHz*/ ,
+ {{' ','1','0','1'}, 0xA3D0, 0x1} /*655.250000 MHz*/ ,
+ {{' ','1','0','2'}, 0xA550, 0x0} /*661.250000 MHz*/ ,
+ {{' ','1','0','3'}, 0xA6D0, 0x2} /*667.250000 MHz*/ ,
+ {{' ','1','0','4'}, 0xA850, 0xF} /*673.250000 MHz*/ ,
+ {{' ','1','0','5'}, 0xA9D0, 0x0} /*679.250000 MHz*/ ,
+ {{' ','1','0','6'}, 0xAB50, 0x5} /*685.250000 MHz*/ ,
+ {{' ','1','0','7'}, 0xACD0, 0x2} /*691.250000 MHz*/ ,
+ {{' ','1','0','8'}, 0xAE50, 0x4} /*697.250000 MHz*/ ,
+ {{' ','1','0','9'}, 0xAFD0, 0x1} /*703.250000 MHz*/ ,
+ {{' ','1','1','0'}, 0xB150, 0xF} /*709.250000 MHz*/ ,
+ {{' ','1','1','1'}, 0xB2D0, 0x5} /*715.250000 MHz*/ ,
+ {{' ','1','1','2'}, 0xB450, 0xF} /*721.250000 MHz*/ ,
+ {{' ','1','1','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ ,
+ {{' ','1','1','4'}, 0xB750, 0xE} /*733.250000 MHz*/ ,
+ {{' ','1','1','5'}, 0xB8D0, 0xF} /*739.250000 MHz*/ ,
+ {{' ','1','1','6'}, 0xBA50, 0x0} /*745.250000 MHz*/ ,
+ {{' ','1','1','7'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{' ','1','1','8'}, 0xBD50, 0x0} /*757.250000 MHz*/ ,
+ {{' ','1','1','9'}, 0xBED0, 0x1} /*763.250000 MHz*/ ,
+ {{' ','1','2','0'}, 0xC050, 0xD} /*769.250000 MHz*/ ,
+ {{' ','1','2','1'}, 0xC1D0, 0x0} /*775.250000 MHz*/ ,
+ {{' ','1','2','2'}, 0xC350, 0x4} /*781.250000 MHz*/ ,
+ {{' ','1','2','3'}, 0xC4D0, 0x2} /*787.250000 MHz*/ ,
+ {{' ','1','2','4'}, 0xC650, 0x1} /*793.250000 MHz*/ ,
+ {{' ','1','2','5'}, 0xC7D0, 0xF} /*799.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_usa_analog_cable = {
+ 125,
+ XC3028_channels_usa_analog_cable
+};
+
+XC3028_CHANNEL XC3028_channels_usa_digital_air[68] = {
+ {{' ',' ',' ','2'}, 0x0DD0, 0xC} /*55.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F50, 0x0} /*61.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x1350, 0x6} /*77.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x14D0, 0xD} /*83.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2BD0, 0xE} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2D50, 0x0} /*181.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x2ED0, 0x2} /*187.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3050, 0x5} /*193.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x31D0, 0x1} /*199.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3350, 0x0} /*205.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x34D0, 0xC} /*211.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x75D0, 0x5} /*471.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x7750, 0x7} /*477.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x78D0, 0x3} /*483.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x7A50, 0xC} /*489.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x7BD0, 0xB} /*495.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x7D50, 0xF} /*501.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x7ED0, 0xE} /*507.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x8050, 0x2} /*513.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x8350, 0x5} /*525.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x84D0, 0x4} /*531.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x8650, 0x5} /*537.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x87D0, 0x7} /*543.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x8950, 0xD} /*549.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x8AD0, 0xD} /*555.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x8C50, 0xF} /*561.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x8DD0, 0x0} /*567.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x8F50, 0x1} /*573.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x90D0, 0xC} /*579.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x9250, 0x1} /*585.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x93D0, 0xE} /*591.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x9550, 0x3} /*597.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x96D0, 0x1} /*603.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x9850, 0x2} /*609.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x99D0, 0x1} /*615.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x9B50, 0x2} /*621.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9CD0, 0xF} /*627.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9E50, 0xE} /*633.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x6} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA150, 0xC} /*645.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA2D0, 0x1} /*651.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA450, 0x5} /*657.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA5D0, 0x6} /*663.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA750, 0x5} /*669.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xA8D0, 0xE} /*675.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xAA50, 0x1} /*681.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xABD0, 0xE} /*687.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xAD50, 0xD} /*693.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xAED0, 0xE} /*699.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB050, 0xC} /*705.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB1D0, 0x7} /*711.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB350, 0xC} /*717.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xB4D0, 0x5} /*723.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xB650, 0xE} /*729.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xB7D0, 0x7} /*735.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xB950, 0x0} /*741.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xBAD0, 0x0} /*747.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xBC50, 0xF} /*753.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xBF50, 0x4} /*765.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xC0D0, 0x5} /*771.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xC250, 0x1} /*777.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xC3D0, 0xC} /*783.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xC550, 0xD} /*789.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xC6D0, 0x6} /*795.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xC850, 0x7} /*801.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_usa_digital_air = {
+ 68,
+ XC3028_channels_usa_digital_air
+};
+
+XC3028_CHANNEL XC3028_channels_usa_digital_cable[125] = {
+ {{' ',' ',' ','1'}, 0x1250, 0x6} /*73.250000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x0DD0, 0xC} /*55.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F50, 0x0} /*61.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x1350, 0x6} /*77.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x14D0, 0xD} /*83.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2BD0, 0xE} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2D50, 0x0} /*181.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x2ED0, 0x2} /*187.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3050, 0x5} /*193.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x31D0, 0x1} /*199.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3350, 0x0} /*205.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x34D0, 0xC} /*211.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x1E50, 0x0} /*121.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x1FD0, 0x6} /*127.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x2150, 0xE} /*133.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x22D0, 0x1} /*139.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x2450, 0xC} /*145.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x25D0, 0xE} /*151.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x2750, 0x0} /*157.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x28D0, 0x7} /*163.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x2A50, 0x4} /*169.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x3650, 0x1} /*217.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x37D0, 0x3} /*223.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x3950, 0x7} /*229.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x3AD0, 0x4} /*235.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x3C50, 0xC} /*241.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x3DD0, 0x0} /*247.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x3F50, 0xC} /*253.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x40D0, 0x0} /*259.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x4250, 0x3} /*265.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x43D0, 0xC} /*271.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x4550, 0xE} /*277.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x46D0, 0xC} /*283.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x4850, 0xF} /*289.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x49D0, 0x6} /*295.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x4B50, 0x4} /*301.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x4CD0, 0xE} /*307.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x4E50, 0x0} /*313.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x4FD0, 0xE} /*319.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x5150, 0x0} /*325.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x52D0, 0x3} /*331.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0x5450, 0xD} /*337.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0x55D0, 0x0} /*343.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0x5750, 0xE} /*349.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0x58D0, 0x0} /*355.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0x5A50, 0x6} /*361.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0x5BD0, 0xD} /*367.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0x5D50, 0x0} /*373.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0x5ED0, 0x1} /*379.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0x6050, 0x3} /*385.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0x61D0, 0x5} /*391.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0x6350, 0xC} /*397.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0x64D0, 0x5} /*403.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0x6650, 0x7} /*409.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0x67D0, 0x2} /*415.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0x6950, 0x4} /*421.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0x6AD0, 0x6} /*427.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0x6C50, 0xE} /*433.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0x6DD0, 0x6} /*439.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0x6F50, 0xE} /*445.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0x70D0, 0x3} /*451.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0x7250, 0x5} /*457.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0x73D0, 0x6} /*463.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0x7550, 0x5} /*469.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0x76D0, 0xE} /*475.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0x7850, 0x2} /*481.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0x79D0, 0xC} /*487.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0x7B50, 0xD} /*493.250000 MHz*/ ,
+ {{' ',' ','7','0'}, 0x7CD0, 0xC} /*499.250000 MHz*/ ,
+ {{' ',' ','7','1'}, 0x7E50, 0x6} /*505.250000 MHz*/ ,
+ {{' ',' ','7','2'}, 0x7FD0, 0x7} /*511.250000 MHz*/ ,
+ {{' ',' ','7','3'}, 0x8150, 0x0} /*517.250000 MHz*/ ,
+ {{' ',' ','7','4'}, 0x82D0, 0x1} /*523.250000 MHz*/ ,
+ {{' ',' ','7','5'}, 0x8450, 0x3} /*529.250000 MHz*/ ,
+ {{' ',' ','7','6'}, 0x85D0, 0x5} /*535.250000 MHz*/ ,
+ {{' ',' ','7','7'}, 0x8750, 0x5} /*541.250000 MHz*/ ,
+ {{' ',' ','7','8'}, 0x88D0, 0x6} /*547.250000 MHz*/ ,
+ {{' ',' ','7','9'}, 0x8A50, 0xD} /*553.250000 MHz*/ ,
+ {{' ',' ','8','0'}, 0x8BD0, 0x5} /*559.250000 MHz*/ ,
+ {{' ',' ','8','1'}, 0x8D50, 0xF} /*565.250000 MHz*/ ,
+ {{' ',' ','8','2'}, 0x8ED0, 0x5} /*571.250000 MHz*/ ,
+ {{' ',' ','8','3'}, 0x9050, 0x2} /*577.250000 MHz*/ ,
+ {{' ',' ','8','4'}, 0x91D0, 0xC} /*583.250000 MHz*/ ,
+ {{' ',' ','8','5'}, 0x9350, 0xE} /*589.250000 MHz*/ ,
+ {{' ',' ','8','6'}, 0x94D0, 0x3} /*595.250000 MHz*/ ,
+ {{' ',' ','8','7'}, 0x9650, 0x1} /*601.250000 MHz*/ ,
+ {{' ',' ','8','8'}, 0x97D0, 0x6} /*607.250000 MHz*/ ,
+ {{' ',' ','8','9'}, 0x9950, 0xC} /*613.250000 MHz*/ ,
+ {{' ',' ','9','0'}, 0x9AD0, 0x4} /*619.250000 MHz*/ ,
+ {{' ',' ','9','1'}, 0x9C50, 0x3} /*625.250000 MHz*/ ,
+ {{' ',' ','9','2'}, 0x9DD0, 0x4} /*631.250000 MHz*/ ,
+ {{' ',' ','9','3'}, 0x9F50, 0x1} /*637.250000 MHz*/ ,
+ {{' ',' ','9','4'}, 0xA0D0, 0x2} /*643.250000 MHz*/ ,
+ {{' ',' ','9','5'}, 0x16D0, 0x3} /*91.250000 MHz*/ ,
+ {{' ',' ','9','6'}, 0x1850, 0xC} /*97.250000 MHz*/ ,
+ {{' ',' ','9','7'}, 0x19D0, 0xD} /*103.250000 MHz*/ ,
+ {{' ',' ','9','8'}, 0x1B51, 0x4} /*109.265625 MHz*/ ,
+ {{' ',' ','9','9'}, 0x1CD1, 0xD} /*115.265625 MHz*/ ,
+ {{' ','1','0','0'}, 0xA250, 0x1} /*649.250000 MHz*/ ,
+ {{' ','1','0','1'}, 0xA3D0, 0xE} /*655.250000 MHz*/ ,
+ {{' ','1','0','2'}, 0xA550, 0xD} /*661.250000 MHz*/ ,
+ {{' ','1','0','3'}, 0xA6D0, 0x7} /*667.250000 MHz*/ ,
+ {{' ','1','0','4'}, 0xA850, 0xE} /*673.250000 MHz*/ ,
+ {{' ','1','0','5'}, 0xA9D0, 0x7} /*679.250000 MHz*/ ,
+ {{' ','1','0','6'}, 0xAB50, 0xC} /*685.250000 MHz*/ ,
+ {{' ','1','0','7'}, 0xACD0, 0xD} /*691.250000 MHz*/ ,
+ {{' ','1','0','8'}, 0xAE50, 0xE} /*697.250000 MHz*/ ,
+ {{' ','1','0','9'}, 0xAFD0, 0x1} /*703.250000 MHz*/ ,
+ {{' ','1','1','0'}, 0xB150, 0x0} /*709.250000 MHz*/ ,
+ {{' ','1','1','1'}, 0xB2D0, 0xC} /*715.250000 MHz*/ ,
+ {{' ','1','1','2'}, 0xB450, 0x0} /*721.250000 MHz*/ ,
+ {{' ','1','1','3'}, 0xB5D0, 0xE} /*727.250000 MHz*/ ,
+ {{' ','1','1','4'}, 0xB750, 0xF} /*733.250000 MHz*/ ,
+ {{' ','1','1','5'}, 0xB8D0, 0x0} /*739.250000 MHz*/ ,
+ {{' ','1','1','6'}, 0xBA50, 0x1} /*745.250000 MHz*/ ,
+ {{' ','1','1','7'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{' ','1','1','8'}, 0xBD50, 0x0} /*757.250000 MHz*/ ,
+ {{' ','1','1','9'}, 0xBED0, 0x4} /*763.250000 MHz*/ ,
+ {{' ','1','2','0'}, 0xC050, 0xC} /*769.250000 MHz*/ ,
+ {{' ','1','2','1'}, 0xC1D0, 0x5} /*775.250000 MHz*/ ,
+ {{' ','1','2','2'}, 0xC350, 0xC} /*781.250000 MHz*/ ,
+ {{' ','1','2','3'}, 0xC4D0, 0x7} /*787.250000 MHz*/ ,
+ {{' ','1','2','4'}, 0xC650, 0x0} /*793.250000 MHz*/ ,
+ {{' ','1','2','5'}, 0xC7D0, 0x1} /*799.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_usa_digital_cable = {
+ 125,
+ XC3028_channels_usa_digital_cable
+};
+
+XC3028_CHANNEL XC3028_channels_taiwan_analog_air[68] = {
+ {{' ',' ',' ','2'}, 0x0DD0, 0x6} /*55.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F50, 0x6} /*61.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x1350, 0x4} /*77.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x14D0, 0x2} /*83.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2BD0, 0xE} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2D50, 0x3} /*181.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x2ED0, 0x1} /*187.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3050, 0xF} /*193.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x31D0, 0xF} /*199.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3350, 0x4} /*205.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x34D0, 0x1} /*211.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x75D0, 0x2} /*471.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x7750, 0x1} /*477.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x78D0, 0x5} /*483.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x7A50, 0x5} /*489.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x7BD0, 0x0} /*495.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x7D50, 0x3} /*501.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x7ED0, 0x2} /*507.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x8050, 0x3} /*513.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x81D0, 0xD} /*519.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x8350, 0x1} /*525.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x84D0, 0x3} /*531.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x8650, 0x2} /*537.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x87D0, 0x5} /*543.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x8950, 0xD} /*549.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x8AD0, 0xE} /*555.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x8C50, 0x2} /*561.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x8DD0, 0x1} /*567.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x8F50, 0xD} /*573.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x90D0, 0xD} /*579.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x9250, 0xE} /*585.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x93D0, 0x0} /*591.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x9550, 0x0} /*597.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x96D0, 0xD} /*603.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x9850, 0x5} /*609.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x99D0, 0xF} /*615.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x9B50, 0x0} /*621.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9CD0, 0x2} /*627.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9E50, 0x2} /*633.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x2} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA150, 0x3} /*645.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA2D0, 0xE} /*651.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA450, 0x0} /*657.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA5D0, 0x1} /*663.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA750, 0x2} /*669.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xA8D0, 0xF} /*675.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xAA50, 0x0} /*681.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xABD0, 0xF} /*687.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xAD50, 0x1} /*693.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xAED0, 0x2} /*699.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB050, 0xF} /*705.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB350, 0x1} /*717.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xB4D0, 0x0} /*723.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xB650, 0x1} /*729.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xB7D0, 0x2} /*735.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xB950, 0x3} /*741.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xBAD0, 0x1} /*747.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xBC50, 0xF} /*753.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xBF50, 0x4} /*765.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xC0D0, 0xE} /*771.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xC250, 0xE} /*777.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xC3D0, 0x0} /*783.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xC550, 0xD} /*789.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xC6D0, 0xF} /*795.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xC850, 0xF} /*801.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_taiwan_analog_air = {
+ 68,
+ XC3028_channels_taiwan_analog_air
+};
+
+XC3028_CHANNEL XC3028_channels_taiwan_analog_cable[125] = {
+ {{' ',' ',' ','1'}, 0x1250, 0x0} /*73.250000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x0DD0, 0x6} /*55.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F50, 0x6} /*61.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x10D0, 0x2} /*67.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x1350, 0x4} /*77.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x14D0, 0x2} /*83.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2BD0, 0xF} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2D50, 0x3} /*181.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x2ED0, 0x3} /*187.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3050, 0xE} /*193.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x31D0, 0x2} /*199.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3350, 0x2} /*205.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x34D0, 0x2} /*211.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x1E50, 0x2} /*121.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x1FD0, 0x5} /*127.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x2150, 0xE} /*133.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x22D0, 0x2} /*139.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x2450, 0x0} /*145.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x25D0, 0x2} /*151.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x2750, 0x0} /*157.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x28D0, 0xF} /*163.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x2A50, 0x0} /*169.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x3650, 0x1} /*217.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x37D0, 0xD} /*223.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x3950, 0xF} /*229.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x3AD0, 0x2} /*235.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x3C50, 0x0} /*241.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x3DD0, 0x1} /*247.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x3F50, 0x3} /*253.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x40D0, 0xD} /*259.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x4250, 0xD} /*265.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x43D0, 0x3} /*271.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x4550, 0x1} /*277.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x46D0, 0x1} /*283.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x4850, 0xD} /*289.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x49D0, 0x1} /*295.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x4B50, 0x2} /*301.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x4CD0, 0xF} /*307.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x4E50, 0x3} /*313.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x4FD0, 0xF} /*319.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x5150, 0xE} /*325.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x52D0, 0xD} /*331.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0x5450, 0x0} /*337.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0x55D0, 0xF} /*343.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0x5750, 0xE} /*349.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0x58D0, 0xD} /*355.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0x5A50, 0x1} /*361.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0x5BD0, 0xE} /*367.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0x5D50, 0xF} /*373.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0x5ED0, 0xE} /*379.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0x6050, 0x5} /*385.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0x61D0, 0x1} /*391.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0x6350, 0x2} /*397.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0x64D0, 0xE} /*403.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0x6650, 0x2} /*409.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0x67D0, 0xF} /*415.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0x6950, 0xE} /*421.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0x6AD0, 0xE} /*427.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0x6C50, 0x1} /*433.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0x6DD0, 0x1} /*439.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0x6F50, 0x1} /*445.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0x70D0, 0x4} /*451.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0x7250, 0xE} /*457.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0x73D0, 0xE} /*463.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0x7550, 0x2} /*469.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0x76D0, 0x3} /*475.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0x7850, 0x4} /*481.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0x79D0, 0xF} /*487.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0x7B50, 0x0} /*493.250000 MHz*/ ,
+ {{' ',' ','7','0'}, 0x7CD0, 0xF} /*499.250000 MHz*/ ,
+ {{' ',' ','7','1'}, 0x7E50, 0x4} /*505.250000 MHz*/ ,
+ {{' ',' ','7','2'}, 0x7FD0, 0x2} /*511.250000 MHz*/ ,
+ {{' ',' ','7','3'}, 0x8150, 0xF} /*517.250000 MHz*/ ,
+ {{' ',' ','7','4'}, 0x82D0, 0x1} /*523.250000 MHz*/ ,
+ {{' ',' ','7','5'}, 0x8450, 0x3} /*529.250000 MHz*/ ,
+ {{' ',' ','7','6'}, 0x85D0, 0x3} /*535.250000 MHz*/ ,
+ {{' ',' ','7','7'}, 0x8750, 0x3} /*541.250000 MHz*/ ,
+ {{' ',' ','7','8'}, 0x88D0, 0xF} /*547.250000 MHz*/ ,
+ {{' ',' ','7','9'}, 0x8A50, 0xE} /*553.250000 MHz*/ ,
+ {{' ',' ','8','0'}, 0x8BD0, 0xF} /*559.250000 MHz*/ ,
+ {{' ',' ','8','1'}, 0x8D50, 0x0} /*565.250000 MHz*/ ,
+ {{' ',' ','8','2'}, 0x8ED0, 0xD} /*571.250000 MHz*/ ,
+ {{' ',' ','8','3'}, 0x9050, 0x3} /*577.250000 MHz*/ ,
+ {{' ',' ','8','4'}, 0x91D0, 0x5} /*583.250000 MHz*/ ,
+ {{' ',' ','8','5'}, 0x9350, 0x0} /*589.250000 MHz*/ ,
+ {{' ',' ','8','6'}, 0x94D0, 0x2} /*595.250000 MHz*/ ,
+ {{' ',' ','8','7'}, 0x9650, 0xD} /*601.250000 MHz*/ ,
+ {{' ',' ','8','8'}, 0x97D0, 0xD} /*607.250000 MHz*/ ,
+ {{' ',' ','8','9'}, 0x9950, 0xD} /*613.250000 MHz*/ ,
+ {{' ',' ','9','0'}, 0x9AD0, 0xF} /*619.250000 MHz*/ ,
+ {{' ',' ','9','1'}, 0x9C50, 0x0} /*625.250000 MHz*/ ,
+ {{' ',' ','9','2'}, 0x9DD0, 0x3} /*631.250000 MHz*/ ,
+ {{' ',' ','9','3'}, 0x9F50, 0x3} /*637.250000 MHz*/ ,
+ {{' ',' ','9','4'}, 0xA0D0, 0x5} /*643.250000 MHz*/ ,
+ {{' ',' ','9','5'}, 0x16D0, 0x2} /*91.250000 MHz*/ ,
+ {{' ',' ','9','6'}, 0x1850, 0xF} /*97.250000 MHz*/ ,
+ {{' ',' ','9','7'}, 0x19D0, 0xE} /*103.250000 MHz*/ ,
+ {{' ',' ','9','8'}, 0x1B51, 0x4} /*109.265625 MHz*/ ,
+ {{' ',' ','9','9'}, 0x1CD1, 0x3} /*115.265625 MHz*/ ,
+ {{' ','1','0','0'}, 0xA250, 0x4} /*649.250000 MHz*/ ,
+ {{' ','1','0','1'}, 0xA3D0, 0x1} /*655.250000 MHz*/ ,
+ {{' ','1','0','2'}, 0xA550, 0x0} /*661.250000 MHz*/ ,
+ {{' ','1','0','3'}, 0xA6D0, 0x2} /*667.250000 MHz*/ ,
+ {{' ','1','0','4'}, 0xA850, 0xF} /*673.250000 MHz*/ ,
+ {{' ','1','0','5'}, 0xA9D0, 0x0} /*679.250000 MHz*/ ,
+ {{' ','1','0','6'}, 0xAB50, 0x5} /*685.250000 MHz*/ ,
+ {{' ','1','0','7'}, 0xACD0, 0x2} /*691.250000 MHz*/ ,
+ {{' ','1','0','8'}, 0xAE50, 0x4} /*697.250000 MHz*/ ,
+ {{' ','1','0','9'}, 0xAFD0, 0x1} /*703.250000 MHz*/ ,
+ {{' ','1','1','0'}, 0xB150, 0xF} /*709.250000 MHz*/ ,
+ {{' ','1','1','1'}, 0xB2D0, 0x5} /*715.250000 MHz*/ ,
+ {{' ','1','1','2'}, 0xB450, 0xF} /*721.250000 MHz*/ ,
+ {{' ','1','1','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ ,
+ {{' ','1','1','4'}, 0xB750, 0xE} /*733.250000 MHz*/ ,
+ {{' ','1','1','5'}, 0xB8D0, 0xF} /*739.250000 MHz*/ ,
+ {{' ','1','1','6'}, 0xBA50, 0x0} /*745.250000 MHz*/ ,
+ {{' ','1','1','7'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{' ','1','1','8'}, 0xBD50, 0x0} /*757.250000 MHz*/ ,
+ {{' ','1','1','9'}, 0xBED0, 0x1} /*763.250000 MHz*/ ,
+ {{' ','1','2','0'}, 0xC050, 0xD} /*769.250000 MHz*/ ,
+ {{' ','1','2','1'}, 0xC1D0, 0x0} /*775.250000 MHz*/ ,
+ {{' ','1','2','2'}, 0xC350, 0x4} /*781.250000 MHz*/ ,
+ {{' ','1','2','3'}, 0xC4D0, 0x2} /*787.250000 MHz*/ ,
+ {{' ','1','2','4'}, 0xC650, 0x1} /*793.250000 MHz*/ ,
+ {{' ','1','2','5'}, 0xC7D0, 0xF} /*799.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_taiwan_analog_cable = {
+ 125,
+ XC3028_channels_taiwan_analog_cable
+};
+
+XC3028_CHANNEL XC3028_channels_taiwan_digital_air[68] = {
+ {{' ',' ',' ','2'}, 0x0DD0, 0x0} /*55.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F50, 0x0} /*61.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x10D0, 0x0} /*67.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x1350, 0x0} /*77.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x14D0, 0x0} /*83.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2BD0, 0x0} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2D50, 0x0} /*181.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x2ED0, 0x0} /*187.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3050, 0x0} /*193.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x31D0, 0x0} /*199.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3350, 0x0} /*205.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x34D0, 0x0} /*211.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x75D0, 0x0} /*471.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x7750, 0x0} /*477.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x78D0, 0x0} /*483.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x7A50, 0x0} /*489.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x7BD0, 0x0} /*495.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x7D50, 0x0} /*501.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x7ED0, 0x0} /*507.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x8050, 0x0} /*513.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x8350, 0x0} /*525.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x84D0, 0x0} /*531.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x8650, 0x0} /*537.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x8950, 0x0} /*549.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x8AD0, 0x0} /*555.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x8C50, 0x0} /*561.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x8DD0, 0x0} /*567.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x8F50, 0x0} /*573.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x90D0, 0x0} /*579.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x9250, 0x0} /*585.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x93D0, 0x0} /*591.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x9550, 0x0} /*597.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x96D0, 0x0} /*603.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x9850, 0x0} /*609.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x99D0, 0x0} /*615.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x9B50, 0x0} /*621.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9CD0, 0x0} /*627.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9E50, 0x0} /*633.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x0} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA150, 0x0} /*645.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA2D0, 0x0} /*651.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA450, 0x0} /*657.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA5D0, 0x0} /*663.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA750, 0x0} /*669.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xA8D0, 0x0} /*675.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xAA50, 0x0} /*681.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xAD50, 0x0} /*693.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xAED0, 0x0} /*699.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB050, 0x0} /*705.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB350, 0x0} /*717.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xB4D0, 0x0} /*723.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xB650, 0x0} /*729.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xB7D0, 0x0} /*735.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xB950, 0x0} /*741.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xBAD0, 0x0} /*747.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xBC50, 0x0} /*753.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xBF50, 0x0} /*765.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xC0D0, 0x0} /*771.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xC250, 0x0} /*777.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xC3D0, 0x0} /*783.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xC550, 0x0} /*789.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xC6D0, 0x0} /*795.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xC850, 0x0} /*801.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_taiwan_digital_air = {
+ 68,
+ XC3028_channels_taiwan_digital_air
+};
+
+XC3028_CHANNEL XC3028_channels_taiwan_digital_cable[125] = {
+ {{' ',' ',' ','1'}, 0x1250, 0x0} /*73.250000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x0DD0, 0x0} /*55.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F50, 0x0} /*61.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x10D0, 0x0} /*67.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x1350, 0x0} /*77.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x14D0, 0x0} /*83.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2BD0, 0x0} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2D50, 0x0} /*181.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x2ED0, 0x0} /*187.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3050, 0x0} /*193.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x31D0, 0x0} /*199.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3350, 0x0} /*205.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x34D0, 0x0} /*211.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x1E50, 0x0} /*121.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x1FD0, 0x0} /*127.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x2150, 0x0} /*133.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x22D0, 0x0} /*139.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x2450, 0x0} /*145.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x25D0, 0x0} /*151.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x2750, 0x0} /*157.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x28D0, 0x0} /*163.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x2A50, 0x0} /*169.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x3650, 0x0} /*217.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x37D0, 0x0} /*223.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x3950, 0x0} /*229.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x3AD0, 0x0} /*235.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x3C50, 0x0} /*241.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x3DD0, 0x0} /*247.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x3F50, 0x0} /*253.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x40D0, 0x0} /*259.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x4250, 0x0} /*265.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x43D0, 0x0} /*271.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x4550, 0x0} /*277.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x46D0, 0x0} /*283.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x4850, 0x0} /*289.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x49D0, 0x0} /*295.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x4B50, 0x0} /*301.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x4CD0, 0x0} /*307.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x4E50, 0x0} /*313.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x4FD0, 0x0} /*319.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x5150, 0x0} /*325.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x52D0, 0x0} /*331.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0x5450, 0x0} /*337.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0x55D0, 0x0} /*343.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0x5750, 0x0} /*349.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0x58D0, 0x0} /*355.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0x5A50, 0x0} /*361.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0x5BD0, 0x0} /*367.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0x5D50, 0x0} /*373.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0x5ED0, 0x0} /*379.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0x6050, 0x0} /*385.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0x61D0, 0x0} /*391.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0x6350, 0x0} /*397.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0x64D0, 0x0} /*403.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0x6650, 0x0} /*409.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0x67D0, 0x0} /*415.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0x6950, 0x0} /*421.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0x6AD0, 0x0} /*427.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0x6C50, 0x0} /*433.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0x6DD0, 0x0} /*439.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0x6F50, 0x0} /*445.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0x70D0, 0x0} /*451.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0x7250, 0x0} /*457.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0x73D0, 0x0} /*463.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0x7550, 0x0} /*469.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0x76D0, 0x0} /*475.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0x7850, 0x0} /*481.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0x79D0, 0x0} /*487.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0x7B50, 0x0} /*493.250000 MHz*/ ,
+ {{' ',' ','7','0'}, 0x7CD0, 0x0} /*499.250000 MHz*/ ,
+ {{' ',' ','7','1'}, 0x7E50, 0x0} /*505.250000 MHz*/ ,
+ {{' ',' ','7','2'}, 0x7FD0, 0x0} /*511.250000 MHz*/ ,
+ {{' ',' ','7','3'}, 0x8150, 0x0} /*517.250000 MHz*/ ,
+ {{' ',' ','7','4'}, 0x82D0, 0x0} /*523.250000 MHz*/ ,
+ {{' ',' ','7','5'}, 0x8450, 0x0} /*529.250000 MHz*/ ,
+ {{' ',' ','7','6'}, 0x85D0, 0x0} /*535.250000 MHz*/ ,
+ {{' ',' ','7','7'}, 0x8750, 0x0} /*541.250000 MHz*/ ,
+ {{' ',' ','7','8'}, 0x88D0, 0x0} /*547.250000 MHz*/ ,
+ {{' ',' ','7','9'}, 0x8A50, 0x0} /*553.250000 MHz*/ ,
+ {{' ',' ','8','0'}, 0x8BD0, 0x0} /*559.250000 MHz*/ ,
+ {{' ',' ','8','1'}, 0x8D50, 0x0} /*565.250000 MHz*/ ,
+ {{' ',' ','8','2'}, 0x8ED0, 0x0} /*571.250000 MHz*/ ,
+ {{' ',' ','8','3'}, 0x9050, 0x0} /*577.250000 MHz*/ ,
+ {{' ',' ','8','4'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','8','5'}, 0x9350, 0x0} /*589.250000 MHz*/ ,
+ {{' ',' ','8','6'}, 0x94D0, 0x0} /*595.250000 MHz*/ ,
+ {{' ',' ','8','7'}, 0x9650, 0x0} /*601.250000 MHz*/ ,
+ {{' ',' ','8','8'}, 0x97D0, 0x0} /*607.250000 MHz*/ ,
+ {{' ',' ','8','9'}, 0x9950, 0x0} /*613.250000 MHz*/ ,
+ {{' ',' ','9','0'}, 0x9AD0, 0x0} /*619.250000 MHz*/ ,
+ {{' ',' ','9','1'}, 0x9C50, 0x0} /*625.250000 MHz*/ ,
+ {{' ',' ','9','2'}, 0x9DD0, 0x0} /*631.250000 MHz*/ ,
+ {{' ',' ','9','3'}, 0x9F50, 0x0} /*637.250000 MHz*/ ,
+ {{' ',' ','9','4'}, 0xA0D0, 0x0} /*643.250000 MHz*/ ,
+ {{' ',' ','9','5'}, 0x16D0, 0x0} /*91.250000 MHz*/ ,
+ {{' ',' ','9','6'}, 0x1850, 0x0} /*97.250000 MHz*/ ,
+ {{' ',' ','9','7'}, 0x19D0, 0x0} /*103.250000 MHz*/ ,
+ {{' ',' ','9','8'}, 0x1B51, 0x0} /*109.265625 MHz*/ ,
+ {{' ',' ','9','9'}, 0x1CD1, 0x0} /*115.265625 MHz*/ ,
+ {{' ','1','0','0'}, 0xA250, 0x0} /*649.250000 MHz*/ ,
+ {{' ','1','0','1'}, 0xA3D0, 0x0} /*655.250000 MHz*/ ,
+ {{' ','1','0','2'}, 0xA550, 0x0} /*661.250000 MHz*/ ,
+ {{' ','1','0','3'}, 0xA6D0, 0x0} /*667.250000 MHz*/ ,
+ {{' ','1','0','4'}, 0xA850, 0x0} /*673.250000 MHz*/ ,
+ {{' ','1','0','5'}, 0xA9D0, 0x0} /*679.250000 MHz*/ ,
+ {{' ','1','0','6'}, 0xAB50, 0x0} /*685.250000 MHz*/ ,
+ {{' ','1','0','7'}, 0xACD0, 0x0} /*691.250000 MHz*/ ,
+ {{' ','1','0','8'}, 0xAE50, 0x0} /*697.250000 MHz*/ ,
+ {{' ','1','0','9'}, 0xAFD0, 0x0} /*703.250000 MHz*/ ,
+ {{' ','1','1','0'}, 0xB150, 0x0} /*709.250000 MHz*/ ,
+ {{' ','1','1','1'}, 0xB2D0, 0x0} /*715.250000 MHz*/ ,
+ {{' ','1','1','2'}, 0xB450, 0x0} /*721.250000 MHz*/ ,
+ {{' ','1','1','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ ,
+ {{' ','1','1','4'}, 0xB750, 0x0} /*733.250000 MHz*/ ,
+ {{' ','1','1','5'}, 0xB8D0, 0x0} /*739.250000 MHz*/ ,
+ {{' ','1','1','6'}, 0xBA50, 0x0} /*745.250000 MHz*/ ,
+ {{' ','1','1','7'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{' ','1','1','8'}, 0xBD50, 0x0} /*757.250000 MHz*/ ,
+ {{' ','1','1','9'}, 0xBED0, 0x0} /*763.250000 MHz*/ ,
+ {{' ','1','2','0'}, 0xC050, 0x0} /*769.250000 MHz*/ ,
+ {{' ','1','2','1'}, 0xC1D0, 0x0} /*775.250000 MHz*/ ,
+ {{' ','1','2','2'}, 0xC350, 0x0} /*781.250000 MHz*/ ,
+ {{' ','1','2','3'}, 0xC4D0, 0x0} /*787.250000 MHz*/ ,
+ {{' ','1','2','4'}, 0xC650, 0x0} /*793.250000 MHz*/ ,
+ {{' ','1','2','5'}, 0xC7D0, 0x0} /*799.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_taiwan_digital_cable = {
+ 125,
+ XC3028_channels_taiwan_digital_cable
+};
+
+XC3028_CHANNEL XC3028_channels_japan_analog_air[62] = {
+ {{' ',' ',' ','1'}, 0x16D0, 0x2} /*91.250000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x1850, 0x0} /*97.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x19D0, 0x0} /*103.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x2AD0, 0x0} /*171.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2C50, 0xF} /*177.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2DD0, 0x3} /*183.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2F50, 0xB} /*189.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x3050, 0xE} /*193.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x31D0, 0x0} /*199.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3350, 0xD} /*205.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x34D0, 0x0} /*211.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3650, 0x0} /*217.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x75D0, 0xB} /*471.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x7750, 0x3} /*477.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x78D0, 0xA} /*483.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x7A50, 0xC} /*489.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x7BD0, 0xE} /*495.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x7D50, 0xB} /*501.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x7ED0, 0x1} /*507.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x8050, 0xE} /*513.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x81D0, 0xF} /*519.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x8350, 0xF} /*525.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x84D0, 0xC} /*531.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x8650, 0xC} /*537.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x87D0, 0x2} /*543.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x8950, 0xF} /*549.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x8AD0, 0x0} /*555.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x8C50, 0x0} /*561.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x8DD0, 0x1} /*567.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x8F50, 0xD} /*573.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x90D0, 0xD} /*579.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x9250, 0xE} /*585.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x93D0, 0xF} /*591.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x9550, 0x0} /*597.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x96D0, 0x1} /*603.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x9850, 0xB} /*609.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x99D0, 0xC} /*615.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x9B50, 0xF} /*621.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x9CD0, 0xF} /*627.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9E50, 0x1} /*633.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9FD0, 0xE} /*639.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0xA150, 0xA} /*645.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA2D0, 0x4} /*651.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA450, 0x0} /*657.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA750, 0xF} /*669.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA8D0, 0xC} /*675.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xAA50, 0x0} /*681.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xABD0, 0x1} /*687.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAD50, 0x0} /*693.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xAED0, 0x1} /*699.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xB050, 0xC} /*705.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB1D0, 0xE} /*711.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB350, 0xE} /*717.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB4D0, 0xD} /*723.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xB650, 0xE} /*729.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xB7D0, 0xF} /*735.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xB950, 0xF} /*741.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xBAD0, 0xF} /*747.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xBC50, 0xF} /*753.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xBDD0, 0x1} /*759.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xBF50, 0x1} /*765.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_japan_analog_air = {
+ 62,
+ XC3028_channels_japan_analog_air
+};
+
+XC3028_CHANNEL XC3028_channels_japan_analog_cable[62] = {
+ {{' ',' ',' ','1'}, 0x16D0, 0x2} /*91.250000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x1850, 0x0} /*97.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x19D0, 0x0} /*103.250000 MHz*/ ,
+ {{' ',' ','M','1'}, 0x1B50, 0x0} /*109.250000 MHz*/ ,
+ {{' ',' ','M','2'}, 0x1CD0, 0x1} /*115.250000 MHz*/ ,
+ {{' ',' ','M','3'}, 0x1E50, 0x2} /*121.250000 MHz*/ ,
+ {{' ',' ','M','4'}, 0x1FD0, 0xB} /*127.250000 MHz*/ ,
+ {{' ',' ','M','5'}, 0x2150, 0xC} /*133.250000 MHz*/ ,
+ {{' ',' ','M','6'}, 0x22D0, 0xA} /*139.250000 MHz*/ ,
+ {{' ',' ','M','7'}, 0x2450, 0xB} /*145.250000 MHz*/ ,
+ {{' ',' ','M','8'}, 0x25D0, 0x0} /*151.250000 MHz*/ ,
+ {{' ',' ','M','9'}, 0x2750, 0xB} /*157.250000 MHz*/ ,
+ {{' ','M','1','0'}, 0x2950, 0x1} /*165.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x2AD0, 0x0} /*171.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2C50, 0xF} /*177.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2DD0, 0x3} /*183.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2F50, 0xB} /*189.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x3050, 0xE} /*193.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x31D0, 0x0} /*199.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3350, 0xD} /*205.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x34D0, 0x0} /*211.250000 MHz*/ ,
+ {{' ',' ','S','1'}, 0x37D0, 0xD} /*223.250000 MHz*/ ,
+ {{' ',' ','S','2'}, 0x3950, 0x0} /*229.250000 MHz*/ ,
+ {{' ',' ','S','3'}, 0x3AD0, 0x0} /*235.250000 MHz*/ ,
+ {{' ',' ','S','4'}, 0x3C50, 0x0} /*241.250000 MHz*/ ,
+ {{' ',' ','S','5'}, 0x3DD0, 0xF} /*247.250000 MHz*/ ,
+ {{' ',' ','S','6'}, 0x3F50, 0x2} /*253.250000 MHz*/ ,
+ {{' ',' ','S','7'}, 0x40D0, 0x5} /*259.250000 MHz*/ ,
+ {{' ',' ','S','8'}, 0x4250, 0x3} /*265.250000 MHz*/ ,
+ {{' ',' ','S','9'}, 0x43D0, 0xC} /*271.250000 MHz*/ ,
+ {{' ','S','1','0'}, 0x4550, 0xE} /*277.250000 MHz*/ ,
+ {{' ','S','1','1'}, 0x46D0, 0x1} /*283.250000 MHz*/ ,
+ {{' ','S','1','2'}, 0x4850, 0xF} /*289.250000 MHz*/ ,
+ {{' ','S','1','3'}, 0x49D0, 0xF} /*295.250000 MHz*/ ,
+ {{' ','S','1','4'}, 0x4B50, 0xC} /*301.250000 MHz*/ ,
+ {{' ','S','1','5'}, 0x4CD0, 0xE} /*307.250000 MHz*/ ,
+ {{' ','S','1','6'}, 0x4E50, 0xC} /*313.250000 MHz*/ ,
+ {{' ','S','1','7'}, 0x4FD0, 0xE} /*319.250000 MHz*/ ,
+ {{' ','S','1','8'}, 0x5150, 0xE} /*325.250000 MHz*/ ,
+ {{' ','S','1','9'}, 0x52D0, 0x1} /*331.250000 MHz*/ ,
+ {{' ','S','2','0'}, 0x5450, 0x5} /*337.250000 MHz*/ ,
+ {{' ','S','2','1'}, 0x55D0, 0x0} /*343.250000 MHz*/ ,
+ {{' ','S','2','2'}, 0x5750, 0x4} /*349.250000 MHz*/ ,
+ {{' ','S','2','3'}, 0x58D0, 0xB} /*355.250000 MHz*/ ,
+ {{' ','S','2','4'}, 0x5A50, 0xC} /*361.250000 MHz*/ ,
+ {{' ','S','2','5'}, 0x5BD0, 0xD} /*367.250000 MHz*/ ,
+ {{' ','S','2','6'}, 0x5D50, 0xB} /*373.250000 MHz*/ ,
+ {{' ','S','2','7'}, 0x5ED0, 0xB} /*379.250000 MHz*/ ,
+ {{' ','S','2','8'}, 0x6050, 0xB} /*385.250000 MHz*/ ,
+ {{' ','S','2','9'}, 0x61D0, 0xD} /*391.250000 MHz*/ ,
+ {{' ','S','3','0'}, 0x6350, 0x1} /*397.250000 MHz*/ ,
+ {{' ','S','3','1'}, 0x64D0, 0x3} /*403.250000 MHz*/ ,
+ {{' ','S','3','2'}, 0x6650, 0xB} /*409.250000 MHz*/ ,
+ {{' ','S','3','3'}, 0x67D0, 0x2} /*415.250000 MHz*/ ,
+ {{' ','S','3','4'}, 0x6950, 0xB} /*421.250000 MHz*/ ,
+ {{' ','S','3','5'}, 0x6AD0, 0xE} /*427.250000 MHz*/ ,
+ {{' ','S','3','6'}, 0x6C50, 0x0} /*433.250000 MHz*/ ,
+ {{' ','S','3','7'}, 0x6DD0, 0xB} /*439.250000 MHz*/ ,
+ {{' ','S','3','8'}, 0x6F50, 0xE} /*445.250000 MHz*/ ,
+ {{' ','S','3','9'}, 0x70D0, 0x3} /*451.250000 MHz*/ ,
+ {{' ','S','4','0'}, 0x7250, 0xC} /*457.250000 MHz*/ ,
+ {{' ','S','4','1'}, 0x73D0, 0xE} /*463.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_japan_analog_cable = {
+ 62,
+ XC3028_channels_japan_analog_cable
+};
+
+XC3028_CHANNEL XC3028_channels_japan_digital_air[62] = {
+ {{' ',' ',' ','1'}, 0x16D0, 0x0} /*91.250000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x1850, 0x0} /*97.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x19D0, 0x0} /*103.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x2AD0, 0x0} /*171.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2C50, 0x0} /*177.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2DD0, 0x0} /*183.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2F50, 0x0} /*189.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x3050, 0x0} /*193.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x31D0, 0x0} /*199.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3350, 0x0} /*205.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x34D0, 0x0} /*211.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3650, 0x0} /*217.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x75D0, 0x0} /*471.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x7750, 0x0} /*477.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x78D0, 0x0} /*483.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x7A50, 0x0} /*489.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x7BD0, 0x0} /*495.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x7D50, 0x0} /*501.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x7ED0, 0x0} /*507.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x8050, 0x0} /*513.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x8350, 0x0} /*525.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x84D0, 0x0} /*531.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x8650, 0x0} /*537.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x8950, 0x0} /*549.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x8AD0, 0x0} /*555.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x8C50, 0x0} /*561.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x8DD0, 0x0} /*567.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x8F50, 0x0} /*573.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x90D0, 0x0} /*579.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x9250, 0x0} /*585.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x93D0, 0x0} /*591.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x9550, 0x0} /*597.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x96D0, 0x0} /*603.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x9850, 0x0} /*609.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x99D0, 0x0} /*615.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x9B50, 0x0} /*621.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x9CD0, 0x0} /*627.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9E50, 0x0} /*633.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9FD0, 0x0} /*639.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0xA150, 0x0} /*645.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA2D0, 0x0} /*651.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA450, 0x0} /*657.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA750, 0x0} /*669.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA8D0, 0x0} /*675.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xAA50, 0x0} /*681.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAD50, 0x0} /*693.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xAED0, 0x0} /*699.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xB050, 0x0} /*705.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB350, 0x0} /*717.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB4D0, 0x0} /*723.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xB650, 0x0} /*729.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xB7D0, 0x0} /*735.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xB950, 0x0} /*741.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xBAD0, 0x0} /*747.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xBC50, 0x0} /*753.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xBF50, 0x0} /*765.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_japan_digital_air = {
+ 62,
+ XC3028_channels_japan_digital_air
+};
+
+XC3028_CHANNEL XC3028_channels_japan_digital_cable[62] = {
+ {{' ',' ',' ','1'}, 0x16D0, 0x0} /*91.250000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x1850, 0x0} /*97.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x19D0, 0x0} /*103.250000 MHz*/ ,
+ {{' ',' ','M','1'}, 0x1B50, 0x0} /*109.250000 MHz*/ ,
+ {{' ',' ','M','2'}, 0x1CD0, 0x0} /*115.250000 MHz*/ ,
+ {{' ',' ','M','3'}, 0x1E50, 0x0} /*121.250000 MHz*/ ,
+ {{' ',' ','M','4'}, 0x1FD0, 0x0} /*127.250000 MHz*/ ,
+ {{' ',' ','M','5'}, 0x2150, 0x0} /*133.250000 MHz*/ ,
+ {{' ',' ','M','6'}, 0x22D0, 0x0} /*139.250000 MHz*/ ,
+ {{' ',' ','M','7'}, 0x2450, 0x0} /*145.250000 MHz*/ ,
+ {{' ',' ','M','8'}, 0x25D0, 0x0} /*151.250000 MHz*/ ,
+ {{' ',' ','M','9'}, 0x2750, 0x0} /*157.250000 MHz*/ ,
+ {{' ','M','1','0'}, 0x2950, 0x0} /*165.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x2AD0, 0x0} /*171.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2C50, 0x0} /*177.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2DD0, 0x0} /*183.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2F50, 0x0} /*189.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x3050, 0x0} /*193.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x31D0, 0x0} /*199.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3350, 0x0} /*205.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x34D0, 0x0} /*211.250000 MHz*/ ,
+ {{' ',' ','S','1'}, 0x37D0, 0x0} /*223.250000 MHz*/ ,
+ {{' ',' ','S','2'}, 0x3950, 0x0} /*229.250000 MHz*/ ,
+ {{' ',' ','S','3'}, 0x3AD0, 0x0} /*235.250000 MHz*/ ,
+ {{' ',' ','S','4'}, 0x3C50, 0x0} /*241.250000 MHz*/ ,
+ {{' ',' ','S','5'}, 0x3DD0, 0x0} /*247.250000 MHz*/ ,
+ {{' ',' ','S','6'}, 0x3F50, 0x0} /*253.250000 MHz*/ ,
+ {{' ',' ','S','7'}, 0x40D0, 0x0} /*259.250000 MHz*/ ,
+ {{' ',' ','S','8'}, 0x4250, 0x0} /*265.250000 MHz*/ ,
+ {{' ',' ','S','9'}, 0x43D0, 0x0} /*271.250000 MHz*/ ,
+ {{' ','S','1','0'}, 0x4550, 0x0} /*277.250000 MHz*/ ,
+ {{' ','S','1','1'}, 0x46D0, 0x0} /*283.250000 MHz*/ ,
+ {{' ','S','1','2'}, 0x4850, 0x0} /*289.250000 MHz*/ ,
+ {{' ','S','1','3'}, 0x49D0, 0x0} /*295.250000 MHz*/ ,
+ {{' ','S','1','4'}, 0x4B50, 0x0} /*301.250000 MHz*/ ,
+ {{' ','S','1','5'}, 0x4CD0, 0x0} /*307.250000 MHz*/ ,
+ {{' ','S','1','6'}, 0x4E50, 0x0} /*313.250000 MHz*/ ,
+ {{' ','S','1','7'}, 0x4FD0, 0x0} /*319.250000 MHz*/ ,
+ {{' ','S','1','8'}, 0x5150, 0x0} /*325.250000 MHz*/ ,
+ {{' ','S','1','9'}, 0x52D0, 0x0} /*331.250000 MHz*/ ,
+ {{' ','S','2','0'}, 0x5450, 0x0} /*337.250000 MHz*/ ,
+ {{' ','S','2','1'}, 0x55D0, 0x0} /*343.250000 MHz*/ ,
+ {{' ','S','2','2'}, 0x5750, 0x0} /*349.250000 MHz*/ ,
+ {{' ','S','2','3'}, 0x58D0, 0x0} /*355.250000 MHz*/ ,
+ {{' ','S','2','4'}, 0x5A50, 0x0} /*361.250000 MHz*/ ,
+ {{' ','S','2','5'}, 0x5BD0, 0x0} /*367.250000 MHz*/ ,
+ {{' ','S','2','6'}, 0x5D50, 0x0} /*373.250000 MHz*/ ,
+ {{' ','S','2','7'}, 0x5ED0, 0x0} /*379.250000 MHz*/ ,
+ {{' ','S','2','8'}, 0x6050, 0x0} /*385.250000 MHz*/ ,
+ {{' ','S','2','9'}, 0x61D0, 0x0} /*391.250000 MHz*/ ,
+ {{' ','S','3','0'}, 0x6350, 0x0} /*397.250000 MHz*/ ,
+ {{' ','S','3','1'}, 0x64D0, 0x0} /*403.250000 MHz*/ ,
+ {{' ','S','3','2'}, 0x6650, 0x0} /*409.250000 MHz*/ ,
+ {{' ','S','3','3'}, 0x67D0, 0x0} /*415.250000 MHz*/ ,
+ {{' ','S','3','4'}, 0x6950, 0x0} /*421.250000 MHz*/ ,
+ {{' ','S','3','5'}, 0x6AD0, 0x0} /*427.250000 MHz*/ ,
+ {{' ','S','3','6'}, 0x6C50, 0x0} /*433.250000 MHz*/ ,
+ {{' ','S','3','7'}, 0x6DD0, 0x0} /*439.250000 MHz*/ ,
+ {{' ','S','3','8'}, 0x6F50, 0x0} /*445.250000 MHz*/ ,
+ {{' ','S','3','9'}, 0x70D0, 0x0} /*451.250000 MHz*/ ,
+ {{' ','S','4','0'}, 0x7250, 0x0} /*457.250000 MHz*/ ,
+ {{' ','S','4','1'}, 0x73D0, 0x0} /*463.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_japan_digital_cable = {
+ 62,
+ XC3028_channels_japan_digital_cable
+};
+
+XC3028_CHANNEL XC3028_channels_ccir_analog_air[60] = {
+ {{' ',' ',' ','2'}, 0x0C10, 0xA} /*48.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0DD0, 0x5} /*55.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x0F90, 0xA} /*62.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2BD0, 0xC} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2D90, 0x1} /*182.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2F50, 0x5} /*189.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x3110, 0x1} /*196.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x32D0, 0x4} /*203.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3490, 0x0} /*210.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x3650, 0x0} /*217.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3810, 0x5} /*224.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x75D0, 0x1} /*471.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x77D0, 0x3} /*479.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x79D0, 0xC} /*487.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x7BD0, 0xF} /*495.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x7DD0, 0xC} /*503.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x7FD0, 0xE} /*511.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x83D0, 0x2} /*527.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x85D0, 0x4} /*535.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x8BD0, 0xF} /*559.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x8DD0, 0xA} /*567.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x8FD0, 0xE} /*575.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x93D0, 0xF} /*591.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x95D0, 0x1} /*599.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x97D0, 0xC} /*607.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x99D0, 0xD} /*615.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9BD0, 0xF} /*623.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9DD0, 0xE} /*631.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x2} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA1D0, 0xB} /*647.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA3D0, 0xF} /*655.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA5D0, 0xD} /*663.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA7D0, 0xF} /*671.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA9D0, 0xD} /*679.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xADD0, 0xE} /*695.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAFD0, 0x2} /*703.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xB3D0, 0x5} /*719.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB5D0, 0x1} /*727.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB7D0, 0x2} /*735.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB9D0, 0x3} /*743.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xBBD0, 0x2} /*751.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xBDD0, 0xE} /*759.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xBFD0, 0xF} /*767.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xC1D0, 0x3} /*775.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xC3D0, 0xD} /*783.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xC5D0, 0xE} /*791.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xC7D0, 0xF} /*799.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xC9D0, 0xC} /*807.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xCBD0, 0x4} /*815.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xCDD0, 0xE} /*823.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xCFD0, 0x2} /*831.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xD1D0, 0x5} /*839.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xD3D0, 0x0} /*847.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xD5D0, 0x1} /*855.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_ccir_analog_air = {
+ 60,
+ XC3028_channels_ccir_analog_air
+};
+
+XC3028_CHANNEL XC3028_channels_ccir_analog_cable[57] = {
+ {{' ',' ','E','2'}, 0x0C10, 0xA} /*48.250000 MHz*/ ,
+ {{' ',' ','E','3'}, 0x0DD0, 0x5} /*55.250000 MHz*/ ,
+ {{' ',' ','E','4'}, 0x0F90, 0xA} /*62.250000 MHz*/ ,
+ {{' ',' ',' ','X'}, 0x1150, 0xC} /*69.250000 MHz*/ ,
+ {{' ',' ',' ','Y'}, 0x1310, 0x5} /*76.250000 MHz*/ ,
+ {{' ',' ',' ','Z'}, 0x14D0, 0x2} /*83.250000 MHz*/ ,
+ {{' ','Z','+','1'}, 0x1690, 0x3} /*90.250000 MHz*/ ,
+ {{' ','Z','+','2'}, 0x1850, 0xF} /*97.250000 MHz*/ ,
+ {{' ',' ','S','1'}, 0x1A50, 0x1} /*105.250000 MHz*/ ,
+ {{' ',' ','S','2'}, 0x1C10, 0xB} /*112.250000 MHz*/ ,
+ {{' ',' ','S','3'}, 0x1DD0, 0x2} /*119.250000 MHz*/ ,
+ {{' ',' ','S','4'}, 0x1F90, 0xA} /*126.250000 MHz*/ ,
+ {{' ',' ','S','5'}, 0x2150, 0x4} /*133.250000 MHz*/ ,
+ {{' ',' ','S','6'}, 0x2310, 0x0} /*140.250000 MHz*/ ,
+ {{' ',' ','S','7'}, 0x24D0, 0xE} /*147.250000 MHz*/ ,
+ {{' ',' ','S','8'}, 0x2690, 0x2} /*154.250000 MHz*/ ,
+ {{' ',' ','S','9'}, 0x2850, 0xF} /*161.250000 MHz*/ ,
+ {{' ','S','1','0'}, 0x2A10, 0x2} /*168.250000 MHz*/ ,
+ {{' ',' ','E','5'}, 0x2BD0, 0xC} /*175.250000 MHz*/ ,
+ {{' ',' ','E','6'}, 0x2D90, 0x1} /*182.250000 MHz*/ ,
+ {{' ',' ','E','7'}, 0x2F50, 0x5} /*189.250000 MHz*/ ,
+ {{' ',' ','E','8'}, 0x3110, 0x1} /*196.250000 MHz*/ ,
+ {{' ',' ','E','9'}, 0x32D0, 0x4} /*203.250000 MHz*/ ,
+ {{' ','E','1','0'}, 0x3490, 0x0} /*210.250000 MHz*/ ,
+ {{' ','E','1','1'}, 0x3650, 0x0} /*217.250000 MHz*/ ,
+ {{' ','E','1','2'}, 0x3810, 0x5} /*224.250000 MHz*/ ,
+ {{' ','S','1','1'}, 0x39D0, 0x1} /*231.250000 MHz*/ ,
+ {{' ','S','1','2'}, 0x3B90, 0x5} /*238.250000 MHz*/ ,
+ {{' ','S','1','3'}, 0x3D50, 0xF} /*245.250000 MHz*/ ,
+ {{' ','S','1','4'}, 0x3F10, 0xD} /*252.250000 MHz*/ ,
+ {{' ','S','1','5'}, 0x40D0, 0xF} /*259.250000 MHz*/ ,
+ {{' ','S','1','6'}, 0x4290, 0x4} /*266.250000 MHz*/ ,
+ {{' ','S','1','7'}, 0x4450, 0x0} /*273.250000 MHz*/ ,
+ {{' ','S','1','8'}, 0x4610, 0x0} /*280.250000 MHz*/ ,
+ {{' ','S','1','9'}, 0x47D0, 0xF} /*287.250000 MHz*/ ,
+ {{' ','S','2','0'}, 0x4990, 0x1} /*294.250000 MHz*/ ,
+ {{' ','S','2','1'}, 0x4B50, 0x0} /*301.250000 MHz*/ ,
+ {{' ','S','2','2'}, 0x4DD0, 0x1} /*311.250000 MHz*/ ,
+ {{' ','S','2','3'}, 0x4FD0, 0xF} /*319.250000 MHz*/ ,
+ {{' ','S','2','4'}, 0x51D0, 0x0} /*327.250000 MHz*/ ,
+ {{' ','S','2','5'}, 0x53D0, 0xF} /*335.250000 MHz*/ ,
+ {{' ','S','2','6'}, 0x55D0, 0x0} /*343.250000 MHz*/ ,
+ {{' ','S','2','7'}, 0x57D0, 0x3} /*351.250000 MHz*/ ,
+ {{' ','S','2','8'}, 0x59D0, 0x0} /*359.250000 MHz*/ ,
+ {{' ','S','2','9'}, 0x5BD0, 0x0} /*367.250000 MHz*/ ,
+ {{' ','S','3','0'}, 0x5DD0, 0x0} /*375.250000 MHz*/ ,
+ {{' ','S','3','1'}, 0x5FD0, 0x2} /*383.250000 MHz*/ ,
+ {{' ','S','3','2'}, 0x61D0, 0x0} /*391.250000 MHz*/ ,
+ {{' ','S','3','3'}, 0x63D0, 0x0} /*399.250000 MHz*/ ,
+ {{' ','S','3','4'}, 0x65D0, 0x0} /*407.250000 MHz*/ ,
+ {{' ','S','3','5'}, 0x67D0, 0xE} /*415.250000 MHz*/ ,
+ {{' ','S','3','6'}, 0x69D0, 0xC} /*423.250000 MHz*/ ,
+ {{' ','S','3','7'}, 0x6BD0, 0x3} /*431.250000 MHz*/ ,
+ {{' ','S','3','8'}, 0x6DD0, 0x1} /*439.250000 MHz*/ ,
+ {{' ','S','3','9'}, 0x6FD0, 0x3} /*447.250000 MHz*/ ,
+ {{' ','S','4','0'}, 0x71D0, 0x5} /*455.250000 MHz*/ ,
+ {{' ','S','4','1'}, 0x73D0, 0xE} /*463.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_ccir_analog_cable = {
+ 57,
+ XC3028_channels_ccir_analog_cable
+};
+
+XC3028_CHANNEL XC3028_channels_ccir_digital_air[60] = {
+ {{' ',' ',' ','2'}, 0x0C10, 0x0} /*48.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0DD0, 0x0} /*55.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x0F90, 0x0} /*62.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2BD0, 0x0} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2D90, 0x0} /*182.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2F50, 0x0} /*189.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x3110, 0x0} /*196.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x32D0, 0x0} /*203.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3490, 0x0} /*210.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x3650, 0x0} /*217.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3810, 0x0} /*224.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x75D0, 0x0} /*471.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x77D0, 0x0} /*479.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x79D0, 0x0} /*487.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x7BD0, 0x0} /*495.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x7DD0, 0x0} /*503.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x7FD0, 0x0} /*511.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x83D0, 0x0} /*527.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x85D0, 0x0} /*535.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x8BD0, 0x0} /*559.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x8DD0, 0x0} /*567.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x8FD0, 0x0} /*575.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x93D0, 0x0} /*591.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x95D0, 0x0} /*599.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x97D0, 0x0} /*607.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x99D0, 0x0} /*615.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9BD0, 0x0} /*623.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9DD0, 0x0} /*631.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x0} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA1D0, 0x0} /*647.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA3D0, 0x0} /*655.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA7D0, 0x0} /*671.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA9D0, 0x0} /*679.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xADD0, 0x0} /*695.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAFD0, 0x0} /*703.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xB3D0, 0x0} /*719.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB7D0, 0x0} /*735.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB9D0, 0x0} /*743.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xBFD0, 0x0} /*767.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xC1D0, 0x0} /*775.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xC3D0, 0x0} /*783.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xC5D0, 0x0} /*791.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xC7D0, 0x0} /*799.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xC9D0, 0x0} /*807.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xCBD0, 0x0} /*815.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xCDD0, 0x0} /*823.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xCFD0, 0x0} /*831.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xD1D0, 0x0} /*839.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xD3D0, 0x0} /*847.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xD5D0, 0x0} /*855.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_ccir_digital_air = {
+ 60,
+ XC3028_channels_ccir_digital_air
+};
+
+XC3028_CHANNEL XC3028_channels_ccir_digital_cable[57] = {
+ {{' ',' ','E','2'}, 0x0C10, 0x0} /*48.250000 MHz*/ ,
+ {{' ',' ','E','3'}, 0x0DD0, 0x0} /*55.250000 MHz*/ ,
+ {{' ',' ','E','4'}, 0x0F90, 0x0} /*62.250000 MHz*/ ,
+ {{' ',' ',' ','X'}, 0x1150, 0x0} /*69.250000 MHz*/ ,
+ {{' ',' ',' ','Y'}, 0x1310, 0x0} /*76.250000 MHz*/ ,
+ {{' ',' ',' ','Z'}, 0x14D0, 0x0} /*83.250000 MHz*/ ,
+ {{' ','Z','+','1'}, 0x1690, 0x0} /*90.250000 MHz*/ ,
+ {{' ','Z','+','2'}, 0x1850, 0x0} /*97.250000 MHz*/ ,
+ {{' ',' ','S','1'}, 0x1A50, 0x0} /*105.250000 MHz*/ ,
+ {{' ',' ','S','2'}, 0x1C10, 0x0} /*112.250000 MHz*/ ,
+ {{' ',' ','S','3'}, 0x1DD0, 0x0} /*119.250000 MHz*/ ,
+ {{' ',' ','S','4'}, 0x1F90, 0x0} /*126.250000 MHz*/ ,
+ {{' ',' ','S','5'}, 0x2150, 0x0} /*133.250000 MHz*/ ,
+ {{' ',' ','S','6'}, 0x2310, 0x0} /*140.250000 MHz*/ ,
+ {{' ',' ','S','7'}, 0x24D0, 0x0} /*147.250000 MHz*/ ,
+ {{' ',' ','S','8'}, 0x2690, 0x0} /*154.250000 MHz*/ ,
+ {{' ',' ','S','9'}, 0x2850, 0x0} /*161.250000 MHz*/ ,
+ {{' ','S','1','0'}, 0x2A10, 0x0} /*168.250000 MHz*/ ,
+ {{' ',' ','E','5'}, 0x2BD0, 0x0} /*175.250000 MHz*/ ,
+ {{' ',' ','E','6'}, 0x2D90, 0x0} /*182.250000 MHz*/ ,
+ {{' ',' ','E','7'}, 0x2F50, 0x0} /*189.250000 MHz*/ ,
+ {{' ',' ','E','8'}, 0x3110, 0x0} /*196.250000 MHz*/ ,
+ {{' ',' ','E','9'}, 0x32D0, 0x0} /*203.250000 MHz*/ ,
+ {{' ','E','1','0'}, 0x3490, 0x0} /*210.250000 MHz*/ ,
+ {{' ','E','1','1'}, 0x3650, 0x0} /*217.250000 MHz*/ ,
+ {{' ','E','1','2'}, 0x3810, 0x0} /*224.250000 MHz*/ ,
+ {{' ','S','1','1'}, 0x39D0, 0x0} /*231.250000 MHz*/ ,
+ {{' ','S','1','2'}, 0x3B90, 0x0} /*238.250000 MHz*/ ,
+ {{' ','S','1','3'}, 0x3D50, 0x0} /*245.250000 MHz*/ ,
+ {{' ','S','1','4'}, 0x3F10, 0x0} /*252.250000 MHz*/ ,
+ {{' ','S','1','5'}, 0x40D0, 0x0} /*259.250000 MHz*/ ,
+ {{' ','S','1','6'}, 0x4290, 0x0} /*266.250000 MHz*/ ,
+ {{' ','S','1','7'}, 0x4450, 0x0} /*273.250000 MHz*/ ,
+ {{' ','S','1','8'}, 0x4610, 0x0} /*280.250000 MHz*/ ,
+ {{' ','S','1','9'}, 0x47D0, 0x0} /*287.250000 MHz*/ ,
+ {{' ','S','2','0'}, 0x4990, 0x0} /*294.250000 MHz*/ ,
+ {{' ','S','2','1'}, 0x4B50, 0x0} /*301.250000 MHz*/ ,
+ {{' ','S','2','2'}, 0x4DD0, 0x0} /*311.250000 MHz*/ ,
+ {{' ','S','2','3'}, 0x4FD0, 0x0} /*319.250000 MHz*/ ,
+ {{' ','S','2','4'}, 0x51D0, 0x0} /*327.250000 MHz*/ ,
+ {{' ','S','2','5'}, 0x53D0, 0x0} /*335.250000 MHz*/ ,
+ {{' ','S','2','6'}, 0x55D0, 0x0} /*343.250000 MHz*/ ,
+ {{' ','S','2','7'}, 0x57D0, 0x0} /*351.250000 MHz*/ ,
+ {{' ','S','2','8'}, 0x59D0, 0x0} /*359.250000 MHz*/ ,
+ {{' ','S','2','9'}, 0x5BD0, 0x0} /*367.250000 MHz*/ ,
+ {{' ','S','3','0'}, 0x5DD0, 0x0} /*375.250000 MHz*/ ,
+ {{' ','S','3','1'}, 0x5FD0, 0x0} /*383.250000 MHz*/ ,
+ {{' ','S','3','2'}, 0x61D0, 0x0} /*391.250000 MHz*/ ,
+ {{' ','S','3','3'}, 0x63D0, 0x0} /*399.250000 MHz*/ ,
+ {{' ','S','3','4'}, 0x65D0, 0x0} /*407.250000 MHz*/ ,
+ {{' ','S','3','5'}, 0x67D0, 0x0} /*415.250000 MHz*/ ,
+ {{' ','S','3','6'}, 0x69D0, 0x0} /*423.250000 MHz*/ ,
+ {{' ','S','3','7'}, 0x6BD0, 0x0} /*431.250000 MHz*/ ,
+ {{' ','S','3','8'}, 0x6DD0, 0x0} /*439.250000 MHz*/ ,
+ {{' ','S','3','9'}, 0x6FD0, 0x0} /*447.250000 MHz*/ ,
+ {{' ','S','4','0'}, 0x71D0, 0x0} /*455.250000 MHz*/ ,
+ {{' ','S','4','1'}, 0x73D0, 0x0} /*463.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_ccir_digital_cable = {
+ 57,
+ XC3028_channels_ccir_digital_cable
+};
+
+XC3028_CHANNEL XC3028_channels_france_analog_air[59] = {
+ {{' ',' ',' ','1'}, 0x0BF0, 0xD} /*47.750000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x0DF0, 0x6} /*55.750000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F20, 0x7} /*60.500000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x0FF0, 0xB} /*63.750000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2C00, 0xD} /*176.000000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2E00, 0x3} /*184.000000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x3000, 0xD} /*192.000000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x3200, 0x1} /*200.000000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x3400, 0xD} /*208.000000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3600, 0xA} /*216.000000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x75D0, 0x1} /*471.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x77D0, 0x3} /*479.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x79D0, 0xC} /*487.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x7BD0, 0xF} /*495.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x7DD0, 0xC} /*503.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x7FD0, 0xE} /*511.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x83D0, 0x2} /*527.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x85D0, 0x4} /*535.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x8BD0, 0xF} /*559.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x8DD0, 0xA} /*567.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x8FD0, 0xE} /*575.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x93D0, 0xF} /*591.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x95D0, 0x1} /*599.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x97D0, 0xC} /*607.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x99D0, 0xD} /*615.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9BD0, 0xF} /*623.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9DD0, 0xE} /*631.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x6} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA1D0, 0xB} /*647.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA3D0, 0xF} /*655.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA5D0, 0xD} /*663.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA7D0, 0xF} /*671.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA9D0, 0xD} /*679.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xADD0, 0xE} /*695.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAFD0, 0x2} /*703.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xB3D0, 0x5} /*719.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB5D0, 0x1} /*727.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB7D0, 0x2} /*735.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB9D0, 0x3} /*743.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xBBD0, 0x2} /*751.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xBDD0, 0xE} /*759.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xBFD0, 0xF} /*767.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xC1D0, 0x3} /*775.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xC3D0, 0xD} /*783.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xC5D0, 0xE} /*791.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xC7D0, 0xF} /*799.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xC9D0, 0xC} /*807.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xCBD0, 0x4} /*815.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xCDD0, 0xE} /*823.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xCFD0, 0x2} /*831.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xD1D0, 0x5} /*839.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xD3D0, 0x7} /*847.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xD5D0, 0x1} /*855.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_france_analog_air = {
+ 59,
+ XC3028_channels_france_analog_air
+};
+
+XC3028_CHANNEL XC3028_channels_france_analog_cable[89] = {
+ {{' ',' ',' ','1'}, 0x0BF0, 0xD} /*47.750000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x0DF0, 0x7} /*55.750000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F20, 0x7} /*60.500000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x0FF0, 0xB} /*63.750000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2C00, 0xD} /*176.000000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2E00, 0x3} /*184.000000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x3000, 0xD} /*192.000000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x3200, 0x1} /*200.000000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x3400, 0xD} /*208.000000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3600, 0xA} /*216.000000 MHz*/ ,
+ {{' ','S','C','1'}, 0x1E00, 0x7} /*120.000000 MHz*/ ,
+ {{' ','S','C','2'}, 0x2000, 0xA} /*128.000000 MHz*/ ,
+ {{' ','S','C','3'}, 0x2200, 0xF} /*136.000000 MHz*/ ,
+ {{' ','S','C','4'}, 0x2400, 0x0} /*144.000000 MHz*/ ,
+ {{' ','S','C','5'}, 0x2600, 0x0} /*152.000000 MHz*/ ,
+ {{' ','S','C','6'}, 0x2800, 0xD} /*160.000000 MHz*/ ,
+ {{' ','S','C','7'}, 0x2A00, 0x3} /*168.000000 MHz*/ ,
+ {{' ','S','C','8'}, 0x3800, 0x5} /*224.000000 MHz*/ ,
+ {{' ','S','C','9'}, 0x3A00, 0x2} /*232.000000 MHz*/ ,
+ {{'S','C','1','0'}, 0x3C00, 0xC} /*240.000000 MHz*/ ,
+ {{'S','C','1','1'}, 0x3E00, 0xA} /*248.000000 MHz*/ ,
+ {{'S','C','1','2'}, 0x4000, 0x4} /*256.000000 MHz*/ ,
+ {{'S','C','1','3'}, 0x4200, 0x2} /*264.000000 MHz*/ ,
+ {{'S','C','1','4'}, 0x4400, 0x5} /*272.000000 MHz*/ ,
+ {{'S','C','1','5'}, 0x4600, 0xB} /*280.000000 MHz*/ ,
+ {{'S','C','1','6'}, 0x4800, 0xF} /*288.000000 MHz*/ ,
+ {{'S','C','1','7'}, 0x4BD0, 0x3} /*303.250000 MHz*/ ,
+ {{'S','C','1','8'}, 0x4ED0, 0x2} /*315.250000 MHz*/ ,
+ {{'S','C','1','9'}, 0x51D0, 0x0} /*327.250000 MHz*/ ,
+ {{'S','C','2','0'}, 0x54D0, 0x0} /*339.250000 MHz*/ ,
+ {{'S','C','2','1'}, 0x57D0, 0xF} /*351.250000 MHz*/ ,
+ {{'S','C','2','2'}, 0x5AD0, 0x0} /*363.250000 MHz*/ ,
+ {{'S','C','2','3'}, 0x5DD0, 0x0} /*375.250000 MHz*/ ,
+ {{'S','C','2','4'}, 0x60D0, 0x0} /*387.250000 MHz*/ ,
+ {{'S','C','2','5'}, 0x63D0, 0x0} /*399.250000 MHz*/ ,
+ {{'S','C','2','6'}, 0x66D0, 0xD} /*411.250000 MHz*/ ,
+ {{'S','C','2','7'}, 0x69D0, 0xB} /*423.250000 MHz*/ ,
+ {{'S','C','2','8'}, 0x6CD0, 0xC} /*435.250000 MHz*/ ,
+ {{'S','C','2','9'}, 0x6FD0, 0x7} /*447.250000 MHz*/ ,
+ {{'S','C','3','0'}, 0x72D0, 0x2} /*459.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x75D0, 0x1} /*471.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x77D0, 0x3} /*479.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x79D0, 0xC} /*487.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x7BD0, 0xF} /*495.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x7DD0, 0xC} /*503.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x7FD0, 0xE} /*511.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x83D0, 0x2} /*527.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x85D0, 0x4} /*535.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x8BD0, 0xF} /*559.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x8DD0, 0xA} /*567.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x8FD0, 0xE} /*575.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x93D0, 0xF} /*591.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x95D0, 0x1} /*599.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x97D0, 0xC} /*607.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x99D0, 0xD} /*615.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9BD0, 0xF} /*623.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9DD0, 0xE} /*631.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x6} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA1D0, 0xB} /*647.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA3D0, 0xF} /*655.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA5D0, 0xD} /*663.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA7D0, 0xF} /*671.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA9D0, 0xD} /*679.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xADD0, 0xE} /*695.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAFD0, 0x2} /*703.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xB3D0, 0x5} /*719.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB5D0, 0x1} /*727.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB7D0, 0x2} /*735.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB9D0, 0x3} /*743.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xBBD0, 0x2} /*751.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xBDD0, 0xE} /*759.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xBFD0, 0xF} /*767.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xC1D0, 0x3} /*775.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xC3D0, 0xD} /*783.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xC5D0, 0xE} /*791.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xC7D0, 0xF} /*799.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xC9D0, 0xC} /*807.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xCBD0, 0x4} /*815.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xCDD0, 0xE} /*823.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xCFD0, 0x2} /*831.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xD1D0, 0x5} /*839.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xD3D0, 0x7} /*847.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xD5D0, 0x1} /*855.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_france_analog_cable = {
+ 89,
+ XC3028_channels_france_analog_cable
+};
+
+XC3028_CHANNEL XC3028_channels_france_digital_air[59] = {
+ {{' ',' ',' ','1'}, 0x0BF0, 0x0} /*47.750000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x0DF0, 0x0} /*55.750000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F20, 0x0} /*60.500000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x0FF0, 0x0} /*63.750000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2C00, 0x0} /*176.000000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2E00, 0x0} /*184.000000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x3000, 0x0} /*192.000000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x3200, 0x0} /*200.000000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x3400, 0x0} /*208.000000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3600, 0x0} /*216.000000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x75D0, 0x0} /*471.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x77D0, 0x0} /*479.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x79D0, 0x0} /*487.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x7BD0, 0x0} /*495.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x7DD0, 0x0} /*503.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x7FD0, 0x0} /*511.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x83D0, 0x0} /*527.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x85D0, 0x0} /*535.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x8BD0, 0x0} /*559.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x8DD0, 0x0} /*567.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x8FD0, 0x0} /*575.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x93D0, 0x0} /*591.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x95D0, 0x0} /*599.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x97D0, 0x0} /*607.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x99D0, 0x0} /*615.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9BD0, 0x0} /*623.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9DD0, 0x0} /*631.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x0} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA1D0, 0x0} /*647.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA3D0, 0x0} /*655.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA7D0, 0x0} /*671.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA9D0, 0x0} /*679.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xADD0, 0x0} /*695.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAFD0, 0x0} /*703.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xB3D0, 0x0} /*719.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB7D0, 0x0} /*735.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB9D0, 0x0} /*743.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xBFD0, 0x0} /*767.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xC1D0, 0x0} /*775.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xC3D0, 0x0} /*783.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xC5D0, 0x0} /*791.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xC7D0, 0x0} /*799.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xC9D0, 0x0} /*807.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xCBD0, 0x0} /*815.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xCDD0, 0x0} /*823.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xCFD0, 0x0} /*831.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xD1D0, 0x0} /*839.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xD3D0, 0x0} /*847.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xD5D0, 0x0} /*855.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_france_digital_air = {
+ 59,
+ XC3028_channels_france_digital_air
+};
+
+XC3028_CHANNEL XC3028_channels_france_digital_cable[89] = {
+ {{' ',' ',' ','1'}, 0x0BF0, 0x0} /*47.750000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x0DF0, 0x0} /*55.750000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x0F20, 0x0} /*60.500000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x0FF0, 0x0} /*63.750000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2C00, 0x0} /*176.000000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2E00, 0x0} /*184.000000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x3000, 0x0} /*192.000000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x3200, 0x0} /*200.000000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x3400, 0x0} /*208.000000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3600, 0x0} /*216.000000 MHz*/ ,
+ {{' ','S','C','1'}, 0x1E00, 0x0} /*120.000000 MHz*/ ,
+ {{' ','S','C','2'}, 0x2000, 0x0} /*128.000000 MHz*/ ,
+ {{' ','S','C','3'}, 0x2200, 0x0} /*136.000000 MHz*/ ,
+ {{' ','S','C','4'}, 0x2400, 0x0} /*144.000000 MHz*/ ,
+ {{' ','S','C','5'}, 0x2600, 0x0} /*152.000000 MHz*/ ,
+ {{' ','S','C','6'}, 0x2800, 0x0} /*160.000000 MHz*/ ,
+ {{' ','S','C','7'}, 0x2A00, 0x0} /*168.000000 MHz*/ ,
+ {{' ','S','C','8'}, 0x3800, 0x0} /*224.000000 MHz*/ ,
+ {{' ','S','C','9'}, 0x3A00, 0x0} /*232.000000 MHz*/ ,
+ {{'S','C','1','0'}, 0x3C00, 0x0} /*240.000000 MHz*/ ,
+ {{'S','C','1','1'}, 0x3E00, 0x0} /*248.000000 MHz*/ ,
+ {{'S','C','1','2'}, 0x4000, 0x0} /*256.000000 MHz*/ ,
+ {{'S','C','1','3'}, 0x4200, 0x0} /*264.000000 MHz*/ ,
+ {{'S','C','1','4'}, 0x4400, 0x0} /*272.000000 MHz*/ ,
+ {{'S','C','1','5'}, 0x4600, 0x0} /*280.000000 MHz*/ ,
+ {{'S','C','1','6'}, 0x4800, 0x0} /*288.000000 MHz*/ ,
+ {{'S','C','1','7'}, 0x4BD0, 0x0} /*303.250000 MHz*/ ,
+ {{'S','C','1','8'}, 0x4ED0, 0x0} /*315.250000 MHz*/ ,
+ {{'S','C','1','9'}, 0x51D0, 0x0} /*327.250000 MHz*/ ,
+ {{'S','C','2','0'}, 0x54D0, 0x0} /*339.250000 MHz*/ ,
+ {{'S','C','2','1'}, 0x57D0, 0x0} /*351.250000 MHz*/ ,
+ {{'S','C','2','2'}, 0x5AD0, 0x0} /*363.250000 MHz*/ ,
+ {{'S','C','2','3'}, 0x5DD0, 0x0} /*375.250000 MHz*/ ,
+ {{'S','C','2','4'}, 0x60D0, 0x0} /*387.250000 MHz*/ ,
+ {{'S','C','2','5'}, 0x63D0, 0x0} /*399.250000 MHz*/ ,
+ {{'S','C','2','6'}, 0x66D0, 0x0} /*411.250000 MHz*/ ,
+ {{'S','C','2','7'}, 0x69D0, 0x0} /*423.250000 MHz*/ ,
+ {{'S','C','2','8'}, 0x6CD0, 0x0} /*435.250000 MHz*/ ,
+ {{'S','C','2','9'}, 0x6FD0, 0x0} /*447.250000 MHz*/ ,
+ {{'S','C','3','0'}, 0x72D0, 0x0} /*459.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x75D0, 0x0} /*471.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x77D0, 0x0} /*479.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x79D0, 0x0} /*487.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x7BD0, 0x0} /*495.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x7DD0, 0x0} /*503.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x7FD0, 0x0} /*511.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x83D0, 0x0} /*527.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x85D0, 0x0} /*535.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x8BD0, 0x0} /*559.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x8DD0, 0x0} /*567.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x8FD0, 0x0} /*575.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x93D0, 0x0} /*591.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x95D0, 0x0} /*599.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x97D0, 0x0} /*607.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x99D0, 0x0} /*615.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9BD0, 0x0} /*623.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9DD0, 0x0} /*631.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x0} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA1D0, 0x0} /*647.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA3D0, 0x0} /*655.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA7D0, 0x0} /*671.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA9D0, 0x0} /*679.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xADD0, 0x0} /*695.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAFD0, 0x0} /*703.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xB3D0, 0x0} /*719.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB7D0, 0x0} /*735.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB9D0, 0x0} /*743.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xBFD0, 0x0} /*767.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xC1D0, 0x0} /*775.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xC3D0, 0x0} /*783.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xC5D0, 0x0} /*791.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xC7D0, 0x0} /*799.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xC9D0, 0x0} /*807.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xCBD0, 0x0} /*815.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xCDD0, 0x0} /*823.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xCFD0, 0x0} /*831.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xD1D0, 0x0} /*839.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xD3D0, 0x0} /*847.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xD5D0, 0x0} /*855.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_france_digital_cable = {
+ 89,
+ XC3028_channels_france_digital_cable
+};
+
+XC3028_CHANNEL XC3028_channels_uk_analog_air[49] = {
+ {{' ',' ','2','1'}, 0x75D0, 0x1} /*471.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x77D0, 0x3} /*479.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x79D0, 0xC} /*487.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x7BD0, 0xF} /*495.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x7DD0, 0xC} /*503.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x7FD0, 0xE} /*511.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x83D0, 0x2} /*527.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x85D0, 0x4} /*535.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x8BD0, 0xF} /*559.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x8DD0, 0xA} /*567.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x8FD0, 0xE} /*575.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x93D0, 0xF} /*591.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x95D0, 0x1} /*599.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x97D0, 0xC} /*607.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x99D0, 0xD} /*615.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9BD0, 0xF} /*623.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9DD0, 0xE} /*631.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x6} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA1D0, 0xB} /*647.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA3D0, 0xF} /*655.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA5D0, 0xD} /*663.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA7D0, 0xF} /*671.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA9D0, 0xD} /*679.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xADD0, 0xE} /*695.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAFD0, 0x2} /*703.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xB3D0, 0x5} /*719.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB5D0, 0x1} /*727.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB7D0, 0x2} /*735.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB9D0, 0x3} /*743.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xBBD0, 0x2} /*751.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xBDD0, 0xE} /*759.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xBFD0, 0xF} /*767.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xC1D0, 0x3} /*775.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xC3D0, 0xD} /*783.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xC5D0, 0xE} /*791.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xC7D0, 0xF} /*799.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xC9D0, 0xC} /*807.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xCBD0, 0x4} /*815.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xCDD0, 0xE} /*823.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xCFD0, 0x2} /*831.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xD1D0, 0x5} /*839.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xD3D0, 0x7} /*847.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xD5D0, 0x1} /*855.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_uk_analog_air = {
+ 49,
+ XC3028_channels_uk_analog_air
+};
+
+XC3028_CHANNEL XC3028_channels_uk_analog_cable[81] = {
+ {{' ',' ',' ','1'}, 0x0E00, 0x7} /*56.000000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x1000, 0xB} /*64.000000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x1E00, 0x3} /*120.000000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x2000, 0xA} /*128.000000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2200, 0xF} /*136.000000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2400, 0x0} /*144.000000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2600, 0x0} /*152.000000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2800, 0xD} /*160.000000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x2A00, 0xB} /*168.000000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x2C00, 0xD} /*176.000000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x2E00, 0x3} /*184.000000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3000, 0xD} /*192.000000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x3200, 0x1} /*200.000000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x3400, 0xD} /*208.000000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x3600, 0xA} /*216.000000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x3800, 0x5} /*224.000000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x3A00, 0x2} /*232.000000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x3C00, 0xC} /*240.000000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x3E00, 0xA} /*248.000000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x4000, 0x4} /*256.000000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x4200, 0x2} /*264.000000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x4400, 0x5} /*272.000000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x4600, 0xB} /*280.000000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x4800, 0xF} /*288.000000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x4A00, 0x1} /*296.000000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x4C00, 0xE} /*304.000000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x4E00, 0x1} /*312.000000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x5000, 0xF} /*320.000000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x5200, 0x0} /*328.000000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x5400, 0xE} /*336.000000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x5600, 0x1} /*344.000000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x5800, 0xE} /*352.000000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x5A00, 0xF} /*360.000000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x5C00, 0xF} /*368.000000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x5E00, 0x1} /*376.000000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x6000, 0x0} /*384.000000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x6200, 0x1} /*392.000000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x6400, 0x0} /*400.000000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x6600, 0x1} /*408.000000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x6800, 0xE} /*416.000000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x6A00, 0x6} /*424.000000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x6C00, 0x0} /*432.000000 MHz*/ ,
+ {{' ',' ','4','3'}, 0x6E00, 0x6} /*440.000000 MHz*/ ,
+ {{' ',' ','4','4'}, 0x7000, 0xE} /*448.000000 MHz*/ ,
+ {{' ',' ','4','5'}, 0x7200, 0x2} /*456.000000 MHz*/ ,
+ {{' ',' ','4','6'}, 0x7400, 0xA} /*464.000000 MHz*/ ,
+ {{' ',' ','4','7'}, 0x7600, 0x5} /*472.000000 MHz*/ ,
+ {{' ',' ','4','8'}, 0x7800, 0xB} /*480.000000 MHz*/ ,
+ {{' ',' ','4','9'}, 0x7A00, 0xD} /*488.000000 MHz*/ ,
+ {{' ',' ','5','0'}, 0x7C00, 0xF} /*496.000000 MHz*/ ,
+ {{' ',' ','5','1'}, 0x7E00, 0x1} /*504.000000 MHz*/ ,
+ {{' ',' ','5','2'}, 0x8000, 0x3} /*512.000000 MHz*/ ,
+ {{' ',' ','5','3'}, 0x8200, 0x5} /*520.000000 MHz*/ ,
+ {{' ',' ','5','4'}, 0x8400, 0xC} /*528.000000 MHz*/ ,
+ {{' ',' ','5','5'}, 0x8600, 0x1} /*536.000000 MHz*/ ,
+ {{' ',' ','5','6'}, 0x8800, 0x0} /*544.000000 MHz*/ ,
+ {{' ',' ','5','7'}, 0x8A00, 0x5} /*552.000000 MHz*/ ,
+ {{' ',' ','5','8'}, 0x8C00, 0xF} /*560.000000 MHz*/ ,
+ {{' ',' ','5','9'}, 0x8E00, 0xE} /*568.000000 MHz*/ ,
+ {{' ',' ','6','0'}, 0x9000, 0x2} /*576.000000 MHz*/ ,
+ {{' ',' ','6','1'}, 0x9200, 0xE} /*584.000000 MHz*/ ,
+ {{' ',' ','6','2'}, 0x9400, 0xF} /*592.000000 MHz*/ ,
+ {{' ',' ','6','3'}, 0x9600, 0xE} /*600.000000 MHz*/ ,
+ {{' ',' ','6','4'}, 0x9800, 0xC} /*608.000000 MHz*/ ,
+ {{' ',' ','6','5'}, 0x9A00, 0x1} /*616.000000 MHz*/ ,
+ {{' ',' ','6','6'}, 0x9C00, 0x2} /*624.000000 MHz*/ ,
+ {{' ',' ','6','7'}, 0x9E00, 0xD} /*632.000000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xA000, 0x2} /*640.000000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xA200, 0x1} /*648.000000 MHz*/ ,
+ {{' ',' ','7','0'}, 0xA400, 0x2} /*656.000000 MHz*/ ,
+ {{' ',' ','7','1'}, 0xA600, 0xE} /*664.000000 MHz*/ ,
+ {{' ',' ','7','2'}, 0xA800, 0xF} /*672.000000 MHz*/ ,
+ {{' ',' ','7','3'}, 0xAA00, 0x1} /*680.000000 MHz*/ ,
+ {{' ',' ','7','4'}, 0xAC00, 0x0} /*688.000000 MHz*/ ,
+ {{' ',' ','7','5'}, 0xAE00, 0xE} /*696.000000 MHz*/ ,
+ {{' ',' ','7','6'}, 0xB000, 0x2} /*704.000000 MHz*/ ,
+ {{' ',' ','7','7'}, 0xB200, 0xE} /*712.000000 MHz*/ ,
+ {{' ',' ','7','8'}, 0xB400, 0xC} /*720.000000 MHz*/ ,
+ {{' ',' ','7','9'}, 0xB600, 0xE} /*728.000000 MHz*/ ,
+ {{' ',' ','8','0'}, 0xB800, 0x2} /*736.000000 MHz*/ ,
+ {{' ',' ','8','1'}, 0xBA00, 0x3} /*744.000000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_uk_analog_cable = {
+ 81,
+ XC3028_channels_uk_analog_cable
+};
+
+XC3028_CHANNEL XC3028_channels_uk_digital_air[49] = {
+ {{' ',' ','2','1'}, 0x75D0, 0x0} /*471.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x77D0, 0x0} /*479.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x79D0, 0x0} /*487.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x7BD0, 0x0} /*495.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x7DD0, 0x0} /*503.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x7FD0, 0x0} /*511.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x83D0, 0x0} /*527.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x85D0, 0x0} /*535.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x8BD0, 0x0} /*559.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x8DD0, 0x0} /*567.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x8FD0, 0x0} /*575.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x93D0, 0x0} /*591.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x95D0, 0x0} /*599.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x97D0, 0x0} /*607.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x99D0, 0x0} /*615.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x9BD0, 0x0} /*623.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9DD0, 0x0} /*631.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9FD0, 0x0} /*639.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0xA1D0, 0x0} /*647.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0xA3D0, 0x0} /*655.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA5D0, 0x0} /*663.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA7D0, 0x0} /*671.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA9D0, 0x0} /*679.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xADD0, 0x0} /*695.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAFD0, 0x0} /*703.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xB3D0, 0x0} /*719.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xB5D0, 0x0} /*727.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB7D0, 0x0} /*735.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB9D0, 0x0} /*743.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xBFD0, 0x0} /*767.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xC1D0, 0x0} /*775.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xC3D0, 0x0} /*783.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xC5D0, 0x0} /*791.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xC7D0, 0x0} /*799.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xC9D0, 0x0} /*807.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xCBD0, 0x0} /*815.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xCDD0, 0x0} /*823.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xCFD0, 0x0} /*831.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xD1D0, 0x0} /*839.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xD3D0, 0x0} /*847.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xD5D0, 0x0} /*855.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_uk_digital_air = {
+ 49,
+ XC3028_channels_uk_digital_air
+};
+
+XC3028_CHANNEL XC3028_channels_uk_digital_cable[81] = {
+ {{' ',' ',' ','1'}, 0x0E00, 0x0} /*56.000000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x1000, 0x0} /*64.000000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x1E00, 0x0} /*120.000000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x2000, 0x0} /*128.000000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x2200, 0x0} /*136.000000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2400, 0x0} /*144.000000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2600, 0x0} /*152.000000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2800, 0x0} /*160.000000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x2A00, 0x0} /*168.000000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x2C00, 0x0} /*176.000000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x2E00, 0x0} /*184.000000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x3000, 0x0} /*192.000000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x3200, 0x0} /*200.000000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x3400, 0x0} /*208.000000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x3600, 0x0} /*216.000000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x3800, 0x0} /*224.000000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x3A00, 0x0} /*232.000000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x3C00, 0x0} /*240.000000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x3E00, 0x0} /*248.000000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x4000, 0x0} /*256.000000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x4200, 0x0} /*264.000000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x4400, 0x0} /*272.000000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x4600, 0x0} /*280.000000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x4800, 0x0} /*288.000000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x4A00, 0x0} /*296.000000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x4C00, 0x0} /*304.000000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x4E00, 0x0} /*312.000000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x5000, 0x0} /*320.000000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x5200, 0x0} /*328.000000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x5400, 0x0} /*336.000000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x5600, 0x0} /*344.000000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x5800, 0x0} /*352.000000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x5A00, 0x0} /*360.000000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x5C00, 0x0} /*368.000000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x5E00, 0x0} /*376.000000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x6000, 0x0} /*384.000000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x6200, 0x0} /*392.000000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x6400, 0x0} /*400.000000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x6600, 0x0} /*408.000000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x6800, 0x0} /*416.000000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x6A00, 0x0} /*424.000000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x6C00, 0x0} /*432.000000 MHz*/ ,
+ {{' ',' ','4','3'}, 0x6E00, 0x0} /*440.000000 MHz*/ ,
+ {{' ',' ','4','4'}, 0x7000, 0x0} /*448.000000 MHz*/ ,
+ {{' ',' ','4','5'}, 0x7200, 0x0} /*456.000000 MHz*/ ,
+ {{' ',' ','4','6'}, 0x7400, 0x0} /*464.000000 MHz*/ ,
+ {{' ',' ','4','7'}, 0x7600, 0x0} /*472.000000 MHz*/ ,
+ {{' ',' ','4','8'}, 0x7800, 0x0} /*480.000000 MHz*/ ,
+ {{' ',' ','4','9'}, 0x7A00, 0x0} /*488.000000 MHz*/ ,
+ {{' ',' ','5','0'}, 0x7C00, 0x0} /*496.000000 MHz*/ ,
+ {{' ',' ','5','1'}, 0x7E00, 0x0} /*504.000000 MHz*/ ,
+ {{' ',' ','5','2'}, 0x8000, 0x0} /*512.000000 MHz*/ ,
+ {{' ',' ','5','3'}, 0x8200, 0x0} /*520.000000 MHz*/ ,
+ {{' ',' ','5','4'}, 0x8400, 0x0} /*528.000000 MHz*/ ,
+ {{' ',' ','5','5'}, 0x8600, 0x0} /*536.000000 MHz*/ ,
+ {{' ',' ','5','6'}, 0x8800, 0x0} /*544.000000 MHz*/ ,
+ {{' ',' ','5','7'}, 0x8A00, 0x0} /*552.000000 MHz*/ ,
+ {{' ',' ','5','8'}, 0x8C00, 0x0} /*560.000000 MHz*/ ,
+ {{' ',' ','5','9'}, 0x8E00, 0x0} /*568.000000 MHz*/ ,
+ {{' ',' ','6','0'}, 0x9000, 0x0} /*576.000000 MHz*/ ,
+ {{' ',' ','6','1'}, 0x9200, 0x0} /*584.000000 MHz*/ ,
+ {{' ',' ','6','2'}, 0x9400, 0x0} /*592.000000 MHz*/ ,
+ {{' ',' ','6','3'}, 0x9600, 0x0} /*600.000000 MHz*/ ,
+ {{' ',' ','6','4'}, 0x9800, 0x0} /*608.000000 MHz*/ ,
+ {{' ',' ','6','5'}, 0x9A00, 0x0} /*616.000000 MHz*/ ,
+ {{' ',' ','6','6'}, 0x9C00, 0x0} /*624.000000 MHz*/ ,
+ {{' ',' ','6','7'}, 0x9E00, 0x0} /*632.000000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xA000, 0x0} /*640.000000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xA200, 0x0} /*648.000000 MHz*/ ,
+ {{' ',' ','7','0'}, 0xA400, 0x0} /*656.000000 MHz*/ ,
+ {{' ',' ','7','1'}, 0xA600, 0x0} /*664.000000 MHz*/ ,
+ {{' ',' ','7','2'}, 0xA800, 0x0} /*672.000000 MHz*/ ,
+ {{' ',' ','7','3'}, 0xAA00, 0x0} /*680.000000 MHz*/ ,
+ {{' ',' ','7','4'}, 0xAC00, 0x0} /*688.000000 MHz*/ ,
+ {{' ',' ','7','5'}, 0xAE00, 0x0} /*696.000000 MHz*/ ,
+ {{' ',' ','7','6'}, 0xB000, 0x0} /*704.000000 MHz*/ ,
+ {{' ',' ','7','7'}, 0xB200, 0x0} /*712.000000 MHz*/ ,
+ {{' ',' ','7','8'}, 0xB400, 0x0} /*720.000000 MHz*/ ,
+ {{' ',' ','7','9'}, 0xB600, 0x0} /*728.000000 MHz*/ ,
+ {{' ',' ','8','0'}, 0xB800, 0x0} /*736.000000 MHz*/ ,
+ {{' ',' ','8','1'}, 0xBA00, 0x0} /*744.000000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_uk_digital_cable = {
+ 81,
+ XC3028_channels_uk_digital_cable
+};
+
+XC3028_CHANNEL XC3028_channels_china_analog_air[57] = {
+ {{' ','D','S','1'}, 0x0C70, 0xB} /*49.750000 MHz*/ ,
+ {{' ','D','S','2'}, 0x0E70, 0x0} /*57.750000 MHz*/ ,
+ {{' ','D','S','3'}, 0x1070, 0x1} /*65.750000 MHz*/ ,
+ {{' ','D','S','4'}, 0x1350, 0xA} /*77.250000 MHz*/ ,
+ {{' ','D','S','5'}, 0x1550, 0x0} /*85.250000 MHz*/ ,
+ {{' ','D','S','6'}, 0x2A10, 0x0} /*168.250000 MHz*/ ,
+ {{' ','D','S','7'}, 0x2C10, 0x7} /*176.250000 MHz*/ ,
+ {{' ','D','S','8'}, 0x2E10, 0x3} /*184.250000 MHz*/ ,
+ {{' ','D','S','9'}, 0x3010, 0xE} /*192.250000 MHz*/ ,
+ {{'D','S','1','0'}, 0x3210, 0x3} /*200.250000 MHz*/ ,
+ {{'D','S','1','1'}, 0x3410, 0x0} /*208.250000 MHz*/ ,
+ {{'D','S','1','2'}, 0x3610, 0x0} /*216.250000 MHz*/ ,
+ {{'D','S','1','3'}, 0x75D0, 0x1} /*471.250000 MHz*/ ,
+ {{'D','S','1','4'}, 0x77D0, 0x3} /*479.250000 MHz*/ ,
+ {{'D','S','1','5'}, 0x79D0, 0xC} /*487.250000 MHz*/ ,
+ {{'D','S','1','6'}, 0x7BD0, 0xF} /*495.250000 MHz*/ ,
+ {{'D','S','1','7'}, 0x7DD0, 0xC} /*503.250000 MHz*/ ,
+ {{'D','S','1','8'}, 0x7FD0, 0xE} /*511.250000 MHz*/ ,
+ {{'D','S','1','9'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{'D','S','2','0'}, 0x83D0, 0x2} /*527.250000 MHz*/ ,
+ {{'D','S','2','1'}, 0x85D0, 0x4} /*535.250000 MHz*/ ,
+ {{'D','S','2','2'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{'D','S','2','3'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{'D','S','2','4'}, 0x8BD0, 0xF} /*559.250000 MHz*/ ,
+ {{'D','S','2','5'}, 0x97D0, 0xC} /*607.250000 MHz*/ ,
+ {{'D','S','2','6'}, 0x99D0, 0xD} /*615.250000 MHz*/ ,
+ {{'D','S','2','7'}, 0x9BD0, 0xF} /*623.250000 MHz*/ ,
+ {{'D','S','2','8'}, 0x9DD0, 0xE} /*631.250000 MHz*/ ,
+ {{'D','S','2','9'}, 0x9FD0, 0x6} /*639.250000 MHz*/ ,
+ {{'D','S','3','0'}, 0xA1D0, 0xB} /*647.250000 MHz*/ ,
+ {{'D','S','3','1'}, 0xA3D0, 0xF} /*655.250000 MHz*/ ,
+ {{'D','S','3','2'}, 0xA5D0, 0xD} /*663.250000 MHz*/ ,
+ {{'D','S','3','3'}, 0xA7D0, 0xF} /*671.250000 MHz*/ ,
+ {{'D','S','3','4'}, 0xA9D0, 0xD} /*679.250000 MHz*/ ,
+ {{'D','S','3','5'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{'D','S','3','6'}, 0xADD0, 0xE} /*695.250000 MHz*/ ,
+ {{'D','S','3','7'}, 0xAFD0, 0x2} /*703.250000 MHz*/ ,
+ {{'D','S','3','8'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{'D','S','3','9'}, 0xB3D0, 0x5} /*719.250000 MHz*/ ,
+ {{'D','S','4','0'}, 0xB5D0, 0x1} /*727.250000 MHz*/ ,
+ {{'D','S','4','1'}, 0xB7D0, 0x2} /*735.250000 MHz*/ ,
+ {{'D','S','4','2'}, 0xB9D0, 0x3} /*743.250000 MHz*/ ,
+ {{'D','S','4','3'}, 0xBBD0, 0x2} /*751.250000 MHz*/ ,
+ {{'D','S','4','4'}, 0xBDD0, 0xE} /*759.250000 MHz*/ ,
+ {{'D','S','4','5'}, 0xBFD0, 0xF} /*767.250000 MHz*/ ,
+ {{'D','S','4','6'}, 0xC1D0, 0x3} /*775.250000 MHz*/ ,
+ {{'D','S','4','7'}, 0xC3D0, 0xD} /*783.250000 MHz*/ ,
+ {{'D','S','4','8'}, 0xC5D0, 0xE} /*791.250000 MHz*/ ,
+ {{'D','S','4','9'}, 0xC7D0, 0xF} /*799.250000 MHz*/ ,
+ {{'D','S','5','0'}, 0xC9D0, 0xC} /*807.250000 MHz*/ ,
+ {{'D','S','5','1'}, 0xCBD0, 0x4} /*815.250000 MHz*/ ,
+ {{'D','S','5','2'}, 0xCDD0, 0xE} /*823.250000 MHz*/ ,
+ {{'D','S','5','3'}, 0xCFD0, 0x2} /*831.250000 MHz*/ ,
+ {{'D','S','5','4'}, 0xD1D0, 0x5} /*839.250000 MHz*/ ,
+ {{'D','S','5','5'}, 0xD3D0, 0x7} /*847.250000 MHz*/ ,
+ {{'D','S','5','6'}, 0xD5D0, 0x1} /*855.250000 MHz*/ ,
+ {{'D','S','5','7'}, 0xD7D0, 0x2} /*863.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_china_analog_air = {
+ 57,
+ XC3028_channels_china_analog_air
+};
+
+XC3028_CHANNEL XC3028_channels_china_analog_cable[99] = {
+ {{' ','D','S','1'}, 0x0C70, 0xB} /*49.750000 MHz*/ ,
+ {{' ','D','S','2'}, 0x0E70, 0x0} /*57.750000 MHz*/ ,
+ {{' ','D','S','3'}, 0x1070, 0x1} /*65.750000 MHz*/ ,
+ {{' ','D','S','4'}, 0x1350, 0xA} /*77.250000 MHz*/ ,
+ {{' ','D','S','5'}, 0x1550, 0x0} /*85.250000 MHz*/ ,
+ {{' ','D','S','6'}, 0x2A10, 0x0} /*168.250000 MHz*/ ,
+ {{' ','D','S','7'}, 0x2C10, 0x7} /*176.250000 MHz*/ ,
+ {{' ','D','S','8'}, 0x2E10, 0x3} /*184.250000 MHz*/ ,
+ {{' ','D','S','9'}, 0x3010, 0xE} /*192.250000 MHz*/ ,
+ {{'D','S','1','0'}, 0x3210, 0x3} /*200.250000 MHz*/ ,
+ {{'D','S','1','1'}, 0x3410, 0x0} /*208.250000 MHz*/ ,
+ {{'D','S','1','2'}, 0x3610, 0x0} /*216.250000 MHz*/ ,
+ {{' ',' ','Z','1'}, 0x1C10, 0x7} /*112.250000 MHz*/ ,
+ {{' ',' ','Z','2'}, 0x1E10, 0x4} /*120.250000 MHz*/ ,
+ {{' ',' ','Z','3'}, 0x2010, 0xA} /*128.250000 MHz*/ ,
+ {{' ',' ','Z','4'}, 0x2210, 0x1} /*136.250000 MHz*/ ,
+ {{' ',' ','Z','5'}, 0x2410, 0xB} /*144.250000 MHz*/ ,
+ {{' ',' ','Z','6'}, 0x2610, 0x3} /*152.250000 MHz*/ ,
+ {{' ',' ','Z','7'}, 0x2810, 0xE} /*160.250000 MHz*/ ,
+ {{' ',' ','Z','8'}, 0x3810, 0x5} /*224.250000 MHz*/ ,
+ {{' ',' ','Z','9'}, 0x3A10, 0x3} /*232.250000 MHz*/ ,
+ {{' ','Z','1','0'}, 0x3C10, 0xE} /*240.250000 MHz*/ ,
+ {{' ','Z','1','1'}, 0x3E10, 0x1} /*248.250000 MHz*/ ,
+ {{' ','Z','1','2'}, 0x4010, 0x4} /*256.250000 MHz*/ ,
+ {{' ','Z','1','3'}, 0x4210, 0x2} /*264.250000 MHz*/ ,
+ {{' ','Z','1','4'}, 0x4410, 0x7} /*272.250000 MHz*/ ,
+ {{' ','Z','1','5'}, 0x4610, 0x2} /*280.250000 MHz*/ ,
+ {{' ','Z','1','6'}, 0x4810, 0xF} /*288.250000 MHz*/ ,
+ {{' ','Z','1','7'}, 0x4A10, 0x3} /*296.250000 MHz*/ ,
+ {{' ','Z','1','8'}, 0x4C10, 0xE} /*304.250000 MHz*/ ,
+ {{' ','Z','1','9'}, 0x4E10, 0xC} /*312.250000 MHz*/ ,
+ {{' ','Z','2','0'}, 0x5010, 0xF} /*320.250000 MHz*/ ,
+ {{' ','Z','2','1'}, 0x5210, 0x2} /*328.250000 MHz*/ ,
+ {{' ','Z','2','2'}, 0x5410, 0x6} /*336.250000 MHz*/ ,
+ {{' ','Z','2','3'}, 0x5610, 0x0} /*344.250000 MHz*/ ,
+ {{' ','Z','2','4'}, 0x5810, 0xD} /*352.250000 MHz*/ ,
+ {{' ','Z','2','5'}, 0x5A10, 0x0} /*360.250000 MHz*/ ,
+ {{' ','Z','2','6'}, 0x5C10, 0x0} /*368.250000 MHz*/ ,
+ {{' ','Z','2','7'}, 0x5E10, 0x0} /*376.250000 MHz*/ ,
+ {{' ','Z','2','8'}, 0x6010, 0x0} /*384.250000 MHz*/ ,
+ {{' ','Z','2','9'}, 0x6210, 0x0} /*392.250000 MHz*/ ,
+ {{' ','Z','3','0'}, 0x6410, 0xF} /*400.250000 MHz*/ ,
+ {{' ','Z','3','1'}, 0x6610, 0x6} /*408.250000 MHz*/ ,
+ {{' ','Z','3','2'}, 0x6810, 0xE} /*416.250000 MHz*/ ,
+ {{' ','Z','3','3'}, 0x6A10, 0xC} /*424.250000 MHz*/ ,
+ {{' ','Z','3','4'}, 0x6C10, 0x3} /*432.250000 MHz*/ ,
+ {{' ','Z','3','5'}, 0x6E10, 0x7} /*440.250000 MHz*/ ,
+ {{' ','Z','3','6'}, 0x7010, 0xA} /*448.250000 MHz*/ ,
+ {{' ','Z','3','7'}, 0x7210, 0x2} /*456.250000 MHz*/ ,
+ {{'D','S','1','3'}, 0x75D0, 0x1} /*471.250000 MHz*/ ,
+ {{'D','S','1','4'}, 0x77D0, 0x3} /*479.250000 MHz*/ ,
+ {{'D','S','1','5'}, 0x79D0, 0xC} /*487.250000 MHz*/ ,
+ {{'D','S','1','6'}, 0x7BD0, 0xF} /*495.250000 MHz*/ ,
+ {{'D','S','1','7'}, 0x7DD0, 0xC} /*503.250000 MHz*/ ,
+ {{'D','S','1','8'}, 0x7FD0, 0xE} /*511.250000 MHz*/ ,
+ {{'D','S','1','9'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{'D','S','2','0'}, 0x83D0, 0x2} /*527.250000 MHz*/ ,
+ {{'D','S','2','1'}, 0x85D0, 0x4} /*535.250000 MHz*/ ,
+ {{'D','S','2','2'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{'D','S','2','3'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{'D','S','2','4'}, 0x8BD0, 0xF} /*559.250000 MHz*/ ,
+ {{' ','Z','3','8'}, 0x8DD0, 0xA} /*567.250000 MHz*/ ,
+ {{' ','Z','3','9'}, 0x8FD0, 0xE} /*575.250000 MHz*/ ,
+ {{' ','Z','4','0'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ','Z','4','1'}, 0x93D0, 0xF} /*591.250000 MHz*/ ,
+ {{' ','Z','4','2'}, 0x95D0, 0x1} /*599.250000 MHz*/ ,
+ {{'D','S','2','5'}, 0x97D0, 0xC} /*607.250000 MHz*/ ,
+ {{'D','S','2','6'}, 0x99D0, 0xD} /*615.250000 MHz*/ ,
+ {{'D','S','2','7'}, 0x9BD0, 0xF} /*623.250000 MHz*/ ,
+ {{'D','S','2','8'}, 0x9DD0, 0xE} /*631.250000 MHz*/ ,
+ {{'D','S','2','9'}, 0x9FD0, 0x6} /*639.250000 MHz*/ ,
+ {{'D','S','3','0'}, 0xA1D0, 0xB} /*647.250000 MHz*/ ,
+ {{'D','S','3','1'}, 0xA3D0, 0xF} /*655.250000 MHz*/ ,
+ {{'D','S','3','2'}, 0xA5D0, 0xD} /*663.250000 MHz*/ ,
+ {{'D','S','3','3'}, 0xA7D0, 0xF} /*671.250000 MHz*/ ,
+ {{'D','S','3','4'}, 0xA9D0, 0xD} /*679.250000 MHz*/ ,
+ {{'D','S','3','5'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{'D','S','3','6'}, 0xADD0, 0xE} /*695.250000 MHz*/ ,
+ {{'D','S','3','7'}, 0xAFD0, 0x2} /*703.250000 MHz*/ ,
+ {{'D','S','3','8'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{'D','S','3','9'}, 0xB3D0, 0x5} /*719.250000 MHz*/ ,
+ {{'D','S','4','0'}, 0xB5D0, 0x1} /*727.250000 MHz*/ ,
+ {{'D','S','4','1'}, 0xB7D0, 0x2} /*735.250000 MHz*/ ,
+ {{'D','S','4','2'}, 0xB9D0, 0x3} /*743.250000 MHz*/ ,
+ {{'D','S','4','3'}, 0xBBD0, 0x2} /*751.250000 MHz*/ ,
+ {{'D','S','4','4'}, 0xBDD0, 0xE} /*759.250000 MHz*/ ,
+ {{'D','S','4','5'}, 0xBFD0, 0xF} /*767.250000 MHz*/ ,
+ {{'D','S','4','6'}, 0xC1D0, 0x3} /*775.250000 MHz*/ ,
+ {{'D','S','4','7'}, 0xC3D0, 0xD} /*783.250000 MHz*/ ,
+ {{'D','S','4','8'}, 0xC5D0, 0xE} /*791.250000 MHz*/ ,
+ {{'D','S','4','9'}, 0xC7D0, 0xF} /*799.250000 MHz*/ ,
+ {{'D','S','5','0'}, 0xC9D0, 0xC} /*807.250000 MHz*/ ,
+ {{'D','S','5','1'}, 0xCBD0, 0x4} /*815.250000 MHz*/ ,
+ {{'D','S','5','2'}, 0xCDD0, 0xE} /*823.250000 MHz*/ ,
+ {{'D','S','5','3'}, 0xCFD0, 0x2} /*831.250000 MHz*/ ,
+ {{'D','S','5','4'}, 0xD1D0, 0x5} /*839.250000 MHz*/ ,
+ {{'D','S','5','5'}, 0xD3D0, 0x7} /*847.250000 MHz*/ ,
+ {{'D','S','5','6'}, 0xD5D0, 0x1} /*855.250000 MHz*/ ,
+ {{'D','S','5','7'}, 0xD7D0, 0x2} /*863.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_china_analog_cable = {
+ 99,
+ XC3028_channels_china_analog_cable
+};
+
+XC3028_CHANNEL XC3028_channels_china_digital_air[57] = {
+ {{' ','D','S','1'}, 0x0C70, 0x0} /*49.750000 MHz*/ ,
+ {{' ','D','S','2'}, 0x0E70, 0x0} /*57.750000 MHz*/ ,
+ {{' ','D','S','3'}, 0x1070, 0x0} /*65.750000 MHz*/ ,
+ {{' ','D','S','4'}, 0x1350, 0x0} /*77.250000 MHz*/ ,
+ {{' ','D','S','5'}, 0x1550, 0x0} /*85.250000 MHz*/ ,
+ {{' ','D','S','6'}, 0x2A10, 0x0} /*168.250000 MHz*/ ,
+ {{' ','D','S','7'}, 0x2C10, 0x0} /*176.250000 MHz*/ ,
+ {{' ','D','S','8'}, 0x2E10, 0x0} /*184.250000 MHz*/ ,
+ {{' ','D','S','9'}, 0x3010, 0x0} /*192.250000 MHz*/ ,
+ {{'D','S','1','0'}, 0x3210, 0x0} /*200.250000 MHz*/ ,
+ {{'D','S','1','1'}, 0x3410, 0x0} /*208.250000 MHz*/ ,
+ {{'D','S','1','2'}, 0x3610, 0x0} /*216.250000 MHz*/ ,
+ {{'D','S','1','3'}, 0x75D0, 0x0} /*471.250000 MHz*/ ,
+ {{'D','S','1','4'}, 0x77D0, 0x0} /*479.250000 MHz*/ ,
+ {{'D','S','1','5'}, 0x79D0, 0x0} /*487.250000 MHz*/ ,
+ {{'D','S','1','6'}, 0x7BD0, 0x0} /*495.250000 MHz*/ ,
+ {{'D','S','1','7'}, 0x7DD0, 0x0} /*503.250000 MHz*/ ,
+ {{'D','S','1','8'}, 0x7FD0, 0x0} /*511.250000 MHz*/ ,
+ {{'D','S','1','9'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{'D','S','2','0'}, 0x83D0, 0x0} /*527.250000 MHz*/ ,
+ {{'D','S','2','1'}, 0x85D0, 0x0} /*535.250000 MHz*/ ,
+ {{'D','S','2','2'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{'D','S','2','3'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{'D','S','2','4'}, 0x8BD0, 0x0} /*559.250000 MHz*/ ,
+ {{'D','S','2','5'}, 0x97D0, 0x0} /*607.250000 MHz*/ ,
+ {{'D','S','2','6'}, 0x99D0, 0x0} /*615.250000 MHz*/ ,
+ {{'D','S','2','7'}, 0x9BD0, 0x0} /*623.250000 MHz*/ ,
+ {{'D','S','2','8'}, 0x9DD0, 0x0} /*631.250000 MHz*/ ,
+ {{'D','S','2','9'}, 0x9FD0, 0x0} /*639.250000 MHz*/ ,
+ {{'D','S','3','0'}, 0xA1D0, 0x0} /*647.250000 MHz*/ ,
+ {{'D','S','3','1'}, 0xA3D0, 0x0} /*655.250000 MHz*/ ,
+ {{'D','S','3','2'}, 0xA5D0, 0x0} /*663.250000 MHz*/ ,
+ {{'D','S','3','3'}, 0xA7D0, 0x0} /*671.250000 MHz*/ ,
+ {{'D','S','3','4'}, 0xA9D0, 0x0} /*679.250000 MHz*/ ,
+ {{'D','S','3','5'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{'D','S','3','6'}, 0xADD0, 0x0} /*695.250000 MHz*/ ,
+ {{'D','S','3','7'}, 0xAFD0, 0x0} /*703.250000 MHz*/ ,
+ {{'D','S','3','8'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{'D','S','3','9'}, 0xB3D0, 0x0} /*719.250000 MHz*/ ,
+ {{'D','S','4','0'}, 0xB5D0, 0x0} /*727.250000 MHz*/ ,
+ {{'D','S','4','1'}, 0xB7D0, 0x0} /*735.250000 MHz*/ ,
+ {{'D','S','4','2'}, 0xB9D0, 0x0} /*743.250000 MHz*/ ,
+ {{'D','S','4','3'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{'D','S','4','4'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{'D','S','4','5'}, 0xBFD0, 0x0} /*767.250000 MHz*/ ,
+ {{'D','S','4','6'}, 0xC1D0, 0x0} /*775.250000 MHz*/ ,
+ {{'D','S','4','7'}, 0xC3D0, 0x0} /*783.250000 MHz*/ ,
+ {{'D','S','4','8'}, 0xC5D0, 0x0} /*791.250000 MHz*/ ,
+ {{'D','S','4','9'}, 0xC7D0, 0x0} /*799.250000 MHz*/ ,
+ {{'D','S','5','0'}, 0xC9D0, 0x0} /*807.250000 MHz*/ ,
+ {{'D','S','5','1'}, 0xCBD0, 0x0} /*815.250000 MHz*/ ,
+ {{'D','S','5','2'}, 0xCDD0, 0x0} /*823.250000 MHz*/ ,
+ {{'D','S','5','3'}, 0xCFD0, 0x0} /*831.250000 MHz*/ ,
+ {{'D','S','5','4'}, 0xD1D0, 0x0} /*839.250000 MHz*/ ,
+ {{'D','S','5','5'}, 0xD3D0, 0x0} /*847.250000 MHz*/ ,
+ {{'D','S','5','6'}, 0xD5D0, 0x0} /*855.250000 MHz*/ ,
+ {{'D','S','5','7'}, 0xD7D0, 0x0} /*863.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_china_digital_air = {
+ 57,
+ XC3028_channels_china_digital_air
+};
+
+XC3028_CHANNEL XC3028_channels_china_digital_cable[99] = {
+ {{' ','D','S','1'}, 0x0C70, 0x0} /*49.750000 MHz*/ ,
+ {{' ','D','S','2'}, 0x0E70, 0x0} /*57.750000 MHz*/ ,
+ {{' ','D','S','3'}, 0x1070, 0x0} /*65.750000 MHz*/ ,
+ {{' ','D','S','4'}, 0x1350, 0x0} /*77.250000 MHz*/ ,
+ {{' ','D','S','5'}, 0x1550, 0x0} /*85.250000 MHz*/ ,
+ {{' ','D','S','6'}, 0x2A10, 0x0} /*168.250000 MHz*/ ,
+ {{' ','D','S','7'}, 0x2C10, 0x0} /*176.250000 MHz*/ ,
+ {{' ','D','S','8'}, 0x2E10, 0x0} /*184.250000 MHz*/ ,
+ {{' ','D','S','9'}, 0x3010, 0x0} /*192.250000 MHz*/ ,
+ {{'D','S','1','0'}, 0x3210, 0x0} /*200.250000 MHz*/ ,
+ {{'D','S','1','1'}, 0x3410, 0x0} /*208.250000 MHz*/ ,
+ {{'D','S','1','2'}, 0x3610, 0x0} /*216.250000 MHz*/ ,
+ {{' ',' ','Z','1'}, 0x1C10, 0x0} /*112.250000 MHz*/ ,
+ {{' ',' ','Z','2'}, 0x1E10, 0x0} /*120.250000 MHz*/ ,
+ {{' ',' ','Z','3'}, 0x2010, 0x0} /*128.250000 MHz*/ ,
+ {{' ',' ','Z','4'}, 0x2210, 0x0} /*136.250000 MHz*/ ,
+ {{' ',' ','Z','5'}, 0x2410, 0x0} /*144.250000 MHz*/ ,
+ {{' ',' ','Z','6'}, 0x2610, 0x0} /*152.250000 MHz*/ ,
+ {{' ',' ','Z','7'}, 0x2810, 0x0} /*160.250000 MHz*/ ,
+ {{' ',' ','Z','8'}, 0x3810, 0x0} /*224.250000 MHz*/ ,
+ {{' ',' ','Z','9'}, 0x3A10, 0x0} /*232.250000 MHz*/ ,
+ {{' ','Z','1','0'}, 0x3C10, 0x0} /*240.250000 MHz*/ ,
+ {{' ','Z','1','1'}, 0x3E10, 0x0} /*248.250000 MHz*/ ,
+ {{' ','Z','1','2'}, 0x4010, 0x0} /*256.250000 MHz*/ ,
+ {{' ','Z','1','3'}, 0x4210, 0x0} /*264.250000 MHz*/ ,
+ {{' ','Z','1','4'}, 0x4410, 0x0} /*272.250000 MHz*/ ,
+ {{' ','Z','1','5'}, 0x4610, 0x0} /*280.250000 MHz*/ ,
+ {{' ','Z','1','6'}, 0x4810, 0x0} /*288.250000 MHz*/ ,
+ {{' ','Z','1','7'}, 0x4A10, 0x0} /*296.250000 MHz*/ ,
+ {{' ','Z','1','8'}, 0x4C10, 0x0} /*304.250000 MHz*/ ,
+ {{' ','Z','1','9'}, 0x4E10, 0x0} /*312.250000 MHz*/ ,
+ {{' ','Z','2','0'}, 0x5010, 0x0} /*320.250000 MHz*/ ,
+ {{' ','Z','2','1'}, 0x5210, 0x0} /*328.250000 MHz*/ ,
+ {{' ','Z','2','2'}, 0x5410, 0x0} /*336.250000 MHz*/ ,
+ {{' ','Z','2','3'}, 0x5610, 0x0} /*344.250000 MHz*/ ,
+ {{' ','Z','2','4'}, 0x5810, 0x0} /*352.250000 MHz*/ ,
+ {{' ','Z','2','5'}, 0x5A10, 0x0} /*360.250000 MHz*/ ,
+ {{' ','Z','2','6'}, 0x5C10, 0x0} /*368.250000 MHz*/ ,
+ {{' ','Z','2','7'}, 0x5E10, 0x0} /*376.250000 MHz*/ ,
+ {{' ','Z','2','8'}, 0x6010, 0x0} /*384.250000 MHz*/ ,
+ {{' ','Z','2','9'}, 0x6210, 0x0} /*392.250000 MHz*/ ,
+ {{' ','Z','3','0'}, 0x6410, 0x0} /*400.250000 MHz*/ ,
+ {{' ','Z','3','1'}, 0x6610, 0x0} /*408.250000 MHz*/ ,
+ {{' ','Z','3','2'}, 0x6810, 0x0} /*416.250000 MHz*/ ,
+ {{' ','Z','3','3'}, 0x6A10, 0x0} /*424.250000 MHz*/ ,
+ {{' ','Z','3','4'}, 0x6C10, 0x0} /*432.250000 MHz*/ ,
+ {{' ','Z','3','5'}, 0x6E10, 0x0} /*440.250000 MHz*/ ,
+ {{' ','Z','3','6'}, 0x7010, 0x0} /*448.250000 MHz*/ ,
+ {{' ','Z','3','7'}, 0x7210, 0x0} /*456.250000 MHz*/ ,
+ {{'D','S','1','3'}, 0x75D0, 0x0} /*471.250000 MHz*/ ,
+ {{'D','S','1','4'}, 0x77D0, 0x0} /*479.250000 MHz*/ ,
+ {{'D','S','1','5'}, 0x79D0, 0x0} /*487.250000 MHz*/ ,
+ {{'D','S','1','6'}, 0x7BD0, 0x0} /*495.250000 MHz*/ ,
+ {{'D','S','1','7'}, 0x7DD0, 0x0} /*503.250000 MHz*/ ,
+ {{'D','S','1','8'}, 0x7FD0, 0x0} /*511.250000 MHz*/ ,
+ {{'D','S','1','9'}, 0x81D0, 0x0} /*519.250000 MHz*/ ,
+ {{'D','S','2','0'}, 0x83D0, 0x0} /*527.250000 MHz*/ ,
+ {{'D','S','2','1'}, 0x85D0, 0x0} /*535.250000 MHz*/ ,
+ {{'D','S','2','2'}, 0x87D0, 0x0} /*543.250000 MHz*/ ,
+ {{'D','S','2','3'}, 0x89D0, 0x0} /*551.250000 MHz*/ ,
+ {{'D','S','2','4'}, 0x8BD0, 0x0} /*559.250000 MHz*/ ,
+ {{' ','Z','3','8'}, 0x8DD0, 0x0} /*567.250000 MHz*/ ,
+ {{' ','Z','3','9'}, 0x8FD0, 0x0} /*575.250000 MHz*/ ,
+ {{' ','Z','4','0'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ','Z','4','1'}, 0x93D0, 0x0} /*591.250000 MHz*/ ,
+ {{' ','Z','4','2'}, 0x95D0, 0x0} /*599.250000 MHz*/ ,
+ {{'D','S','2','5'}, 0x97D0, 0x0} /*607.250000 MHz*/ ,
+ {{'D','S','2','6'}, 0x99D0, 0x0} /*615.250000 MHz*/ ,
+ {{'D','S','2','7'}, 0x9BD0, 0x0} /*623.250000 MHz*/ ,
+ {{'D','S','2','8'}, 0x9DD0, 0x0} /*631.250000 MHz*/ ,
+ {{'D','S','2','9'}, 0x9FD0, 0x0} /*639.250000 MHz*/ ,
+ {{'D','S','3','0'}, 0xA1D0, 0x0} /*647.250000 MHz*/ ,
+ {{'D','S','3','1'}, 0xA3D0, 0x0} /*655.250000 MHz*/ ,
+ {{'D','S','3','2'}, 0xA5D0, 0x0} /*663.250000 MHz*/ ,
+ {{'D','S','3','3'}, 0xA7D0, 0x0} /*671.250000 MHz*/ ,
+ {{'D','S','3','4'}, 0xA9D0, 0x0} /*679.250000 MHz*/ ,
+ {{'D','S','3','5'}, 0xABD0, 0x0} /*687.250000 MHz*/ ,
+ {{'D','S','3','6'}, 0xADD0, 0x0} /*695.250000 MHz*/ ,
+ {{'D','S','3','7'}, 0xAFD0, 0x0} /*703.250000 MHz*/ ,
+ {{'D','S','3','8'}, 0xB1D0, 0x0} /*711.250000 MHz*/ ,
+ {{'D','S','3','9'}, 0xB3D0, 0x0} /*719.250000 MHz*/ ,
+ {{'D','S','4','0'}, 0xB5D0, 0x0} /*727.250000 MHz*/ ,
+ {{'D','S','4','1'}, 0xB7D0, 0x0} /*735.250000 MHz*/ ,
+ {{'D','S','4','2'}, 0xB9D0, 0x0} /*743.250000 MHz*/ ,
+ {{'D','S','4','3'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{'D','S','4','4'}, 0xBDD0, 0x0} /*759.250000 MHz*/ ,
+ {{'D','S','4','5'}, 0xBFD0, 0x0} /*767.250000 MHz*/ ,
+ {{'D','S','4','6'}, 0xC1D0, 0x0} /*775.250000 MHz*/ ,
+ {{'D','S','4','7'}, 0xC3D0, 0x0} /*783.250000 MHz*/ ,
+ {{'D','S','4','8'}, 0xC5D0, 0x0} /*791.250000 MHz*/ ,
+ {{'D','S','4','9'}, 0xC7D0, 0x0} /*799.250000 MHz*/ ,
+ {{'D','S','5','0'}, 0xC9D0, 0x0} /*807.250000 MHz*/ ,
+ {{'D','S','5','1'}, 0xCBD0, 0x0} /*815.250000 MHz*/ ,
+ {{'D','S','5','2'}, 0xCDD0, 0x0} /*823.250000 MHz*/ ,
+ {{'D','S','5','3'}, 0xCFD0, 0x0} /*831.250000 MHz*/ ,
+ {{'D','S','5','4'}, 0xD1D0, 0x0} /*839.250000 MHz*/ ,
+ {{'D','S','5','5'}, 0xD3D0, 0x0} /*847.250000 MHz*/ ,
+ {{'D','S','5','6'}, 0xD5D0, 0x0} /*855.250000 MHz*/ ,
+ {{'D','S','5','7'}, 0xD7D0, 0x0} /*863.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_china_digital_cable = {
+ 99,
+ XC3028_channels_china_digital_cable
+};
+
+XC3028_CHANNEL XC3028_channels_australia_air[56] = {
+ {{' ',' ',' ','0'}, 0x0B90, 0x0} /*46.250000 MHz*/ ,
+ {{' ',' ',' ','1'}, 0x0E50, 0x0} /*57.250000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x1010, 0x0} /*64.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x1590, 0x0} /*86.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x17D0, 0x0} /*95.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x1990, 0x0} /*102.250000 MHz*/ ,
+ {{' ',' ','5','A'}, 0x2290, 0x0} /*138.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x2BD0, 0x0} /*175.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x2D90, 0x0} /*182.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x2F50, 0x0} /*189.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x3110, 0x0} /*196.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x3450, 0x0} /*209.250000 MHz*/ ,
+ {{' ',' ','1','1'}, 0x3610, 0x0} /*216.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x37D0, 0x0} /*223.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x83D0, 0x0} /*527.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x8590, 0x0} /*534.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x8750, 0x0} /*541.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x8910, 0x0} /*548.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x8AD0, 0x0} /*555.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x8C90, 0x0} /*562.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x8E50, 0x0} /*569.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x9010, 0x0} /*576.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x9390, 0x0} /*590.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x9550, 0x0} /*597.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x9710, 0x0} /*604.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x98D0, 0x0} /*611.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x9A90, 0x0} /*618.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x9C50, 0x0} /*625.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0x9E10, 0x0} /*632.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0x9FD0, 0x0} /*639.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0xA190, 0x0} /*646.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0xA350, 0x0} /*653.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0xA510, 0x0} /*660.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0xA6D0, 0x0} /*667.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0xA890, 0x0} /*674.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0xAA50, 0x0} /*681.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0xAC10, 0x0} /*688.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0xADD0, 0x0} /*695.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0xAF90, 0x0} /*702.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0xB150, 0x0} /*709.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0xB310, 0x0} /*716.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0xB4D0, 0x0} /*723.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0xB690, 0x0} /*730.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0xB850, 0x0} /*737.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0xBA10, 0x0} /*744.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0xBBD0, 0x0} /*751.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0xBD90, 0x0} /*758.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0xBF50, 0x0} /*765.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0xC110, 0x0} /*772.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0xC2D0, 0x0} /*779.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0xC490, 0x0} /*786.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0xC650, 0x0} /*793.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0xC810, 0x0} /*800.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0xC9D0, 0x0} /*807.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0xCB90, 0x0} /*814.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_australia_air = {
+ 56,
+ XC3028_channels_australia_air
+};
+
+XC3028_CHANNEL XC3028_channels_australia_cable[80] = {
+ {{' ',' ','1','1'}, 0x1590, 0x0} /*86.250000 MHz*/ ,
+ {{' ',' ','1','2'}, 0x17D0, 0x0} /*95.250000 MHz*/ ,
+ {{' ',' ','1','3'}, 0x1990, 0x0} /*102.250000 MHz*/ ,
+ {{' ',' ','1','4'}, 0x1B90, 0x0} /*110.250000 MHz*/ ,
+ {{' ',' ','1','5'}, 0x1D50, 0x0} /*117.250000 MHz*/ ,
+ {{' ',' ','1','6'}, 0x1F10, 0x0} /*124.250000 MHz*/ ,
+ {{' ',' ','1','7'}, 0x20D0, 0x0} /*131.250000 MHz*/ ,
+ {{' ',' ','1','8'}, 0x2290, 0x0} /*138.250000 MHz*/ ,
+ {{' ',' ','1','9'}, 0x24D0, 0x0} /*147.250000 MHz*/ ,
+ {{' ',' ','2','0'}, 0x2690, 0x0} /*154.250000 MHz*/ ,
+ {{' ',' ','2','1'}, 0x2850, 0x0} /*161.250000 MHz*/ ,
+ {{' ',' ','2','2'}, 0x2A10, 0x0} /*168.250000 MHz*/ ,
+ {{' ',' ','2','3'}, 0x2BD0, 0x0} /*175.250000 MHz*/ ,
+ {{' ',' ','2','4'}, 0x2D90, 0x0} /*182.250000 MHz*/ ,
+ {{' ',' ','2','5'}, 0x2F50, 0x0} /*189.250000 MHz*/ ,
+ {{' ',' ','2','6'}, 0x3110, 0x0} /*196.250000 MHz*/ ,
+ {{' ',' ','2','7'}, 0x3450, 0x0} /*209.250000 MHz*/ ,
+ {{' ',' ','2','8'}, 0x3610, 0x0} /*216.250000 MHz*/ ,
+ {{' ',' ','2','9'}, 0x3810, 0x0} /*224.250000 MHz*/ ,
+ {{' ',' ','3','0'}, 0x39D0, 0x0} /*231.250000 MHz*/ ,
+ {{' ',' ','3','1'}, 0x3B90, 0x0} /*238.250000 MHz*/ ,
+ {{' ',' ','3','2'}, 0x3D50, 0x0} /*245.250000 MHz*/ ,
+ {{' ',' ',' ','1'}, 0x3F10, 0x0} /*252.250000 MHz*/ ,
+ {{' ',' ',' ','2'}, 0x40D0, 0x0} /*259.250000 MHz*/ ,
+ {{' ',' ',' ','3'}, 0x4290, 0x0} /*266.250000 MHz*/ ,
+ {{' ',' ',' ','4'}, 0x4410, 0x0} /*272.250000 MHz*/ ,
+ {{' ',' ',' ','5'}, 0x4610, 0x0} /*280.250000 MHz*/ ,
+ {{' ',' ',' ','6'}, 0x47D0, 0x0} /*287.250000 MHz*/ ,
+ {{' ',' ',' ','7'}, 0x4990, 0x0} /*294.250000 MHz*/ ,
+ {{' ',' ',' ','8'}, 0x4B50, 0x0} /*301.250000 MHz*/ ,
+ {{' ',' ',' ','9'}, 0x4D10, 0x0} /*308.250000 MHz*/ ,
+ {{' ',' ','1','0'}, 0x4ED0, 0x0} /*315.250000 MHz*/ ,
+ {{' ',' ','3','3'}, 0x5090, 0x0} /*322.250000 MHz*/ ,
+ {{' ',' ','3','4'}, 0x5250, 0x0} /*329.250000 MHz*/ ,
+ {{' ',' ','3','5'}, 0x5410, 0x0} /*336.250000 MHz*/ ,
+ {{' ',' ','3','6'}, 0x55D0, 0x0} /*343.250000 MHz*/ ,
+ {{' ',' ','3','7'}, 0x5790, 0x0} /*350.250000 MHz*/ ,
+ {{' ',' ','3','8'}, 0x5950, 0x0} /*357.250000 MHz*/ ,
+ {{' ',' ','3','9'}, 0x5B10, 0x0} /*364.250000 MHz*/ ,
+ {{' ',' ','4','0'}, 0x5CD0, 0x0} /*371.250000 MHz*/ ,
+ {{' ',' ','4','1'}, 0x5E90, 0x0} /*378.250000 MHz*/ ,
+ {{' ',' ','4','2'}, 0x6050, 0x0} /*385.250000 MHz*/ ,
+ {{' ',' ','4','3'}, 0x6250, 0x0} /*393.250000 MHz*/ ,
+ {{' ',' ','4','4'}, 0x63D0, 0x0} /*399.250000 MHz*/ ,
+ {{' ',' ','4','5'}, 0x6590, 0x0} /*406.250000 MHz*/ ,
+ {{' ',' ','4','6'}, 0x6750, 0x0} /*413.250000 MHz*/ ,
+ {{' ',' ','4','7'}, 0x6910, 0x0} /*420.250000 MHz*/ ,
+ {{' ',' ','4','8'}, 0x6AD0, 0x0} /*427.250000 MHz*/ ,
+ {{' ',' ','4','9'}, 0x6C90, 0x0} /*434.250000 MHz*/ ,
+ {{' ',' ','5','0'}, 0x6E50, 0x0} /*441.250000 MHz*/ ,
+ {{' ',' ','5','1'}, 0x7010, 0x0} /*448.250000 MHz*/ ,
+ {{' ',' ','5','2'}, 0x71D0, 0x0} /*455.250000 MHz*/ ,
+ {{' ',' ','5','3'}, 0x7390, 0x0} /*462.250000 MHz*/ ,
+ {{' ',' ','5','4'}, 0x7550, 0x0} /*469.250000 MHz*/ ,
+ {{' ',' ','5','5'}, 0x7710, 0x0} /*476.250000 MHz*/ ,
+ {{' ',' ','5','6'}, 0x78D0, 0x0} /*483.250000 MHz*/ ,
+ {{' ',' ','5','7'}, 0x7A90, 0x0} /*490.250000 MHz*/ ,
+ {{' ',' ','5','8'}, 0x7C50, 0x0} /*497.250000 MHz*/ ,
+ {{' ',' ','5','9'}, 0x7E10, 0x0} /*504.250000 MHz*/ ,
+ {{' ',' ','6','0'}, 0x7FD0, 0x0} /*511.250000 MHz*/ ,
+ {{' ',' ','6','1'}, 0x8190, 0x0} /*518.250000 MHz*/ ,
+ {{' ',' ','6','2'}, 0x83D0, 0x0} /*527.250000 MHz*/ ,
+ {{' ',' ','6','3'}, 0x8590, 0x0} /*534.250000 MHz*/ ,
+ {{' ',' ','6','4'}, 0x8750, 0x0} /*541.250000 MHz*/ ,
+ {{' ',' ','6','5'}, 0x8910, 0x0} /*548.250000 MHz*/ ,
+ {{' ',' ','6','6'}, 0x8AD0, 0x0} /*555.250000 MHz*/ ,
+ {{' ',' ','6','7'}, 0x8C90, 0x0} /*562.250000 MHz*/ ,
+ {{' ',' ','6','8'}, 0x8E50, 0x0} /*569.250000 MHz*/ ,
+ {{' ',' ','6','9'}, 0x9010, 0x0} /*576.250000 MHz*/ ,
+ {{' ',' ','7','0'}, 0x91D0, 0x0} /*583.250000 MHz*/ ,
+ {{' ',' ','7','1'}, 0x9390, 0x0} /*590.250000 MHz*/ ,
+ {{' ',' ','7','2'}, 0x9550, 0x0} /*597.250000 MHz*/ ,
+ {{' ',' ','7','3'}, 0x9710, 0x0} /*604.250000 MHz*/ ,
+ {{' ',' ','7','4'}, 0x98D0, 0x0} /*611.250000 MHz*/ ,
+ {{' ',' ','7','5'}, 0x9A90, 0x0} /*618.250000 MHz*/ ,
+ {{' ',' ','7','6'}, 0x9C50, 0x0} /*625.250000 MHz*/ ,
+ {{' ',' ','7','7'}, 0x9E10, 0x0} /*632.250000 MHz*/ ,
+ {{' ',' ','7','8'}, 0x9FD0, 0x0} /*639.250000 MHz*/ ,
+ {{' ',' ','7','9'}, 0xA190, 0x0} /*646.250000 MHz*/ ,
+ {{' ',' ','8','0'}, 0xA350, 0x0} /*653.250000 MHz*/
+};
+XC3028_CHANNEL_MAP XC3028_channel_map_australia_cable = {
+ 80,
+ XC3028_channels_australia_cable
+};
+
+
+#endif
+
diff --git a/drivers/media/video/empia/xc3028/xc3028_control.c b/drivers/media/video/empia/xc3028/xc3028_control.c
new file mode 100644
index 0000000..f46aded
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/xc3028_control.c
@@ -0,0 +1,622 @@
+//
+// Automatically generated C source file for
+// control of the XC3028 via the i2c interface.
+//
+// Filename : xc3028_control.c
+// Generated : 3/3/2006 2:00:53 PM
+//
+// (c) 2006, Xceive Corporation
+// (C) 2008, Markus Rechberger <mrechberger@empiatech.com>
+//
+//
+// Disclaimer:
+//
+// Xceive assumes no responsibility for any consequences arising from the use
+// of this computer code, nor from any infringement of patents or the rights of
+// third parties that may result from its use. No license is granted by
+// implication or otherwise under any patent or other rights of Xceive. The
+// customer is responsible for assuring that proper design and operating
+// safeguards are observed to minimize inherent and procedural hazards. Xceive
+// assumes no responsibility for applications assistance or customer product
+// design.
+// The present computer code is not authorized for use in medical, life-support
+// equipment, or any other application involving a potential risk of severe
+// property or environmental damage, personal injury, or death without prior
+// express written approval of Xceive. Any such use is understood to be
+// entirely at the user's risk.
+//
+// History:
+//
+// 8/4/2005 rpp : Changes for firmware v2.2
+// Changed 32-bit i2c register writes to have subaddress msb = 1:
+// 1) Power-down (0x0008_0000 => 0x8008_0000)
+// 2) S-Code sequence (0x2000_0000 => 0xA000_0000)
+// 3) Set RF Channel (0x0002_0000 => 0x8002_0000)
+//
+//
+
+
+
+#include <linux/i2c.h>
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/delay.h>
+#include "xc3028_control.h"
+
+#define XCEIVE_XC3028_SUBADDR_FREQ_ERROR 0x0001
+#define XCEIVE_XC3028_SUBADDR_LOCK 0x0002
+#define XCEIVE_XC3028_SUBADDR_VERSION 0x0004
+#define XCEIVE_XC3028_SUBADDR_PRODUCT_ID 0x0008
+#define XCEIVE_XC3028_SUBADDR_HSYNC_FREQ 0x0010
+#define XCEIVE_XC3028_SUBADDR_FRAME_LINES 0x0020
+#define XCEIVE_XC3028_SUBADDR_QUALITY 0x0040
+#define XCEIVE_XC3028_SUBADDR_ADC_ENVELOPE 0x0100
+
+
+/* *************************************************************** */
+/* GLOBAL VARIABLES */
+/* *************************************************************** */
+
+
+
+
+/* *************************************************************** */
+/* *************************************************************** */
+/* */
+/* FOLLOWING FUNCTIONS TO BE IMPLEMENTED BY CUSTOMER */
+/* */
+/* *************************************************************** */
+/* *************************************************************** */
+
+
+int xc3028_send_i2c_data(struct tuner_module *module, unsigned char *bytes_to_send, int nb_bytes_to_send)
+{
+ struct xc3028_priv *priv = module->priv;
+ struct i2c_msg msg = {
+ .addr = priv->i2c_address,
+ .flags = 0,
+ .buf = bytes_to_send,
+ .len = nb_bytes_to_send
+ };
+
+ if (i2c_transfer(priv->adap, &msg, 1) != 1) {
+ printk(KERN_WARNING "xc3028 I2C read failed\n");
+ return -EREMOTEIO;
+ }
+
+ return 0;
+}
+
+int xc3028_read_i2c_data(struct tuner_module *module, unsigned char *bytes_received, int nb_bytes_to_receive)
+{
+ struct xc3028_priv *priv = module->priv;
+ struct i2c_msg msg = {
+ .addr = priv->i2c_address,
+ .flags = I2C_M_RD,
+ .buf = bytes_received,
+ .len = nb_bytes_to_receive
+ };
+
+ if (i2c_transfer(priv->adap, &msg, 1) != 1) {
+ printk(KERN_WARNING "xc3028 I2C read failed\n");
+ return -EREMOTEIO;
+ }
+ return 0;
+}
+
+int xc3028_wait(int wait_ms)
+{
+ udelay(wait_ms*1000);
+ return 0;
+}
+
+
+/* *************************************************************** */
+/* *************************************************************** */
+/* */
+/* CODE PROVIDED BY XCEIVE */
+/* */
+/* *************************************************************** */
+/* *************************************************************** */
+
+
+
+int xc3028_load_i2c_sequence(struct tuner_module *module, XC3028_I2C_SEQUENCE i2c_sequence)
+{
+
+ int i,nbytes_to_send,pos,result = XC3028_RESULT_SUCCESS;
+ unsigned int length, index;
+ unsigned char buf[XC3028_MAX_I2C_WRITE_LENGTH];
+ struct xc3028_priv *priv=module->priv;
+
+ index=4;
+
+ while (((*i2c_sequence.sequence)[index]!=0xFF) || ((*i2c_sequence.sequence)[index+1]!=0xFF)) {
+
+ length = (*i2c_sequence.sequence)[index]*256 + (*i2c_sequence.sequence)[index+1];
+
+ if (length==0x0000) {
+ //this is in fact a RESET command
+ if (priv->callback)
+ result = priv->callback(priv->dev, XC3028_CHIP_RESET, NULL);
+ index+=2;
+ if (result!=XC3028_RESULT_SUCCESS)
+ return result;
+ } else if (length & 0x8000) {
+ //this is in fact a WAIT command
+ result = xc3028_wait(length & 0x7FFF);
+ index+=2;
+ if (result!=XC3028_RESULT_SUCCESS)
+ return result;
+ } else {
+ //send i2c data whilst ensuring individual transactions do
+ //not exceed XC3028_MAX_I2C_WRITE_LENGTH bytes
+ index+=2;
+ buf[0] = (*i2c_sequence.sequence)[index];
+ pos = 1;
+ while (pos < length) {
+
+ if ( (length-pos) > XC3028_MAX_I2C_WRITE_LENGTH-1) {
+ nbytes_to_send = XC3028_MAX_I2C_WRITE_LENGTH;
+ } else {
+ nbytes_to_send = (length-pos+1);
+ }
+
+ for (i=1;i<nbytes_to_send;i++) {
+ buf[i] = (*i2c_sequence.sequence)[index+pos+i-1];
+ }
+
+ result = xc3028_send_i2c_data(module, buf, nbytes_to_send);
+
+ if (result!=XC3028_RESULT_SUCCESS)
+ return result;
+
+ pos += nbytes_to_send-1;
+ }
+ index+=length;
+ }
+ }
+
+
+ return XC3028_RESULT_SUCCESS;
+}
+
+
+int xc3028_get_reg(struct tuner_module *module, unsigned short int subaddr, unsigned short int *data)
+{
+ unsigned char buf[2];
+ int result;
+
+ buf[0]=(subaddr>>8) & 0xFF;
+ buf[1]=subaddr & 0xFF;
+ result = xc3028_send_i2c_data(module, buf, 2);
+ if (result!=XC3028_RESULT_SUCCESS)
+ return result;
+
+ result = xc3028_read_i2c_data(module, buf, 2);
+ if (result!=XC3028_RESULT_SUCCESS)
+ return result;
+
+ (*data) = buf[0];
+ (*data) = ((*data) << 8) + buf[1];
+
+ return XC3028_RESULT_SUCCESS;
+}
+
+
+
+int xc3028_initialize(struct tuner_module *module, XC3028_TV_MODE* new_tv_mode_ptr, XC3028_CHANNEL_MAP* new_channel_map_ptr)
+{
+
+ int result = XC3028_RESULT_SUCCESS;
+ struct xc3028_priv *priv = module->priv;
+ int base_firmware_changed;
+ int std_firmware_changed;
+
+ // if base firmware has changed, then do hardware reset and reload base
+ // firmware file
+
+ if (new_tv_mode_ptr == NULL || new_channel_map_ptr == NULL) {
+ printk("NULL PTR\n");
+ return -EINVAL;
+ }
+
+ base_firmware_changed = (new_tv_mode_ptr->base_firmware_ptr != priv->XC3028_current_tv_mode.base_firmware_ptr);
+ std_firmware_changed = (new_tv_mode_ptr->std_firmware_ptr != priv->XC3028_current_tv_mode.std_firmware_ptr);
+
+
+ if (base_firmware_changed) {
+ if(priv->callback)
+ result = priv->callback(priv->dev, XC3028_CHIP_RESET, NULL);
+
+ if (result!=XC3028_RESULT_SUCCESS) {
+ return result;
+ }
+
+ result = xc3028_load_i2c_sequence(module, *(new_tv_mode_ptr->base_firmware_ptr));
+ if (result!=XC3028_RESULT_SUCCESS) {
+ return result;
+ }
+ }
+
+ // if base firmware has changed -or- standard-specific firmware has
+ // changed then reload standard-specific firmware file
+ if (base_firmware_changed || std_firmware_changed) {
+ result = xc3028_load_i2c_sequence(module, *(new_tv_mode_ptr->std_firmware_ptr));
+ if (result!=XC3028_RESULT_SUCCESS) {
+ return result;
+ }
+ }
+
+ priv->XC3028_current_tv_mode = *new_tv_mode_ptr;
+ priv->XC3028_current_channel_map_ptr = new_channel_map_ptr;
+
+ // if base firmware has changed -or- standard-specific firmware has
+ // changed then re-write RF channel
+
+ if (base_firmware_changed || std_firmware_changed) {
+ //do not return error if channel is incorrect...
+ xc3028_set_channel(module, priv->XC3028_current_channel);
+ }
+
+ return XC3028_RESULT_SUCCESS;
+}
+
+int xc3028_shutdown(struct tuner_module *module)
+{
+ //unsigned char buf[4] = {0x00, 0x08, 0x00, 0x00};
+ unsigned char buf[4] = {0x80, 0x08, 0x00, 0x00}; //modified for firmware v2.2
+ struct xc3028_priv *priv = module->priv;
+
+ xc3028_send_i2c_data(module, buf, 4); //no ack check
+
+ //reset current firmware pointers to force firmware reload
+ //during subsequent call to xc3028_initialize()
+ priv->XC3028_current_tv_mode.base_firmware_ptr=0;
+ priv->XC3028_current_tv_mode.std_firmware_ptr=0;
+
+ return 0;
+}
+
+int xc3028_set_frequency(struct tuner_module *module, unsigned long frequency_in_hz)
+{
+ unsigned int frequency_code;
+ XC3028_CHANNEL new_channel;
+ struct xc3028_priv *priv = module->priv;
+
+ if (priv->XC3028_current_channel_map_ptr == 0) {
+ printk("no channelmap specified\n");
+ return XC3028_RESULT_NO_CHANNELMAP_SPECIFIED;
+ }
+
+ if ((frequency_in_hz>1023000000) || (frequency_in_hz<1000000)) {
+ printk("out of range\n");
+ return XC3028_RESULT_OUT_OF_RANGE;
+ }
+
+ frequency_code = (unsigned int)frequency_in_hz/15625;
+
+ new_channel.frequency = frequency_code;
+ new_channel.dcode = 0xFF;
+
+ return xc3028_set_channel(module, new_channel);
+}
+
+
+int xc3028_send_scode(struct tuner_module *module, unsigned char dcode)
+{
+ unsigned char buf[4];
+ int result;
+ struct xc3028_priv *priv = module->priv;
+
+ //buf[0] = 0x20;
+ buf[0] = 0xA0; // modified for firmware v2.2
+ buf[1] = 0x00;
+ buf[2] = 0x00;
+ buf[3] = 0x00;
+
+ if (priv->XC3028_current_tv_mode.scode_table_ptr==0) {
+ return XC3028_RESULT_SUCCESS;
+ }
+
+ result = xc3028_send_i2c_data(module, buf, 4);
+ if (result!=XC3028_RESULT_SUCCESS)
+ return result;
+
+ result = xc3028_send_i2c_data(module, (*(priv->XC3028_current_tv_mode.scode_table_ptr))[dcode], 12);
+ if (result!=XC3028_RESULT_SUCCESS)
+ return result;
+
+ buf[0] = 0x00;
+ buf[1] = 0x8C;
+
+ result = xc3028_send_i2c_data(module, buf, 2);
+ if (result!=XC3028_RESULT_SUCCESS)
+ return result;
+
+ return XC3028_RESULT_SUCCESS;
+}
+
+int xc3028_set_channel(struct tuner_module *module, XC3028_CHANNEL new_channel)
+{
+ int i,result;
+ unsigned int frequency;
+ unsigned char dcode;
+ unsigned char buf[4];
+ struct xc3028_priv *priv = module->priv;
+
+ priv->XC3028_current_channel = new_channel;
+
+ frequency = new_channel.frequency;
+ if (frequency==0) {
+ if (priv->XC3028_current_channel_map_ptr == 0) {
+ return XC3028_RESULT_NO_CHANNELMAP_SPECIFIED;
+ }
+
+ //lookup frequency from table using identifier
+ for (i=0;i<priv->XC3028_current_channel_map_ptr->nb_channels;i++) {
+ if ( (priv->XC3028_current_channel_map_ptr->channels[i].identifier[0] == new_channel.identifier[0]) &&
+ (priv->XC3028_current_channel_map_ptr->channels[i].identifier[1] == new_channel.identifier[1]) &&
+ (priv->XC3028_current_channel_map_ptr->channels[i].identifier[2] == new_channel.identifier[2]) &&
+ (priv->XC3028_current_channel_map_ptr->channels[i].identifier[3] == new_channel.identifier[3]) ) {
+ frequency = priv->XC3028_current_channel_map_ptr->channels[i].frequency;
+ }
+ }
+ }
+
+ if (frequency==0)
+ return XC3028_RESULT_INVALID_CHANNEL_IDENTIFIER;
+
+ /* if supplied dcode is 0xFF, then lookup dcode using current channel map */
+ dcode = new_channel.dcode;
+ if (dcode==0xFF) {
+ if (priv->XC3028_current_channel_map_ptr == 0) {
+ return XC3028_RESULT_NO_CHANNELMAP_SPECIFIED;
+ }
+
+ dcode=0; //default value if no close channel found
+ for (i=0;i<(priv->XC3028_current_channel_map_ptr->nb_channels);i++) {
+ if ( (frequency > priv->XC3028_current_channel_map_ptr->channels[i].frequency - 64) &&
+ (frequency < priv->XC3028_current_channel_map_ptr->channels[i].frequency + 64) ) {
+ dcode = priv->XC3028_current_channel_map_ptr->channels[i].dcode;
+ }
+ }
+ }
+
+ result = xc3028_send_scode(module, dcode);
+ if (result!=XC3028_RESULT_SUCCESS)
+ return result;
+
+ //buf[0] = 0x00;
+ buf[0] = 0x80; // modified for firmware v2.2
+ buf[1] = 0x02;
+ buf[2] = 0x00;
+ buf[3] = 0x00;
+
+ result = xc3028_send_i2c_data(module, buf, 4);
+ if (result!=XC3028_RESULT_SUCCESS)
+ return result;
+
+ buf[0] = 0x00;
+ buf[1] = dcode & 0x0F;
+ buf[2] = (frequency>>8) % 256;
+ buf[3] = (frequency) % 256;
+
+ return xc3028_send_i2c_data(module, buf, 4);
+}
+
+// Obtain current frequency error of XC3028.
+// Refer to datasheet for values.
+int xc3028_get_frequency_error(struct tuner_module *module, long *frequency_error_mhz)
+{
+ unsigned short int data;
+ short int signed_data;
+ int result;
+
+ result = xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_FREQ_ERROR, &data);
+ if (result)
+ return result;
+
+ signed_data = (short int)data;
+ (*frequency_error_mhz) = signed_data * 15625;
+
+ return 0;
+}
+
+// Obtain current lock status of XC3028.
+// Refer to datasheet for values.
+int xc3028_get_lock_status(struct tuner_module *module, unsigned short int *lock_status)
+{
+ return xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_LOCK, lock_status);
+}
+
+// Obtain Version codes from XC3028.
+// Refer to datasheet for values.
+int xc3028_get_version(struct tuner_module *module,
+ unsigned char* hw_majorversion,
+ unsigned char* hw_minorversion,
+ unsigned char* fw_majorversion,
+ unsigned char* fw_minorversion)
+{
+ unsigned short int data;
+ int result;
+
+ result = xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_VERSION, &data);
+ if (result)
+ return result;
+
+ (*hw_majorversion) = (data>>12) & 0x0F;
+ (*hw_minorversion) = (data>>8) & 0x0F;
+ (*fw_majorversion) = (data>>4) & 0x0F;
+ (*fw_minorversion) = (data) & 0x0F;
+
+ return 0;
+ }
+
+ // Obtain Product ID from XC3028.
+ // Refer to datasheet for values.
+ int xc3028_get_product_id(struct tuner_module *module,
+ unsigned short int *product_id) {
+ return xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_PRODUCT_ID, product_id);
+ }
+
+ // Obtain current horizontal video frequency as measured by XC3028.
+ // Refer to datasheet for values.
+ int xc3028_get_hsync_freq(struct tuner_module *module, long *hsync_freq_khz)
+ {
+ unsigned short int data;
+ int result;
+
+ result = xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_HSYNC_FREQ, &data);
+ if (result)
+ return result;
+
+ (*hsync_freq_khz) = (data&0x0fff)*763/100;
+
+ return 0;
+ }
+
+ // Obtain current number of lines per frame as measured by XC3028.
+ // Refer to datasheet for values.
+ int xc3028_get_frame_lines(struct tuner_module *module, unsigned short int *frame_lines)
+ {
+ unsigned short int data;
+ int result;
+
+ result = xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_FRAME_LINES, &data);
+ if (result)
+ return result;
+
+ (*frame_lines) = (data & 0x03ff);
+
+ return 0;
+ }
+
+ // Obtain current video signal quality as measured by XC3028.
+ // Refer to datasheet for values.
+ int xc3028_get_quality(struct tuner_module *module, unsigned short int *quality)
+ {
+ return xc3028_get_reg(module, XCEIVE_XC3028_SUBADDR_QUALITY, quality);
+ }
+
+// Scan via 2.5MHz increments from freq_min to freq_max and update table
+// with frequencies of channels found. For all channels that lock, we do
+// additional check on carrier stability and quality level
+int xc3028_full_scan(struct tuner_module *module, unsigned int freq_min, unsigned int freq_max, int freq_list_size, unsigned int *freq_list, int *nb_freq_found )
+ {
+ int num_channels = 0;
+ XC3028_CHANNEL curr_channel;
+ unsigned short int lock_status;
+ long freq_error, min_freq_error, max_freq_error;
+ unsigned short int quality, max_quality;
+ int res;
+
+ curr_channel.frequency = freq_min;
+ curr_channel.dcode = 0xFF;
+
+ while ((num_channels<freq_list_size) && (curr_channel.frequency<freq_max)) {
+
+ res=xc3028_set_channel(module, curr_channel);
+ if (res!=XC3028_RESULT_SUCCESS)
+ return res;
+
+ *nb_freq_found = num_channels;
+
+ //poll lock register
+ lock_status=0;
+ while (!lock_status) {
+ res=xc3028_get_lock_status(module, &lock_status);
+ if (res!=XC3028_RESULT_SUCCESS)
+ return res;
+ }
+
+ if (lock_status!=1) {
+ //no channel found
+ curr_channel.frequency += 160; // 160*15.625khz = 2.5 MHz
+ } else {
+ //locked
+
+ xc3028_wait(6);
+
+ res=xc3028_get_frequency_error(module, &freq_error);
+ if (res!=XC3028_RESULT_SUCCESS) return res;
+ max_freq_error = freq_error;
+ min_freq_error = freq_error;
+
+ res=xc3028_get_quality(module, &quality);
+ if (res!=XC3028_RESULT_SUCCESS) return res;
+ max_quality=quality;
+
+ xc3028_wait(6);
+
+ res=xc3028_get_frequency_error(module, &freq_error);
+ if (res!=XC3028_RESULT_SUCCESS) return res;
+ max_freq_error = (max_freq_error>freq_error) ? max_freq_error : freq_error;
+ min_freq_error = (min_freq_error<freq_error) ? min_freq_error : freq_error;
+
+ res=xc3028_get_quality(module, &quality);
+ if (res!=XC3028_RESULT_SUCCESS) return res;
+ max_quality=(max_quality>quality) ? max_quality : quality;
+
+ xc3028_wait(6);
+
+ res=xc3028_get_frequency_error(module, &freq_error);
+ if (res!=XC3028_RESULT_SUCCESS) return res;
+ max_freq_error = (max_freq_error>freq_error) ? max_freq_error : freq_error;
+ min_freq_error = (min_freq_error<freq_error) ? min_freq_error : freq_error;
+
+ res=xc3028_get_quality(module, &quality);
+ if (res!=XC3028_RESULT_SUCCESS) return res;
+ max_quality=(max_quality>quality) ? max_quality : quality;
+
+
+ //We got lock, but now we check that carrier is stable and that quality is sufficient
+ if (((max_freq_error-min_freq_error)<60000) && (max_quality>0)) {
+ //add new channel
+ freq_list[num_channels]=curr_channel.frequency + (int)freq_error / 15625;
+
+ if (num_channels>0) {
+ //checking for duplicate in table
+ if ((freq_list[num_channels-1]<freq_list[num_channels]+4) && (freq_list[num_channels-1]>freq_list[num_channels]-4) ) {
+ //previous channel is same: cancel new entry
+ num_channels--;
+ }
+ }
+
+ num_channels++;
+
+ // update channel frequency for next scan step
+ curr_channel.frequency += 384; // 384*15.625khz = 6 MHz
+ } else {
+ // update channel frequency for next scan step
+ curr_channel.frequency += 160; // 160*15.625khz = 2.5 MHz
+ }
+ }
+ }
+
+ (*nb_freq_found) = num_channels;
+
+ return XC3028_RESULT_SUCCESS;
+ }
+
+
+int xc3028_tuner_cmd(struct tuner_module *module, unsigned int cmd, void *data)
+{
+ switch(cmd) {
+ case XC3028_INIT_TUNER:
+ {
+ struct xc3028_init_cmd *init_cmd = data;
+ xc3028_initialize(module, init_cmd->new_tv_mode_ptr, init_cmd->new_channel_map_ptr);
+ break;
+ }
+ case XC3028_SET_CHANNEL:
+ {
+ XC3028_CHANNEL new_channel=*((XC3028_CHANNEL*)data);
+ xc3028_set_channel(module, new_channel);
+ break;
+ }
+ default:
+ return -EINVAL;
+ }
+ return 0;
+}
diff --git a/drivers/media/video/empia/xc3028/xc3028_control.h b/drivers/media/video/empia/xc3028/xc3028_control.h
new file mode 100644
index 0000000..407ae2e
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/xc3028_control.h
@@ -0,0 +1,207 @@
+//
+// Automatically generated C header file for
+// control of the XC3028 via the i2c interface.
+//
+// Filename : xc3028_control.h
+// Generated : 3/3/2006 2:00:53 PM
+//
+// (c) 2006, Xceive Corporation
+//
+//
+// Disclaimer:
+//
+// Xceive assumes no responsibility for any consequences arising from the use
+// of this computer code, nor from any infringement of patents or the rights of
+// third parties that may result from its use. No license is granted by
+// implication or otherwise under any patent or other rights of Xceive. The
+// customer is responsible for assuring that proper design and operating
+// safeguards are observed to minimize inherent and procedural hazards. Xceive
+// assumes no responsibility for applications assistance or customer product
+// design.
+// The present computer code is not authorized for use in medical, life-support
+// equipment, or any other application involving a potential risk of severe
+// property or environmental damage, personal injury, or death without prior
+// express written approval of Xceive. Any such use is understood to be
+// entirely at the user's risk.
+//
+//
+
+#ifndef __XC3028_CONTROL_H
+#define __XC3028_CONTROL_H
+
+/* *********************************************************************** */
+/* Defines */
+/* *********************************************************************** */
+
+#include "tunerchip.h"
+
+#define XC3028_MAX_I2C_WRITE_LENGTH 64
+
+#define XC3028_RESULT_SUCCESS 0
+#define XC3028_RESULT_RESET_FAILURE 1
+#define XC3028_RESULT_I2C_WRITE_FAILURE 2
+#define XC3028_RESULT_I2C_READ_FAILURE 3
+#define XC3028_RESULT_WAIT_FAILURE 4
+#define XC3028_RESULT_OUT_OF_RANGE 5
+#define XC3028_RESULT_INVALID_CHANNEL_IDENTIFIER 6
+#define XC3028_RESULT_NO_CHANNELMAP_SPECIFIED 7
+
+/* *********************************************************************** */
+/* Type Declarations */
+/* *********************************************************************** */
+
+/*
+ This represents an I2C firmware file encoded as a string of unsigned char.
+ Format is as follows:
+
+ char[0 ]=len0_MSB -> len = len_MSB * 256 + len_LSB
+ char[1 ]=len0_LSB -> length of first write transaction
+ char[2 ]=data0 -> first byte to be sent
+ char[3 ]=data1
+ char[4 ]=data2
+ char[ ]=...
+ char[M ]=dataN -> last byte to be sent
+ char[M+1]=len1_MSB -> len = len_MSB * 256 + len_LSB
+ char[M+2]=len1_LSB -> length of second write transaction
+ char[M+3]=data0
+ char[M+4]=data1
+ ...
+ etc.
+
+ The [len] value should be interpreted as follows:
+
+ len= len_MSB _ len_LSB
+ len=1111_1111_1111_1111 : End of I2C_SEQUENCE
+ len=0000_0000_0000_0000 : Reset command: Do hardware reset
+ len=0NNN_NNNN_NNNN_NNNN : Normal transaction: number of bytes = {1:32767)
+ len=1WWW_WWWW_WWWW_WWWW : Wait command: wait for {1:32767} ms
+
+ For the RESET and WAIT commands, the two following bytes will contain
+ immediately the length of the following transaction.
+
+*/
+
+
+
+typedef struct {
+ unsigned char **sequence;
+} XC3028_I2C_SEQUENCE;
+
+typedef unsigned char XC3028_SCODE_TABLE[16][12];
+
+typedef struct {
+ char identifier[4];
+ unsigned int frequency;
+ unsigned char dcode;
+} XC3028_CHANNEL;
+
+typedef struct {
+ int nb_channels;
+ XC3028_CHANNEL *channels;
+} XC3028_CHANNEL_MAP;
+
+typedef struct {
+ XC3028_I2C_SEQUENCE *base_firmware_ptr;
+ XC3028_I2C_SEQUENCE *std_firmware_ptr;
+ XC3028_SCODE_TABLE *scode_table_ptr;
+} XC3028_TV_MODE;
+
+struct tuner_module;
+
+/* *********************************************************************** */
+/* Dummy functions to be implemented by customer */
+/* *********************************************************************** */
+
+// Sends data bytes to xc3028 via I2C starting with
+// bytes_to_send[0] and ending with bytes_to_send[nb_bytes_to_send-1]
+// Returns one of the XCEIVE_XC3028_RESULT result codes listed above
+int i2c_send_to_xc3028(struct tuner_module *client, unsigned char *bytes_to_send, int nb_bytes_to_send);
+// Reads data bytes from xc3028 via I2C starting with
+// bytes_received[0] and ending with bytes_received[nb_bytes_to_receive-1]
+// Returns one of the XCEIVE_XC3028_RESULT result codes listed above
+int i2c_receive_from_xc3028(struct tuner_module *client, unsigned char *bytes_received, int nb_bytes_to_receive);
+// Does hardware reset
+// Returns one of the XCEIVE_XC3028_RESULT result codes listed above
+int reset_xc3028(struct tuner_module *client);
+// Waits for wait_ms milliseconds
+// Returns one of the XCEIVE_XC3028_RESULT result codes listed above
+int wait_xc3028(int wait_ms);
+
+/* *********************************************************************** */
+/* Functions implemented in xc3028_init.c file */
+/* All return one of the XCEIVE_XC3028_RESULT result codes as listed above */
+/* *********************************************************************** */
+
+// Initialize device according to supplied tv mode.
+// Supplied channel map will be used for future calls to xc3028_set_channel.
+int xc3028_initialize(struct tuner_module *client, XC3028_TV_MODE* new_tv_mode_ptr, XC3028_CHANNEL_MAP* new_channel_map_ptr);
+
+// Switch to new RF channel.
+// Set channel.frequency=0 to enable lookup of frequency+dcode using channel.identifier
+// Set channel.dcode to 0xFF to enable dcode lookup from channel map, otherwise
+// provided value is used instead.
+int xc3028_set_channel(struct tuner_module *client, XC3028_CHANNEL new_channel);
+
+// Power-down device.
+// To restart, call xc3028_initialize().
+int xc3028_shutdown(struct tuner_module *client);
+
+// Get current frequency error.
+int xc3028_get_frequency_error(struct tuner_module *client, long *frequency_error_mhz);
+
+// Get lock status.
+int xc3028_get_lock_status(struct tuner_module *client, unsigned short int *lock_status);
+
+// Get device version information.
+int xc3028_get_version( struct tuner_module *client,
+ unsigned char* hw_majorversion,unsigned char* hw_minorversion,
+ unsigned char* fw_majorversion, unsigned char* fw_minorversion);
+
+// Get device product ID.
+int xc3028_get_product_id(struct tuner_module *client, unsigned short int *product_id);
+
+// Get horizontal sync frequency.
+int xc3028_get_hsync_freq(struct tuner_module *client, long *hsync_freq_khz);
+
+// Get number of lines per frame.
+int xc3028_get_frame_lines(struct tuner_module *client, unsigned short int *frame_lines);
+
+// Get quality estimate.
+int xc3028_get_quality(struct tuner_module *client, unsigned short int *quality);
+
+// Do full scan for channels
+int xc3028_full_scan(struct tuner_module *client, unsigned int freq_min, unsigned int freq_max, int freq_list_size, unsigned int *freq_list, int *nb_freq_found);
+
+int xc3028_set_frequency(struct tuner_module *module, unsigned long frequency_in_hz);
+
+int xc3028_tuner_cmd(struct tuner_module *module, unsigned int cmd, void *data);
+
+struct xc3028_priv {
+ struct i2c_adapter *adap;
+ int i2c_address;
+ XC3028_TV_MODE XC3028_current_tv_mode;
+ XC3028_CHANNEL_MAP *XC3028_current_channel_map_ptr;
+ XC3028_CHANNEL XC3028_current_channel;
+ int (*callback)(void *dev, unsigned int cmd, void *data);
+ void *dev;
+};
+
+
+#define XC3028_INIT_TUNER 1
+#define XC3028_SET_CHANNEL 2
+#define XC3028_CHIP_RESET 3
+#define XC3028_SET_FIRMWARE 4
+
+struct xc3028_init_cmd {
+ XC3028_TV_MODE* new_tv_mode_ptr;
+ XC3028_CHANNEL_MAP* new_channel_map_ptr;
+};
+
+struct xc3028_channel {
+ XC3028_CHANNEL new_channel;
+};
+
+
+#endif
+
+
diff --git a/drivers/media/video/empia/xc3028/xc3028_firmwares.h b/drivers/media/video/empia/xc3028/xc3028_firmwares.h
new file mode 100644
index 0000000..3aebd60
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/xc3028_firmwares.h
@@ -0,0 +1,691 @@
+//
+// Automatically generated C header file for
+// control of the XC3028 via the i2c interface.
+//
+// Filename : xc3028_firmwares.h
+// Generated : 3/3/2006 2:00:50 PM
+// Firmware version : 2.7
+//
+// (c) 2006, Xceive Corporation
+//
+
+#ifndef __XC3028_FIRMWARES_H
+#define __XC3028_FIRMWARES_H
+
+#include "xc3028_scodes.h"
+#include "xc3028_control.h"
+
+
+// *************************************************************
+// *** LIST OF AVAILABLE TV_MODES
+// *** TV_MODE is selected during call to xc3028_initialize()
+// ***
+// *** 1) XC3028_tv_mode_m_n_ntsc_pal_btsc_if
+// *** 2) XC3028_tv_mode_m_n_ntsc_pal_btsc_if_lcd
+// *** 3) XC3028_tv_mode_m_n_ntsc_pal_btsc_if_lcd_nogd
+// *** 4) XC3028_tv_mode_m_n_ntsc_pal_a2_if
+// *** 5) XC3028_tv_mode_m_n_ntsc_pal_a2_if_lcd
+// *** 6) XC3028_tv_mode_m_n_ntsc_pal_a2_if_lcd_nogd
+// *** 7) XC3028_tv_mode_m_n_ntsc_pal_mts
+// *** 8) XC3028_tv_mode_m_n_ntsc_pal_mts_lcd
+// *** 9) XC3028_tv_mode_m_n_ntsc_pal_mts_lcd_nogd
+// *** 10) XC3028_tv_mode_m_n_ntsc_pal_a2_mono
+// *** 11) XC3028_tv_mode_m_n_ntsc_pal_a2_mono_lcd
+// *** 12) XC3028_tv_mode_m_n_ntsc_pal_a2_mono_lcd_nogd
+// *** 13) XC3028_tv_mode_m_n_ntsc_pal_eiaj
+// *** 14) XC3028_tv_mode_i_pal_nicam
+// *** 15) XC3028_tv_mode_b_g_pal_a2_a
+// *** 16) XC3028_tv_mode_b_g_pal_nicam_a
+// *** 17) XC3028_tv_mode_b_g_pal_a2_b
+// *** 18) XC3028_tv_mode_b_g_pal_nicam_b
+// *** 19) XC3028_tv_mode_l_secam_nicam
+// *** 20) XC3028_tv_mode_l_secam_nicam_am_only
+// *** 21) XC3028_tv_mode_lp_secam_nicam
+// *** 22) XC3028_tv_mode_d_k_pal_a2
+// *** 23) XC3028_tv_mode_d_k_pal_nicam
+// *** 24) XC3028_tv_mode_d_k_secam_a2_dk1
+// *** 25) XC3028_tv_mode_d_k_secam_a2_l_dk3
+// *** 26) XC3028_tv_mode_fm_radio_input2
+// *** 27) XC3028_tv_mode_fm_radio_input1
+// *** 28) XC3028_tv_mode_dtv6_atsc_lg_6_0mhz
+// *** 29) XC3028_tv_mode_dtv6_atsc_ati_6_38mhz
+// *** 30) XC3028_tv_mode_dtv6_atsc_oren_5_38mhz
+// *** 31) XC3028_tv_mode_dtv6_atsc_oren_3_6mhz
+// *** 32) XC3028_tv_mode_dtv6_atsc_toyota_3_88mhz
+// *** 33) XC3028_tv_mode_dtv6_atsc_toyota_7_94mhz
+// *** 34) XC3028_tv_mode_dtv6_qam_6_0mhz
+// *** 35) XC3028_tv_mode_dtv8_dibcom_5_2mhz
+// *** 36) XC3028_tv_mode_dtv78_dibcom_5_2mhz
+// *** 37) XC3028_tv_mode_dtv7_dibcom_5_2mhz
+// *** 38) XC3028_tv_mode_dtv6_zarlink_qam_4_56mhz
+// *** 39) XC3028_tv_mode_dtv8_zarlink_4_56mhz
+// *** 40) XC3028_tv_mode_dtv78_zarlink_4_56mhz
+// *** 41) XC3028_tv_mode_dtv7_zarlink_4_56mhz
+// *** 42) XC3028_tv_mode_dtv8_china_temporary
+// *** 43) XC3028_tv_mode_i_pal_nicam_mono
+// *** 44) XC3028_tv_mode_b_g_pal_a2_a_mono
+// *** 45) XC3028_tv_mode_b_g_pal_nicam_a_mono
+// *** 46) XC3028_tv_mode_b_g_pal_a2_b_mono
+// *** 47) XC3028_tv_mode_b_g_pal_nicam_b_mono
+// *** 48) XC3028_tv_mode_d_k_pal_a2_mono
+// *** 49) XC3028_tv_mode_d_k_pal_nicam_mono
+// *** 50) XC3028_tv_mode_d_k_secam_a2_dk1_mono
+// *** 51) XC3028_tv_mode_d_k_secam_a2_l_dk3_mono
+// ***
+// *************************************************************
+
+// ************************************************************
+// *** BASE FIRMWARE FILES
+// *** These declarations are not used directly by user
+// ************************************************************
+
+unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE
+};
+
+unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE
+};
+
+unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_fm_init = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE
+};
+
+unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_fm_input1_init = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE
+};
+
+unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_init = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init_SEQUENCE
+};
+
+unsigned char *XC3028_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_base_firmware_i2c_files_base_firmwares_mts_init = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE
+};
+
+
+// ************************************************************
+// *** STANDARD-SPECIFIC FIRMWARE FILES
+// *** These declarations are not used directly by user
+// ************************************************************
+
+unsigned char *XC3028_std_firmware_bg_pal_a2_a_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_a2_a = {
+ &XC3028_std_firmware_bg_pal_a2_a_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_bg_pal_a2_a_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_a2_a_mts = {
+ &XC3028_std_firmware_bg_pal_a2_a_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_bg_pal_a2_b_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_a2_b = {
+ &XC3028_std_firmware_bg_pal_a2_b_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_bg_pal_a2_b_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_a2_b_mts = {
+ &XC3028_std_firmware_bg_pal_a2_b_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_bg_pal_nicam_a_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_nicam_a = {
+ &XC3028_std_firmware_bg_pal_nicam_a_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_bg_pal_nicam_a_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_nicam_a_mts = {
+ &XC3028_std_firmware_bg_pal_nicam_a_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_bg_pal_nicam_b_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_nicam_b = {
+ &XC3028_std_firmware_bg_pal_nicam_b_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_bg_pal_nicam_b_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_bg_pal_nicam_b_mts = {
+ &XC3028_std_firmware_bg_pal_nicam_b_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dk_pal_a2_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_pal_a2 = {
+ &XC3028_std_firmware_dk_pal_a2_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dk_pal_a2_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_pal_a2_mts = {
+ &XC3028_std_firmware_dk_pal_a2_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dk_pal_nicam_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_pal_nicam = {
+ &XC3028_std_firmware_dk_pal_nicam_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dk_pal_nicam_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_pal_nicam_mts = {
+ &XC3028_std_firmware_dk_pal_nicam_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dk_secam_a2_dk1_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_secam_a2_dk1 = {
+ &XC3028_std_firmware_dk_secam_a2_dk1_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_secam_a2_dk1_mts = {
+ &XC3028_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dk_secam_a2_l_dk3_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_secam_a2_l_dk3 = {
+ &XC3028_std_firmware_dk_secam_a2_l_dk3_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dk_secam_a2_l_dk3_mts = {
+ &XC3028_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dtv6_atsc_2633_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv6_atsc_2633 = {
+ &XC3028_std_firmware_dtv6_atsc_2633_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dtv6_qam_2620_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv6_qam_2620 = {
+ &XC3028_std_firmware_dtv6_qam_2620_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dtv6_qam_2633_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv6_qam_2633 = {
+ &XC3028_std_firmware_dtv6_qam_2633_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dtv7_2620_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv7_2620 = {
+ &XC3028_std_firmware_dtv7_2620_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dtv7_2633_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv7_2633 = {
+ &XC3028_std_firmware_dtv7_2633_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dtv78_2620_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv78_2620 = {
+ &XC3028_std_firmware_dtv78_2620_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dtv78_2633_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv78_2633 = {
+ &XC3028_std_firmware_dtv78_2633_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dtv8_2620_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv8_2620 = {
+ &XC3028_std_firmware_dtv8_2620_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_dtv8_2633_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_dtv8_2633 = {
+ &XC3028_std_firmware_dtv8_2633_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_fm_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_fm = {
+ &XC3028_std_firmware_fm_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_i_pal_nicam_SEQUENCE;
+
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_i_pal_nicam = {
+ &XC3028_std_firmware_i_pal_nicam_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_i_pal_nicam_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_i_pal_nicam_mts = {
+ &XC3028_std_firmware_i_pal_nicam_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_l_secam_am_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_l_secam_am = {
+ &XC3028_std_firmware_l_secam_am_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_l_secam_nicam_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_l_secam_nicam = {
+ &XC3028_std_firmware_l_secam_nicam_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_lp_secam_nicam_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_lp_secam_nicam = {
+ &XC3028_std_firmware_lp_secam_nicam_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_a2_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_a2 = {
+ &XC3028_std_firmware_mn_ntscpal_a2_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_a2_lcd = {
+ &XC3028_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_a2_lcd_nogd = {
+ &XC3028_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_a2_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_a2_mts = {
+ &XC3028_std_firmware_mn_ntscpal_a2_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_btsc_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_btsc = {
+ &XC3028_std_firmware_mn_ntscpal_btsc_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_btsc_lcd = {
+ &XC3028_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_btsc_lcd_nogd = {
+ &XC3028_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_eiaj_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_eiaj = {
+ &XC3028_std_firmware_mn_ntscpal_eiaj_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_mts = {
+ &XC3028_std_firmware_mn_ntscpal_mts_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_mts_lcd = {
+ &XC3028_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE
+};
+
+unsigned char *XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd = {
+ &XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE
+};
+
+
+// ************************************************************
+// *** TV_MODES
+// *** These are used when calling xc3028_initialize()
+// ************************************************************
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_btsc_if = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_mn_ntscpal_btsc,
+ &XC3028_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_btsc_if_lcd = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_mn_ntscpal_btsc_lcd,
+ &XC3028_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_btsc_if_lcd_nogd = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_mn_ntscpal_btsc_lcd_nogd,
+ &XC3028_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_if = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_mn_ntscpal_a2,
+ &XC3028_scode_table_4600000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_if_lcd = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_mn_ntscpal_a2_lcd,
+ &XC3028_scode_table_4600000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_if_lcd_nogd = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_mn_ntscpal_a2_lcd_nogd,
+ &XC3028_scode_table_4600000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_mts = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028_std_firmware_mn_ntscpal_mts,
+ &XC3028_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_mts_lcd = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028_std_firmware_mn_ntscpal_mts_lcd,
+ &XC3028_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_mts_lcd_nogd = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd,
+ &XC3028_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_mono = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028_std_firmware_mn_ntscpal_a2_mts,
+ &XC3028_scode_table_4320000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_mono_lcd = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028_std_firmware_mn_ntscpal_mts_lcd,
+ &XC3028_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_a2_mono_lcd_nogd = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd,
+ &XC3028_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_m_n_ntsc_pal_eiaj = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028_std_firmware_mn_ntscpal_eiaj,
+ &XC3028_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_i_pal_nicam = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_i_pal_nicam,
+ &XC3028_scode_table_6240000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_b_g_pal_a2_a = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_bg_pal_a2_a,
+ &XC3028_scode_table_5640000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_b_g_pal_nicam_a = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_bg_pal_nicam_a,
+ &XC3028_scode_table_5740000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_b_g_pal_a2_b = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_bg_pal_a2_b,
+ &XC3028_scode_table_5640000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_b_g_pal_nicam_b = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_bg_pal_nicam_b,
+ &XC3028_scode_table_5740000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_l_secam_nicam = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_l_secam_nicam,
+ &XC3028_scode_table_6000000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_l_secam_nicam_am_only = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028_std_firmware_l_secam_am,
+ &XC3028_scode_table_6500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_lp_secam_nicam = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_lp_secam_nicam,
+ &XC3028_scode_table_6000000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_d_k_pal_a2 = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dk_pal_a2,
+ &XC3028_scode_table_6600000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_d_k_pal_nicam = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dk_pal_nicam,
+ &XC3028_scode_table_6000000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_d_k_secam_a2_dk1 = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dk_secam_a2_dk1,
+ &XC3028_scode_table_6340000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_d_k_secam_a2_l_dk3 = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dk_secam_a2_l_dk3,
+ &XC3028_scode_table_6000000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_fm_radio_input2 = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_fm_init,
+ &XC3028_std_firmware_fm,
+ 0
+};
+
+XC3028_TV_MODE XC3028_tv_mode_fm_radio_input1 = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_fm_input1_init,
+ &XC3028_std_firmware_fm,
+ 0
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_lg_6_0mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_dtv6_atsc_2633,
+ &XC3028_scode_table_6200000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_ati_6_38mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_dtv6_atsc_2633,
+ &XC3028_scode_table_6580000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_oren_5_38mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_dtv6_atsc_2633,
+ &XC3028_scode_table_5580000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_oren_3_6mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_dtv6_atsc_2633,
+ &XC3028_scode_table_3800000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_toyota_3_88mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_dtv6_atsc_2633,
+ &XC3028_scode_table_4080000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv6_atsc_toyota_7_94mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_dtv6_atsc_2633,
+ &XC3028_scode_table_8140000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv6_qam_6_0mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_dtv6_qam_2633,
+ &XC3028_scode_table_6200000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv8_dibcom_5_2mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dtv8_2633,
+ &XC3028_scode_table_5400000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv78_dibcom_5_2mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dtv78_2633,
+ &XC3028_scode_table_5400000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv7_dibcom_5_2mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dtv7_2633,
+ &XC3028_scode_table_5900000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv6_zarlink_qam_4_56mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028_std_firmware_dtv6_qam_2620,
+ &XC3028_scode_table_4760000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv8_zarlink_4_56mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dtv8_2620,
+ &XC3028_scode_table_4760000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv78_zarlink_4_56mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dtv78_2620,
+ &XC3028_scode_table_4760000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv7_zarlink_4_56mhz = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dtv7_2620,
+ &XC3028_scode_table_5260000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_dtv8_china_temporary = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028_std_firmware_dtv8_2633,
+ &XC3028_scode_table_5400000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_i_pal_nicam_mono = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028_std_firmware_i_pal_nicam_mts,
+ &XC3028_scode_table_6000000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_b_g_pal_a2_a_mono = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028_std_firmware_bg_pal_a2_a_mts,
+ &XC3028_scode_table_5320000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_b_g_pal_nicam_a_mono = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028_std_firmware_bg_pal_nicam_a_mts,
+ &XC3028_scode_table_5320000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_b_g_pal_a2_b_mono = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028_std_firmware_bg_pal_a2_b_mts,
+ &XC3028_scode_table_5320000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_b_g_pal_nicam_b_mono = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028_std_firmware_bg_pal_nicam_b_mts,
+ &XC3028_scode_table_5320000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_d_k_pal_a2_mono = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028_std_firmware_dk_pal_a2_mts,
+ &XC3028_scode_table_6680000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_d_k_pal_nicam_mono = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028_std_firmware_dk_pal_nicam_mts,
+ &XC3028_scode_table_6500000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_d_k_secam_a2_dk1_mono = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028_std_firmware_dk_secam_a2_dk1_mts,
+ &XC3028_scode_table_6320000
+};
+
+XC3028_TV_MODE XC3028_tv_mode_d_k_secam_a2_l_dk3_mono = {
+ &XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028_std_firmware_dk_secam_a2_l_dk3_mts,
+ &XC3028_scode_table_6500000
+};
+
+
+#endif
+
diff --git a/drivers/media/video/empia/xc3028/xc3028_module.c b/drivers/media/video/empia/xc3028/xc3028_module.c
new file mode 100644
index 0000000..e94ec7a
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/xc3028_module.c
@@ -0,0 +1,51 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/i2c.h>
+#include "xc3028_control.h"
+#include "xc3028_module.h"
+#include "tunerchip.h"
+
+static struct tuner_module xc3028_tuner_module = {
+ .shutdown = xc3028_shutdown,
+ .set_frequency = xc3028_set_frequency,
+ .tuner_cmd = xc3028_tuner_cmd,
+ .get_lock_status = xc3028_get_lock_status,
+ .get_version = xc3028_get_version,
+ .full_scan = xc3028_full_scan,
+ .release = xc3028_tuner_release
+
+};
+
+struct tuner_module *xc3028_tuner_attach(struct xc3028_config *config)
+{
+ struct tuner_module *module;
+ struct xc3028_priv *priv;
+
+ module = kzalloc(sizeof(struct tuner_module), GFP_KERNEL);
+
+ priv = kzalloc(sizeof(struct xc3028_priv), GFP_KERNEL);
+
+ priv->callback = config->callback;
+ priv->dev = config->dev;
+ priv->i2c_address = config->i2c_address;
+ priv->adap = config->adap;
+
+ memcpy(module, &xc3028_tuner_module, sizeof(struct tuner_module));
+ module->priv = priv;
+
+ xc3028_initialize(module, config->new_tv_mode_ptr, config->new_channel_map_ptr);
+
+ return module;
+}
+
+void xc3028_tuner_release(struct tuner_module *tuner)
+{
+ kfree(tuner->priv);
+ kfree(tuner);
+}
+
+EXPORT_SYMBOL_GPL(xc3028_tuner_attach);
+
+MODULE_AUTHOR("Markus Rechberger <mrechberger@empiatech.com>");
+MODULE_DESCRIPTION("Xceive 3028 Driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/video/empia/xc3028/xc3028_module.h b/drivers/media/video/empia/xc3028/xc3028_module.h
new file mode 100644
index 0000000..f143415
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/xc3028_module.h
@@ -0,0 +1,29 @@
+#ifndef _XC3028_TUNER_H
+#define _XC3028_TUNER_H
+
+struct i2c_adapter;
+
+struct xc3028_config {
+ struct i2c_adapter *adap;
+ XC3028_TV_MODE* new_tv_mode_ptr;
+ XC3028_CHANNEL_MAP* new_channel_map_ptr;
+ int (*callback)(void *dev, unsigned int cmd, void *data);
+ void *dev;
+ int i2c_address;
+};
+
+void xc3028_tuner_release(struct tuner_module *tuner);
+
+#if 1
+//defined(CONFIG_DVB_TUNER_XC3028) || (defined(CONFIG_DVB_TUNER_XC3028_MODULE) && defined(MODULE))
+struct tuner_module *xc3028_tuner_attach(struct xc3028_config *config);
+#else
+static inline struct tuner_module *xc3028_tuner_attach(struct xc3028_config)
+{
+ printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
+ return NULL;
+}
+#endif
+
+#endif // _XC3028_TUNER_H
+
diff --git a/drivers/media/video/empia/xc3028/xc3028_scodes.h b/drivers/media/video/empia/xc3028/xc3028_scodes.h
new file mode 100644
index 0000000..f19d5af
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/xc3028_scodes.h
@@ -0,0 +1,626 @@
+//
+// Automatically generated C header file for
+// control of the XC3028 via the i2c interface.
+//
+// Filename : xc3028_scodes.h
+// Generated : 3/3/2006 2:00:52 PM
+//
+// (c) 2006, Xceive Corporation
+//
+
+#ifndef __XC3028_SCODES_H
+#define __XC3028_SCODES_H
+
+#include "xc3028_control.h"
+
+XC3028_SCODE_TABLE XC3028_scode_table_5400000 = {
+ { 0x1E, 0x1A, 0x83, 0x25, 0xB4, 0x03, 0x6E, 0x01, 0x96, 0x86, 0xA8, 0x1C },
+ { 0x1E, 0x1E, 0x43, 0xBF, 0xE0, 0x02, 0xDB, 0xC1, 0xAA, 0x06, 0x9A, 0x24 },
+ { 0x1E, 0x1F, 0x13, 0x87, 0x18, 0x02, 0x93, 0x91, 0x44, 0x86, 0x96, 0x8C },
+ { 0x1E, 0x0B, 0x23, 0x76, 0x18, 0x02, 0x9B, 0x6D, 0x54, 0x46, 0x9A, 0x44 },
+ { 0x1E, 0x19, 0xD3, 0x00, 0xD8, 0x02, 0x9B, 0x91, 0x42, 0x86, 0xAA, 0x96 },
+ { 0x1E, 0x15, 0x32, 0xDB, 0x94, 0x02, 0x49, 0x25, 0x69, 0x86, 0x96, 0x5B },
+ { 0x1E, 0x1C, 0xF2, 0xE4, 0xB8, 0x02, 0x49, 0x25, 0x65, 0x86, 0x9A, 0x95 },
+ { 0x1E, 0x1D, 0xC2, 0xE4, 0xB4, 0x02, 0x5C, 0xA1, 0x5A, 0x46, 0x9A, 0x14 },
+ { 0x1E, 0x1E, 0xE2, 0x9B, 0x6E, 0x02, 0x52, 0x4D, 0xA9, 0x56, 0x65, 0x5A },
+ { 0x1E, 0x0D, 0x02, 0xB7, 0x18, 0x02, 0x4A, 0x49, 0xA8, 0x46, 0x65, 0x5A },
+ { 0x1E, 0x0B, 0xA2, 0x9C, 0xE0, 0x02, 0x49, 0x25, 0x9A, 0x06, 0x6A, 0x9D },
+ { 0x1E, 0x14, 0xD2, 0x94, 0xE0, 0x02, 0x9B, 0x6D, 0x99, 0x06, 0x5A, 0x94 },
+ { 0x1E, 0x01, 0x72, 0xDC, 0xB8, 0x02, 0x92, 0x49, 0xA9, 0x86, 0x65, 0xA3 },
+ { 0x1E, 0x0A, 0xA2, 0xED, 0x18, 0x02, 0xE4, 0x91, 0xA4, 0x86, 0x55, 0x59 },
+ { 0x1E, 0x14, 0x92, 0xDB, 0x6D, 0x83, 0x25, 0x01, 0x99, 0xA6, 0x54, 0x21 },
+ { 0x1E, 0x09, 0x93, 0x24, 0x90, 0x03, 0x6D, 0xA1, 0xA5, 0x46, 0x6A, 0x14 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_4760000 = {
+ { 0x1E, 0x1C, 0xF2, 0x4D, 0xE0, 0x00, 0x0B, 0x61, 0x66, 0x06, 0x69, 0x13 },
+ { 0x1E, 0x09, 0x62, 0x49, 0x29, 0x00, 0x00, 0x41, 0x66, 0xA6, 0x66, 0x23 },
+ { 0x1E, 0x09, 0xD2, 0x52, 0x92, 0x00, 0x02, 0x49, 0x6A, 0x96, 0x69, 0xA4 },
+ { 0x1E, 0x03, 0x72, 0x54, 0x92, 0x00, 0x00, 0x09, 0x65, 0x66, 0x6A, 0x95 },
+ { 0x1E, 0x0C, 0x72, 0x5C, 0x92, 0x00, 0x49, 0x25, 0x6A, 0x56, 0x59, 0x5A },
+ { 0x1E, 0x1B, 0xD2, 0x65, 0x00, 0x00, 0x52, 0x81, 0x68, 0x06, 0x5A, 0x13 },
+ { 0x1E, 0x0C, 0x82, 0x70, 0xD8, 0x00, 0x5B, 0x71, 0x52, 0x46, 0x65, 0x8B },
+ { 0x1E, 0x06, 0x32, 0x5B, 0x90, 0x00, 0x52, 0x4D, 0x5A, 0x86, 0x6A, 0x5C },
+ { 0x1E, 0x19, 0xE2, 0x93, 0x92, 0x02, 0x52, 0x49, 0x6A, 0x96, 0xAA, 0x65 },
+ { 0x1E, 0x07, 0x92, 0x92, 0x48, 0x02, 0x49, 0x49, 0x65, 0x86, 0xA9, 0x95 },
+ { 0x1E, 0x1C, 0x52, 0xA4, 0x92, 0x00, 0x01, 0x49, 0x69, 0x56, 0x56, 0x52 },
+ { 0x1E, 0x13, 0x72, 0xA8, 0x18, 0x00, 0x00, 0x01, 0x50, 0x86, 0x59, 0x4A },
+ { 0x1E, 0x19, 0xF2, 0x9C, 0x18, 0x00, 0x0B, 0xA1, 0x54, 0x86, 0x56, 0x0A },
+ { 0x1E, 0x11, 0x72, 0x93, 0x78, 0x00, 0x13, 0x91, 0x59, 0x46, 0x55, 0x49 },
+ { 0x1E, 0x03, 0x52, 0x92, 0x54, 0x00, 0x00, 0xC1, 0x55, 0x86, 0x42, 0x0A },
+ { 0x1E, 0x18, 0x52, 0x49, 0x2E, 0x00, 0x13, 0x81, 0x69, 0x96, 0x66, 0x1B }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_6580000 = {
+ { 0x1E, 0x1B, 0xE4, 0xDB, 0x92, 0x06, 0xE8, 0xC1, 0x66, 0x96, 0x92, 0x1B },
+ { 0x1E, 0x03, 0x14, 0xE5, 0xB8, 0x06, 0xDC, 0x91, 0x5A, 0x86, 0xAA, 0x9E },
+ { 0x1E, 0x0E, 0x44, 0x92, 0x4D, 0x84, 0x92, 0x51, 0x69, 0x66, 0x5A, 0x9C },
+ { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 },
+ { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 },
+ { 0x1E, 0x13, 0x54, 0x98, 0xD8, 0x04, 0xDE, 0x01, 0x52, 0x46, 0x54, 0x09 },
+ { 0x1E, 0x03, 0xD4, 0x95, 0xD8, 0x04, 0xE5, 0xA1, 0x56, 0x86, 0x65, 0x12 },
+ { 0x1E, 0x0A, 0x02, 0x49, 0x54, 0x05, 0x38, 0xC1, 0xA9, 0x86, 0x51, 0x21 },
+ { 0x1E, 0x18, 0x84, 0x9E, 0x18, 0x09, 0x36, 0xC1, 0x98, 0x46, 0x95, 0x12 },
+ { 0x1E, 0x0B, 0xD4, 0x93, 0x74, 0x06, 0xDB, 0x6D, 0x96, 0x86, 0x56, 0x9B },
+ { 0x1E, 0x09, 0xD4, 0xE7, 0x00, 0x06, 0xC6, 0x01, 0xA4, 0x06, 0x44, 0x11 },
+ { 0x1E, 0x1C, 0x54, 0xDC, 0xB8, 0x06, 0xDB, 0x91, 0x99, 0x86, 0x69, 0x5B },
+ { 0x1E, 0x1C, 0xF5, 0x28, 0x18, 0x07, 0x20, 0xC1, 0x90, 0x46, 0x62, 0x0B },
+ { 0x1E, 0x01, 0x35, 0xBF, 0x00, 0x07, 0xB6, 0xC1, 0xA8, 0x06, 0x6A, 0x1C },
+ { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B },
+ { 0x1E, 0x0A, 0x35, 0x38, 0xD8, 0x07, 0x25, 0xA1, 0x52, 0x86, 0xA6, 0x14 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_4500000 = {
+ { 0x1E, 0x09, 0x02, 0x5B, 0x6C, 0x00, 0x4B, 0x81, 0x56, 0x46, 0x69, 0x0B },
+ { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B },
+ { 0x1E, 0x1D, 0xC2, 0x52, 0x92, 0x00, 0xA4, 0x91, 0x56, 0x96, 0x66, 0x94 },
+ { 0x1E, 0x19, 0x42, 0x49, 0x54, 0x00, 0xDB, 0x6D, 0x59, 0x46, 0x55, 0x49 },
+ { 0x1E, 0x0F, 0x72, 0x4B, 0x6E, 0x00, 0xE4, 0x81, 0x5A, 0x56, 0x6A, 0x14 },
+ { 0x1E, 0x1D, 0xE2, 0x4B, 0xB4, 0x01, 0x24, 0x91, 0x55, 0x86, 0x69, 0x4B },
+ { 0x1E, 0x18, 0xD2, 0x49, 0x54, 0x01, 0x6F, 0x01, 0x56, 0x46, 0x98, 0x0B },
+ { 0x1E, 0x1B, 0xA0, 0x00, 0x09, 0x00, 0xDC, 0xA1, 0xAA, 0x96, 0x96, 0x2B },
+ { 0x1E, 0x06, 0xB2, 0x4A, 0x92, 0x00, 0x12, 0x49, 0x69, 0x56, 0x6A, 0x95 },
+ { 0x1E, 0x1A, 0x02, 0x4B, 0x00, 0x00, 0x09, 0x31, 0x64, 0x06, 0x69, 0x8C },
+ { 0x1E, 0x1E, 0xB2, 0x49, 0x6E, 0x00, 0x01, 0x49, 0x65, 0x96, 0x66, 0x94 },
+ { 0x1E, 0x0C, 0xD2, 0x53, 0x18, 0x00, 0x01, 0x29, 0x68, 0x86, 0x6A, 0x9D },
+ { 0x1E, 0x0B, 0x22, 0x52, 0x6E, 0x00, 0x4A, 0x61, 0x66, 0x66, 0x55, 0x19 },
+ { 0x1E, 0x1A, 0x12, 0x5C, 0x00, 0x00, 0x52, 0x91, 0x64, 0x06, 0x56, 0x8B },
+ { 0x1E, 0x00, 0x72, 0x6D, 0xD8, 0x00, 0x6D, 0xA1, 0x66, 0x46, 0x56, 0x12 },
+ { 0x1E, 0x09, 0xE2, 0x65, 0xD8, 0x00, 0x54, 0x91, 0x56, 0x86, 0x69, 0x94 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_4600000 = {
+ { 0x1E, 0x1A, 0x82, 0x5B, 0xD8, 0x00, 0x54, 0x91, 0x66, 0x46, 0x56, 0x93 },
+ { 0x1E, 0x0E, 0x42, 0x46, 0x00, 0x00, 0x65, 0xA1, 0x44, 0x06, 0x65, 0x02 },
+ { 0x1E, 0x1D, 0x32, 0x64, 0xD8, 0x00, 0x53, 0x71, 0x56, 0x86, 0x6A, 0x54 },
+ { 0x1E, 0x09, 0x02, 0x5B, 0x6C, 0x00, 0x4B, 0x81, 0x56, 0x46, 0x69, 0x0B },
+ { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B },
+ { 0x1E, 0x1D, 0xC2, 0x52, 0x92, 0x00, 0xA4, 0x91, 0x56, 0x96, 0x66, 0x94 },
+ { 0x1E, 0x19, 0x42, 0x49, 0x54, 0x00, 0xDB, 0x6D, 0x59, 0x46, 0x55, 0x49 },
+ { 0x1E, 0x0F, 0x72, 0x4B, 0x6E, 0x00, 0xE4, 0x81, 0x5A, 0x56, 0x6A, 0x14 },
+ { 0x1E, 0x0C, 0x32, 0x9B, 0x80, 0x00, 0x0B, 0x91, 0x55, 0x06, 0x59, 0x42 },
+ { 0x1E, 0x1F, 0x52, 0x94, 0xD8, 0x00, 0x12, 0x6D, 0x56, 0x46, 0x5A, 0x8C },
+ { 0x1E, 0x0E, 0xC2, 0x49, 0x78, 0x00, 0x1C, 0x81, 0x6A, 0x86, 0x66, 0x23 },
+ { 0x1E, 0x0D, 0x22, 0x4A, 0x50, 0x00, 0x09, 0x61, 0x69, 0x46, 0x65, 0x12 },
+ { 0x1E, 0x01, 0xB2, 0x4A, 0x78, 0x00, 0x09, 0x25, 0x66, 0x86, 0x6A, 0x9D },
+ { 0x1E, 0x11, 0x12, 0x49, 0x4D, 0x80, 0x02, 0x6D, 0x65, 0x66, 0x65, 0x52 },
+ { 0x1E, 0x18, 0xC2, 0x55, 0xA0, 0x00, 0x00, 0x25, 0x6A, 0x06, 0x69, 0x9C },
+ { 0x1E, 0x0F, 0xE2, 0x52, 0x72, 0x00, 0x4B, 0x01, 0x65, 0xA6, 0x54, 0x19 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_4320000 = {
+ { 0x1E, 0x1B, 0x22, 0x4A, 0x49, 0x00, 0x38, 0xC1, 0x55, 0x66, 0x12, 0x0A },
+ { 0x1E, 0x0C, 0x52, 0x49, 0x29, 0x81, 0x3F, 0x01, 0x55, 0xA6, 0x98, 0x13 },
+ { 0x1E, 0x0A, 0xF0, 0x00, 0x4E, 0x00, 0xEE, 0xC1, 0xAA, 0x96, 0xA9, 0x2C },
+ { 0x1E, 0x1D, 0x90, 0x00, 0x05, 0x00, 0x92, 0x49, 0xA9, 0xA6, 0x99, 0x6B },
+ { 0x1E, 0x1D, 0x20, 0x01, 0x90, 0x00, 0xA4, 0xA1, 0xAA, 0x46, 0xA5, 0x23 },
+ { 0x1E, 0x1F, 0x90, 0x02, 0x92, 0x00, 0x92, 0x49, 0xA9, 0x96, 0xA9, 0xA5 },
+ { 0x1E, 0x15, 0x90, 0x05, 0xB4, 0x00, 0x4A, 0xC1, 0xA5, 0x46, 0x9A, 0x14 },
+ { 0x1E, 0x1C, 0xC0, 0x02, 0x52, 0x00, 0x52, 0x71, 0xA5, 0x96, 0x9A, 0x5C },
+ { 0x1E, 0x1A, 0xF2, 0x5B, 0x6C, 0x00, 0x53, 0x71, 0x65, 0x46, 0x59, 0x4A },
+ { 0x1E, 0x0E, 0x42, 0x46, 0x00, 0x00, 0x65, 0xA1, 0x44, 0x06, 0x65, 0x02 },
+ { 0x1E, 0x09, 0x72, 0x5B, 0x98, 0x00, 0x49, 0x49, 0x59, 0x86, 0x65, 0x52 },
+ { 0x1E, 0x0C, 0x22, 0x52, 0xE0, 0x00, 0x49, 0x25, 0x5A, 0x06, 0x6A, 0x54 },
+ { 0x1E, 0x0D, 0x82, 0x55, 0xB4, 0x00, 0x9C, 0xC1, 0x55, 0x46, 0x5A, 0x03 },
+ { 0x1E, 0x0A, 0x62, 0x49, 0x29, 0x00, 0x9B, 0x71, 0x5A, 0x96, 0x6A, 0x5C },
+ { 0x1E, 0x0E, 0x82, 0x4A, 0x6E, 0x00, 0xED, 0xC1, 0x5A, 0x96, 0x55, 0x19 },
+ { 0x1E, 0x1B, 0x92, 0x4D, 0x18, 0x01, 0x36, 0xC1, 0x54, 0x46, 0x59, 0x02 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_6240000 = {
+ { 0x1E, 0x1B, 0x22, 0x4A, 0x4C, 0x05, 0x2F, 0x01, 0xAA, 0x86, 0x68, 0x2B },
+ { 0x1E, 0x01, 0xF2, 0x4A, 0x6E, 0x04, 0x30, 0xC1, 0xA6, 0x56, 0x11, 0x19 },
+ { 0x1E, 0x0C, 0x52, 0x52, 0x49, 0x85, 0x24, 0x81, 0xA9, 0x96, 0x99, 0x23 },
+ { 0x1E, 0x0D, 0x02, 0x52, 0x49, 0x84, 0xDB, 0x81, 0xA5, 0x66, 0x99, 0x1B },
+ { 0x1E, 0x02, 0x52, 0x6E, 0xC0, 0x04, 0xDD, 0xA1, 0xA9, 0x06, 0xA5, 0x1B },
+ { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 },
+ { 0x1E, 0x14, 0x32, 0x53, 0x6D, 0x84, 0xB0, 0xC1, 0x9A, 0x96, 0xA2, 0x24 },
+ { 0x1E, 0x01, 0xB2, 0x49, 0x25, 0x04, 0x94, 0x01, 0x9A, 0x96, 0xA4, 0x23 },
+ { 0x1E, 0x1E, 0x45, 0x2E, 0xD8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0xA9, 0x14 },
+ { 0x1E, 0x11, 0x14, 0xDE, 0x18, 0x06, 0xE5, 0xA1, 0x64, 0x86, 0x99, 0x13 },
+ { 0x1E, 0x14, 0x74, 0xED, 0xE0, 0x06, 0xDE, 0x01, 0x56, 0x06, 0xA8, 0x0C },
+ { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 },
+ { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 },
+ { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 },
+ { 0x1E, 0x19, 0x84, 0x9C, 0xB4, 0x04, 0xDB, 0x6D, 0x55, 0x46, 0x59, 0x42 },
+ { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_5640000 = {
+ { 0x1E, 0x1B, 0xD2, 0x9B, 0x92, 0x02, 0x96, 0xC1, 0x96, 0x56, 0x59, 0x12 },
+ { 0x1E, 0x15, 0x32, 0x93, 0x6E, 0x02, 0xA8, 0xC1, 0x95, 0x66, 0x61, 0x12 },
+ { 0x1E, 0x0A, 0x42, 0xDC, 0x92, 0x02, 0x94, 0x91, 0xA6, 0x56, 0x65, 0x9B },
+ { 0x1E, 0x1E, 0x72, 0xC7, 0x00, 0x02, 0xEF, 0x01, 0x84, 0x06, 0x58, 0x0A },
+ { 0x1E, 0x09, 0x32, 0xDD, 0xA0, 0x03, 0x2E, 0xC1, 0x9A, 0x06, 0x55, 0x19 },
+ { 0x1E, 0x03, 0x53, 0x2D, 0xA0, 0x03, 0xB0, 0x01, 0xA6, 0x06, 0x60, 0x1A },
+ { 0x1E, 0x0A, 0xB3, 0x24, 0xB4, 0x03, 0x20, 0xC1, 0x95, 0x46, 0x92, 0x0B },
+ { 0x1E, 0x1F, 0xC3, 0x86, 0x00, 0x02, 0xE7, 0x01, 0x84, 0x06, 0x98, 0x0B },
+ { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 },
+ { 0x1E, 0x1D, 0xA2, 0x57, 0x18, 0x04, 0x9B, 0x6D, 0x94, 0x86, 0xA5, 0x94 },
+ { 0x1E, 0x1A, 0xA2, 0x49, 0x26, 0x02, 0x49, 0x29, 0x99, 0xA6, 0x55, 0x61 },
+ { 0x1E, 0x1D, 0x62, 0x4B, 0x6E, 0x02, 0x4A, 0xA1, 0x96, 0x56, 0x5A, 0x13 },
+ { 0x1E, 0x00, 0xB2, 0x49, 0x24, 0x82, 0x53, 0xA1, 0x95, 0xA6, 0x5A, 0x1B },
+ { 0x1E, 0x03, 0xD2, 0x93, 0xB4, 0x02, 0x6E, 0x01, 0xA5, 0x86, 0x68, 0x1B },
+ { 0x1E, 0x16, 0xD2, 0x9B, 0x6E, 0x02, 0x53, 0x01, 0xA5, 0x96, 0x68, 0x1B },
+ { 0x1E, 0x1E, 0x42, 0xAD, 0x00, 0x02, 0x4B, 0x91, 0x94, 0x06, 0x69, 0x4B }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_5740000 = {
+ { 0x1E, 0x0A, 0xE2, 0x9E, 0xD8, 0x02, 0x52, 0x41, 0xA9, 0x86, 0x66, 0x23 },
+ { 0x1E, 0x13, 0xB2, 0x86, 0xD8, 0x02, 0x4A, 0x71, 0x89, 0x86, 0x66, 0x5B },
+ { 0x1E, 0x0B, 0xA2, 0x9C, 0xE0, 0x02, 0x49, 0x25, 0x9A, 0x06, 0x6A, 0x9D },
+ { 0x1E, 0x0E, 0x82, 0x93, 0xA0, 0x02, 0x9C, 0x91, 0x99, 0x06, 0x59, 0x93 },
+ { 0x1E, 0x1C, 0xF2, 0xDB, 0x92, 0x02, 0x9B, 0x6D, 0xA9, 0x56, 0x69, 0x9C },
+ { 0x1E, 0x1C, 0x42, 0xED, 0x18, 0x02, 0xDD, 0xC1, 0xA8, 0x86, 0x5A, 0x23 },
+ { 0x1E, 0x1B, 0x32, 0xE5, 0xD8, 0x02, 0xDD, 0xA1, 0x96, 0x46, 0x65, 0x12 },
+ { 0x1E, 0x1C, 0x53, 0x26, 0xC0, 0x03, 0x70, 0xC1, 0xAA, 0x06, 0x52, 0x22 },
+ { 0x1E, 0x0F, 0xF2, 0x52, 0x49, 0x04, 0xDC, 0x81, 0xA6, 0x56, 0x95, 0x1A },
+ { 0x1E, 0x0A, 0x12, 0x65, 0xD8, 0x04, 0xDB, 0x6D, 0xA5, 0x46, 0xA5, 0x53 },
+ { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 },
+ { 0x1E, 0x0F, 0x22, 0x53, 0x6C, 0x04, 0xA4, 0x91, 0x99, 0x86, 0xA5, 0x5B },
+ { 0x1E, 0x0B, 0x22, 0x49, 0x49, 0x04, 0x94, 0xA1, 0x9A, 0xA6, 0xA9, 0x2C },
+ { 0x1E, 0x18, 0xF2, 0x4D, 0x00, 0x02, 0x4B, 0xA1, 0x94, 0x06, 0x5A, 0x0B },
+ { 0x1E, 0x1E, 0x72, 0x49, 0xB4, 0x02, 0x56, 0xC1, 0x95, 0x86, 0x56, 0x12 },
+ { 0x1E, 0x1C, 0x12, 0x95, 0x18, 0x02, 0x6D, 0xC1, 0xA8, 0x46, 0x55, 0x19 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_6000000 = {
+ { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 },
+ { 0x1E, 0x1D, 0xA2, 0x57, 0x18, 0x04, 0x9B, 0x6D, 0x94, 0x86, 0xA5, 0x94 },
+ { 0x1E, 0x16, 0xF2, 0x49, 0x72, 0x04, 0x92, 0xA1, 0x99, 0x66, 0xAA, 0x1D },
+ { 0x1E, 0x18, 0xF2, 0x4D, 0x00, 0x02, 0x4B, 0xA1, 0x94, 0x06, 0x5A, 0x0B },
+ { 0x1E, 0x1E, 0x72, 0x49, 0xB4, 0x02, 0x56, 0xC1, 0x95, 0x86, 0x56, 0x12 },
+ { 0x1E, 0x09, 0x22, 0x94, 0x98, 0x02, 0x46, 0x01, 0xA6, 0x46, 0x44, 0x19 },
+ { 0x1E, 0x0A, 0xE2, 0x9E, 0xD8, 0x02, 0x52, 0x41, 0xA9, 0x86, 0x66, 0x23 },
+ { 0x1E, 0x0D, 0x02, 0xB7, 0x18, 0x02, 0x4A, 0x49, 0xA8, 0x46, 0x65, 0x5A },
+ { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 },
+ { 0x1E, 0x19, 0x84, 0x9C, 0xB4, 0x04, 0xDB, 0x6D, 0x55, 0x46, 0x59, 0x42 },
+ { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A },
+ { 0x1E, 0x0C, 0x42, 0x4A, 0x80, 0x05, 0x25, 0xC1, 0xAA, 0x06, 0x65, 0x22 },
+ { 0x1E, 0x07, 0x72, 0x4A, 0x49, 0x85, 0xFF, 0x01, 0xA5, 0x56, 0x94, 0x12 },
+ { 0x1E, 0x0A, 0xB2, 0x53, 0x92, 0x05, 0x2E, 0x01, 0xAA, 0x66, 0x98, 0x2B },
+ { 0x1E, 0x1C, 0x32, 0x5C, 0x92, 0x04, 0xE4, 0x91, 0xA9, 0xA6, 0x99, 0xAC },
+ { 0x1E, 0x12, 0xD2, 0x7F, 0xE0, 0x04, 0xDB, 0x81, 0xA6, 0x06, 0xAA, 0x1D }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_6600000 = {
+ { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C },
+ { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 },
+ { 0x1E, 0x09, 0x04, 0xDC, 0x80, 0x04, 0x95, 0xA1, 0x55, 0x06, 0x59, 0x02 },
+ { 0x1E, 0x1D, 0x84, 0x93, 0x18, 0x04, 0xA4, 0xA1, 0x64, 0x86, 0x56, 0x12 },
+ { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 },
+ { 0x1E, 0x1A, 0x74, 0xA6, 0x18, 0x04, 0x92, 0x49, 0x54, 0x46, 0x69, 0x43 },
+ { 0x1E, 0x19, 0x34, 0x92, 0x60, 0x04, 0xE8, 0xC1, 0x59, 0x06, 0x51, 0x09 },
+ { 0x1E, 0x0A, 0x54, 0x92, 0x4E, 0x04, 0xDB, 0x01, 0x55, 0x56, 0x68, 0x03 },
+ { 0x1E, 0x02, 0x94, 0xA4, 0xD8, 0x09, 0x24, 0xC1, 0x9A, 0x46, 0x95, 0x1A },
+ { 0x1E, 0x06, 0x54, 0x93, 0x6C, 0x09, 0x25, 0xC1, 0x9A, 0x46, 0xA5, 0x1B },
+ { 0x1E, 0x1B, 0xB4, 0xDD, 0xD8, 0x06, 0xE5, 0xC1, 0xA6, 0x46, 0x5A, 0x1B },
+ { 0x1E, 0x10, 0x74, 0xE7, 0x18, 0x06, 0xDC, 0x91, 0x98, 0x86, 0x65, 0x5A },
+ { 0x1E, 0x15, 0x75, 0x2F, 0xE0, 0x07, 0x06, 0xC1, 0xA5, 0x06, 0x4A, 0x13 },
+ { 0x1E, 0x12, 0xD5, 0x46, 0x18, 0x07, 0x6E, 0xC1, 0x88, 0x86, 0x65, 0x1A },
+ { 0x1E, 0x1D, 0x05, 0xF8, 0xD8, 0x07, 0xB6, 0xC1, 0x51, 0x86, 0xA5, 0x0B },
+ { 0x1E, 0x04, 0xD5, 0x25, 0xB8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0x99, 0x13 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_6340000 = {
+ { 0x1E, 0x13, 0x54, 0x98, 0xD8, 0x04, 0xDE, 0x01, 0x52, 0x46, 0x54, 0x09 },
+ { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A },
+ { 0x1E, 0x02, 0x92, 0x49, 0x2C, 0x05, 0x30, 0xC1, 0xA9, 0x46, 0x62, 0x1B },
+ { 0x1E, 0x1A, 0x82, 0x4B, 0x72, 0x05, 0xB6, 0xC1, 0xA5, 0xA6, 0x69, 0x23 },
+ { 0x1E, 0x10, 0xD2, 0x52, 0x4E, 0x05, 0x6E, 0xC1, 0xAA, 0x66, 0xA9, 0x2C },
+ { 0x1E, 0x0F, 0xF2, 0x52, 0x49, 0x04, 0xDC, 0x81, 0xA6, 0x56, 0x95, 0x1A },
+ { 0x1E, 0x1B, 0xE2, 0x67, 0x18, 0x04, 0xE6, 0x01, 0xA8, 0x86, 0xA8, 0x24 },
+ { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 },
+ { 0x1E, 0x1A, 0x05, 0x76, 0xC0, 0x07, 0xB6, 0x01, 0x99, 0x06, 0x54, 0x11 },
+ { 0x1E, 0x0B, 0x15, 0x86, 0x00, 0x07, 0x68, 0xC1, 0x48, 0x06, 0x91, 0x0A },
+ { 0x1E, 0x1E, 0x45, 0x2E, 0xD8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0xA9, 0x14 },
+ { 0x1E, 0x11, 0x14, 0xDE, 0x18, 0x06, 0xE5, 0xA1, 0x64, 0x86, 0x99, 0x13 },
+ { 0x1E, 0x1F, 0xE4, 0xED, 0xB8, 0x06, 0xDC, 0x81, 0x59, 0x86, 0xA6, 0x14 },
+ { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 },
+ { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 },
+ { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_6200000 = {
+ { 0x1E, 0x1A, 0x82, 0x4B, 0x72, 0x05, 0xB6, 0xC1, 0xA5, 0xA6, 0x69, 0x23 },
+ { 0x1E, 0x10, 0xD2, 0x52, 0x4E, 0x05, 0x6E, 0xC1, 0xAA, 0x66, 0xA9, 0x2C },
+ { 0x1E, 0x0A, 0x62, 0x52, 0x98, 0x04, 0xDE, 0xC1, 0xA5, 0x86, 0x99, 0x1B },
+ { 0x1E, 0x0A, 0x12, 0x65, 0xD8, 0x04, 0xDB, 0x6D, 0xA5, 0x46, 0xA5, 0x53 },
+ { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 },
+ { 0x1E, 0x1C, 0xF2, 0x52, 0x70, 0x04, 0xBF, 0x01, 0x99, 0x46, 0x98, 0x13 },
+ { 0x1E, 0x1D, 0x52, 0x52, 0x50, 0x04, 0x93, 0xA1, 0x95, 0x86, 0xA5, 0x13 },
+ { 0x1E, 0x1D, 0xB2, 0x4A, 0x90, 0x02, 0x49, 0x25, 0x99, 0x86, 0x56, 0x9B },
+ { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C },
+ { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 },
+ { 0x1E, 0x16, 0x54, 0xDB, 0x92, 0x04, 0x93, 0x61, 0x55, 0x96, 0x59, 0x0A },
+ { 0x1E, 0x0A, 0x44, 0x92, 0xD8, 0x04, 0xAD, 0xC1, 0x66, 0x86, 0x56, 0x1A },
+ { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 },
+ { 0x1E, 0x19, 0xD4, 0x9C, 0xE0, 0x04, 0xDB, 0x71, 0x5A, 0x06, 0x56, 0x52 },
+ { 0x1E, 0x03, 0xD4, 0x95, 0xD8, 0x04, 0xE5, 0xA1, 0x56, 0x86, 0x65, 0x12 },
+ { 0x1E, 0x02, 0x92, 0x49, 0x2C, 0x05, 0x30, 0xC1, 0xA9, 0x46, 0x62, 0x1B }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_5580000 = {
+ { 0x1E, 0x1F, 0x72, 0x92, 0x60, 0x02, 0x9B, 0x91, 0x95, 0x06, 0x65, 0x8B },
+ { 0x1E, 0x08, 0xD2, 0xE7, 0x00, 0x02, 0x92, 0x4D, 0xA8, 0x06, 0x6A, 0x9D },
+ { 0x1E, 0x06, 0x32, 0xE5, 0xB8, 0x02, 0xDB, 0x71, 0x99, 0x86, 0x65, 0x9B },
+ { 0x1E, 0x19, 0x63, 0x24, 0x80, 0x03, 0x24, 0x01, 0xAA, 0x06, 0x68, 0x23 },
+ { 0x1E, 0x04, 0x13, 0x2D, 0xB8, 0x03, 0x86, 0x01, 0x99, 0x46, 0x88, 0x13 },
+ { 0x1E, 0x1C, 0x03, 0x76, 0x18, 0x03, 0x27, 0x01, 0x98, 0x86, 0xA8, 0x1C },
+ { 0x1E, 0x10, 0x32, 0x00, 0x00, 0x02, 0xE4, 0x81, 0x00, 0x06, 0xA9, 0x04 },
+ { 0x1E, 0x0D, 0x03, 0x6E, 0xD8, 0x02, 0x93, 0x81, 0x69, 0x86, 0x9A, 0x1C },
+ { 0x1E, 0x0C, 0x22, 0x52, 0x4D, 0x84, 0x92, 0x49, 0x96, 0x66, 0xA5, 0x5B },
+ { 0x1E, 0x1D, 0xB2, 0x4A, 0x90, 0x02, 0x49, 0x25, 0x99, 0x86, 0x56, 0x9B },
+ { 0x1E, 0x19, 0xA2, 0x4A, 0x98, 0x02, 0x49, 0x4D, 0x95, 0x46, 0x5A, 0x4B },
+ { 0x1E, 0x0A, 0x82, 0x92, 0x49, 0x82, 0x5E, 0x01, 0xA9, 0xA6, 0x58, 0x2A },
+ { 0x1E, 0x0B, 0x92, 0x92, 0x58, 0x02, 0x5E, 0x01, 0xA5, 0x46, 0x64, 0x12 },
+ { 0x1E, 0x08, 0x72, 0xA6, 0xD8, 0x02, 0x49, 0x29, 0xA5, 0x86, 0x65, 0x5A },
+ { 0x1E, 0x09, 0x82, 0xA4, 0xB4, 0x02, 0x49, 0x25, 0x96, 0x46, 0x69, 0x94 },
+ { 0x1E, 0x0F, 0x92, 0x93, 0x6D, 0x82, 0x9C, 0x81, 0x9A, 0xA6, 0x56, 0x2A }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_3800000 = {
+ { 0x1E, 0x1A, 0x80, 0x10, 0xD8, 0x00, 0x0A, 0x6D, 0xA2, 0x46, 0xA9, 0x9D },
+ { 0x1E, 0x0D, 0x70, 0x12, 0x18, 0x00, 0x01, 0x25, 0xA4, 0x46, 0xA5, 0x53 },
+ { 0x1E, 0x12, 0xF0, 0x1D, 0xD8, 0x00, 0x02, 0x71, 0xAA, 0x46, 0xAA, 0x65 },
+ { 0x1E, 0x09, 0xC0, 0x25, 0xE0, 0x12, 0x49, 0x49, 0xA9, 0x05, 0x55, 0x58 },
+ { 0x1E, 0x0D, 0x00, 0x2D, 0xD8, 0x12, 0x4C, 0x81, 0xAA, 0x45, 0x56, 0x21 },
+ { 0x1E, 0x1D, 0xE0, 0x24, 0x92, 0x12, 0x5D, 0xA1, 0x9A, 0x55, 0x56, 0x19 },
+ { 0x1E, 0x08, 0xB0, 0x1B, 0xB8, 0x12, 0x5B, 0x91, 0x9A, 0x45, 0x65, 0x59 },
+ { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A },
+ { 0x1E, 0x16, 0x30, 0x00, 0x29, 0x00, 0x49, 0x49, 0xA6, 0x56, 0xA6, 0x5C },
+ { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 },
+ { 0x1E, 0x0F, 0x30, 0x09, 0x40, 0x00, 0x02, 0x71, 0xA9, 0x06, 0x99, 0x9C },
+ { 0x1E, 0x04, 0x90, 0x0A, 0x92, 0x00, 0x00, 0x41, 0xAA, 0x56, 0x99, 0x23 },
+ { 0x1E, 0x1A, 0xF0, 0x08, 0xD8, 0x00, 0x0D, 0x01, 0xA1, 0x46, 0x98, 0x13 },
+ { 0x1E, 0x0A, 0x30, 0x0A, 0xB8, 0x00, 0x13, 0x71, 0xA5, 0x46, 0x99, 0x53 },
+ { 0x1E, 0x05, 0x30, 0x09, 0x6D, 0x80, 0x24, 0xC1, 0xA5, 0xA6, 0xA6, 0x24 },
+ { 0x1E, 0x0D, 0xE0, 0x12, 0xA0, 0x00, 0x13, 0xC1, 0xAA, 0x06, 0xAA, 0x25 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_4080000 = {
+ { 0x1E, 0x1E, 0x40, 0x01, 0x6E, 0x00, 0x6D, 0xC1, 0xA5, 0x66, 0xAA, 0x1D },
+ { 0x1E, 0x04, 0xF0, 0x00, 0x00, 0x80, 0x52, 0x51, 0xA6, 0x66, 0xA9, 0xA5 },
+ { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 },
+ { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 },
+ { 0x1E, 0x0E, 0x30, 0x09, 0x29, 0x00, 0x01, 0x49, 0xA9, 0x96, 0x99, 0x63 },
+ { 0x1E, 0x13, 0xD0, 0x0B, 0x6D, 0x80, 0x00, 0x01, 0xAA, 0xA6, 0x9A, 0xB5 },
+ { 0x1E, 0x0D, 0x40, 0x0B, 0x78, 0x00, 0x09, 0x29, 0xA6, 0x86, 0x99, 0xA4 },
+ { 0x1E, 0x02, 0x10, 0x0A, 0x4E, 0x00, 0x1B, 0x71, 0xA5, 0x66, 0x95, 0x5A },
+ { 0x1E, 0x1D, 0xE2, 0x4B, 0xB4, 0x01, 0x24, 0x91, 0x55, 0x86, 0x69, 0x4B },
+ { 0x1E, 0x18, 0xD2, 0x49, 0x54, 0x01, 0x6F, 0x01, 0x56, 0x46, 0x98, 0x0B },
+ { 0x1E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xE0, 0xC1, 0xAA, 0x56, 0x92, 0x23 },
+ { 0x1E, 0x09, 0x10, 0x00, 0x2E, 0x00, 0x92, 0x41, 0xA9, 0xA6, 0x96, 0x2B },
+ { 0x1E, 0x0C, 0xE0, 0x01, 0x29, 0x00, 0xAD, 0xC1, 0xAA, 0x56, 0x95, 0x22 },
+ { 0x1E, 0x01, 0x70, 0x02, 0x50, 0x00, 0x93, 0x61, 0xAA, 0x86, 0xA6, 0x2C },
+ { 0x1E, 0x1F, 0x20, 0x07, 0xE0, 0x00, 0x4C, 0x01, 0xAA, 0x06, 0x98, 0x23 },
+ { 0x1E, 0x06, 0xD0, 0x02, 0x80, 0x00, 0x53, 0x81, 0xA5, 0x06, 0x99, 0x13 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_8140000 = {
+ { 0x1E, 0x13, 0x9B, 0x86, 0xE0, 0x01, 0xF8, 0xC2, 0x49, 0x04, 0x92, 0x12 },
+ { 0x1E, 0x0E, 0x4C, 0x00, 0xD8, 0x00, 0x38, 0x02, 0x02, 0x84, 0x20, 0x19 },
+ { 0x1E, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x04, 0x02, 0x01 },
+ { 0x1E, 0x17, 0xBD, 0xB0, 0xD8, 0x00, 0x06, 0xC1, 0x91, 0x44, 0x0A, 0x0A },
+ { 0x1E, 0x1D, 0x0D, 0x87, 0x18, 0x00, 0x36, 0xC1, 0x44, 0x84, 0x26, 0x0A },
+ { 0x1E, 0x0B, 0x2A, 0x06, 0xD8, 0x01, 0xC0, 0x01, 0x06, 0x84, 0x80, 0x11 },
+ { 0x1E, 0x02, 0x59, 0x25, 0xD8, 0x01, 0x86, 0xC1, 0xAA, 0x44, 0x85, 0x21 },
+ { 0x1E, 0x15, 0x99, 0x6E, 0xC0, 0x0F, 0xC6, 0x01, 0xA6, 0x06, 0x44, 0x19 },
+ { 0x1E, 0x08, 0xC7, 0x6D, 0xB4, 0x0B, 0xB0, 0xC2, 0x96, 0x86, 0x92, 0x23 },
+ { 0x1E, 0x1A, 0x87, 0x7F, 0x18, 0x0B, 0xBF, 0x02, 0x64, 0x46, 0x64, 0x12 },
+ { 0x1E, 0x00, 0xF7, 0x24, 0xE0, 0x0B, 0x6D, 0xC2, 0x56, 0x06, 0x59, 0x12 },
+ { 0x1E, 0x05, 0x76, 0xE6, 0xC0, 0x0C, 0x36, 0xC2, 0x5A, 0x06, 0x25, 0x1A },
+ { 0x1E, 0x0D, 0x19, 0x3F, 0x18, 0x0D, 0x86, 0xC2, 0x94, 0x46, 0x4A, 0x13 },
+ { 0x1E, 0x0E, 0x19, 0xC6, 0xE0, 0x0E, 0x38, 0xC2, 0x8A, 0x06, 0x22, 0x23 },
+ { 0x1E, 0x19, 0xE9, 0x6D, 0xB4, 0x0F, 0xFF, 0x02, 0x56, 0x46, 0x58, 0x12 },
+ { 0x1E, 0x0A, 0x8B, 0x46, 0xD8, 0x01, 0xB6, 0xC2, 0x89, 0x84, 0x99, 0x22 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_5900000 = {
+ { 0x1E, 0x1D, 0x02, 0x49, 0x24, 0x82, 0x49, 0x49, 0x99, 0x66, 0x55, 0x9A },
+ { 0x1E, 0x12, 0x92, 0x4A, 0x4E, 0x02, 0x49, 0x25, 0x96, 0x96, 0x59, 0x9B },
+ { 0x1E, 0x0D, 0x42, 0x92, 0x54, 0x02, 0x52, 0x51, 0xAA, 0x86, 0x5A, 0xAC },
+ { 0x1E, 0x03, 0xD2, 0x93, 0xB4, 0x02, 0x6E, 0x01, 0xA5, 0x86, 0x68, 0x1B },
+ { 0x1E, 0x16, 0xD2, 0x9B, 0x6E, 0x02, 0x53, 0x01, 0xA5, 0x96, 0x68, 0x1B },
+ { 0x1E, 0x1A, 0x62, 0xAE, 0x18, 0x02, 0x4E, 0xC1, 0x98, 0x86, 0x69, 0x1B },
+ { 0x1E, 0x01, 0x12, 0x9D, 0xC0, 0x02, 0x93, 0x71, 0x96, 0x06, 0x55, 0x51 },
+ { 0x1E, 0x18, 0xA2, 0x94, 0xB8, 0x02, 0xAD, 0xC1, 0x96, 0x46, 0x59, 0x12 },
+ { 0x1E, 0x0D, 0xD4, 0x92, 0x6C, 0x04, 0xDD, 0x01, 0x56, 0x86, 0x64, 0x12 },
+ { 0x1E, 0x07, 0x12, 0x4A, 0x4A, 0x05, 0x24, 0xA1, 0xA9, 0xA6, 0x69, 0x2B },
+ { 0x1E, 0x09, 0x62, 0x49, 0x2D, 0x85, 0xC6, 0x01, 0xA6, 0xA6, 0x88, 0x2B },
+ { 0x1E, 0x1C, 0xD2, 0x55, 0xA0, 0x05, 0x30, 0xC1, 0xA9, 0x06, 0xA2, 0x1C },
+ { 0x1E, 0x14, 0x72, 0x5F, 0x18, 0x04, 0xEE, 0xC1, 0xA4, 0x86, 0x9A, 0x1C },
+ { 0x1E, 0x1B, 0x92, 0x6D, 0xB4, 0x04, 0x92, 0x51, 0x9A, 0x86, 0x96, 0xA4 },
+ { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 },
+ { 0x1E, 0x0E, 0xD2, 0x53, 0xC0, 0x04, 0x9C, 0xC1, 0x95, 0x06, 0xA9, 0x0C }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_5260000 = {
+ { 0x1E, 0x04, 0x93, 0x24, 0x92, 0x02, 0xAD, 0x01, 0x66, 0xA6, 0xA8, 0x24 },
+ { 0x1E, 0x0F, 0x63, 0x25, 0xD8, 0x02, 0x92, 0x51, 0x59, 0x86, 0xA9, 0x95 },
+ { 0x1E, 0x1F, 0xA2, 0xDB, 0x6D, 0x82, 0x4A, 0xA1, 0x65, 0x96, 0x99, 0x13 },
+ { 0x1E, 0x08, 0xE2, 0xF6, 0xD8, 0x02, 0x52, 0x91, 0x59, 0x86, 0x99, 0x94 },
+ { 0x1E, 0x1E, 0x92, 0xDC, 0x98, 0x02, 0x66, 0xC1, 0x59, 0x46, 0xA9, 0x0C },
+ { 0x1E, 0x0C, 0x72, 0x92, 0x52, 0x02, 0x52, 0x4D, 0x69, 0x56, 0xA9, 0x95 },
+ { 0x1E, 0x09, 0xB2, 0x92, 0x49, 0x02, 0x4B, 0x91, 0x66, 0xA6, 0xA9, 0xA5 },
+ { 0x1E, 0x1E, 0x52, 0x9B, 0x70, 0x00, 0x01, 0x49, 0x65, 0x46, 0x55, 0x49 },
+ { 0x1E, 0x15, 0x32, 0x93, 0x6E, 0x02, 0xA8, 0xC1, 0x95, 0x66, 0x61, 0x12 },
+ { 0x1E, 0x13, 0x12, 0xDB, 0x6E, 0x02, 0x95, 0x01, 0xA6, 0x56, 0x68, 0x1B },
+ { 0x1E, 0x1A, 0xD2, 0xF6, 0x18, 0x02, 0xF8, 0xC1, 0x98, 0x86, 0x51, 0x19 },
+ { 0x1E, 0x0E, 0x52, 0xDC, 0xB4, 0x03, 0x37, 0x01, 0x96, 0x86, 0x64, 0x1A },
+ { 0x1E, 0x1D, 0x73, 0x07, 0xE0, 0x02, 0x3F, 0x01, 0x89, 0x06, 0x24, 0x12 },
+ { 0x1E, 0x1B, 0xA3, 0x40, 0xE0, 0x03, 0x2D, 0xC1, 0x82, 0x06, 0xA9, 0x14 },
+ { 0x1E, 0x10, 0x32, 0x00, 0x00, 0x02, 0xE4, 0x81, 0x00, 0x06, 0xA9, 0x04 },
+ { 0x1E, 0x0D, 0x03, 0x6E, 0xD8, 0x02, 0x93, 0x81, 0x69, 0x86, 0x9A, 0x1C }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_5320000 = {
+ { 0x1E, 0x1F, 0x13, 0x87, 0x18, 0x02, 0x93, 0x91, 0x44, 0x86, 0x96, 0x8C },
+ { 0x1E, 0x0B, 0x23, 0x76, 0x18, 0x02, 0x9B, 0x6D, 0x54, 0x46, 0x9A, 0x44 },
+ { 0x1E, 0x19, 0xD3, 0x00, 0xD8, 0x02, 0x9B, 0x91, 0x42, 0x86, 0xAA, 0x96 },
+ { 0x1E, 0x09, 0x42, 0xDC, 0xE0, 0x02, 0x4A, 0x71, 0x69, 0x06, 0x95, 0x93 },
+ { 0x1E, 0x1C, 0xF2, 0xE4, 0xB8, 0x02, 0x49, 0x25, 0x65, 0x86, 0x9A, 0x95 },
+ { 0x1E, 0x0C, 0x02, 0xE7, 0xE0, 0x02, 0x65, 0x01, 0x5A, 0x06, 0x94, 0x12 },
+ { 0x1E, 0x18, 0xB2, 0xDB, 0x6E, 0x02, 0x5B, 0x81, 0x56, 0x66, 0xAA, 0x15 },
+ { 0x1E, 0x01, 0x32, 0x90, 0xD8, 0x02, 0x4A, 0x51, 0x61, 0x46, 0xA5, 0x4B },
+ { 0x1E, 0x1E, 0xA2, 0x9B, 0xE0, 0x02, 0x49, 0x6D, 0x99, 0x06, 0x6A, 0x95 },
+ { 0x1E, 0x0E, 0x82, 0x93, 0xA0, 0x02, 0x9C, 0x91, 0x99, 0x06, 0x59, 0x93 },
+ { 0x1E, 0x1C, 0xF2, 0xDB, 0x92, 0x02, 0x9B, 0x6D, 0xA9, 0x56, 0x69, 0x9C },
+ { 0x1E, 0x1C, 0x42, 0xED, 0x18, 0x02, 0xDD, 0xC1, 0xA8, 0x86, 0x5A, 0x23 },
+ { 0x1E, 0x02, 0x32, 0xE4, 0x98, 0x02, 0xDC, 0xC1, 0x95, 0x86, 0x6A, 0x14 },
+ { 0x1E, 0x09, 0x93, 0x24, 0x90, 0x03, 0x6D, 0xA1, 0xA5, 0x46, 0x6A, 0x14 },
+ { 0x1E, 0x1A, 0x83, 0x25, 0xB4, 0x03, 0x6E, 0x01, 0x96, 0x86, 0xA8, 0x1C },
+ { 0x1E, 0x1E, 0x43, 0xBF, 0xE0, 0x02, 0xDB, 0xC1, 0xAA, 0x06, 0x9A, 0x24 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_6680000 = {
+ { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B },
+ { 0x1E, 0x0A, 0x35, 0x38, 0xD8, 0x07, 0x25, 0xA1, 0x52, 0x86, 0xA6, 0x14 },
+ { 0x1E, 0x1B, 0xE4, 0xDB, 0x92, 0x06, 0xE8, 0xC1, 0x66, 0x96, 0x92, 0x1B },
+ { 0x1E, 0x03, 0x14, 0xE5, 0xB8, 0x06, 0xDC, 0x91, 0x5A, 0x86, 0xAA, 0x9E },
+ { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 },
+ { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 },
+ { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 },
+ { 0x1E, 0x19, 0xD4, 0x9C, 0xE0, 0x04, 0xDB, 0x71, 0x5A, 0x06, 0x56, 0x52 },
+ { 0x1E, 0x00, 0x94, 0x93, 0x90, 0x09, 0xC6, 0x01, 0xA6, 0x46, 0x48, 0x1A },
+ { 0x1E, 0x07, 0xF4, 0xA4, 0xB8, 0x09, 0x6E, 0xC1, 0xA6, 0x46, 0x9A, 0x1C },
+ { 0x1E, 0x18, 0x84, 0x9E, 0x18, 0x09, 0x36, 0xC1, 0x98, 0x46, 0x95, 0x12 },
+ { 0x1E, 0x1D, 0xB4, 0x93, 0x6D, 0x86, 0xDD, 0xC1, 0x95, 0x66, 0x56, 0x12 },
+ { 0x1E, 0x1A, 0x44, 0xED, 0xB8, 0x06, 0xF0, 0xC1, 0xA9, 0x46, 0x62, 0x1B },
+ { 0x1E, 0x06, 0x74, 0xDE, 0xD8, 0x07, 0x24, 0x91, 0x96, 0x46, 0x55, 0x51 },
+ { 0x1E, 0x13, 0xB5, 0x24, 0x18, 0x07, 0x24, 0x01, 0x98, 0x46, 0x68, 0x13 },
+ { 0x1E, 0x0B, 0xF5, 0xB6, 0xD8, 0x06, 0x36, 0xC1, 0x9A, 0x86, 0x15, 0x21 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_6500000 = {
+ { 0x1E, 0x09, 0x04, 0xDC, 0x80, 0x04, 0x95, 0xA1, 0x55, 0x06, 0x59, 0x02 },
+ { 0x1E, 0x09, 0xF4, 0x93, 0x72, 0x04, 0xA7, 0x01, 0x65, 0x66, 0x54, 0x11 },
+ { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 },
+ { 0x1E, 0x0E, 0xB4, 0xA4, 0x00, 0x04, 0x92, 0x81, 0x54, 0x06, 0x69, 0x03 },
+ { 0x1E, 0x04, 0x74, 0x93, 0x6C, 0x04, 0xF8, 0x01, 0x5A, 0x46, 0x50, 0x11 },
+ { 0x1E, 0x0D, 0x32, 0x49, 0x2C, 0x05, 0x25, 0xA1, 0xAA, 0x46, 0x55, 0x21 },
+ { 0x1E, 0x17, 0x92, 0x4D, 0xB8, 0x05, 0x70, 0xC1, 0xA9, 0x86, 0x62, 0x23 },
+ { 0x1E, 0x03, 0x92, 0x49, 0x52, 0x05, 0x80, 0xC1, 0xA6, 0x66, 0x82, 0x23 },
+ { 0x1E, 0x02, 0x54, 0xDE, 0x18, 0x06, 0xE0, 0xC1, 0xA8, 0x86, 0x51, 0x21 },
+ { 0x1E, 0x1D, 0xC4, 0xED, 0xD8, 0x06, 0xE5, 0x01, 0x9A, 0x86, 0x68, 0x23 },
+ { 0x1E, 0x1F, 0x95, 0x24, 0xB8, 0x07, 0x36, 0xC1, 0xA5, 0x86, 0x5A, 0x1B },
+ { 0x1E, 0x12, 0xD5, 0x46, 0x18, 0x07, 0x6E, 0xC1, 0x88, 0x86, 0x65, 0x1A },
+ { 0x1E, 0x06, 0x95, 0xFF, 0x00, 0x07, 0x86, 0x01, 0x64, 0x06, 0x84, 0x0A },
+ { 0x1E, 0x04, 0xD5, 0x25, 0xB8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0x99, 0x13 },
+ { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C },
+ { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_6320000 = {
+ { 0x1E, 0x1E, 0x44, 0x92, 0x90, 0x04, 0xE4, 0x91, 0x5A, 0x86, 0x59, 0x9B },
+ { 0x1E, 0x0A, 0x54, 0x92, 0x4E, 0x04, 0xDB, 0x01, 0x55, 0x56, 0x68, 0x03 },
+ { 0x1E, 0x18, 0x92, 0x4B, 0x98, 0x05, 0x70, 0x01, 0xA9, 0x86, 0x50, 0x21 },
+ { 0x1E, 0x09, 0x62, 0x49, 0x2D, 0x85, 0xC6, 0x01, 0xA6, 0xA6, 0x88, 0x2B },
+ { 0x1E, 0x19, 0xE2, 0x54, 0xE0, 0x05, 0x00, 0xC1, 0xAA, 0x06, 0x82, 0x23 },
+ { 0x1E, 0x1C, 0x32, 0x5C, 0x92, 0x04, 0xE4, 0x91, 0xA9, 0xA6, 0x99, 0xAC },
+ { 0x1E, 0x12, 0xD2, 0x7F, 0xE0, 0x04, 0xDB, 0x81, 0xA6, 0x06, 0xAA, 0x1D },
+ { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 },
+ { 0x1E, 0x0B, 0xF5, 0xB6, 0xD8, 0x06, 0x36, 0xC1, 0x9A, 0x86, 0x15, 0x21 },
+ { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B },
+ { 0x1E, 0x01, 0xD5, 0x28, 0xD8, 0x07, 0x24, 0x91, 0x52, 0x46, 0xAA, 0x8E },
+ { 0x1E, 0x19, 0xC4, 0xE5, 0x18, 0x06, 0xC0, 0xC1, 0x68, 0x86, 0x82, 0x1B },
+ { 0x1E, 0x1E, 0x14, 0xDB, 0x94, 0x04, 0x92, 0x49, 0x59, 0x46, 0x56, 0x4A },
+ { 0x1E, 0x06, 0x34, 0x90, 0xD8, 0x04, 0x9C, 0x81, 0x61, 0x86, 0x59, 0x12 },
+ { 0x1E, 0x0E, 0xA4, 0x9B, 0x72, 0x04, 0xA4, 0x81, 0x66, 0x66, 0x69, 0x1B },
+ { 0x1E, 0x1B, 0x64, 0xAF, 0xE0, 0x04, 0x97, 0x01, 0x56, 0x06, 0x64, 0x0A }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_4940000 = {
+ { 0x1E, 0x0A, 0x22, 0xA4, 0x92, 0x00, 0x00, 0x01, 0x5A, 0x96, 0x59, 0x9B },
+ { 0x1E, 0x19, 0xF2, 0x9C, 0x18, 0x00, 0x0B, 0xA1, 0x54, 0x86, 0x56, 0x0A },
+ { 0x1E, 0x0C, 0xA2, 0x94, 0x92, 0x00, 0x17, 0x01, 0x59, 0x66, 0x54, 0x11 },
+ { 0x1E, 0x03, 0x52, 0x92, 0x54, 0x00, 0x00, 0xC1, 0x55, 0x86, 0x42, 0x0A },
+ { 0x1E, 0x18, 0x52, 0x49, 0x2E, 0x00, 0x13, 0x81, 0x69, 0x96, 0x66, 0x1B },
+ { 0x1E, 0x1C, 0xF2, 0x4D, 0xE0, 0x00, 0x0B, 0x61, 0x66, 0x06, 0x69, 0x13 },
+ { 0x1E, 0x09, 0x62, 0x49, 0x29, 0x00, 0x00, 0x41, 0x66, 0xA6, 0x66, 0x23 },
+ { 0x1E, 0x1A, 0xE2, 0x52, 0x4A, 0x00, 0x06, 0xC1, 0x6A, 0xA6, 0x6A, 0x2C },
+ { 0x1E, 0x1E, 0x63, 0x2D, 0xB4, 0x02, 0xA4, 0x91, 0x69, 0x86, 0xA9, 0x5C },
+ { 0x1E, 0x19, 0x73, 0x20, 0xD8, 0x02, 0x92, 0x91, 0x51, 0x86, 0xAA, 0x8E },
+ { 0x1E, 0x19, 0x12, 0xE4, 0xC0, 0x02, 0x49, 0x25, 0x69, 0x06, 0x99, 0x53 },
+ { 0x1E, 0x1D, 0xC2, 0xE4, 0xB4, 0x02, 0x5C, 0xA1, 0x5A, 0x46, 0x9A, 0x14 },
+ { 0x1E, 0x18, 0xB2, 0xDB, 0x6E, 0x02, 0x5B, 0x81, 0x56, 0x66, 0xAA, 0x15 },
+ { 0x1E, 0x01, 0x32, 0x90, 0xD8, 0x02, 0x4A, 0x51, 0x61, 0x46, 0xA5, 0x4B },
+ { 0x1E, 0x14, 0x32, 0x9B, 0x6D, 0x80, 0x00, 0x09, 0x69, 0x96, 0x55, 0x59 },
+ { 0x1E, 0x17, 0x72, 0xA4, 0xB8, 0x00, 0x03, 0x6D, 0x65, 0x86, 0x55, 0x92 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_4200000 = {
+ { 0x1E, 0x0A, 0x80, 0x01, 0x4D, 0x80, 0x86, 0xC1, 0xAA, 0x66, 0x89, 0x2B },
+ { 0x1E, 0x0D, 0xE0, 0x02, 0x78, 0x00, 0x95, 0x01, 0xAA, 0x86, 0xA8, 0x2C },
+ { 0x1E, 0x1F, 0x20, 0x07, 0xE0, 0x00, 0x4C, 0x01, 0xAA, 0x06, 0x98, 0x23 },
+ { 0x1E, 0x06, 0xD0, 0x02, 0x80, 0x00, 0x53, 0x81, 0xA5, 0x06, 0x99, 0x13 },
+ { 0x1E, 0x1E, 0x40, 0x01, 0x6E, 0x00, 0x6D, 0xC1, 0xA5, 0x66, 0xAA, 0x1D },
+ { 0x1E, 0x04, 0xF0, 0x00, 0x00, 0x80, 0x52, 0x51, 0xA6, 0x66, 0xA9, 0xA5 },
+ { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 },
+ { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 },
+ { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B },
+ { 0x1E, 0x1F, 0x92, 0x52, 0x74, 0x00, 0x9B, 0xA1, 0x55, 0x86, 0x65, 0x0A },
+ { 0x1E, 0x1C, 0x72, 0x49, 0x2E, 0x00, 0xDE, 0xC1, 0x59, 0x96, 0x5A, 0x13 },
+ { 0x1E, 0x10, 0xB2, 0x4B, 0x72, 0x00, 0xDD, 0xC1, 0x59, 0x56, 0x69, 0x0B },
+ { 0x1E, 0x1E, 0xD2, 0x4A, 0x6C, 0x01, 0x68, 0xC1, 0x56, 0x46, 0x62, 0x0B },
+ { 0x1E, 0x1D, 0xF2, 0x49, 0x58, 0x01, 0x24, 0x01, 0x55, 0x86, 0x98, 0x0B },
+ { 0x1E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xE0, 0xC1, 0xAA, 0x56, 0x92, 0x23 },
+ { 0x1E, 0x15, 0x70, 0x00, 0x24, 0x80, 0x90, 0xC1, 0xA9, 0x56, 0x91, 0x1A }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_3280000 = {
+ { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 },
+ { 0x1E, 0x19, 0xB0, 0x01, 0x24, 0x92, 0x53, 0xC1, 0x9A, 0xA5, 0x9A, 0x2B },
+ { 0x1E, 0x04, 0xF0, 0x01, 0x6C, 0x12, 0x6F, 0x01, 0x9A, 0x45, 0x98, 0x1A },
+ { 0x1E, 0x10, 0x50, 0x02, 0x70, 0x12, 0x49, 0x71, 0x99, 0x85, 0xA6, 0x5B },
+ { 0x1E, 0x1C, 0xE0, 0x04, 0xB4, 0x12, 0x49, 0x29, 0x9A, 0x85, 0xA9, 0x63 },
+ { 0x1E, 0x05, 0x10, 0x04, 0xD8, 0x14, 0x93, 0x91, 0x95, 0x45, 0x5A, 0x4A },
+ { 0x1E, 0x16, 0xB0, 0x02, 0x70, 0x14, 0xB8, 0x01, 0x96, 0x85, 0x50, 0x18 },
+ { 0x1E, 0x1E, 0x40, 0x01, 0x29, 0x94, 0x92, 0x49, 0x96, 0x95, 0x66, 0x5A },
+ { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 },
+ { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 },
+ { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 },
+ { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A },
+ { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 },
+ { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B },
+ { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 },
+ { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_4000000 = {
+ { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 },
+ { 0x1E, 0x0F, 0x30, 0x09, 0x40, 0x00, 0x02, 0x71, 0xA9, 0x06, 0x99, 0x9C },
+ { 0x1E, 0x0C, 0x30, 0x0A, 0x78, 0x00, 0x00, 0x2D, 0xA9, 0x46, 0x9A, 0x5C },
+ { 0x1E, 0x12, 0xD0, 0x0D, 0xB8, 0x00, 0x0B, 0x6D, 0xA5, 0x86, 0x9A, 0x9D },
+ { 0x1E, 0x0A, 0x30, 0x0A, 0xB8, 0x00, 0x13, 0x71, 0xA5, 0x46, 0x99, 0x53 },
+ { 0x1E, 0x05, 0x30, 0x09, 0x6D, 0x80, 0x24, 0xC1, 0xA5, 0xA6, 0xA6, 0x24 },
+ { 0x1E, 0x0D, 0xE0, 0x12, 0xA0, 0x00, 0x13, 0xC1, 0xAA, 0x06, 0xAA, 0x25 },
+ { 0x1E, 0x1A, 0x80, 0x10, 0xD8, 0x00, 0x0A, 0x6D, 0xA2, 0x46, 0xA9, 0x9D },
+ { 0x1E, 0x0A, 0xF0, 0x00, 0x4E, 0x00, 0xEE, 0xC1, 0xAA, 0x96, 0xA9, 0x2C },
+ { 0x1E, 0x05, 0xB0, 0x00, 0x0D, 0x80, 0x9B, 0x71, 0xA9, 0x56, 0x95, 0x5A },
+ { 0x1E, 0x14, 0x10, 0x01, 0x24, 0x80, 0x9D, 0xA1, 0xA9, 0xA6, 0xAA, 0x2D },
+ { 0x1E, 0x1B, 0x40, 0x03, 0xA0, 0x00, 0x49, 0x25, 0xAA, 0x06, 0x96, 0x63 },
+ { 0x1E, 0x0A, 0x10, 0x03, 0x6E, 0x00, 0x52, 0x71, 0xA5, 0x56, 0x95, 0x93 },
+ { 0x1E, 0x1A, 0xD0, 0x01, 0x6D, 0x80, 0x6D, 0xC1, 0xA6, 0xA6, 0x96, 0x2B },
+ { 0x1E, 0x14, 0x30, 0x00, 0x05, 0x80, 0x53, 0xC1, 0xA6, 0x96, 0xA5, 0x23 },
+ { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_3440000 = {
+ { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 },
+ { 0x1E, 0x1D, 0x20, 0x0B, 0x6D, 0x93, 0x30, 0xC1, 0x95, 0xA5, 0x91, 0x19 },
+ { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A },
+ { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B },
+ { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 },
+ { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 },
+ { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A },
+ { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 },
+ { 0x1E, 0x1D, 0xE0, 0x24, 0x92, 0x12, 0x5D, 0xA1, 0x9A, 0x55, 0x56, 0x19 },
+ { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A },
+ { 0x1E, 0x09, 0x40, 0x1B, 0x6D, 0x92, 0x4A, 0xA1, 0x95, 0x55, 0x65, 0x09 },
+ { 0x1E, 0x0A, 0x60, 0x13, 0x6E, 0x12, 0x49, 0x49, 0x9A, 0x95, 0x6A, 0x63 },
+ { 0x1E, 0x17, 0x10, 0x13, 0x72, 0x12, 0xB7, 0x01, 0x95, 0x95, 0x64, 0x11 },
+ { 0x1E, 0x19, 0x90, 0x12, 0x40, 0x12, 0x92, 0x4D, 0x95, 0x05, 0x66, 0x8B },
+ { 0x1E, 0x19, 0x00, 0x09, 0x70, 0x12, 0xDB, 0x61, 0x9A, 0x45, 0x59, 0x19 },
+ { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_3460000 = {
+ { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 },
+ { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 },
+ { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A },
+ { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 },
+ { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B },
+ { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 },
+ { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 },
+ { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A },
+ { 0x1E, 0x1B, 0x20, 0x07, 0x18, 0x12, 0x52, 0x49, 0x84, 0x85, 0x55, 0x91 },
+ { 0x1E, 0x08, 0xB0, 0x1B, 0xB8, 0x12, 0x5B, 0x91, 0x9A, 0x45, 0x65, 0x59 },
+ { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A },
+ { 0x1E, 0x09, 0x40, 0x1B, 0x6D, 0x92, 0x4A, 0xA1, 0x95, 0x55, 0x65, 0x09 },
+ { 0x1E, 0x00, 0x90, 0x15, 0xD8, 0x12, 0x9C, 0xA1, 0x96, 0x85, 0x56, 0x19 },
+ { 0x1E, 0x17, 0x10, 0x13, 0x72, 0x12, 0xB7, 0x01, 0x95, 0x95, 0x64, 0x11 },
+ { 0x1E, 0x19, 0x90, 0x12, 0x40, 0x12, 0x92, 0x4D, 0x95, 0x05, 0x66, 0x8B },
+ { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_4450000 = {
+ { 0x1E, 0x0D, 0x82, 0x55, 0xB4, 0x00, 0x9C, 0xC1, 0x55, 0x46, 0x5A, 0x03 },
+ { 0x1E, 0x01, 0xD2, 0x49, 0x52, 0x00, 0x93, 0x91, 0x5A, 0xA6, 0x66, 0x63 },
+ { 0x1E, 0x0E, 0x82, 0x4A, 0x6E, 0x00, 0xED, 0xC1, 0x5A, 0x96, 0x55, 0x19 },
+ { 0x1E, 0x1B, 0x92, 0x4D, 0x18, 0x01, 0x36, 0xC1, 0x54, 0x46, 0x59, 0x02 },
+ { 0x1E, 0x1B, 0x22, 0x4A, 0x49, 0x00, 0x38, 0xC1, 0x55, 0x66, 0x12, 0x0A },
+ { 0x1E, 0x0C, 0x52, 0x49, 0x29, 0x81, 0x3F, 0x01, 0x55, 0xA6, 0x98, 0x13 },
+ { 0x1E, 0x0C, 0xD0, 0x00, 0x29, 0x80, 0xC6, 0xC1, 0xAA, 0x66, 0x86, 0x2B },
+ { 0x1E, 0x15, 0x70, 0x00, 0x24, 0x80, 0x90, 0xC1, 0xA9, 0x56, 0x91, 0x1A },
+ { 0x1E, 0x0B, 0x12, 0x4A, 0x74, 0x00, 0x00, 0x25, 0x65, 0x86, 0x65, 0x52 },
+ { 0x1E, 0x1A, 0xE2, 0x52, 0x4A, 0x00, 0x06, 0xC1, 0x6A, 0xA6, 0x6A, 0x2C },
+ { 0x1E, 0x06, 0x72, 0x55, 0xB4, 0x00, 0x00, 0x25, 0x66, 0x46, 0x6A, 0x54 },
+ { 0x1E, 0x0C, 0x72, 0x5C, 0x92, 0x00, 0x49, 0x25, 0x6A, 0x56, 0x59, 0x5A },
+ { 0x1E, 0x1D, 0x22, 0x66, 0x18, 0x00, 0x5B, 0x6D, 0x64, 0x46, 0x56, 0x8B },
+ { 0x1E, 0x16, 0xD2, 0x6E, 0x00, 0x00, 0x5E, 0xC1, 0x58, 0x06, 0x69, 0x0B },
+ { 0x1E, 0x0E, 0x52, 0x5C, 0x90, 0x00, 0x49, 0x2D, 0x59, 0x46, 0x66, 0x8C },
+ { 0x1E, 0x0C, 0x22, 0x52, 0xE0, 0x00, 0x49, 0x25, 0x5A, 0x06, 0x6A, 0x54 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_8200000 = {
+ { 0x1E, 0x0A, 0x8B, 0x46, 0xD8, 0x01, 0xB6, 0xC2, 0x89, 0x84, 0x99, 0x22 },
+ { 0x1E, 0x03, 0xBB, 0xB6, 0x18, 0x01, 0xF8, 0xC2, 0x58, 0x84, 0x91, 0x19 },
+ { 0x1E, 0x06, 0xBC, 0x30, 0xE0, 0x00, 0x38, 0xC2, 0x12, 0x04, 0x21, 0x11 },
+ { 0x1E, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x04, 0x02, 0x01 },
+ { 0x1E, 0x17, 0xBD, 0xB0, 0xD8, 0x00, 0x06, 0xC1, 0x91, 0x44, 0x0A, 0x0A },
+ { 0x1E, 0x1D, 0x0D, 0x87, 0x18, 0x00, 0x36, 0xC1, 0x44, 0x84, 0x26, 0x0A },
+ { 0x1E, 0x0B, 0x2A, 0x06, 0xD8, 0x01, 0xC0, 0x01, 0x06, 0x84, 0x80, 0x11 },
+ { 0x1E, 0x02, 0x59, 0x25, 0xD8, 0x01, 0x86, 0xC1, 0xAA, 0x44, 0x85, 0x21 },
+ { 0x1E, 0x1E, 0x27, 0x24, 0x92, 0x0B, 0x6D, 0xC2, 0xA6, 0x66, 0xAA, 0x2D },
+ { 0x1E, 0x0E, 0x17, 0x86, 0xE0, 0x0B, 0xC6, 0xC2, 0x8A, 0x06, 0x8A, 0x24 },
+ { 0x1E, 0x17, 0x97, 0x7F, 0x00, 0x0B, 0x80, 0xC2, 0x54, 0x06, 0x41, 0x09 },
+ { 0x1E, 0x0B, 0xD6, 0xDC, 0x94, 0x0B, 0x6E, 0xC2, 0x6A, 0x86, 0x55, 0x29 },
+ { 0x1E, 0x05, 0x76, 0xE6, 0xC0, 0x0C, 0x36, 0xC2, 0x5A, 0x06, 0x25, 0x1A },
+ { 0x1E, 0x1A, 0x99, 0x2D, 0xB8, 0x0D, 0x80, 0x02, 0x99, 0x86, 0x40, 0x21 },
+ { 0x1E, 0x07, 0xB9, 0xFF, 0xE0, 0x0E, 0x3F, 0x02, 0x95, 0x06, 0x24, 0x12 },
+ { 0x1E, 0x1F, 0xB9, 0x26, 0xE0, 0x01, 0xB6, 0xC2, 0x6A, 0x04, 0xAA, 0x24 }
+};
+
+XC3028_SCODE_TABLE XC3028_scode_table_3300000 = {
+ { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A },
+ { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 },
+ { 0x1E, 0x19, 0xB0, 0x01, 0x24, 0x92, 0x53, 0xC1, 0x9A, 0xA5, 0x9A, 0x2B },
+ { 0x1E, 0x0D, 0x20, 0x01, 0x2C, 0x12, 0x52, 0x81, 0x99, 0x45, 0xA5, 0x12 },
+ { 0x1E, 0x10, 0x50, 0x02, 0x70, 0x12, 0x49, 0x71, 0x99, 0x85, 0xA6, 0x5B },
+ { 0x1E, 0x1C, 0xE0, 0x04, 0xB4, 0x12, 0x49, 0x29, 0x9A, 0x85, 0xA9, 0x63 },
+ { 0x1E, 0x05, 0x10, 0x04, 0xD8, 0x14, 0x93, 0x91, 0x95, 0x45, 0x5A, 0x4A },
+ { 0x1E, 0x16, 0xB0, 0x02, 0x70, 0x14, 0xB8, 0x01, 0x96, 0x85, 0x50, 0x18 },
+ { 0x1E, 0x19, 0x00, 0x09, 0x70, 0x12, 0xDB, 0x61, 0x9A, 0x45, 0x59, 0x19 },
+ { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 },
+ { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 },
+ { 0x1E, 0x1D, 0x20, 0x0B, 0x6D, 0x93, 0x30, 0xC1, 0x95, 0xA5, 0x91, 0x19 },
+ { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A },
+ { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 },
+ { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 },
+ { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 }
+};
+
+
+#endif
+
diff --git a/drivers/media/video/empia/xc3028/xc3028fw_helper.h b/drivers/media/video/empia/xc3028/xc3028fw_helper.h
new file mode 100644
index 0000000..08551cc
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/xc3028fw_helper.h
@@ -0,0 +1,107 @@
+#ifndef __XC_FW_HELPER
+#define __XC_FW_HELPER
+
+int xc3028_set_firmware(unsigned char *fwblob, int length) {
+ if (length != 120273) {
+ return -EINVAL;
+ }
+ XC3028_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE=&fwblob[2]; /* length: 8724 */
+ XC3028_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE=&fwblob[8726]; /* length: 8718 */
+ XC3028_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE=&fwblob[17444]; /* length: 8568 */
+ XC3028_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE=&fwblob[26012]; /* length: 8582 */
+ XC3028_base_firmware_i2c_files_base_firmwares_init_SEQUENCE=&fwblob[34594]; /* length: 8712 */
+ XC3028_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE=&fwblob[43306]; /* length: 8688 */
+ XC3028_std_firmware_bg_pal_a2_a_SEQUENCE=&fwblob[51994]; /* length: 167 */
+ XC3028_std_firmware_bg_pal_a2_a_mts_SEQUENCE=&fwblob[52161]; /* length: 175 */
+ XC3028_std_firmware_bg_pal_a2_b_SEQUENCE=&fwblob[52336]; /* length: 167 */
+ XC3028_std_firmware_bg_pal_a2_b_mts_SEQUENCE=&fwblob[52503]; /* length: 175 */
+ XC3028_std_firmware_bg_pal_nicam_a_SEQUENCE=&fwblob[52678]; /* length: 167 */
+ XC3028_std_firmware_bg_pal_nicam_a_mts_SEQUENCE=&fwblob[52845]; /* length: 175 */
+ XC3028_std_firmware_bg_pal_nicam_b_SEQUENCE=&fwblob[53020]; /* length: 167 */
+ XC3028_std_firmware_bg_pal_nicam_b_mts_SEQUENCE=&fwblob[53187]; /* length: 175 */
+ XC3028_std_firmware_dk_pal_a2_SEQUENCE=&fwblob[53362]; /* length: 167 */
+ XC3028_std_firmware_dk_pal_a2_mts_SEQUENCE=&fwblob[53529]; /* length: 175 */
+ XC3028_std_firmware_dk_pal_nicam_SEQUENCE=&fwblob[53704]; /* length: 167 */
+ XC3028_std_firmware_dk_pal_nicam_mts_SEQUENCE=&fwblob[53871]; /* length: 175 */
+ XC3028_std_firmware_dk_secam_a2_dk1_SEQUENCE=&fwblob[54046]; /* length: 167 */
+ XC3028_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE=&fwblob[54213]; /* length: 175 */
+ XC3028_std_firmware_dk_secam_a2_l_dk3_SEQUENCE=&fwblob[54388]; /* length: 167 */
+ XC3028_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE=&fwblob[54555]; /* length: 175 */
+ XC3028_std_firmware_dtv6_atsc_2633_SEQUENCE=&fwblob[54730]; /* length: 155 */
+ XC3028_std_firmware_dtv6_qam_2620_SEQUENCE=&fwblob[54885]; /* length: 155 */
+ XC3028_std_firmware_dtv6_qam_2633_SEQUENCE=&fwblob[55040]; /* length: 155 */
+ XC3028_std_firmware_dtv7_2620_SEQUENCE=&fwblob[55195]; /* length: 155 */
+ XC3028_std_firmware_dtv7_2633_SEQUENCE=&fwblob[55350]; /* length: 155 */
+ XC3028_std_firmware_dtv78_2620_SEQUENCE=&fwblob[55505]; /* length: 155 */
+ XC3028_std_firmware_dtv78_2633_SEQUENCE=&fwblob[55660]; /* length: 155 */
+ XC3028_std_firmware_dtv8_2620_SEQUENCE=&fwblob[55815]; /* length: 155 */
+ XC3028_std_firmware_dtv8_2633_SEQUENCE=&fwblob[55970]; /* length: 155 */
+ XC3028_std_firmware_fm_SEQUENCE=&fwblob[56125]; /* length: 141 */
+ XC3028_std_firmware_i_pal_nicam_SEQUENCE=&fwblob[56266]; /* length: 167 */
+ XC3028_std_firmware_i_pal_nicam_mts_SEQUENCE=&fwblob[56433]; /* length: 175 */
+ XC3028_std_firmware_l_secam_am_SEQUENCE=&fwblob[56608]; /* length: 175 */
+ XC3028_std_firmware_l_secam_nicam_SEQUENCE=&fwblob[56783]; /* length: 167 */
+ XC3028_std_firmware_lp_secam_nicam_SEQUENCE=&fwblob[56950]; /* length: 167 */
+ XC3028_std_firmware_mn_ntscpal_a2_SEQUENCE=&fwblob[57117]; /* length: 167 */
+ XC3028_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE=&fwblob[57284]; /* length: 167 */
+ XC3028_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE=&fwblob[57451]; /* length: 167 */
+ XC3028_std_firmware_mn_ntscpal_a2_mts_SEQUENCE=&fwblob[57618]; /* length: 175 */
+ XC3028_std_firmware_mn_ntscpal_btsc_SEQUENCE=&fwblob[57793]; /* length: 167 */
+ XC3028_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE=&fwblob[57960]; /* length: 167 */
+ XC3028_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE=&fwblob[58127]; /* length: 167 */
+ XC3028_std_firmware_mn_ntscpal_eiaj_SEQUENCE=&fwblob[58294]; /* length: 167 */
+ XC3028_std_firmware_mn_ntscpal_mts_SEQUENCE=&fwblob[58461]; /* length: 175 */
+ XC3028_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE=&fwblob[58636]; /* length: 175 */
+ XC3028_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE=&fwblob[58811]; /* length: 175 */
+ XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE=&fwblob[58986]; /* length: 9150 */
+ XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE=&fwblob[68136]; /* length: 9036 */
+ XC3028L_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE=&fwblob[77172]; /* length: 9060 */
+ XC3028L_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE=&fwblob[86232]; /* length: 9074 */
+ XC3028L_base_firmware_i2c_files_base_firmwares_init_SEQUENCE=&fwblob[95306]; /* length: 9138 */
+ XC3028L_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE=&fwblob[104444]; /* length: 9012 */
+ XC3028L_std_firmware_bg_pal_a2_a_SEQUENCE=&fwblob[113456]; /* length: 167 */
+ XC3028L_std_firmware_bg_pal_a2_a_mts_SEQUENCE=&fwblob[113623]; /* length: 175 */
+ XC3028L_std_firmware_bg_pal_a2_b_SEQUENCE=&fwblob[113798]; /* length: 167 */
+ XC3028L_std_firmware_bg_pal_a2_b_mts_SEQUENCE=&fwblob[113965]; /* length: 175 */
+ XC3028L_std_firmware_bg_pal_nicam_a_SEQUENCE=&fwblob[114140]; /* length: 167 */
+ XC3028L_std_firmware_bg_pal_nicam_a_mts_SEQUENCE=&fwblob[114307]; /* length: 175 */
+ XC3028L_std_firmware_bg_pal_nicam_b_SEQUENCE=&fwblob[114482]; /* length: 167 */
+ XC3028L_std_firmware_bg_pal_nicam_b_mts_SEQUENCE=&fwblob[114649]; /* length: 175 */
+ XC3028L_std_firmware_dk_pal_a2_SEQUENCE=&fwblob[114824]; /* length: 167 */
+ XC3028L_std_firmware_dk_pal_a2_mts_SEQUENCE=&fwblob[114991]; /* length: 175 */
+ XC3028L_std_firmware_dk_pal_nicam_SEQUENCE=&fwblob[115166]; /* length: 167 */
+ XC3028L_std_firmware_dk_pal_nicam_mts_SEQUENCE=&fwblob[115333]; /* length: 175 */
+ XC3028L_std_firmware_dk_secam_a2_dk1_SEQUENCE=&fwblob[115508]; /* length: 167 */
+ XC3028L_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE=&fwblob[115675]; /* length: 175 */
+ XC3028L_std_firmware_dk_secam_a2_l_dk3_SEQUENCE=&fwblob[115850]; /* length: 167 */
+ XC3028L_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE=&fwblob[116017]; /* length: 175 */
+ XC3028L_std_firmware_dtv6_atsc_2633_SEQUENCE=&fwblob[116192]; /* length: 155 */
+ XC3028L_std_firmware_dtv6_qam_2620_SEQUENCE=&fwblob[116347]; /* length: 155 */
+ XC3028L_std_firmware_dtv6_qam_2633_SEQUENCE=&fwblob[116502]; /* length: 155 */
+ XC3028L_std_firmware_dtv7_2620_SEQUENCE=&fwblob[116657]; /* length: 155 */
+ XC3028L_std_firmware_dtv7_2633_SEQUENCE=&fwblob[116812]; /* length: 155 */
+ XC3028L_std_firmware_dtv78_2620_SEQUENCE=&fwblob[116967]; /* length: 155 */
+ XC3028L_std_firmware_dtv78_2633_SEQUENCE=&fwblob[117122]; /* length: 155 */
+ XC3028L_std_firmware_dtv8_2620_SEQUENCE=&fwblob[117277]; /* length: 155 */
+ XC3028L_std_firmware_dtv8_2633_SEQUENCE=&fwblob[117432]; /* length: 155 */
+ XC3028L_std_firmware_fm_SEQUENCE=&fwblob[117587]; /* length: 141 */
+ XC3028L_std_firmware_i_pal_nicam_SEQUENCE=&fwblob[117728]; /* length: 167 */
+ XC3028L_std_firmware_i_pal_nicam_mts_SEQUENCE=&fwblob[117895]; /* length: 175 */
+ XC3028L_std_firmware_l_secam_nicam_SEQUENCE=&fwblob[118070]; /* length: 167 */
+ XC3028L_std_firmware_lp_secam_nicam_SEQUENCE=&fwblob[118237]; /* length: 167 */
+ XC3028L_std_firmware_mn_ntscpal_a2_SEQUENCE=&fwblob[118404]; /* length: 167 */
+ XC3028L_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE=&fwblob[118571]; /* length: 167 */
+ XC3028L_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE=&fwblob[118738]; /* length: 167 */
+ XC3028L_std_firmware_mn_ntscpal_a2_mts_SEQUENCE=&fwblob[118905]; /* length: 175 */
+ XC3028L_std_firmware_mn_ntscpal_btsc_SEQUENCE=&fwblob[119080]; /* length: 167 */
+ XC3028L_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE=&fwblob[119247]; /* length: 167 */
+ XC3028L_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE=&fwblob[119414]; /* length: 167 */
+ XC3028L_std_firmware_mn_ntscpal_eiaj_SEQUENCE=&fwblob[119581]; /* length: 167 */
+ XC3028L_std_firmware_mn_ntscpal_mts_SEQUENCE=&fwblob[119748]; /* length: 175 */
+ XC3028L_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE=&fwblob[119923]; /* length: 175 */
+ XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE=&fwblob[120098]; /* length: 175 */
+
+
+ return 0;
+}
+#endif
diff --git a/drivers/media/video/empia/xc3028/xc3028l_firmwares.h b/drivers/media/video/empia/xc3028/xc3028l_firmwares.h
new file mode 100644
index 0000000..f46aaf1
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/xc3028l_firmwares.h
@@ -0,0 +1,678 @@
+//
+// Automatically generated C header file for
+// control of the XC3028L via the i2c interface.
+//
+// Filename : xc3028_firmwares.h
+// Generated : 7/3/2007 2:48:22 PM
+// Firmware version : 3.6
+//
+// (c) 2007, Xceive Corporation
+//
+
+#ifndef __XC3028L_FIRMWARES_H
+#define __XC3028L_FIRMWARES_H
+
+#include "xc3028l_scodes.h"
+#include "xc3028_control.h"
+
+
+// *************************************************************
+// *** LIST OF AVAILABLE TV_MODES
+// *** TV_MODE is selected during call to xc3028_initialize()
+// ***
+// *** 1) XC3028L_tv_mode_m_n_ntsc_pal_btsc_if
+// *** 2) XC3028L_tv_mode_m_n_ntsc_pal_btsc_if_lcd
+// *** 3) XC3028L_tv_mode_m_n_ntsc_pal_btsc_if_lcd_nogd
+// *** 4) XC3028L_tv_mode_m_n_ntsc_pal_a2_if
+// *** 5) XC3028L_tv_mode_m_n_ntsc_pal_a2_if_lcd
+// *** 6) XC3028L_tv_mode_m_n_ntsc_pal_a2_if_lcd_nogd
+// *** 7) XC3028L_tv_mode_m_n_ntsc_pal_mts
+// *** 8) XC3028L_tv_mode_m_n_ntsc_pal_mts_lcd
+// *** 9) XC3028L_tv_mode_m_n_ntsc_pal_mts_lcd_nogd
+// *** 10) XC3028L_tv_mode_m_n_ntsc_pal_a2_mono
+// *** 11) XC3028L_tv_mode_m_n_ntsc_pal_a2_mono_lcd
+// *** 12) XC3028L_tv_mode_m_n_ntsc_pal_a2_mono_lcd_nogd
+// *** 13) XC3028L_tv_mode_m_n_ntsc_pal_eiaj
+// *** 14) XC3028L_tv_mode_i_pal_nicam
+// *** 15) XC3028L_tv_mode_b_g_pal_a2_a
+// *** 16) XC3028L_tv_mode_b_g_pal_nicam_a
+// *** 17) XC3028L_tv_mode_b_g_pal_a2_b
+// *** 18) XC3028L_tv_mode_b_g_pal_nicam_b
+// *** 19) XC3028L_tv_mode_l_secam_nicam
+// *** 20) XC3028L_tv_mode_lp_secam_nicam
+// *** 21) XC3028L_tv_mode_d_k_pal_a2
+// *** 22) XC3028L_tv_mode_d_k_pal_nicam
+// *** 23) XC3028L_tv_mode_d_k_secam_a2_dk1
+// *** 24) XC3028L_tv_mode_d_k_secam_a2_l_dk3
+// *** 25) XC3028L_tv_mode_fm_radio_input2
+// *** 26) XC3028L_tv_mode_fm_radio_input1
+// *** 27) XC3028L_tv_mode_dtv6_atsc_lg_6_0mhz
+// *** 28) XC3028L_tv_mode_dtv6_atsc_ati_6_38mhz
+// *** 29) XC3028L_tv_mode_dtv6_atsc_oren_5_38mhz
+// *** 30) XC3028L_tv_mode_dtv6_atsc_oren_3_6mhz
+// *** 31) XC3028L_tv_mode_dtv6_atsc_toyota_3_88mhz
+// *** 32) XC3028L_tv_mode_dtv6_atsc_toyota_7_94mhz
+// *** 33) XC3028L_tv_mode_dtv6_qam_6_0mhz
+// *** 34) XC3028L_tv_mode_dtv8_dibcom_5_2mhz
+// *** 35) XC3028L_tv_mode_dtv78_dibcom_5_2mhz
+// *** 36) XC3028L_tv_mode_dtv7_dibcom_5_2mhz
+// *** 37) XC3028L_tv_mode_dtv6_zarlink_qam_4_56mhz
+// *** 38) XC3028L_tv_mode_dtv8_zarlink_4_56mhz
+// *** 39) XC3028L_tv_mode_dtv78_zarlink_4_56mhz
+// *** 40) XC3028L_tv_mode_dtv7_zarlink_4_56mhz
+// *** 41) XC3028L_tv_mode_dtv8_china_temporary
+// *** 42) XC3028L_tv_mode_i_pal_nicam_mono
+// *** 43) XC3028L_tv_mode_b_g_pal_a2_a_mono
+// *** 44) XC3028L_tv_mode_b_g_pal_nicam_a_mono
+// *** 45) XC3028L_tv_mode_b_g_pal_a2_b_mono
+// *** 46) XC3028L_tv_mode_b_g_pal_nicam_b_mono
+// *** 47) XC3028L_tv_mode_d_k_pal_a2_mono
+// *** 48) XC3028L_tv_mode_d_k_pal_nicam_mono
+// *** 49) XC3028L_tv_mode_d_k_secam_a2_dk1_mono
+// *** 50) XC3028L_tv_mode_d_k_secam_a2_l_dk3_mono
+// ***
+// *************************************************************
+
+// ************************************************************
+// *** BASE FIRMWARE FILES
+// *** These declarations are not used directly by user
+// ************************************************************
+
+unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init_SEQUENCE
+};
+
+unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init_SEQUENCE
+};
+
+unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_fm_init = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_fm_init_SEQUENCE
+};
+
+unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_fm_input1_init = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_fm_input1_init_SEQUENCE
+};
+
+unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_init = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init_SEQUENCE
+};
+
+unsigned char *XC3028L_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_base_firmware_i2c_files_base_firmwares_mts_init = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init_SEQUENCE
+};
+
+
+// ************************************************************
+// *** STANDARD-SPECIFIC FIRMWARE FILES
+// *** These declarations are not used directly by user
+// ************************************************************
+
+unsigned char *XC3028L_std_firmware_bg_pal_a2_a_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_a2_a = {
+ &XC3028L_std_firmware_bg_pal_a2_a_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_bg_pal_a2_a_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_a2_a_mts = {
+ &XC3028L_std_firmware_bg_pal_a2_a_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_bg_pal_a2_b_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_a2_b = {
+ &XC3028L_std_firmware_bg_pal_a2_b_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_bg_pal_a2_b_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_a2_b_mts = {
+ &XC3028L_std_firmware_bg_pal_a2_b_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_bg_pal_nicam_a_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_nicam_a = {
+ &XC3028L_std_firmware_bg_pal_nicam_a_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_bg_pal_nicam_a_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_nicam_a_mts = {
+ &XC3028L_std_firmware_bg_pal_nicam_a_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_bg_pal_nicam_b_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_nicam_b = {
+ &XC3028L_std_firmware_bg_pal_nicam_b_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_bg_pal_nicam_b_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_bg_pal_nicam_b_mts = {
+ &XC3028L_std_firmware_bg_pal_nicam_b_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dk_pal_a2_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_pal_a2 = {
+ &XC3028L_std_firmware_dk_pal_a2_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dk_pal_a2_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_pal_a2_mts = {
+ &XC3028L_std_firmware_dk_pal_a2_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dk_pal_nicam_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_pal_nicam = {
+ &XC3028L_std_firmware_dk_pal_nicam_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dk_pal_nicam_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_pal_nicam_mts = {
+ &XC3028L_std_firmware_dk_pal_nicam_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dk_secam_a2_dk1_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_secam_a2_dk1 = {
+ &XC3028L_std_firmware_dk_secam_a2_dk1_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_secam_a2_dk1_mts = {
+ &XC3028L_std_firmware_dk_secam_a2_dk1_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dk_secam_a2_l_dk3_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_secam_a2_l_dk3 = {
+ &XC3028L_std_firmware_dk_secam_a2_l_dk3_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dk_secam_a2_l_dk3_mts = {
+ &XC3028L_std_firmware_dk_secam_a2_l_dk3_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dtv6_atsc_2633_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv6_atsc_2633 = {
+ &XC3028L_std_firmware_dtv6_atsc_2633_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dtv6_qam_2620_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv6_qam_2620 = {
+ &XC3028L_std_firmware_dtv6_qam_2620_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dtv6_qam_2633_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv6_qam_2633 = {
+ &XC3028L_std_firmware_dtv6_qam_2633_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dtv7_2620_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv7_2620 = {
+ &XC3028L_std_firmware_dtv7_2620_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dtv7_2633_SEQUENCE;
+
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv7_2633 = {
+ &XC3028L_std_firmware_dtv7_2633_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dtv78_2620_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv78_2620 = {
+ &XC3028L_std_firmware_dtv78_2620_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dtv78_2633_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv78_2633 = {
+ &XC3028L_std_firmware_dtv78_2633_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dtv8_2620_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv8_2620 = {
+ &XC3028L_std_firmware_dtv8_2620_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_dtv8_2633_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_dtv8_2633 = {
+ &XC3028L_std_firmware_dtv8_2633_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_fm_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_fm = {
+ &XC3028L_std_firmware_fm_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_i_pal_nicam_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_i_pal_nicam = {
+ &XC3028L_std_firmware_i_pal_nicam_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_i_pal_nicam_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_i_pal_nicam_mts = {
+ &XC3028L_std_firmware_i_pal_nicam_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_l_secam_nicam_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_l_secam_nicam = {
+ &XC3028L_std_firmware_l_secam_nicam_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_lp_secam_nicam_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_lp_secam_nicam = {
+ &XC3028L_std_firmware_lp_secam_nicam_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_a2_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_a2 = {
+ &XC3028L_std_firmware_mn_ntscpal_a2_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_a2_lcd = {
+ &XC3028L_std_firmware_mn_ntscpal_a2_lcd_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_a2_lcd_nogd = {
+ &XC3028L_std_firmware_mn_ntscpal_a2_lcd_nogd_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_a2_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_a2_mts = {
+ &XC3028L_std_firmware_mn_ntscpal_a2_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_btsc_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_btsc = {
+ &XC3028L_std_firmware_mn_ntscpal_btsc_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_btsc_lcd = {
+ &XC3028L_std_firmware_mn_ntscpal_btsc_lcd_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_btsc_lcd_nogd = {
+ &XC3028L_std_firmware_mn_ntscpal_btsc_lcd_nogd_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_eiaj_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_eiaj = {
+ &XC3028L_std_firmware_mn_ntscpal_eiaj_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_mts_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_mts = {
+ &XC3028L_std_firmware_mn_ntscpal_mts_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_mts_lcd = {
+ &XC3028L_std_firmware_mn_ntscpal_mts_lcd_SEQUENCE
+};
+
+unsigned char *XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE;
+
+XC3028_I2C_SEQUENCE XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd = {
+ &XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd_SEQUENCE
+};
+
+
+// ************************************************************
+// *** TV_MODES
+// *** These are used when calling xc3028_initialize()
+// ************************************************************
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_btsc_if = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_mn_ntscpal_btsc,
+ &XC3028L_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_btsc_if_lcd = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_mn_ntscpal_btsc_lcd,
+ &XC3028L_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_btsc_if_lcd_nogd = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_mn_ntscpal_btsc_lcd_nogd,
+ &XC3028L_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_if = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_mn_ntscpal_a2,
+ &XC3028L_scode_table_4600000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_if_lcd = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_mn_ntscpal_a2_lcd,
+ &XC3028L_scode_table_4600000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_if_lcd_nogd = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_mn_ntscpal_a2_lcd_nogd,
+ &XC3028L_scode_table_4600000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_mts = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028L_std_firmware_mn_ntscpal_mts,
+ &XC3028L_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_mts_lcd = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028L_std_firmware_mn_ntscpal_mts_lcd,
+ &XC3028L_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_mts_lcd_nogd = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd,
+ &XC3028L_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_mono = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028L_std_firmware_mn_ntscpal_a2_mts,
+ &XC3028L_scode_table_4320000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_mono_lcd = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028L_std_firmware_mn_ntscpal_mts_lcd,
+ &XC3028L_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_a2_mono_lcd_nogd = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028L_std_firmware_mn_ntscpal_mts_lcd_nogd,
+ &XC3028L_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_m_n_ntsc_pal_eiaj = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_mts_init,
+ &XC3028L_std_firmware_mn_ntscpal_eiaj,
+ &XC3028L_scode_table_4500000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_i_pal_nicam = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_i_pal_nicam,
+ &XC3028L_scode_table_6240000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_a2_a = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_bg_pal_a2_a,
+ &XC3028L_scode_table_5640000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_nicam_a = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_bg_pal_nicam_a,
+ &XC3028L_scode_table_5740000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_a2_b = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_bg_pal_a2_b,
+ &XC3028L_scode_table_5640000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_nicam_b = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_bg_pal_nicam_b,
+ &XC3028L_scode_table_5740000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_l_secam_nicam = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_l_secam_nicam,
+ &XC3028L_scode_table_6000000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_lp_secam_nicam = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_lp_secam_nicam,
+ &XC3028L_scode_table_6000000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_d_k_pal_a2 = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dk_pal_a2,
+ &XC3028L_scode_table_6600000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_d_k_pal_nicam = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dk_pal_nicam,
+ &XC3028L_scode_table_6000000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_d_k_secam_a2_dk1 = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dk_secam_a2_dk1,
+ &XC3028L_scode_table_6340000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_d_k_secam_a2_l_dk3 = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dk_secam_a2_l_dk3,
+ &XC3028L_scode_table_6000000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_fm_radio_input2 = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_fm_init,
+ &XC3028L_std_firmware_fm,
+ 0
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_fm_radio_input1 = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_fm_input1_init,
+ &XC3028L_std_firmware_fm,
+ 0
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_lg_6_0mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_dtv6_atsc_2633,
+ &XC3028L_scode_table_6200000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_ati_6_38mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_dtv6_atsc_2633,
+ &XC3028L_scode_table_6580000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_oren_5_38mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_dtv6_atsc_2633,
+ &XC3028L_scode_table_5580000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_oren_3_6mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_dtv6_atsc_2633,
+ &XC3028L_scode_table_3800000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_toyota_3_88mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_dtv6_atsc_2633,
+ &XC3028L_scode_table_4080000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv6_atsc_toyota_7_94mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_dtv6_atsc_2633,
+ &XC3028L_scode_table_8140000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv6_qam_6_0mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_dtv6_qam_2633,
+ &XC3028L_scode_table_6200000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv8_dibcom_5_2mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dtv8_2633,
+ &XC3028L_scode_table_5200000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv78_dibcom_5_2mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dtv78_2633,
+ &XC3028L_scode_table_5200000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv7_dibcom_5_2mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dtv7_2633,
+ &XC3028L_scode_table_5900000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv6_zarlink_qam_4_56mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_init,
+ &XC3028L_std_firmware_dtv6_qam_2620,
+ &XC3028L_scode_table_4760000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv8_zarlink_4_56mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dtv8_2620,
+ &XC3028L_scode_table_4560000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv78_zarlink_4_56mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dtv78_2620,
+ &XC3028L_scode_table_4560000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv7_zarlink_4_56mhz = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dtv7_2620,
+ &XC3028L_scode_table_5260000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_dtv8_china_temporary = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_init,
+ &XC3028L_std_firmware_dtv8_2633,
+ &XC3028L_scode_table_5400000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_i_pal_nicam_mono = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028L_std_firmware_i_pal_nicam_mts,
+ &XC3028L_scode_table_6000000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_a2_a_mono = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028L_std_firmware_bg_pal_a2_a_mts,
+ &XC3028L_scode_table_5320000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_nicam_a_mono = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028L_std_firmware_bg_pal_nicam_a_mts,
+ &XC3028L_scode_table_5320000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_a2_b_mono = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028L_std_firmware_bg_pal_a2_b_mts,
+ &XC3028L_scode_table_5320000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_b_g_pal_nicam_b_mono = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028L_std_firmware_bg_pal_nicam_b_mts,
+ &XC3028L_scode_table_5320000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_d_k_pal_a2_mono = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028L_std_firmware_dk_pal_a2_mts,
+ &XC3028L_scode_table_6680000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_d_k_pal_nicam_mono = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028L_std_firmware_dk_pal_nicam_mts,
+ &XC3028L_scode_table_6500000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_d_k_secam_a2_dk1_mono = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028L_std_firmware_dk_secam_a2_dk1_mts,
+ &XC3028L_scode_table_6320000
+};
+
+XC3028_TV_MODE XC3028L_tv_mode_d_k_secam_a2_l_dk3_mono = {
+ &XC3028L_base_firmware_i2c_files_base_firmwares_8mhz_mts_init,
+ &XC3028L_std_firmware_dk_secam_a2_l_dk3_mts,
+ &XC3028L_scode_table_6500000
+};
+
+
+#endif
+
diff --git a/drivers/media/video/empia/xc3028/xc3028l_scodes.h b/drivers/media/video/empia/xc3028/xc3028l_scodes.h
new file mode 100644
index 0000000..dcd05f9
--- /dev/null
+++ b/drivers/media/video/empia/xc3028/xc3028l_scodes.h
@@ -0,0 +1,664 @@
+//
+// Automatically generated C header file for
+// control of the XC3028L via the i2c interface.
+//
+// Filename : xc3028_scodes.h
+// Generated : 7/3/2007 2:48:23 PM
+//
+// (c) 2007, Xceive Corporation
+//
+
+#ifndef __XC3028L_SCODES_H
+#define __XC3028L_SCODES_H
+
+#include "xc3028_control.h"
+
+XC3028_SCODE_TABLE XC3028L_scode_table_5400000 = {
+ { 0x1E, 0x1A, 0x83, 0x25, 0xB4, 0x03, 0x6E, 0x01, 0x96, 0x86, 0xA8, 0x1C },
+ { 0x1E, 0x1E, 0x43, 0xBF, 0xE0, 0x02, 0xDB, 0xC1, 0xAA, 0x06, 0x9A, 0x24 },
+ { 0x1E, 0x1F, 0x13, 0x87, 0x18, 0x02, 0x93, 0x91, 0x44, 0x86, 0x96, 0x8C },
+ { 0x1E, 0x0B, 0x23, 0x76, 0x18, 0x02, 0x9B, 0x6D, 0x54, 0x46, 0x9A, 0x44 },
+ { 0x1E, 0x19, 0xD3, 0x00, 0xD8, 0x02, 0x9B, 0x91, 0x42, 0x86, 0xAA, 0x96 },
+ { 0x1E, 0x15, 0x32, 0xDB, 0x94, 0x02, 0x49, 0x25, 0x69, 0x86, 0x96, 0x5B },
+ { 0x1E, 0x1C, 0xF2, 0xE4, 0xB8, 0x02, 0x49, 0x25, 0x65, 0x86, 0x9A, 0x95 },
+ { 0x1E, 0x1D, 0xC2, 0xE4, 0xB4, 0x02, 0x5C, 0xA1, 0x5A, 0x46, 0x9A, 0x14 },
+ { 0x1E, 0x1E, 0xE2, 0x9B, 0x6E, 0x02, 0x52, 0x4D, 0xA9, 0x56, 0x65, 0x5A },
+ { 0x1E, 0x0D, 0x02, 0xB7, 0x18, 0x02, 0x4A, 0x49, 0xA8, 0x46, 0x65, 0x5A },
+ { 0x1E, 0x0B, 0xA2, 0x9C, 0xE0, 0x02, 0x49, 0x25, 0x9A, 0x06, 0x6A, 0x9D },
+ { 0x1E, 0x14, 0xD2, 0x94, 0xE0, 0x02, 0x9B, 0x6D, 0x99, 0x06, 0x5A, 0x94 },
+ { 0x1E, 0x01, 0x72, 0xDC, 0xB8, 0x02, 0x92, 0x49, 0xA9, 0x86, 0x65, 0xA3 },
+ { 0x1E, 0x0A, 0xA2, 0xED, 0x18, 0x02, 0xE4, 0x91, 0xA4, 0x86, 0x55, 0x59 },
+ { 0x1E, 0x14, 0x92, 0xDB, 0x6D, 0x83, 0x25, 0x01, 0x99, 0xA6, 0x54, 0x21 },
+ { 0x1E, 0x09, 0x93, 0x24, 0x90, 0x03, 0x6D, 0xA1, 0xA5, 0x46, 0x6A, 0x14 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_4760000 = {
+ { 0x1E, 0x1C, 0xF2, 0x4D, 0xE0, 0x00, 0x0B, 0x61, 0x66, 0x06, 0x69, 0x13 },
+ { 0x1E, 0x09, 0x62, 0x49, 0x29, 0x00, 0x00, 0x41, 0x66, 0xA6, 0x66, 0x23 },
+ { 0x1E, 0x09, 0xD2, 0x52, 0x92, 0x00, 0x02, 0x49, 0x6A, 0x96, 0x69, 0xA4 },
+ { 0x1E, 0x03, 0x72, 0x54, 0x92, 0x00, 0x00, 0x09, 0x65, 0x66, 0x6A, 0x95 },
+ { 0x1E, 0x0C, 0x72, 0x5C, 0x92, 0x00, 0x49, 0x25, 0x6A, 0x56, 0x59, 0x5A },
+ { 0x1E, 0x1B, 0xD2, 0x65, 0x00, 0x00, 0x52, 0x81, 0x68, 0x06, 0x5A, 0x13 },
+ { 0x1E, 0x0C, 0x82, 0x70, 0xD8, 0x00, 0x5B, 0x71, 0x52, 0x46, 0x65, 0x8B },
+ { 0x1E, 0x06, 0x32, 0x5B, 0x90, 0x00, 0x52, 0x4D, 0x5A, 0x86, 0x6A, 0x5C },
+ { 0x1E, 0x19, 0xE2, 0x93, 0x92, 0x02, 0x52, 0x49, 0x6A, 0x96, 0xAA, 0x65 },
+ { 0x1E, 0x07, 0x92, 0x92, 0x48, 0x02, 0x49, 0x49, 0x65, 0x86, 0xA9, 0x95 },
+ { 0x1E, 0x1C, 0x52, 0xA4, 0x92, 0x00, 0x01, 0x49, 0x69, 0x56, 0x56, 0x52 },
+ { 0x1E, 0x13, 0x72, 0xA8, 0x18, 0x00, 0x00, 0x01, 0x50, 0x86, 0x59, 0x4A },
+ { 0x1E, 0x19, 0xF2, 0x9C, 0x18, 0x00, 0x0B, 0xA1, 0x54, 0x86, 0x56, 0x0A },
+ { 0x1E, 0x11, 0x72, 0x93, 0x78, 0x00, 0x13, 0x91, 0x59, 0x46, 0x55, 0x49 },
+ { 0x1E, 0x03, 0x52, 0x92, 0x54, 0x00, 0x00, 0xC1, 0x55, 0x86, 0x42, 0x0A },
+ { 0x1E, 0x18, 0x52, 0x49, 0x2E, 0x00, 0x13, 0x81, 0x69, 0x96, 0x66, 0x1B }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_6580000 = {
+ { 0x1E, 0x1B, 0xE4, 0xDB, 0x92, 0x06, 0xE8, 0xC1, 0x66, 0x96, 0x92, 0x1B },
+ { 0x1E, 0x03, 0x14, 0xE5, 0xB8, 0x06, 0xDC, 0x91, 0x5A, 0x86, 0xAA, 0x9E },
+ { 0x1E, 0x0E, 0x44, 0x92, 0x4D, 0x84, 0x92, 0x51, 0x69, 0x66, 0x5A, 0x9C },
+ { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 },
+ { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 },
+ { 0x1E, 0x13, 0x54, 0x98, 0xD8, 0x04, 0xDE, 0x01, 0x52, 0x46, 0x54, 0x09 },
+ { 0x1E, 0x03, 0xD4, 0x95, 0xD8, 0x04, 0xE5, 0xA1, 0x56, 0x86, 0x65, 0x12 },
+ { 0x1E, 0x0A, 0x02, 0x49, 0x54, 0x05, 0x38, 0xC1, 0xA9, 0x86, 0x51, 0x21 },
+ { 0x1E, 0x18, 0x84, 0x9E, 0x18, 0x09, 0x36, 0xC1, 0x98, 0x46, 0x95, 0x12 },
+ { 0x1E, 0x0B, 0xD4, 0x93, 0x74, 0x06, 0xDB, 0x6D, 0x96, 0x86, 0x56, 0x9B },
+ { 0x1E, 0x09, 0xD4, 0xE7, 0x00, 0x06, 0xC6, 0x01, 0xA4, 0x06, 0x44, 0x11 },
+ { 0x1E, 0x1C, 0x54, 0xDC, 0xB8, 0x06, 0xDB, 0x91, 0x99, 0x86, 0x69, 0x5B },
+ { 0x1E, 0x1C, 0xF5, 0x28, 0x18, 0x07, 0x20, 0xC1, 0x90, 0x46, 0x62, 0x0B },
+ { 0x1E, 0x01, 0x35, 0xBF, 0x00, 0x07, 0xB6, 0xC1, 0xA8, 0x06, 0x6A, 0x1C },
+ { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B },
+ { 0x1E, 0x0A, 0x35, 0x38, 0xD8, 0x07, 0x25, 0xA1, 0x52, 0x86, 0xA6, 0x14 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_4500000 = {
+ { 0x1E, 0x09, 0x02, 0x5B, 0x6C, 0x00, 0x4B, 0x81, 0x56, 0x46, 0x69, 0x0B },
+ { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B },
+ { 0x1E, 0x1D, 0xC2, 0x52, 0x92, 0x00, 0xA4, 0x91, 0x56, 0x96, 0x66, 0x94 },
+ { 0x1E, 0x19, 0x42, 0x49, 0x54, 0x00, 0xDB, 0x6D, 0x59, 0x46, 0x55, 0x49 },
+ { 0x1E, 0x0F, 0x72, 0x4B, 0x6E, 0x00, 0xE4, 0x81, 0x5A, 0x56, 0x6A, 0x14 },
+ { 0x1E, 0x1D, 0xE2, 0x4B, 0xB4, 0x01, 0x24, 0x91, 0x55, 0x86, 0x69, 0x4B },
+ { 0x1E, 0x18, 0xD2, 0x49, 0x54, 0x01, 0x6F, 0x01, 0x56, 0x46, 0x98, 0x0B },
+ { 0x1E, 0x1B, 0xA0, 0x00, 0x09, 0x00, 0xDC, 0xA1, 0xAA, 0x96, 0x96, 0x2B },
+ { 0x1E, 0x06, 0xB2, 0x4A, 0x92, 0x00, 0x12, 0x49, 0x69, 0x56, 0x6A, 0x95 },
+ { 0x1E, 0x1A, 0x02, 0x4B, 0x00, 0x00, 0x09, 0x31, 0x64, 0x06, 0x69, 0x8C },
+ { 0x1E, 0x1E, 0xB2, 0x49, 0x6E, 0x00, 0x01, 0x49, 0x65, 0x96, 0x66, 0x94 },
+ { 0x1E, 0x0C, 0xD2, 0x53, 0x18, 0x00, 0x01, 0x29, 0x68, 0x86, 0x6A, 0x9D },
+ { 0x1E, 0x0B, 0x22, 0x52, 0x6E, 0x00, 0x4A, 0x61, 0x66, 0x66, 0x55, 0x19 },
+ { 0x1E, 0x1A, 0x12, 0x5C, 0x00, 0x00, 0x52, 0x91, 0x64, 0x06, 0x56, 0x8B },
+ { 0x1E, 0x00, 0x72, 0x6D, 0xD8, 0x00, 0x6D, 0xA1, 0x66, 0x46, 0x56, 0x12 },
+ { 0x1E, 0x09, 0xE2, 0x65, 0xD8, 0x00, 0x54, 0x91, 0x56, 0x86, 0x69, 0x94 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_4600000 = {
+ { 0x1E, 0x1A, 0x82, 0x5B, 0xD8, 0x00, 0x54, 0x91, 0x66, 0x46, 0x56, 0x93 },
+ { 0x1E, 0x0E, 0x42, 0x46, 0x00, 0x00, 0x65, 0xA1, 0x44, 0x06, 0x65, 0x02 },
+ { 0x1E, 0x1D, 0x32, 0x64, 0xD8, 0x00, 0x53, 0x71, 0x56, 0x86, 0x6A, 0x54 },
+ { 0x1E, 0x09, 0x02, 0x5B, 0x6C, 0x00, 0x4B, 0x81, 0x56, 0x46, 0x69, 0x0B },
+ { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B },
+ { 0x1E, 0x1D, 0xC2, 0x52, 0x92, 0x00, 0xA4, 0x91, 0x56, 0x96, 0x66, 0x94 },
+ { 0x1E, 0x19, 0x42, 0x49, 0x54, 0x00, 0xDB, 0x6D, 0x59, 0x46, 0x55, 0x49 },
+ { 0x1E, 0x0F, 0x72, 0x4B, 0x6E, 0x00, 0xE4, 0x81, 0x5A, 0x56, 0x6A, 0x14 },
+ { 0x1E, 0x0C, 0x32, 0x9B, 0x80, 0x00, 0x0B, 0x91, 0x55, 0x06, 0x59, 0x42 },
+ { 0x1E, 0x1F, 0x52, 0x94, 0xD8, 0x00, 0x12, 0x6D, 0x56, 0x46, 0x5A, 0x8C },
+ { 0x1E, 0x0E, 0xC2, 0x49, 0x78, 0x00, 0x1C, 0x81, 0x6A, 0x86, 0x66, 0x23 },
+ { 0x1E, 0x0D, 0x22, 0x4A, 0x50, 0x00, 0x09, 0x61, 0x69, 0x46, 0x65, 0x12 },
+ { 0x1E, 0x01, 0xB2, 0x4A, 0x78, 0x00, 0x09, 0x25, 0x66, 0x86, 0x6A, 0x9D },
+ { 0x1E, 0x11, 0x12, 0x49, 0x4D, 0x80, 0x02, 0x6D, 0x65, 0x66, 0x65, 0x52 },
+ { 0x1E, 0x18, 0xC2, 0x55, 0xA0, 0x00, 0x00, 0x25, 0x6A, 0x06, 0x69, 0x9C },
+ { 0x1E, 0x0F, 0xE2, 0x52, 0x72, 0x00, 0x4B, 0x01, 0x65, 0xA6, 0x54, 0x19 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_4320000 = {
+ { 0x1E, 0x1B, 0x22, 0x4A, 0x49, 0x00, 0x38, 0xC1, 0x55, 0x66, 0x12, 0x0A },
+ { 0x1E, 0x0C, 0x52, 0x49, 0x29, 0x81, 0x3F, 0x01, 0x55, 0xA6, 0x98, 0x13 },
+ { 0x1E, 0x0A, 0xF0, 0x00, 0x4E, 0x00, 0xEE, 0xC1, 0xAA, 0x96, 0xA9, 0x2C },
+ { 0x1E, 0x1D, 0x90, 0x00, 0x05, 0x00, 0x92, 0x49, 0xA9, 0xA6, 0x99, 0x6B },
+ { 0x1E, 0x1D, 0x20, 0x01, 0x90, 0x00, 0xA4, 0xA1, 0xAA, 0x46, 0xA5, 0x23 },
+ { 0x1E, 0x1F, 0x90, 0x02, 0x92, 0x00, 0x92, 0x49, 0xA9, 0x96, 0xA9, 0xA5 },
+ { 0x1E, 0x15, 0x90, 0x05, 0xB4, 0x00, 0x4A, 0xC1, 0xA5, 0x46, 0x9A, 0x14 },
+ { 0x1E, 0x1C, 0xC0, 0x02, 0x52, 0x00, 0x52, 0x71, 0xA5, 0x96, 0x9A, 0x5C },
+ { 0x1E, 0x1A, 0xF2, 0x5B, 0x6C, 0x00, 0x53, 0x71, 0x65, 0x46, 0x59, 0x4A },
+ { 0x1E, 0x0E, 0x42, 0x46, 0x00, 0x00, 0x65, 0xA1, 0x44, 0x06, 0x65, 0x02 },
+ { 0x1E, 0x09, 0x72, 0x5B, 0x98, 0x00, 0x49, 0x49, 0x59, 0x86, 0x65, 0x52 },
+ { 0x1E, 0x0C, 0x22, 0x52, 0xE0, 0x00, 0x49, 0x25, 0x5A, 0x06, 0x6A, 0x54 },
+ { 0x1E, 0x0D, 0x82, 0x55, 0xB4, 0x00, 0x9C, 0xC1, 0x55, 0x46, 0x5A, 0x03 },
+ { 0x1E, 0x0A, 0x62, 0x49, 0x29, 0x00, 0x9B, 0x71, 0x5A, 0x96, 0x6A, 0x5C },
+ { 0x1E, 0x0E, 0x82, 0x4A, 0x6E, 0x00, 0xED, 0xC1, 0x5A, 0x96, 0x55, 0x19 },
+ { 0x1E, 0x1B, 0x92, 0x4D, 0x18, 0x01, 0x36, 0xC1, 0x54, 0x46, 0x59, 0x02 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_6240000 = {
+ { 0x1E, 0x1B, 0x22, 0x4A, 0x4C, 0x05, 0x2F, 0x01, 0xAA, 0x86, 0x68, 0x2B },
+ { 0x1E, 0x01, 0xF2, 0x4A, 0x6E, 0x04, 0x30, 0xC1, 0xA6, 0x56, 0x11, 0x19 },
+ { 0x1E, 0x0C, 0x52, 0x52, 0x49, 0x85, 0x24, 0x81, 0xA9, 0x96, 0x99, 0x23 },
+ { 0x1E, 0x0D, 0x02, 0x52, 0x49, 0x84, 0xDB, 0x81, 0xA5, 0x66, 0x99, 0x1B },
+ { 0x1E, 0x02, 0x52, 0x6E, 0xC0, 0x04, 0xDD, 0xA1, 0xA9, 0x06, 0xA5, 0x1B },
+ { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 },
+ { 0x1E, 0x14, 0x32, 0x53, 0x6D, 0x84, 0xB0, 0xC1, 0x9A, 0x96, 0xA2, 0x24 },
+ { 0x1E, 0x01, 0xB2, 0x49, 0x25, 0x04, 0x94, 0x01, 0x9A, 0x96, 0xA4, 0x23 },
+ { 0x1E, 0x1E, 0x45, 0x2E, 0xD8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0xA9, 0x14 },
+ { 0x1E, 0x11, 0x14, 0xDE, 0x18, 0x06, 0xE5, 0xA1, 0x64, 0x86, 0x99, 0x13 },
+ { 0x1E, 0x14, 0x74, 0xED, 0xE0, 0x06, 0xDE, 0x01, 0x56, 0x06, 0xA8, 0x0C },
+ { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 },
+ { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 },
+ { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 },
+ { 0x1E, 0x19, 0x84, 0x9C, 0xB4, 0x04, 0xDB, 0x6D, 0x55, 0x46, 0x59, 0x42 },
+ { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_5640000 = {
+ { 0x1E, 0x1B, 0xD2, 0x9B, 0x92, 0x02, 0x96, 0xC1, 0x96, 0x56, 0x59, 0x12 },
+ { 0x1E, 0x15, 0x32, 0x93, 0x6E, 0x02, 0xA8, 0xC1, 0x95, 0x66, 0x61, 0x12 },
+ { 0x1E, 0x0A, 0x42, 0xDC, 0x92, 0x02, 0x94, 0x91, 0xA6, 0x56, 0x65, 0x9B },
+ { 0x1E, 0x1E, 0x72, 0xC7, 0x00, 0x02, 0xEF, 0x01, 0x84, 0x06, 0x58, 0x0A },
+ { 0x1E, 0x09, 0x32, 0xDD, 0xA0, 0x03, 0x2E, 0xC1, 0x9A, 0x06, 0x55, 0x19 },
+ { 0x1E, 0x03, 0x53, 0x2D, 0xA0, 0x03, 0xB0, 0x01, 0xA6, 0x06, 0x60, 0x1A },
+ { 0x1E, 0x0A, 0xB3, 0x24, 0xB4, 0x03, 0x20, 0xC1, 0x95, 0x46, 0x92, 0x0B },
+ { 0x1E, 0x1F, 0xC3, 0x86, 0x00, 0x02, 0xE7, 0x01, 0x84, 0x06, 0x98, 0x0B },
+ { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 },
+ { 0x1E, 0x1D, 0xA2, 0x57, 0x18, 0x04, 0x9B, 0x6D, 0x94, 0x86, 0xA5, 0x94 },
+ { 0x1E, 0x1A, 0xA2, 0x49, 0x26, 0x02, 0x49, 0x29, 0x99, 0xA6, 0x55, 0x61 },
+ { 0x1E, 0x1D, 0x62, 0x4B, 0x6E, 0x02, 0x4A, 0xA1, 0x96, 0x56, 0x5A, 0x13 },
+ { 0x1E, 0x00, 0xB2, 0x49, 0x24, 0x82, 0x53, 0xA1, 0x95, 0xA6, 0x5A, 0x1B },
+ { 0x1E, 0x03, 0xD2, 0x93, 0xB4, 0x02, 0x6E, 0x01, 0xA5, 0x86, 0x68, 0x1B },
+ { 0x1E, 0x16, 0xD2, 0x9B, 0x6E, 0x02, 0x53, 0x01, 0xA5, 0x96, 0x68, 0x1B },
+ { 0x1E, 0x1E, 0x42, 0xAD, 0x00, 0x02, 0x4B, 0x91, 0x94, 0x06, 0x69, 0x4B }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_5740000 = {
+ { 0x1E, 0x0A, 0xE2, 0x9E, 0xD8, 0x02, 0x52, 0x41, 0xA9, 0x86, 0x66, 0x23 },
+ { 0x1E, 0x13, 0xB2, 0x86, 0xD8, 0x02, 0x4A, 0x71, 0x89, 0x86, 0x66, 0x5B },
+ { 0x1E, 0x0B, 0xA2, 0x9C, 0xE0, 0x02, 0x49, 0x25, 0x9A, 0x06, 0x6A, 0x9D },
+ { 0x1E, 0x0E, 0x82, 0x93, 0xA0, 0x02, 0x9C, 0x91, 0x99, 0x06, 0x59, 0x93 },
+ { 0x1E, 0x1C, 0xF2, 0xDB, 0x92, 0x02, 0x9B, 0x6D, 0xA9, 0x56, 0x69, 0x9C },
+ { 0x1E, 0x1C, 0x42, 0xED, 0x18, 0x02, 0xDD, 0xC1, 0xA8, 0x86, 0x5A, 0x23 },
+ { 0x1E, 0x1B, 0x32, 0xE5, 0xD8, 0x02, 0xDD, 0xA1, 0x96, 0x46, 0x65, 0x12 },
+ { 0x1E, 0x1C, 0x53, 0x26, 0xC0, 0x03, 0x70, 0xC1, 0xAA, 0x06, 0x52, 0x22 },
+ { 0x1E, 0x0F, 0xF2, 0x52, 0x49, 0x04, 0xDC, 0x81, 0xA6, 0x56, 0x95, 0x1A },
+ { 0x1E, 0x0A, 0x12, 0x65, 0xD8, 0x04, 0xDB, 0x6D, 0xA5, 0x46, 0xA5, 0x53 },
+ { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 },
+ { 0x1E, 0x0F, 0x22, 0x53, 0x6C, 0x04, 0xA4, 0x91, 0x99, 0x86, 0xA5, 0x5B },
+ { 0x1E, 0x0B, 0x22, 0x49, 0x49, 0x04, 0x94, 0xA1, 0x9A, 0xA6, 0xA9, 0x2C },
+ { 0x1E, 0x18, 0xF2, 0x4D, 0x00, 0x02, 0x4B, 0xA1, 0x94, 0x06, 0x5A, 0x0B },
+ { 0x1E, 0x1E, 0x72, 0x49, 0xB4, 0x02, 0x56, 0xC1, 0x95, 0x86, 0x56, 0x12 },
+ { 0x1E, 0x1C, 0x12, 0x95, 0x18, 0x02, 0x6D, 0xC1, 0xA8, 0x46, 0x55, 0x19 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_6000000 = {
+ { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 },
+ { 0x1E, 0x1D, 0xA2, 0x57, 0x18, 0x04, 0x9B, 0x6D, 0x94, 0x86, 0xA5, 0x94 },
+ { 0x1E, 0x16, 0xF2, 0x49, 0x72, 0x04, 0x92, 0xA1, 0x99, 0x66, 0xAA, 0x1D },
+ { 0x1E, 0x18, 0xF2, 0x4D, 0x00, 0x02, 0x4B, 0xA1, 0x94, 0x06, 0x5A, 0x0B },
+ { 0x1E, 0x1E, 0x72, 0x49, 0xB4, 0x02, 0x56, 0xC1, 0x95, 0x86, 0x56, 0x12 },
+ { 0x1E, 0x09, 0x22, 0x94, 0x98, 0x02, 0x46, 0x01, 0xA6, 0x46, 0x44, 0x19 },
+ { 0x1E, 0x0A, 0xE2, 0x9E, 0xD8, 0x02, 0x52, 0x41, 0xA9, 0x86, 0x66, 0x23 },
+ { 0x1E, 0x0D, 0x02, 0xB7, 0x18, 0x02, 0x4A, 0x49, 0xA8, 0x46, 0x65, 0x5A },
+ { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 },
+ { 0x1E, 0x19, 0x84, 0x9C, 0xB4, 0x04, 0xDB, 0x6D, 0x55, 0x46, 0x59, 0x42 },
+ { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A },
+ { 0x1E, 0x0C, 0x42, 0x4A, 0x80, 0x05, 0x25, 0xC1, 0xAA, 0x06, 0x65, 0x22 },
+ { 0x1E, 0x07, 0x72, 0x4A, 0x49, 0x85, 0xFF, 0x01, 0xA5, 0x56, 0x94, 0x12 },
+ { 0x1E, 0x0A, 0xB2, 0x53, 0x92, 0x05, 0x2E, 0x01, 0xAA, 0x66, 0x98, 0x2B },
+ { 0x1E, 0x1C, 0x32, 0x5C, 0x92, 0x04, 0xE4, 0x91, 0xA9, 0xA6, 0x99, 0xAC },
+ { 0x1E, 0x12, 0xD2, 0x7F, 0xE0, 0x04, 0xDB, 0x81, 0xA6, 0x06, 0xAA, 0x1D }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_6600000 = {
+ { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C },
+ { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 },
+ { 0x1E, 0x09, 0x04, 0xDC, 0x80, 0x04, 0x95, 0xA1, 0x55, 0x06, 0x59, 0x02 },
+ { 0x1E, 0x1D, 0x84, 0x93, 0x18, 0x04, 0xA4, 0xA1, 0x64, 0x86, 0x56, 0x12 },
+ { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 },
+ { 0x1E, 0x1A, 0x74, 0xA6, 0x18, 0x04, 0x92, 0x49, 0x54, 0x46, 0x69, 0x43 },
+ { 0x1E, 0x19, 0x34, 0x92, 0x60, 0x04, 0xE8, 0xC1, 0x59, 0x06, 0x51, 0x09 },
+ { 0x1E, 0x0A, 0x54, 0x92, 0x4E, 0x04, 0xDB, 0x01, 0x55, 0x56, 0x68, 0x03 },
+ { 0x1E, 0x02, 0x94, 0xA4, 0xD8, 0x09, 0x24, 0xC1, 0x9A, 0x46, 0x95, 0x1A },
+ { 0x1E, 0x06, 0x54, 0x93, 0x6C, 0x09, 0x25, 0xC1, 0x9A, 0x46, 0xA5, 0x1B },
+ { 0x1E, 0x1B, 0xB4, 0xDD, 0xD8, 0x06, 0xE5, 0xC1, 0xA6, 0x46, 0x5A, 0x1B },
+ { 0x1E, 0x10, 0x74, 0xE7, 0x18, 0x06, 0xDC, 0x91, 0x98, 0x86, 0x65, 0x5A },
+ { 0x1E, 0x15, 0x75, 0x2F, 0xE0, 0x07, 0x06, 0xC1, 0xA5, 0x06, 0x4A, 0x13 },
+ { 0x1E, 0x12, 0xD5, 0x46, 0x18, 0x07, 0x6E, 0xC1, 0x88, 0x86, 0x65, 0x1A },
+ { 0x1E, 0x1D, 0x05, 0xF8, 0xD8, 0x07, 0xB6, 0xC1, 0x51, 0x86, 0xA5, 0x0B },
+ { 0x1E, 0x04, 0xD5, 0x25, 0xB8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0x99, 0x13 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_6340000 = {
+ { 0x1E, 0x13, 0x54, 0x98, 0xD8, 0x04, 0xDE, 0x01, 0x52, 0x46, 0x54, 0x09 },
+ { 0x1E, 0x18, 0xE4, 0x93, 0x92, 0x04, 0xDB, 0xA1, 0x55, 0x96, 0x65, 0x0A },
+ { 0x1E, 0x02, 0x92, 0x49, 0x2C, 0x05, 0x30, 0xC1, 0xA9, 0x46, 0x62, 0x1B },
+ { 0x1E, 0x1A, 0x82, 0x4B, 0x72, 0x05, 0xB6, 0xC1, 0xA5, 0xA6, 0x69, 0x23 },
+ { 0x1E, 0x10, 0xD2, 0x52, 0x4E, 0x05, 0x6E, 0xC1, 0xAA, 0x66, 0xA9, 0x2C },
+ { 0x1E, 0x0F, 0xF2, 0x52, 0x49, 0x04, 0xDC, 0x81, 0xA6, 0x56, 0x95, 0x1A },
+ { 0x1E, 0x1B, 0xE2, 0x67, 0x18, 0x04, 0xE6, 0x01, 0xA8, 0x86, 0xA8, 0x24 },
+ { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 },
+ { 0x1E, 0x1A, 0x05, 0x76, 0xC0, 0x07, 0xB6, 0x01, 0x99, 0x06, 0x54, 0x11 },
+ { 0x1E, 0x0B, 0x15, 0x86, 0x00, 0x07, 0x68, 0xC1, 0x48, 0x06, 0x91, 0x0A },
+ { 0x1E, 0x1E, 0x45, 0x2E, 0xD8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0xA9, 0x14 },
+ { 0x1E, 0x11, 0x14, 0xDE, 0x18, 0x06, 0xE5, 0xA1, 0x64, 0x86, 0x99, 0x13 },
+ { 0x1E, 0x1F, 0xE4, 0xED, 0xB8, 0x06, 0xDC, 0x81, 0x59, 0x86, 0xA6, 0x14 },
+ { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 },
+ { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 },
+ { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_6200000 = {
+ { 0x1E, 0x1A, 0x82, 0x4B, 0x72, 0x05, 0xB6, 0xC1, 0xA5, 0xA6, 0x69, 0x23 },
+ { 0x1E, 0x10, 0xD2, 0x52, 0x4E, 0x05, 0x6E, 0xC1, 0xAA, 0x66, 0xA9, 0x2C },
+ { 0x1E, 0x0A, 0x62, 0x52, 0x98, 0x04, 0xDE, 0xC1, 0xA5, 0x86, 0x99, 0x1B },
+ { 0x1E, 0x0A, 0x12, 0x65, 0xD8, 0x04, 0xDB, 0x6D, 0xA5, 0x46, 0xA5, 0x53 },
+ { 0x1E, 0x06, 0x52, 0x66, 0xC0, 0x04, 0x93, 0x81, 0x96, 0x06, 0x99, 0x13 },
+ { 0x1E, 0x1C, 0xF2, 0x52, 0x70, 0x04, 0xBF, 0x01, 0x99, 0x46, 0x98, 0x13 },
+ { 0x1E, 0x1D, 0x52, 0x52, 0x50, 0x04, 0x93, 0xA1, 0x95, 0x86, 0xA5, 0x13 },
+ { 0x1E, 0x1D, 0xB2, 0x4A, 0x90, 0x02, 0x49, 0x25, 0x99, 0x86, 0x56, 0x9B },
+ { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C },
+ { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 },
+ { 0x1E, 0x16, 0x54, 0xDB, 0x92, 0x04, 0x93, 0x61, 0x55, 0x96, 0x59, 0x0A },
+ { 0x1E, 0x0A, 0x44, 0x92, 0xD8, 0x04, 0xAD, 0xC1, 0x66, 0x86, 0x56, 0x1A },
+ { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 },
+ { 0x1E, 0x19, 0xD4, 0x9C, 0xE0, 0x04, 0xDB, 0x71, 0x5A, 0x06, 0x56, 0x52 },
+ { 0x1E, 0x03, 0xD4, 0x95, 0xD8, 0x04, 0xE5, 0xA1, 0x56, 0x86, 0x65, 0x12 },
+ { 0x1E, 0x02, 0x92, 0x49, 0x2C, 0x05, 0x30, 0xC1, 0xA9, 0x46, 0x62, 0x1B }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_5580000 = {
+ { 0x1E, 0x1F, 0x72, 0x92, 0x60, 0x02, 0x9B, 0x91, 0x95, 0x06, 0x65, 0x8B },
+ { 0x1E, 0x08, 0xD2, 0xE7, 0x00, 0x02, 0x92, 0x4D, 0xA8, 0x06, 0x6A, 0x9D },
+ { 0x1E, 0x06, 0x32, 0xE5, 0xB8, 0x02, 0xDB, 0x71, 0x99, 0x86, 0x65, 0x9B },
+ { 0x1E, 0x19, 0x63, 0x24, 0x80, 0x03, 0x24, 0x01, 0xAA, 0x06, 0x68, 0x23 },
+ { 0x1E, 0x04, 0x13, 0x2D, 0xB8, 0x03, 0x86, 0x01, 0x99, 0x46, 0x88, 0x13 },
+ { 0x1E, 0x1C, 0x03, 0x76, 0x18, 0x03, 0x27, 0x01, 0x98, 0x86, 0xA8, 0x1C },
+ { 0x1E, 0x10, 0x32, 0x00, 0x00, 0x02, 0xE4, 0x81, 0x00, 0x06, 0xA9, 0x04 },
+ { 0x1E, 0x0D, 0x03, 0x6E, 0xD8, 0x02, 0x93, 0x81, 0x69, 0x86, 0x9A, 0x1C },
+ { 0x1E, 0x0C, 0x22, 0x52, 0x4D, 0x84, 0x92, 0x49, 0x96, 0x66, 0xA5, 0x5B },
+ { 0x1E, 0x1D, 0xB2, 0x4A, 0x90, 0x02, 0x49, 0x25, 0x99, 0x86, 0x56, 0x9B },
+ { 0x1E, 0x19, 0xA2, 0x4A, 0x98, 0x02, 0x49, 0x4D, 0x95, 0x46, 0x5A, 0x4B },
+ { 0x1E, 0x0A, 0x82, 0x92, 0x49, 0x82, 0x5E, 0x01, 0xA9, 0xA6, 0x58, 0x2A },
+ { 0x1E, 0x0B, 0x92, 0x92, 0x58, 0x02, 0x5E, 0x01, 0xA5, 0x46, 0x64, 0x12 },
+ { 0x1E, 0x08, 0x72, 0xA6, 0xD8, 0x02, 0x49, 0x29, 0xA5, 0x86, 0x65, 0x5A },
+ { 0x1E, 0x09, 0x82, 0xA4, 0xB4, 0x02, 0x49, 0x25, 0x96, 0x46, 0x69, 0x94 },
+ { 0x1E, 0x0F, 0x92, 0x93, 0x6D, 0x82, 0x9C, 0x81, 0x9A, 0xA6, 0x56, 0x2A }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_3800000 = {
+ { 0x1E, 0x1A, 0x80, 0x10, 0xD8, 0x00, 0x0A, 0x6D, 0xA2, 0x46, 0xA9, 0x9D },
+ { 0x1E, 0x0D, 0x70, 0x12, 0x18, 0x00, 0x01, 0x25, 0xA4, 0x46, 0xA5, 0x53 },
+ { 0x1E, 0x12, 0xF0, 0x1D, 0xD8, 0x00, 0x02, 0x71, 0xAA, 0x46, 0xAA, 0x65 },
+ { 0x1E, 0x09, 0xC0, 0x25, 0xE0, 0x12, 0x49, 0x49, 0xA9, 0x05, 0x55, 0x58 },
+ { 0x1E, 0x0D, 0x00, 0x2D, 0xD8, 0x12, 0x4C, 0x81, 0xAA, 0x45, 0x56, 0x21 },
+ { 0x1E, 0x1D, 0xE0, 0x24, 0x92, 0x12, 0x5D, 0xA1, 0x9A, 0x55, 0x56, 0x19 },
+ { 0x1E, 0x08, 0xB0, 0x1B, 0xB8, 0x12, 0x5B, 0x91, 0x9A, 0x45, 0x65, 0x59 },
+ { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A },
+ { 0x1E, 0x16, 0x30, 0x00, 0x29, 0x00, 0x49, 0x49, 0xA6, 0x56, 0xA6, 0x5C },
+ { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 },
+ { 0x1E, 0x0F, 0x30, 0x09, 0x40, 0x00, 0x02, 0x71, 0xA9, 0x06, 0x99, 0x9C },
+ { 0x1E, 0x04, 0x90, 0x0A, 0x92, 0x00, 0x00, 0x41, 0xAA, 0x56, 0x99, 0x23 },
+ { 0x1E, 0x1A, 0xF0, 0x08, 0xD8, 0x00, 0x0D, 0x01, 0xA1, 0x46, 0x98, 0x13 },
+ { 0x1E, 0x0A, 0x30, 0x0A, 0xB8, 0x00, 0x13, 0x71, 0xA5, 0x46, 0x99, 0x53 },
+ { 0x1E, 0x05, 0x30, 0x09, 0x6D, 0x80, 0x24, 0xC1, 0xA5, 0xA6, 0xA6, 0x24 },
+ { 0x1E, 0x0D, 0xE0, 0x12, 0xA0, 0x00, 0x13, 0xC1, 0xAA, 0x06, 0xAA, 0x25 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_4080000 = {
+ { 0x1E, 0x1E, 0x40, 0x01, 0x6E, 0x00, 0x6D, 0xC1, 0xA5, 0x66, 0xAA, 0x1D },
+ { 0x1E, 0x04, 0xF0, 0x00, 0x00, 0x80, 0x52, 0x51, 0xA6, 0x66, 0xA9, 0xA5 },
+ { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 },
+ { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 },
+ { 0x1E, 0x0E, 0x30, 0x09, 0x29, 0x00, 0x01, 0x49, 0xA9, 0x96, 0x99, 0x63 },
+ { 0x1E, 0x13, 0xD0, 0x0B, 0x6D, 0x80, 0x00, 0x01, 0xAA, 0xA6, 0x9A, 0xB5 },
+ { 0x1E, 0x0D, 0x40, 0x0B, 0x78, 0x00, 0x09, 0x29, 0xA6, 0x86, 0x99, 0xA4 },
+ { 0x1E, 0x02, 0x10, 0x0A, 0x4E, 0x00, 0x1B, 0x71, 0xA5, 0x66, 0x95, 0x5A },
+ { 0x1E, 0x1D, 0xE2, 0x4B, 0xB4, 0x01, 0x24, 0x91, 0x55, 0x86, 0x69, 0x4B },
+ { 0x1E, 0x18, 0xD2, 0x49, 0x54, 0x01, 0x6F, 0x01, 0x56, 0x46, 0x98, 0x0B },
+ { 0x1E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xE0, 0xC1, 0xAA, 0x56, 0x92, 0x23 },
+ { 0x1E, 0x09, 0x10, 0x00, 0x2E, 0x00, 0x92, 0x41, 0xA9, 0xA6, 0x96, 0x2B },
+ { 0x1E, 0x0C, 0xE0, 0x01, 0x29, 0x00, 0xAD, 0xC1, 0xAA, 0x56, 0x95, 0x22 },
+ { 0x1E, 0x01, 0x70, 0x02, 0x50, 0x00, 0x93, 0x61, 0xAA, 0x86, 0xA6, 0x2C },
+ { 0x1E, 0x1F, 0x20, 0x07, 0xE0, 0x00, 0x4C, 0x01, 0xAA, 0x06, 0x98, 0x23 },
+ { 0x1E, 0x06, 0xD0, 0x02, 0x80, 0x00, 0x53, 0x81, 0xA5, 0x06, 0x99, 0x13 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_8140000 = {
+ { 0x1E, 0x13, 0x9B, 0x86, 0xE0, 0x01, 0xF8, 0xC2, 0x49, 0x04, 0x92, 0x12 },
+ { 0x1E, 0x0E, 0x4C, 0x00, 0xD8, 0x00, 0x38, 0x02, 0x02, 0x84, 0x20, 0x19 },
+ { 0x1E, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x04, 0x02, 0x01 },
+ { 0x1E, 0x17, 0xBD, 0xB0, 0xD8, 0x00, 0x06, 0xC1, 0x91, 0x44, 0x0A, 0x0A },
+ { 0x1E, 0x1D, 0x0D, 0x87, 0x18, 0x00, 0x36, 0xC1, 0x44, 0x84, 0x26, 0x0A },
+ { 0x1E, 0x0B, 0x2A, 0x06, 0xD8, 0x01, 0xC0, 0x01, 0x06, 0x84, 0x80, 0x11 },
+ { 0x1E, 0x02, 0x59, 0x25, 0xD8, 0x01, 0x86, 0xC1, 0xAA, 0x44, 0x85, 0x21 },
+ { 0x1E, 0x15, 0x99, 0x6E, 0xC0, 0x0F, 0xC6, 0x01, 0xA6, 0x06, 0x44, 0x19 },
+ { 0x1E, 0x08, 0xC7, 0x6D, 0xB4, 0x0B, 0xB0, 0xC2, 0x96, 0x86, 0x92, 0x23 },
+ { 0x1E, 0x1A, 0x87, 0x7F, 0x18, 0x0B, 0xBF, 0x02, 0x64, 0x46, 0x64, 0x12 },
+ { 0x1E, 0x00, 0xF7, 0x24, 0xE0, 0x0B, 0x6D, 0xC2, 0x56, 0x06, 0x59, 0x12 },
+ { 0x1E, 0x05, 0x76, 0xE6, 0xC0, 0x0C, 0x36, 0xC2, 0x5A, 0x06, 0x25, 0x1A },
+ { 0x1E, 0x0D, 0x19, 0x3F, 0x18, 0x0D, 0x86, 0xC2, 0x94, 0x46, 0x4A, 0x13 },
+ { 0x1E, 0x0E, 0x19, 0xC6, 0xE0, 0x0E, 0x38, 0xC2, 0x8A, 0x06, 0x22, 0x23 },
+ { 0x1E, 0x19, 0xE9, 0x6D, 0xB4, 0x0F, 0xFF, 0x02, 0x56, 0x46, 0x58, 0x12 },
+ { 0x1E, 0x0A, 0x8B, 0x46, 0xD8, 0x01, 0xB6, 0xC2, 0x89, 0x84, 0x99, 0x22 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_5900000 = {
+ { 0x1E, 0x1D, 0x02, 0x49, 0x24, 0x82, 0x49, 0x49, 0x99, 0x66, 0x55, 0x9A },
+ { 0x1E, 0x12, 0x92, 0x4A, 0x4E, 0x02, 0x49, 0x25, 0x96, 0x96, 0x59, 0x9B },
+ { 0x1E, 0x0D, 0x42, 0x92, 0x54, 0x02, 0x52, 0x51, 0xAA, 0x86, 0x5A, 0xAC },
+ { 0x1E, 0x03, 0xD2, 0x93, 0xB4, 0x02, 0x6E, 0x01, 0xA5, 0x86, 0x68, 0x1B },
+ { 0x1E, 0x16, 0xD2, 0x9B, 0x6E, 0x02, 0x53, 0x01, 0xA5, 0x96, 0x68, 0x1B },
+ { 0x1E, 0x1A, 0x62, 0xAE, 0x18, 0x02, 0x4E, 0xC1, 0x98, 0x86, 0x69, 0x1B },
+ { 0x1E, 0x01, 0x12, 0x9D, 0xC0, 0x02, 0x93, 0x71, 0x96, 0x06, 0x55, 0x51 },
+ { 0x1E, 0x18, 0xA2, 0x94, 0xB8, 0x02, 0xAD, 0xC1, 0x96, 0x46, 0x59, 0x12 },
+ { 0x1E, 0x0D, 0xD4, 0x92, 0x6C, 0x04, 0xDD, 0x01, 0x56, 0x86, 0x64, 0x12 },
+ { 0x1E, 0x07, 0x12, 0x4A, 0x4A, 0x05, 0x24, 0xA1, 0xA9, 0xA6, 0x69, 0x2B },
+ { 0x1E, 0x09, 0x62, 0x49, 0x2D, 0x85, 0xC6, 0x01, 0xA6, 0xA6, 0x88, 0x2B },
+ { 0x1E, 0x1C, 0xD2, 0x55, 0xA0, 0x05, 0x30, 0xC1, 0xA9, 0x06, 0xA2, 0x1C },
+ { 0x1E, 0x14, 0x72, 0x5F, 0x18, 0x04, 0xEE, 0xC1, 0xA4, 0x86, 0x9A, 0x1C },
+ { 0x1E, 0x1B, 0x92, 0x6D, 0xB4, 0x04, 0x92, 0x51, 0x9A, 0x86, 0x96, 0xA4 },
+ { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 },
+ { 0x1E, 0x0E, 0xD2, 0x53, 0xC0, 0x04, 0x9C, 0xC1, 0x95, 0x06, 0xA9, 0x0C }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_5260000 = {
+ { 0x1E, 0x04, 0x93, 0x24, 0x92, 0x02, 0xAD, 0x01, 0x66, 0xA6, 0xA8, 0x24 },
+ { 0x1E, 0x0F, 0x63, 0x25, 0xD8, 0x02, 0x92, 0x51, 0x59, 0x86, 0xA9, 0x95 },
+ { 0x1E, 0x1F, 0xA2, 0xDB, 0x6D, 0x82, 0x4A, 0xA1, 0x65, 0x96, 0x99, 0x13 },
+ { 0x1E, 0x08, 0xE2, 0xF6, 0xD8, 0x02, 0x52, 0x91, 0x59, 0x86, 0x99, 0x94 },
+ { 0x1E, 0x1E, 0x92, 0xDC, 0x98, 0x02, 0x66, 0xC1, 0x59, 0x46, 0xA9, 0x0C },
+ { 0x1E, 0x0C, 0x72, 0x92, 0x52, 0x02, 0x52, 0x4D, 0x69, 0x56, 0xA9, 0x95 },
+ { 0x1E, 0x09, 0xB2, 0x92, 0x49, 0x02, 0x4B, 0x91, 0x66, 0xA6, 0xA9, 0xA5 },
+ { 0x1E, 0x1E, 0x52, 0x9B, 0x70, 0x00, 0x01, 0x49, 0x65, 0x46, 0x55, 0x49 },
+ { 0x1E, 0x15, 0x32, 0x93, 0x6E, 0x02, 0xA8, 0xC1, 0x95, 0x66, 0x61, 0x12 },
+ { 0x1E, 0x13, 0x12, 0xDB, 0x6E, 0x02, 0x95, 0x01, 0xA6, 0x56, 0x68, 0x1B },
+ { 0x1E, 0x1A, 0xD2, 0xF6, 0x18, 0x02, 0xF8, 0xC1, 0x98, 0x86, 0x51, 0x19 },
+ { 0x1E, 0x0E, 0x52, 0xDC, 0xB4, 0x03, 0x37, 0x01, 0x96, 0x86, 0x64, 0x1A },
+ { 0x1E, 0x1D, 0x73, 0x07, 0xE0, 0x02, 0x3F, 0x01, 0x89, 0x06, 0x24, 0x12 },
+ { 0x1E, 0x1B, 0xA3, 0x40, 0xE0, 0x03, 0x2D, 0xC1, 0x82, 0x06, 0xA9, 0x14 },
+ { 0x1E, 0x10, 0x32, 0x00, 0x00, 0x02, 0xE4, 0x81, 0x00, 0x06, 0xA9, 0x04 },
+ { 0x1E, 0x0D, 0x03, 0x6E, 0xD8, 0x02, 0x93, 0x81, 0x69, 0x86, 0x9A, 0x1C }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_5320000 = {
+ { 0x1E, 0x1F, 0x13, 0x87, 0x18, 0x02, 0x93, 0x91, 0x44, 0x86, 0x96, 0x8C },
+ { 0x1E, 0x0B, 0x23, 0x76, 0x18, 0x02, 0x9B, 0x6D, 0x54, 0x46, 0x9A, 0x44 },
+ { 0x1E, 0x19, 0xD3, 0x00, 0xD8, 0x02, 0x9B, 0x91, 0x42, 0x86, 0xAA, 0x96 },
+ { 0x1E, 0x09, 0x42, 0xDC, 0xE0, 0x02, 0x4A, 0x71, 0x69, 0x06, 0x95, 0x93 },
+ { 0x1E, 0x1C, 0xF2, 0xE4, 0xB8, 0x02, 0x49, 0x25, 0x65, 0x86, 0x9A, 0x95 },
+ { 0x1E, 0x0C, 0x02, 0xE7, 0xE0, 0x02, 0x65, 0x01, 0x5A, 0x06, 0x94, 0x12 },
+ { 0x1E, 0x18, 0xB2, 0xDB, 0x6E, 0x02, 0x5B, 0x81, 0x56, 0x66, 0xAA, 0x15 },
+ { 0x1E, 0x01, 0x32, 0x90, 0xD8, 0x02, 0x4A, 0x51, 0x61, 0x46, 0xA5, 0x4B },
+ { 0x1E, 0x1E, 0xA2, 0x9B, 0xE0, 0x02, 0x49, 0x6D, 0x99, 0x06, 0x6A, 0x95 },
+ { 0x1E, 0x0E, 0x82, 0x93, 0xA0, 0x02, 0x9C, 0x91, 0x99, 0x06, 0x59, 0x93 },
+ { 0x1E, 0x1C, 0xF2, 0xDB, 0x92, 0x02, 0x9B, 0x6D, 0xA9, 0x56, 0x69, 0x9C },
+ { 0x1E, 0x1C, 0x42, 0xED, 0x18, 0x02, 0xDD, 0xC1, 0xA8, 0x86, 0x5A, 0x23 },
+ { 0x1E, 0x02, 0x32, 0xE4, 0x98, 0x02, 0xDC, 0xC1, 0x95, 0x86, 0x6A, 0x14 },
+ { 0x1E, 0x09, 0x93, 0x24, 0x90, 0x03, 0x6D, 0xA1, 0xA5, 0x46, 0x6A, 0x14 },
+ { 0x1E, 0x1A, 0x83, 0x25, 0xB4, 0x03, 0x6E, 0x01, 0x96, 0x86, 0xA8, 0x1C },
+ { 0x1E, 0x1E, 0x43, 0xBF, 0xE0, 0x02, 0xDB, 0xC1, 0xAA, 0x06, 0x9A, 0x24 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_6680000 = {
+ { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B },
+ { 0x1E, 0x0A, 0x35, 0x38, 0xD8, 0x07, 0x25, 0xA1, 0x52, 0x86, 0xA6, 0x14 },
+ { 0x1E, 0x1B, 0xE4, 0xDB, 0x92, 0x06, 0xE8, 0xC1, 0x66, 0x96, 0x92, 0x1B },
+ { 0x1E, 0x03, 0x14, 0xE5, 0xB8, 0x06, 0xDC, 0x91, 0x5A, 0x86, 0xAA, 0x9E },
+ { 0x1E, 0x12, 0x54, 0x92, 0xB4, 0x04, 0x92, 0x71, 0x6A, 0x86, 0x59, 0xA3 },
+ { 0x1E, 0x0A, 0xE4, 0x9B, 0x94, 0x04, 0x80, 0xC1, 0x6A, 0x46, 0x41, 0x19 },
+ { 0x1E, 0x1E, 0xD4, 0xB6, 0x18, 0x04, 0x92, 0xA1, 0x64, 0x86, 0x66, 0x13 },
+ { 0x1E, 0x19, 0xD4, 0x9C, 0xE0, 0x04, 0xDB, 0x71, 0x5A, 0x06, 0x56, 0x52 },
+ { 0x1E, 0x00, 0x94, 0x93, 0x90, 0x09, 0xC6, 0x01, 0xA6, 0x46, 0x48, 0x1A },
+ { 0x1E, 0x07, 0xF4, 0xA4, 0xB8, 0x09, 0x6E, 0xC1, 0xA6, 0x46, 0x9A, 0x1C },
+ { 0x1E, 0x18, 0x84, 0x9E, 0x18, 0x09, 0x36, 0xC1, 0x98, 0x46, 0x95, 0x12 },
+ { 0x1E, 0x1D, 0xB4, 0x93, 0x6D, 0x86, 0xDD, 0xC1, 0x95, 0x66, 0x56, 0x12 },
+ { 0x1E, 0x1A, 0x44, 0xED, 0xB8, 0x06, 0xF0, 0xC1, 0xA9, 0x46, 0x62, 0x1B },
+ { 0x1E, 0x06, 0x74, 0xDE, 0xD8, 0x07, 0x24, 0x91, 0x96, 0x46, 0x55, 0x51 },
+ { 0x1E, 0x13, 0xB5, 0x24, 0x18, 0x07, 0x24, 0x01, 0x98, 0x46, 0x68, 0x13 },
+ { 0x1E, 0x0B, 0xF5, 0xB6, 0xD8, 0x06, 0x36, 0xC1, 0x9A, 0x86, 0x15, 0x21 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_6500000 = {
+ { 0x1E, 0x09, 0x04, 0xDC, 0x80, 0x04, 0x95, 0xA1, 0x55, 0x06, 0x59, 0x02 },
+ { 0x1E, 0x09, 0xF4, 0x93, 0x72, 0x04, 0xA7, 0x01, 0x65, 0x66, 0x54, 0x11 },
+ { 0x1E, 0x00, 0x54, 0xA5, 0xC0, 0x04, 0x9D, 0x01, 0x66, 0x06, 0x68, 0x13 },
+ { 0x1E, 0x0E, 0xB4, 0xA4, 0x00, 0x04, 0x92, 0x81, 0x54, 0x06, 0x69, 0x03 },
+ { 0x1E, 0x04, 0x74, 0x93, 0x6C, 0x04, 0xF8, 0x01, 0x5A, 0x46, 0x50, 0x11 },
+ { 0x1E, 0x0D, 0x32, 0x49, 0x2C, 0x05, 0x25, 0xA1, 0xAA, 0x46, 0x55, 0x21 },
+ { 0x1E, 0x17, 0x92, 0x4D, 0xB8, 0x05, 0x70, 0xC1, 0xA9, 0x86, 0x62, 0x23 },
+ { 0x1E, 0x03, 0x92, 0x49, 0x52, 0x05, 0x80, 0xC1, 0xA6, 0x66, 0x82, 0x23 },
+ { 0x1E, 0x02, 0x54, 0xDE, 0x18, 0x06, 0xE0, 0xC1, 0xA8, 0x86, 0x51, 0x21 },
+ { 0x1E, 0x1D, 0xC4, 0xED, 0xD8, 0x06, 0xE5, 0x01, 0x9A, 0x86, 0x68, 0x23 },
+ { 0x1E, 0x1F, 0x95, 0x24, 0xB8, 0x07, 0x36, 0xC1, 0xA5, 0x86, 0x5A, 0x1B },
+ { 0x1E, 0x12, 0xD5, 0x46, 0x18, 0x07, 0x6E, 0xC1, 0x88, 0x86, 0x65, 0x1A },
+ { 0x1E, 0x06, 0x95, 0xFF, 0x00, 0x07, 0x86, 0x01, 0x64, 0x06, 0x84, 0x0A },
+ { 0x1E, 0x04, 0xD5, 0x25, 0xB8, 0x07, 0x36, 0xC1, 0x66, 0x46, 0x99, 0x13 },
+ { 0x1E, 0x0A, 0x84, 0xDB, 0xD8, 0x06, 0xDB, 0x91, 0x6A, 0x46, 0x99, 0x9C },
+ { 0x1E, 0x08, 0xB4, 0xF8, 0x00, 0x06, 0xDB, 0xC1, 0x50, 0x06, 0xA5, 0x03 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_6320000 = {
+ { 0x1E, 0x1E, 0x44, 0x92, 0x90, 0x04, 0xE4, 0x91, 0x5A, 0x86, 0x59, 0x9B },
+ { 0x1E, 0x0A, 0x54, 0x92, 0x4E, 0x04, 0xDB, 0x01, 0x55, 0x56, 0x68, 0x03 },
+ { 0x1E, 0x18, 0x92, 0x4B, 0x98, 0x05, 0x70, 0x01, 0xA9, 0x86, 0x50, 0x21 },
+ { 0x1E, 0x09, 0x62, 0x49, 0x2D, 0x85, 0xC6, 0x01, 0xA6, 0xA6, 0x88, 0x2B },
+ { 0x1E, 0x19, 0xE2, 0x54, 0xE0, 0x05, 0x00, 0xC1, 0xAA, 0x06, 0x82, 0x23 },
+ { 0x1E, 0x1C, 0x32, 0x5C, 0x92, 0x04, 0xE4, 0x91, 0xA9, 0xA6, 0x99, 0xAC },
+ { 0x1E, 0x12, 0xD2, 0x7F, 0xE0, 0x04, 0xDB, 0x81, 0xA6, 0x06, 0xAA, 0x1D },
+ { 0x1E, 0x18, 0x42, 0x5F, 0x00, 0x04, 0x9E, 0xC1, 0x98, 0x06, 0x96, 0x13 },
+ { 0x1E, 0x0B, 0xF5, 0xB6, 0xD8, 0x06, 0x36, 0xC1, 0x9A, 0x86, 0x15, 0x21 },
+ { 0x1E, 0x0E, 0x15, 0x6D, 0xB8, 0x07, 0x76, 0x01, 0x66, 0x86, 0xA4, 0x1B },
+ { 0x1E, 0x01, 0xD5, 0x28, 0xD8, 0x07, 0x24, 0x91, 0x52, 0x46, 0xAA, 0x8E },
+ { 0x1E, 0x19, 0xC4, 0xE5, 0x18, 0x06, 0xC0, 0xC1, 0x68, 0x86, 0x82, 0x1B },
+ { 0x1E, 0x1E, 0x14, 0xDB, 0x94, 0x04, 0x92, 0x49, 0x59, 0x46, 0x56, 0x4A },
+ { 0x1E, 0x06, 0x34, 0x90, 0xD8, 0x04, 0x9C, 0x81, 0x61, 0x86, 0x59, 0x12 },
+ { 0x1E, 0x0E, 0xA4, 0x9B, 0x72, 0x04, 0xA4, 0x81, 0x66, 0x66, 0x69, 0x1B },
+ { 0x1E, 0x1B, 0x64, 0xAF, 0xE0, 0x04, 0x97, 0x01, 0x56, 0x06, 0x64, 0x0A }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_4940000 = {
+ { 0x1E, 0x0A, 0x22, 0xA4, 0x92, 0x00, 0x00, 0x01, 0x5A, 0x96, 0x59, 0x9B },
+ { 0x1E, 0x19, 0xF2, 0x9C, 0x18, 0x00, 0x0B, 0xA1, 0x54, 0x86, 0x56, 0x0A },
+ { 0x1E, 0x0C, 0xA2, 0x94, 0x92, 0x00, 0x17, 0x01, 0x59, 0x66, 0x54, 0x11 },
+ { 0x1E, 0x03, 0x52, 0x92, 0x54, 0x00, 0x00, 0xC1, 0x55, 0x86, 0x42, 0x0A },
+ { 0x1E, 0x18, 0x52, 0x49, 0x2E, 0x00, 0x13, 0x81, 0x69, 0x96, 0x66, 0x1B },
+ { 0x1E, 0x1C, 0xF2, 0x4D, 0xE0, 0x00, 0x0B, 0x61, 0x66, 0x06, 0x69, 0x13 },
+ { 0x1E, 0x09, 0x62, 0x49, 0x29, 0x00, 0x00, 0x41, 0x66, 0xA6, 0x66, 0x23 },
+ { 0x1E, 0x1A, 0xE2, 0x52, 0x4A, 0x00, 0x06, 0xC1, 0x6A, 0xA6, 0x6A, 0x2C },
+ { 0x1E, 0x1E, 0x63, 0x2D, 0xB4, 0x02, 0xA4, 0x91, 0x69, 0x86, 0xA9, 0x5C },
+ { 0x1E, 0x19, 0x73, 0x20, 0xD8, 0x02, 0x92, 0x91, 0x51, 0x86, 0xAA, 0x8E },
+ { 0x1E, 0x19, 0x12, 0xE4, 0xC0, 0x02, 0x49, 0x25, 0x69, 0x06, 0x99, 0x53 },
+ { 0x1E, 0x1D, 0xC2, 0xE4, 0xB4, 0x02, 0x5C, 0xA1, 0x5A, 0x46, 0x9A, 0x14 },
+ { 0x1E, 0x18, 0xB2, 0xDB, 0x6E, 0x02, 0x5B, 0x81, 0x56, 0x66, 0xAA, 0x15 },
+ { 0x1E, 0x01, 0x32, 0x90, 0xD8, 0x02, 0x4A, 0x51, 0x61, 0x46, 0xA5, 0x4B },
+ { 0x1E, 0x14, 0x32, 0x9B, 0x6D, 0x80, 0x00, 0x09, 0x69, 0x96, 0x55, 0x59 },
+ { 0x1E, 0x17, 0x72, 0xA4, 0xB8, 0x00, 0x03, 0x6D, 0x65, 0x86, 0x55, 0x92 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_4200000 = {
+ { 0x1E, 0x0A, 0x80, 0x01, 0x4D, 0x80, 0x86, 0xC1, 0xAA, 0x66, 0x89, 0x2B },
+ { 0x1E, 0x0D, 0xE0, 0x02, 0x78, 0x00, 0x95, 0x01, 0xAA, 0x86, 0xA8, 0x2C },
+ { 0x1E, 0x1F, 0x20, 0x07, 0xE0, 0x00, 0x4C, 0x01, 0xAA, 0x06, 0x98, 0x23 },
+ { 0x1E, 0x06, 0xD0, 0x02, 0x80, 0x00, 0x53, 0x81, 0xA5, 0x06, 0x99, 0x13 },
+ { 0x1E, 0x1E, 0x40, 0x01, 0x6E, 0x00, 0x6D, 0xC1, 0xA5, 0x66, 0xAA, 0x1D },
+ { 0x1E, 0x04, 0xF0, 0x00, 0x00, 0x80, 0x52, 0x51, 0xA6, 0x66, 0xA9, 0xA5 },
+ { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 },
+ { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 },
+ { 0x1E, 0x02, 0xB2, 0x54, 0xE0, 0x00, 0x92, 0x6D, 0x59, 0x06, 0x59, 0x8B },
+ { 0x1E, 0x1F, 0x92, 0x52, 0x74, 0x00, 0x9B, 0xA1, 0x55, 0x86, 0x65, 0x0A },
+ { 0x1E, 0x1C, 0x72, 0x49, 0x2E, 0x00, 0xDE, 0xC1, 0x59, 0x96, 0x5A, 0x13 },
+ { 0x1E, 0x10, 0xB2, 0x4B, 0x72, 0x00, 0xDD, 0xC1, 0x59, 0x56, 0x69, 0x0B },
+ { 0x1E, 0x1E, 0xD2, 0x4A, 0x6C, 0x01, 0x68, 0xC1, 0x56, 0x46, 0x62, 0x0B },
+ { 0x1E, 0x1D, 0xF2, 0x49, 0x58, 0x01, 0x24, 0x01, 0x55, 0x86, 0x98, 0x0B },
+ { 0x1E, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xE0, 0xC1, 0xAA, 0x56, 0x92, 0x23 },
+ { 0x1E, 0x15, 0x70, 0x00, 0x24, 0x80, 0x90, 0xC1, 0xA9, 0x56, 0x91, 0x1A }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_3280000 = {
+ { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 },
+ { 0x1E, 0x19, 0xB0, 0x01, 0x24, 0x92, 0x53, 0xC1, 0x9A, 0xA5, 0x9A, 0x2B },
+ { 0x1E, 0x04, 0xF0, 0x01, 0x6C, 0x12, 0x6F, 0x01, 0x9A, 0x45, 0x98, 0x1A },
+ { 0x1E, 0x10, 0x50, 0x02, 0x70, 0x12, 0x49, 0x71, 0x99, 0x85, 0xA6, 0x5B },
+ { 0x1E, 0x1C, 0xE0, 0x04, 0xB4, 0x12, 0x49, 0x29, 0x9A, 0x85, 0xA9, 0x63 },
+ { 0x1E, 0x05, 0x10, 0x04, 0xD8, 0x14, 0x93, 0x91, 0x95, 0x45, 0x5A, 0x4A },
+ { 0x1E, 0x16, 0xB0, 0x02, 0x70, 0x14, 0xB8, 0x01, 0x96, 0x85, 0x50, 0x18 },
+ { 0x1E, 0x1E, 0x40, 0x01, 0x29, 0x94, 0x92, 0x49, 0x96, 0x95, 0x66, 0x5A },
+ { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 },
+ { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 },
+ { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 },
+ { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A },
+ { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 },
+ { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B },
+ { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 },
+ { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_4000000 = {
+ { 0x1E, 0x08, 0x20, 0x00, 0x12, 0x00, 0x00, 0x91, 0xA5, 0x56, 0x95, 0x52 },
+ { 0x1E, 0x0F, 0x30, 0x09, 0x40, 0x00, 0x02, 0x71, 0xA9, 0x06, 0x99, 0x9C },
+ { 0x1E, 0x0C, 0x30, 0x0A, 0x78, 0x00, 0x00, 0x2D, 0xA9, 0x46, 0x9A, 0x5C },
+ { 0x1E, 0x12, 0xD0, 0x0D, 0xB8, 0x00, 0x0B, 0x6D, 0xA5, 0x86, 0x9A, 0x9D },
+ { 0x1E, 0x0A, 0x30, 0x0A, 0xB8, 0x00, 0x13, 0x71, 0xA5, 0x46, 0x99, 0x53 },
+ { 0x1E, 0x05, 0x30, 0x09, 0x6D, 0x80, 0x24, 0xC1, 0xA5, 0xA6, 0xA6, 0x24 },
+ { 0x1E, 0x0D, 0xE0, 0x12, 0xA0, 0x00, 0x13, 0xC1, 0xAA, 0x06, 0xAA, 0x25 },
+ { 0x1E, 0x1A, 0x80, 0x10, 0xD8, 0x00, 0x0A, 0x6D, 0xA2, 0x46, 0xA9, 0x9D },
+ { 0x1E, 0x0A, 0xF0, 0x00, 0x4E, 0x00, 0xEE, 0xC1, 0xAA, 0x96, 0xA9, 0x2C },
+ { 0x1E, 0x05, 0xB0, 0x00, 0x0D, 0x80, 0x9B, 0x71, 0xA9, 0x56, 0x95, 0x5A },
+ { 0x1E, 0x14, 0x10, 0x01, 0x24, 0x80, 0x9D, 0xA1, 0xA9, 0xA6, 0xAA, 0x2D },
+ { 0x1E, 0x1B, 0x40, 0x03, 0xA0, 0x00, 0x49, 0x25, 0xAA, 0x06, 0x96, 0x63 },
+ { 0x1E, 0x0A, 0x10, 0x03, 0x6E, 0x00, 0x52, 0x71, 0xA5, 0x56, 0x95, 0x93 },
+ { 0x1E, 0x1A, 0xD0, 0x01, 0x6D, 0x80, 0x6D, 0xC1, 0xA6, 0xA6, 0x96, 0x2B },
+ { 0x1E, 0x14, 0x30, 0x00, 0x05, 0x80, 0x53, 0xC1, 0xA6, 0x96, 0xA5, 0x23 },
+ { 0x1E, 0x17, 0x30, 0x00, 0x4E, 0x00, 0x4A, 0x01, 0xA6, 0x66, 0xA4, 0x23 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_3440000 = {
+ { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 },
+ { 0x1E, 0x1D, 0x20, 0x0B, 0x6D, 0x93, 0x30, 0xC1, 0x95, 0xA5, 0x91, 0x19 },
+ { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A },
+ { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B },
+ { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 },
+ { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 },
+ { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A },
+ { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 },
+ { 0x1E, 0x1D, 0xE0, 0x24, 0x92, 0x12, 0x5D, 0xA1, 0x9A, 0x55, 0x56, 0x19 },
+ { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A },
+ { 0x1E, 0x09, 0x40, 0x1B, 0x6D, 0x92, 0x4A, 0xA1, 0x95, 0x55, 0x65, 0x09 },
+ { 0x1E, 0x0A, 0x60, 0x13, 0x6E, 0x12, 0x49, 0x49, 0x9A, 0x95, 0x6A, 0x63 },
+ { 0x1E, 0x17, 0x10, 0x13, 0x72, 0x12, 0xB7, 0x01, 0x95, 0x95, 0x64, 0x11 },
+ { 0x1E, 0x19, 0x90, 0x12, 0x40, 0x12, 0x92, 0x4D, 0x95, 0x05, 0x66, 0x8B },
+ { 0x1E, 0x19, 0x00, 0x09, 0x70, 0x12, 0xDB, 0x61, 0x9A, 0x45, 0x59, 0x19 },
+ { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_3460000 = {
+ { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 },
+ { 0x1E, 0x1E, 0x40, 0x0C, 0xB4, 0x12, 0x30, 0x01, 0x99, 0x45, 0x10, 0x10 },
+ { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A },
+ { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 },
+ { 0x1E, 0x0B, 0x20, 0x09, 0x4C, 0x12, 0x93, 0x71, 0x95, 0x45, 0x99, 0x8B },
+ { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 },
+ { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 },
+ { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A },
+ { 0x1E, 0x1B, 0x20, 0x07, 0x18, 0x12, 0x52, 0x49, 0x84, 0x85, 0x55, 0x91 },
+ { 0x1E, 0x08, 0xB0, 0x1B, 0xB8, 0x12, 0x5B, 0x91, 0x9A, 0x45, 0x65, 0x59 },
+ { 0x1E, 0x1A, 0xA0, 0x1F, 0xE0, 0x12, 0x56, 0x01, 0x95, 0x05, 0x68, 0x0A },
+ { 0x1E, 0x09, 0x40, 0x1B, 0x6D, 0x92, 0x4A, 0xA1, 0x95, 0x55, 0x65, 0x09 },
+ { 0x1E, 0x00, 0x90, 0x15, 0xD8, 0x12, 0x9C, 0xA1, 0x96, 0x85, 0x56, 0x19 },
+ { 0x1E, 0x17, 0x10, 0x13, 0x72, 0x12, 0xB7, 0x01, 0x95, 0x95, 0x64, 0x11 },
+ { 0x1E, 0x19, 0x90, 0x12, 0x40, 0x12, 0x92, 0x4D, 0x95, 0x05, 0x66, 0x8B },
+ { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_4450000 = {
+ { 0x1E, 0x0D, 0x82, 0x55, 0xB4, 0x00, 0x9C, 0xC1, 0x55, 0x46, 0x5A, 0x03 },
+ { 0x1E, 0x01, 0xD2, 0x49, 0x52, 0x00, 0x93, 0x91, 0x5A, 0xA6, 0x66, 0x63 },
+ { 0x1E, 0x0E, 0x82, 0x4A, 0x6E, 0x00, 0xED, 0xC1, 0x5A, 0x96, 0x55, 0x19 },
+ { 0x1E, 0x1B, 0x92, 0x4D, 0x18, 0x01, 0x36, 0xC1, 0x54, 0x46, 0x59, 0x02 },
+ { 0x1E, 0x1B, 0x22, 0x4A, 0x49, 0x00, 0x38, 0xC1, 0x55, 0x66, 0x12, 0x0A },
+ { 0x1E, 0x0C, 0x52, 0x49, 0x29, 0x81, 0x3F, 0x01, 0x55, 0xA6, 0x98, 0x13 },
+ { 0x1E, 0x0C, 0xD0, 0x00, 0x29, 0x80, 0xC6, 0xC1, 0xAA, 0x66, 0x86, 0x2B },
+ { 0x1E, 0x15, 0x70, 0x00, 0x24, 0x80, 0x90, 0xC1, 0xA9, 0x56, 0x91, 0x1A },
+ { 0x1E, 0x0B, 0x12, 0x4A, 0x74, 0x00, 0x00, 0x25, 0x65, 0x86, 0x65, 0x52 },
+ { 0x1E, 0x1A, 0xE2, 0x52, 0x4A, 0x00, 0x06, 0xC1, 0x6A, 0xA6, 0x6A, 0x2C },
+ { 0x1E, 0x06, 0x72, 0x55, 0xB4, 0x00, 0x00, 0x25, 0x66, 0x46, 0x6A, 0x54 },
+ { 0x1E, 0x0C, 0x72, 0x5C, 0x92, 0x00, 0x49, 0x25, 0x6A, 0x56, 0x59, 0x5A },
+ { 0x1E, 0x1D, 0x22, 0x66, 0x18, 0x00, 0x5B, 0x6D, 0x64, 0x46, 0x56, 0x8B },
+ { 0x1E, 0x16, 0xD2, 0x6E, 0x00, 0x00, 0x5E, 0xC1, 0x58, 0x06, 0x69, 0x0B },
+ { 0x1E, 0x0E, 0x52, 0x5C, 0x90, 0x00, 0x49, 0x2D, 0x59, 0x46, 0x66, 0x8C },
+ { 0x1E, 0x0C, 0x22, 0x52, 0xE0, 0x00, 0x49, 0x25, 0x5A, 0x06, 0x6A, 0x54 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_8200000 = {
+ { 0x1E, 0x0A, 0x8B, 0x46, 0xD8, 0x01, 0xB6, 0xC2, 0x89, 0x84, 0x99, 0x22 },
+ { 0x1E, 0x03, 0xBB, 0xB6, 0x18, 0x01, 0xF8, 0xC2, 0x58, 0x84, 0x91, 0x19 },
+ { 0x1E, 0x06, 0xBC, 0x30, 0xE0, 0x00, 0x38, 0xC2, 0x12, 0x04, 0x21, 0x11 },
+ { 0x1E, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x04, 0x02, 0x01 },
+ { 0x1E, 0x17, 0xBD, 0xB0, 0xD8, 0x00, 0x06, 0xC1, 0x91, 0x44, 0x0A, 0x0A },
+ { 0x1E, 0x1D, 0x0D, 0x87, 0x18, 0x00, 0x36, 0xC1, 0x44, 0x84, 0x26, 0x0A },
+ { 0x1E, 0x0B, 0x2A, 0x06, 0xD8, 0x01, 0xC0, 0x01, 0x06, 0x84, 0x80, 0x11 },
+ { 0x1E, 0x02, 0x59, 0x25, 0xD8, 0x01, 0x86, 0xC1, 0xAA, 0x44, 0x85, 0x21 },
+ { 0x1E, 0x1E, 0x27, 0x24, 0x92, 0x0B, 0x6D, 0xC2, 0xA6, 0x66, 0xAA, 0x2D },
+ { 0x1E, 0x0E, 0x17, 0x86, 0xE0, 0x0B, 0xC6, 0xC2, 0x8A, 0x06, 0x8A, 0x24 },
+ { 0x1E, 0x17, 0x97, 0x7F, 0x00, 0x0B, 0x80, 0xC2, 0x54, 0x06, 0x41, 0x09 },
+ { 0x1E, 0x0B, 0xD6, 0xDC, 0x94, 0x0B, 0x6E, 0xC2, 0x6A, 0x86, 0x55, 0x29 },
+ { 0x1E, 0x05, 0x76, 0xE6, 0xC0, 0x0C, 0x36, 0xC2, 0x5A, 0x06, 0x25, 0x1A },
+ { 0x1E, 0x1A, 0x99, 0x2D, 0xB8, 0x0D, 0x80, 0x02, 0x99, 0x86, 0x40, 0x21 },
+ { 0x1E, 0x07, 0xB9, 0xFF, 0xE0, 0x0E, 0x3F, 0x02, 0x95, 0x06, 0x24, 0x12 },
+ { 0x1E, 0x1F, 0xB9, 0x26, 0xE0, 0x01, 0xB6, 0xC2, 0x6A, 0x04, 0xAA, 0x24 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_3300000 = {
+ { 0x1E, 0x0D, 0x00, 0x00, 0x72, 0x12, 0x49, 0x91, 0x99, 0x95, 0x95, 0x9A },
+ { 0x1E, 0x0E, 0x40, 0x00, 0x00, 0x92, 0x4A, 0x6D, 0x99, 0xA5, 0x9A, 0xA4 },
+ { 0x1E, 0x19, 0xB0, 0x01, 0x24, 0x92, 0x53, 0xC1, 0x9A, 0xA5, 0x9A, 0x2B },
+ { 0x1E, 0x0D, 0x20, 0x01, 0x2C, 0x12, 0x52, 0x81, 0x99, 0x45, 0xA5, 0x12 },
+ { 0x1E, 0x10, 0x50, 0x02, 0x70, 0x12, 0x49, 0x71, 0x99, 0x85, 0xA6, 0x5B },
+ { 0x1E, 0x1C, 0xE0, 0x04, 0xB4, 0x12, 0x49, 0x29, 0x9A, 0x85, 0xA9, 0x63 },
+ { 0x1E, 0x05, 0x10, 0x04, 0xD8, 0x14, 0x93, 0x91, 0x95, 0x45, 0x5A, 0x4A },
+ { 0x1E, 0x16, 0xB0, 0x02, 0x70, 0x14, 0xB8, 0x01, 0x96, 0x85, 0x50, 0x18 },
+ { 0x1E, 0x19, 0x00, 0x09, 0x70, 0x12, 0xDB, 0x61, 0x9A, 0x45, 0x59, 0x19 },
+ { 0x1E, 0x11, 0x70, 0x09, 0x29, 0x12, 0xDC, 0xC1, 0x99, 0x55, 0x66, 0x12 },
+ { 0x1E, 0x02, 0x50, 0x0A, 0x49, 0x93, 0x24, 0x91, 0x99, 0xA5, 0x65, 0xA2 },
+ { 0x1E, 0x1D, 0x20, 0x0B, 0x6D, 0x93, 0x30, 0xC1, 0x95, 0xA5, 0x91, 0x19 },
+ { 0x1E, 0x0A, 0x80, 0x0A, 0x92, 0x12, 0xDE, 0xC1, 0x95, 0xA5, 0x99, 0x1A },
+ { 0x1E, 0x14, 0x70, 0x09, 0x24, 0x92, 0xE4, 0x91, 0x96, 0x55, 0xA9, 0x53 },
+ { 0x1E, 0x1E, 0x70, 0x00, 0x04, 0x92, 0xAD, 0xA1, 0x9A, 0x95, 0x99, 0x22 },
+ { 0x1E, 0x13, 0x50, 0x00, 0x30, 0x12, 0x9B, 0x71, 0x9A, 0x85, 0xAA, 0xA5 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_5200000 = {
+ { 0x1E, 0x09, 0x42, 0xDC, 0xE0, 0x02, 0x4A, 0x71, 0x69, 0x06, 0x95, 0x93 },
+ { 0x1E, 0x01, 0xF2, 0xED, 0xB4, 0x02, 0x52, 0xC1, 0x69, 0x46, 0x95, 0x12 },
+ { 0x1E, 0x0C, 0x02, 0xE7, 0xE0, 0x02, 0x65, 0x01, 0x5A, 0x06, 0x94, 0x12 },
+ { 0x1E, 0x1F, 0x62, 0xDB, 0x6D, 0x82, 0x52, 0x51, 0x55, 0x56, 0xA6, 0x44 },
+ { 0x1E, 0x01, 0x32, 0x90, 0xD8, 0x02, 0x4A, 0x51, 0x61, 0x46, 0xA5, 0x4B },
+ { 0x1E, 0x16, 0x32, 0x9C, 0x94, 0x00, 0x00, 0x29, 0x69, 0x86, 0x55, 0x59 },
+ { 0x1E, 0x17, 0x72, 0xA4, 0xB8, 0x00, 0x03, 0x6D, 0x65, 0x86, 0x55, 0x92 },
+ { 0x1E, 0x0A, 0x22, 0xA4, 0x92, 0x00, 0x00, 0x01, 0x5A, 0x96, 0x59, 0x9B },
+ { 0x1E, 0x08, 0xD2, 0xE7, 0x00, 0x02, 0x92, 0x4D, 0xA8, 0x06, 0x6A, 0x9D },
+ { 0x1E, 0x1B, 0x32, 0xE5, 0xD8, 0x02, 0xDD, 0xA1, 0x96, 0x46, 0x65, 0x12 },
+ { 0x1E, 0x0C, 0x83, 0x25, 0xE0, 0x03, 0x70, 0xC1, 0xA5, 0x06, 0x61, 0x12 },
+ { 0x1E, 0x0A, 0x53, 0x25, 0xB4, 0x03, 0x47, 0x01, 0x9A, 0x46, 0x88, 0x1B },
+ { 0x1E, 0x1E, 0x43, 0xBF, 0xE0, 0x02, 0xDB, 0xC1, 0xAA, 0x06, 0x9A, 0x24 },
+ { 0x1E, 0x1F, 0x13, 0x87, 0x18, 0x02, 0x93, 0x91, 0x44, 0x86, 0x96, 0x8C },
+ { 0x1E, 0x0B, 0x23, 0x76, 0x18, 0x02, 0x9B, 0x6D, 0x54, 0x46, 0x9A, 0x44 },
+ { 0x1E, 0x19, 0xD3, 0x00, 0xD8, 0x02, 0x9B, 0x91, 0x42, 0x86, 0xAA, 0x96 }
+};
+
+XC3028_SCODE_TABLE XC3028L_scode_table_4560000 = {
+ { 0x1E, 0x0E, 0x42, 0x46, 0x00, 0x00, 0x65, 0xA1, 0x44, 0x06, 0x65, 0x02 },
+ { 0x1E, 0x06, 0x32, 0x5B, 0x90, 0x00, 0x52, 0x4D, 0x5A, 0x86, 0x6A, 0x5C },
+ { 0x1E, 0x1E, 0x22, 0x52, 0x49, 0x80, 0x49, 0x51, 0x5A, 0x66, 0x69, 0x5B },
+ { 0x1E, 0x1F, 0x12, 0x56, 0xE0, 0x00, 0x9B, 0x91, 0x59, 0x06, 0x56, 0x4A },
+ { 0x1E, 0x12, 0xF2, 0x52, 0x4C, 0x00, 0x98, 0xC1, 0x55, 0x46, 0x62, 0x03 },
+ { 0x1E, 0x1C, 0x72, 0x49, 0x2E, 0x00, 0xDE, 0xC1, 0x59, 0x96, 0x5A, 0x13 },
+ { 0x1E, 0x10, 0xB2, 0x4B, 0x72, 0x00, 0xDD, 0xC1, 0x59, 0x56, 0x69, 0x0B },
+ { 0x1E, 0x09, 0x82, 0x4A, 0x4D, 0x81, 0x78, 0xC1, 0x56, 0x56, 0x61, 0x0A },
+ { 0x1E, 0x02, 0x12, 0x93, 0x18, 0x00, 0x1D, 0x01, 0x54, 0x86, 0x54, 0x09 },
+ { 0x1E, 0x0E, 0xC2, 0x49, 0x78, 0x00, 0x1C, 0x81, 0x6A, 0x86, 0x66, 0x23 },
+ { 0x1E, 0x0B, 0xE2, 0x4B, 0xD8, 0x00, 0x09, 0x25, 0x69, 0x46, 0x66, 0x94 },
+ { 0x1E, 0x0B, 0x12, 0x4A, 0x74, 0x00, 0x00, 0x25, 0x65, 0x86, 0x65, 0x52 },
+ { 0x1E, 0x1D, 0x02, 0x49, 0x32, 0x00, 0x03, 0x91, 0x65, 0x66, 0x66, 0x53 },
+ { 0x1E, 0x18, 0xC2, 0x55, 0xA0, 0x00, 0x00, 0x25, 0x6A, 0x06, 0x69, 0x9C },
+ { 0x1E, 0x19, 0x32, 0x52, 0x52, 0x00, 0x4E, 0xC1, 0x65, 0x96, 0x55, 0x11 },
+ { 0x1E, 0x1A, 0xF2, 0x5B, 0x6C, 0x00, 0x53, 0x71, 0x65, 0x46, 0x59, 0x4A }
+};
+
+
+#endif
+
\
 
 \ /
  Last update: 2008-10-22 23:07    [W:0.178 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site