blob: 274e549e2dce93290b72f16c6e48eecc254e6269 [file] [log] [blame]
Angel Pons4b429832020-04-02 23:48:50 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Aaron Durbin76c37002012-10-30 09:03:43 -05002
Iru Caid7ee9dd2016-02-24 15:03:58 +08003#ifndef NORTHBRIDGE_INTEL_HASWELL_CHIP_H
4#define NORTHBRIDGE_INTEL_HASWELL_CHIP_H
5
Michael Niewöhner97e21d32020-12-28 00:49:33 +01006#include <drivers/intel/gma/gma.h>
Angel Ponsae999502020-11-05 01:58:34 +01007#include <types.h>
8
9struct peg_config {
10 bool is_onboard;
11 uint8_t power_limit_scale;
12 uint8_t power_limit_value;
13 uint16_t phys_slot_number;
14};
Vladimir Serbinenkodd2bc3f2014-10-31 09:16:31 +010015
Aaron Durbin76c37002012-10-30 09:03:43 -050016/*
17 * Digital Port Hotplug Enable:
Angel Pons1db5bc72020-01-15 00:49:03 +010018 * 0x04 = Enabled, 2ms short pulse
Aaron Durbin76c37002012-10-30 09:03:43 -050019 * 0x05 = Enabled, 4.5ms short pulse
Angel Pons1db5bc72020-01-15 00:49:03 +010020 * 0x06 = Enabled, 6ms short pulse
Aaron Durbin76c37002012-10-30 09:03:43 -050021 * 0x07 = Enabled, 100ms short pulse
22 */
23struct northbridge_intel_haswell_config {
24 u8 gpu_dp_b_hotplug; /* Digital Port B Hotplug Config */
25 u8 gpu_dp_c_hotplug; /* Digital Port C Hotplug Config */
26 u8 gpu_dp_d_hotplug; /* Digital Port D Hotplug Config */
27
Michael Niewöhner97e21d32020-12-28 00:49:33 +010028 /* IGD panel configuration */
29 struct i915_gpu_panel_config panel_cfg;
Vladimir Serbinenkodd2bc3f2014-10-31 09:16:31 +010030
Angel Ponsae999502020-11-05 01:58:34 +010031 struct peg_config peg_cfg[3];
32
Tristan Corrick1a73eb02018-10-31 02:27:29 +130033 bool gpu_ddi_e_connected;
34
Angel Pons8aab7872020-07-04 01:24:59 +020035 bool ec_present;
36
37 bool dq_pins_interleaved;
38
39 bool usb_xhci_on_resume;
40
Vladimir Serbinenkodd2bc3f2014-10-31 09:16:31 +010041 struct i915_gpu_controller_info gfx;
Aaron Durbin76c37002012-10-30 09:03:43 -050042};
43
Iru Caid7ee9dd2016-02-24 15:03:58 +080044#endif /* NORTHBRIDGE_INTEL_HASWELL_CHIP_H */