summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2008-10-14 19:58:26 +0000
committermav <mav@FreeBSD.org>2008-10-14 19:58:26 +0000
commit86cb0462ed491b3bc7a7acb598e3e67a6a546a7d (patch)
treec0038e1512366ce1458e01926449ec083642a623 /sys/dev/sound
parent04f644835a1b7c7f06d1657a6d68bf1892c863a7 (diff)
downloadFreeBSD-src-86cb0462ed491b3bc7a7acb598e3e67a6a546a7d.zip
FreeBSD-src-86cb0462ed491b3bc7a7acb598e3e67a6a546a7d.tar.gz
Add all Sigmatel/IDT codecs I could find.
Add IDT and Intel unknown codecs. PR: kern/125822
Diffstat (limited to 'sys/dev/sound')
-rw-r--r--sys/dev/sound/pci/hda/hdac.c105
1 files changed, 93 insertions, 12 deletions
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index 38d9435..a8c6567 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -579,15 +579,55 @@ static const struct {
#define HDA_CODEC_STAC9228D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7617)
#define HDA_CODEC_STAC9227X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618)
#define HDA_CODEC_STAC9227D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7619)
+#define HDA_CODEC_STAC9274 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7620)
+#define HDA_CODEC_STAC9274D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7621)
+#define HDA_CODEC_STAC9273X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7622)
+#define HDA_CODEC_STAC9273D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7623)
+#define HDA_CODEC_STAC9272X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7624)
+#define HDA_CODEC_STAC9272D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7625)
+#define HDA_CODEC_STAC9271X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7626)
#define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627)
+#define HDA_CODEC_STAC9274X5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7628)
+#define HDA_CODEC_STAC9274D5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7629)
+#define HDA_CODEC_STAC9250 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7634)
+#define HDA_CODEC_STAC9251 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7636)
+#define HDA_CODEC_IDT92HD700X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7638)
+#define HDA_CODEC_IDT92HD700D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7639)
+#define HDA_CODEC_IDT92HD206X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7645)
+#define HDA_CODEC_IDT92HD206D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7646)
#define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662)
#define HDA_CODEC_STAC9221 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7680)
#define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681)
+#define HDA_CODEC_STAC9221_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7682)
#define HDA_CODEC_STAC9221D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7683)
#define HDA_CODEC_STAC9220 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7690)
-#define HDA_CODEC_STAC9205 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0)
+#define HDA_CODEC_STAC9200D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7691)
+#define HDA_CODEC_IDT92HD005 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7698)
+#define HDA_CODEC_IDT92HD005D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7699)
+#define HDA_CODEC_STAC9205X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0)
+#define HDA_CODEC_STAC9205D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a1)
+#define HDA_CODEC_STAC9204X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a2)
+#define HDA_CODEC_STAC9204D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a3)
+#define HDA_CODEC_STAC9220_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7880)
+#define HDA_CODEC_STAC9220_A1 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7882)
#define HDA_CODEC_STACXXXX HDA_CODEC_CONSTRUCT(SIGMATEL, 0xffff)
+/* IDT */
+#define IDT_VENDORID 0x111d
+#define HDA_CODEC_IDT92HD75BX HDA_CODEC_CONSTRUCT(IDT, 0x7603)
+#define HDA_CODEC_IDT92HD83C1X HDA_CODEC_CONSTRUCT(IDT, 0x7604)
+#define HDA_CODEC_IDT92HD81B1X HDA_CODEC_CONSTRUCT(IDT, 0x7605)
+#define HDA_CODEC_IDT92HD75B3 HDA_CODEC_CONSTRUCT(IDT, 0x7608)
+#define HDA_CODEC_IDT92HD73D1 HDA_CODEC_CONSTRUCT(IDT, 0x7674)
+#define HDA_CODEC_IDT92HD73C1 HDA_CODEC_CONSTRUCT(IDT, 0x7675)
+#define HDA_CODEC_IDT92HD73E1 HDA_CODEC_CONSTRUCT(IDT, 0x7676)
+#define HDA_CODEC_IDT92HD71B8 HDA_CODEC_CONSTRUCT(IDT, 0x76b0)
+#define HDA_CODEC_IDT92HD71B7 HDA_CODEC_CONSTRUCT(IDT, 0x76b2)
+#define HDA_CODEC_IDT92HD71B5 HDA_CODEC_CONSTRUCT(IDT, 0x76b6)
+#define HDA_CODEC_IDT92HD83C1C HDA_CODEC_CONSTRUCT(IDT, 0x76d4)
+#define HDA_CODEC_IDT92HD81B1C HDA_CODEC_CONSTRUCT(IDT, 0x76d5)
+#define HDA_CODEC_IDTXXXX HDA_CODEC_CONSTRUCT(IDT, 0xffff)
+
/* Silicon Image */
#define SII_VENDORID 0x1095
#define HDA_CODEC_SIIXXXX HDA_CODEC_CONSTRUCT(SII, 0xffff)
@@ -632,6 +672,9 @@ static const struct {
/* NVIDIA */
#define HDA_CODEC_NVIDIAXXXX HDA_CODEC_CONSTRUCT(NVIDIA, 0xffff)
+/* INTEL */
+#define HDA_CODEC_INTELXXXX HDA_CODEC_CONSTRUCT(INTEL, 0xffff)
+
/* Codecs */
static const struct {
uint32_t id;
@@ -661,21 +704,57 @@ static const struct {
{ HDA_CODEC_AD1988, "Analog Devices AD1988" },
{ HDA_CODEC_AD1988B, "Analog Devices AD1988B" },
{ HDA_CODEC_CMI9880, "CMedia CMI9880" },
+ { HDA_CODEC_STAC9200D, "Sigmatel STAC9200D" },
+ { HDA_CODEC_STAC9204X, "Sigmatel STAC9204X" },
+ { HDA_CODEC_STAC9204D, "Sigmatel STAC9204D" },
+ { HDA_CODEC_STAC9205X, "Sigmatel STAC9205X" },
+ { HDA_CODEC_STAC9205D, "Sigmatel STAC9205D" },
+ { HDA_CODEC_STAC9220, "Sigmatel STAC9220" },
+ { HDA_CODEC_STAC9220_A1, "Sigmatel STAC9220_A1" },
+ { HDA_CODEC_STAC9220_A2, "Sigmatel STAC9220_A2" },
{ HDA_CODEC_STAC9221, "Sigmatel STAC9221" },
+ { HDA_CODEC_STAC9221_A2, "Sigmatel STAC9221_A2" },
{ HDA_CODEC_STAC9221D, "Sigmatel STAC9221D" },
- { HDA_CODEC_STAC9220, "Sigmatel STAC9220" },
{ HDA_CODEC_STAC922XD, "Sigmatel STAC9220D/9223D" },
- { HDA_CODEC_STAC9230X, "Sigmatel STAC9230X" },
- { HDA_CODEC_STAC9230D, "Sigmatel STAC9230D" },
- { HDA_CODEC_STAC9229X, "Sigmatel STAC9229X" },
- { HDA_CODEC_STAC9229D, "Sigmatel STAC9229D" },
- { HDA_CODEC_STAC9228X, "Sigmatel STAC9228X" },
- { HDA_CODEC_STAC9228D, "Sigmatel STAC9228D" },
{ HDA_CODEC_STAC9227X, "Sigmatel STAC9227X" },
{ HDA_CODEC_STAC9227D, "Sigmatel STAC9227D" },
+ { HDA_CODEC_STAC9228X, "Sigmatel STAC9228X" },
+ { HDA_CODEC_STAC9228D, "Sigmatel STAC9228D" },
+ { HDA_CODEC_STAC9229X, "Sigmatel STAC9229X" },
+ { HDA_CODEC_STAC9229D, "Sigmatel STAC9229D" },
+ { HDA_CODEC_STAC9230X, "Sigmatel STAC9230X" },
+ { HDA_CODEC_STAC9230D, "Sigmatel STAC9230D" },
+ { HDA_CODEC_STAC9250, "Sigmatel STAC9250" },
+ { HDA_CODEC_STAC9251, "Sigmatel STAC9251" },
+ { HDA_CODEC_STAC9271X, "Sigmatel STAC9271X" },
{ HDA_CODEC_STAC9271D, "Sigmatel STAC9271D" },
- { HDA_CODEC_STAC9205, "Sigmatel STAC9205" },
- { HDA_CODEC_STAC9872AK,"Sigmatel STAC9872AK" },
+ { HDA_CODEC_STAC9272X, "Sigmatel STAC9272X" },
+ { HDA_CODEC_STAC9272D, "Sigmatel STAC9272D" },
+ { HDA_CODEC_STAC9273X, "Sigmatel STAC9273X" },
+ { HDA_CODEC_STAC9273D, "Sigmatel STAC9273D" },
+ { HDA_CODEC_STAC9274, "Sigmatel STAC9274" },
+ { HDA_CODEC_STAC9274D, "Sigmatel STAC9274D" },
+ { HDA_CODEC_STAC9274X5NH, "Sigmatel STAC9274X5NH" },
+ { HDA_CODEC_STAC9274D5NH, "Sigmatel STAC9274D5NH" },
+ { HDA_CODEC_STAC9872AK, "Sigmatel STAC9872AK" },
+ { HDA_CODEC_IDT92HD005, "IDT 92HD005" },
+ { HDA_CODEC_IDT92HD005D, "IDT 92HD005D" },
+ { HDA_CODEC_IDT92HD206X, "IDT 92HD206X" },
+ { HDA_CODEC_IDT92HD206D, "IDT 92HD206D" },
+ { HDA_CODEC_IDT92HD700X, "IDT 92HD700X" },
+ { HDA_CODEC_IDT92HD700D, "IDT 92HD700D" },
+ { HDA_CODEC_IDT92HD71B5, "IDT 92HD71B5" },
+ { HDA_CODEC_IDT92HD71B7, "IDT 92HD71B7" },
+ { HDA_CODEC_IDT92HD71B8, "IDT 92HD71B8" },
+ { HDA_CODEC_IDT92HD73C1, "IDT 92HD73C1" },
+ { HDA_CODEC_IDT92HD73D1, "IDT 92HD73D1" },
+ { HDA_CODEC_IDT92HD73E1, "IDT 92HD73E1" },
+ { HDA_CODEC_IDT92HD75B3, "IDT 92HD75B3" },
+ { HDA_CODEC_IDT92HD75BX, "IDT 92HD75BX" },
+ { HDA_CODEC_IDT92HD81B1C, "IDT 92HD81B1C" },
+ { HDA_CODEC_IDT92HD81B1X, "IDT 92HD81B1X" },
+ { HDA_CODEC_IDT92HD83C1C, "IDT 92HD83C1C" },
+ { HDA_CODEC_IDT92HD83C1X, "IDT 92HD83C1X" },
{ HDA_CODEC_CXVENICE, "Conexant Venice" },
{ HDA_CODEC_CXWAIKIKI, "Conexant Waikiki" },
{ HDA_CODEC_VT1708_8, "VIA VT1708_8" },
@@ -701,6 +780,8 @@ static const struct {
{ HDA_CODEC_VTXXXX, "VIA (Unknown)" },
{ HDA_CODEC_ATIXXXX, "ATI (Unknown)" },
{ HDA_CODEC_NVIDIAXXXX,"NVidia (Unknown)" },
+ { HDA_CODEC_INTELXXXX, "Intel (Unknown)" },
+ { HDA_CODEC_IDTXXXX, "IDT (Unknown)" },
};
#define HDAC_CODECS_LEN (sizeof(hdac_codecs) / sizeof(hdac_codecs[0]))
@@ -4340,9 +4421,9 @@ static const struct {
HDA_QUIRK_GPIO0 | HDA_QUIRK_OVREF50, 0},
{ APPLE_INTEL_MAC, HDA_CODEC_STAC9221,
HDA_QUIRK_GPIO0 | HDA_QUIRK_GPIO1, 0 },
- { DELL_D630_SUBVENDOR, HDA_CODEC_STAC9205,
+ { DELL_D630_SUBVENDOR, HDA_CODEC_STAC9205X,
HDA_QUIRK_GPIO0, 0 },
- { DELL_V1500_SUBVENDOR, HDA_CODEC_STAC9205,
+ { DELL_V1500_SUBVENDOR, HDA_CODEC_STAC9205X,
HDA_QUIRK_GPIO0, 0 },
{ HDA_MATCH_ALL, HDA_CODEC_AD1988,
HDA_QUIRK_IVREF80, HDA_QUIRK_IVREF50 | HDA_QUIRK_IVREF100 },
OpenPOWER on IntegriCloud