Index: apps/settings.c
===================================================================
RCS file: /cvsroot/rockbox/apps/settings.c,v
retrieving revision 1.414
diff -u -u -r1.414 settings.c
--- apps/settings.c	5 Sep 2006 11:59:02 -0000	1.414
+++ apps/settings.c	5 Sep 2006 19:24:16 -0000
@@ -324,7 +324,9 @@
             "backlight filters first remote keypress", off_on },
 #endif
 #endif /* CONFIG_BACKLIGHT */
-
+#if CONFIG_TUNER == TEA5767
+    {1, S_O(fm_deemphasis), 0, "fm_deemphasis", "50,75" },
+#endif
     /* new stuff to be added here */
     /* If values are just added to the end, no need to bump the version. */
 
Index: apps/settings.h
===================================================================
RCS file: /cvsroot/rockbox/apps/settings.h,v
retrieving revision 1.236
diff -u -u -r1.236 settings.h
--- apps/settings.h	2 Sep 2006 19:11:00 -0000	1.236
+++ apps/settings.h	5 Sep 2006 19:24:16 -0000
@@ -319,6 +319,9 @@
                             only 88MHz-108MHz */
     int last_frequency;  /* Last frequency for resuming, in FREQ_STEP units,
                             relative to MIN_FREQ */
+#if CONFIG_TUNER == TEA5767
+    int fm_deemphasis;   /* 0 = 50us, 1 = 75us */
+#endif
 #endif
 
     int max_files_in_dir; /* Max entries in directory (file browser) */
Index: apps/lang/english.lang
===================================================================
RCS file: /cvsroot/rockbox/apps/lang/english.lang,v
retrieving revision 1.275
diff -u -u -r1.275 english.lang
--- apps/lang/english.lang	28 Aug 2006 22:43:46 -0000	1.275
+++ apps/lang/english.lang	5 Sep 2006 19:24:19 -0000
@@ -9792,3 +9792,43 @@
     *: "kilobits per second"
   </voice>
 </phrase>
+<phrase>
+  id: LANG_FM_DEEMPHASIS
+  desc: fm tuner deemphasis setting
+  <source>
+    *: "De-emphasis"
+  </source>
+  <dest>
+    *: "De-emphasis"
+  </dest>
+  <voice>
+    *: "De-emphasis"
+  </voice>
+</phrase>
+<phrase>
+  id: LANG_FM_DEEMPHASIS_50
+  desc: fm tuner deemphasis 50us
+  <source>
+    *: "50µs (Europe)"
+  </source>
+  <dest>
+    *: "50µs (Europe)"
+  </dest>
+  <voice>
+    *: "50µs (Europe)"
+  </voice>
+</phrase>
+<phrase>
+  id: LANG_FM_DEEMPHASIS_75
+  desc: fm tuner deemphasis 75us
+  <source>
+    *: "75µs (US)"
+  </source>
+  <dest>
+    *: "75µs (US)"
+  </dest>
+  <voice>
+    *: "75µs (US)"
+  </voice>
+</phrase>
+
Index: apps/recorder/radio.c
===================================================================
RCS file: /cvsroot/rockbox/apps/recorder/radio.c,v
retrieving revision 1.103
diff -u -u -r1.103 radio.c
--- apps/recorder/radio.c	28 Aug 2006 22:38:40 -0000	1.103
+++ apps/recorder/radio.c	5 Sep 2006 19:24:20 -0000
@@ -1487,6 +1487,26 @@
     return false;
 }
 
