Apple Tumbler and Snapper audio: looking for testers

Justin Hibbits jrh29 at alumni.cwru.edu
Thu Oct 9 22:44:53 UTC 2008


Marco,

On Thu, Oct 09, 2008 at 11:40:55AM +0200, Marco Trillo wrote:
> Hi all,
> 
> I've implemented audio output for the "Tumbler" and "Snapper" Apple
> I2S-based audio devices.
> 
> The machine I have is a eMac G4, but these devices are found on a lot
> of G3 and G4 systems.
> In particular, all iMac G4's, all eMacs, all iBook G4's and most of
> PowerBook G4's have either "Tumbler" or "Snapper".
> 
> The following is a more detailed list. Anyone interested in testing
> it?  Below is more information on how to obtain it.
> 
> Thanks a lot!

> PowerMacs:
> - "PowerMac3,4" PowerMac G4 "Digital audio" [tumbler]
> - "PowerMac3,5" PowerMac G4 "QuickSilver" [tumbler]
> - "PowerMac3,6" PowerMac G4 "Mirrored drive doors" [snapper]

> 
> The driver can be obtained in the following tarball:
> <http://www.telefonica.net/web2/marco2z/fbsd/aoa1.tgz>
> 
> It includes the "sound/" and "powermac/" subdirectories to include in
> the kernel,  something like this:
> $ cp -R sound/macio /usr/src/sys/dev/sound/macio
> $ cp powermac/* /usr/src/sys/powerpc/powermac/
> 
> In addition, the "patches/" subdirectory contains the following patches:
>  - macio.patch to apply in /usr/src/sys/powerpc/powermac
>  - files.patch to apply in /usr/src/sys/conf
>  - generic.patch to apply in /usr/src/sys/powerpc/conf, for the GENERIC kernel.
> 
> If you don't use the GENERIC kernel you can also enable it manually by
> including the following lines:
> 
> device sound
> device davbus
> device i2s

I applied the patch, and got all the same output on my MDD as in your email, but
there is no /dev/pcm0.  I do have a /dev/sndstat, and /dev/mixer0.  The
following is the output of /dev/sndstat:

FreeBSD Audio Driver (newpcm: 32bit 2007061600/powerpc)
Installed devices:
pcm0: <i2s> at i2s [GIANT] (1p:1v/0r:0v channels default)

And my dmesg:

<snip>
pcm0: <i2s> mem 0x10000-0x10fff,0x8000-0x80ff,0x8100-0x81ff irq 30,1,2 on macio0
interrupting at irq 1
pcm0: [ITHREAD]
GPIO <headphone-mute>: addr 0x6f
interrupting at irq 61
pcm0: [ITHREAD]
GPIO <headphone-detect>: addr 0x67
GPIO <amp-mute>: addr 0x70
interrupting at irq 60
pcm0: [ITHREAD]
GPIO <line-output-detect>: addr 0x66
GPIO <audio-hw-reset>: addr 0x75
enabled outputs: SPEAKER 
resetting codec
tumbler_write called without I2C?
pcm_getbuffersize returned 65536
aoa_dma_setprd: addr = 13434880, 32 slots
aoa_chan_setformat: format = 268435488
aoa_chan_setspeed: speed = 44100
aoa_chan_setformat: format = 268435488
aoa_chan_setblocksize: blocksz = 2048, dma->blksz = 2048
aoa_chan_setspeed: speed = 44100
aoa_chan_setformat: format = 268435488
aoa_chan_setblocksize: blocksz = 2048, dma->blksz = 2048
aoa_chan_setblocksize: blocksz = 2048, dma->blksz = 2048
aoa_chan_setspeed: speed = 44100
aoa_chan_setformat: format = 268435488
aoa_chan_setblocksize: blocksz = 2048, dma->blksz = 2048
kiic0: <Keywest I2C controller> mem 0x18000-0x18fff irq 26 on macio0
<snip>
pcm0: codec: <snapper> at address 6Ah on kiic0
0a:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0b:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0c:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0d:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0e:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0f:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
10:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
13:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
14:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
14:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
15:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
16:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
17:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
18:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
19:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
01:  60
43:  02
02:  01 00 00 00 00 00
04:  00 00 00 00 00 00
05:  72
06:  72
07:  10 00 00 00 00 00 00 00 00
08:  10 00 00 00 00 00 00 00 00
21:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
22:  10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
23:  00 00 00
24:  00 00 00
40:  c2
<snip>
04:  00 5a d5 00 5a d5


Anything else you need to diagnose this?

- Justin


More information about the freebsd-ppc mailing list