FreeCalypso > hg > freecalypso-reveng
view pirelli/volume-ctrl @ 401:4b6b595ae0a0
compal/boot/code-deriv: new analysis
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 14 Jan 2023 23:59:23 +0000 |
parents | f59d2577df2d |
children |
line wrap: on
line source
Pirelli's fw offers 10 audio output volume levels selectable via volume up/down keys. Cycling through these volume levels on the idle screen and reading out Iota VBDCTRL register (fc-tmsh abbr 0 6) at each level yields the following table: Volume level VBDCTRL Vol PGA Total ----------------------------------------------------- 1 047 -18 +1 -17 2 04A -18 +4 -14 3 006 -12 0 -12 4 008 -12 +2 -10 5 00A -12 +4 -8 6 067 -6 +1 -5 7 06A -6 +4 -2 8 026 0 0 0 9 028 0 +2 +2 10 02A 0 +4 +4 In an active call in handheld (earpiece output) mode, the above relation of selectable volume level to VBDCTRL remains the same. However, when the loudspeaker is turned on in a call, the mapping changes to the following: Volume level VBDCTRL Vol PGA Total ----------------------------------------------------- 1 046 -18 0 -18 2 049 -18 +3 -15 3 005 -12 -1 -13 4 007 -12 +1 -11 5 009 -12 +3 -9 6 066 -6 0 -6 7 069 -6 +3 -3 8 025 0 -1 -1 9 027 0 +1 +1 10 029 0 +3 +3 Plugging in Pirelli's wired headset and cycling through volume levels on the idle screen, we get this: Volume level VBDCTRL Vol PGA Total ----------------------------------------------------- 1 045 -18 -1 -19 2 048 -18 +2 -16 3 004 -12 -2 -14 4 006 -12 0 -12 5 008 -12 +2 -10 6 065 -6 -1 -7 7 068 -6 +2 -4 8 024 0 -2 -2 9 026 0 0 0 10 028 0 +2 +2 In-call state in headset mode follows the same mapping as headset mode idle screen. If the user turns on the loudspeaker while in a call with the headset inserted, the volume table becomes that of the loudspeaker mode, not the headset mode.