Index: firmware/drivers/tuner/lv24020lp.c =================================================================== --- firmware/drivers/tuner/lv24020lp.c (revision 18053) +++ firmware/drivers/tuner/lv24020lp.c (working copy) @@ -474,7 +474,7 @@ /* start counter, delay for specified time and stop it */ lv24020lp_write_set(CNT_CTRL, CNT_EN); - udelay(duration*1000 - 16); + udelay(duration*1000 - 24); /* CONSTANT! */ lv24020lp_write_clear(CNT_CTRL, CNT_EN); /* read tick count */ @@ -684,10 +684,10 @@ sd_set = tuner_measure(MSS_SD, 1000, 32); - if (abs(sd_set - 38300) <= 31) + if (abs(sd_set - 38000) <= 31) return 0; - return sd_set < 38300 ? -1 : 1; + return sd_set < 38000 ? -1 : 1; } static void set_sleep(bool sleep) @@ -701,12 +701,12 @@ enable_afc(false); - /* 2. Calibrate the IF frequency at 110 kHz: */ + /* 2. Calibrate the intermediate frequency (IF) at 110 kHz: */ lv24020lp_write_clear(RADIO_CTRL2, IF_PM_L); fine_step_tune(if_setcmp, 0x80, 8); lv24020lp_write_set(RADIO_CTRL2, IF_PM_L); - /* 3. Calibrate the stereo decoder clock at 38.3 kHz: */ + /* 3. Calibrate the stereo decoder (SD) clock at 38.0 kHz: */ lv24020lp_write_set(STEREO_CTRL, SD_PM); fine_step_tune(sd_setcmp, 0x80, 8); lv24020lp_write_clear(STEREO_CTRL, SD_PM);