mirror of
https://git.FreeBSD.org/src.git
synced 2024-10-20 02:38:43 +00:00
Add support for ASound Gold card using the ALS120
chipset (a vibra 16x clone) Identified automatically by its PnP ID Approved by: Luigi
This commit is contained in:
parent
b5fcc9783f
commit
229cf3c335
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=47536
@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name,
|
||||
/*
|
||||
* A driver for some SB16pnp and compatibles...
|
||||
*
|
||||
* Avance Asound 100 -- 0x01009305
|
||||
* Avance Logic ALS100+ -- 0x10019305
|
||||
* xxx -- 0x2b008c0e
|
||||
* Avance Asound 100 -- 0x01009305
|
||||
* Avance Logic ALS100+ -- 0x10019305
|
||||
* Avance Logic ASound Gold ALS120 -- 0x20019305
|
||||
* xxx -- 0x2b008c0e
|
||||
*
|
||||
*/
|
||||
|
||||
@ -1311,6 +1312,8 @@ sb16pnp_probe(u_long csn, u_long vend_id)
|
||||
s = "Avance Asound 100" ;
|
||||
else if (vend_id == 0x10019305)
|
||||
s = "Avance Logic 100+" ; /* Vibra16X-class */
|
||||
else if (vend_id == 0x20019305)
|
||||
s = "Avance Logic ALS120" ; /* Vibra16X-class */
|
||||
if (s) {
|
||||
struct pnp_cinfo d;
|
||||
read_pnp_parms(&d, 0);
|
||||
@ -1348,7 +1351,8 @@ sb16pnp_attach(u_long csn, u_long vend_id, char *name,
|
||||
pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */
|
||||
snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */
|
||||
|
||||
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e) {
|
||||
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e
|
||||
|| vend_id == 0x20019305) {
|
||||
/*
|
||||
* XXX please add here the vend_id for other vibra16X cards...
|
||||
* And remember, must change tmp_d, not
|
||||
|
@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name,
|
||||
/*
|
||||
* A driver for some SB16pnp and compatibles...
|
||||
*
|
||||
* Avance Asound 100 -- 0x01009305
|
||||
* Avance Logic ALS100+ -- 0x10019305
|
||||
* xxx -- 0x2b008c0e
|
||||
* Avance Asound 100 -- 0x01009305
|
||||
* Avance Logic ALS100+ -- 0x10019305
|
||||
* Avance Logic ASound Gold ALS120 -- 0x20019305
|
||||
* xxx -- 0x2b008c0e
|
||||
*
|
||||
*/
|
||||
|
||||
@ -1311,6 +1312,8 @@ sb16pnp_probe(u_long csn, u_long vend_id)
|
||||
s = "Avance Asound 100" ;
|
||||
else if (vend_id == 0x10019305)
|
||||
s = "Avance Logic 100+" ; /* Vibra16X-class */
|
||||
else if (vend_id == 0x20019305)
|
||||
s = "Avance Logic ALS120" ; /* Vibra16X-class */
|
||||
if (s) {
|
||||
struct pnp_cinfo d;
|
||||
read_pnp_parms(&d, 0);
|
||||
@ -1348,7 +1351,8 @@ sb16pnp_attach(u_long csn, u_long vend_id, char *name,
|
||||
pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */
|
||||
snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */
|
||||
|
||||
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e) {
|
||||
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e
|
||||
|| vend_id == 0x20019305) {
|
||||
/*
|
||||
* XXX please add here the vend_id for other vibra16X cards...
|
||||
* And remember, must change tmp_d, not
|
||||
|
@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name,
|
||||
/*
|
||||
* A driver for some SB16pnp and compatibles...
|
||||
*
|
||||
* Avance Asound 100 -- 0x01009305
|
||||
* Avance Logic ALS100+ -- 0x10019305
|
||||
* xxx -- 0x2b008c0e
|
||||
* Avance Asound 100 -- 0x01009305
|
||||
* Avance Logic ALS100+ -- 0x10019305
|
||||
* Avance Logic ASound Gold ALS120 -- 0x20019305
|
||||
* xxx -- 0x2b008c0e
|
||||
*
|
||||
*/
|
||||
|
||||
@ -1311,6 +1312,8 @@ sb16pnp_probe(u_long csn, u_long vend_id)
|
||||
s = "Avance Asound 100" ;
|
||||
else if (vend_id == 0x10019305)
|
||||
s = "Avance Logic 100+" ; /* Vibra16X-class */
|
||||
else if (vend_id == 0x20019305)
|
||||
s = "Avance Logic ALS120" ; /* Vibra16X-class */
|
||||
if (s) {
|
||||
struct pnp_cinfo d;
|
||||
read_pnp_parms(&d, 0);
|
||||
@ -1348,7 +1351,8 @@ sb16pnp_attach(u_long csn, u_long vend_id, char *name,
|
||||
pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */
|
||||
snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */
|
||||
|
||||
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e) {
|
||||
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e
|
||||
|| vend_id == 0x20019305) {
|
||||
/*
|
||||
* XXX please add here the vend_id for other vibra16X cards...
|
||||
* And remember, must change tmp_d, not
|
||||
|
@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name,
|
||||
/*
|
||||
* A driver for some SB16pnp and compatibles...
|
||||
*
|
||||
* Avance Asound 100 -- 0x01009305
|
||||
* Avance Logic ALS100+ -- 0x10019305
|
||||
* xxx -- 0x2b008c0e
|
||||
* Avance Asound 100 -- 0x01009305
|
||||
* Avance Logic ALS100+ -- 0x10019305
|
||||
* Avance Logic ASound Gold ALS120 -- 0x20019305
|
||||
* xxx -- 0x2b008c0e
|
||||
*
|
||||
*/
|
||||
|
||||
@ -1311,6 +1312,8 @@ sb16pnp_probe(u_long csn, u_long vend_id)
|
||||
s = "Avance Asound 100" ;
|
||||
else if (vend_id == 0x10019305)
|
||||
s = "Avance Logic 100+" ; /* Vibra16X-class */
|
||||
else if (vend_id == 0x20019305)
|
||||
s = "Avance Logic ALS120" ; /* Vibra16X-class */
|
||||
if (s) {
|
||||
struct pnp_cinfo d;
|
||||
read_pnp_parms(&d, 0);
|
||||
@ -1348,7 +1351,8 @@ sb16pnp_attach(u_long csn, u_long vend_id, char *name,
|
||||
pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */
|
||||
snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */
|
||||
|
||||
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e) {
|
||||
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e
|
||||
|| vend_id == 0x20019305) {
|
||||
/*
|
||||
* XXX please add here the vend_id for other vibra16X cards...
|
||||
* And remember, must change tmp_d, not
|
||||
|
@ -77,12 +77,6 @@ COMMENTS:
|
||||
|
||||
device pcm0 at isa ? port 0x52C ...
|
||||
|
||||
Actual product: Turtle Beach Malibu soundcard (CS4237). The pnp
|
||||
config here is adjusted to leave dma 3 clear for lpr use:
|
||||
|
||||
pnp 1 0 os irq0 15 irq1 0 drq0 1 drq1 0 port0 1332
|
||||
|
||||
That line is in my /boot/kernel.conf (C. Robey, 3/24/99)
|
||||
|
||||
--------------------------
|
||||
CHIPSET:
|
||||
@ -215,11 +209,14 @@ COMMENTS:
|
||||
|
||||
--------------------------
|
||||
CHIPSET:
|
||||
ALS100, ALS110, ...
|
||||
ALS100, ALS110, ALS120, ...
|
||||
Avance Asound 100: PnP id 0x01009305
|
||||
Avance Asound 100+: PnP id 0x10019305
|
||||
Avance Logic ALS120: PnP id 0x20019305
|
||||
|
||||
MANUFACTURER:
|
||||
Realtek (also Avance Asound and possibly other names)
|
||||
Asound Gold (AS007) has an ALS120
|
||||
|
||||
|
||||
DOCUMENTATION:
|
||||
|
@ -1271,9 +1271,10 @@ ess1868_attach(u_long csn, u_long vend_id, char *name,
|
||||
/*
|
||||
* A driver for some SB16pnp and compatibles...
|
||||
*
|
||||
* Avance Asound 100 -- 0x01009305
|
||||
* Avance Logic ALS100+ -- 0x10019305
|
||||
* xxx -- 0x2b008c0e
|
||||
* Avance Asound 100 -- 0x01009305
|
||||
* Avance Logic ALS100+ -- 0x10019305
|
||||
* Avance Logic ASound Gold ALS120 -- 0x20019305
|
||||
* xxx -- 0x2b008c0e
|
||||
*
|
||||
*/
|
||||
|
||||
@ -1311,6 +1312,8 @@ sb16pnp_probe(u_long csn, u_long vend_id)
|
||||
s = "Avance Asound 100" ;
|
||||
else if (vend_id == 0x10019305)
|
||||
s = "Avance Logic 100+" ; /* Vibra16X-class */
|
||||
else if (vend_id == 0x20019305)
|
||||
s = "Avance Logic ALS120" ; /* Vibra16X-class */
|
||||
if (s) {
|
||||
struct pnp_cinfo d;
|
||||
read_pnp_parms(&d, 0);
|
||||
@ -1348,7 +1351,8 @@ sb16pnp_attach(u_long csn, u_long vend_id, char *name,
|
||||
pcm_info[dev->id_unit] = tmp_d; /* pcm_info[] will be reinitialized after */
|
||||
snddev_last_probed->probe(dev); /* not really necessary but doesn't harm */
|
||||
|
||||
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e) {
|
||||
if (vend_id == 0x10019305 || vend_id == 0xf0008c0e
|
||||
|| vend_id == 0x20019305) {
|
||||
/*
|
||||
* XXX please add here the vend_id for other vibra16X cards...
|
||||
* And remember, must change tmp_d, not
|
||||
|
Loading…
Reference in New Issue
Block a user