Move some settings into cfg file.
[bertos.git] / bertos / drv / wm8731.c
index 2a921792e49e3ed65278a9b4c4bf0d249bfdf61a..3bb09f28dcc88f2777c63d8028ad755399d24537 100644 (file)
@@ -153,14 +153,13 @@ void wm8731_init(Wm8731 *ctx, I2c *i2c, uint8_t codec_addr)
        /* Configure the codec */
        wm8731_write(ctx, WM8731_REG_DIGITAL_PATH_CTRL, CONFIG_WM8731_DEEMP | CONFIG_WM8731_DAPC |
                                                (CONFIG_WM8731_DACMU << WM8731_DACMU));
-       wm8731_write(ctx, WM8731_REG_ANALOGUE_PATH_CTRL, (CONFIG_WM8731_MICBOOST ? WM8731_MICBOOST : ~WM8731_MICBOOST) |
+       wm8731_write(ctx, WM8731_REG_ANALOGUE_PATH_CTRL, (CONFIG_WM8731_MICBOOST ? BV(WM8731_MICBOOST) : ~BV(WM8731_MICBOOST)) |
                                                CONFIG_WM8731_INSEL | CONFIG_WM8731_BYPASS | CONFIG_WM8731_SIDEATT);
-
-       wm8731_write(ctx, WM8731_REG_DA_INTERFACE_FORMAT, 0x2);
-       wm8731_write(ctx, WM8731_REG_SAMPLECTRL, 0x6);
-
-       wm8731_write(ctx, WM8731_REG_ACTIVE_CTRL, 1);
+       wm8731_write(ctx, WM8731_REG_DA_INTERFACE_FORMAT, CONFIG_WM8731_INTERFACE_FORMAT | CONFIG_WM8731_IWL_BITS |
+                                               (CONFIG_WM8731_MS ? BV(WM8731_MS_BIT) : ~BV(WM8731_MS_BIT)));
+       wm8731_write(ctx, WM8731_REG_SAMPLECTRL, CONFIG_WM8731_SAMPLING_RATES);
 
        /* By default we turn on all devices and disable only the outclock */
+       wm8731_write(ctx, WM8731_REG_ACTIVE_CTRL, 1);
        wm8731_write(ctx, WM8731_REG_PWDOWN_CTRL, 0x47);
 }