This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TWL6040 High-performance mode

Other Parts Discussed in Thread: TWL6040, TWL6030

Hi

The datasheet for the TWL6040 claims a dynamic range increase of 5 dB when using High-performance mode (HP) mode. I am not getting this improvement on my device when switching from LP to HP mode.

Thanks Matt


Device = Galaxy Nexus (GT-I9250)
Kernel = 3.0.31-gd5a18e0-dirty
MCLK = 38.4 MHz


HP mode
Frequency response (from 40 Hz to 15 kHz), dB: +0.11, -0.71
Noise level, dB (A): -91.0
Dynamic range, dB (A): 91.0
THD, %: 0.0088
IMD + Noise, %: 0.014
Stereo crosstalk, dB: -82.2

LP mode
Frequency response (from 40 Hz to 15 kHz), dB: +0.14, -0.99
Noise level, dB (A): -90.2
Dynamic range, dB (A): 90.2
THD, %: 0.0053
IMD + Noise, %: 0.012
Stereo crosstalk, dB: -81.6


HP mode
TWL6040_REG_HPPLLCTL 0x07 = 0x6c
TWL6040_REG_LPPLLCTL 0x08 = 0x10
TWL6040_REG_HSLCTL 0x10 = 0x25
TWL6040_REG_HSRCTL 0x11 = 0x25

LP mode
TWL6040_REG_HPPLLCTL 0x07 = 0x60
TWL6040_REG_LPPLLCTL 0x08 = 0x01
TWL6040_REG_HSLCTL 0x10 = 0x2f
TWL6040_REG_HSRCTL 0x11 = 0x2f

Tinymix HP mode

ctl type num name                                     value
0 ENUM 1 DL1 Equalizer                            Flat response
1 ENUM 1 DL2 Left Equalizer                       450Hz High-pass
2 ENUM 1 DL2 Right Equalizer                      450Hz High-pass
3 ENUM 1 Sidetone Equalizer                       Flat response
4 ENUM 1 AMIC Equalizer                           High-pass 0dB
5 ENUM 1 DMIC Equalizer                           High-pass 0dB
6 INT 1 DL1 Media Playback Volume                120
7 INT 1 DL1 Tones Playback Volume                120
8 INT 1 DL1 Voice Playback Volume                120
9 INT 1 DL1 Capture Playback Volume              0
10 INT 1 DL2 Media Playback Volume                120
11 INT 1 DL2 Tones Playback Volume                120
12 INT 1 DL2 Voice Playback Volume                120
13 INT 1 DL2 Capture Playback Volume              0
14 INT 1 VXREC Media Volume                       0
15 INT 1 VXREC Tones Volume                       0
16 INT 1 VXREC Voice DL Volume                    0
17 INT 1 VXREC Voice UL Volume                    0
18 INT 1 AUDUL Media Volume                       0
19 INT 1 AUDUL Tones Volume                       0
20 INT 1 AUDUL Voice UL Volume                    120
21 INT 1 AUDUL Voice DL Volume                    0
22 INT 1 SDT UL Volume                            103
23 INT 1 SDT DL Volume                            120
24 INT 2 DMIC1 UL Volume                          120 120
25 INT 2 DMIC2 UL Volume                          120 120
26 INT 2 DMIC3 UL Volume                          120 120
27 INT 2 AMIC UL Volume                           120 120
28 INT 2 BT UL Volume                             120 120
29 BOOL 1 DL1 Mono Mixer                           Off
30 BOOL 1 DL2 Mono Mixer                           Off
31 BOOL 1 AUDUL Mono Mixer                         Off
32 BOOL 1 DL1 MM_EXT Switch                        Off
33 BOOL 1 DL1 BT_VX Switch                         Off
34 BOOL 1 DL1 PDM Switch                           On
35 BOOL 1 Sidetone Mixer Capture                   Off
36 BOOL 1 Sidetone Mixer Playback                  On
37 BOOL 1 Capture Mixer Tones                      Off
38 BOOL 1 Capture Mixer Voice Playback             Off
39 BOOL 1 Capture Mixer Voice Capture              Off
40 BOOL 1 Capture Mixer Media Playback             Off
41 BOOL 1 Voice Capture Mixer Tones Playback       Off
42 BOOL 1 Voice Capture Mixer Media Playback       Off
43 BOOL 1 Voice Capture Mixer Capture              Off
44 BOOL 1 DL2 Mixer Tones                          Off
45 BOOL 1 DL2 Mixer Voice                          Off
46 BOOL 1 DL2 Mixer Capture                        Off
47 BOOL 1 DL2 Mixer Multimedia                     Off
48 BOOL 1 DL1 Mixer Tones                          On
49 BOOL 1 DL1 Mixer Voice                          Off
50 BOOL 1 DL1 Mixer Capture                        Off
51 BOOL 1 DL1 Mixer Multimedia                     On
52 ENUM 1 MUX_VX1                                  None
53 ENUM 1 MUX_VX0                                  None
54 ENUM 1 MUX_UL11                                 None
55 ENUM 1 MUX_UL10                                 None
56 ENUM 1 MUX_UL07                                 None
57 ENUM 1 MUX_UL06                                 None
58 ENUM 1 MUX_UL05                                 None
59 ENUM 1 MUX_UL04                                 None
60 ENUM 1 MUX_UL03                                 None
61 ENUM 1 MUX_UL02                                 None
62 ENUM 1 MUX_UL01                                 None
63 ENUM 1 MUX_UL00                                 None
64 INT 2 Capture Preamplifier Volume              1 1
65 INT 2 Capture Volume                           4 4
66 INT 2 Aux FM Volume                            3 3
67 INT 2 Headset Playback Volume                  12 12
68 INT 2 Handsfree Playback Volume                27 27
69 INT 1 Earphone Playback Volume                 11
70 ENUM 1 Headset Power Mode                       High-Performance
71 BOOL 1 Earphone Enable Switch                   Off
72 ENUM 1 HS Right Playback                        HS DAC
73 ENUM 1 HS Left Playback                         HS DAC
74 ENUM 1 HF Right Playback                        Off
75 ENUM 1 HF Left Playback                         Off
76 ENUM 1 Analog Right Capture Route               Off
77 ENUM 1 Analog Left Capture Route                Off
78 ENUM 1 TWL6040 Power Mode                       High-Performance