+#if CONFIG_TUNER == TEA5767
+char deemphasis_menu_string[32];
+static void create_deemphasis_menu(void)
+{
+    snprintf(deemphasis_menu_string, sizeof deemphasis_menu_string,
+	    "%s: %s", str(LANG_FM_DEEMPHASIS),
+	    global_settings.fm_deemphasis?
+	    str(LANG_FM_DEEMPHASIS_75):str(LANG_FM_DEEMPHASIS_50));
+}
+
+static bool toggle_deemphasis_mode(void)
+{
+    global_settings.fm_deemphasis = !global_settings.fm_deemphasis;
+    radio_set(RADIO_SET_DEEMPHASIS, global_settings.fm_deemphasis);
+    settings_save();
+    create_deemphasis_menu();
+    return false;
+}
+#endif
+
 #ifndef FM_MODE
 char radiomode_menu_string[32];
 
@@ -1677,6 +1697,9 @@
 #ifndef FM_MODE
         { radiomode_menu_string          , toggle_radio_mode     },
 #endif
+#if CONFIG_TUNER == TEA5767
+        { deemphasis_menu_string           , toggle_deemphasis_mode  },
+#endif
         { ID2P(LANG_SOUND_SETTINGS)      , sound_menu            },
 #ifndef SIMULATOR
 #if defined(HAVE_FMRADIO_IN) || CONFIG_CODEC != SWCODEC
@@ -1691,6 +1714,9 @@
 #ifndef FM_MODE
     create_radiomode_menu();
 #endif
+#if CONFIG_TUNER == TEA5767
+    create_deemphasis_menu();
+#endif
     m = menu_init(items, sizeof(items) / sizeof(*items),
                   radio_menu_cb, NULL, NULL, NULL);
     result = menu_run(m);
Index: firmware/tuner_philips.c
===================================================================
RCS file: /cvsroot/rockbox/firmware/tuner_philips.c,v
retrieving revision 1.9
diff -u -u -r1.9 tuner_philips.c
--- firmware/tuner_philips.c	24 Sep 2005 09:06:31 -0000	1.9
+++ firmware/tuner_philips.c	5 Sep 2006 19:24:20 -0000
@@ -5,7 +5,7 @@
  *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
  *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
  *                     \/            \/     \/    \/            \/
- * $Id: tuner_philips.c,v 1.9 2005-09-24 09:06:31 amiconn Exp $
+ * $Id: tuner_philips.c,v 1.9 2005/09/24 09:06:31 amiconn Exp $
  * Tuner "middleware" for Philips TEA5767 chip
  *
  * Copyright (C) 2004 Jörg Hohensohn
@@ -73,6 +73,11 @@
             fmradio_i2c_write(I2C_ADR, write_bytes, sizeof(write_bytes));
             break;
 
+	case RADIO_SET_DEEMPHASIS:
+	    write_bytes[4] = (write_bytes[4] & ~(1<<6)) | (value ? (1<<6) : 0);
+	    fmradio_i2c_write(I2C_ADR, write_bytes, sizeof(write_bytes));
+	    break;
+
         default:
             return;
     }
Index: firmware/export/tuner.h
===================================================================
RCS file: /cvsroot/rockbox/firmware/export/tuner.h,v
retrieving revision 1.3
diff -u -u -r1.3 tuner.h
--- firmware/export/tuner.h	19 Oct 2004 08:20:38 -0000	1.3
+++ firmware/export/tuner.h	5 Sep 2006 19:24:20 -0000
@@ -5,7 +5,7 @@
  *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
  *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
  *                     \/            \/     \/    \/            \/
- * $Id: tuner.h,v 1.3 2004-10-19 08:20:38 hohensoh Exp $
+ * $Id: tuner.h,v 1.3 2004/10/19 08:20:38 hohensoh Exp $
  * Tuner abstraction layer
  *
  * Copyright (C) 2004 Jörg Hohensohn
@@ -27,6 +27,7 @@
 #define RADIO_IF_MEASUREMENT 3
 #define RADIO_SENSITIVITY 4
 #define RADIO_FORCE_MONO 5
+#define RADIO_SET_DEEMPHASIS 6
 /* readback from the tuner layer */
 #define RADIO_PRESENT 0
 #define RADIO_TUNED 1
