coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
hda_verb.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 /*
4  * Parrot audio ports:
5  * ALC269:
6  * out:
7  * Internal Speaker: PORT D (0x14)
8  * Headphone: PORT A - (0x21) (SenseA)
9  *
10  * in:
11  * Mic2: PORT F (0x19) (SenseB)
12  * Line2 (internal Mic): PORT E (0x1B)
13  * PCBeep
14  *
15  * HDMI PatherPoint
16  */
17 
18 #include <device/azalia_device.h>
19 
20 const u32 cim_verb_data[] = {
21  /* coreboot specific header */
22  0x10ec0269, // Codec Vendor / Device ID: Realtek ALC269
23  0x10250742, // Subsystem ID
24  0x0000000E, // Number of jacks (NID entries)
25 
26  /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x10250742 */
27  AZALIA_SUBVENDOR(0, 0x10250742),
28 
29  /* Pin Widget Verb Table */
30 
31  /* Pin Complex (NID 0x12) DMIC */
32  AZALIA_PIN_CFG(0, 0x12, 0x411111f0),
33 
34  /* Pin Complex (NID 0x14) SPKR-OUT PORTD */
35  // group 1, front left/right
36  // no connector, no jack detect
37  // speaker out, analog
38  // fixed function, internal
39  AZALIA_PIN_CFG(0, 0x14, 0x90170110),
40 
41  /* Pin Complex (NID 0x17) */
42  AZALIA_PIN_CFG(0, 0x17, 0x411111f0),
43 
44  /* Pin Complex (NID 0x18) MIC1 PORTB */
45  AZALIA_PIN_CFG(0, 0x18, 0x411111f0),
46 
47  /* Pin Complex (NID 0x19) MIC2 PORTF */
48  // group 2, cap 1
49  // black, jack detect
50  // mic in, analog
51  // connector, right panel
52  AZALIA_PIN_CFG(0, 0x19, 0x04a71021),
53 
54  /* Pin Complex (NID 0x1A) LINE1 PORTC */
55  AZALIA_PIN_CFG(0, 0x1a, 0x411111f0),
56 
57  /* Pin Complex (NID 0x1B) LINE2 PORTE */
58  // group 2, cap 0
59  // no connector, no jack detect
60  // mic in, analog
61  // fixed function, internal
62  AZALIA_PIN_CFG(0, 0x1b, 0x90a70120),
63 
64  /* Pin Complex (NID 0x1d) PCBeep */
65  // eapd low on ex-amp, laptop, custom enable
66  // mute spkr on hpout
67  // pcbeep enable, checksum
68  // no physical, internal
69  AZALIA_PIN_CFG(0, 0x1d, 0x4015812d),
70 
71  /* Pin Complex (NID 0x1E) SPDIF-OUT */
72  AZALIA_PIN_CFG(0, 0x1e, 0x411111f0),
73 
74  /* Pin Complex (NID 0x21) HPOUT PORTA? */
75  // group1,
76  // black, jack detect
77  // HPOut, 1/8 stereo
78  // connector, right panel
79  AZALIA_PIN_CFG(0, 0x21, 0x0421101f),
80 
81  /* Undocumented speaker output volume settings from Compal and Realtek */
82  /* Widget node 0x20 */
83  0x02050011,
84  0x02040710,
85  0x02050012,
86  0x02041901,
87 
88  0x02050002,
89  0x0204AAB8,
90  0x0205000D,
91  0x02044440,
92 
93  0x02050008,
94  0x02040300,
95  0x02050017,
96  0x020400AF,
97 
98  /* --- Next Codec --- */
99 
100  /* coreboot specific header */
101  0x80862806, // Codec Vendor / Device ID: Intel PantherPoint HDMI
102  0x80860101, // Subsystem ID
103  0x00000004, // Number of jacks
104 
105  /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x80860101 */
106  AZALIA_SUBVENDOR(3, 0x80860101),
107 
108  /* Pin Complex (NID 0x05) Digital Out at Int HDMI */
109  AZALIA_PIN_CFG(3, 0x05, 0x18560010),
110 
111  /* Pin Complex (NID 0x06) Digital Out at Int HDMI */
112  AZALIA_PIN_CFG(3, 0x06, 0x18560020),
113 
114  /* Pin Complex (NID 0x07) Digital Out at Int HDMI */
115  AZALIA_PIN_CFG(3, 0x07, 0x18560030),
116 };
117 
118 const u32 pc_beep_verbs[] = {
119  0x00170500, /* power up everything (codec, dac, adc, mixers) */
120  0x01470740, /* enable speaker out */
121  0x01470c02, /* set speaker EAPD pin */
122  0x0143b01f, /* unmute speaker */
123  0x00c37100, /* unmute mixer nid 0xc input 1 */
124  0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
125 };
126 
#define AZALIA_SUBVENDOR(codec, val)
#define AZALIA_PIN_CFG(codec, pin, val)
const u32 cim_verb_data[]
Definition: hda_verb.c:5
const u32 pc_beep_verbs[]
Definition: hda_verb.c:37
AZALIA_ARRAY_SIZES
Definition: hda_verb.c:39
uint32_t u32
Definition: stdint.h:51