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