Tinymix LP mode
ctl type num name                                     value
0 ENUM 1 DL1 Equalizer                            Flat response
1 ENUM 1 DL2 Left Equalizer                       450Hz High-pass
2 ENUM 1 DL2 Right Equalizer                      450Hz High-pass
3 ENUM 1 Sidetone Equalizer                       Flat response
4 ENUM 1 AMIC Equalizer                           High-pass 0dB
5 ENUM 1 DMIC Equalizer                           High-pass 0dB
6 INT 1 DL1 Media Playback Volume                120
7 INT 1 DL1 Tones Playback Volume                120
8 INT 1 DL1 Voice Playback Volume                120
9 INT 1 DL1 Capture Playback Volume              0
10 INT 1 DL2 Media Playback Volume                120
11 INT 1 DL2 Tones Playback Volume                120
12 INT 1 DL2 Voice Playback Volume                120
13 INT 1 DL2 Capture Playback Volume              0
14 INT 1 VXREC Media Volume                       0
15 INT 1 VXREC Tones Volume                       0
16 INT 1 VXREC Voice DL Volume                    0
17 INT 1 VXREC Voice UL Volume                    0
18 INT 1 AUDUL Media Volume                       0
19 INT 1 AUDUL Tones Volume                       0
20 INT 1 AUDUL Voice UL Volume                    120
21 INT 1 AUDUL Voice DL Volume                    0
22 INT 1 SDT UL Volume                            103
23 INT 1 SDT DL Volume                            120
24 INT 2 DMIC1 UL Volume                          120 120
25 INT 2 DMIC2 UL Volume                          120 120
26 INT 2 DMIC3 UL Volume                          120 120
27 INT 2 AMIC UL Volume                           120 120
28 INT 2 BT UL Volume                             120 120
29 BOOL 1 DL1 Mono Mixer                           Off
30 BOOL 1 DL2 Mono Mixer                           Off
31 BOOL 1 AUDUL Mono Mixer                         Off
32 BOOL 1 DL1 MM_EXT Switch                        Off
33 BOOL 1 DL1 BT_VX Switch                         Off
34 BOOL 1 DL1 PDM Switch                           On
35 BOOL 1 Sidetone Mixer Capture                   Off
36 BOOL 1 Sidetone Mixer Playback                  On
37 BOOL 1 Capture Mixer Tones                      Off
38 BOOL 1 Capture Mixer Voice Playback             Off
39 BOOL 1 Capture Mixer Voice Capture              Off
40 BOOL 1 Capture Mixer Media Playback             Off
41 BOOL 1 Voice Capture Mixer Tones Playback       Off
42 BOOL 1 Voice Capture Mixer Media Playback       Off
43 BOOL 1 Voice Capture Mixer Capture              Off
44 BOOL 1 DL2 Mixer Tones                          Off
45 BOOL 1 DL2 Mixer Voice                          Off
46 BOOL 1 DL2 Mixer Capture                        Off
47 BOOL 1 DL2 Mixer Multimedia                     Off
48 BOOL 1 DL1 Mixer Tones                          On
49 BOOL 1 DL1 Mixer Voice                          Off
50 BOOL 1 DL1 Mixer Capture                        Off
51 BOOL 1 DL1 Mixer Multimedia                     On
52 ENUM 1 MUX_VX1                                  None
53 ENUM 1 MUX_VX0                                  None
54 ENUM 1 MUX_UL11                                 None
55 ENUM 1 MUX_UL10                                 None
56 ENUM 1 MUX_UL07                                 None
57 ENUM 1 MUX_UL06                                 None
58 ENUM 1 MUX_UL05                                 None
59 ENUM 1 MUX_UL04                                 None
60 ENUM 1 MUX_UL03                                 None
61 ENUM 1 MUX_UL02                                 None
62 ENUM 1 MUX_UL01                                 None
63 ENUM 1 MUX_UL00                                 None
64 INT 2 Capture Preamplifier Volume              1 1
65 INT 2 Capture Volume                           4 4
66 INT 2 Aux FM Volume                            3 3
67 INT 2 Headset Playback Volume                  12 12
68 INT 2 Handsfree Playback Volume                27 27
69 INT 1 Earphone Playback Volume                 11
70 ENUM 1 Headset Power Mode                       Low-Power
71 BOOL 1 Earphone Enable Switch                   Off
72 ENUM 1 HS Right Playback                        HS DAC
73 ENUM 1 HS Left Playback                         HS DAC
74 ENUM 1 HF Right Playback                        Off
75 ENUM 1 HF Left Playback                         Off
76 ENUM 1 Analog Right Capture Route               Off
77 ENUM 1 Analog Left Capture Route                Off
78 ENUM 1 TWL6040 Power Mode                       Low-Power
  • Hi again

    I Just came across omapconf, What a useful little program I wish I had know about it before I had to modify the kernel to show me register values.

    Anyway here is a bit more info.

    Matt

    OMAPCONF (rev 1.61 built Tue Jan 1 20:23:56 GMT 2013)
    HW Platform Revision:
      OMAP4460 ES1.1 HS Device (STANDARD performance (1.2GHz))
      TPS62361
      TWL6030  ES2.1 (EPROM rev45.0)
      TWL6040  ES1.1
    SW Build Details:
      Build:
        Version: yakju-user 4.2.1 JOP40D 533553 release-keys
        Pastry: Jelly Bean
        Type: user
        Date: Tue Nov 20 00:51:56 UTC 2012
      Kernel:
        Version: 3.0.31-gd5a18e0-dirty
        Author: matt@matt-HP-Compaq-nc6000-DU447EA-ABU
        Toolchain: gcc version 4.4.3 (GCC)
        Type: #51 SMP PREEMPT
        Date: Tue Jan 1 19:22:13 GMT 2013
    |-----------------------------------|
    | Reg. Name | Reg. Addr | Reg. Val. |
    |-----------------------------------|
    | ASICID    | 0x01      | 0x4B      |
    | ASICREV   | 0x02      | 0x01      |
    | INTID     | 0x03      | 0x00      |
    | INTMR     | 0x04      | 0x39      |
    | NCPCTL    | 0x05      | 0x81      |
    | LDOCTL    | 0x06      | 0x45      |
    | HPPLLCTL  | 0x07      | 0x6C      |
    | LPPLLCTL  | 0x08      | 0x10      |
    | LPPLLDIV  | 0x09      | 0x4A      |
    | AMICBCTL  | 0x0A      | 0x00      |
    | DMICBCTL  | 0x0B      | 0x00      |
    | MICLCTL   | 0x0C      | 0x18      |
    | MICRCTL   | 0x0D      | 0x18      |
    | MICGAIN   | 0x0E      | 0x24      |
    | LINEGAIN  | 0x0F      | 0x1B      |
    | HSLCTL    | 0x10      | 0x25      |
    | HSRCTL    | 0x11      | 0x25      |
    | HSGAIN    | 0x12      | 0x33      |
    | EARCTL    | 0x13      | 0x1E      |
    | HFLCTL    | 0x14      | 0x00      |
    | HFLGAIN   | 0x15      | 0x1D      |
    | HFRCTL    | 0x16      | 0x00      |
    | HFRGAIN   | 0x17      | 0x1D      |
    | VIBCTLL   | 0x18      | 0x00      |
    | VIBDATL   | 0x19      | 0x00      |
    | VIBCTLR   | 0x1A      | 0x00      |
    | VIBDATR   | 0x1B      | 0x00      |
    | HKCTL1    | 0x1C      | 0x00      |
    | HKCTL2    | 0x1D      | 0x00      |
    | GPOCTL    | 0x1E      | 0x00      |
    | ALB       | 0x1F      | 0x00      |
    | DLB       | 0x20      | 0x00      |
    | TRIM1     | 0x28      | 0x00      |
    | TRIM2     | 0x29      | 0x00      |
    | TRIM3     | 0x2A      | 0x00      |
    | HSOTRIM   | 0x2B      | 0x0F      |
    | HFOTRIM   | 0x2C      | 0x1E      |
    | ACCCTL    | 0x2D      | 0x11      |
    | STATUS    | 0x2E      | 0x00      |
    |-----------------------------------|
    OMAPCONF (rev 1.61 built Tue Jan 1 20:23:56 GMT 2013)
    HW Platform Revision:
      OMAP4460 ES1.1 HS Device (STANDARD performance (1.2GHz))
      TPS62361
      TWL6030  ES2.1 (EPROM rev45.0)
      TWL6040  ES1.1
    SW Build Details:
      Build:
        Version: yakju-user 4.2.1 JOP40D 533553 release-keys
        Pastry: Jelly Bean
        Type: user
        Date: Tue Nov 20 00:51:56 UTC 2012
      Kernel:
        Version: 3.0.31-gd5a18e0-dirty
        Author: matt@matt-HP-Compaq-nc6000-DU447EA-ABU
        Toolchain: gcc version 4.4.3 (GCC)
        Type: #51 SMP PREEMPT
        Date: Tue Jan 1 19:22:13 GMT 2013
    |--------------------------------------------------------------|
    | VERSION                                                      |
    |--------------------------------|-----------------------------|
    | ASIC Type                      | 0x4B                        |
    | ASIC Full Mask                 | Version 1                   |
    | ASIC Metal Mask                | Version 1                   |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | CONTROL                                                      |
    |--------------------------------|-----------------------------|
    | I2C Mode                       | Fast Mode                   |
    | Dual-Access Registers Control  | I2C interface only          |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | POWER                                                        |
    |--------------------------------|-----------------------------|
    | Negative Charge Pump           | Enabled                     |
    |   Mode                         | PWM                         |
    |   FET Size                     | Automatic                   |
    |   Loop                         | Closed                      |
    | Internal Oscillator            | Disabled (PLL muxed to NCP) |
    | Reference System               | Enabled                     |
    | High Side LDO                  | Enabled                     |
    |   Mode                         | Normal                      |
    |   Output When Disabled         | Pulled-Down to GND          |
    | Low Side LDO                   | Enabled                     |
    |   Mode                         | Normal                      |
    |   Output When Disabled         | Pulled-Down to GND          |
    | Split Supply Reg/State Machine | Running                     |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | CLOCKING SYSTEM                                              |
    |--------------------------------|-----------------------------|
    | Clock 32kHz Source             | External                    |
    | SYSCLK source                  | High-Performance PLL        |
    | Low-Power PLL                  | Disabled                    |
    |   State                        | Normal                      |
    |   Divider                      | 586 (prefixed)              |
    | High-Performance PLL           | Disabled                    |
    |   State                        | Normal                      |
    |   Mode                         | Bypass                      |
    |   Clock Slicer                 | Enabled                     |
    |   MCLK frequency               | 38.4MHz                     |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | INTERRUPT AND STATUS                                         |
    |--------------------------------|-----------------------------|
    | Thermal Interrupt              | Disabled                    |
    |   Pending                      | No                          |
    |   Status                       | Low                         |
    | Plug Detection Interrupt       | Enabled                     |
    |   Plug Pending                 | No                          |
    |   Unplug Pending               | No                          |
    |   PLUGDET State                | Not Pulled Low              |
    | Hook Send/End Detection Int    | Disabled                    |
    |   Pending                      | No                          |
    |   ACONN State                  | Not Pulled Low              |
    | HF Short Detection Interrupt   | Disabled                    |
    |   Pending                      | No                          |
    |   HF Left Overcurrent Det      | Not Triggered               |
    |   HF Right Overcurrent Det     | Not Triggered               |
    | Vibra Short Detection Int      | Disabled                    |
    |   Pending                      | No                          |
    |   Vibra Left Overcurrent Det   | Not Triggered               |
    |   Vibra Right Overcurrent Det  | Not Triggered               |
    | Ready Interrupt                | Enabled                     |
    |   Pending                      | No                          |
    | Interrupt Clear Mode           | On Write                    |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | BIASING                                                      |
    |--------------------------------|-----------------------------|
    | Headset Microphone Bias        | Disabled                    |
    |   Mode                         | Normal                      |
    |   Output When Disabled         | High-Z                      |
    |   Short Circuit Function       | Enabled                     |
    | Main Microphone Bias           | Disabled                    |
    |   Mode                         | Normal                      |
    |   Output When Disabled         | High-Z                      |
    |   Short Circuit Function       | Enabled                     |
    | Digital Microphone Bias 1      | Disabled                    |
    |   Mode                         | Normal                      |
    |   Output Voltage               | 1.80V                       |
    |   Short Circuit Function       | Enabled                     |
    | Digital Microphone Bias 2      | Disabled                    |
    |   Mode                         | Normal                      |
    |   Output Voltage               | 1.80V                       |
    |   Short Circuit Function       | Enabled                     |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | UPLINK                                                       |
    |--------------------------------|-----------------------------|
    | Input Source                   |                             |
    |   Left                         | None                        |
    |   Right                        | None                        |
    | ADC                            |                             |
    |   Left                         | Disabled                    |
    |   Right                        | Disabled                    |
    | Microphone                     |                             |
    |   Left Amplifier               | Disabled                    |
    |     Pre-attenuation Gain       | 0dB                         |
    |     Preamplifier Gain          | 30dB                        |
    |   Right Amplifier              | Disabled                    |
    |     Pre-attenuation Gain       | 0dB                         |
    |     Preamplifier Gain          | 30dB                        |
    | Line-In                        |                             |
    |   Left Amplifier               | Disabled                    |
    |     Gain                       | 0dB                         |
    |   Right Amplifier              | Disabled                    |
    |     Gain                       | 0dB                         |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | DOWNLINK 1                                                   |
    |--------------------------------|-----------------------------|
    | Headset DAC                    |                             |
    |   Left HSDAC                   | Enabled                     |
    |     Mode                       | High-Performance            |
    |   Right HSDAC                  | Enabled                     |
    |     Mode                       | High-Performance            |
    | Headset Driver                 |                             |
    |   Left HSDRV                   | Enabled                     |
    |     Mode                       | High-Performance            |
    |     Pull-Down                  | Disabled                    |
    |     HSDAC -> HSDRV Path        | Enabled                     |
    |     Line-In -> HSDRV Path      | Disabled                    |
    |     Gain                       | -6dB                        |
    |   Right HSDRV                  | Enabled                     |
    |     Mode                       | High-Performance            |
    |     Pull-Down                  | Disabled                    |
    |     HSDAC -> HSDRV Path        | Enabled                     |
    |     Line-In -> HSDRV Path      | Disabled                    |
    |     Gain                       | -6dB                        |
    | Ear Driver                     |                             |
    |   Mono EARDRV                  | Disabled                    |
    |   Filter                       | SINC                        |
    |     Gain                       | -24dB                       |
    | Mono to Stereo Mixing          | Disabled                    |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | DOWNLINK 2                                                   |
    |--------------------------------|-----------------------------|
    | Handsfree DAC                  |                             |
    |   Left HFDAC                   | Disabled                    |
    |   Right HFDAC                  | Disabled                    |
    | Handsfree Prog Gain Amplifier  |                             |
    |   Left HFPGA                   | Disabled                    |
    |     HFDAC -> HFPGA Path        | Disabled                    |
    |     Line-In -> HFPGA Path      | Disabled                    |
    |     HFPGA -> AUX Path          | Disabled                    |
    |     Gain                       | -52dB                       |
    |   Right HFPGA                  | Disabled                    |
    |     HFDAC -> HFPGA Path        | Disabled                    |
    |     Line-In -> HFPGA Path      | Disabled                    |
    |     HFPGA -> AUX Path          | Disabled                    |
    |     Gain                       | -52dB                       |
    | Handsfree Driver               |                             |
    |   Left HFDRV                   | Disabled                    |
    |   Right HFDRV                  | Disabled                    |
    | Mono to Stereo Mixing          | Disabled                    |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | VIBRATOR                                                     |
    |--------------------------------|-----------------------------|
    | Left Vibrator                  |                             |
    |   Left Vibrator Driver         | Disabled                    |
    |   Control                      | 8-bit VIBDATL               |
    |     Differential Output        | 0.00V                       |
    |   Feedback Loop                | Enabled                     |
    | Right Vibrator                 |                             |
    |   Right Vibrator Driver        | Disabled                    |
    |   Control                      | 8-bit VIBDATR               |
    |     Differential Output        | 0.00V                       |
    |   Feedback Loop                | Enabled                     |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | LOOPBACK                                                     |
    |--------------------------------|-----------------------------|
    | Analog Loopback                |                             |
    |   Left                         | Disabled                    |
    |   Right                        | Disabled                    |
    | Digital Loopback               |                             |
    |   Uplink 0                     | Disabled                    |
    |   Uplink 1                     | Disabled                    |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | GENERAL PURPOSE OUTPUT                                       |
    |--------------------------------|-----------------------------|
    | GPO1                           | Low                         |
    | GPO2                           | Low                         |
    | GPO3                           | Low                         |
    |--------------------------------------------------------------|
    |--------------------------------------------------------------|
    | MISCELLANEOUS                                                |
    |--------------------------------|-----------------------------|
    | Headset Offset Trimming        |                             |
    |  Left                          | 0xF                         |
    |  Right                         | 0x0                         |
    | Handsfree Offset Trimming      |                             |
    |  Left                          | 0xE                         |
    |  Right                         | 0x1                         |
    |--------------------------------------------------------------|
  • Hi Matt,

    I guess you mean the 5dB in Headset path, right?

    You might not be listening any difference because maybe it is already working, it is always set when using the Earphone, and even when you try to change it to low it won't change because it is needed for performance. What you are changing is a control in the driver, but it doesn't mean that it is actually changing the value in the register.

    The driver takes care of changes that might affect the quality of the audio.