From the ALSA wiki
Apple Onboard Audio
snd-aoa is the ALSA module for certain G4 PowerMacs, G5 PowerMacs and newer PowerBooks. The main module requires certain helper modules, such as snd-aoa-soundbus, snd-aoa-i2sbus, snd-aoa-fabric-layout as well as the module for the actual sound chip.
On 2.6.x kernels do:
# cat /proc/device-tree/model
If you have a PowerMac or a PowerBook, you should now see a line like this:
Then, check if it features the layout-id device tree entry:
# find /proc/device-tree/ -name layout-id | xargs hexdump -e '1/4 "0x%x\n"'
This will give a hexadecimal number if a layout-id is present.
Should your Mac not provide a layout-id, it is possible that it still works using the device-id. Since a lot of devices feature this property, it must be filtered to only show the device-id of the sound device. The following works if it gives one single line as output:
# find /proc/device-tree/ -name device-id | grep sound | xargs hexdump -e '1/4 "0x%x\n"'
This should give a hexadecimal number of the device-id for the sound device.
You can use snd-aoa if your layout-id or device-id (in decimal) is listed in /usr/src/linux/sound/aoa/fabrics/snd-aoa-fabric-layout.c.
In order to get the correct layout-id or device-id for comparison with the ones in the ALSA source files you need to convert them from hexadecimal to decimal using a suitable calculator.
If you use the in-kernel version of ALSA you need to enable the following additionally to ALSA sound in general:
CONFIG_SND_POWERMAC=m CONFIG_SND_AOA=m CONFIG_SND_AOA_FABRIC_LAYOUT=m CONFIG_SND_AOA_SOUNDBUS=m CONFIG_SND_AOA_SOUNDBUS_I2S=m
In addition, choose the driver for your PowerMac:
CONFIG_SND_AOA_ONYX=m CONFIG_SND_AOA_TAS=m CONFIG_SND_AOA_TOONIE=m
- Module-aoa at alsa-project.org
- Apple Support: all PowerMacs, PowerBooks and iBooks ever produced by Apple; the original Mac Mini (including the “Late 2005” silent update) is the only PowerPC-based Mac Mini
- Powermac – a similar (but older and less advanced) ALSA module