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  /* Bits 31:28 - Codec Address */
17  /* Bits 27:20 - NID */
18  /* Bits 19:8 - Verb ID */
19  /* Bits 7:0 - Payload */
20 
21  /* NID 0x01, HDA Codec Subsystem ID Verb Table */
22  AZALIA_SUBVENDOR(0, 0x11790670),
23 
24  /* Pin Widget Verb Table */
25 
26  /* Pin Complex (NID 0x12) DMIC - interior mobile lid */
27  AZALIA_PIN_CFG(0, 0x12, 0xb7a60110),
28 
29  /* Pin Complex (NID 0x14) SPKR-OUT - Internal Speakers */
30  // group 1, cap 0
31  // no connector, no jack detect
32  // speaker out, analog
33  // fixed function, internal, Location N/A
34  AZALIA_PIN_CFG(0, 0x14, 0x90170110),
35 
36  /* Pin Complex (NID 0x17) MONO Out - Disabled */
37  AZALIA_PIN_CFG(0, 0x17, 0x411111f0),
38 
39  /* Pin Complex (NID 0x18) MIC1 PORTB - Disabled */
40  AZALIA_PIN_CFG(0, 0x18, 0x411111f0),
41 
42  /* Pin Complex (NID 0x19) MIC2 - 3.5mm Jack */
43  // group2, cap 0
44  // black, jack detect
45  // Mic in, 3.5mm Jack
46  // connector, External left panel
47  AZALIA_PIN_CFG(0, 0x19, 0x03a11020),
48 
49  /* Pin Complex (NID 0x1A) LINE1 PORTC - Disabled */
50  AZALIA_PIN_CFG(0, 0x1a, 0x411111f0),
51 
52  /* Pin Complex (NID 0x1B) LINE2 - Disabled */
53  AZALIA_PIN_CFG(0, 0x1b, 0x411111f0),
54 
55  /* Pin Complex (NID 0x1D) PCBeep */
56  // eapd low on ex-amp, laptop, custom enable
57  // mute spkr on hpout
58  // pcbeep enable, checksum
59  // no physical, Internal, Location N/A
60  AZALIA_PIN_CFG(0, 0x1d, 0x4015812d),
61 
62  /* Pin Complex (NID 0x1E) SPDIF-OUT - Disabled*/
63  AZALIA_PIN_CFG(0, 0x1e, 0x411111f0),
64 
65  /* Pin Complex (NID 0x21) HP-OUT - 3.5mm Jack*/
66  // group2, cap 1
67  // black, jack detect
68  // HPOut, 3.5mm Jack
69  // connector, left panel
70  AZALIA_PIN_CFG(0, 0x21, 0x03211021),
71 
72  /* Undocumented settings from Realtek (needed for beep_gen) */
73  /* Widget node 0x20 */
74  0x02050010,
75  0x02040c20,
76  0x0205001b,
77  0x0204081b,
78 
79  /* Tuned jack detection */
80  0x02050043,
81  0x0204A614,
82  0x02050047,
83  0x02049470,
84 };
85 
86 const u32 pc_beep_verbs[] = {
87  0x00170500, /* power up everything (codec, dac, adc, mixers) */
88  0x01470740, /* enable speaker out */
89  0x01470c02, /* set speaker EAPD pin */
90  0x0143b01f, /* unmute speaker */
91  0x00c37100, /* unmute mixer nid 0xc input 1 */
92  0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
93 };
94 
#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