Hi Team,
My customer wants to use total 3 Mic. for their design and found some problems.
The work mode is as below.
1. while no external Mic3. plugin, the internal Mic1. and Mic2 are turn on.
2. Once the external Mic3. plugin, internal Mic1 and Mic2 need to be turned off
However, when Mic3 exists, they cannot turn off Mic1 and Mic2, all of 3 Mic. can hear the sound.
BTW, Mic3 can be turned off in this situation.
Please help to check if this is a setting issue or a hardware limitation.
Thanks.
Here is the code:
// internal mic
aud_i2c_write(0x00, 0x01); // Goto Page 1
aud_i2c_write(0x33, 0x68); // Mic Bias enabled, Source = LDO_IN, 2.5V
aud_i2c_write(0x34, 0x10); // 52: Left MICPGA Positive Terminal Input Routing Configuration Register, IN2L is routed to Left MICPGA with 10k resistance
aud_i2c_write(0x36, 0x10); // 54: Left MICPGA Negative Terminal Input Routing Configuration Register, IN2R is routed to Left MICPGA with 10k resistance
aud_i2c_write(0x37, 0x40); // 55: Right MICPGA Positive Terminal Input Routing Configuration Register, IN1R is routed to Right MICPGA with 10k resistance
aud_i2c_write(0x39, 0x10); // 57: Right MICPGA Negative Terminal Input Routing Configuration Register, IN1L is routed to Right MICPGA with 10k resistance
aud_i2c_write(0x3A, 0xF0); // Floating Input Configuration Register
// external mic
aud_i2c_write(0x00, 0x01); // Goto Page 1
aud_i2c_write(0x33, 0x68); // Mic Bias enabled, Source = LDO_IN, 2.5V
aud_i2c_write(0x34, 0x04); // 52: Left MICPGA Positive Terminal Input Routing Configuration Register, IN3L is routed to Left MICPGA with 10k resistance
aud_i2c_write(0x36, 0x04); // 54: Left MICPGA Negative Terminal Input Routing Configuration Register, IN3R is routed to Left MICPGA with 10k resistance
aud_i2c_write(0x37, 0x04); // 55: Right MICPGA Positive Terminal Input Routing Configuration Register, IN3R is routed to Right MICPGA with 10k resistance
aud_i2c_write(0x39, 0x04); // 57: Right MICPGA Negative Terminal Input Routing Configuration Register, IN3L is routed to Right MICPGA with 10k resistance
aud_i2c_write(0x3A, 0x0C); // Floating Input Configuration Register
And the schematics: