1558a398bSSimon Schubert /*- 2558a398bSSimon Schubert * Copyright (c) 2006 Stephane E. Potvin <sepotvin@videotron.ca> 3558a398bSSimon Schubert * All rights reserved. 4558a398bSSimon Schubert * 5558a398bSSimon Schubert * Redistribution and use in source and binary forms, with or without 6558a398bSSimon Schubert * modification, are permitted provided that the following conditions 7558a398bSSimon Schubert * are met: 8558a398bSSimon Schubert * 1. Redistributions of source code must retain the above copyright 9558a398bSSimon Schubert * notice, this list of conditions and the following disclaimer. 10558a398bSSimon Schubert * 2. Redistributions in binary form must reproduce the above copyright 11558a398bSSimon Schubert * notice, this list of conditions and the following disclaimer in the 12558a398bSSimon Schubert * documentation and/or other materials provided with the distribution. 13558a398bSSimon Schubert * 14558a398bSSimon Schubert * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15558a398bSSimon Schubert * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16558a398bSSimon Schubert * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17558a398bSSimon Schubert * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18558a398bSSimon Schubert * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19558a398bSSimon Schubert * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20558a398bSSimon Schubert * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21558a398bSSimon Schubert * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22558a398bSSimon Schubert * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23558a398bSSimon Schubert * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24558a398bSSimon Schubert * SUCH DAMAGE. 25558a398bSSimon Schubert * 262a1ad637SFrançois Tigeot * $FreeBSD: head/sys/dev/sound/pci/hda/hdac.h 275101 2014-11-26 04:23:21Z mav $ 27558a398bSSimon Schubert */ 28558a398bSSimon Schubert 29558a398bSSimon Schubert #ifndef _HDAC_H_ 30558a398bSSimon Schubert #define _HDAC_H_ 31558a398bSSimon Schubert 322a1ad637SFrançois Tigeot #include "hdac_if.h" 33558a398bSSimon Schubert 34558a398bSSimon Schubert /**************************************************************************** 35558a398bSSimon Schubert * Miscellanious defines 36558a398bSSimon Schubert ****************************************************************************/ 37558a398bSSimon Schubert 382a1ad637SFrançois Tigeot /* Controller models */ 392a1ad637SFrançois Tigeot #define HDA_MODEL_CONSTRUCT(vendor, model) \ 402a1ad637SFrançois Tigeot (((uint32_t)(model) << 16) | ((vendor##_VENDORID) & 0xffff)) 412a1ad637SFrançois Tigeot 422a1ad637SFrançois Tigeot /* Intel */ 432a1ad637SFrançois Tigeot #define INTEL_VENDORID 0x8086 442a1ad637SFrançois Tigeot #define HDA_INTEL_OAK HDA_MODEL_CONSTRUCT(INTEL, 0x080a) 452a1ad637SFrançois Tigeot #define HDA_INTEL_BAY HDA_MODEL_CONSTRUCT(INTEL, 0x0f04) 462a1ad637SFrançois Tigeot #define HDA_INTEL_HSW1 HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c) 472a1ad637SFrançois Tigeot #define HDA_INTEL_HSW2 HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c) 482a1ad637SFrançois Tigeot #define HDA_INTEL_HSW3 HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c) 49edfd9622SSepherosa Ziehau #define HDA_INTEL_BDW1 HDA_MODEL_CONSTRUCT(INTEL, 0x160c) 502a1ad637SFrançois Tigeot #define HDA_INTEL_CPT HDA_MODEL_CONSTRUCT(INTEL, 0x1c20) 512a1ad637SFrançois Tigeot #define HDA_INTEL_PATSBURG HDA_MODEL_CONSTRUCT(INTEL, 0x1d20) 522a1ad637SFrançois Tigeot #define HDA_INTEL_PPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x1e20) 532a1ad637SFrançois Tigeot #define HDA_INTEL_82801F HDA_MODEL_CONSTRUCT(INTEL, 0x2668) 542a1ad637SFrançois Tigeot #define HDA_INTEL_63XXESB HDA_MODEL_CONSTRUCT(INTEL, 0x269a) 552a1ad637SFrançois Tigeot #define HDA_INTEL_82801G HDA_MODEL_CONSTRUCT(INTEL, 0x27d8) 562a1ad637SFrançois Tigeot #define HDA_INTEL_82801H HDA_MODEL_CONSTRUCT(INTEL, 0x284b) 572a1ad637SFrançois Tigeot #define HDA_INTEL_82801I HDA_MODEL_CONSTRUCT(INTEL, 0x293e) 582a1ad637SFrançois Tigeot #define HDA_INTEL_82801JI HDA_MODEL_CONSTRUCT(INTEL, 0x3a3e) 592a1ad637SFrançois Tigeot #define HDA_INTEL_82801JD HDA_MODEL_CONSTRUCT(INTEL, 0x3a6e) 602a1ad637SFrançois Tigeot #define HDA_INTEL_PCH HDA_MODEL_CONSTRUCT(INTEL, 0x3b56) 612a1ad637SFrançois Tigeot #define HDA_INTEL_PCH2 HDA_MODEL_CONSTRUCT(INTEL, 0x3b57) 622a1ad637SFrançois Tigeot #define HDA_INTEL_MACBOOKPRO92 HDA_MODEL_CONSTRUCT(INTEL, 0x7270) 632a1ad637SFrançois Tigeot #define HDA_INTEL_SCH HDA_MODEL_CONSTRUCT(INTEL, 0x811b) 642a1ad637SFrançois Tigeot #define HDA_INTEL_LPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x8c20) 652a1ad637SFrançois Tigeot #define HDA_INTEL_LPT2 HDA_MODEL_CONSTRUCT(INTEL, 0x8c21) 662a1ad637SFrançois Tigeot #define HDA_INTEL_WCPT HDA_MODEL_CONSTRUCT(INTEL, 0x8ca0) 672a1ad637SFrançois Tigeot #define HDA_INTEL_WELLS1 HDA_MODEL_CONSTRUCT(INTEL, 0x8d20) 682a1ad637SFrançois Tigeot #define HDA_INTEL_WELLS2 HDA_MODEL_CONSTRUCT(INTEL, 0x8d21) 692a1ad637SFrançois Tigeot #define HDA_INTEL_LPTLP1 HDA_MODEL_CONSTRUCT(INTEL, 0x9c20) 702a1ad637SFrançois Tigeot #define HDA_INTEL_LPTLP2 HDA_MODEL_CONSTRUCT(INTEL, 0x9c21) 7145328a62SImre Vadász #define HDA_INTEL_WCPTLP HDA_MODEL_CONSTRUCT(INTEL, 0x9ca0) 72edfd9622SSepherosa Ziehau #define HDA_INTEL_SRPTLP HDA_MODEL_CONSTRUCT(INTEL, 0x9d70) 73edfd9622SSepherosa Ziehau #define HDA_INTEL_KBLKLP HDA_MODEL_CONSTRUCT(INTEL, 0x9d71) 74edfd9622SSepherosa Ziehau #define HDA_INTEL_SRPT HDA_MODEL_CONSTRUCT(INTEL, 0xa170) 75edfd9622SSepherosa Ziehau #define HDA_INTEL_KBLK HDA_MODEL_CONSTRUCT(INTEL, 0xa171) 762a1ad637SFrançois Tigeot #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0xffff) 772a1ad637SFrançois Tigeot 782a1ad637SFrançois Tigeot /* Nvidia */ 792a1ad637SFrançois Tigeot #define NVIDIA_VENDORID 0x10de 802a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP51 HDA_MODEL_CONSTRUCT(NVIDIA, 0x026c) 812a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP55 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0371) 822a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP61_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x03e4) 832a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP61_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x03f0) 842a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP65_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x044a) 852a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP65_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x044b) 862a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP67_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055c) 872a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP67_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055d) 882a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP78_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0774) 892a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP78_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0775) 902a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP78_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0776) 912a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP78_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0777) 922a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP73_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fc) 932a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP73_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fd) 942a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP79_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac0) 952a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP79_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac1) 962a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP79_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac2) 972a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP79_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac3) 982a1ad637SFrançois Tigeot #define HDA_NVIDIA_0BE2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be2) 992a1ad637SFrançois Tigeot #define HDA_NVIDIA_0BE3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be3) 1002a1ad637SFrançois Tigeot #define HDA_NVIDIA_0BE4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be4) 1012a1ad637SFrançois Tigeot #define HDA_NVIDIA_GT100 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be5) 1022a1ad637SFrançois Tigeot #define HDA_NVIDIA_GT106 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be9) 1032a1ad637SFrançois Tigeot #define HDA_NVIDIA_GT108 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bea) 1042a1ad637SFrançois Tigeot #define HDA_NVIDIA_GT104 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0beb) 1052a1ad637SFrançois Tigeot #define HDA_NVIDIA_GT116 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bee) 1062a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP89_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d94) 1072a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP89_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d95) 1082a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP89_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d96) 1092a1ad637SFrançois Tigeot #define HDA_NVIDIA_MCP89_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d97) 1102a1ad637SFrançois Tigeot #define HDA_NVIDIA_GF119 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e08) 1112a1ad637SFrançois Tigeot #define HDA_NVIDIA_GF110_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e09) 1122a1ad637SFrançois Tigeot #define HDA_NVIDIA_GF110_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e0c) 1132a1ad637SFrançois Tigeot #define HDA_NVIDIA_ALL HDA_MODEL_CONSTRUCT(NVIDIA, 0xffff) 1142a1ad637SFrançois Tigeot 1152a1ad637SFrançois Tigeot /* ATI */ 1162a1ad637SFrançois Tigeot #define ATI_VENDORID 0x1002 1172a1ad637SFrançois Tigeot #define HDA_ATI_SB450 HDA_MODEL_CONSTRUCT(ATI, 0x437b) 1182a1ad637SFrançois Tigeot #define HDA_ATI_SB600 HDA_MODEL_CONSTRUCT(ATI, 0x4383) 1192a1ad637SFrançois Tigeot #define HDA_ATI_RS600 HDA_MODEL_CONSTRUCT(ATI, 0x793b) 1202a1ad637SFrançois Tigeot #define HDA_ATI_RS690 HDA_MODEL_CONSTRUCT(ATI, 0x7919) 1212a1ad637SFrançois Tigeot #define HDA_ATI_RS780 HDA_MODEL_CONSTRUCT(ATI, 0x960f) 1222a1ad637SFrançois Tigeot #define HDA_ATI_R600 HDA_MODEL_CONSTRUCT(ATI, 0xaa00) 1232a1ad637SFrançois Tigeot #define HDA_ATI_RV630 HDA_MODEL_CONSTRUCT(ATI, 0xaa08) 1242a1ad637SFrançois Tigeot #define HDA_ATI_RV610 HDA_MODEL_CONSTRUCT(ATI, 0xaa10) 1252a1ad637SFrançois Tigeot #define HDA_ATI_RV670 HDA_MODEL_CONSTRUCT(ATI, 0xaa18) 1262a1ad637SFrançois Tigeot #define HDA_ATI_RV635 HDA_MODEL_CONSTRUCT(ATI, 0xaa20) 1272a1ad637SFrançois Tigeot #define HDA_ATI_RV620 HDA_MODEL_CONSTRUCT(ATI, 0xaa28) 1282a1ad637SFrançois Tigeot #define HDA_ATI_RV770 HDA_MODEL_CONSTRUCT(ATI, 0xaa30) 1292a1ad637SFrançois Tigeot #define HDA_ATI_RV730 HDA_MODEL_CONSTRUCT(ATI, 0xaa38) 1302a1ad637SFrançois Tigeot #define HDA_ATI_RV710 HDA_MODEL_CONSTRUCT(ATI, 0xaa40) 1312a1ad637SFrançois Tigeot #define HDA_ATI_RV740 HDA_MODEL_CONSTRUCT(ATI, 0xaa48) 1322a1ad637SFrançois Tigeot #define HDA_ATI_RV870 HDA_MODEL_CONSTRUCT(ATI, 0xaa50) 1332a1ad637SFrançois Tigeot #define HDA_ATI_RV840 HDA_MODEL_CONSTRUCT(ATI, 0xaa58) 1342a1ad637SFrançois Tigeot #define HDA_ATI_RV830 HDA_MODEL_CONSTRUCT(ATI, 0xaa60) 1352a1ad637SFrançois Tigeot #define HDA_ATI_RV810 HDA_MODEL_CONSTRUCT(ATI, 0xaa68) 1362a1ad637SFrançois Tigeot #define HDA_ATI_RV970 HDA_MODEL_CONSTRUCT(ATI, 0xaa80) 1372a1ad637SFrançois Tigeot #define HDA_ATI_RV940 HDA_MODEL_CONSTRUCT(ATI, 0xaa88) 1382a1ad637SFrançois Tigeot #define HDA_ATI_RV930 HDA_MODEL_CONSTRUCT(ATI, 0xaa90) 1392a1ad637SFrançois Tigeot #define HDA_ATI_RV910 HDA_MODEL_CONSTRUCT(ATI, 0xaa98) 1402a1ad637SFrançois Tigeot #define HDA_ATI_R1000 HDA_MODEL_CONSTRUCT(ATI, 0xaaa0) 1412a1ad637SFrançois Tigeot #define HDA_ATI_ALL HDA_MODEL_CONSTRUCT(ATI, 0xffff) 1422a1ad637SFrançois Tigeot 143edfd9622SSepherosa Ziehau #define AMD_VENDORID 0x1022 144edfd9622SSepherosa Ziehau #define HDA_AMD_HUDSON2 HDA_MODEL_CONSTRUCT(AMD, 0x780d) 145edfd9622SSepherosa Ziehau #define HDA_AMD_ALL HDA_MODEL_CONSTRUCT(AMD, 0xffff) 146edfd9622SSepherosa Ziehau 1472a1ad637SFrançois Tigeot /* RDC */ 1482a1ad637SFrançois Tigeot #define RDC_VENDORID 0x17f3 1492a1ad637SFrançois Tigeot #define HDA_RDC_M3010 HDA_MODEL_CONSTRUCT(RDC, 0x3010) 1502a1ad637SFrançois Tigeot 1512a1ad637SFrançois Tigeot /* VIA */ 1522a1ad637SFrançois Tigeot #define VIA_VENDORID 0x1106 1532a1ad637SFrançois Tigeot #define HDA_VIA_VT82XX HDA_MODEL_CONSTRUCT(VIA, 0x3288) 1542a1ad637SFrançois Tigeot #define HDA_VIA_ALL HDA_MODEL_CONSTRUCT(VIA, 0xffff) 1552a1ad637SFrançois Tigeot 1562a1ad637SFrançois Tigeot /* SiS */ 1572a1ad637SFrançois Tigeot #define SIS_VENDORID 0x1039 1582a1ad637SFrançois Tigeot #define HDA_SIS_966 HDA_MODEL_CONSTRUCT(SIS, 0x7502) 1592a1ad637SFrançois Tigeot #define HDA_SIS_ALL HDA_MODEL_CONSTRUCT(SIS, 0xffff) 1602a1ad637SFrançois Tigeot 1612a1ad637SFrançois Tigeot /* ULI */ 1622a1ad637SFrançois Tigeot #define ULI_VENDORID 0x10b9 1632a1ad637SFrançois Tigeot #define HDA_ULI_M5461 HDA_MODEL_CONSTRUCT(ULI, 0x5461) 1642a1ad637SFrançois Tigeot #define HDA_ULI_ALL HDA_MODEL_CONSTRUCT(ULI, 0xffff) 1652a1ad637SFrançois Tigeot 1662a1ad637SFrançois Tigeot /* OEM/subvendors */ 1672a1ad637SFrançois Tigeot 1682a1ad637SFrançois Tigeot /* Intel */ 1692a1ad637SFrançois Tigeot #define INTEL_DH87RL_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0x204a) 1702a1ad637SFrançois Tigeot #define INTEL_D101GGC_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xd600) 1712a1ad637SFrançois Tigeot 1722a1ad637SFrançois Tigeot /* HP/Compaq */ 1732a1ad637SFrançois Tigeot #define HP_VENDORID 0x103c 1742a1ad637SFrançois Tigeot #define HP_V3000_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30b5) 1752a1ad637SFrançois Tigeot #define HP_NX7400_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30a2) 1762a1ad637SFrançois Tigeot #define HP_NX6310_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30aa) 1772a1ad637SFrançois Tigeot #define HP_NX6325_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30b0) 1782a1ad637SFrançois Tigeot #define HP_XW4300_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x3013) 1792a1ad637SFrançois Tigeot #define HP_3010_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x3010) 1802a1ad637SFrançois Tigeot #define HP_DV5000_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30a5) 1812a1ad637SFrançois Tigeot #define HP_DC7700S_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2801) 1822a1ad637SFrançois Tigeot #define HP_DC7700_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2802) 1832a1ad637SFrançois Tigeot #define HP_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0xffff) 1842a1ad637SFrançois Tigeot /* What is wrong with XN 2563 anyway? (Got the picture ?) */ 1852a1ad637SFrançois Tigeot #define HP_NX6325_SUBVENDORX 0x103c30b0 1862a1ad637SFrançois Tigeot 1872a1ad637SFrançois Tigeot /* Dell */ 1882a1ad637SFrançois Tigeot #define DELL_VENDORID 0x1028 1892a1ad637SFrançois Tigeot #define DELL_D630_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01f9) 1902a1ad637SFrançois Tigeot #define DELL_D820_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01cc) 1912a1ad637SFrançois Tigeot #define DELL_V1400_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0227) 1922a1ad637SFrançois Tigeot #define DELL_V1500_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0228) 1932a1ad637SFrançois Tigeot #define DELL_I1300_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01c9) 1942a1ad637SFrançois Tigeot #define DELL_XPSM1210_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01d7) 1952a1ad637SFrançois Tigeot #define DELL_OPLX745_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01da) 1962a1ad637SFrançois Tigeot #define DELL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0xffff) 1972a1ad637SFrançois Tigeot 1982a1ad637SFrançois Tigeot /* Clevo */ 1992a1ad637SFrançois Tigeot #define CLEVO_VENDORID 0x1558 2002a1ad637SFrançois Tigeot #define CLEVO_D900T_SUBVENDOR HDA_MODEL_CONSTRUCT(CLEVO, 0x0900) 2012a1ad637SFrançois Tigeot #define CLEVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(CLEVO, 0xffff) 2022a1ad637SFrançois Tigeot 2032a1ad637SFrançois Tigeot /* Acer */ 2042a1ad637SFrançois Tigeot #define ACER_VENDORID 0x1025 205dad4f08aSMatthew Dillon #define ACER2_VENDORID 0x103c /* HP vendor id found on a C720P */ 2062a1ad637SFrançois Tigeot #define ACER_A5050_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x010f) 2072a1ad637SFrançois Tigeot #define ACER_A4520_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0127) 2082a1ad637SFrançois Tigeot #define ACER_A4710_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x012f) 2092a1ad637SFrançois Tigeot #define ACER_A4715_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0133) 2102a1ad637SFrançois Tigeot #define ACER_3681WXM_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0110) 2112a1ad637SFrançois Tigeot #define ACER_T6292_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011b) 2122a1ad637SFrançois Tigeot #define ACER_T5320_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011f) 213536a8300SMatthew Dillon #define ACER_C720_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0a11) 214dad4f08aSMatthew Dillon #define ACER_C720_SUBVENDOR2 HDA_MODEL_CONSTRUCT(ACER2, 0x21ed) 2152a1ad637SFrançois Tigeot #define ACER_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xffff) 2162a1ad637SFrançois Tigeot 2172a1ad637SFrançois Tigeot /* Asus */ 2182a1ad637SFrançois Tigeot #define ASUS_VENDORID 0x1043 2192a1ad637SFrançois Tigeot #define ASUS_A8X_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1153) 2202a1ad637SFrançois Tigeot #define ASUS_U5F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263) 2212a1ad637SFrançois Tigeot #define ASUS_W6F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263) 2222a1ad637SFrançois Tigeot #define ASUS_A7M_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1323) 2232a1ad637SFrançois Tigeot #define ASUS_F3JC_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1338) 2242a1ad637SFrançois Tigeot #define ASUS_G2K_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1339) 2252a1ad637SFrançois Tigeot #define ASUS_A7T_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x13c2) 2262a1ad637SFrançois Tigeot #define ASUS_UX31A_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1517) 2272a1ad637SFrançois Tigeot #define ASUS_W2J_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1971) 2282a1ad637SFrançois Tigeot #define ASUS_M5200_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1993) 2292a1ad637SFrançois Tigeot #define ASUS_P5PL2_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x817f) 2302a1ad637SFrançois Tigeot #define ASUS_P1AH2_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81cb) 2312a1ad637SFrançois Tigeot #define ASUS_M2NPVMX_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81cb) 2322a1ad637SFrançois Tigeot #define ASUS_M2V_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81e7) 2332a1ad637SFrançois Tigeot #define ASUS_P5BWD_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81ec) 2342a1ad637SFrançois Tigeot #define ASUS_M2N_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x8234) 2352a1ad637SFrançois Tigeot #define ASUS_A8NVMCSM_SUBVENDOR HDA_MODEL_CONSTRUCT(NVIDIA, 0xcb84) 2362a1ad637SFrançois Tigeot #define ASUS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0xffff) 2372a1ad637SFrançois Tigeot 2382a1ad637SFrançois Tigeot /* IBM / Lenovo */ 2392a1ad637SFrançois Tigeot #define IBM_VENDORID 0x1014 2402a1ad637SFrançois Tigeot #define IBM_M52_SUBVENDOR HDA_MODEL_CONSTRUCT(IBM, 0x02f6) 2412a1ad637SFrançois Tigeot #define IBM_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(IBM, 0xffff) 2422a1ad637SFrançois Tigeot 2432a1ad637SFrançois Tigeot /* Lenovo */ 2442a1ad637SFrançois Tigeot #define LENOVO_VENDORID 0x17aa 2452a1ad637SFrançois Tigeot #define LENOVO_3KN100_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2066) 2462a1ad637SFrançois Tigeot #define LENOVO_3KN200_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e) 2472a1ad637SFrançois Tigeot #define LENOVO_B450_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d) 2482a1ad637SFrançois Tigeot #define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015) 2492a1ad637SFrançois Tigeot #define LENOVO_X1_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21e8) 2502a1ad637SFrançois Tigeot #define LENOVO_X1CRBN_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f9) 251edfd9622SSepherosa Ziehau #define LENOVO_X120BS_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2227) 2522a1ad637SFrançois Tigeot #define LENOVO_X220_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21da) 2532a1ad637SFrançois Tigeot #define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac) 2542a1ad637SFrançois Tigeot #define LENOVO_T400_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20f2) 2552a1ad637SFrançois Tigeot #define LENOVO_T420_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21ce) 2562a1ad637SFrançois Tigeot #define LENOVO_T430_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f3) 2572a1ad637SFrançois Tigeot #define LENOVO_T430S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21fb) 2582a1ad637SFrançois Tigeot #define LENOVO_T520_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf) 2592a1ad637SFrançois Tigeot #define LENOVO_T530_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f6) 2602a1ad637SFrançois Tigeot #define LENOVO_G580_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3977) 2612a1ad637SFrançois Tigeot #define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff) 2622a1ad637SFrançois Tigeot 2632a1ad637SFrançois Tigeot /* Samsung */ 2642a1ad637SFrançois Tigeot #define SAMSUNG_VENDORID 0x144d 2652a1ad637SFrançois Tigeot #define SAMSUNG_Q1_SUBVENDOR HDA_MODEL_CONSTRUCT(SAMSUNG, 0xc027) 2662a1ad637SFrançois Tigeot #define SAMSUNG_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SAMSUNG, 0xffff) 2672a1ad637SFrançois Tigeot 2682a1ad637SFrançois Tigeot /* Medion ? */ 2692a1ad637SFrançois Tigeot #define MEDION_VENDORID 0x161f 2702a1ad637SFrançois Tigeot #define MEDION_MD95257_SUBVENDOR HDA_MODEL_CONSTRUCT(MEDION, 0x203d) 2712a1ad637SFrançois Tigeot #define MEDION_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(MEDION, 0xffff) 2722a1ad637SFrançois Tigeot 2732a1ad637SFrançois Tigeot /* Apple Computer Inc. */ 2742a1ad637SFrançois Tigeot #define APPLE_VENDORID 0x106b 2752a1ad637SFrançois Tigeot #define APPLE_MB3_SUBVENDOR HDA_MODEL_CONSTRUCT(APPLE, 0x00a1) 2762a1ad637SFrançois Tigeot 2772a1ad637SFrançois Tigeot /* Sony */ 2782a1ad637SFrançois Tigeot #define SONY_VENDORID 0x104d 2792a1ad637SFrançois Tigeot #define SONY_S5_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81cc) 2802a1ad637SFrançois Tigeot #define SONY_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0xffff) 2812a1ad637SFrançois Tigeot 2822a1ad637SFrançois Tigeot /* 2832a1ad637SFrançois Tigeot * Apple Intel MacXXXX seems using Sigmatel codec/vendor id 2842a1ad637SFrançois Tigeot * instead of their own, which is beyond my comprehension 2852a1ad637SFrançois Tigeot * (see HDA_CODEC_STAC9221 below). 2862a1ad637SFrançois Tigeot */ 2872a1ad637SFrançois Tigeot #define APPLE_INTEL_MAC 0x76808384 2882a1ad637SFrançois Tigeot #define APPLE_MACBOOKAIR31 0x0d9410de 2892a1ad637SFrançois Tigeot #define APPLE_MACBOOKPRO55 0xcb7910de 2902a1ad637SFrançois Tigeot #define APPLE_MACBOOKPRO71 0xcb8910de 2912a1ad637SFrançois Tigeot 2922a1ad637SFrançois Tigeot /* LG Electronics */ 2932a1ad637SFrançois Tigeot #define LG_VENDORID 0x1854 2942a1ad637SFrançois Tigeot #define LG_LW20_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0x0018) 2952a1ad637SFrançois Tigeot #define LG_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0xffff) 2962a1ad637SFrançois Tigeot 2972a1ad637SFrançois Tigeot /* Fujitsu Siemens */ 2982a1ad637SFrançois Tigeot #define FS_VENDORID 0x1734 2992a1ad637SFrançois Tigeot #define FS_PA1510_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10b8) 3002a1ad637SFrançois Tigeot #define FS_SI1848_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10cd) 3012a1ad637SFrançois Tigeot #define FS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0xffff) 3022a1ad637SFrançois Tigeot 3032a1ad637SFrançois Tigeot /* Fujitsu Limited */ 3042a1ad637SFrançois Tigeot #define FL_VENDORID 0x10cf 3052a1ad637SFrançois Tigeot #define FL_S7020D_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x1326) 3062a1ad637SFrançois Tigeot #define FL_U1010_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x142d) 3072a1ad637SFrançois Tigeot #define FL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0xffff) 3082a1ad637SFrançois Tigeot 3092a1ad637SFrançois Tigeot /* Toshiba */ 3102a1ad637SFrançois Tigeot #define TOSHIBA_VENDORID 0x1179 3112a1ad637SFrançois Tigeot #define TOSHIBA_U200_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0x0001) 3122a1ad637SFrançois Tigeot #define TOSHIBA_A135_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0xff01) 3132a1ad637SFrançois Tigeot #define TOSHIBA_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0xffff) 3142a1ad637SFrançois Tigeot 3152a1ad637SFrançois Tigeot /* Micro-Star International (MSI) */ 3162a1ad637SFrançois Tigeot #define MSI_VENDORID 0x1462 3172a1ad637SFrançois Tigeot #define MSI_MS1034_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0x0349) 3182a1ad637SFrançois Tigeot #define MSI_MS034A_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0x034a) 3192a1ad637SFrançois Tigeot #define MSI_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0xffff) 3202a1ad637SFrançois Tigeot 3212a1ad637SFrançois Tigeot /* Giga-Byte Technology */ 3222a1ad637SFrançois Tigeot #define GB_VENDORID 0x1458 3232a1ad637SFrançois Tigeot #define GB_G33S2H_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xa022) 3248bd5748cSMatthew Dillon #define GB_BXBT_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xfa53) 3252a1ad637SFrançois Tigeot #define GP_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xffff) 3262a1ad637SFrançois Tigeot 3272a1ad637SFrançois Tigeot /* Uniwill ? */ 3282a1ad637SFrançois Tigeot #define UNIWILL_VENDORID 0x1584 3292a1ad637SFrançois Tigeot #define UNIWILL_9075_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9075) 3302a1ad637SFrançois Tigeot #define UNIWILL_9080_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9080) 3312a1ad637SFrançois Tigeot 3322a1ad637SFrançois Tigeot /* All codecs you can eat... */ 3332a1ad637SFrançois Tigeot #define HDA_CODEC_CONSTRUCT(vendor, id) \ 3342a1ad637SFrançois Tigeot (((uint32_t)(vendor##_VENDORID) << 16) | ((id) & 0xffff)) 3352a1ad637SFrançois Tigeot 3362a1ad637SFrançois Tigeot /* Cirrus Logic */ 3372a1ad637SFrançois Tigeot #define CIRRUSLOGIC_VENDORID 0x1013 3382a1ad637SFrançois Tigeot #define HDA_CODEC_CS4206 HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4206) 3392a1ad637SFrançois Tigeot #define HDA_CODEC_CS4207 HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4207) 3402a1ad637SFrançois Tigeot #define HDA_CODEC_CS4210 HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4210) 3412a1ad637SFrançois Tigeot #define HDA_CODEC_CSXXXX HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0xffff) 3422a1ad637SFrançois Tigeot 3432a1ad637SFrançois Tigeot /* Realtek */ 3442a1ad637SFrançois Tigeot #define REALTEK_VENDORID 0x10ec 3452a1ad637SFrançois Tigeot #define HDA_CODEC_ALC221 HDA_CODEC_CONSTRUCT(REALTEK, 0x0221) 346edfd9622SSepherosa Ziehau #define HDA_CODEC_ALC233 HDA_CODEC_CONSTRUCT(REALTEK, 0x0233) 347*8fa94593SMatthew Dillon #define HDA_CODEC_ALC256 HDA_CODEC_CONSTRUCT(REALTEK, 0x0256) 3482a1ad637SFrançois Tigeot #define HDA_CODEC_ALC260 HDA_CODEC_CONSTRUCT(REALTEK, 0x0260) 3492a1ad637SFrançois Tigeot #define HDA_CODEC_ALC262 HDA_CODEC_CONSTRUCT(REALTEK, 0x0262) 3502a1ad637SFrançois Tigeot #define HDA_CODEC_ALC267 HDA_CODEC_CONSTRUCT(REALTEK, 0x0267) 3512a1ad637SFrançois Tigeot #define HDA_CODEC_ALC268 HDA_CODEC_CONSTRUCT(REALTEK, 0x0268) 3522a1ad637SFrançois Tigeot #define HDA_CODEC_ALC269 HDA_CODEC_CONSTRUCT(REALTEK, 0x0269) 3532a1ad637SFrançois Tigeot #define HDA_CODEC_ALC270 HDA_CODEC_CONSTRUCT(REALTEK, 0x0270) 3542a1ad637SFrançois Tigeot #define HDA_CODEC_ALC272 HDA_CODEC_CONSTRUCT(REALTEK, 0x0272) 3552a1ad637SFrançois Tigeot #define HDA_CODEC_ALC273 HDA_CODEC_CONSTRUCT(REALTEK, 0x0273) 3562a1ad637SFrançois Tigeot #define HDA_CODEC_ALC275 HDA_CODEC_CONSTRUCT(REALTEK, 0x0275) 3572a1ad637SFrançois Tigeot #define HDA_CODEC_ALC276 HDA_CODEC_CONSTRUCT(REALTEK, 0x0276) 358536a8300SMatthew Dillon #define HDA_CODEC_ALC283 HDA_CODEC_CONSTRUCT(REALTEK, 0x0283) 359edfd9622SSepherosa Ziehau #define HDA_CODEC_ALC292 HDA_CODEC_CONSTRUCT(REALTEK, 0x0292) 360edfd9622SSepherosa Ziehau #define HDA_CODEC_ALC295 HDA_CODEC_CONSTRUCT(REALTEK, 0x0295) 3612a1ad637SFrançois Tigeot #define HDA_CODEC_ALC660 HDA_CODEC_CONSTRUCT(REALTEK, 0x0660) 3622a1ad637SFrançois Tigeot #define HDA_CODEC_ALC662 HDA_CODEC_CONSTRUCT(REALTEK, 0x0662) 3632a1ad637SFrançois Tigeot #define HDA_CODEC_ALC663 HDA_CODEC_CONSTRUCT(REALTEK, 0x0663) 3642a1ad637SFrançois Tigeot #define HDA_CODEC_ALC665 HDA_CODEC_CONSTRUCT(REALTEK, 0x0665) 3652a1ad637SFrançois Tigeot #define HDA_CODEC_ALC670 HDA_CODEC_CONSTRUCT(REALTEK, 0x0670) 3662a1ad637SFrançois Tigeot #define HDA_CODEC_ALC680 HDA_CODEC_CONSTRUCT(REALTEK, 0x0680) 3672a1ad637SFrançois Tigeot #define HDA_CODEC_ALC861 HDA_CODEC_CONSTRUCT(REALTEK, 0x0861) 3682a1ad637SFrançois Tigeot #define HDA_CODEC_ALC861VD HDA_CODEC_CONSTRUCT(REALTEK, 0x0862) 3692a1ad637SFrançois Tigeot #define HDA_CODEC_ALC880 HDA_CODEC_CONSTRUCT(REALTEK, 0x0880) 3702a1ad637SFrançois Tigeot #define HDA_CODEC_ALC882 HDA_CODEC_CONSTRUCT(REALTEK, 0x0882) 3712a1ad637SFrançois Tigeot #define HDA_CODEC_ALC883 HDA_CODEC_CONSTRUCT(REALTEK, 0x0883) 3722a1ad637SFrançois Tigeot #define HDA_CODEC_ALC885 HDA_CODEC_CONSTRUCT(REALTEK, 0x0885) 3732a1ad637SFrançois Tigeot #define HDA_CODEC_ALC887 HDA_CODEC_CONSTRUCT(REALTEK, 0x0887) 3742a1ad637SFrançois Tigeot #define HDA_CODEC_ALC888 HDA_CODEC_CONSTRUCT(REALTEK, 0x0888) 3752a1ad637SFrançois Tigeot #define HDA_CODEC_ALC889 HDA_CODEC_CONSTRUCT(REALTEK, 0x0889) 3762a1ad637SFrançois Tigeot #define HDA_CODEC_ALC892 HDA_CODEC_CONSTRUCT(REALTEK, 0x0892) 3772a1ad637SFrançois Tigeot #define HDA_CODEC_ALC899 HDA_CODEC_CONSTRUCT(REALTEK, 0x0899) 378edfd9622SSepherosa Ziehau #define HDA_CODEC_ALC1150 HDA_CODEC_CONSTRUCT(REALTEK, 0x0900) 3792a1ad637SFrançois Tigeot #define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff) 3802a1ad637SFrançois Tigeot 3812a1ad637SFrançois Tigeot /* Motorola */ 3822a1ad637SFrançois Tigeot #define MOTO_VENDORID 0x1057 3832a1ad637SFrançois Tigeot #define HDA_CODEC_MOTOXXXX HDA_CODEC_CONSTRUCT(MOTO, 0xffff) 3842a1ad637SFrançois Tigeot 3852a1ad637SFrançois Tigeot /* Creative */ 3862a1ad637SFrançois Tigeot #define CREATIVE_VENDORID 0x1102 3872a1ad637SFrançois Tigeot #define HDA_CODEC_CA0110 HDA_CODEC_CONSTRUCT(CREATIVE, 0x000a) 3882a1ad637SFrançois Tigeot #define HDA_CODEC_CA0110_2 HDA_CODEC_CONSTRUCT(CREATIVE, 0x000b) 3892a1ad637SFrançois Tigeot #define HDA_CODEC_SB0880 HDA_CODEC_CONSTRUCT(CREATIVE, 0x000d) 3902a1ad637SFrançois Tigeot #define HDA_CODEC_CA0132 HDA_CODEC_CONSTRUCT(CREATIVE, 0x0011) 3912a1ad637SFrançois Tigeot #define HDA_CODEC_CAXXXX HDA_CODEC_CONSTRUCT(CREATIVE, 0xffff) 3922a1ad637SFrançois Tigeot 3932a1ad637SFrançois Tigeot /* Analog Devices */ 3942a1ad637SFrançois Tigeot #define ANALOGDEVICES_VENDORID 0x11d4 3952a1ad637SFrançois Tigeot #define HDA_CODEC_AD1884A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x184a) 3962a1ad637SFrançois Tigeot #define HDA_CODEC_AD1882 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1882) 3972a1ad637SFrançois Tigeot #define HDA_CODEC_AD1883 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1883) 3982a1ad637SFrançois Tigeot #define HDA_CODEC_AD1884 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1884) 3992a1ad637SFrançois Tigeot #define HDA_CODEC_AD1984A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194a) 4002a1ad637SFrançois Tigeot #define HDA_CODEC_AD1984B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194b) 4012a1ad637SFrançois Tigeot #define HDA_CODEC_AD1981HD HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1981) 4022a1ad637SFrançois Tigeot #define HDA_CODEC_AD1983 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1983) 4032a1ad637SFrançois Tigeot #define HDA_CODEC_AD1984 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1984) 4042a1ad637SFrançois Tigeot #define HDA_CODEC_AD1986A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1986) 4052a1ad637SFrançois Tigeot #define HDA_CODEC_AD1987 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1987) 4062a1ad637SFrançois Tigeot #define HDA_CODEC_AD1988 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1988) 4072a1ad637SFrançois Tigeot #define HDA_CODEC_AD1988B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x198b) 4082a1ad637SFrançois Tigeot #define HDA_CODEC_AD1882A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x882a) 4092a1ad637SFrançois Tigeot #define HDA_CODEC_AD1989A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989a) 4102a1ad637SFrançois Tigeot #define HDA_CODEC_AD1989B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989b) 4112a1ad637SFrançois Tigeot #define HDA_CODEC_ADXXXX HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0xffff) 4122a1ad637SFrançois Tigeot 4132a1ad637SFrançois Tigeot /* CMedia */ 4142a1ad637SFrançois Tigeot #define CMEDIA_VENDORID 0x13f6 4152a1ad637SFrançois Tigeot #define HDA_CODEC_CMI9880 HDA_CODEC_CONSTRUCT(CMEDIA, 0x9880) 4162a1ad637SFrançois Tigeot #define HDA_CODEC_CMIXXXX HDA_CODEC_CONSTRUCT(CMEDIA, 0xffff) 4172a1ad637SFrançois Tigeot 4182a1ad637SFrançois Tigeot #define CMEDIA2_VENDORID 0x434d 4192a1ad637SFrançois Tigeot #define HDA_CODEC_CMI98802 HDA_CODEC_CONSTRUCT(CMEDIA2, 0x4980) 4202a1ad637SFrançois Tigeot #define HDA_CODEC_CMIXXXX2 HDA_CODEC_CONSTRUCT(CMEDIA2, 0xffff) 4212a1ad637SFrançois Tigeot 4222a1ad637SFrançois Tigeot /* Sigmatel */ 4232a1ad637SFrançois Tigeot #define SIGMATEL_VENDORID 0x8384 4242a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9230X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7612) 4252a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9230D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7613) 4262a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9229X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7614) 4272a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9229D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7615) 4282a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9228X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7616) 4292a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9228D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7617) 4302a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9227X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618) 4312a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9227D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7619) 4322a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9274 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7620) 4332a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9274D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7621) 4342a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9273X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7622) 4352a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9273D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7623) 4362a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9272X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7624) 4372a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9272D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7625) 4382a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9271X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7626) 4392a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627) 4402a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9274X5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7628) 4412a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9274D5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7629) 4422a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9250 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7634) 4432a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9251 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7636) 4442a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD700X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7638) 4452a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD700D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7639) 4462a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD206X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7645) 4472a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD206D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7646) 4482a1ad637SFrançois Tigeot #define HDA_CODEC_CXD9872RDK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7661) 4492a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662) 4502a1ad637SFrançois Tigeot #define HDA_CODEC_CXD9872AKD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7664) 4512a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9221 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7680) 4522a1ad637SFrançois Tigeot #define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681) 4532a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9221_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7682) 4542a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9221D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7683) 4552a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9220 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7690) 4562a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9200D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7691) 4572a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD005 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7698) 4582a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD005D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7699) 4592a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9205X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0) 4602a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9205D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a1) 4612a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9204X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a2) 4622a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9204D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a3) 4632a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9255 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a4) 4642a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9255D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a5) 4652a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9254 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a6) 4662a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9254D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a7) 4672a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9220_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7880) 4682a1ad637SFrançois Tigeot #define HDA_CODEC_STAC9220_A1 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7882) 4692a1ad637SFrançois Tigeot #define HDA_CODEC_STACXXXX HDA_CODEC_CONSTRUCT(SIGMATEL, 0xffff) 4702a1ad637SFrançois Tigeot 4712a1ad637SFrançois Tigeot /* IDT */ 4722a1ad637SFrançois Tigeot #define IDT_VENDORID 0x111d 4732a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD75BX HDA_CODEC_CONSTRUCT(IDT, 0x7603) 4742a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD83C1X HDA_CODEC_CONSTRUCT(IDT, 0x7604) 4752a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD81B1X HDA_CODEC_CONSTRUCT(IDT, 0x7605) 4762a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD75B3 HDA_CODEC_CONSTRUCT(IDT, 0x7608) 4772a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD73D1 HDA_CODEC_CONSTRUCT(IDT, 0x7674) 4782a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD73C1 HDA_CODEC_CONSTRUCT(IDT, 0x7675) 4792a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD73E1 HDA_CODEC_CONSTRUCT(IDT, 0x7676) 4802a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD71B8 HDA_CODEC_CONSTRUCT(IDT, 0x76b0) 4812a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD71B8_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b1) 4822a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD71B7 HDA_CODEC_CONSTRUCT(IDT, 0x76b2) 4832a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD71B7_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b3) 4842a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD71B6 HDA_CODEC_CONSTRUCT(IDT, 0x76b4) 4852a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD71B6_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b5) 4862a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD71B5 HDA_CODEC_CONSTRUCT(IDT, 0x76b6) 4872a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD71B5_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b7) 4882a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89C3 HDA_CODEC_CONSTRUCT(IDT, 0x76c0) 4892a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89C2 HDA_CODEC_CONSTRUCT(IDT, 0x76c1) 4902a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89C1 HDA_CODEC_CONSTRUCT(IDT, 0x76c2) 4912a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89B3 HDA_CODEC_CONSTRUCT(IDT, 0x76c3) 4922a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89B2 HDA_CODEC_CONSTRUCT(IDT, 0x76c4) 4932a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89B1 HDA_CODEC_CONSTRUCT(IDT, 0x76c5) 4942a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89E3 HDA_CODEC_CONSTRUCT(IDT, 0x76c6) 4952a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89E2 HDA_CODEC_CONSTRUCT(IDT, 0x76c7) 4962a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89E1 HDA_CODEC_CONSTRUCT(IDT, 0x76c8) 4972a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89D3 HDA_CODEC_CONSTRUCT(IDT, 0x76c9) 4982a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89D2 HDA_CODEC_CONSTRUCT(IDT, 0x76ca) 4992a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89D1 HDA_CODEC_CONSTRUCT(IDT, 0x76cb) 5002a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89F3 HDA_CODEC_CONSTRUCT(IDT, 0x76cc) 5012a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89F2 HDA_CODEC_CONSTRUCT(IDT, 0x76cd) 5022a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD89F1 HDA_CODEC_CONSTRUCT(IDT, 0x76ce) 5032a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD87B1_3 HDA_CODEC_CONSTRUCT(IDT, 0x76d1) 5042a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD83C1C HDA_CODEC_CONSTRUCT(IDT, 0x76d4) 5052a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD81B1C HDA_CODEC_CONSTRUCT(IDT, 0x76d5) 5062a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD87B2_4 HDA_CODEC_CONSTRUCT(IDT, 0x76d9) 5072a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD93BXX HDA_CODEC_CONSTRUCT(IDT, 0x76df) 5082a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD91BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e0) 5092a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD98BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e3) 5102a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD99BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e5) 5112a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD90BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e7) 5122a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66B1X5 HDA_CODEC_CONSTRUCT(IDT, 0x76e8) 5132a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66B2X5 HDA_CODEC_CONSTRUCT(IDT, 0x76e9) 5142a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66B3X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ea) 5152a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66C1X5 HDA_CODEC_CONSTRUCT(IDT, 0x76eb) 5162a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66C2X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ec) 5172a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66C3X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ed) 5182a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66B1X3 HDA_CODEC_CONSTRUCT(IDT, 0x76ee) 5192a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66B2X3 HDA_CODEC_CONSTRUCT(IDT, 0x76ef) 5202a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66B3X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f0) 5212a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66C1X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f1) 5222a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66C2X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f2) 5232a1ad637SFrançois Tigeot #define HDA_CODEC_IDT92HD66C3_65 HDA_CODEC_CONSTRUCT(IDT, 0x76f3) 5242a1ad637SFrançois Tigeot #define HDA_CODEC_IDTXXXX HDA_CODEC_CONSTRUCT(IDT, 0xffff) 5252a1ad637SFrançois Tigeot 5262a1ad637SFrançois Tigeot /* Silicon Image */ 5272a1ad637SFrançois Tigeot #define SII_VENDORID 0x1095 5282a1ad637SFrançois Tigeot #define HDA_CODEC_SII1390 HDA_CODEC_CONSTRUCT(SII, 0x1390) 5292a1ad637SFrançois Tigeot #define HDA_CODEC_SII1392 HDA_CODEC_CONSTRUCT(SII, 0x1392) 5302a1ad637SFrançois Tigeot #define HDA_CODEC_SIIXXXX HDA_CODEC_CONSTRUCT(SII, 0xffff) 5312a1ad637SFrançois Tigeot 5322a1ad637SFrançois Tigeot /* Lucent/Agere */ 5332a1ad637SFrançois Tigeot #define AGERE_VENDORID 0x11c1 5342a1ad637SFrançois Tigeot #define HDA_CODEC_AGEREXXXX HDA_CODEC_CONSTRUCT(AGERE, 0xffff) 5352a1ad637SFrançois Tigeot 5362a1ad637SFrançois Tigeot /* Conexant */ 5372a1ad637SFrançois Tigeot #define CONEXANT_VENDORID 0x14f1 5382a1ad637SFrançois Tigeot #define HDA_CODEC_CX20549 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) 5392a1ad637SFrançois Tigeot #define HDA_CODEC_CX20551 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) 5402a1ad637SFrançois Tigeot #define HDA_CODEC_CX20561 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5051) 5412a1ad637SFrançois Tigeot #define HDA_CODEC_CX20582 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5066) 5422a1ad637SFrançois Tigeot #define HDA_CODEC_CX20583 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5067) 5432a1ad637SFrançois Tigeot #define HDA_CODEC_CX20584 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5068) 5442a1ad637SFrançois Tigeot #define HDA_CODEC_CX20585 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5069) 5452a1ad637SFrançois Tigeot #define HDA_CODEC_CX20588 HDA_CODEC_CONSTRUCT(CONEXANT, 0x506c) 5462a1ad637SFrançois Tigeot #define HDA_CODEC_CX20590 HDA_CODEC_CONSTRUCT(CONEXANT, 0x506e) 5472a1ad637SFrançois Tigeot #define HDA_CODEC_CX20631 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5097) 5482a1ad637SFrançois Tigeot #define HDA_CODEC_CX20632 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5098) 5492a1ad637SFrançois Tigeot #define HDA_CODEC_CX20641 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50a1) 5502a1ad637SFrançois Tigeot #define HDA_CODEC_CX20642 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50a2) 5512a1ad637SFrançois Tigeot #define HDA_CODEC_CX20651 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50ab) 5522a1ad637SFrançois Tigeot #define HDA_CODEC_CX20652 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50ac) 5532a1ad637SFrançois Tigeot #define HDA_CODEC_CX20664 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50b8) 5542a1ad637SFrançois Tigeot #define HDA_CODEC_CX20665 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50b9) 5552a1ad637SFrançois Tigeot #define HDA_CODEC_CXXXXX HDA_CODEC_CONSTRUCT(CONEXANT, 0xffff) 5562a1ad637SFrançois Tigeot 5572a1ad637SFrançois Tigeot /* VIA */ 5582a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708_8 HDA_CODEC_CONSTRUCT(VIA, 0x1708) 5592a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708_9 HDA_CODEC_CONSTRUCT(VIA, 0x1709) 5602a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708_A HDA_CODEC_CONSTRUCT(VIA, 0x170a) 5612a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708_B HDA_CODEC_CONSTRUCT(VIA, 0x170b) 5622a1ad637SFrançois Tigeot #define HDA_CODEC_VT1709_0 HDA_CODEC_CONSTRUCT(VIA, 0xe710) 5632a1ad637SFrançois Tigeot #define HDA_CODEC_VT1709_1 HDA_CODEC_CONSTRUCT(VIA, 0xe711) 5642a1ad637SFrançois Tigeot #define HDA_CODEC_VT1709_2 HDA_CODEC_CONSTRUCT(VIA, 0xe712) 5652a1ad637SFrançois Tigeot #define HDA_CODEC_VT1709_3 HDA_CODEC_CONSTRUCT(VIA, 0xe713) 5662a1ad637SFrançois Tigeot #define HDA_CODEC_VT1709_4 HDA_CODEC_CONSTRUCT(VIA, 0xe714) 5672a1ad637SFrançois Tigeot #define HDA_CODEC_VT1709_5 HDA_CODEC_CONSTRUCT(VIA, 0xe715) 5682a1ad637SFrançois Tigeot #define HDA_CODEC_VT1709_6 HDA_CODEC_CONSTRUCT(VIA, 0xe716) 5692a1ad637SFrançois Tigeot #define HDA_CODEC_VT1709_7 HDA_CODEC_CONSTRUCT(VIA, 0xe717) 5702a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708B_0 HDA_CODEC_CONSTRUCT(VIA, 0xe720) 5712a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708B_1 HDA_CODEC_CONSTRUCT(VIA, 0xe721) 5722a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708B_2 HDA_CODEC_CONSTRUCT(VIA, 0xe722) 5732a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708B_3 HDA_CODEC_CONSTRUCT(VIA, 0xe723) 5742a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708B_4 HDA_CODEC_CONSTRUCT(VIA, 0xe724) 5752a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708B_5 HDA_CODEC_CONSTRUCT(VIA, 0xe725) 5762a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708B_6 HDA_CODEC_CONSTRUCT(VIA, 0xe726) 5772a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708B_7 HDA_CODEC_CONSTRUCT(VIA, 0xe727) 5782a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708S_0 HDA_CODEC_CONSTRUCT(VIA, 0x0397) 5792a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708S_1 HDA_CODEC_CONSTRUCT(VIA, 0x1397) 5802a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708S_2 HDA_CODEC_CONSTRUCT(VIA, 0x2397) 5812a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708S_3 HDA_CODEC_CONSTRUCT(VIA, 0x3397) 5822a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708S_4 HDA_CODEC_CONSTRUCT(VIA, 0x4397) 5832a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708S_5 HDA_CODEC_CONSTRUCT(VIA, 0x5397) 5842a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708S_6 HDA_CODEC_CONSTRUCT(VIA, 0x6397) 5852a1ad637SFrançois Tigeot #define HDA_CODEC_VT1708S_7 HDA_CODEC_CONSTRUCT(VIA, 0x7397) 5862a1ad637SFrançois Tigeot #define HDA_CODEC_VT1702_0 HDA_CODEC_CONSTRUCT(VIA, 0x0398) 5872a1ad637SFrançois Tigeot #define HDA_CODEC_VT1702_1 HDA_CODEC_CONSTRUCT(VIA, 0x1398) 5882a1ad637SFrançois Tigeot #define HDA_CODEC_VT1702_2 HDA_CODEC_CONSTRUCT(VIA, 0x2398) 5892a1ad637SFrançois Tigeot #define HDA_CODEC_VT1702_3 HDA_CODEC_CONSTRUCT(VIA, 0x3398) 5902a1ad637SFrançois Tigeot #define HDA_CODEC_VT1702_4 HDA_CODEC_CONSTRUCT(VIA, 0x4398) 5912a1ad637SFrançois Tigeot #define HDA_CODEC_VT1702_5 HDA_CODEC_CONSTRUCT(VIA, 0x5398) 5922a1ad637SFrançois Tigeot #define HDA_CODEC_VT1702_6 HDA_CODEC_CONSTRUCT(VIA, 0x6398) 5932a1ad637SFrançois Tigeot #define HDA_CODEC_VT1702_7 HDA_CODEC_CONSTRUCT(VIA, 0x7398) 5942a1ad637SFrançois Tigeot #define HDA_CODEC_VT1716S_0 HDA_CODEC_CONSTRUCT(VIA, 0x0433) 5952a1ad637SFrançois Tigeot #define HDA_CODEC_VT1716S_1 HDA_CODEC_CONSTRUCT(VIA, 0xa721) 5962a1ad637SFrançois Tigeot #define HDA_CODEC_VT1718S_0 HDA_CODEC_CONSTRUCT(VIA, 0x0428) 5972a1ad637SFrançois Tigeot #define HDA_CODEC_VT1718S_1 HDA_CODEC_CONSTRUCT(VIA, 0x4428) 5982a1ad637SFrançois Tigeot #define HDA_CODEC_VT1802_0 HDA_CODEC_CONSTRUCT(VIA, 0x0446) 5992a1ad637SFrançois Tigeot #define HDA_CODEC_VT1802_1 HDA_CODEC_CONSTRUCT(VIA, 0x8446) 6002a1ad637SFrançois Tigeot #define HDA_CODEC_VT1812 HDA_CODEC_CONSTRUCT(VIA, 0x0448) 6012a1ad637SFrançois Tigeot #define HDA_CODEC_VT1818S HDA_CODEC_CONSTRUCT(VIA, 0x0440) 6022a1ad637SFrançois Tigeot #define HDA_CODEC_VT1828S HDA_CODEC_CONSTRUCT(VIA, 0x4441) 6032a1ad637SFrançois Tigeot #define HDA_CODEC_VT2002P_0 HDA_CODEC_CONSTRUCT(VIA, 0x0438) 6042a1ad637SFrançois Tigeot #define HDA_CODEC_VT2002P_1 HDA_CODEC_CONSTRUCT(VIA, 0x4438) 6052a1ad637SFrançois Tigeot #define HDA_CODEC_VT2020 HDA_CODEC_CONSTRUCT(VIA, 0x0441) 6062a1ad637SFrançois Tigeot #define HDA_CODEC_VTXXXX HDA_CODEC_CONSTRUCT(VIA, 0xffff) 6072a1ad637SFrançois Tigeot 6082a1ad637SFrançois Tigeot /* ATI */ 6092a1ad637SFrançois Tigeot #define HDA_CODEC_ATIRS600_1 HDA_CODEC_CONSTRUCT(ATI, 0x793c) 6102a1ad637SFrançois Tigeot #define HDA_CODEC_ATIRS600_2 HDA_CODEC_CONSTRUCT(ATI, 0x7919) 6112a1ad637SFrançois Tigeot #define HDA_CODEC_ATIRS690 HDA_CODEC_CONSTRUCT(ATI, 0x791a) 6122a1ad637SFrançois Tigeot #define HDA_CODEC_ATIR6XX HDA_CODEC_CONSTRUCT(ATI, 0xaa01) 6132a1ad637SFrançois Tigeot #define HDA_CODEC_ATIXXXX HDA_CODEC_CONSTRUCT(ATI, 0xffff) 6142a1ad637SFrançois Tigeot 6152a1ad637SFrançois Tigeot /* NVIDIA */ 6162a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAMCP78 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0002) 6172a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAMCP78_2 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0003) 6182a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAMCP78_3 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0005) 6192a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAMCP78_4 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0006) 6202a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAMCP7A HDA_CODEC_CONSTRUCT(NVIDIA, 0x0007) 6212a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAGT220 HDA_CODEC_CONSTRUCT(NVIDIA, 0x000a) 6222a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAGT21X HDA_CODEC_CONSTRUCT(NVIDIA, 0x000b) 6232a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAMCP89 HDA_CODEC_CONSTRUCT(NVIDIA, 0x000c) 6242a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAGT240 HDA_CODEC_CONSTRUCT(NVIDIA, 0x000d) 6252a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAGTS450 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0011) 6262a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAGT440 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0014) 6272a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAGTX550 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0015) 6282a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAGTX570 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0018) 629edfd9622SSepherosa Ziehau #define HDA_CODEC_NVIDIATEGRA30 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0020) 630edfd9622SSepherosa Ziehau #define HDA_CODEC_NVIDIATEGRA114 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0022) 631edfd9622SSepherosa Ziehau #define HDA_CODEC_NVIDIATEGRA124 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0028) 632edfd9622SSepherosa Ziehau #define HDA_CODEC_NVIDIATEGRA210 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0029) 6332a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAMCP67 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0067) 6342a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAMCP73 HDA_CODEC_CONSTRUCT(NVIDIA, 0x8001) 6352a1ad637SFrançois Tigeot #define HDA_CODEC_NVIDIAXXXX HDA_CODEC_CONSTRUCT(NVIDIA, 0xffff) 6362a1ad637SFrançois Tigeot 6372a1ad637SFrançois Tigeot /* Chrontel */ 6382a1ad637SFrançois Tigeot #define CHRONTEL_VENDORID 0x17e8 6392a1ad637SFrançois Tigeot #define HDA_CODEC_CHXXXX HDA_CODEC_CONSTRUCT(CHRONTEL, 0xffff) 6402a1ad637SFrançois Tigeot 6412a1ad637SFrançois Tigeot /* INTEL */ 6422a1ad637SFrançois Tigeot #define HDA_CODEC_INTELIP HDA_CODEC_CONSTRUCT(INTEL, 0x0054) 6432a1ad637SFrançois Tigeot #define HDA_CODEC_INTELBL HDA_CODEC_CONSTRUCT(INTEL, 0x2801) 6442a1ad637SFrançois Tigeot #define HDA_CODEC_INTELCA HDA_CODEC_CONSTRUCT(INTEL, 0x2802) 6452a1ad637SFrançois Tigeot #define HDA_CODEC_INTELEL HDA_CODEC_CONSTRUCT(INTEL, 0x2803) 6462a1ad637SFrançois Tigeot #define HDA_CODEC_INTELIP2 HDA_CODEC_CONSTRUCT(INTEL, 0x2804) 6472a1ad637SFrançois Tigeot #define HDA_CODEC_INTELCPT HDA_CODEC_CONSTRUCT(INTEL, 0x2805) 6482a1ad637SFrançois Tigeot #define HDA_CODEC_INTELPPT HDA_CODEC_CONSTRUCT(INTEL, 0x2806) 6492a1ad637SFrançois Tigeot #define HDA_CODEC_INTELHSW HDA_CODEC_CONSTRUCT(INTEL, 0x2807) 650edfd9622SSepherosa Ziehau #define HDA_CODEC_INTELBDW HDA_CODEC_CONSTRUCT(INTEL, 0x2808) 651edfd9622SSepherosa Ziehau #define HDA_CODEC_INTELSKLK HDA_CODEC_CONSTRUCT(INTEL, 0x2809) 6522a1ad637SFrançois Tigeot #define HDA_CODEC_INTELCL HDA_CODEC_CONSTRUCT(INTEL, 0x29fb) 6532a1ad637SFrançois Tigeot #define HDA_CODEC_INTELXXXX HDA_CODEC_CONSTRUCT(INTEL, 0xffff) 6542a1ad637SFrançois Tigeot 655558a398bSSimon Schubert /**************************************************************************** 656558a398bSSimon Schubert * Helper Macros 657558a398bSSimon Schubert ****************************************************************************/ 658558a398bSSimon Schubert 6592a1ad637SFrançois Tigeot #define HDA_DMA_ALIGNMENT 128 6602a1ad637SFrançois Tigeot 6612a1ad637SFrançois Tigeot #define HDA_BDL_MIN 2 6622a1ad637SFrançois Tigeot #define HDA_BDL_MAX 256 6632a1ad637SFrançois Tigeot #define HDA_BDL_DEFAULT HDA_BDL_MIN 6642a1ad637SFrançois Tigeot 6652a1ad637SFrançois Tigeot #define HDA_BLK_MIN HDA_DMA_ALIGNMENT 6662a1ad637SFrançois Tigeot #define HDA_BLK_ALIGN (~(HDA_BLK_MIN - 1)) 6672a1ad637SFrançois Tigeot 6682a1ad637SFrançois Tigeot #define HDA_BUFSZ_MIN (HDA_BDL_MIN * HDA_BLK_MIN) 6692a1ad637SFrançois Tigeot #define HDA_BUFSZ_MAX 262144 6702a1ad637SFrançois Tigeot #define HDA_BUFSZ_DEFAULT 65536 6712a1ad637SFrançois Tigeot 6722a1ad637SFrançois Tigeot #define HDA_GPIO_MAX 8 6732a1ad637SFrançois Tigeot 6742a1ad637SFrançois Tigeot #define HDA_DEV_MATCH(fl, v) ((fl) == (v) || \ 6752a1ad637SFrançois Tigeot (fl) == 0xffffffff || \ 6762a1ad637SFrançois Tigeot (((fl) & 0xffff0000) == 0xffff0000 && \ 6772a1ad637SFrançois Tigeot ((fl) & 0x0000ffff) == ((v) & 0x0000ffff)) || \ 6782a1ad637SFrançois Tigeot (((fl) & 0x0000ffff) == 0x0000ffff && \ 6792a1ad637SFrançois Tigeot ((fl) & 0xffff0000) == ((v) & 0xffff0000))) 6802a1ad637SFrançois Tigeot #define HDA_MATCH_ALL 0xffffffff 6812a1ad637SFrançois Tigeot #define HDA_INVALID 0xffffffff 6822a1ad637SFrançois Tigeot 6832a1ad637SFrançois Tigeot #define HDA_BOOTVERBOSE(stmt) do { \ 6842a1ad637SFrançois Tigeot if (bootverbose != 0 || snd_verbose > 3) { \ 6852a1ad637SFrançois Tigeot stmt \ 6862a1ad637SFrançois Tigeot } \ 6872a1ad637SFrançois Tigeot } while (0) 6882a1ad637SFrançois Tigeot 6892a1ad637SFrançois Tigeot #define HDA_BOOTHVERBOSE(stmt) do { \ 6902a1ad637SFrançois Tigeot if (snd_verbose > 3) { \ 6912a1ad637SFrançois Tigeot stmt \ 6922a1ad637SFrançois Tigeot } \ 6932a1ad637SFrançois Tigeot } while (0) 6942a1ad637SFrançois Tigeot 6952a1ad637SFrançois Tigeot #define hda_command(dev, verb) \ 6962a1ad637SFrançois Tigeot HDAC_CODEC_COMMAND(device_get_parent(dev), (dev), (verb)) 6972a1ad637SFrançois Tigeot 6982a1ad637SFrançois Tigeot typedef int nid_t; 6992a1ad637SFrançois Tigeot 700558a398bSSimon Schubert /**************************************************************************** 701558a398bSSimon Schubert * Simplified Accessors for HDA devices 702558a398bSSimon Schubert ****************************************************************************/ 7032a1ad637SFrançois Tigeot 704558a398bSSimon Schubert enum hdac_device_ivars { 7052a1ad637SFrançois Tigeot HDA_IVAR_CODEC_ID, 7062a1ad637SFrançois Tigeot HDA_IVAR_NODE_ID, 7072a1ad637SFrançois Tigeot HDA_IVAR_VENDOR_ID, 7082a1ad637SFrançois Tigeot HDA_IVAR_DEVICE_ID, 7092a1ad637SFrançois Tigeot HDA_IVAR_REVISION_ID, 7102a1ad637SFrançois Tigeot HDA_IVAR_STEPPING_ID, 7112a1ad637SFrançois Tigeot HDA_IVAR_SUBVENDOR_ID, 7122a1ad637SFrançois Tigeot HDA_IVAR_SUBDEVICE_ID, 7132a1ad637SFrançois Tigeot HDA_IVAR_SUBSYSTEM_ID, 7142a1ad637SFrançois Tigeot HDA_IVAR_NODE_TYPE, 7152a1ad637SFrançois Tigeot HDA_IVAR_DMA_NOCACHE, 716558a398bSSimon Schubert }; 717558a398bSSimon Schubert 7182a1ad637SFrançois Tigeot #define HDA_ACCESSOR(var, ivar, type) \ 7192a1ad637SFrançois Tigeot __BUS_ACCESSOR(hda, var, HDA, ivar, type) 720558a398bSSimon Schubert 7212a1ad637SFrançois Tigeot HDA_ACCESSOR(codec_id, CODEC_ID, uint8_t); 7222a1ad637SFrançois Tigeot HDA_ACCESSOR(node_id, NODE_ID, uint8_t); 7232a1ad637SFrançois Tigeot HDA_ACCESSOR(vendor_id, VENDOR_ID, uint16_t); 7242a1ad637SFrançois Tigeot HDA_ACCESSOR(device_id, DEVICE_ID, uint16_t); 7252a1ad637SFrançois Tigeot HDA_ACCESSOR(revision_id, REVISION_ID, uint8_t); 7262a1ad637SFrançois Tigeot HDA_ACCESSOR(stepping_id, STEPPING_ID, uint8_t); 7272a1ad637SFrançois Tigeot HDA_ACCESSOR(subvendor_id, SUBVENDOR_ID, uint16_t); 7282a1ad637SFrançois Tigeot HDA_ACCESSOR(subdevice_id, SUBDEVICE_ID, uint16_t); 7292a1ad637SFrançois Tigeot HDA_ACCESSOR(subsystem_id, SUBSYSTEM_ID, uint32_t); 7302a1ad637SFrançois Tigeot HDA_ACCESSOR(node_type, NODE_TYPE, uint8_t); 7312a1ad637SFrançois Tigeot HDA_ACCESSOR(dma_nocache, DMA_NOCACHE, uint8_t); 732558a398bSSimon Schubert 733558a398bSSimon Schubert #define PCIS_MULTIMEDIA_HDA 0x03 734558a398bSSimon Schubert 735558a398bSSimon Schubert #endif 736