Module interface:ac97-audio - AC'97 audio interface
AC'97 audio interface.
The CT.AC97.AUDIO channel-type provides a generic method for interacting with AC'97 compatible audio controllers. Supplied by AC'97 hardware, used by individual codec drivers.
Index
-
Record
AC97.3DSTEREO.DESC- AC'97 3D stereo enhancement descriptor type-
Variable
name- Descriptive name -
Variable
name.len- Length of name
-
Variable
-
Record
AC97.DEVICE.DESC- AC'97 known devices descriptor type-
Variable
name- Descriptive name -
Variable
name.len- Length of name -
Variable
vendor.id- Vendor ID
-
Variable
-
Constant
AC97.KNOWN.3DSTEREO- AC'97 known 3D stereo enhancement table -
Constant
AC97.KNOWN.DEVICES- AC'97 known device table -
Group
AC97.MIX- Baseline AC'97 mixer registers-
Constant
AC97.MIX.AUXOUT.VOL- Aux output volume -
Constant
AC97.MIX.EXT.AUDIO.ID- Extended audio ID -
Constant
AC97.MIX.MASTER.TONE- Master bass/treble control -
Constant
AC97.MIX.MASTER.VOL- Master volume control -
Constant
AC97.MIX.MONO.VOL- Mono output volume -
Constant
AC97.MIX.RESET- Reset (write), 3D stereo enhancement (if any) and feature bits (read) -
Constant
AC97.MIX.VENDORID1- Vendor ID 1 -
Constant
AC97.MIX.VENDORID2- Vendor ID 2
-
Constant
-
Channel type
CT.AC97.AUDIO- Channel-type for interacting with AC'97 audio controllers-
Variable
in?- Commands to AC'97 controller -
Variable
out!- Responses from AC'97 controller -
Variable
return?- Used to close unshared connections
-
Variable
-
Protocol
P.AC97.AUDIO.IN- AC'97 controller input protocol-
Tag
controller.id- Get AC'97 controller id (responds with ) -
Tag
disable.gpio.interrupts- Disable GPIO interrupts (no response) -
Tag
dumpstatus- Dump AC'97 controller status information to log -
Tag
enable.gpio.interrupts- Enable GPIO interrupts (no response) -
Tag
get.int.status- Get interrupt status (responds with ) -
Tag
get.interrupt- Requests the associated (shared) interrupt line for the AC'97 device -
Tag
read.acc.reg- Read audio codec register -
Tag
read.reg16- Read 16-bit ACC register (responds with ) -
Tag
read.reg32- Read 32-bit ACC register (responds with ) -
Tag
write.acc.reg- Write audio codec register -
Tag
write.reg16- Write 16-bit ACC register (responds with ) -
Tag
write.reg32- Write 32-bit ACC register (responds with )
-
Tag
-
Protocol
P.AC97.AUDIO.OUT- AC'97 controller output protocol-
Tag
int.lines- Requested interrupt line from device -
Tag
read.reg- Response for register reads -
Tag
result- Generic success/failure response -
Tag
string- Generic string response -
Tag
write.reg- Response for register writes
-
Tag
Declarations
ac97_devices.inc:23Record AC97.DEVICE.DESC
DATA TYPE AC97.DEVICE.DESC
AC'97 known devices descriptor type.
ac97_devices.inc:25Variable vendor.id
[2]INT
Vendor ID.
ac97_devices.inc:26Variable name
[32]BYTE
Descriptive name.
ac97_devices.inc:27Variable name.len
INT
Length of name.
ac97_devices.inc:31Constant AC97.KNOWN.DEVICES
VAL []AC97.DEVICE.DESC AC97.KNOWN.DEVICES
AC'97 known device table.
ac97_devices.inc:37Record AC97.3DSTEREO.DESC
DATA TYPE AC97.3DSTEREO.DESC
AC'97 3D stereo enhancement descriptor type.
ac97_devices.inc:39Variable name
[32]BYTE
Descriptive name.
ac97_devices.inc:40Variable name.len
INT
Length of name.
ac97_devices.inc:44Constant AC97.KNOWN.3DSTEREO
VAL [32]AC97.3DSTEREO.DESC AC97.KNOWN.3DSTEREO
AC'97 known 3D stereo enhancement table.
ac97_audio.inc:28Group AC97.MIX
Baseline AC'97 mixer registers.
ac97_audio.inc:29Constant AC97.MIX.RESET
VAL INT AC97.MIX.RESET
Reset (write), 3D stereo enhancement (if any) and feature bits (read).
ac97_audio.inc:30Constant AC97.MIX.MASTER.VOL
VAL INT AC97.MIX.MASTER.VOL
Master volume control.
ac97_audio.inc:31Constant AC97.MIX.AUXOUT.VOL
VAL INT AC97.MIX.AUXOUT.VOL
Aux output volume.
ac97_audio.inc:32Constant AC97.MIX.MONO.VOL
VAL INT AC97.MIX.MONO.VOL
Mono output volume.
ac97_audio.inc:33Constant AC97.MIX.MASTER.TONE
VAL INT AC97.MIX.MASTER.TONE
Master bass/treble control.
ac97_audio.inc:34Constant AC97.MIX.EXT.AUDIO.ID
VAL INT AC97.MIX.EXT.AUDIO.ID
Extended audio ID.
ac97_audio.inc:35Constant AC97.MIX.VENDORID1
VAL INT AC97.MIX.VENDORID1
Vendor ID 1.
ac97_audio.inc:36Constant AC97.MIX.VENDORID2
VAL INT AC97.MIX.VENDORID2
Vendor ID 2.
ac97_audio.inc:41Protocol P.AC97.AUDIO.IN
PROTOCOL P.AC97.AUDIO.IN
AC'97 controller input protocol.
ac97_audio.inc:48Tag read.acc.reg
read.acc.reg; INT; INT
Read audio codec register. This is used to read a register within a particular audio codec connected to the AC'97 interface. Returns 16-bit value via read.reg.
Parameters:
INT |
codec |
Codec number (0-3). |
INT |
reg |
Register number (0-127). |
ac97_audio.inc:56Tag write.acc.reg
write.acc.reg; INT; INT; INT
Write audio codec register. This is used to write a register within a particular audio codec connected to the AC'97 interface. Returns success status via write.reg.
Parameters:
INT |
codec |
Codec number (0-3). |
INT |
reg |
Register number (0-127). |
INT |
value |
16-bit value to write. |
ac97_audio.inc:62Tag write.reg16
write.reg16; INT; INT
Write 16-bit ACC register (responds with write.reg).
Parameters:
INT |
register |
ACC register to write to. |
INT |
value |
Value to write. |
ac97_audio.inc:66Tag write.reg32
write.reg32; INT; INT
Write 32-bit ACC register (responds with write.reg).
Parameters:
INT |
register |
ACC register to write to. |
INT |
value |
Value to write. |
ac97_audio.inc:67Tag dumpstatus
dumpstatus
Dump AC'97 controller status information to log.
ac97_audio.inc:71Tag get.interrupt
get.interrupt
Requests the associated (shared) interrupt line for the AC'97 device. Responds with either a result message (error) or the interrupt lines with a int.lines message.
ac97_audio.inc:72Tag enable.gpio.interrupts
enable.gpio.interrupts
Enable GPIO interrupts (no response).
ac97_audio.inc:73Tag disable.gpio.interrupts
disable.gpio.interrupts
Disable GPIO interrupts (no response).
ac97_audio.inc:79Protocol P.AC97.AUDIO.OUT
PROTOCOL P.AC97.AUDIO.OUT
AC'97 controller output protocol.
ac97_audio.inc:81Tag result
result; INT
Generic success/failure response.
ac97_audio.inc:82Tag string
string; MOBILE []BYTE
Generic string response.
ac97_audio.inc:86Tag read.reg
read.reg; INT; BOOL
Response for register reads.
Parameters:
INT |
value |
Value read from codec or ACC register. |
BOOL |
ok |
True if read successful. |
ac97_audio.inc:89Tag write.reg
write.reg; BOOL
Response for register writes.
Parameters:
BOOL |
ok |
True if write successful. |
ac97_audio.inc:93Tag int.lines
int.lines; CT.INT.LINE?; SHARED CT.RETURN.PATH!
Requested interrupt line from device.
Parameters:
CT.INT.LINE? |
ints |
Channel bundle for interrupt line. |
SHARED CT.RETURN.PATH! |
ret |
Return path for channel-bundle when done. |
ac97_audio.inc:97Channel type CT.AC97.AUDIO
RECURSIVE CHAN TYPE CT.AC97.AUDIO
Channel-type for interacting with AC'97 audio controllers.
ac97_audio.inc:99Variable in?
CHAN P.AC97.AUDIO.IN
Commands to AC'97 controller.
ac97_audio.inc:100Variable out!
CHAN P.AC97.AUDIO.OUT
Responses from AC'97 controller.
ac97_audio.inc:101Variable return?
CHAN CT.AC97.AUDIO!
Used to close unshared connections.