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

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:57Tag read.reg16

read.reg16; INT

Read 16-bit ACC register (responds with read.reg)

ac97_audio.inc:58Tag read.reg32

read.reg32; INT

Read 32-bit ACC register (responds with read.reg)

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:74Tag get.int.status

get.int.status

Get interrupt status (responds with string).

ac97_audio.inc:75Tag controller.id

controller.id

Get AC'97 controller id (responds with string).

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.