1 /* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef ANDROID_HARDWARE_RADIO_REGIONS_H 18 #define ANDROID_HARDWARE_RADIO_REGIONS_H 19 20 namespace android { 21 22 #define RADIO_BAND_LOWER_FM_ITU1 87500 23 #define RADIO_BAND_UPPER_FM_ITU1 108000 24 #define RADIO_BAND_SPACING_FM_ITU1 100 25 26 #define RADIO_BAND_LOWER_FM_ITU2 87900 27 #define RADIO_BAND_UPPER_FM_ITU2 107900 28 #define RADIO_BAND_SPACING_FM_ITU2 200 29 30 #define RADIO_BAND_LOWER_FM_JAPAN 76000 31 #define RADIO_BAND_UPPER_FM_JAPAN 90000 32 #define RADIO_BAND_SPACING_FM_JAPAN 100 33 34 #define RADIO_BAND_LOWER_FM_OIRT 65800 35 #define RADIO_BAND_UPPER_FM_OIRT 74000 36 #define RADIO_BAND_SPACING_FM_OIRT 10 37 38 #define RADIO_BAND_LOWER_LW 153 39 #define RADIO_BAND_UPPER_LW 279 40 #define RADIO_BAND_SPACING_LW 9 41 42 #define RADIO_BAND_LOWER_MW_IUT1 531 43 #define RADIO_BAND_UPPER_MW_ITU1 1611 44 #define RADIO_BAND_SPACING_MW_ITU1 9 45 46 #define RADIO_BAND_LOWER_MW_IUT2 540 47 #define RADIO_BAND_UPPER_MW_ITU2 1610 48 #define RADIO_BAND_SPACING_MW_ITU2 10 49 50 #define RADIO_BAND_LOWER_SW 2300 51 #define RADIO_BAND_UPPER_SW 26100 52 #define RADIO_BAND_SPACING_SW 5 53 54 55 #ifndef ARRAY_SIZE 56 #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) 57 #endif 58 59 const radio_band_config_t sKnownRegionConfigs[] = { 60 { // FM ITU 1 61 RADIO_REGION_ITU_1, 62 { 63 RADIO_BAND_FM, 64 false, 65 RADIO_BAND_LOWER_FM_ITU1, 66 RADIO_BAND_UPPER_FM_ITU1, 67 1, 68 {RADIO_BAND_SPACING_FM_ITU1}, 69 { 70 RADIO_DEEMPHASIS_50, 71 true, 72 RADIO_RDS_WORLD, 73 true, 74 true, 75 } 76 } 77 }, 78 { // FM Americas 79 RADIO_REGION_ITU_2, 80 { 81 RADIO_BAND_FM, 82 false, 83 RADIO_BAND_LOWER_FM_ITU2, 84 RADIO_BAND_UPPER_FM_ITU2, 85 1, 86 {RADIO_BAND_SPACING_FM_ITU2}, 87 { 88 RADIO_DEEMPHASIS_75, 89 true, 90 RADIO_RDS_US, 91 true, 92 true, 93 } 94 } 95 }, 96 { // FM Japan 97 RADIO_REGION_JAPAN, 98 { 99 RADIO_BAND_FM, 100 false, 101 RADIO_BAND_LOWER_FM_JAPAN, 102 RADIO_BAND_UPPER_FM_JAPAN, 103 1, 104 {RADIO_BAND_SPACING_FM_JAPAN}, 105 { 106 RADIO_DEEMPHASIS_50, 107 true, 108 RADIO_RDS_WORLD, 109 true, 110 true, 111 } 112 } 113 }, 114 { // FM Korea 115 RADIO_REGION_KOREA, 116 { 117 RADIO_BAND_FM, 118 false, 119 RADIO_BAND_LOWER_FM_ITU1, 120 RADIO_BAND_UPPER_FM_ITU1, 121 1, 122 {RADIO_BAND_SPACING_FM_ITU1}, 123 { 124 RADIO_DEEMPHASIS_75, 125 true, 126 RADIO_RDS_WORLD, 127 true, 128 true, 129 } 130 } 131 }, 132 { // FM OIRT 133 RADIO_REGION_OIRT, 134 { 135 RADIO_BAND_FM, 136 false, 137 RADIO_BAND_LOWER_FM_OIRT, 138 RADIO_BAND_UPPER_FM_OIRT, 139 1, 140 {RADIO_BAND_SPACING_FM_OIRT}, 141 { 142 RADIO_DEEMPHASIS_50, 143 true, 144 RADIO_RDS_WORLD, 145 true, 146 true, 147 } 148 } 149 }, 150 { // FM US HD radio 151 RADIO_REGION_ITU_2, 152 { 153 RADIO_BAND_FM_HD, 154 false, 155 RADIO_BAND_LOWER_FM_ITU2, 156 RADIO_BAND_UPPER_FM_ITU2, 157 1, 158 {RADIO_BAND_SPACING_FM_ITU2}, 159 { 160 RADIO_DEEMPHASIS_75, 161 true, 162 RADIO_RDS_US, 163 true, 164 true, 165 } 166 } 167 }, 168 { // AM LW 169 RADIO_REGION_ITU_1, 170 { 171 RADIO_BAND_AM, 172 false, 173 RADIO_BAND_LOWER_LW, 174 RADIO_BAND_UPPER_LW, 175 1, 176 {RADIO_BAND_SPACING_LW}, 177 { 178 } 179 } 180 }, 181 { // AM SW 182 RADIO_REGION_ITU_1, 183 { 184 RADIO_BAND_AM, 185 false, 186 RADIO_BAND_LOWER_SW, 187 RADIO_BAND_UPPER_SW, 188 1, 189 {RADIO_BAND_SPACING_SW}, 190 { 191 } 192 } 193 }, 194 { // AM MW ITU1 195 RADIO_REGION_ITU_1, 196 { 197 RADIO_BAND_AM, 198 false, 199 RADIO_BAND_LOWER_MW_IUT1, 200 RADIO_BAND_UPPER_MW_ITU1, 201 1, 202 {RADIO_BAND_SPACING_MW_ITU1}, 203 { 204 } 205 } 206 }, 207 { // AM MW ITU2 208 RADIO_REGION_ITU_2, 209 { 210 RADIO_BAND_AM, 211 false, 212 RADIO_BAND_LOWER_MW_IUT2, 213 RADIO_BAND_UPPER_MW_ITU2, 214 1, 215 {RADIO_BAND_SPACING_MW_ITU2}, 216 { 217 } 218 } 219 } 220 }; 221 222 223 } // namespace android 224 225 #endif // ANDROID_HARDWARE_RADIO_REGIONS_H 226