Skip to content

Commit c108eb2

Browse files
author
mkuettner97
committed
run dsp at 192kHz instead of 48kHz to prevent feedback in transparancy mode
1 parent da9ed69 commit c108eb2

2 files changed

Lines changed: 37 additions & 13 deletions

File tree

src/drivers/ADAU1860.cpp

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,12 +175,33 @@ int ADAU1860::begin() {
175175
// uint8_t spt0_route1 = 40; // DMIC Channel 1
176176
// writeReg(registers::SPT0_ROUTE1, &spt0_route1, sizeof(spt0_route1));
177177

178-
uint8_t ascro0_route = 35; // DMIC Channel 0
178+
uint8_t fdec_pwr = 0x03; // FDEC0_EN | FDEC1_EN
179+
writeReg(registers::FDEC_PWR, &fdec_pwr, sizeof(fdec_pwr));
180+
181+
uint8_t fdec_ctrl1 = 0x24; // 192khz to 48kHz
182+
writeReg(registers::FDEC_CTRL1, &fdec_ctrl1, sizeof(fdec_ctrl1));
183+
184+
uint8_t fdec_route0 = 39; // DMIC Channel 0
185+
writeReg(registers::FDEC_ROUTE0, &fdec_route0, sizeof(fdec_route0));
186+
187+
uint8_t fdec_route1 = 40; // DMIC Channel 1
188+
writeReg(registers::FDEC_ROUTE1, &fdec_route1, sizeof(fdec_route1));
189+
190+
uint8_t ascro0_route = 39; // FDEC Channel 0
179191
writeReg(registers::ASRCO_ROUTE0, &ascro0_route, sizeof(ascro0_route));
180192

181-
uint8_t ascro1_route = 36; // DMIC Channel 1
193+
uint8_t ascro1_route = 40; // FDEC Channel 1
182194
writeReg(registers::ASRCO_ROUTE1, &ascro1_route, sizeof(ascro1_route));
183195

196+
/*uint8_t fint_pwr = 0x01; // FINT0_EN
197+
writeReg(registers::FINT_PWR, &fint_pwr, sizeof(fint_pwr));
198+
199+
uint8_t fint_ctrl1 = 0x42; // 48kHz to 192kHz
200+
writeReg(registers::FINT_CTRL1, &fint_ctrl1, sizeof(fint_ctrl1));
201+
202+
uint8_t fint_route0 = 75; // EQ
203+
writeReg(registers::FINT_ROUTE0, &fint_route0, sizeof(fint_route0));*/
204+
184205
uint8_t spt0_route0 = 32; // ASCRO 0
185206
writeReg(registers::SPT0_ROUTE0, &spt0_route0, sizeof(spt0_route0));
186207

@@ -195,7 +216,7 @@ int ADAU1860::begin() {
195216
uint8_t dmic_ctrl1 = 0x34; // ... | 6.144 MHz
196217
writeReg(registers::DMIC_CTRL1, &dmic_ctrl1, sizeof(dmic_ctrl1));
197218

198-
uint8_t dmic_ctrl2 = 0x02; // 48kHz
219+
uint8_t dmic_ctrl2 = 0x04; // 192kHz
199220
writeReg(registers::DMIC_CTRL2, &dmic_ctrl2, sizeof(dmic_ctrl2));
200221
} else {
201222
// I2S_IN enable
@@ -244,6 +265,9 @@ int ADAU1860::setup_DAC() {
244265
uint8_t hpldo_ctrl = 0x01;
245266
writeReg(registers::HPLDO_CTRL, &hpldo_ctrl, sizeof(hpldo_ctrl));
246267

268+
uint8_t dac_ctrl1 = 0x04; // 192kz
269+
writeReg(registers::DAC_CTRL1, &dac_ctrl1, sizeof(dac_ctrl1));
270+
247271
// DAC_NOISE_CTRL1&2
248272
uint8_t dac_noise_1 = 0x10;
249273
uint8_t dac_noise_2 = 0x02;

src/drivers/Lark-fdsp.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,18 @@ uint32_t fdsp_param_bank_a[5][10] =
4242

4343
uint32_t fdsp_param_bank_b[5][10] =
4444
{
45-
{0x07D19614, 0x0856E0D4, 0x05BE7F17, 0x08000C80, 0x17F00000, 0xC9F00000, 0xD1A40000, 0xC8000000, 0x00000000, 0x00000000},
46-
{0xF06710F4, 0xF22267DA, 0xF70710E3, 0x04000D00, 0x00000000, 0x00000000, 0x05000000, 0x00000000, 0x00000000, 0x00000000},
47-
{0x07C75D41, 0x0603EEA5, 0x053E298E, 0x00010000, 0x02014700, 0x00014700, 0x08000000, 0x00000000, 0x00000000, 0x00000000},
48-
{0x0F981AA1, 0x0DDD9826, 0x08F8EF1D, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
49-
{0xF866383F, 0xF9A53086, 0xFD03575A, 0x82080000, 0x04000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000}
45+
{0x07F44096, 0x0817C80D, 0x0738E023, 0x08000C80, 0x17F00000, 0xC9F00000, 0xD1A40000, 0xC8000000, 0x00000000, 0x00000000},
46+
{0xF01A19E9, 0xF07BD10B, 0xF1E5A0E2, 0x04000D00, 0x00000000, 0x00000000, 0x04800000, 0x00000000, 0x00000000, 0x00000000},
47+
{0x07F1A5C6, 0x0774ECCA, 0x070CA02B, 0x00010000, 0x02014700, 0x00014700, 0x08000000, 0x00000000, 0x00000000, 0x00000000},
48+
{0x0FE5D88E, 0x0F842EF5, 0x0E1A5F1E, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
49+
{0xF81A0C1B, 0xF8734B28, 0xF9BA7FB1, 0x82080000, 0x04000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000}
5050
};
5151

5252
uint32_t fdsp_param_bank_c[5][10] =
5353
{
54-
{0x0014F474, 0x0014F474, 0x0014F474, 0x00000C80, 0x17F00000, 0xC9F00000, 0xD1A40000, 0xC8000000, 0x00000000, 0x00000000},
55-
{0xFFD7273C, 0xFFD7273C, 0xFFD7273C, 0x00000D00, 0x00000000, 0x00000000, 0xFB000000, 0x00000000, 0x00000000, 0x00000000},
56-
{0x0013E8B4, 0x0013E8B4, 0x0013E8B4, 0x00000300, 0x02014700, 0x00014700, 0x08000000, 0x00000000, 0x00000000, 0x00000000},
57-
{0x0FF5861A, 0x0FF5861A, 0x0FF5861A, 0x00000300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
58-
{0xF80A7582, 0xF80A7582, 0xF80A7582, 0x80000000, 0x04000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000}
54+
{0x00149920, 0x00149920, 0x00149920, 0x00000C80, 0x17F00000, 0xC9F00000, 0xD1A40000, 0xC8000000, 0x00000000, 0x00000000},
55+
{0xFFD71116, 0xFFD71116, 0xFFD71116, 0x00000D00, 0x00000000, 0x00000000, 0xFC000000, 0x00000000, 0x00000000, 0x00000000},
56+
{0x0014560F, 0x0014560F, 0x0014560F, 0x00000300, 0x02014700, 0x00014700, 0x08000000, 0x00000000, 0x00000000, 0x00000000},
57+
{0x0FFD6111, 0x0FFD6111, 0x0FFD6111, 0x00000300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
58+
{0xF8029EA9, 0xF8029EA9, 0xF8029EA9, 0x80000000, 0x04000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000}
5959
};

0 commit comments

Comments
 (0)