Staging: rt28x0: run common/*.c files through Lindent
[firefly-linux-kernel-4.4.55.git] / drivers / staging / rt2860 / common / rt_channel.c
index 06b51a01289d5bd684631a9eb25a8406bffe025d..cc45a08d5fb6eb3cf9f741659ab8b8944a81e95c 100644 (file)
 */
 #include "../rt_config.h"
 
-
-CH_FREQ_MAP CH_HZ_ID_MAP[]=
-               {
-                       {1, 2412},
-                       {2, 2417},
-                       {3, 2422},
-                       {4, 2427},
-                       {5, 2432},
-                       {6, 2437},
-                       {7, 2442},
-                       {8, 2447},
-                       {9, 2452},
-                       {10, 2457},
-                       {11, 2462},
-                       {12, 2467},
-                       {13, 2472},
-                       {14, 2484},
-
-                       /*  UNII */
-                       {36, 5180},
-                       {40, 5200},
-                       {44, 5220},
-                       {48, 5240},
-                       {52, 5260},
-                       {56, 5280},
-                       {60, 5300},
-                       {64, 5320},
-                       {149, 5745},
-                       {153, 5765},
-                       {157, 5785},
-                       {161, 5805},
-                       {165, 5825},
-                       {167, 5835},
-                       {169, 5845},
-                       {171, 5855},
-                       {173, 5865},
-
-                       /* HiperLAN2 */
-                       {100, 5500},
-                       {104, 5520},
-                       {108, 5540},
-                       {112, 5560},
-                       {116, 5580},
-                       {120, 5600},
-                       {124, 5620},
-                       {128, 5640},
-                       {132, 5660},
-                       {136, 5680},
-                       {140, 5700},
-
-                       /* Japan MMAC */
-                       {34, 5170},
-                       {38, 5190},
-                       {42, 5210},
-                       {46, 5230},
-
-                       /*  Japan */
-                       {184, 4920},
-                       {188, 4940},
-                       {192, 4960},
-                       {196, 4980},
-
-                       {208, 5040},    /* Japan, means J08 */
-                       {212, 5060},    /* Japan, means J12 */
-                       {216, 5080},    /* Japan, means J16 */
+CH_FREQ_MAP CH_HZ_ID_MAP[] = {
+       {1, 2412}
+       ,
+       {2, 2417}
+       ,
+       {3, 2422}
+       ,
+       {4, 2427}
+       ,
+       {5, 2432}
+       ,
+       {6, 2437}
+       ,
+       {7, 2442}
+       ,
+       {8, 2447}
+       ,
+       {9, 2452}
+       ,
+       {10, 2457}
+       ,
+       {11, 2462}
+       ,
+       {12, 2467}
+       ,
+       {13, 2472}
+       ,
+       {14, 2484}
+       ,
+
+       /*  UNII */
+       {36, 5180}
+       ,
+       {40, 5200}
+       ,
+       {44, 5220}
+       ,
+       {48, 5240}
+       ,
+       {52, 5260}
+       ,
+       {56, 5280}
+       ,
+       {60, 5300}
+       ,
+       {64, 5320}
+       ,
+       {149, 5745}
+       ,
+       {153, 5765}
+       ,
+       {157, 5785}
+       ,
+       {161, 5805}
+       ,
+       {165, 5825}
+       ,
+       {167, 5835}
+       ,
+       {169, 5845}
+       ,
+       {171, 5855}
+       ,
+       {173, 5865}
+       ,
+
+       /* HiperLAN2 */
+       {100, 5500}
+       ,
+       {104, 5520}
+       ,
+       {108, 5540}
+       ,
+       {112, 5560}
+       ,
+       {116, 5580}
+       ,
+       {120, 5600}
+       ,
+       {124, 5620}
+       ,
+       {128, 5640}
+       ,
+       {132, 5660}
+       ,
+       {136, 5680}
+       ,
+       {140, 5700}
+       ,
+
+       /* Japan MMAC */
+       {34, 5170}
+       ,
+       {38, 5190}
+       ,
+       {42, 5210}
+       ,
+       {46, 5230}
+       ,
+
+       /*  Japan */
+       {184, 4920}
+       ,
+       {188, 4940}
+       ,
+       {192, 4960}
+       ,
+       {196, 4980}
+       ,
+
+       {208, 5040}
+       ,                       /* Japan, means J08 */
+       {212, 5060}
+       ,                       /* Japan, means J12 */
+       {216, 5080}
+       ,                       /* Japan, means J16 */
 };
 
-INT    CH_HZ_ID_MAP_NUM = (sizeof(CH_HZ_ID_MAP)/sizeof(CH_FREQ_MAP));
-
-CH_REGION ChRegion[] =
-{
-               {       // Antigua and Berbuda
-                       "AG",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  23, BOTH, FALSE},    // 5G, ch 52~64
-                               { 100, 11, 30, BOTH, FALSE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Argentina
-                       "AR",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 52,  4,  24, BOTH, FALSE},    // 5G, ch 52~64
-                               { 149, 4,  30, BOTH, FALSE},    // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Aruba
-                       "AW",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  23, BOTH, FALSE},    // 5G, ch 52~64
-                               { 100, 11, 30, BOTH, FALSE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Australia
-                       "AU",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  24, BOTH, FALSE},    // 5G, ch 52~64
-                               { 149, 5,  30, BOTH, FALSE},    // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Austria
-                       "AT",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, IDOR, TRUE},             // 5G, ch 36~48
-                               { 52,  4,  23, IDOR, TRUE},             // 5G, ch 52~64
-                               { 100, 11, 30, BOTH, TRUE},             // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Bahamas
-                       "BS",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  24, BOTH, FALSE},    // 5G, ch 52~64
-                               { 149, 5,  30, BOTH, FALSE},    // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Barbados
-                       "BB",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  24, BOTH, FALSE},    // 5G, ch 52~64
-                               { 100, 11, 30, BOTH, FALSE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Bermuda
-                       "BM",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  24, BOTH, FALSE},    // 5G, ch 52~64
-                               { 100, 11, 30, BOTH, FALSE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Brazil
-                       "BR",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  24, BOTH, FALSE},    // 5G, ch 52~64
-                               { 100, 11, 24, BOTH, FALSE},    // 5G, ch 100~140
-                               { 149, 5,  30, BOTH, FALSE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Belgium
-                       "BE",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  18, IDOR, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  18, IDOR, FALSE},    // 5G, ch 52~64
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Bulgaria
-                       "BG",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, IDOR, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  23, IDOR, TRUE},     // 5G, ch 52~64
-                               { 100, 11, 30, ODOR, TRUE},     // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Canada
-                       "CA",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  23, BOTH, FALSE},    // 5G, ch 52~64
-                               { 149, 5,  30, BOTH, FALSE},    // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Cayman IsLands
-                       "KY",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  24, BOTH, FALSE},    // 5G, ch 52~64
-                               { 100, 11, 30, BOTH, FALSE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Chile
-                       "CL",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  20, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  20, BOTH, FALSE},    // 5G, ch 52~64
-                               { 149, 5,  20, BOTH, FALSE},    // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // China
-                       "CN",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 149, 4,  27, BOTH, FALSE},    // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Colombia
-                       "CO",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  17, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  24, BOTH, FALSE},    // 5G, ch 52~64
-                               { 100, 11, 30, BOTH, FALSE},    // 5G, ch 100~140
-                               { 149, 5,  30, BOTH, FALSE},    // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Costa Rica
-                       "CR",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  17, BOTH, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  24, BOTH, FALSE},    // 5G, ch 52~64
-                               { 149, 4,  30, BOTH, FALSE},    // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Cyprus
-                       "CY",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, IDOR, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  24, IDOR, TRUE},             // 5G, ch 52~64
-                               { 100, 11, 30, BOTH, TRUE},             // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Czech_Republic
-                       "CZ",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, IDOR, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  23, IDOR, TRUE},             // 5G, ch 52~64
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Denmark
-                       "DK",
-                       CE,
-                       {
-                               { 1,   13, 20, BOTH, FALSE},    // 2.4 G, ch 1~13
-                               { 36,  4,  23, IDOR, FALSE},    // 5G, ch 36~48
-                               { 52,  4,  23, IDOR, TRUE},             // 5G, ch 52~64
-                               { 100, 11, 30, BOTH, TRUE},             // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Dominican Republic
-                       "DO",
-                       CE,
-                       {
-                               { 1,   0,  20, BOTH, FALSE},    // 2.4 G, ch 0
-                               { 149, 4,  20, BOTH, FALSE},    // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Equador
-                       "EC",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 100, 11,  27, BOTH, FALSE},   // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // El Salvador
-                       "SV",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,  4,   23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,  4,   30, BOTH, TRUE},    // 5G, ch 52~64
-                               { 149, 4,   36, BOTH, TRUE},    // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Finland
-                       "FI",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,  4,   23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,  4,   23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // France
-                       "FR",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,  4,   23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,  4,   23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Germany
-                       "DE",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,  4,   23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,  4,   23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Greece
-                       "GR",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,  4,   23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,  4,   23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, ODOR, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Guam
-                       "GU",
-                       CE,
-                       {
-                               { 1,   11,  20, BOTH, FALSE},   // 2.4 G, ch 1~11
-                               { 36,  4,   17, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,  4,   24, BOTH, FALSE},   // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, FALSE},   // 5G, ch 100~140
-                               { 149,  5,  30, BOTH, FALSE},   // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Guatemala
-                       "GT",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,  4,   17, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,  4,   24, BOTH, FALSE},   // 5G, ch 52~64
-                               { 149,  4,  30, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Haiti
-                       "HT",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,  4,   17, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,  4,   24, BOTH, FALSE},   // 5G, ch 52~64
-                               { 149,  4,  30, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Honduras
-                       "HN",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 149,  4,  27, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Hong Kong
-                       "HK",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, FALSE},   // 5G, ch 52~64
-                               { 149,  4,  30, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Hungary
-                       "HU",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Iceland
-                       "IS",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // India
-                       "IN",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 149,  4,  24, IDOR, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Indonesia
-                       "ID",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 149,  4,  27, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Ireland
-                       "IE",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, ODOR, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Israel
-                       "IL",
-                       CE,
-                       {
-                               { 1,    3,  20, IDOR, FALSE},   // 2.4 G, ch 1~3
-                               { 4,    6,  20, BOTH, FALSE},   // 2.4 G, ch 4~9
-                               { 10,   4,  20, IDOR, FALSE},   // 2.4 G, ch 10~13
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Italy
-                       "IT",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, ODOR, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Japan
-                       "JP",
-                       JAP,
-                       {
-                               { 1,   14,  20, BOTH, FALSE},   // 2.4 G, ch 1~14
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Jordan
-                       "JO",
-                       CE,
-                       {
-                               { 1,   13,  20, IDOR, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 149,  4,  23, IDOR, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Latvia
-                       "LV",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Liechtenstein
-                       "LI",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Lithuania
-                       "LT",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Luxemburg
-                       "LU",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Malaysia
-                       "MY",
-                       CE,
-                       {
-                               { 36,   4,  23, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, BOTH, FALSE},   // 5G, ch 52~64
-                               { 149,  5,  20, BOTH, FALSE},   // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Malta
-                       "MT",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Marocco
-                       "MA",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  24, IDOR, FALSE},   // 5G, ch 36~48
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Mexico
-                       "MX",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  24, BOTH, FALSE},   // 5G, ch 52~64
-                               { 149,  5,  30, IDOR, FALSE},   // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Netherlands
-                       "NL",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  24, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // New Zealand
-                       "NZ",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  24, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  24, BOTH, FALSE},   // 5G, ch 52~64
-                               { 149,  4,  30, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Norway
-                       "NO",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  24, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  24, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Peru
-                       "PE",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 149,  4,  27, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Portugal
-                       "PT",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Poland
-                       "PL",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Romania
-                       "RO",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Russia
-                       "RU",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 149,  4,  20, IDOR, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Saudi Arabia
-                       "SA",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, BOTH, FALSE},   // 5G, ch 52~64
-                               { 149,  4,  23, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Serbia_and_Montenegro
-                       "CS",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Singapore
-                       "SG",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, BOTH, FALSE},   // 5G, ch 52~64
-                               { 149,  4,  20, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Slovakia
-                       "SK",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Slovenia
-                       "SI",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // South Africa
-                       "ZA",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, FALSE},   // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 149,  4,  30, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // South Korea
-                       "KR",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  20, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  20, BOTH, FALSE},   // 5G, ch 52~64
-                               { 100,  8,  20, BOTH, FALSE},   // 5G, ch 100~128
-                               { 149,  4,  20, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Spain
-                       "ES",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  17, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Sweden
-                       "SE",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Switzerland
-                       "CH",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~13
-                               { 36,   4,  23, IDOR, TRUE},    // 5G, ch 36~48
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Taiwan
-                       "TW",
-                       CE,
-                       {
-                               { 1,   11,  30, BOTH, FALSE},   // 2.4 G, ch 1~11
-                               { 52,   4,  23, IDOR, FALSE},   // 5G, ch 52~64
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Turkey
-                       "TR",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~11
-                               { 36,   4,  23, BOTH, FALSE},   // 5G, ch 36~48
-                               { 52,   4,  23, BOTH, FALSE},   // 5G, ch 52~64
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // UK
-                       "GB",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~11
-                               { 36,   4,  23, IDOR, FALSE},   // 5G, ch 52~64
-                               { 52,   4,  23, IDOR, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Ukraine
-                       "UA",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~11
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // United_Arab_Emirates
-                       "AE",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~11
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // United_States
-                       "US",
-                       CE,
-                       {
-                               { 1,   11,  30, BOTH, FALSE},   // 2.4 G, ch 1~11
-                               { 36,   4,  17, IDOR, FALSE},   // 5G, ch 52~64
-                               { 52,   4,  24, BOTH, TRUE},    // 5G, ch 52~64
-                               { 100, 11,  30, BOTH, TRUE},    // 5G, ch 100~140
-                               { 149,  5,  30, BOTH, FALSE},   // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Venezuela
-                       "VE",
-                       CE,
-                       {
-                               { 1,   13,  20, BOTH, FALSE},   // 2.4 G, ch 1~11
-                               { 149,  4,  27, BOTH, FALSE},   // 5G, ch 149~161
-                               { 0},                                                   // end
-                       }
-               },
-
-               {       // Default
-                       "",
-                       CE,
-                       {
-                               { 1,   11,  20, BOTH, FALSE},   // 2.4 G, ch 1~11
-                               { 36,   4,  20, BOTH, FALSE},   // 5G, ch 52~64
-                               { 52,   4,  20, BOTH, FALSE},   // 5G, ch 52~64
-                               { 100, 11,  20, BOTH, FALSE},   // 5G, ch 100~140
-                               { 149,  5,  20, BOTH, FALSE},   // 5G, ch 149~165
-                               { 0},                                                   // end
-                       }
-               },
+INT CH_HZ_ID_MAP_NUM = (sizeof(CH_HZ_ID_MAP) / sizeof(CH_FREQ_MAP));
+
+CH_REGION ChRegion[] = {
+       {                       // Antigua and Berbuda
+        "AG",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Argentina
+        "AR",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 4, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Aruba
+        "AW",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Australia
+        "AU",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 5, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Austria
+        "AT",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Bahamas
+        "BS",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 5, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Barbados
+        "BB",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Bermuda
+        "BM",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Brazil
+        "BR",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 24, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {149, 5, 30, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Belgium
+        "BE",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 18, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 18, IDOR, FALSE}
+         ,                     // 5G, ch 52~64
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Bulgaria
+        "BG",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, ODOR, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Canada
+        "CA",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 5, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Cayman IsLands
+        "KY",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Chile
+        "CL",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 20, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 20, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 5, 20, BOTH, FALSE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // China
+        "CN",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {149, 4, 27, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Colombia
+        "CO",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 17, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {149, 5, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Costa Rica
+        "CR",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 17, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 4, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Cyprus
+        "CY",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Czech_Republic
+        "CZ",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Denmark
+        "DK",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Dominican Republic
+        "DO",
+        CE,
+        {
+         {1, 0, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 0
+         {149, 4, 20, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Equador
+        "EC",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {100, 11, 27, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // El Salvador
+        "SV",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 30, BOTH, TRUE}
+         ,                     // 5G, ch 52~64
+         {149, 4, 36, BOTH, TRUE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Finland
+        "FI",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // France
+        "FR",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Germany
+        "DE",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Greece
+        "GR",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, ODOR, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Guam
+        "GU",
+        CE,
+        {
+         {1, 11, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~11
+         {36, 4, 17, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {149, 5, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Guatemala
+        "GT",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 17, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 4, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Haiti
+        "HT",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 17, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 4, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Honduras
+        "HN",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {149, 4, 27, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Hong Kong
+        "HK",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 4, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Hungary
+        "HU",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Iceland
+        "IS",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // India
+        "IN",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {149, 4, 24, IDOR, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Indonesia
+        "ID",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {149, 4, 27, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Ireland
+        "IE",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, ODOR, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Israel
+        "IL",
+        CE,
+        {
+         {1, 3, 20, IDOR, FALSE}
+         ,                     // 2.4 G, ch 1~3
+         {4, 6, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 4~9
+         {10, 4, 20, IDOR, FALSE}
+         ,                     // 2.4 G, ch 10~13
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Italy
+        "IT",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, ODOR, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Japan
+        "JP",
+        JAP,
+        {
+         {1, 14, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~14
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Jordan
+        "JO",
+        CE,
+        {
+         {1, 13, 20, IDOR, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {149, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Latvia
+        "LV",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Liechtenstein
+        "LI",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Lithuania
+        "LT",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Luxemburg
+        "LU",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Malaysia
+        "MY",
+        CE,
+        {
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 5, 20, BOTH, FALSE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Malta
+        "MT",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Marocco
+        "MA",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 24, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Mexico
+        "MX",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 5, 30, IDOR, FALSE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Netherlands
+        "NL",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // New Zealand
+        "NZ",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 4, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Norway
+        "NO",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 24, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 24, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Peru
+        "PE",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {149, 4, 27, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Portugal
+        "PT",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Poland
+        "PL",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Romania
+        "RO",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Russia
+        "RU",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {149, 4, 20, IDOR, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Saudi Arabia
+        "SA",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Serbia_and_Montenegro
+        "CS",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Singapore
+        "SG",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {149, 4, 20, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Slovakia
+        "SK",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Slovenia
+        "SI",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // South Africa
+        "ZA",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {149, 4, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // South Korea
+        "KR",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 20, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 20, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 8, 20, BOTH, FALSE}
+         ,                     // 5G, ch 100~128
+         {149, 4, 20, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Spain
+        "ES",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 17, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Sweden
+        "SE",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Switzerland
+        "CH",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~13
+         {36, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Taiwan
+        "TW",
+        CE,
+        {
+         {1, 11, 30, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~11
+         {52, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 52~64
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Turkey
+        "TR",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~11
+         {36, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 36~48
+         {52, 4, 23, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // UK
+        "GB",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~11
+         {36, 4, 23, IDOR, FALSE}
+         ,                     // 5G, ch 52~64
+         {52, 4, 23, IDOR, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Ukraine
+        "UA",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~11
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // United_Arab_Emirates
+        "AE",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~11
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // United_States
+        "US",
+        CE,
+        {
+         {1, 11, 30, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~11
+         {36, 4, 17, IDOR, FALSE}
+         ,                     // 5G, ch 52~64
+         {52, 4, 24, BOTH, TRUE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 30, BOTH, TRUE}
+         ,                     // 5G, ch 100~140
+         {149, 5, 30, BOTH, FALSE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Venezuela
+        "VE",
+        CE,
+        {
+         {1, 13, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~11
+         {149, 4, 27, BOTH, FALSE}
+         ,                     // 5G, ch 149~161
+         {0}
+         ,                     // end
+         }
+        }
+       ,
+
+       {                       // Default
+        "",
+        CE,
+        {
+         {1, 11, 20, BOTH, FALSE}
+         ,                     // 2.4 G, ch 1~11
+         {36, 4, 20, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {52, 4, 20, BOTH, FALSE}
+         ,                     // 5G, ch 52~64
+         {100, 11, 20, BOTH, FALSE}
+         ,                     // 5G, ch 100~140
+         {149, 5, 20, BOTH, FALSE}
+         ,                     // 5G, ch 149~165
+         {0}
+         ,                     // end
+         }
+        }
+       ,
 };
 
-
-static PCH_REGION GetChRegion(
-       IN PUCHAR CntryCode)
+static PCH_REGION GetChRegion(IN PUCHAR CntryCode)
 {
        INT loop = 0;
        PCH_REGION pChRegion = NULL;
 
-       while (strcmp((PSTRING) ChRegion[loop].CountReg, "") != 0)
-       {
-               if (strncmp((PSTRING) ChRegion[loop].CountReg, (PSTRING) CntryCode, 2) == 0)
-               {
+       while (strcmp((PSTRING) ChRegion[loop].CountReg, "") != 0) {
+               if (strncmp
+                   ((PSTRING) ChRegion[loop].CountReg, (PSTRING) CntryCode,
+                    2) == 0) {
                        pChRegion = &ChRegion[loop];
                        break;
                }
@@ -982,54 +1442,49 @@ static PCH_REGION GetChRegion(
        return pChRegion;
 }
 
-static VOID ChBandCheck(
-       IN UCHAR PhyMode,
-       OUT PUCHAR pChType)
+static VOID ChBandCheck(IN UCHAR PhyMode, OUT PUCHAR pChType)
 {
-       switch(PhyMode)
-       {
-               case PHY_11A:
-               case PHY_11AN_MIXED:
-                       *pChType = BAND_5G;
-                       break;
-               case PHY_11ABG_MIXED:
-               case PHY_11AGN_MIXED:
-               case PHY_11ABGN_MIXED:
-                       *pChType = BAND_BOTH;
-                       break;
-
-               default:
-                       *pChType = BAND_24G;
-                       break;
+       switch (PhyMode) {
+       case PHY_11A:
+       case PHY_11AN_MIXED:
+               *pChType = BAND_5G;
+               break;
+       case PHY_11ABG_MIXED:
+       case PHY_11AGN_MIXED:
+       case PHY_11ABGN_MIXED:
+               *pChType = BAND_BOTH;
+               break;
+
+       default:
+               *pChType = BAND_24G;
+               break;
        }
 }
 
-static UCHAR FillChList(
-       IN PRTMP_ADAPTER pAd,
-       IN PCH_DESP pChDesp,
-       IN UCHAR Offset,
-       IN UCHAR increment)
+static UCHAR FillChList(IN PRTMP_ADAPTER pAd,
+                       IN PCH_DESP pChDesp,
+                       IN UCHAR Offset, IN UCHAR increment)
 {
        INT i, j, l;
        UCHAR channel;
 
        j = Offset;
-       for (i = 0; i < pChDesp->NumOfCh; i++)
-       {
+       for (i = 0; i < pChDesp->NumOfCh; i++) {
                channel = pChDesp->FirstChannel + i * increment;
-               for (l=0; l<MAX_NUM_OF_CHANNELS; l++)
-               {
-                       if (channel == pAd->TxPower[l].Channel)
-                       {
-                               pAd->ChannelList[j].Power = pAd->TxPower[l].Power;
-                               pAd->ChannelList[j].Power2 = pAd->TxPower[l].Power2;
+               for (l = 0; l < MAX_NUM_OF_CHANNELS; l++) {
+                       if (channel == pAd->TxPower[l].Channel) {
+                               pAd->ChannelList[j].Power =
+                                   pAd->TxPower[l].Power;
+                               pAd->ChannelList[j].Power2 =
+                                   pAd->TxPower[l].Power2;
                                break;
                        }
                }
                if (l == MAX_NUM_OF_CHANNELS)
                        continue;
 
-               pAd->ChannelList[j].Channel = pChDesp->FirstChannel + i * increment;
+               pAd->ChannelList[j].Channel =
+                   pChDesp->FirstChannel + i * increment;
                pAd->ChannelList[j].MaxTxPwr = pChDesp->MaxTxPwr;
                pAd->ChannelList[j].DfsReq = pChDesp->DfsReq;
                j++;
@@ -1039,11 +1494,8 @@ static UCHAR FillChList(
        return j;
 }
 
-
-static inline VOID CreateChList(
-       IN PRTMP_ADAPTER pAd,
-       IN PCH_REGION pChRegion,
-       IN UCHAR Geography)
+static inline VOID CreateChList(IN PRTMP_ADAPTER pAd,
+                               IN PCH_REGION pChRegion, IN UCHAR Geography)
 {
        INT i;
        UCHAR offset = 0;
@@ -1056,38 +1508,31 @@ static inline VOID CreateChList(
 
        ChBandCheck(pAd->CommonCfg.PhyMode, &ChType);
 
-       for (i=0; i<10; i++)
-       {
+       for (i = 0; i < 10; i++) {
                pChDesp = &pChRegion->ChDesp[i];
                if (pChDesp->FirstChannel == 0)
                        break;
 
-               if (ChType == BAND_5G)
-               {
+               if (ChType == BAND_5G) {
                        if (pChDesp->FirstChannel <= 14)
                                continue;
-               }
-               else if (ChType == BAND_24G)
-               {
+               } else if (ChType == BAND_24G) {
                        if (pChDesp->FirstChannel > 14)
                                continue;
                }
 
                if ((pChDesp->Geography == BOTH)
-                       || (pChDesp->Geography == Geography))
-        {
+                   || (pChDesp->Geography == Geography)) {
                        if (pChDesp->FirstChannel > 14)
-                increment = 4;
-            else
-                increment = 1;
+                               increment = 4;
+                       else
+                               increment = 1;
                        offset = FillChList(pAd, pChDesp, offset, increment);
-        }
+               }
        }
 }
 
-
-VOID BuildChannelListEx(
-       IN PRTMP_ADAPTER pAd)
+VOID BuildChannelListEx(IN PRTMP_ADAPTER pAd)
 {
        PCH_REGION pChReg;
 
@@ -1095,11 +1540,8 @@ VOID BuildChannelListEx(
        CreateChList(pAd, pChReg, pAd->CommonCfg.Geography);
 }
 
-
-VOID BuildBeaconChList(
-       IN PRTMP_ADAPTER pAd,
-       OUT PUCHAR pBuf,
-       OUT     PULONG pBufLen)
+VOID BuildBeaconChList(IN PRTMP_ADAPTER pAd,
+                      OUT PUCHAR pBuf, OUT PULONG pBufLen)
 {
        INT i;
        ULONG TmpLen;
@@ -1115,46 +1557,35 @@ VOID BuildBeaconChList(
        ChBandCheck(pAd->CommonCfg.PhyMode, &ChType);
        *pBufLen = 0;
 
-       for (i=0; i<10; i++)
-       {
+       for (i = 0; i < 10; i++) {
                pChDesp = &pChRegion->ChDesp[i];
                if (pChDesp->FirstChannel == 0)
                        break;
 
-               if (ChType == BAND_5G)
-               {
+               if (ChType == BAND_5G) {
                        if (pChDesp->FirstChannel <= 14)
                                continue;
-               }
-               else if (ChType == BAND_24G)
-               {
+               } else if (ChType == BAND_24G) {
                        if (pChDesp->FirstChannel > 14)
                                continue;
                }
 
                if ((pChDesp->Geography == BOTH)
-                       || (pChDesp->Geography == pAd->CommonCfg.Geography))
-               {
-                       MakeOutgoingFrame(pBuf + *pBufLen,              &TmpLen,
-                                                               1,                      &pChDesp->FirstChannel,
-                                                               1,                      &pChDesp->NumOfCh,
-                                                               1,                      &pChDesp->MaxTxPwr,
-                                                               END_OF_ARGS);
+                   || (pChDesp->Geography == pAd->CommonCfg.Geography)) {
+                       MakeOutgoingFrame(pBuf + *pBufLen, &TmpLen,
+                                         1, &pChDesp->FirstChannel,
+                                         1, &pChDesp->NumOfCh,
+                                         1, &pChDesp->MaxTxPwr, END_OF_ARGS);
                        *pBufLen += TmpLen;
                }
        }
 }
 
-
-static BOOLEAN IsValidChannel(
-       IN PRTMP_ADAPTER pAd,
-       IN UCHAR channel)
-
+static BOOLEAN IsValidChannel(IN PRTMP_ADAPTER pAd, IN UCHAR channel)
 {
        INT i;
 
-       for (i = 0; i < pAd->ChannelListNum; i++)
-       {
+       for (i = 0; i < pAd->ChannelListNum; i++) {
                if (pAd->ChannelList[i].Channel == channel)
                        break;
        }
@@ -1165,10 +1596,7 @@ static BOOLEAN IsValidChannel(
                return TRUE;
 }
 
-
-static UCHAR GetExtCh(
-       IN UCHAR Channel,
-       IN UCHAR Direction)
+static UCHAR GetExtCh(IN UCHAR Channel, IN UCHAR Direction)
 {
        CHAR ExtCh;
 
@@ -1180,95 +1608,92 @@ static UCHAR GetExtCh(
        return ExtCh;
 }
 
-
-VOID N_ChannelCheck(
-       IN PRTMP_ADAPTER pAd)
+VOID N_ChannelCheck(IN PRTMP_ADAPTER pAd)
 {
        //UCHAR ChannelNum = pAd->ChannelListNum;
        UCHAR Channel = pAd->CommonCfg.Channel;
 
-       if ((pAd->CommonCfg.PhyMode >= PHY_11ABGN_MIXED) && (pAd->CommonCfg.RegTransmitSetting.field.BW  == BW_40))
-       {
-               if (Channel > 14)
-               {
-                       if ((Channel == 36) || (Channel == 44) || (Channel == 52) || (Channel == 60) || (Channel == 100) || (Channel == 108) ||
-                           (Channel == 116) || (Channel == 124) || (Channel == 132) || (Channel == 149) || (Channel == 157))
-                       {
-                               pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = EXTCHA_ABOVE;
-                       }
-                       else if ((Channel == 40) || (Channel == 48) || (Channel == 56) || (Channel == 64) || (Channel == 104) || (Channel == 112) ||
-                                       (Channel == 120) || (Channel == 128) || (Channel == 136) || (Channel == 153) || (Channel == 161))
-                       {
-                               pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = EXTCHA_BELOW;
-                       }
-                       else
-                       {
-                               pAd->CommonCfg.RegTransmitSetting.field.BW  = BW_20;
-                       }
-               }
-               else
-               {
-                       do
-                       {
+       if ((pAd->CommonCfg.PhyMode >= PHY_11ABGN_MIXED)
+           && (pAd->CommonCfg.RegTransmitSetting.field.BW == BW_40)) {
+               if (Channel > 14) {
+                       if ((Channel == 36) || (Channel == 44)
+                           || (Channel == 52) || (Channel == 60)
+                           || (Channel == 100) || (Channel == 108)
+                           || (Channel == 116) || (Channel == 124)
+                           || (Channel == 132) || (Channel == 149)
+                           || (Channel == 157)) {
+                               pAd->CommonCfg.RegTransmitSetting.field.EXTCHA =
+                                   EXTCHA_ABOVE;
+                       } else if ((Channel == 40) || (Channel == 48)
+                                  || (Channel == 56) || (Channel == 64)
+                                  || (Channel == 104) || (Channel == 112)
+                                  || (Channel == 120) || (Channel == 128)
+                                  || (Channel == 136) || (Channel == 153)
+                                  || (Channel == 161)) {
+                               pAd->CommonCfg.RegTransmitSetting.field.EXTCHA =
+                                   EXTCHA_BELOW;
+                       } else {
+                               pAd->CommonCfg.RegTransmitSetting.field.BW =
+                                   BW_20;
+                       }
+               } else {
+                       do {
                                UCHAR ExtCh;
-                               UCHAR Dir = pAd->CommonCfg.RegTransmitSetting.field.EXTCHA;
+                               UCHAR Dir =
+                                   pAd->CommonCfg.RegTransmitSetting.field.
+                                   EXTCHA;
                                ExtCh = GetExtCh(Channel, Dir);
                                if (IsValidChannel(pAd, ExtCh))
                                        break;
 
-                               Dir = (Dir == EXTCHA_ABOVE) ? EXTCHA_BELOW : EXTCHA_ABOVE;
+                               Dir =
+                                   (Dir ==
+                                    EXTCHA_ABOVE) ? EXTCHA_BELOW :
+                                   EXTCHA_ABOVE;
                                ExtCh = GetExtCh(Channel, Dir);
-                               if (IsValidChannel(pAd, ExtCh))
-                               {
-                                       pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = Dir;
+                               if (IsValidChannel(pAd, ExtCh)) {
+                                       pAd->CommonCfg.RegTransmitSetting.field.
+                                           EXTCHA = Dir;
                                        break;
                                }
-                               pAd->CommonCfg.RegTransmitSetting.field.BW  = BW_20;
-                       } while(FALSE);
+                               pAd->CommonCfg.RegTransmitSetting.field.BW =
+                                   BW_20;
+                       } while (FALSE);
 
-                       if (Channel == 14)
-                       {
-                               pAd->CommonCfg.RegTransmitSetting.field.BW  = BW_20;
-                               //pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = EXTCHA_NONE; // We didn't set the ExtCh as NONE due to it'll set in RTMPSetHT()
+                       if (Channel == 14) {
+                               pAd->CommonCfg.RegTransmitSetting.field.BW =
+                                   BW_20;
+                               //pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = EXTCHA_NONE; // We didn't set the ExtCh as NONE due to it'll set in RTMPSetHT()
                        }
                }
        }
 
-
 }
 
-
-VOID N_SetCenCh(
-       IN PRTMP_ADAPTER pAd)
+VOID N_SetCenCh(IN PRTMP_ADAPTER pAd)
 {
-       if (pAd->CommonCfg.RegTransmitSetting.field.BW == BW_40)
-       {
-               if (pAd->CommonCfg.RegTransmitSetting.field.EXTCHA == EXTCHA_ABOVE)
-               {
-                       pAd->CommonCfg.CentralChannel = pAd->CommonCfg.Channel + 2;
-               }
-               else
-               {
+       if (pAd->CommonCfg.RegTransmitSetting.field.BW == BW_40) {
+               if (pAd->CommonCfg.RegTransmitSetting.field.EXTCHA ==
+                   EXTCHA_ABOVE) {
+                       pAd->CommonCfg.CentralChannel =
+                           pAd->CommonCfg.Channel + 2;
+               } else {
                        if (pAd->CommonCfg.Channel == 14)
-                               pAd->CommonCfg.CentralChannel = pAd->CommonCfg.Channel - 1;
+                               pAd->CommonCfg.CentralChannel =
+                                   pAd->CommonCfg.Channel - 1;
                        else
-                               pAd->CommonCfg.CentralChannel = pAd->CommonCfg.Channel - 2;
+                               pAd->CommonCfg.CentralChannel =
+                                   pAd->CommonCfg.Channel - 2;
                }
-       }
-       else
-       {
+       } else {
                pAd->CommonCfg.CentralChannel = pAd->CommonCfg.Channel;
        }
 }
 
-
-UINT8 GetCuntryMaxTxPwr(
-       IN PRTMP_ADAPTER pAd,
-       IN UINT8 channel)
+UINT8 GetCuntryMaxTxPwr(IN PRTMP_ADAPTER pAd, IN UINT8 channel)
 {
        int i;
-       for (i = 0; i < pAd->ChannelListNum; i++)
-       {
+       for (i = 0; i < pAd->ChannelListNum; i++) {
                if (pAd->ChannelList[i].Channel == channel)
                        break;
        }