intel/skylake: Implement native Cache-as-RAM (CAR)
[coreboot.git] / src / include / device / azalia.h
blob2af4696cd087b8a4b3242f42238a4aafd46bab06
1 /*
2 * This file is part of the coreboot project.
4 * Copyright (C) 2013 Sage Electronic Engineering, LLC
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 #ifndef AZALIA_H_
16 #define AZALIA_H_
19 * The tables found in this file are derived from the Intel High Definition
20 * Audio Specification Revision 1.0a, published 17 June 2010
24 * Page 177: Default Pin Configuration
27 enum AzaliaPinCfgPortConnectivity {
28 AZALIA_PINCFG_PORT_JACK = 0b00,
29 AZALIA_PINCFG_PORT_NC = 0b01,
30 AZALIA_PINCFG_PORT_FIXED = 0b10,
31 AZALIA_PINCFG_PORT_MULTIPLE = 0b11,
34 enum AzaliaPinCfgLocationGross {
35 AZALIA_PINCFG_LOCATION_EXTERNAL = 0x00,
36 AZALIA_PINCFG_LOCATION_INTERNAL = 0x10,
37 AZALIA_PINCFG_LOCATION_EXT_CHASSIS = 0x20,
38 AZALIA_PINCFG_LOCATION_OTHER = 0x30,
41 enum AzaliaPinCfgLocationFine {
42 AZALIA_PINCFG_LOCATION_NOT_APPLICABLE = 0x00,
43 AZALIA_PINCFG_LOCATION_REAR = 0x01,
44 AZALIA_PINCFG_LOCATION_FRONT = 0x02,
45 AZALIA_PINCFG_LOCATION_LEFT = 0x03,
46 AZALIA_PINCFG_LOCATION_RIGHT = 0x04,
47 AZALIA_PINCFG_LOCATION_TOP = 0x05,
48 AZALIA_PINCFG_LOCATION_BOTTOM = 0x06,
51 enum AzaliaPinCfgLocationSpecial {
52 AZALIA_PINCFG_LOCATION_REAR_PANEL = 0x07,
53 AZALIA_PINCFG_LOCATION_DRIVE_BAY = 0x08,
54 AZALIA_PINCFG_LOCATION_RISER_CARD = 0x17,
55 AZALIA_PINCFG_LOCATION_DIGITAL_DISPLAY = 0x18,
56 AZALIA_PINCFG_LOCATION_ATAPI = 0x19,
57 AZALIA_PINCFG_LOCATION_INSIDE_LID = 0x37,
58 AZALIA_PINCFG_LOCATION_OUTSIDE_LID = 0x38,
61 enum AzaliaPinCfgDefaultDevice {
62 AZALIA_PINCFG_DEVICE_LINEOUT = 0x0,
63 AZALIA_PINCFG_DEVICE_SPEAKER = 0x1,
64 AZALIA_PINCFG_DEVICE_HP_OUT = 0x2,
65 AZALIA_PINCFG_DEVICE_CD = 0x3,
66 AZALIA_PINCFG_DEVICE_SPDIF_OUT = 0x4,
67 AZALIA_PINCFG_DEVICE_DIGITAL_OUT = 0x5,
68 AZALIA_PINCFG_DEVICE_MODEM_LINE = 0x6,
69 AZALIA_PINCFG_DEVICE_MODEM_HANDSET = 0x7,
70 AZALIA_PINCFG_DEVICE_LINEIN = 0x8,
71 AZALIA_PINCFG_DEVICE_AUX = 0x9,
72 AZALIA_PINCFG_DEVICE_MICROPHONE = 0xA,
73 AZALIA_PINCFG_DEVICE_TELEPHONY = 0xB,
74 AZALIA_PINCFG_DEVICE_SPDIF_IN = 0xC,
75 AZALIA_PINCFG_DEVICE_DIGITAL_IN = 0xD,
76 AZALIA_PINCFG_DEVICE_OTHER = 0xF,
79 enum AzaliaPinCfgConnectionType {
80 AZALIA_PINCFG_CONN_UNKNOWN = 0x0,
81 AZALIA_PINCFG_CONN_MINI_HEADPHONE_JACK = 0x1,
82 AZALIA_PINCFG_CONN_STEREO_PHONE_JACK = 0x2,
83 AZALIA_PINCFG_CONN_INTERNAL_ATAPI = 0x3,
84 AZALIA_PINCFG_CONN_RCA = 0x4,
85 AZALIA_PINCFG_CONN_OPTICAL = 0x5,
86 AZALIA_PINCFG_CONN_OTHER_DIGITAL = 0x6,
87 AZALIA_PINCFG_CONN_OTHER_ANALOG = 0x7,
88 AZALIA_PINCFG_CONN_DIN_PLUG = 0x8,
89 AZALIA_PINCFG_CONN_XLR = 0x9,
90 AZALIA_PINCFG_CONN_MODEM_RJ11 = 0xA,
91 AZALIA_PINCFG_CONN_COMBINATION = 0xB,
92 AZALIA_PINCFG_CONN_OTHER = 0xF,
95 enum AzaliaPinCfgColor {
96 AZALIA_PINCFG_COLOR_UNKNOWN = 0x0,
97 AZALIA_PINCFG_COLOR_BLACK = 0x1,
98 AZALIA_PINCFG_COLOR_GREY = 0x2,
99 AZALIA_PINCFG_COLOR_BLUE = 0x3,
100 AZALIA_PINCFG_COLOR_GREEN = 0x4,
101 AZALIA_PINCFG_COLOR_RED = 0x5,
102 AZALIA_PINCFG_COLOR_ORANGE = 0x6,
103 AZALIA_PINCFG_COLOR_YELLOW = 0x7,
104 AZALIA_PINCFG_COLOR_PURPLE = 0x8,
105 AZALIA_PINCFG_COLOR_PINK = 0x9,
106 AZALIA_PINCFG_COLOR_WHITE = 0xE,
107 AZALIA_PINCFG_COLOR_OTHER = 0xF,
110 enum AzaliaPinCfgMisc {
111 AZALIA_PINCFG_MISC_IGNORE_PRESENCE = 0x1,
114 union AzaliaPinConfiguration {
115 unsigned int value;
116 struct __attribute__((aligned(4),packed)) {
117 enum AzaliaPinCfgPortConnectivity port:2;
118 unsigned char location:6;
119 enum AzaliaPinCfgDefaultDevice device:4;
120 enum AzaliaPinCfgConnectionType connection:4;
121 enum AzaliaPinCfgColor color:4;
122 unsigned char misc:4;
123 unsigned char association:4;
124 unsigned char sequence:4;
128 #endif /* AZALIA_H_ */