xref: /freebsd/sys/dev/sound/pci/hda/hdac.h (revision 84e73074412719ec83143fb514625c09d27f468c)
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