coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
chip.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef NORTHBRIDGE_INTEL_SANDYBRIDGE_CHIP_H
4 #define NORTHBRIDGE_INTEL_SANDYBRIDGE_CHIP_H
5 
7 #include <stdbool.h>
8 #include <stdint.h>
9 
10 /*
11  * Digital Port Hotplug Enable:
12  * 0x04 = Enabled, 2ms short pulse
13  * 0x05 = Enabled, 4.5ms short pulse
14  * 0x06 = Enabled, 6ms short pulse
15  * 0x07 = Enabled, 100ms short pulse
16  */
18  u8 gpu_dp_b_hotplug; /* Digital Port B Hotplug Config */
19  u8 gpu_dp_c_hotplug; /* Digital Port C Hotplug Config */
20  u8 gpu_dp_d_hotplug; /* Digital Port D Hotplug Config */
21 
22  enum {
24  PANEL_PORT_DP_A = 1, /* Also known as eDP */
28 
29  u8 gpu_panel_power_cycle_delay; /* T4 time sequence */
30  u16 gpu_panel_power_up_delay; /* T1+T2 time sequence */
31  u16 gpu_panel_power_down_delay; /* T3 time sequence */
32  u16 gpu_panel_power_backlight_on_delay; /* T5 time sequence */
33  u16 gpu_panel_power_backlight_off_delay; /* Tx time sequence */
34 
35  u32 gpu_cpu_backlight; /* CPU Backlight PWM value */
36  u32 gpu_pch_backlight; /* PCH Backlight PWM value */
37 
38  /*
39  * Maximum memory clock.
40  * For example 666 for DDR3-1333, or 800 for DDR3-1600
41  */
43 
45 
46  /* Data for RAM init */
47 
48  /* DIMM SPD address. Use 8bit notation where BIT0 is always zero. */
50 
51  /* PEI data for RAM init and early silicon init */
53 
54  bool ec_present;
56 
57  /*
58  * N mode functionality. Leave this setting at 0.
59  * 0 Auto
60  * 1 1N
61  * 2 2N
62  */
63  enum {
67  } nmode;
68 
69  /*
70  * DDR refresh rate config. JEDEC Standard No.21-C Annex K allows for DIMM SPD data to
71  * specify whether double-rate is required for extended operating temperature range.
72  *
73  * 0 Enable double rate based upon temperature thresholds
74  * 1 Normal rate
75  * 2 Always enable double rate
76  */
77  enum {
82 
83  /*
84  * USB Port Configuration:
85  * [0] = enable
86  * [1] = overcurrent pin
87  * [2] = length
88  *
89  * Ports 0-7 can be mapped to OC0-OC3
90  * Ports 8-13 can be mapped to OC4-OC7
91  *
92  * Port Length
93  * MOBILE:
94  * < 0x050 = Setting 1 (back panel, 1-5in, lowest tx amplitude)
95  * < 0x140 = Setting 2 (back panel, 5-14in, highest tx amplitude)
96  * DESKTOP:
97  * < 0x080 = Setting 1 (front/back panel, <8in, lowest tx amplitude)
98  * < 0x130 = Setting 2 (back panel, 8-13in, higher tx amplitude)
99  * < 0x150 = Setting 3 (back panel, 13-15in, highest tx amplitude)
100  */
102 
103  struct {
104  /* 0: Disable, 1: Enable, 2: Auto, 3: Smart Auto */
105  u8 mode : 2;
106  /* 4 bit mask, 1: switchable, 0: not switchable */
108  /* 0: No xHCI preOS driver, 1: xHCI preOS driver */
110  /* 0: Disable, 1: Enable */
112  } usb3;
113 };
114 
115 #endif /* NORTHBRIDGE_INTEL_SANDYBRIDGE_CHIP_H */
uint32_t u32
Definition: stdint.h:51
uint16_t u16
Definition: stdint.h:48
uint8_t u8
Definition: stdint.h:45
enum northbridge_intel_sandybridge_config::@331 nmode
struct northbridge_intel_sandybridge_config::@333 usb3
struct i915_gpu_controller_info gfx
Definition: chip.h:44
enum northbridge_intel_sandybridge_config::@330 gpu_panel_port_select
enum northbridge_intel_sandybridge_config::@332 ddr_refresh_rate_config