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 - internal mic */
22  AZALIA_PIN_CFG(0, 0x12, 0xb7a60110),
23 
24  /* Pin Complex (NID 0x14) SPKR-OUT PORTD - Disabled */
25  AZALIA_PIN_CFG(0, 0x14, 0x401111f0),
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 - 3.5mm Jack*/
34  AZALIA_PIN_CFG(0, 0x19, 0x03a11020),
35 
36  /* Pin Complex (NID 0x1A) LINE1 PORTC - Disabled */
37  AZALIA_PIN_CFG(0, 0x1a, 0x411111f0),
38 
39  /* Pin Complex (NID 0x1B) LINE2 PORTE - Disabled */
40  AZALIA_PIN_CFG(0, 0x1b, 0x411111f0),
41 
42  /* Pin Complex (NID 0x1d) PCBeep */
43  // eapd low on ex-amp, laptop, custom enable
44  // mute spkr on hpout
45  // pcbeep enable, checksum
46  // no physical, internal
47  AZALIA_PIN_CFG(0, 0x1d, 0x4015812d),
48 
49  /* Pin Complex (NID 0x1E) SPDIF-OUT - Disabled */
50  AZALIA_PIN_CFG(0, 0x1e, 0x411111f0),
51 
52  /* Pin Complex (NID 0x21) HPOUT PORT-I - Disabled */
53  AZALIA_PIN_CFG(0, 0x21, 0x411111f0),
54 
55  /* Undocumented settings from Realtek (needed for beep_gen) */
56  /* Widget node 0x20 */
57  0x02050010,
58  0x02040c20,
59  0x0205001b,
60  0x0204081b,
61  /* Undocumented settings for SENSE_B pin jack detection */
62  0x02050006,
63  0x02042100,
64  0x0205001b,
65  0x0204001b,
66  0x02050045,
67  0x0204b029,
68  0x02050046,
69  0x02040004,
70 
71  /* Tuned jack detection */
72  0x02050043,
73  0x0204A614,
74  0x02050047,
75  0x02049470,
76 };
77 
78 const u32 pc_beep_verbs[] = {
79  0x00170500, /* power up everything (codec, dac, adc, mixers) */
80  0x01470740, /* enable speaker out */
81  0x01470c02, /* set speaker EAPD pin */
82  0x0143b01f, /* unmute speaker */
83  0x00c37100, /* unmute mixer nid 0xc input 1 */
84  0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
85 };
86 
#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