/* 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);
}