NO:
W90P710 Programming Guide
VERSION:
2.0
PAGE:
135
The above information is the exclusive intellectual property of Winbond Electronics and shall not be disclosed, distributed or reproduced without permission
from Winbond.
Table No.: 2005-W90P710-11-A
if (!(readw(REG_ACTL_ACCON) & AC_W_FINISH))
break;
writew(REG_ACTL_ACOS0,
0);
if (ac97_read_register(nIdx) != sValue)
_debug_msg("ac97_write_register, nIdx=0x%x, mismatch, 0x%x must be
0x%x\n", nIdx, ac97_read_register(nIdx), sValue);
return
0;
}
10.4.4 AC97
Playback
W90P710 audio controller provides DMA function for transferring PCM data from main memory to
external AC97 codec. It supports single-channel or 2 channels transfer. The data arrangement in
playback DMA buffer was shown in the following figure:
Figure 10-2 AC97 Playback Data in DMA Buffer
DMA buffer (2 channels)
0x10000
Left channel – LSB byte
0x10001
Left channel – MSB byte
0x10002
Right channel – LSB byte
0x10003
Right channel – MSB byte
0x10004
Left channel – LSB byte
0x10005
Left channel – MSB byte
0x10006
Right channel – LSB byte
0x10007
Right channel – MSB byte
… …
DMA buffer (1 channel)
0x10000
Left channel – LSB byte
0x10001
Left channel – MSB byte
0x10002
Left channel – LSB byte
0x10003
Left channel – MSB byte
0x10004
Left channel – LSB byte
0x10005
Left channel – MSB byte
0x10006
Left channel – LSB byte
0x10007
Left channel – MSB byte
… …
To playback PCM data to external AC97 codec, please follow the steps below: