static void rda5802_set_region(int region) { const struct fm_region_data *rd = &fm_region_data[region]; int band = (rd->freq_min == 76000000) ? CHANNEL_BAND_760_900 : CHANNEL_BAND_870_1080; int deemphasis = (rd->deemphasis == 50) ? SYSCONFIG1_DE : 0; uint16_t bandspacing = CHANNEL_BANDw(band) | CHANNEL_SPACEw(CHANNEL_SPACE_50KHZ); rda5802_write_masked(SYSCONFIG1, deemphasis, SYSCONFIG1_DE); rda5802_write_masked(CHANNEL, bandspacing, CHANNEL_BAND | CHANNEL_SPACE); rda5802_write_cache(); }
static void rda5802_set_region(int region) { const struct fm_region_data *rd = &fm_region_data[region]; int band = (rd->freq_min == 76000000) ? CHANNEL_BAND_760_900 : CHANNEL_BAND_870_1080; int deemphasis = (rd->deemphasis == 50) ? SYSCONFIG1_DE : 0; int space = (rd->freq_step == 50000) ? CHANNEL_SPACE_50KHZ : CHANNEL_SPACE_100KHZ; rda5802_write_masked(SYSCONFIG1, deemphasis, SYSCONFIG1_DE); rda5802_write_masked(CHANNEL, CHANNEL_BANDw(band), CHANNEL_BAND); rda5802_write_masked(CHANNEL, CHANNEL_SPACEw(space), CHANNEL_SPACE); rda5802_write_cache(); }