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 #include <device/azalia_device.h>
4 
5 const u32 cim_verb_data[] = {
6  /* coreboot specific header */
7  0x10ec0283, // Codec Vendor / Device ID: Realtek ALC283
8  0x10ec0283, // Subsystem ID
9  0x0000000e, // Number of jacks (NID entries)
10 
11  0x0017ff00, // Function Reset
12  0x0017ff00, // Double Function Reset
13  0x000F0000, // Pad - get vendor id
14  0x000F0002, // Pad - get revision id
15 
16  /* NID 0x01, HDA Codec Subsystem ID Verb Table */
17  AZALIA_SUBVENDOR(0, 0x11790670),
18 
19  /* Pin Widget Verb Table */
20 
21  /* Pin Complex (NID 0x12) DMIC - Disabled */
22  AZALIA_PIN_CFG(0, 0x12, 0x411111f0),
23 
24  /* Pin Complex (NID 0x14) SPKR-OUT PORTD - Disabled */
25  AZALIA_PIN_CFG(0, 0x14, 0x411111f0),
26 
27  /* Pin Complex (NID 0x17) MONO Out - Disabled */
28  AZALIA_PIN_CFG(0, 0x17, 0x411111f0),
29 
30  /* Pin Complex (NID 0x18) MIC1 PORTB - Disabled */
31  AZALIA_PIN_CFG(0, 0x18, 0x411111f0),
32 
33  /* Pin Complex (NID 0x19) MIC2 PORTF */
34  // group 1, cap 1
35  // black, jack detect
36  // mic in, analog
37  // connector, left panel
38  AZALIA_PIN_CFG(0, 0x19, 0x03a71011),
39 
40  /* Pin Complex (NID 0x1A) LINE1 PORTC - Disabled */
41  AZALIA_PIN_CFG(0, 0x1A, 0x411111f0),
42 
43  /* Pin Complex (NID 0x1B) LINE2 PORTE - Disabled */
44  AZALIA_PIN_CFG(0, 0x1B, 0x411111f0),
45 
46  /* Pin Complex (NID 0x1D) PCBeep */
47  // eapd low on ex-amp, laptop, custom enable
48  // mute spkr on hpout
49  // pcbeep enable, checksum
50  // no physical, internal
51  AZALIA_PIN_CFG(0, 0x1D, 0x4015812d),
52 
53  /* Pin Complex (NID 0x1E) SPDIF-OUT - Disabled */
54  AZALIA_PIN_CFG(0, 0x1E, 0x411111f0),
55 
56  /* Pin Complex (NID 0x21) HPOUT PORT-I */
57  // group1,
58  // black, jack detect
59  // HPOut, 1/8 stereo
60  // connector, left panel
61  AZALIA_PIN_CFG(0, 0x21, 0x0321101f),
62 
63  /* Undocumented settings from Realtek (needed for beep_gen) */
64  /* Widget node 0x20 */
65  0x02050010,
66  0x02040c20,
67  0x0205001b,
68  0x0204081b,
69 
70  /* Tuned jack detection */
71  0x02050043,
72  0x0204A614,
73  0x02050047,
74  0x02049470,
75 };
76 
77 const u32 pc_beep_verbs[] = {
78  0x00170500, /* power up everything (codec, dac, adc, mixers) */
79  0x01470740, /* enable speaker out */
80  0x01470c02, /* set speaker EAPD pin */
81  0x0143b01f, /* unmute speaker */
82  0x00c37100, /* unmute mixer nid 0xc input 1 */
83  0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
84 };
85 
#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