-#if !CONFIG_I2C_DISABLE_OLD_API
-
-static bool tas5706a_send(tas_addr_t addr, const void *buf, size_t len)
-{
- bool ret = i2c_start_w(TAS_ADDR) && i2c_put(addr) && i2c_send(buf, len);
- i2c_stop();
- return ret;
-}
-
-INLINE bool tas5706a_put(tas_addr_t addr, uint8_t ch)
-{
- return tas5706a_send(addr, &ch, sizeof(ch));
-}
-
-static bool tas5706a_recv(tas_addr_t addr, void *buf, size_t len)
-{
- bool ret = i2c_start_w(TAS_ADDR) && i2c_put(addr) && i2c_start_r(TAS_ADDR) && i2c_recv(buf, len);
- i2c_stop();
- return ret;
-}
-
-INLINE int tas5706a_get(tas_addr_t addr)
-{
- uint8_t ch;
- if (tas5706a_recv(addr, &ch, sizeof(ch)))
- return (int)(uint8_t)ch;
- else
- return EOF;
-}
-
-void tas5706a_init_0(void)
-{
- MOD_CHECK(i2c);
- MOD_CHECK(timer);
- TAS5706A_PIN_INIT();
- timer_delay(200);
- TAS5706A_SETPOWERDOWN(false);
- TAS5706A_SETMUTE(false);
- TAS5706A_MCLK_INIT();
- timer_delay(2);
- TAS5706A_SETRESET(false);
- timer_delay(20);
- tas5706a_put(TRIM_REG, 0x00);
-
- tas5706a_put(VOLUME_REG, DB_TO_REG(CONFIG_TAS_MAX_VOL));
-
- /* Unmute */
- tas5706a_put(SYS_REG2, 0);
-}
-
-void tas5706a_setVolume_2(Tas5706aCh ch, tas5706a_vol_t vol)