audio_amplifier
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| audio_amplifier [2025/01/06 22:57] – created arisotura | audio_amplifier [2025/03/21 22:54] (current) – arisotura | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| No datasheet for it has been found, though there is a datasheet for the [[https:// | No datasheet for it has been found, though there is a datasheet for the [[https:// | ||
| + | |||
| + | |||
| + | ===== Clock generation ===== | ||
| + | |||
| + | The amplifier' | ||
| + | |||
| + | The amplifier' | ||
| + | |||
| + | |||
| + | ===== Registers ===== | ||
| + | |||
| + | A large amount of the audio amplifier' | ||
| + | |||
| + | |||
| + | **Page 1 register 51** | ||
| + | |||
| + | Stock firmware sets this register to values: 0x00, 0x40 or 0xC0. | ||
| + | |||
| + | This register is ' | ||
| + | |||
| + | |||
| + | ===== Hardware differences ===== | ||
| + | |||
| + | The gamepad firmware reads the headset detect register (page 0 register 67) to determine which coefficient table to use for headphones. | ||
| + | |||
| + | However, the headset detect functionality is misused: the value returned by the register actually depends on the motherboard revision. | ||
| + | |||
| + | On revision 01, the amplifier' | ||
| + | |||
| + | On revision 20, VOL/MICDET is tied to Vcc instead. The headset detect register always reads as 0x80. | ||
| + | |||
| + | The headset detect register is thus used to identify the motherboard revision, probably to account for differences in audio circuitry. | ||
| + | |||
| + | Actual headset detection is done by the [[UIC]]. | ||
audio_amplifier.1736204251.txt.gz · Last modified: 2025/01/06 22:57 by arisotura
