Revised cs4231 sound driver for Ultrasparcs

Pyun YongHyeon yongari at
Wed Aug 25 23:25:55 PDT 2004

Hello All,

Here is a revised sound driver for SBus/EBus based Ultrasparcs.

Changes from my old SBus sound driver:
1. Added support s4231 audio chip found on EBus based Ultrasparcs.
2. Added AFMT_S16_BE audio format. So there is no need to be
   invoked endian conversion routine in sound(4)(feeder_endian).
   Most PC based soundcards supports little-endian format only
   (AFMT_S16_LE). If these cards are used on sparc64, sound(4) would
   have to perform endian-conversion in kernel. Of course, this
   reduces playback/capture performance.
3. bug fix for mixer settings
4. bug fix for skipping audio samples on APC DMA

Audio application notes:
Well written audio applications, endian-clean and LP64 ready applications,
should work without any problems. For instance, mpg123, mp3blaster,
mplayer works well. xmms, one of most popular player, needs additional
patch from here.
    <xmms-1.2.10 patch for sparc64>
Due to lack of X supports on my sparc64, audio playback on xmms was
tested on a remote i386 X server.

Known bugs & limitations:
Audio capture(recording) was not tested at all.
Full-duplex operation may not work.
The driver was tested on Ultra2 and AXe.

 1. get the driver file and patch your source tree
	#cd /usr/src
	#patch -p0 < /path/to/patch-file 
 2. build kernel and kernel modules
	#cd /usr/src
	#make installkernel KERNCONF=YOUR_KERNEL_CONFIG
    If you don't want to use the sound driver as a kernel module, you
    can add the following lines in your kernel configuration.
	device		sound
	device		"snd_cs4231"
 3. reboot
 4. load snd_cs4231.ko driver module and play
     Note, you may want to mute speaker output with mixer(8) on Ultra1/2.

 * You may notice all sound drivers are installed by my patch. But
   I don't know whether these drivers are functional or not on sparc64.
   It wouldn't surprise me if none of the drivers except snd_cs4231 work
   on sparc64. Since I have a trident 4dwave PCI card, I can help to make
   it work on sparc64 provided that I have more time and requests from
The patch is for 6-CURRENT and is available at:
(The patch may be applied to 5.3BETA or higher as well.)
If you are interested in audio support on sparc64, please give it
a try and let me know how it goes.


Pyun YongHyeon
Pyun YongHyeon <>

More information about the freebsd-sparc64 mailing list