User Tools

Site Tools


audio_amplifier

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
audio_amplifier [2025/01/06 22:57] – created arisoturaaudio_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://kuribo64.net/get.php?id=BHBmpgjQw1TpIgug|TLV320AIC3100]], which appears to be a close match. No datasheet for it has been found, though there is a datasheet for the [[https://kuribo64.net/get.php?id=BHBmpgjQw1TpIgug|TLV320AIC3100]], which appears to be a close match.
 +
 +
 +===== Clock generation =====
 +
 +The amplifier's input clock (MCLK) is sourced from [[General_registers|register 0xF000003C]].
 +
 +The amplifier's settings define the sample clock (WCLK) and bit clock (BCLK), which determine the audio sample rate.
 +
 +
 +===== Registers =====
 +
 +A large amount of the audio amplifier's functionality seems to closely match the TLV320AIC3100. There are some minor differences.
 +
 +
 +**Page 1 register 51**
 +
 +Stock firmware sets this register to values: 0x00, 0x40 or 0xC0.
 +
 +This register is 'reserved' in the documentation. Not known what it's for.
 +
 +
 +===== 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's VOL/MICDET input is tied to ground. The headset detect register always reads as 0xA0.
 +
 +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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki