northbridge/intel/sandybridge: Enable x86_64 for mrc.bin
[coreboot2.git] / src / northbridge / intel / sandybridge / chip.h
blob82e58f61869dd3ab6838bbcf8d02988fa0f259a7
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #ifndef NORTHBRIDGE_INTEL_SANDYBRIDGE_CHIP_H
4 #define NORTHBRIDGE_INTEL_SANDYBRIDGE_CHIP_H
6 #include <drivers/intel/gma/i915.h>
7 #include <stdbool.h>
8 #include <stdint.h>
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
17 struct northbridge_intel_sandybridge_config {
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 */
22 enum {
23 PANEL_PORT_LVDS = 0,
24 PANEL_PORT_DP_A = 1, /* Also known as eDP */
25 PANEL_PORT_DP_C = 2,
26 PANEL_PORT_DP_D = 3,
27 } gpu_panel_port_select;
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 */
35 u32 gpu_cpu_backlight; /* CPU Backlight PWM value */
36 u32 gpu_pch_backlight; /* PCH Backlight PWM value */
39 * Maximum memory clock.
40 * For example 666 for DDR3-1333, or 800 for DDR3-1600
42 u16 max_mem_clock_mhz;
44 struct i915_gpu_controller_info gfx;
46 /* Data for RAM init */
48 /* DIMM SPD address. */
49 u8 spd_addresses[4];
51 /* PEI data for RAM init and early silicon init */
52 u8 ts_addresses[4];
54 bool ec_present;
55 bool ddr3lv_support;
58 * N mode functionality. Leave this setting at 0.
59 * 0 Auto
60 * 1 1N
61 * 2 2N
63 enum {
64 DDR_NMODE_AUTO = 0,
65 DDR_NMODE_1N,
66 DDR_NMODE_2N,
67 } nmode;
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.
73 * 0 Enable double rate based upon temperature thresholds
74 * 1 Normal rate
75 * 2 Always enable double rate
77 enum {
78 DDR_REFRESH_RATE_TEMP_THRES = 0,
79 DDR_REFRESH_REATE_NORMAL,
80 DDR_REFRESH_RATE_DOUBLE,
81 } ddr_refresh_rate_config;
84 * USB Port Configuration:
85 * [0] = enable
86 * [1] = overcurrent pin
87 * [2] = length
89 * Ports 0-7 can be mapped to OC0-OC3
90 * Ports 8-13 can be mapped to OC4-OC7
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)
101 u16 usb_port_config[16][3];
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 */
107 u8 hs_port_switch_mask : 4;
108 /* 0: No xHCI preOS driver, 1: xHCI preOS driver */
109 u8 preboot_support : 1;
110 /* 0: Disable, 1: Enable */
111 u8 xhci_streams : 1;
112 } usb3;
115 #endif /* NORTHBRIDGE_INTEL_SANDYBRIDGE_CHIP_H */