11f0387f7SAriff Abdullah /*- 24d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 3718cf2ccSPedro F. Giffuni * 41f0387f7SAriff Abdullah * Copyright (c) 2006 Stephane E. Potvin <sepotvin@videotron.ca> 51f0387f7SAriff Abdullah * All rights reserved. 61f0387f7SAriff Abdullah * 71f0387f7SAriff Abdullah * Redistribution and use in source and binary forms, with or without 81f0387f7SAriff Abdullah * modification, are permitted provided that the following conditions 91f0387f7SAriff Abdullah * are met: 101f0387f7SAriff Abdullah * 1. Redistributions of source code must retain the above copyright 111f0387f7SAriff Abdullah * notice, this list of conditions and the following disclaimer. 121f0387f7SAriff Abdullah * 2. Redistributions in binary form must reproduce the above copyright 131f0387f7SAriff Abdullah * notice, this list of conditions and the following disclaimer in the 141f0387f7SAriff Abdullah * documentation and/or other materials provided with the distribution. 151f0387f7SAriff Abdullah * 161f0387f7SAriff Abdullah * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 171f0387f7SAriff Abdullah * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 181f0387f7SAriff Abdullah * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 191f0387f7SAriff Abdullah * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 201f0387f7SAriff Abdullah * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 211f0387f7SAriff Abdullah * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 221f0387f7SAriff Abdullah * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 231f0387f7SAriff Abdullah * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 241f0387f7SAriff Abdullah * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 251f0387f7SAriff Abdullah * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 261f0387f7SAriff Abdullah * SUCH DAMAGE. 271f0387f7SAriff Abdullah */ 281f0387f7SAriff Abdullah 291f0387f7SAriff Abdullah #ifndef _HDAC_H_ 301f0387f7SAriff Abdullah #define _HDAC_H_ 311f0387f7SAriff Abdullah 327c6b05d2SAlexander Motin #include "hdac_if.h" 331f0387f7SAriff Abdullah 341f0387f7SAriff Abdullah /**************************************************************************** 3535fbe624SGordon Bergling * Miscellaneous defines 361f0387f7SAriff Abdullah ****************************************************************************/ 371f0387f7SAriff Abdullah 387c6b05d2SAlexander Motin /* Controller models */ 397c6b05d2SAlexander Motin #define HDA_MODEL_CONSTRUCT(vendor, model) \ 407c6b05d2SAlexander Motin (((uint32_t)(model) << 16) | ((vendor##_VENDORID) & 0xffff)) 417c6b05d2SAlexander Motin 427c6b05d2SAlexander Motin /* Intel */ 437c6b05d2SAlexander Motin #define INTEL_VENDORID 0x8086 44fc68af79SAlexander Motin #define HDA_INTEL_CMLKLP HDA_MODEL_CONSTRUCT(INTEL, 0x02c8) 45fc68af79SAlexander Motin #define HDA_INTEL_CMLKH HDA_MODEL_CONSTRUCT(INTEL, 0x06c8) 46c9b3a5a0SAlexander Motin #define HDA_INTEL_OAK HDA_MODEL_CONSTRUCT(INTEL, 0x080a) 47c9b3a5a0SAlexander Motin #define HDA_INTEL_BAY HDA_MODEL_CONSTRUCT(INTEL, 0x0f04) 48c9b3a5a0SAlexander Motin #define HDA_INTEL_HSW1 HDA_MODEL_CONSTRUCT(INTEL, 0x0a0c) 49c9b3a5a0SAlexander Motin #define HDA_INTEL_HSW2 HDA_MODEL_CONSTRUCT(INTEL, 0x0c0c) 50c9b3a5a0SAlexander Motin #define HDA_INTEL_HSW3 HDA_MODEL_CONSTRUCT(INTEL, 0x0d0c) 51420827daSRui Paulo #define HDA_INTEL_BDW1 HDA_MODEL_CONSTRUCT(INTEL, 0x160c) 52fc68af79SAlexander Motin #define HDA_INTEL_BXTNT HDA_MODEL_CONSTRUCT(INTEL, 0x1a98) 537c6b05d2SAlexander Motin #define HDA_INTEL_CPT HDA_MODEL_CONSTRUCT(INTEL, 0x1c20) 547c6b05d2SAlexander Motin #define HDA_INTEL_PATSBURG HDA_MODEL_CONSTRUCT(INTEL, 0x1d20) 557c6b05d2SAlexander Motin #define HDA_INTEL_PPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x1e20) 56fc68af79SAlexander Motin #define HDA_INTEL_BR HDA_MODEL_CONSTRUCT(INTEL, 0x2284) 577c6b05d2SAlexander Motin #define HDA_INTEL_82801F HDA_MODEL_CONSTRUCT(INTEL, 0x2668) 587c6b05d2SAlexander Motin #define HDA_INTEL_63XXESB HDA_MODEL_CONSTRUCT(INTEL, 0x269a) 597c6b05d2SAlexander Motin #define HDA_INTEL_82801G HDA_MODEL_CONSTRUCT(INTEL, 0x27d8) 607c6b05d2SAlexander Motin #define HDA_INTEL_82801H HDA_MODEL_CONSTRUCT(INTEL, 0x284b) 617c6b05d2SAlexander Motin #define HDA_INTEL_82801I HDA_MODEL_CONSTRUCT(INTEL, 0x293e) 62ef790cc7SK Staring #define HDA_INTEL_GMLK HDA_MODEL_CONSTRUCT(INTEL, 0x3198) 63fc68af79SAlexander Motin #define HDA_INTEL_JLK HDA_MODEL_CONSTRUCT(INTEL, 0x38c8) 647c6b05d2SAlexander Motin #define HDA_INTEL_82801JI HDA_MODEL_CONSTRUCT(INTEL, 0x3a3e) 657c6b05d2SAlexander Motin #define HDA_INTEL_82801JD HDA_MODEL_CONSTRUCT(INTEL, 0x3a6e) 667c6b05d2SAlexander Motin #define HDA_INTEL_PCH HDA_MODEL_CONSTRUCT(INTEL, 0x3b56) 677c6b05d2SAlexander Motin #define HDA_INTEL_PCH2 HDA_MODEL_CONSTRUCT(INTEL, 0x3b57) 68fc68af79SAlexander Motin #define HDA_INTEL_ELLK HDA_MODEL_CONSTRUCT(INTEL, 0x4b55) 69fc68af79SAlexander Motin #define HDA_INTEL_JLK2 HDA_MODEL_CONSTRUCT(INTEL, 0x4dc8) 70fc68af79SAlexander Motin #define HDA_INTEL_BXTNP HDA_MODEL_CONSTRUCT(INTEL, 0x5a98) 716b97b1b3SHans Petter Selasky #define HDA_INTEL_MACBOOKPRO92 HDA_MODEL_CONSTRUCT(INTEL, 0x7270) 72dc238358SAlexander Motin #define HDA_INTEL_ALLK HDA_MODEL_CONSTRUCT(INTEL, 0x7ad0) 7322ecfc58SNeel Chauhan #define HDA_INTEL_ALLKM HDA_MODEL_CONSTRUCT(INTEL, 0x51cc) 7422ecfc58SNeel Chauhan #define HDA_INTEL_ALLKN HDA_MODEL_CONSTRUCT(INTEL, 0x54c8) 7522ecfc58SNeel Chauhan #define HDA_INTEL_ALLKP1 HDA_MODEL_CONSTRUCT(INTEL, 0x51c8) 7622ecfc58SNeel Chauhan #define HDA_INTEL_ALLKP2 HDA_MODEL_CONSTRUCT(INTEL, 0x51cd) 7722ecfc58SNeel Chauhan #define HDA_INTEL_ALLKPS HDA_MODEL_CONSTRUCT(INTEL, 0x51c9) 7822ecfc58SNeel Chauhan #define HDA_INTEL_RPTLK1 HDA_MODEL_CONSTRUCT(INTEL, 0x51ca) 7922ecfc58SNeel Chauhan #define HDA_INTEL_RPTLK2 HDA_MODEL_CONSTRUCT(INTEL, 0x51cb) 80fc401326SChristos Margiolis #define HDA_INTEL_RPTLK3 HDA_MODEL_CONSTRUCT(INTEL, 0x7a50) 817c6b05d2SAlexander Motin #define HDA_INTEL_SCH HDA_MODEL_CONSTRUCT(INTEL, 0x811b) 829e81697fSJack F Vogel #define HDA_INTEL_LPT1 HDA_MODEL_CONSTRUCT(INTEL, 0x8c20) 839e81697fSJack F Vogel #define HDA_INTEL_LPT2 HDA_MODEL_CONSTRUCT(INTEL, 0x8c21) 84e67f3becSAlexander Motin #define HDA_INTEL_WCPT HDA_MODEL_CONSTRUCT(INTEL, 0x8ca0) 85c9b3a5a0SAlexander Motin #define HDA_INTEL_WELLS1 HDA_MODEL_CONSTRUCT(INTEL, 0x8d20) 86c9b3a5a0SAlexander Motin #define HDA_INTEL_WELLS2 HDA_MODEL_CONSTRUCT(INTEL, 0x8d21) 87c9b3a5a0SAlexander Motin #define HDA_INTEL_LPTLP1 HDA_MODEL_CONSTRUCT(INTEL, 0x9c20) 88c9b3a5a0SAlexander Motin #define HDA_INTEL_LPTLP2 HDA_MODEL_CONSTRUCT(INTEL, 0x9c21) 89420827daSRui Paulo #define HDA_INTEL_BDW2 HDA_MODEL_CONSTRUCT(INTEL, 0x9ca0) 9071733a50SAlexander Motin #define HDA_INTEL_SRPTLP HDA_MODEL_CONSTRUCT(INTEL, 0x9d70) 912b064d46SAlexander Motin #define HDA_INTEL_KBLKLP HDA_MODEL_CONSTRUCT(INTEL, 0x9d71) 9271733a50SAlexander Motin #define HDA_INTEL_SRPT HDA_MODEL_CONSTRUCT(INTEL, 0xa170) 932b064d46SAlexander Motin #define HDA_INTEL_KBLK HDA_MODEL_CONSTRUCT(INTEL, 0xa171) 94aaa9b2b3SAlexander Motin #define HDA_INTEL_KBLKH HDA_MODEL_CONSTRUCT(INTEL, 0xa2f0) 95aaa9b2b3SAlexander Motin #define HDA_INTEL_CFLK HDA_MODEL_CONSTRUCT(INTEL, 0xa348) 96fc68af79SAlexander Motin #define HDA_INTEL_CMLKS HDA_MODEL_CONSTRUCT(INTEL, 0xa3f0) 9717b984a6SOleksandr Tymoshenko #define HDA_INTEL_CNLK HDA_MODEL_CONSTRUCT(INTEL, 0x9dc8) 98a6c2525cSScott Long #define HDA_INTEL_ICLK HDA_MODEL_CONSTRUCT(INTEL, 0x34c8) 9935228417SScott Long #define HDA_INTEL_TGLK HDA_MODEL_CONSTRUCT(INTEL, 0xa0c8) 100fb1028dcSAdam Retter #define HDA_INTEL_TGLKH HDA_MODEL_CONSTRUCT(INTEL, 0x43c8) 1011dd1a696SMichael Zhilin #define HDA_INTEL_MTL HDA_MODEL_CONSTRUCT(INTEL, 0x7e28) 1021dd1a696SMichael Zhilin #define HDA_INTEL_ARLS HDA_MODEL_CONSTRUCT(INTEL, 0x7f50) 1031dd1a696SMichael Zhilin #define HDA_INTEL_ARL HDA_MODEL_CONSTRUCT(INTEL, 0x7728) 1041dd1a696SMichael Zhilin #define HDA_INTEL_LNLP HDA_MODEL_CONSTRUCT(INTEL, 0xa828) 105ef790cc7SK Staring #define INTEL_A100ID_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xa100) 106ef790cc7SK Staring #define INTEL_D400ID_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xd400) 107ef790cc7SK Staring #define INTEL_D401ID_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xd401) 108ef790cc7SK Staring #define INTEL_D402ID_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xd402) 109ef790cc7SK Staring #define INTEL_E305ID_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xe305) 110ef790cc7SK Staring #define INTEL_E308ID_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xe308) 111ef790cc7SK Staring #define INTEL_E224ID_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xe224) 112ef790cc7SK Staring #define INTEL_E400ID_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xe400) 113ef790cc7SK Staring #define INTEL_E401ID_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xe401) 114ef790cc7SK Staring #define INTEL_E402ID_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xe402) 1157c6b05d2SAlexander Motin #define HDA_INTEL_ALL HDA_MODEL_CONSTRUCT(INTEL, 0xffff) 1167c6b05d2SAlexander Motin 1177c6b05d2SAlexander Motin /* Nvidia */ 1187c6b05d2SAlexander Motin #define NVIDIA_VENDORID 0x10de 1197c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP51 HDA_MODEL_CONSTRUCT(NVIDIA, 0x026c) 1207c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP55 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0371) 1217c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP61_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x03e4) 1227c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP61_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x03f0) 1237c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP65_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x044a) 1247c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP65_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x044b) 1257c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP67_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055c) 1267c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP67_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x055d) 1277c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP78_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0774) 1287c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP78_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0775) 1297c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP78_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0776) 1307c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP78_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0777) 1317c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP73_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fc) 1327c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP73_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x07fd) 1337c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP79_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac0) 1347c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP79_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac1) 1357c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP79_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac2) 1367c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP79_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0ac3) 13788addcbeSAlexander Motin #define HDA_NVIDIA_0BE2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be2) 13888addcbeSAlexander Motin #define HDA_NVIDIA_0BE3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be3) 13988addcbeSAlexander Motin #define HDA_NVIDIA_0BE4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be4) 14088addcbeSAlexander Motin #define HDA_NVIDIA_GT100 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be5) 14188addcbeSAlexander Motin #define HDA_NVIDIA_GT106 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0be9) 14288addcbeSAlexander Motin #define HDA_NVIDIA_GT108 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bea) 14388addcbeSAlexander Motin #define HDA_NVIDIA_GT104 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0beb) 14488addcbeSAlexander Motin #define HDA_NVIDIA_GT116 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0bee) 1457c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP89_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d94) 1467c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP89_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d95) 1477c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP89_3 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d96) 1487c6b05d2SAlexander Motin #define HDA_NVIDIA_MCP89_4 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0d97) 14988addcbeSAlexander Motin #define HDA_NVIDIA_GF119 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e08) 15088addcbeSAlexander Motin #define HDA_NVIDIA_GF110_1 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e09) 15188addcbeSAlexander Motin #define HDA_NVIDIA_GF110_2 HDA_MODEL_CONSTRUCT(NVIDIA, 0x0e0c) 1527c6b05d2SAlexander Motin #define HDA_NVIDIA_ALL HDA_MODEL_CONSTRUCT(NVIDIA, 0xffff) 1537c6b05d2SAlexander Motin 1547c6b05d2SAlexander Motin /* ATI */ 1557c6b05d2SAlexander Motin #define ATI_VENDORID 0x1002 1567c6b05d2SAlexander Motin #define HDA_ATI_SB450 HDA_MODEL_CONSTRUCT(ATI, 0x437b) 1577c6b05d2SAlexander Motin #define HDA_ATI_SB600 HDA_MODEL_CONSTRUCT(ATI, 0x4383) 1587c6b05d2SAlexander Motin #define HDA_ATI_RS600 HDA_MODEL_CONSTRUCT(ATI, 0x793b) 1597c6b05d2SAlexander Motin #define HDA_ATI_RS690 HDA_MODEL_CONSTRUCT(ATI, 0x7919) 1607c6b05d2SAlexander Motin #define HDA_ATI_RS780 HDA_MODEL_CONSTRUCT(ATI, 0x960f) 16198d59d2eSAlexander Motin #define HDA_ATI_RS880 HDA_MODEL_CONSTRUCT(ATI, 0x970f) 1627c6b05d2SAlexander Motin #define HDA_ATI_R600 HDA_MODEL_CONSTRUCT(ATI, 0xaa00) 1637c6b05d2SAlexander Motin #define HDA_ATI_RV630 HDA_MODEL_CONSTRUCT(ATI, 0xaa08) 1647c6b05d2SAlexander Motin #define HDA_ATI_RV610 HDA_MODEL_CONSTRUCT(ATI, 0xaa10) 1657c6b05d2SAlexander Motin #define HDA_ATI_RV670 HDA_MODEL_CONSTRUCT(ATI, 0xaa18) 1667c6b05d2SAlexander Motin #define HDA_ATI_RV635 HDA_MODEL_CONSTRUCT(ATI, 0xaa20) 1677c6b05d2SAlexander Motin #define HDA_ATI_RV620 HDA_MODEL_CONSTRUCT(ATI, 0xaa28) 1687c6b05d2SAlexander Motin #define HDA_ATI_RV770 HDA_MODEL_CONSTRUCT(ATI, 0xaa30) 1697c6b05d2SAlexander Motin #define HDA_ATI_RV730 HDA_MODEL_CONSTRUCT(ATI, 0xaa38) 1707c6b05d2SAlexander Motin #define HDA_ATI_RV710 HDA_MODEL_CONSTRUCT(ATI, 0xaa40) 1717c6b05d2SAlexander Motin #define HDA_ATI_RV740 HDA_MODEL_CONSTRUCT(ATI, 0xaa48) 1727d0ec9ddSAlexander Motin #define HDA_ATI_RV870 HDA_MODEL_CONSTRUCT(ATI, 0xaa50) 1737d0ec9ddSAlexander Motin #define HDA_ATI_RV840 HDA_MODEL_CONSTRUCT(ATI, 0xaa58) 1747d0ec9ddSAlexander Motin #define HDA_ATI_RV830 HDA_MODEL_CONSTRUCT(ATI, 0xaa60) 1757d0ec9ddSAlexander Motin #define HDA_ATI_RV810 HDA_MODEL_CONSTRUCT(ATI, 0xaa68) 1767d0ec9ddSAlexander Motin #define HDA_ATI_RV970 HDA_MODEL_CONSTRUCT(ATI, 0xaa80) 1777d0ec9ddSAlexander Motin #define HDA_ATI_RV940 HDA_MODEL_CONSTRUCT(ATI, 0xaa88) 1787d0ec9ddSAlexander Motin #define HDA_ATI_RV930 HDA_MODEL_CONSTRUCT(ATI, 0xaa90) 1797d0ec9ddSAlexander Motin #define HDA_ATI_RV910 HDA_MODEL_CONSTRUCT(ATI, 0xaa98) 1807d0ec9ddSAlexander Motin #define HDA_ATI_R1000 HDA_MODEL_CONSTRUCT(ATI, 0xaaa0) 1814cc4b5e2SDmitry Luhtionov #define HDA_ATI_OLAND HDA_MODEL_CONSTRUCT(ATI, 0xaab0) 18298d59d2eSAlexander Motin #define HDA_ATI_KABINI HDA_MODEL_CONSTRUCT(ATI, 0x9840) 18398d59d2eSAlexander Motin #define HDA_ATI_TRINITY HDA_MODEL_CONSTRUCT(ATI, 0x9902) 1847c6b05d2SAlexander Motin #define HDA_ATI_ALL HDA_MODEL_CONSTRUCT(ATI, 0xffff) 1857c6b05d2SAlexander Motin 18615e01a35SAlexander Motin #define AMD_VENDORID 0x1022 187fc68af79SAlexander Motin #define HDA_AMD_X370 HDA_MODEL_CONSTRUCT(AMD, 0x1457) 188fc68af79SAlexander Motin #define HDA_AMD_X570 HDA_MODEL_CONSTRUCT(AMD, 0x1487) 189fc68af79SAlexander Motin #define HDA_AMD_STONEY HDA_MODEL_CONSTRUCT(AMD, 0x157a) 190fc68af79SAlexander Motin #define HDA_AMD_RAVEN HDA_MODEL_CONSTRUCT(AMD, 0x15e3) 19115e01a35SAlexander Motin #define HDA_AMD_HUDSON2 HDA_MODEL_CONSTRUCT(AMD, 0x780d) 19215e01a35SAlexander Motin #define HDA_AMD_ALL HDA_MODEL_CONSTRUCT(AMD, 0xffff) 19315e01a35SAlexander Motin 1947c6b05d2SAlexander Motin /* RDC */ 1957c6b05d2SAlexander Motin #define RDC_VENDORID 0x17f3 1967c6b05d2SAlexander Motin #define HDA_RDC_M3010 HDA_MODEL_CONSTRUCT(RDC, 0x3010) 1977c6b05d2SAlexander Motin 198eeec68eaSAlexander Motin /* Creative */ 199eeec68eaSAlexander Motin #define CREATIVE_VENDORID 0x1102 20089189224SGleb Smirnoff #define HDA_CREATIVE_SB1570 HDA_MODEL_CONSTRUCT(CREATIVE, 0x0012) 201eeec68eaSAlexander Motin #define HDA_CREATIVE_ALL HDA_MODEL_CONSTRUCT(CREATIVE, 0xffff) 202eeec68eaSAlexander Motin 2037c6b05d2SAlexander Motin /* VIA */ 2047c6b05d2SAlexander Motin #define VIA_VENDORID 0x1106 2057c6b05d2SAlexander Motin #define HDA_VIA_VT82XX HDA_MODEL_CONSTRUCT(VIA, 0x3288) 2067c6b05d2SAlexander Motin #define HDA_VIA_ALL HDA_MODEL_CONSTRUCT(VIA, 0xffff) 2077c6b05d2SAlexander Motin 2082a31a06bSAlexander Motin /* VMware */ 2092a31a06bSAlexander Motin #define VMWARE_VENDORID 0x15ad 2102a31a06bSAlexander Motin #define HDA_VMWARE HDA_MODEL_CONSTRUCT(VMWARE, 0x1977) 2112a31a06bSAlexander Motin #define HDA_VMWARE_ALL HDA_MODEL_CONSTRUCT(VMWARE, 0xffff) 2122a31a06bSAlexander Motin 2137c6b05d2SAlexander Motin /* SiS */ 2147c6b05d2SAlexander Motin #define SIS_VENDORID 0x1039 2157c6b05d2SAlexander Motin #define HDA_SIS_966 HDA_MODEL_CONSTRUCT(SIS, 0x7502) 2167c6b05d2SAlexander Motin #define HDA_SIS_ALL HDA_MODEL_CONSTRUCT(SIS, 0xffff) 2177c6b05d2SAlexander Motin 2187c6b05d2SAlexander Motin /* ULI */ 2197c6b05d2SAlexander Motin #define ULI_VENDORID 0x10b9 2207c6b05d2SAlexander Motin #define HDA_ULI_M5461 HDA_MODEL_CONSTRUCT(ULI, 0x5461) 2217c6b05d2SAlexander Motin #define HDA_ULI_ALL HDA_MODEL_CONSTRUCT(ULI, 0xffff) 2227c6b05d2SAlexander Motin 2237c6b05d2SAlexander Motin /* OEM/subvendors */ 2247c6b05d2SAlexander Motin 2257c6b05d2SAlexander Motin /* Intel */ 226d98052c4SMarius Strobl #define INTEL_DH87RL_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0x204a) 2277c6b05d2SAlexander Motin #define INTEL_D101GGC_SUBVENDOR HDA_MODEL_CONSTRUCT(INTEL, 0xd600) 2287c6b05d2SAlexander Motin 2297c6b05d2SAlexander Motin /* HP/Compaq */ 2307c6b05d2SAlexander Motin #define HP_VENDORID 0x103c 231ef790cc7SK Staring #define HP_Z200_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x103c) 232ef790cc7SK Staring #define HP_225AID_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x225a) 233ef790cc7SK Staring #define HP_2272ID_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2272) 234ef790cc7SK Staring #define HP_2273ID_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2273) 2357c6b05d2SAlexander Motin #define HP_V3000_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30b5) 2367c6b05d2SAlexander Motin #define HP_NX7400_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30a2) 2377c6b05d2SAlexander Motin #define HP_NX6310_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30aa) 2387c6b05d2SAlexander Motin #define HP_NX6325_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30b0) 2397c6b05d2SAlexander Motin #define HP_XW4300_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x3013) 2407c6b05d2SAlexander Motin #define HP_3010_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x3010) 2417c6b05d2SAlexander Motin #define HP_DV5000_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x30a5) 2427c6b05d2SAlexander Motin #define HP_DC7700S_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2801) 2437c6b05d2SAlexander Motin #define HP_DC7700_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x2802) 244ef790cc7SK Staring #define HP_DC5750_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x280a) 24520694769SVladimir Kondratyev #define HP_AF006UR_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0x83a2) 2467c6b05d2SAlexander Motin #define HP_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(HP, 0xffff) 2477c6b05d2SAlexander Motin /* What is wrong with XN 2563 anyway? (Got the picture ?) */ 2487c6b05d2SAlexander Motin #define HP_NX6325_SUBVENDORX 0x103c30b0 2497c6b05d2SAlexander Motin 2507c6b05d2SAlexander Motin /* Dell */ 2517c6b05d2SAlexander Motin #define DELL_VENDORID 0x1028 2527c6b05d2SAlexander Motin #define DELL_D630_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01f9) 2537c6b05d2SAlexander Motin #define DELL_D820_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01cc) 2547c6b05d2SAlexander Motin #define DELL_V1400_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0227) 2557c6b05d2SAlexander Motin #define DELL_V1500_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0228) 2567c6b05d2SAlexander Motin #define DELL_I1300_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01c9) 257d3eca31eSMark Johnston #define DELL_L7480_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x07a0) 2587c6b05d2SAlexander Motin #define DELL_XPSM1210_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01d7) 2597c6b05d2SAlexander Motin #define DELL_OPLX745_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01da) 260ef790cc7SK Staring #define DELL_05F4ID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x05f4) 261ef790cc7SK Staring #define DELL_05F5ID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x05f5) 262ef790cc7SK Staring #define DELL_05F6ID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x05f6) 263ef790cc7SK Staring #define DELL_V5470_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0615) 264ef790cc7SK Staring #define DELL_V5470_1_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0616) 265ef790cc7SK Staring #define DELL_064AID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x064a) 266ef790cc7SK Staring #define DELL_064BID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x064b) 267ef790cc7SK Staring #define DELL_9020M_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0669) 268ef790cc7SK Staring #define DELL_V5480_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x069a) 269ef790cc7SK Staring #define DELL_06D9ID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x06d9) 270ef790cc7SK Staring #define DELL_06DAID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x06da) 271ef790cc7SK Staring #define DELL_06DBID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x06db) 272ef790cc7SK Staring #define DELL_06DDID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x06dd) 273ef790cc7SK Staring #define DELL_06DEID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x06de) 274ef790cc7SK Staring #define DELL_06DFID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x06df) 275ef790cc7SK Staring #define DELL_06E0ID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x06e0) 276ef790cc7SK Staring #define DELL_7559_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0706) 277ef790cc7SK Staring #define DELL_7000_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0798) 27849de5ec3SSean Bruno #define DELL_XPS9560_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x07be) 279ef790cc7SK Staring #define DELL_E7240_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x05ca) 280ef790cc7SK Staring #define DELL_164AID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x164a) 281ef790cc7SK Staring #define DELL_164BID_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x164b) 282145b1792SMarcelo Araujo #define DELL_I7577_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0802) 2837c6b05d2SAlexander Motin #define DELL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0xffff) 2847c6b05d2SAlexander Motin 2857c6b05d2SAlexander Motin /* Clevo */ 2867c6b05d2SAlexander Motin #define CLEVO_VENDORID 0x1558 2877c6b05d2SAlexander Motin #define CLEVO_D900T_SUBVENDOR HDA_MODEL_CONSTRUCT(CLEVO, 0x0900) 2887c6b05d2SAlexander Motin #define CLEVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(CLEVO, 0xffff) 2897c6b05d2SAlexander Motin 2907c6b05d2SAlexander Motin /* Acer */ 2917c6b05d2SAlexander Motin #define ACER_VENDORID 0x1025 292ef790cc7SK Staring #define ACER_0070ID_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0070) 293ef790cc7SK Staring #define ACER_0077ID_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0077) 294ef790cc7SK Staring #define ACER_0078ID_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0078) 295ef790cc7SK Staring #define ACER_0087ID_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0087) 2967c6b05d2SAlexander Motin #define ACER_A5050_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x010f) 2977c6b05d2SAlexander Motin #define ACER_A4520_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0127) 2987c6b05d2SAlexander Motin #define ACER_A4710_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x012f) 2997c6b05d2SAlexander Motin #define ACER_A4715_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0133) 300ef790cc7SK Staring #define ACER_TM_6293_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0139) 3017c6b05d2SAlexander Motin #define ACER_3681WXM_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0110) 3027c6b05d2SAlexander Motin #define ACER_T6292_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011b) 3037c6b05d2SAlexander Motin #define ACER_T5320_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x011f) 304ef790cc7SK Staring #define ACER_TM_6293_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0139) 305ef790cc7SK Staring #define ACER_AC700_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x047c) 306ef790cc7SK Staring #define ACER_V5_571G_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x072d) 307ef790cc7SK Staring #define ACER_AO725_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0740) 308ef790cc7SK Staring #define ACER_AO756_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0742) 309ef790cc7SK Staring #define ACER_E1_472_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0762) 310ef790cc7SK Staring #define ACER_E1_572_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x0775) 311ef790cc7SK Staring #define ACER_V5_573G_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x079b) 312ef790cc7SK Staring #define ACER_CB_14_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0x106d) 313ef790cc7SK Staring #define ACER_V5_122P_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xa80d) 314ef790cc7SK Staring #define ACER_APFV_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xa884) 315ef790cc7SK Staring #define ACER_E309ID_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xe309) 316ef790cc7SK Staring #define ACER_E310ID_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xe310) 3177c6b05d2SAlexander Motin #define ACER_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ACER, 0xffff) 3187c6b05d2SAlexander Motin 3197c6b05d2SAlexander Motin /* Asus */ 3207c6b05d2SAlexander Motin #define ASUS_VENDORID 0x1043 321ef790cc7SK Staring #define ASUS_X540A_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x103e) 322ef790cc7SK Staring #define ASUS_X540SA_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x10c0) 323ef790cc7SK Staring #define ASUS_X556UR_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x11c0) 324ef790cc7SK Staring #define ASUS_W5A_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x10c3) 325ef790cc7SK Staring #define ASUS_X540LA_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x10d0) 3267c6b05d2SAlexander Motin #define ASUS_A8X_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1153) 3277c6b05d2SAlexander Motin #define ASUS_U5F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263) 3287c6b05d2SAlexander Motin #define ASUS_W6F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263) 329ef790cc7SK Staring #define ASUS_X541SA_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x12e0) 330ef790cc7SK Staring #define ASUS_X541UV_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x12f0) 3317c6b05d2SAlexander Motin #define ASUS_A7M_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1323) 3327c6b05d2SAlexander Motin #define ASUS_F3JC_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1338) 3337c6b05d2SAlexander Motin #define ASUS_G2K_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1339) 334ef790cc7SK Staring #define ASUS_Z550SA_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x13b0) 3357c6b05d2SAlexander Motin #define ASUS_A7T_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x13c2) 33693ad59a2SLutz Bichler #define ASUS_UX331_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x14de) 337fff11ae8SAlexander Motin #define ASUS_UX31A_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1517) 3385abe1789SGleb Popov #define ASUS_GL553VE_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x15e0) 339ef790cc7SK Staring #define ASUS_Z71V_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1964) 3407c6b05d2SAlexander Motin #define ASUS_W2J_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1971) 3417c6b05d2SAlexander Motin #define ASUS_M5200_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1993) 342ef790cc7SK Staring #define ASUS_G73JW_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1a13) 343ef790cc7SK Staring #define ASUS_X705UD_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1a30) 344ef790cc7SK Staring #define ASUS_Z550MA_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1bbd) 345ef790cc7SK Staring #define ASUS_X555UB_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1ccd) 3467c6b05d2SAlexander Motin #define ASUS_P5PL2_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x817f) 3477c6b05d2SAlexander Motin #define ASUS_P1AH2_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81cb) 3487c6b05d2SAlexander Motin #define ASUS_M2NPVMX_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81cb) 3497c6b05d2SAlexander Motin #define ASUS_M2V_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81e7) 3507c6b05d2SAlexander Motin #define ASUS_P5BWD_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x81ec) 3517c6b05d2SAlexander Motin #define ASUS_M2N_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x8234) 352ef790cc7SK Staring #define ASUS_A8NVMCSM_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0xcb84) 353ef790cc7SK Staring #define ASUS_X101CH_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x8516) 3547c6b05d2SAlexander Motin #define ASUS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0xffff) 3557c6b05d2SAlexander Motin 3567c6b05d2SAlexander Motin /* IBM / Lenovo */ 3577c6b05d2SAlexander Motin #define IBM_VENDORID 0x1014 3587c6b05d2SAlexander Motin #define IBM_M52_SUBVENDOR HDA_MODEL_CONSTRUCT(IBM, 0x02f6) 3597c6b05d2SAlexander Motin #define IBM_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(IBM, 0xffff) 3607c6b05d2SAlexander Motin 3617c6b05d2SAlexander Motin /* Lenovo */ 3627c6b05d2SAlexander Motin #define LENOVO_VENDORID 0x17aa 3637c6b05d2SAlexander Motin #define LENOVO_3KN100_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2066) 3647c6b05d2SAlexander Motin #define LENOVO_3KN200_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e) 3657c6b05d2SAlexander Motin #define LENOVO_B450_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3a0d) 3667c6b05d2SAlexander Motin #define LENOVO_TCA55_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x1015) 3672112695cSGleb Smirnoff #define LENOVO_X1_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21e8) 3682112695cSGleb Smirnoff #define LENOVO_X1CRBN_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f9) 369420827daSRui Paulo #define LENOVO_X120BS_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2227) 370ff0107deSJung-uk Kim #define LENOVO_X120KH_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x225c) 371d3eca31eSMark Johnston #define LENOVO_X120QD_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2292) 37232ea29e2SAlexander Motin #define LENOVO_X220_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21da) 373ae84f236SAlexander Motin #define LENOVO_X300_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20ac) 374dcd85063SAdrian Chadd #define LENOVO_T400_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x20f2) 3752112695cSGleb Smirnoff #define LENOVO_T420_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21ce) 376*84e73074SChristos Margiolis #define LENOVO_T420S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21d2) 377aa4dd0f2SGleb Smirnoff #define LENOVO_T430_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f3) 378aa4dd0f2SGleb Smirnoff #define LENOVO_T430S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21fb) 3792112695cSGleb Smirnoff #define LENOVO_T520_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf) 380b4cd804aSXin LI #define LENOVO_T530_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21f6) 381ef790cc7SK Staring #define LENOVO_X230_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x21fa) 382ef790cc7SK Staring #define LENOVO_X230T_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2203) 383ef790cc7SK Staring #define LENOVO_T431S_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2208) 384ef659a2dSOleksandr Kryvulia #define LENOVO_X1CRBNG11_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x2315) 38505929f8bSMark Johnston #define LENOVO_G580_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3977) 38645f0e571SPhilippe Michaud-Boudreault #define LENOVO_L5AMD_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x381b) 387b44869cbSNuno Teixeira #define LENOVO_L5INTEL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x380f) 388ef790cc7SK Staring #define LENOVO_3000_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x384e) 38927895336SChristos Margiolis #define LENOVO_IDEAPAD330_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3808) 39027895336SChristos Margiolis #define LENOVO_IDEAPAD3_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0x3881) 3917c6b05d2SAlexander Motin #define LENOVO_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LENOVO, 0xffff) 3927c6b05d2SAlexander Motin 3937c6b05d2SAlexander Motin /* Samsung */ 3947c6b05d2SAlexander Motin #define SAMSUNG_VENDORID 0x144d 3957c6b05d2SAlexander Motin #define SAMSUNG_Q1_SUBVENDOR HDA_MODEL_CONSTRUCT(SAMSUNG, 0xc027) 3967c6b05d2SAlexander Motin #define SAMSUNG_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SAMSUNG, 0xffff) 3977c6b05d2SAlexander Motin 3987c6b05d2SAlexander Motin /* Medion ? */ 3997c6b05d2SAlexander Motin #define MEDION_VENDORID 0x161f 4007c6b05d2SAlexander Motin #define MEDION_MD95257_SUBVENDOR HDA_MODEL_CONSTRUCT(MEDION, 0x203d) 4017c6b05d2SAlexander Motin #define MEDION_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(MEDION, 0xffff) 4027c6b05d2SAlexander Motin 4037c6b05d2SAlexander Motin /* Apple Computer Inc. */ 4047c6b05d2SAlexander Motin #define APPLE_VENDORID 0x106b 4057c6b05d2SAlexander Motin #define APPLE_MB3_SUBVENDOR HDA_MODEL_CONSTRUCT(APPLE, 0x00a1) 4067c6b05d2SAlexander Motin 4077c6b05d2SAlexander Motin /* Sony */ 4087c6b05d2SAlexander Motin #define SONY_VENDORID 0x104d 4097c6b05d2SAlexander Motin #define SONY_S5_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81cc) 410ef790cc7SK Staring #define SONY_81A0ID_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81a0) 411ef790cc7SK Staring #define SONY_81D6ID_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81d6) 412ef790cc7SK Staring #define SONY_81BBID_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81bb) 413ef790cc7SK Staring #define SONY_VAIO_TX_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x81e2) 414ef790cc7SK Staring #define SONY_VAIO_S13_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x9099) 415ef790cc7SK Staring #define SONY_VAIO_P11_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x90b5) 416ef790cc7SK Staring #define SONY_VAIO_P13_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0x90b6) 4177c6b05d2SAlexander Motin #define SONY_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(SONY, 0xffff) 4187c6b05d2SAlexander Motin 419ef790cc7SK Staring /* Tyan? */ 420ef790cc7SK Staring #define TYAN_VENDORID 0x10f1 421ef790cc7SK Staring #define TYAN_N6650W_SUBVENDOR HDA_MODEL_CONSTRUCT(TYAN, 0x2915) 422ef790cc7SK Staring 4237c6b05d2SAlexander Motin /* 4247c6b05d2SAlexander Motin * Apple Intel MacXXXX seems using Sigmatel codec/vendor id 4257c6b05d2SAlexander Motin * instead of their own, which is beyond my comprehension 4267c6b05d2SAlexander Motin * (see HDA_CODEC_STAC9221 below). 4277c6b05d2SAlexander Motin */ 4287c6b05d2SAlexander Motin #define APPLE_INTEL_MAC 0x76808384 4296b97b1b3SHans Petter Selasky #define APPLE_MACBOOKAIR31 0x0d9410de 43023db5fccSAdrian Chadd #define APPLE_MACBOOKAIR61 0x106b7100 43123db5fccSAdrian Chadd #define APPLE_MACBOOKAIR62 0x106b7200 4327c6b05d2SAlexander Motin #define APPLE_MACBOOKPRO55 0xcb7910de 4336b97b1b3SHans Petter Selasky #define APPLE_MACBOOKPRO71 0xcb8910de 4347c6b05d2SAlexander Motin 4357c6b05d2SAlexander Motin /* LG Electronics */ 4367c6b05d2SAlexander Motin #define LG_VENDORID 0x1854 4377c6b05d2SAlexander Motin #define LG_LW20_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0x0018) 438ef790cc7SK Staring #define LG_M1_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0x003b) 439ef790cc7SK Staring #define LG_P1_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0x005f) 440ef790cc7SK Staring #define LG_W1_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0x0068) 441ef790cc7SK Staring #define LG_LW25_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0x0077) 4427c6b05d2SAlexander Motin #define LG_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(LG, 0xffff) 4437c6b05d2SAlexander Motin 4447c6b05d2SAlexander Motin /* Fujitsu Siemens */ 4457c6b05d2SAlexander Motin #define FS_VENDORID 0x1734 4467c6b05d2SAlexander Motin #define FS_PA1510_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10b8) 4477c6b05d2SAlexander Motin #define FS_SI1848_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10cd) 448ef790cc7SK Staring #define FS_AMILO_M1437_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x107c) 449ef790cc7SK Staring #define FS_AMILO_M1451G_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x1094) 450ef790cc7SK Staring #define FS_AMILO_PI1556_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10b0) 451ef790cc7SK Staring #define FS_AMILO_XI1526_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x10ac) 452ef790cc7SK Staring #define FS_H270_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0x1147) 4537c6b05d2SAlexander Motin #define FS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(FS, 0xffff) 4547c6b05d2SAlexander Motin 4557c6b05d2SAlexander Motin /* Fujitsu Limited */ 4567c6b05d2SAlexander Motin #define FL_VENDORID 0x10cf 4577c6b05d2SAlexander Motin #define FL_S7020D_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x1326) 458ef790cc7SK Staring #define FL_LB_S7110_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x1397) 4597c6b05d2SAlexander Motin #define FL_U1010_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x142d) 460ef790cc7SK Staring #define FL_1475ID_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x1475) 461ef790cc7SK Staring #define FL_LB_U904_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x1845) 462ef790cc7SK Staring #define FL_LB_T731_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x15dc) 463ef790cc7SK Staring #define FL_LB_E725_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0x1757) 4647c6b05d2SAlexander Motin #define FL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(FL, 0xffff) 4657c6b05d2SAlexander Motin 4667c6b05d2SAlexander Motin /* Toshiba */ 4677c6b05d2SAlexander Motin #define TOSHIBA_VENDORID 0x1179 4687c6b05d2SAlexander Motin #define TOSHIBA_U200_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0x0001) 4697c6b05d2SAlexander Motin #define TOSHIBA_A135_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0xff01) 4707c6b05d2SAlexander Motin #define TOSHIBA_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(TOSHIBA, 0xffff) 4717c6b05d2SAlexander Motin 4727c6b05d2SAlexander Motin /* Micro-Star International (MSI) */ 4737c6b05d2SAlexander Motin #define MSI_VENDORID 0x1462 4747c6b05d2SAlexander Motin #define MSI_MS1034_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0x0349) 4757c6b05d2SAlexander Motin #define MSI_MS034A_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0x034a) 476ef790cc7SK Staring #define MSI_1150ID_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0x1150) 477ef790cc7SK Staring #define MSI_MS_B120_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0xb120) 4787c6b05d2SAlexander Motin #define MSI_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(MSI, 0xffff) 4797c6b05d2SAlexander Motin 4807c6b05d2SAlexander Motin /* Giga-Byte Technology */ 4817c6b05d2SAlexander Motin #define GB_VENDORID 0x1458 4827c6b05d2SAlexander Motin #define GB_G33S2H_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xa022) 483ef790cc7SK Staring #define GB_K8_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xa102) 484ef790cc7SK Staring #define GB_BXBT2807_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xfa53) 4857c6b05d2SAlexander Motin #define GP_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(GB, 0xffff) 4867c6b05d2SAlexander Motin 4877c6b05d2SAlexander Motin /* Uniwill ? */ 4887c6b05d2SAlexander Motin #define UNIWILL_VENDORID 0x1584 4897c6b05d2SAlexander Motin #define UNIWILL_9075_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9075) 490ef790cc7SK Staring #define UNIWILL_9050_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9050) 491ef790cc7SK Staring #define UNIWILL_9054_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9054) 492ef790cc7SK Staring #define UNIWILL_9070_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9070) 4937c6b05d2SAlexander Motin #define UNIWILL_9080_SUBVENDOR HDA_MODEL_CONSTRUCT(UNIWILL, 0x9080) 4947c6b05d2SAlexander Motin 495ef790cc7SK Staring /* Coeus / Elitegroup */ 496ef790cc7SK Staring #define COEUS_VENDORID 0x1019 497ef790cc7SK Staring #define COEUS_G610P_SUBVENDOR HDA_MODEL_CONSTRUCT(COEUS, 0x0f69) 498ef790cc7SK Staring #define COEUS_A880ID_SUBVENDOR HDA_MODEL_CONSTRUCT(COEUS, 0xa880) 499ef790cc7SK Staring 500ef790cc7SK Staring /* Arima */ 501ef790cc7SK Staring #define ARIMA_VENDORID 0x161f 502ef790cc7SK Staring #define ARIMA_W810_SUBVENDOR HDA_MODEL_CONSTRUCT(ARIMA, 0x0f69) 503ef790cc7SK Staring 504ef790cc7SK Staring /* Shuttle Computer */ 505ef790cc7SK Staring #define SHUTTLE_VENDORID 0x1039 506ef790cc7SK Staring #define SHUTTLE_ST20G5_SUBVENDOR HDA_MODEL_CONSTRUCT(SHUTTLE, 0xc790) 507ef790cc7SK Staring 508ef790cc7SK Staring /* First International Computer */ 509ef790cc7SK Staring #define FIC_VENDORID 0x1509 510ef790cc7SK Staring #define FIC_P4M_SUBVENDOR HDA_MODEL_CONSTRUCT(FIC, 0x925d) 511ef790cc7SK Staring 512ef790cc7SK Staring /* Gateway 2000 */ 513ef790cc7SK Staring #define GATEWAY_VENDORID 0x107b 514ef790cc7SK Staring #define GATEWAY_3032ID_SUBVENDOR HDA_MODEL_CONSTRUCT(GATEWAY, 0x3032) 515ef790cc7SK Staring #define GATEWAY_3033ID_SUBVENDOR HDA_MODEL_CONSTRUCT(GATEWAY, 0x3033) 516ef790cc7SK Staring #define GATEWAY_4039ID_SUBVENDOR HDA_MODEL_CONSTRUCT(GATEWAY, 0x4039) 517ef790cc7SK Staring 518ef790cc7SK Staring /* Biostar */ 519ef790cc7SK Staring #define BIOSTAR_VENDORID 0x1565 520ef790cc7SK Staring #define BIOSTAR_8202ID_SUBVENDOR HDA_MODEL_CONSTRUCT(BIOSTAR, 0x8202) 521ef790cc7SK Staring 522ef790cc7SK Staring /* EPoX Computer Co., Ltd. */ 523ef790cc7SK Staring #define EPOX_VENDORID 0x1695 524ef790cc7SK Staring #define EPOX_400DID_SUBVENDOR HDA_MODEL_CONSTRUCT(EPOX, 0x400d) 525ef790cc7SK Staring #define EPOX_EP5LDA_SUBVENDOR HDA_MODEL_CONSTRUCT(EPOX, 0x4012) 526ef790cc7SK Staring 527ef790cc7SK Staring /* AOpen */ 528ef790cc7SK Staring #define AOPEN_VENDORID 0xa0a0 529ef790cc7SK Staring #define AOPEN_I915GMMHFS_SUBVENDOR HDA_MODEL_CONSTRUCT(AOPEN, 0x8202) 530ef790cc7SK Staring 53106731139SEd Maste /* Framework */ 53206731139SEd Maste #define FRAMEWORK_VENDORID 0xf111 533d88dc1b0SPavel Timofeev #define FRAMEWORK_LAPTOP_0001_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0001) 534d88dc1b0SPavel Timofeev #define FRAMEWORK_LAPTOP_0002_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0002) 53548b9d78aSDaniel Schaefer #define FRAMEWORK_LAPTOP_0003_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0003) 5362f1f523aSChristos Margiolis #define FRAMEWORK_LAPTOP_0005_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0005) 53768b6567dSChristos Margiolis #define FRAMEWORK_LAPTOP_0006_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0006) 53806731139SEd Maste 5397c6b05d2SAlexander Motin /* All codecs you can eat... */ 5407c6b05d2SAlexander Motin #define HDA_CODEC_CONSTRUCT(vendor, id) \ 5417c6b05d2SAlexander Motin (((uint32_t)(vendor##_VENDORID) << 16) | ((id) & 0xffff)) 5427c6b05d2SAlexander Motin 5437c6b05d2SAlexander Motin /* Cirrus Logic */ 5447c6b05d2SAlexander Motin #define CIRRUSLOGIC_VENDORID 0x1013 5457c6b05d2SAlexander Motin #define HDA_CODEC_CS4206 HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4206) 5467c6b05d2SAlexander Motin #define HDA_CODEC_CS4207 HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4207) 54723db5fccSAdrian Chadd #define HDA_CODEC_CS4208 HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4208) 5487c6b05d2SAlexander Motin #define HDA_CODEC_CS4210 HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0x4210) 5497c6b05d2SAlexander Motin #define HDA_CODEC_CSXXXX HDA_CODEC_CONSTRUCT(CIRRUSLOGIC, 0xffff) 5507c6b05d2SAlexander Motin 5517c6b05d2SAlexander Motin /* Realtek */ 5527c6b05d2SAlexander Motin #define REALTEK_VENDORID 0x10ec 553fc68af79SAlexander Motin #define HDA_CODEC_ALC215 HDA_CODEC_CONSTRUCT(REALTEK, 0x0215) 5547c6b05d2SAlexander Motin #define HDA_CODEC_ALC221 HDA_CODEC_CONSTRUCT(REALTEK, 0x0221) 555fc68af79SAlexander Motin #define HDA_CODEC_ALC222 HDA_CODEC_CONSTRUCT(REALTEK, 0x0222) 55635e492f3SAlexander Motin #define HDA_CODEC_ALC225 HDA_CODEC_CONSTRUCT(REALTEK, 0x0225) 5575968e477SDmitry Lukhtionov #define HDA_CODEC_ALC230 HDA_CODEC_CONSTRUCT(REALTEK, 0x0230) 55835e492f3SAlexander Motin #define HDA_CODEC_ALC231 HDA_CODEC_CONSTRUCT(REALTEK, 0x0231) 559e407efcaSSean Bruno #define HDA_CODEC_ALC233 HDA_CODEC_CONSTRUCT(REALTEK, 0x0233) 56035e492f3SAlexander Motin #define HDA_CODEC_ALC234 HDA_CODEC_CONSTRUCT(REALTEK, 0x0234) 56135e492f3SAlexander Motin #define HDA_CODEC_ALC235 HDA_CODEC_CONSTRUCT(REALTEK, 0x0235) 562fc68af79SAlexander Motin #define HDA_CODEC_ALC236 HDA_CODEC_CONSTRUCT(REALTEK, 0x0236) 563fc68af79SAlexander Motin #define HDA_CODEC_ALC245 HDA_CODEC_CONSTRUCT(REALTEK, 0x0245) 56435e492f3SAlexander Motin #define HDA_CODEC_ALC255 HDA_CODEC_CONSTRUCT(REALTEK, 0x0255) 56535e492f3SAlexander Motin #define HDA_CODEC_ALC256 HDA_CODEC_CONSTRUCT(REALTEK, 0x0256) 566bd136d88SMark Johnston #define HDA_CODEC_ALC257 HDA_CODEC_CONSTRUCT(REALTEK, 0x0257) 5677c6b05d2SAlexander Motin #define HDA_CODEC_ALC260 HDA_CODEC_CONSTRUCT(REALTEK, 0x0260) 5687c6b05d2SAlexander Motin #define HDA_CODEC_ALC262 HDA_CODEC_CONSTRUCT(REALTEK, 0x0262) 5697c6b05d2SAlexander Motin #define HDA_CODEC_ALC267 HDA_CODEC_CONSTRUCT(REALTEK, 0x0267) 5707c6b05d2SAlexander Motin #define HDA_CODEC_ALC268 HDA_CODEC_CONSTRUCT(REALTEK, 0x0268) 5717c6b05d2SAlexander Motin #define HDA_CODEC_ALC269 HDA_CODEC_CONSTRUCT(REALTEK, 0x0269) 5727c6b05d2SAlexander Motin #define HDA_CODEC_ALC270 HDA_CODEC_CONSTRUCT(REALTEK, 0x0270) 573ef790cc7SK Staring #define HDA_CODEC_ALC271 HDA_CODEC_CONSTRUCT(REALTEK, 0x0271) 5747c6b05d2SAlexander Motin #define HDA_CODEC_ALC272 HDA_CODEC_CONSTRUCT(REALTEK, 0x0272) 5757c6b05d2SAlexander Motin #define HDA_CODEC_ALC273 HDA_CODEC_CONSTRUCT(REALTEK, 0x0273) 57635e492f3SAlexander Motin #define HDA_CODEC_ALC274 HDA_CODEC_CONSTRUCT(REALTEK, 0x0274) 5777c6b05d2SAlexander Motin #define HDA_CODEC_ALC275 HDA_CODEC_CONSTRUCT(REALTEK, 0x0275) 5787c6b05d2SAlexander Motin #define HDA_CODEC_ALC276 HDA_CODEC_CONSTRUCT(REALTEK, 0x0276) 57935e492f3SAlexander Motin #define HDA_CODEC_ALC280 HDA_CODEC_CONSTRUCT(REALTEK, 0x0280) 58035e492f3SAlexander Motin #define HDA_CODEC_ALC282 HDA_CODEC_CONSTRUCT(REALTEK, 0x0282) 58135e492f3SAlexander Motin #define HDA_CODEC_ALC283 HDA_CODEC_CONSTRUCT(REALTEK, 0x0283) 58235e492f3SAlexander Motin #define HDA_CODEC_ALC284 HDA_CODEC_CONSTRUCT(REALTEK, 0x0284) 58335e492f3SAlexander Motin #define HDA_CODEC_ALC285 HDA_CODEC_CONSTRUCT(REALTEK, 0x0285) 58435e492f3SAlexander Motin #define HDA_CODEC_ALC286 HDA_CODEC_CONSTRUCT(REALTEK, 0x0286) 585ef659a2dSOleksandr Kryvulia #define HDA_CODEC_ALC287 HDA_CODEC_CONSTRUCT(REALTEK, 0x0287) 58635e492f3SAlexander Motin #define HDA_CODEC_ALC288 HDA_CODEC_CONSTRUCT(REALTEK, 0x0288) 587fc68af79SAlexander Motin #define HDA_CODEC_ALC289 HDA_CODEC_CONSTRUCT(REALTEK, 0x0289) 58835e492f3SAlexander Motin #define HDA_CODEC_ALC290 HDA_CODEC_CONSTRUCT(REALTEK, 0x0290) 58935e492f3SAlexander Motin #define HDA_CODEC_ALC292 HDA_CODEC_CONSTRUCT(REALTEK, 0x0292) 59035e492f3SAlexander Motin #define HDA_CODEC_ALC293 HDA_CODEC_CONSTRUCT(REALTEK, 0x0293) 59135e492f3SAlexander Motin #define HDA_CODEC_ALC294 HDA_CODEC_CONSTRUCT(REALTEK, 0x0294) 59235e492f3SAlexander Motin #define HDA_CODEC_ALC295 HDA_CODEC_CONSTRUCT(REALTEK, 0x0295) 59335e492f3SAlexander Motin #define HDA_CODEC_ALC298 HDA_CODEC_CONSTRUCT(REALTEK, 0x0298) 59435e492f3SAlexander Motin #define HDA_CODEC_ALC299 HDA_CODEC_CONSTRUCT(REALTEK, 0x0299) 595fc68af79SAlexander Motin #define HDA_CODEC_ALC300 HDA_CODEC_CONSTRUCT(REALTEK, 0x0300) 596fc68af79SAlexander Motin #define HDA_CODEC_ALC623 HDA_CODEC_CONSTRUCT(REALTEK, 0x0623) 5977c6b05d2SAlexander Motin #define HDA_CODEC_ALC660 HDA_CODEC_CONSTRUCT(REALTEK, 0x0660) 5987c6b05d2SAlexander Motin #define HDA_CODEC_ALC662 HDA_CODEC_CONSTRUCT(REALTEK, 0x0662) 5997c6b05d2SAlexander Motin #define HDA_CODEC_ALC663 HDA_CODEC_CONSTRUCT(REALTEK, 0x0663) 6007c6b05d2SAlexander Motin #define HDA_CODEC_ALC665 HDA_CODEC_CONSTRUCT(REALTEK, 0x0665) 6015409d3eeSAlexander Motin #define HDA_CODEC_ALC670 HDA_CODEC_CONSTRUCT(REALTEK, 0x0670) 60235e492f3SAlexander Motin #define HDA_CODEC_ALC671 HDA_CODEC_CONSTRUCT(REALTEK, 0x0671) 6035409d3eeSAlexander Motin #define HDA_CODEC_ALC680 HDA_CODEC_CONSTRUCT(REALTEK, 0x0680) 60435e492f3SAlexander Motin #define HDA_CODEC_ALC700 HDA_CODEC_CONSTRUCT(REALTEK, 0x0700) 60535e492f3SAlexander Motin #define HDA_CODEC_ALC701 HDA_CODEC_CONSTRUCT(REALTEK, 0x0701) 60635e492f3SAlexander Motin #define HDA_CODEC_ALC703 HDA_CODEC_CONSTRUCT(REALTEK, 0x0703) 6077c6b05d2SAlexander Motin #define HDA_CODEC_ALC861 HDA_CODEC_CONSTRUCT(REALTEK, 0x0861) 6087c6b05d2SAlexander Motin #define HDA_CODEC_ALC861VD HDA_CODEC_CONSTRUCT(REALTEK, 0x0862) 6097c6b05d2SAlexander Motin #define HDA_CODEC_ALC880 HDA_CODEC_CONSTRUCT(REALTEK, 0x0880) 6107c6b05d2SAlexander Motin #define HDA_CODEC_ALC882 HDA_CODEC_CONSTRUCT(REALTEK, 0x0882) 6117c6b05d2SAlexander Motin #define HDA_CODEC_ALC883 HDA_CODEC_CONSTRUCT(REALTEK, 0x0883) 6127c6b05d2SAlexander Motin #define HDA_CODEC_ALC885 HDA_CODEC_CONSTRUCT(REALTEK, 0x0885) 6137c6b05d2SAlexander Motin #define HDA_CODEC_ALC887 HDA_CODEC_CONSTRUCT(REALTEK, 0x0887) 6147c6b05d2SAlexander Motin #define HDA_CODEC_ALC888 HDA_CODEC_CONSTRUCT(REALTEK, 0x0888) 6157c6b05d2SAlexander Motin #define HDA_CODEC_ALC889 HDA_CODEC_CONSTRUCT(REALTEK, 0x0889) 6167c6b05d2SAlexander Motin #define HDA_CODEC_ALC892 HDA_CODEC_CONSTRUCT(REALTEK, 0x0892) 617dc238358SAlexander Motin #define HDA_CODEC_ALC897 HDA_CODEC_CONSTRUCT(REALTEK, 0x0897) 618c23d5349SChristos Margiolis #define HDA_CODEC_ALC898 HDA_CODEC_CONSTRUCT(REALTEK, 0x0898) 6197c6b05d2SAlexander Motin #define HDA_CODEC_ALC899 HDA_CODEC_CONSTRUCT(REALTEK, 0x0899) 620b8997785SPyun YongHyeon #define HDA_CODEC_ALC1150 HDA_CODEC_CONSTRUCT(REALTEK, 0x0900) 621fc68af79SAlexander Motin #define HDA_CODEC_ALCS1200A HDA_CODEC_CONSTRUCT(REALTEK, 0x0b00) 622fc68af79SAlexander Motin #define HDA_CODEC_ALC1220_1 HDA_CODEC_CONSTRUCT(REALTEK, 0x1168) 62335e492f3SAlexander Motin #define HDA_CODEC_ALC1220 HDA_CODEC_CONSTRUCT(REALTEK, 0x1220) 6247c6b05d2SAlexander Motin #define HDA_CODEC_ALCXXXX HDA_CODEC_CONSTRUCT(REALTEK, 0xffff) 6257c6b05d2SAlexander Motin 6264bff0fc6SAlexander Motin /* Motorola */ 6275409d3eeSAlexander Motin #define MOTO_VENDORID 0x1057 6285409d3eeSAlexander Motin #define HDA_CODEC_MOTOXXXX HDA_CODEC_CONSTRUCT(MOTO, 0xffff) 6295409d3eeSAlexander Motin 6305409d3eeSAlexander Motin /* Creative */ 6315409d3eeSAlexander Motin #define CREATIVE_VENDORID 0x1102 6325409d3eeSAlexander Motin #define HDA_CODEC_CA0110 HDA_CODEC_CONSTRUCT(CREATIVE, 0x000a) 6335409d3eeSAlexander Motin #define HDA_CODEC_CA0110_2 HDA_CODEC_CONSTRUCT(CREATIVE, 0x000b) 6345409d3eeSAlexander Motin #define HDA_CODEC_SB0880 HDA_CODEC_CONSTRUCT(CREATIVE, 0x000d) 6355409d3eeSAlexander Motin #define HDA_CODEC_CA0132 HDA_CODEC_CONSTRUCT(CREATIVE, 0x0011) 6365409d3eeSAlexander Motin #define HDA_CODEC_CAXXXX HDA_CODEC_CONSTRUCT(CREATIVE, 0xffff) 6375409d3eeSAlexander Motin 6387c6b05d2SAlexander Motin /* Analog Devices */ 6397c6b05d2SAlexander Motin #define ANALOGDEVICES_VENDORID 0x11d4 6407c6b05d2SAlexander Motin #define HDA_CODEC_AD1884A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x184a) 6417c6b05d2SAlexander Motin #define HDA_CODEC_AD1882 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1882) 6427c6b05d2SAlexander Motin #define HDA_CODEC_AD1883 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1883) 6437c6b05d2SAlexander Motin #define HDA_CODEC_AD1884 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1884) 6447c6b05d2SAlexander Motin #define HDA_CODEC_AD1984A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194a) 6457c6b05d2SAlexander Motin #define HDA_CODEC_AD1984B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x194b) 6467c6b05d2SAlexander Motin #define HDA_CODEC_AD1981HD HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1981) 6477c6b05d2SAlexander Motin #define HDA_CODEC_AD1983 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1983) 6487c6b05d2SAlexander Motin #define HDA_CODEC_AD1984 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1984) 6497c6b05d2SAlexander Motin #define HDA_CODEC_AD1986A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1986) 6507c6b05d2SAlexander Motin #define HDA_CODEC_AD1987 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1987) 6517c6b05d2SAlexander Motin #define HDA_CODEC_AD1988 HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x1988) 6527c6b05d2SAlexander Motin #define HDA_CODEC_AD1988B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x198b) 6537c6b05d2SAlexander Motin #define HDA_CODEC_AD1882A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x882a) 6547c6b05d2SAlexander Motin #define HDA_CODEC_AD1989A HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989a) 6557c6b05d2SAlexander Motin #define HDA_CODEC_AD1989B HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0x989b) 6567c6b05d2SAlexander Motin #define HDA_CODEC_ADXXXX HDA_CODEC_CONSTRUCT(ANALOGDEVICES, 0xffff) 6577c6b05d2SAlexander Motin 6587c6b05d2SAlexander Motin /* CMedia */ 6595409d3eeSAlexander Motin #define CMEDIA_VENDORID 0x13f6 6605409d3eeSAlexander Motin #define HDA_CODEC_CMI9880 HDA_CODEC_CONSTRUCT(CMEDIA, 0x9880) 6617c6b05d2SAlexander Motin #define HDA_CODEC_CMIXXXX HDA_CODEC_CONSTRUCT(CMEDIA, 0xffff) 6627c6b05d2SAlexander Motin 6635409d3eeSAlexander Motin #define CMEDIA2_VENDORID 0x434d 6645409d3eeSAlexander Motin #define HDA_CODEC_CMI98802 HDA_CODEC_CONSTRUCT(CMEDIA2, 0x4980) 6655409d3eeSAlexander Motin #define HDA_CODEC_CMIXXXX2 HDA_CODEC_CONSTRUCT(CMEDIA2, 0xffff) 6665409d3eeSAlexander Motin 6677c6b05d2SAlexander Motin /* Sigmatel */ 6687c6b05d2SAlexander Motin #define SIGMATEL_VENDORID 0x8384 6697c6b05d2SAlexander Motin #define HDA_CODEC_STAC9230X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7612) 6707c6b05d2SAlexander Motin #define HDA_CODEC_STAC9230D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7613) 6717c6b05d2SAlexander Motin #define HDA_CODEC_STAC9229X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7614) 6727c6b05d2SAlexander Motin #define HDA_CODEC_STAC9229D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7615) 6737c6b05d2SAlexander Motin #define HDA_CODEC_STAC9228X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7616) 6747c6b05d2SAlexander Motin #define HDA_CODEC_STAC9228D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7617) 6757c6b05d2SAlexander Motin #define HDA_CODEC_STAC9227X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7618) 6767c6b05d2SAlexander Motin #define HDA_CODEC_STAC9227D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7619) 6777c6b05d2SAlexander Motin #define HDA_CODEC_STAC9274 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7620) 6787c6b05d2SAlexander Motin #define HDA_CODEC_STAC9274D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7621) 6797c6b05d2SAlexander Motin #define HDA_CODEC_STAC9273X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7622) 6807c6b05d2SAlexander Motin #define HDA_CODEC_STAC9273D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7623) 6817c6b05d2SAlexander Motin #define HDA_CODEC_STAC9272X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7624) 6827c6b05d2SAlexander Motin #define HDA_CODEC_STAC9272D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7625) 6837c6b05d2SAlexander Motin #define HDA_CODEC_STAC9271X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7626) 6847c6b05d2SAlexander Motin #define HDA_CODEC_STAC9271D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7627) 6857c6b05d2SAlexander Motin #define HDA_CODEC_STAC9274X5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7628) 6867c6b05d2SAlexander Motin #define HDA_CODEC_STAC9274D5NH HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7629) 6877c6b05d2SAlexander Motin #define HDA_CODEC_STAC9250 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7634) 6887c6b05d2SAlexander Motin #define HDA_CODEC_STAC9251 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7636) 6897c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD700X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7638) 6907c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD700D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7639) 6917c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD206X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7645) 6927c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD206D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7646) 6937c6b05d2SAlexander Motin #define HDA_CODEC_CXD9872RDK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7661) 6947c6b05d2SAlexander Motin #define HDA_CODEC_STAC9872AK HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7662) 6957c6b05d2SAlexander Motin #define HDA_CODEC_CXD9872AKD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7664) 6967c6b05d2SAlexander Motin #define HDA_CODEC_STAC9221 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7680) 6977c6b05d2SAlexander Motin #define HDA_CODEC_STAC922XD HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7681) 6987c6b05d2SAlexander Motin #define HDA_CODEC_STAC9221_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7682) 6997c6b05d2SAlexander Motin #define HDA_CODEC_STAC9221D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7683) 7007c6b05d2SAlexander Motin #define HDA_CODEC_STAC9220 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7690) 7017c6b05d2SAlexander Motin #define HDA_CODEC_STAC9200D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7691) 7027c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD005 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7698) 7037c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD005D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7699) 7047c6b05d2SAlexander Motin #define HDA_CODEC_STAC9205X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a0) 7057c6b05d2SAlexander Motin #define HDA_CODEC_STAC9205D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a1) 7067c6b05d2SAlexander Motin #define HDA_CODEC_STAC9204X HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a2) 7077c6b05d2SAlexander Motin #define HDA_CODEC_STAC9204D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a3) 7085409d3eeSAlexander Motin #define HDA_CODEC_STAC9255 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a4) 7095409d3eeSAlexander Motin #define HDA_CODEC_STAC9255D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a5) 7105409d3eeSAlexander Motin #define HDA_CODEC_STAC9254 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a6) 7115409d3eeSAlexander Motin #define HDA_CODEC_STAC9254D HDA_CODEC_CONSTRUCT(SIGMATEL, 0x76a7) 7127c6b05d2SAlexander Motin #define HDA_CODEC_STAC9220_A2 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7880) 7137c6b05d2SAlexander Motin #define HDA_CODEC_STAC9220_A1 HDA_CODEC_CONSTRUCT(SIGMATEL, 0x7882) 7147c6b05d2SAlexander Motin #define HDA_CODEC_STACXXXX HDA_CODEC_CONSTRUCT(SIGMATEL, 0xffff) 7157c6b05d2SAlexander Motin 716e997f337SEd Maste /* IDT / Tempo Semiconductor */ 7177c6b05d2SAlexander Motin #define IDT_VENDORID 0x111d 7187c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD75BX HDA_CODEC_CONSTRUCT(IDT, 0x7603) 7197c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD83C1X HDA_CODEC_CONSTRUCT(IDT, 0x7604) 7207c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD81B1X HDA_CODEC_CONSTRUCT(IDT, 0x7605) 7217c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD75B3 HDA_CODEC_CONSTRUCT(IDT, 0x7608) 7227c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD73D1 HDA_CODEC_CONSTRUCT(IDT, 0x7674) 7237c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD73C1 HDA_CODEC_CONSTRUCT(IDT, 0x7675) 7247c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD73E1 HDA_CODEC_CONSTRUCT(IDT, 0x7676) 725e997f337SEd Maste #define HDA_CODEC_IDT92HD95B HDA_CODEC_CONSTRUCT(IDT, 0x7695) 7267c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD71B8 HDA_CODEC_CONSTRUCT(IDT, 0x76b0) 7275409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD71B8_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b1) 7287c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD71B7 HDA_CODEC_CONSTRUCT(IDT, 0x76b2) 7295409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD71B7_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b3) 7305409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD71B6 HDA_CODEC_CONSTRUCT(IDT, 0x76b4) 7315409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD71B6_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b5) 7327c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD71B5 HDA_CODEC_CONSTRUCT(IDT, 0x76b6) 7335409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD71B5_2 HDA_CODEC_CONSTRUCT(IDT, 0x76b7) 7345409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89C3 HDA_CODEC_CONSTRUCT(IDT, 0x76c0) 7355409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89C2 HDA_CODEC_CONSTRUCT(IDT, 0x76c1) 7365409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89C1 HDA_CODEC_CONSTRUCT(IDT, 0x76c2) 7375409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89B3 HDA_CODEC_CONSTRUCT(IDT, 0x76c3) 7385409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89B2 HDA_CODEC_CONSTRUCT(IDT, 0x76c4) 7395409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89B1 HDA_CODEC_CONSTRUCT(IDT, 0x76c5) 7405409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89E3 HDA_CODEC_CONSTRUCT(IDT, 0x76c6) 7415409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89E2 HDA_CODEC_CONSTRUCT(IDT, 0x76c7) 7425409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89E1 HDA_CODEC_CONSTRUCT(IDT, 0x76c8) 7435409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89D3 HDA_CODEC_CONSTRUCT(IDT, 0x76c9) 7445409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89D2 HDA_CODEC_CONSTRUCT(IDT, 0x76ca) 7455409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89D1 HDA_CODEC_CONSTRUCT(IDT, 0x76cb) 7465409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89F3 HDA_CODEC_CONSTRUCT(IDT, 0x76cc) 7475409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89F2 HDA_CODEC_CONSTRUCT(IDT, 0x76cd) 7485409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD89F1 HDA_CODEC_CONSTRUCT(IDT, 0x76ce) 7495409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD87B1_3 HDA_CODEC_CONSTRUCT(IDT, 0x76d1) 7507c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD83C1C HDA_CODEC_CONSTRUCT(IDT, 0x76d4) 7517c6b05d2SAlexander Motin #define HDA_CODEC_IDT92HD81B1C HDA_CODEC_CONSTRUCT(IDT, 0x76d5) 7525409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD87B2_4 HDA_CODEC_CONSTRUCT(IDT, 0x76d9) 7535409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD93BXX HDA_CODEC_CONSTRUCT(IDT, 0x76df) 7545409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD91BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e0) 7555409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD98BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e3) 7565409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD99BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e5) 7575409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD90BXX HDA_CODEC_CONSTRUCT(IDT, 0x76e7) 7585409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66B1X5 HDA_CODEC_CONSTRUCT(IDT, 0x76e8) 7595409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66B2X5 HDA_CODEC_CONSTRUCT(IDT, 0x76e9) 7605409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66B3X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ea) 7615409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66C1X5 HDA_CODEC_CONSTRUCT(IDT, 0x76eb) 7625409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66C2X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ec) 7635409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66C3X5 HDA_CODEC_CONSTRUCT(IDT, 0x76ed) 7645409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66B1X3 HDA_CODEC_CONSTRUCT(IDT, 0x76ee) 7655409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66B2X3 HDA_CODEC_CONSTRUCT(IDT, 0x76ef) 7665409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66B3X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f0) 7675409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66C1X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f1) 7685409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66C2X3 HDA_CODEC_CONSTRUCT(IDT, 0x76f2) 7695409d3eeSAlexander Motin #define HDA_CODEC_IDT92HD66C3_65 HDA_CODEC_CONSTRUCT(IDT, 0x76f3) 7707c6b05d2SAlexander Motin #define HDA_CODEC_IDTXXXX HDA_CODEC_CONSTRUCT(IDT, 0xffff) 7717c6b05d2SAlexander Motin 7727c6b05d2SAlexander Motin /* Silicon Image */ 7737c6b05d2SAlexander Motin #define SII_VENDORID 0x1095 7747c6b05d2SAlexander Motin #define HDA_CODEC_SII1390 HDA_CODEC_CONSTRUCT(SII, 0x1390) 7757c6b05d2SAlexander Motin #define HDA_CODEC_SII1392 HDA_CODEC_CONSTRUCT(SII, 0x1392) 7767c6b05d2SAlexander Motin #define HDA_CODEC_SIIXXXX HDA_CODEC_CONSTRUCT(SII, 0xffff) 7777c6b05d2SAlexander Motin 7787c6b05d2SAlexander Motin /* Lucent/Agere */ 7797c6b05d2SAlexander Motin #define AGERE_VENDORID 0x11c1 7807c6b05d2SAlexander Motin #define HDA_CODEC_AGEREXXXX HDA_CODEC_CONSTRUCT(AGERE, 0xffff) 7817c6b05d2SAlexander Motin 7827c6b05d2SAlexander Motin /* Conexant */ 7837c6b05d2SAlexander Motin #define CONEXANT_VENDORID 0x14f1 7847c6b05d2SAlexander Motin #define HDA_CODEC_CX20549 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5045) 7857c6b05d2SAlexander Motin #define HDA_CODEC_CX20551 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5047) 7867c6b05d2SAlexander Motin #define HDA_CODEC_CX20561 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5051) 7877c6b05d2SAlexander Motin #define HDA_CODEC_CX20582 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5066) 7887c6b05d2SAlexander Motin #define HDA_CODEC_CX20583 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5067) 7897c6b05d2SAlexander Motin #define HDA_CODEC_CX20584 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5068) 7907c6b05d2SAlexander Motin #define HDA_CODEC_CX20585 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5069) 7917c6b05d2SAlexander Motin #define HDA_CODEC_CX20588 HDA_CODEC_CONSTRUCT(CONEXANT, 0x506c) 7927c6b05d2SAlexander Motin #define HDA_CODEC_CX20590 HDA_CODEC_CONSTRUCT(CONEXANT, 0x506e) 7937c6b05d2SAlexander Motin #define HDA_CODEC_CX20631 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5097) 7947c6b05d2SAlexander Motin #define HDA_CODEC_CX20632 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5098) 7957c6b05d2SAlexander Motin #define HDA_CODEC_CX20641 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50a1) 7967c6b05d2SAlexander Motin #define HDA_CODEC_CX20642 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50a2) 7977c6b05d2SAlexander Motin #define HDA_CODEC_CX20651 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50ab) 7987c6b05d2SAlexander Motin #define HDA_CODEC_CX20652 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50ac) 7997c6b05d2SAlexander Motin #define HDA_CODEC_CX20664 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50b8) 8007c6b05d2SAlexander Motin #define HDA_CODEC_CX20665 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50b9) 80135e492f3SAlexander Motin #define HDA_CODEC_CX21722 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50f1) 80235e492f3SAlexander Motin #define HDA_CODEC_CX20722 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50f2) 80335e492f3SAlexander Motin #define HDA_CODEC_CX21724 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50f3) 80435e492f3SAlexander Motin #define HDA_CODEC_CX20724 HDA_CODEC_CONSTRUCT(CONEXANT, 0x50f4) 80535e492f3SAlexander Motin #define HDA_CODEC_CX20751 HDA_CODEC_CONSTRUCT(CONEXANT, 0x510f) 80635e492f3SAlexander Motin #define HDA_CODEC_CX20751_2 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5110) 80735e492f3SAlexander Motin #define HDA_CODEC_CX20753 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5111) 80835e492f3SAlexander Motin #define HDA_CODEC_CX20755 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5113) 80935e492f3SAlexander Motin #define HDA_CODEC_CX20756 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5114) 81035e492f3SAlexander Motin #define HDA_CODEC_CX20757 HDA_CODEC_CONSTRUCT(CONEXANT, 0x5115) 81135e492f3SAlexander Motin #define HDA_CODEC_CX20952 HDA_CODEC_CONSTRUCT(CONEXANT, 0x51d7) 8127c6b05d2SAlexander Motin #define HDA_CODEC_CXXXXX HDA_CODEC_CONSTRUCT(CONEXANT, 0xffff) 8137c6b05d2SAlexander Motin 8147c6b05d2SAlexander Motin /* VIA */ 8157c6b05d2SAlexander Motin #define HDA_CODEC_VT1708_8 HDA_CODEC_CONSTRUCT(VIA, 0x1708) 8167c6b05d2SAlexander Motin #define HDA_CODEC_VT1708_9 HDA_CODEC_CONSTRUCT(VIA, 0x1709) 8177c6b05d2SAlexander Motin #define HDA_CODEC_VT1708_A HDA_CODEC_CONSTRUCT(VIA, 0x170a) 8187c6b05d2SAlexander Motin #define HDA_CODEC_VT1708_B HDA_CODEC_CONSTRUCT(VIA, 0x170b) 8197c6b05d2SAlexander Motin #define HDA_CODEC_VT1709_0 HDA_CODEC_CONSTRUCT(VIA, 0xe710) 8207c6b05d2SAlexander Motin #define HDA_CODEC_VT1709_1 HDA_CODEC_CONSTRUCT(VIA, 0xe711) 8217c6b05d2SAlexander Motin #define HDA_CODEC_VT1709_2 HDA_CODEC_CONSTRUCT(VIA, 0xe712) 8227c6b05d2SAlexander Motin #define HDA_CODEC_VT1709_3 HDA_CODEC_CONSTRUCT(VIA, 0xe713) 8237c6b05d2SAlexander Motin #define HDA_CODEC_VT1709_4 HDA_CODEC_CONSTRUCT(VIA, 0xe714) 8247c6b05d2SAlexander Motin #define HDA_CODEC_VT1709_5 HDA_CODEC_CONSTRUCT(VIA, 0xe715) 8257c6b05d2SAlexander Motin #define HDA_CODEC_VT1709_6 HDA_CODEC_CONSTRUCT(VIA, 0xe716) 8267c6b05d2SAlexander Motin #define HDA_CODEC_VT1709_7 HDA_CODEC_CONSTRUCT(VIA, 0xe717) 8277c6b05d2SAlexander Motin #define HDA_CODEC_VT1708B_0 HDA_CODEC_CONSTRUCT(VIA, 0xe720) 8287c6b05d2SAlexander Motin #define HDA_CODEC_VT1708B_1 HDA_CODEC_CONSTRUCT(VIA, 0xe721) 8297c6b05d2SAlexander Motin #define HDA_CODEC_VT1708B_2 HDA_CODEC_CONSTRUCT(VIA, 0xe722) 8307c6b05d2SAlexander Motin #define HDA_CODEC_VT1708B_3 HDA_CODEC_CONSTRUCT(VIA, 0xe723) 8317c6b05d2SAlexander Motin #define HDA_CODEC_VT1708B_4 HDA_CODEC_CONSTRUCT(VIA, 0xe724) 8327c6b05d2SAlexander Motin #define HDA_CODEC_VT1708B_5 HDA_CODEC_CONSTRUCT(VIA, 0xe725) 8337c6b05d2SAlexander Motin #define HDA_CODEC_VT1708B_6 HDA_CODEC_CONSTRUCT(VIA, 0xe726) 8347c6b05d2SAlexander Motin #define HDA_CODEC_VT1708B_7 HDA_CODEC_CONSTRUCT(VIA, 0xe727) 8357c6b05d2SAlexander Motin #define HDA_CODEC_VT1708S_0 HDA_CODEC_CONSTRUCT(VIA, 0x0397) 8367c6b05d2SAlexander Motin #define HDA_CODEC_VT1708S_1 HDA_CODEC_CONSTRUCT(VIA, 0x1397) 8377c6b05d2SAlexander Motin #define HDA_CODEC_VT1708S_2 HDA_CODEC_CONSTRUCT(VIA, 0x2397) 8387c6b05d2SAlexander Motin #define HDA_CODEC_VT1708S_3 HDA_CODEC_CONSTRUCT(VIA, 0x3397) 8397c6b05d2SAlexander Motin #define HDA_CODEC_VT1708S_4 HDA_CODEC_CONSTRUCT(VIA, 0x4397) 8407c6b05d2SAlexander Motin #define HDA_CODEC_VT1708S_5 HDA_CODEC_CONSTRUCT(VIA, 0x5397) 8417c6b05d2SAlexander Motin #define HDA_CODEC_VT1708S_6 HDA_CODEC_CONSTRUCT(VIA, 0x6397) 8427c6b05d2SAlexander Motin #define HDA_CODEC_VT1708S_7 HDA_CODEC_CONSTRUCT(VIA, 0x7397) 8437c6b05d2SAlexander Motin #define HDA_CODEC_VT1702_0 HDA_CODEC_CONSTRUCT(VIA, 0x0398) 8447c6b05d2SAlexander Motin #define HDA_CODEC_VT1702_1 HDA_CODEC_CONSTRUCT(VIA, 0x1398) 8457c6b05d2SAlexander Motin #define HDA_CODEC_VT1702_2 HDA_CODEC_CONSTRUCT(VIA, 0x2398) 8467c6b05d2SAlexander Motin #define HDA_CODEC_VT1702_3 HDA_CODEC_CONSTRUCT(VIA, 0x3398) 8477c6b05d2SAlexander Motin #define HDA_CODEC_VT1702_4 HDA_CODEC_CONSTRUCT(VIA, 0x4398) 8487c6b05d2SAlexander Motin #define HDA_CODEC_VT1702_5 HDA_CODEC_CONSTRUCT(VIA, 0x5398) 8497c6b05d2SAlexander Motin #define HDA_CODEC_VT1702_6 HDA_CODEC_CONSTRUCT(VIA, 0x6398) 8507c6b05d2SAlexander Motin #define HDA_CODEC_VT1702_7 HDA_CODEC_CONSTRUCT(VIA, 0x7398) 8517c6b05d2SAlexander Motin #define HDA_CODEC_VT1716S_0 HDA_CODEC_CONSTRUCT(VIA, 0x0433) 8527c6b05d2SAlexander Motin #define HDA_CODEC_VT1716S_1 HDA_CODEC_CONSTRUCT(VIA, 0xa721) 8537c6b05d2SAlexander Motin #define HDA_CODEC_VT1718S_0 HDA_CODEC_CONSTRUCT(VIA, 0x0428) 8547c6b05d2SAlexander Motin #define HDA_CODEC_VT1718S_1 HDA_CODEC_CONSTRUCT(VIA, 0x4428) 8557c6b05d2SAlexander Motin #define HDA_CODEC_VT1802_0 HDA_CODEC_CONSTRUCT(VIA, 0x0446) 8567c6b05d2SAlexander Motin #define HDA_CODEC_VT1802_1 HDA_CODEC_CONSTRUCT(VIA, 0x8446) 8577c6b05d2SAlexander Motin #define HDA_CODEC_VT1812 HDA_CODEC_CONSTRUCT(VIA, 0x0448) 8587c6b05d2SAlexander Motin #define HDA_CODEC_VT1818S HDA_CODEC_CONSTRUCT(VIA, 0x0440) 8597c6b05d2SAlexander Motin #define HDA_CODEC_VT1828S HDA_CODEC_CONSTRUCT(VIA, 0x4441) 8607c6b05d2SAlexander Motin #define HDA_CODEC_VT2002P_0 HDA_CODEC_CONSTRUCT(VIA, 0x0438) 8617c6b05d2SAlexander Motin #define HDA_CODEC_VT2002P_1 HDA_CODEC_CONSTRUCT(VIA, 0x4438) 8627c6b05d2SAlexander Motin #define HDA_CODEC_VT2020 HDA_CODEC_CONSTRUCT(VIA, 0x0441) 8637c6b05d2SAlexander Motin #define HDA_CODEC_VTXXXX HDA_CODEC_CONSTRUCT(VIA, 0xffff) 8647c6b05d2SAlexander Motin 8652a31a06bSAlexander Motin /* VMware */ 8662a31a06bSAlexander Motin #define HDA_CODEC_VMWARE HDA_CODEC_CONSTRUCT(VMWARE, 0x1975) 8672a31a06bSAlexander Motin #define HDA_CODEC_VMWAREXXXX HDA_CODEC_CONSTRUCT(VMWARE, 0xffff) 8682a31a06bSAlexander Motin 8697c6b05d2SAlexander Motin /* ATI */ 8707c6b05d2SAlexander Motin #define HDA_CODEC_ATIRS600_1 HDA_CODEC_CONSTRUCT(ATI, 0x793c) 8717c6b05d2SAlexander Motin #define HDA_CODEC_ATIRS600_2 HDA_CODEC_CONSTRUCT(ATI, 0x7919) 8727c6b05d2SAlexander Motin #define HDA_CODEC_ATIRS690 HDA_CODEC_CONSTRUCT(ATI, 0x791a) 8737c6b05d2SAlexander Motin #define HDA_CODEC_ATIR6XX HDA_CODEC_CONSTRUCT(ATI, 0xaa01) 8747c6b05d2SAlexander Motin #define HDA_CODEC_ATIXXXX HDA_CODEC_CONSTRUCT(ATI, 0xffff) 8757c6b05d2SAlexander Motin 8767c6b05d2SAlexander Motin /* NVIDIA */ 8777c6b05d2SAlexander Motin #define HDA_CODEC_NVIDIAMCP78 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0002) 8785409d3eeSAlexander Motin #define HDA_CODEC_NVIDIAMCP78_2 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0003) 8795409d3eeSAlexander Motin #define HDA_CODEC_NVIDIAMCP78_3 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0005) 8805409d3eeSAlexander Motin #define HDA_CODEC_NVIDIAMCP78_4 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0006) 8817c6b05d2SAlexander Motin #define HDA_CODEC_NVIDIAMCP7A HDA_CODEC_CONSTRUCT(NVIDIA, 0x0007) 8827c6b05d2SAlexander Motin #define HDA_CODEC_NVIDIAGT220 HDA_CODEC_CONSTRUCT(NVIDIA, 0x000a) 8837c6b05d2SAlexander Motin #define HDA_CODEC_NVIDIAGT21X HDA_CODEC_CONSTRUCT(NVIDIA, 0x000b) 8847c6b05d2SAlexander Motin #define HDA_CODEC_NVIDIAMCP89 HDA_CODEC_CONSTRUCT(NVIDIA, 0x000c) 8857c6b05d2SAlexander Motin #define HDA_CODEC_NVIDIAGT240 HDA_CODEC_CONSTRUCT(NVIDIA, 0x000d) 886dec3a11bSEitan Adler #define HDA_CODEC_NVIDIAGTS450 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0011) 887bff51380SEitan Adler #define HDA_CODEC_NVIDIAGT440 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0014) 888dec3a11bSEitan Adler #define HDA_CODEC_NVIDIAGTX550 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0015) 889dec3a11bSEitan Adler #define HDA_CODEC_NVIDIAGTX570 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0018) 890bea8daa3SMichal Meloun #define HDA_CODEC_NVIDIATEGRA30 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0020) 891bea8daa3SMichal Meloun #define HDA_CODEC_NVIDIATEGRA114 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0022) 892bea8daa3SMichal Meloun #define HDA_CODEC_NVIDIATEGRA124 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0028) 893bea8daa3SMichal Meloun #define HDA_CODEC_NVIDIATEGRA210 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0029) 8947c6b05d2SAlexander Motin #define HDA_CODEC_NVIDIAMCP67 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0067) 895d643e823SJani Salonen #define HDA_CODEC_NVIDIAGM204 HDA_CODEC_CONSTRUCT(NVIDIA, 0x0071) 8967c6b05d2SAlexander Motin #define HDA_CODEC_NVIDIAMCP73 HDA_CODEC_CONSTRUCT(NVIDIA, 0x8001) 8977c6b05d2SAlexander Motin #define HDA_CODEC_NVIDIAXXXX HDA_CODEC_CONSTRUCT(NVIDIA, 0xffff) 8987c6b05d2SAlexander Motin 8995409d3eeSAlexander Motin /* Chrontel */ 9005409d3eeSAlexander Motin #define CHRONTEL_VENDORID 0x17e8 9015409d3eeSAlexander Motin #define HDA_CODEC_CHXXXX HDA_CODEC_CONSTRUCT(CHRONTEL, 0xffff) 9025409d3eeSAlexander Motin 9037c6b05d2SAlexander Motin /* INTEL */ 9047c6b05d2SAlexander Motin #define HDA_CODEC_INTELIP HDA_CODEC_CONSTRUCT(INTEL, 0x0054) 905a6c2525cSScott Long #define HDA_CODEC_INTELGMLK HDA_CODEC_CONSTRUCT(INTEL, 0x2800) 9067c6b05d2SAlexander Motin #define HDA_CODEC_INTELBL HDA_CODEC_CONSTRUCT(INTEL, 0x2801) 9077c6b05d2SAlexander Motin #define HDA_CODEC_INTELCA HDA_CODEC_CONSTRUCT(INTEL, 0x2802) 9087c6b05d2SAlexander Motin #define HDA_CODEC_INTELEL HDA_CODEC_CONSTRUCT(INTEL, 0x2803) 9097c6b05d2SAlexander Motin #define HDA_CODEC_INTELIP2 HDA_CODEC_CONSTRUCT(INTEL, 0x2804) 9107c6b05d2SAlexander Motin #define HDA_CODEC_INTELCPT HDA_CODEC_CONSTRUCT(INTEL, 0x2805) 9117c6b05d2SAlexander Motin #define HDA_CODEC_INTELPPT HDA_CODEC_CONSTRUCT(INTEL, 0x2806) 912c9b3a5a0SAlexander Motin #define HDA_CODEC_INTELHSW HDA_CODEC_CONSTRUCT(INTEL, 0x2807) 913420827daSRui Paulo #define HDA_CODEC_INTELBDW HDA_CODEC_CONSTRUCT(INTEL, 0x2808) 9142b064d46SAlexander Motin #define HDA_CODEC_INTELSKLK HDA_CODEC_CONSTRUCT(INTEL, 0x2809) 915a6c2525cSScott Long #define HDA_CODEC_INTELBXTN HDA_CODEC_CONSTRUCT(INTEL, 0x280a) 9162b064d46SAlexander Motin #define HDA_CODEC_INTELKBLK HDA_CODEC_CONSTRUCT(INTEL, 0x280b) 917a6c2525cSScott Long #define HDA_CODEC_INTELCNLK HDA_CODEC_CONSTRUCT(INTEL, 0x280c) 918a6c2525cSScott Long #define HDA_CODEC_INTELGMLK1 HDA_CODEC_CONSTRUCT(INTEL, 0x280d) 919a6c2525cSScott Long #define HDA_CODEC_INTELICLK HDA_CODEC_CONSTRUCT(INTEL, 0x280f) 92035228417SScott Long #define HDA_CODEC_INTELTGLK HDA_CODEC_CONSTRUCT(INTEL, 0x2812) 921fb1028dcSAdam Retter #define HDA_CODEC_INTELTGLKH HDA_CODEC_CONSTRUCT(INTEL, 0x2814) 922dc238358SAlexander Motin #define HDA_CODEC_INTELALLK HDA_CODEC_CONSTRUCT(INTEL, 0x2815) 923fc68af79SAlexander Motin #define HDA_CODEC_INTELJLK HDA_CODEC_CONSTRUCT(INTEL, 0x281a) 924fc68af79SAlexander Motin #define HDA_CODEC_INTELELLK HDA_CODEC_CONSTRUCT(INTEL, 0x281b) 925fc68af79SAlexander Motin #define HDA_CODEC_INTELCT HDA_CODEC_CONSTRUCT(INTEL, 0x2880) 926fc68af79SAlexander Motin #define HDA_CODEC_INTELVV2 HDA_CODEC_CONSTRUCT(INTEL, 0x2882) 927fc68af79SAlexander Motin #define HDA_CODEC_INTELBR HDA_CODEC_CONSTRUCT(INTEL, 0x2883) 9287c6b05d2SAlexander Motin #define HDA_CODEC_INTELCL HDA_CODEC_CONSTRUCT(INTEL, 0x29fb) 9297c6b05d2SAlexander Motin #define HDA_CODEC_INTELXXXX HDA_CODEC_CONSTRUCT(INTEL, 0xffff) 9307c6b05d2SAlexander Motin 9311f0387f7SAriff Abdullah /**************************************************************************** 9321f0387f7SAriff Abdullah * Helper Macros 9331f0387f7SAriff Abdullah ****************************************************************************/ 9341f0387f7SAriff Abdullah 9357c6b05d2SAlexander Motin #define HDA_DMA_ALIGNMENT 128 93666126826SAlexander Motin 93766126826SAlexander Motin #define HDA_BDL_MIN 2 93866126826SAlexander Motin #define HDA_BDL_MAX 256 93966126826SAlexander Motin #define HDA_BDL_DEFAULT HDA_BDL_MIN 94066126826SAlexander Motin 94166126826SAlexander Motin #define HDA_BLK_MIN HDA_DMA_ALIGNMENT 94266126826SAlexander Motin #define HDA_BLK_ALIGN (~(HDA_BLK_MIN - 1)) 94366126826SAlexander Motin 94466126826SAlexander Motin #define HDA_BUFSZ_MIN (HDA_BDL_MIN * HDA_BLK_MIN) 94566126826SAlexander Motin #define HDA_BUFSZ_MAX 262144 94666126826SAlexander Motin #define HDA_BUFSZ_DEFAULT 65536 94766126826SAlexander Motin 9487c6b05d2SAlexander Motin #define HDA_GPIO_MAX 8 9497c6b05d2SAlexander Motin 9507c6b05d2SAlexander Motin #define HDA_DEV_MATCH(fl, v) ((fl) == (v) || \ 9517c6b05d2SAlexander Motin (fl) == 0xffffffff || \ 9527c6b05d2SAlexander Motin (((fl) & 0xffff0000) == 0xffff0000 && \ 9537c6b05d2SAlexander Motin ((fl) & 0x0000ffff) == ((v) & 0x0000ffff)) || \ 9547c6b05d2SAlexander Motin (((fl) & 0x0000ffff) == 0x0000ffff && \ 9557c6b05d2SAlexander Motin ((fl) & 0xffff0000) == ((v) & 0xffff0000))) 9567c6b05d2SAlexander Motin #define HDA_MATCH_ALL 0xffffffff 9577c6b05d2SAlexander Motin #define HDA_INVALID 0xffffffff 9587c6b05d2SAlexander Motin 9597c6b05d2SAlexander Motin #define HDA_BOOTVERBOSE(stmt) do { \ 9607c6b05d2SAlexander Motin if (bootverbose != 0 || snd_verbose > 3) { \ 9617c6b05d2SAlexander Motin stmt \ 9627c6b05d2SAlexander Motin } \ 9637c6b05d2SAlexander Motin } while (0) 9647c6b05d2SAlexander Motin 9657c6b05d2SAlexander Motin #define HDA_BOOTHVERBOSE(stmt) do { \ 9667c6b05d2SAlexander Motin if (snd_verbose > 3) { \ 9677c6b05d2SAlexander Motin stmt \ 9687c6b05d2SAlexander Motin } \ 9697c6b05d2SAlexander Motin } while (0) 9707c6b05d2SAlexander Motin 9717c6b05d2SAlexander Motin #define hda_command(dev, verb) \ 9727c6b05d2SAlexander Motin HDAC_CODEC_COMMAND(device_get_parent(dev), (dev), (verb)) 9737c6b05d2SAlexander Motin 9747c6b05d2SAlexander Motin typedef int nid_t; 9757c6b05d2SAlexander Motin 9761f0387f7SAriff Abdullah /**************************************************************************** 9771f0387f7SAriff Abdullah * Simplified Accessors for HDA devices 9781f0387f7SAriff Abdullah ****************************************************************************/ 9797c6b05d2SAlexander Motin 9801f0387f7SAriff Abdullah enum hdac_device_ivars { 9817c6b05d2SAlexander Motin HDA_IVAR_CODEC_ID, 9827c6b05d2SAlexander Motin HDA_IVAR_NODE_ID, 9837c6b05d2SAlexander Motin HDA_IVAR_VENDOR_ID, 9847c6b05d2SAlexander Motin HDA_IVAR_DEVICE_ID, 9857c6b05d2SAlexander Motin HDA_IVAR_REVISION_ID, 9867c6b05d2SAlexander Motin HDA_IVAR_STEPPING_ID, 9877c6b05d2SAlexander Motin HDA_IVAR_SUBVENDOR_ID, 9887c6b05d2SAlexander Motin HDA_IVAR_SUBDEVICE_ID, 9897c6b05d2SAlexander Motin HDA_IVAR_SUBSYSTEM_ID, 9907c6b05d2SAlexander Motin HDA_IVAR_NODE_TYPE, 9917c6b05d2SAlexander Motin HDA_IVAR_DMA_NOCACHE, 9924642c8c5SMichal Meloun HDA_IVAR_STRIPES_MASK, 9931f0387f7SAriff Abdullah }; 9941f0387f7SAriff Abdullah 9957c6b05d2SAlexander Motin #define HDA_ACCESSOR(var, ivar, type) \ 9967c6b05d2SAlexander Motin __BUS_ACCESSOR(hda, var, HDA, ivar, type) 9971f0387f7SAriff Abdullah 9987c6b05d2SAlexander Motin HDA_ACCESSOR(codec_id, CODEC_ID, uint8_t); 9997c6b05d2SAlexander Motin HDA_ACCESSOR(node_id, NODE_ID, uint8_t); 10007c6b05d2SAlexander Motin HDA_ACCESSOR(vendor_id, VENDOR_ID, uint16_t); 10017c6b05d2SAlexander Motin HDA_ACCESSOR(device_id, DEVICE_ID, uint16_t); 10027c6b05d2SAlexander Motin HDA_ACCESSOR(revision_id, REVISION_ID, uint8_t); 10037c6b05d2SAlexander Motin HDA_ACCESSOR(stepping_id, STEPPING_ID, uint8_t); 10047c6b05d2SAlexander Motin HDA_ACCESSOR(subvendor_id, SUBVENDOR_ID, uint16_t); 10057c6b05d2SAlexander Motin HDA_ACCESSOR(subdevice_id, SUBDEVICE_ID, uint16_t); 1006ed228e40SAlexander Motin HDA_ACCESSOR(subsystem_id, SUBSYSTEM_ID, uint32_t); 10077c6b05d2SAlexander Motin HDA_ACCESSOR(node_type, NODE_TYPE, uint8_t); 10087c6b05d2SAlexander Motin HDA_ACCESSOR(dma_nocache, DMA_NOCACHE, uint8_t); 10094642c8c5SMichal Meloun HDA_ACCESSOR(stripes_mask, STRIPES_MASK, uint8_t); 10101f0387f7SAriff Abdullah 10111f0387f7SAriff Abdullah #define PCIS_MULTIMEDIA_HDA 0x03 10121f0387f7SAriff Abdullah 10131f0387f7SAriff Abdullah #endif 1014