Status of VIA Envy24 audio controller

Konstantin Dimitrov kosio.dimitrov at gmail.com
Fri Aug 11 10:22:41 UTC 2006


sorry, made mistake and reverse the links, the text should be:

"here is the patch to allow envy24.c to use spicds.c:

http://envy24.svobodno.com/driver/envy24/envy24.c.spicds.diff

before apply the patch apply:

http://envy24.svobodno.com/driver/envy24/envy24.c.ml2_cds.diff"

On 8/11/06, Konstantin Dimitrov <kosio.dimitrov at gmail.com> wrote:
>
> i have done some work on the Envy24HT code, the initial (experimental)
> Envy24HT code was for Terratec Aureon 7.1 Space only, as i announced two
> months ago:
>
>
>
> http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-June/004347.html
>
> now i have merged wm8770.c (my WM8770 code for use with Terratec Aureon
> 7.1 Space) and ak452x.c (Katsurajima Naoto's code for AK4524/AK4528) and
> the new module supports not only AK4524/AK4528 and WM8770 codecs, but i also
> have added support for AK4358 and AK4381. the name of the new module is
> spicds (comes from spi = Serial Peripheral Interface used for codecs (cds)
> control)
>
> also i have made new site: http://envy24.svobodno.com - it is all-in-one
> Envy24 resource, i collect there all information for Envy24-based cards that
> i have - datasheets, wiring, code, e2prom dumps, etc. so it can save a lot
> of time especially for future developers.
>
> what's new (exept spicds.c) from the initial (experimental) Envy24HT code:
> - a lot of cosmetic and no so cosmetic changes
> - fix "interrupt storm" bug in the Envy24HT(172x) interrupt hadling
> - spicds.c allow me to add easily support for many Envy24HT-based cards:
>
> 0) Terratec Aureon 7.1 Space
> 1) Terratec Aureon 5.1 Sky
> 2) Terratec PHASE 28
> 3) Terratec Aureon 7.1 Universe
> 4) Audiotrak Prodigy 7.1
>
> all these cards use Envy24HT + WM8770 and have the same wiring between
> Envy24HT and WM8770 like Terratec Aureon 7.1 Space, so they should be 100%
> working, i am testing the code on my Terratec Aureon 7.1 Space and from
> driver development point of view they all are the same card as Terratec
> Aureon 7.1 Space.
>
> 5) Audiotrak Prodigy 7.1 LT : need to be tested by someone, chances to
> work without additional code are very high (WM8770_RESETB <-> Envy24HT GPIO
> ? wiring is unknown)
>
> 6) Terratec PHASE 22 : uses Envy24HT-S and AK4524, need to be tested by
> someone, chances to work without additional code are medium (AK4524 <->
> Envy24HT PSDOUT_? wiring is unknown)
>
> 7) M-Audio Revolution 7.1 : need to be tested by someone, chances to work
> without additional code are very high
>
> 8) M-Audio Revolution 5.1 : need to be tested by someone, chances to work
> without additional code is low (uses Envy24GT, no datasheet, also uses
> PT2258)
>
> 9) M-Audio Audiophile 192 : Damian Gerow (dgerow at afflictions dot org )
> made E2PROM dump using my envy24-e2prom-dump kernel module and Noel Ambrose
> and his friend with a little help from me, managed to reverse the wiring of
> the Audiophile 192 (AP192). however the AP192 support need to be tested by
> someone, chances to work without additional code are very high.
>
> for all supported cards the volume can be change only with "mixer vol ..."
>
> because i reuse big part of the old Katsurajima Naoto's code for Envy24,
> the Envy24HT driver has some known problems: no vchans and 172x hasn't
> hardware mixing, so it is serious limitation - only one stereo file can be
> played at a same time, interrupt storm when module is loaded before the
> start of KDE (that apply for envy24.c also, for the moment workaround is
> to kldload the module after KDE is started), maybe there are also other
> problems.
>
> the new Envy24HT code is here:
>
> http://envy24.svobodno.com/driver/envy24ht/
>
> so new architecture is:
> - envy24.c for Envy24(1712)-based cards
> - envy24ht.c for Envy24HT(1724)-based cards (in some cases it can be used
> also for 172x-based(Envy24HT-S, Envy24GT, etc.) cards)
> - spicds.c is used by both envy24.c and envy24ht.c (ak452x.c is no needed
> anymore)
>
> here is the patch to allow envy24.c to use spicds.c:
>
> http://envy24.svobodno.com/driver/envy24/envy24.c.ml2_cds.diff
>
> before apply the patch apply:
>
> http://envy24.svobodno.com/driver/envy24/envy24.c.spicds.diff
>
> which fixes two bugs in envy24.c that i noticed accidentally - memory
> leak, when "number of adcs" != "number of dacs" and multiple inicialization
> of the first codec.
>
> maybe Alexander will commit the envy24ht.c and spicds.c to the CVS and the
> two patches above for envy24.c and after that ak452x.c is no needed and
> can be removed from the CVS.
>
> i will be away from computer for the next several weeks, but if someone
> test the code, let me know the result ...
>


More information about the freebsd-multimedia mailing list