blob: 30c267551386c65ff16f9b49f6dab99338cd5dd9 [file] [log] [blame]
Angel Pons182dbde2020-04-02 23:49:05 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Stefan Reinauer8e073822012-04-04 00:07:22 +02002
3#ifndef SOUTHBRIDGE_INTEL_BD82X6X_CHIP_H
4#define SOUTHBRIDGE_INTEL_BD82X6X_CHIP_H
5
Arthur Heymansebf201b2019-05-28 13:51:36 +02006#include <southbridge/intel/common/spi.h>
Angel Ponsaf4bd562021-12-28 13:05:56 +01007#include <types.h>
Elyes HAOUASc4e41932018-11-01 11:29:50 +01008
Stefan Reinauer8e073822012-04-04 00:07:22 +02009struct southbridge_intel_bd82x6x_config {
10 /**
Stefan Reinauer8e073822012-04-04 00:07:22 +020011 * GPI Routing configuration
12 *
13 * Only the lower two bits have a meaning:
14 * 00: No effect
15 * 01: SMI# (if corresponding ALT_GPI_SMI_EN bit is also set)
16 * 10: SCI (if corresponding GPIO_EN bit is also set)
17 * 11: reserved
18 */
19 uint8_t gpi0_routing;
20 uint8_t gpi1_routing;
21 uint8_t gpi2_routing;
22 uint8_t gpi3_routing;
23 uint8_t gpi4_routing;
24 uint8_t gpi5_routing;
25 uint8_t gpi6_routing;
26 uint8_t gpi7_routing;
27 uint8_t gpi8_routing;
28 uint8_t gpi9_routing;
29 uint8_t gpi10_routing;
30 uint8_t gpi11_routing;
31 uint8_t gpi12_routing;
32 uint8_t gpi13_routing;
33 uint8_t gpi14_routing;
34 uint8_t gpi15_routing;
35
36 uint32_t gpe0_en;
37 uint16_t alt_gp_smi_en;
38
39 /* IDE configuration */
Stefan Reinauer8e073822012-04-04 00:07:22 +020040 uint8_t sata_port_map;
Duncan Lauriecfb64bd2012-07-16 16:16:31 -070041 uint32_t sata_port0_gen3_tx;
42 uint32_t sata_port1_gen3_tx;
Stefan Reinauer8e073822012-04-04 00:07:22 +020043
Shawn Nematbakhshc9fc0292013-03-14 10:44:13 -070044 /**
45 * SATA Interface Speed Support Configuration
46 *
47 * Only the lower two bits have a meaning:
48 * 00 - No effect (leave as chip default)
49 * 01 - 1.5 Gb/s maximum speed
50 * 10 - 3.0 Gb/s maximum speed
51 * 11 - 6.0 Gb/s maximum speed
52 */
53 uint8_t sata_interface_speed_support;
54
Stefan Reinauer8e073822012-04-04 00:07:22 +020055 uint32_t gen1_dec;
56 uint32_t gen2_dec;
57 uint32_t gen3_dec;
58 uint32_t gen4_dec;
Duncan Laurieb9fe01c2012-04-27 10:30:51 -070059
60 /* Enable linear PCIe Root Port function numbers starting at zero */
Angel Ponsaf4bd562021-12-28 13:05:56 +010061 bool pcie_port_coalesce;
Marc Jones4adc8cd2012-10-31 16:24:37 -060062
63 /* Override PCIe ASPM */
Angel Pons02396842021-06-05 12:34:23 +020064 uint8_t pcie_aspm[8];
Vladimir Serbinenko5b044ae2014-10-25 15:20:55 +020065
Vladimir Serbinenko5b044ae2014-10-25 15:20:55 +020066 int docking_supported;
Vladimir Serbinenko36fa5b82014-10-28 23:43:20 +010067
68 uint8_t pcie_hotplug_map[8];
Vladimir Serbinenkob26156e2015-01-31 17:45:50 +010069
70 /* Ports which can be routed to either EHCI or xHCI. */
71 uint32_t xhci_switchable_ports;
72 /* Ports which support SuperSpeed (USB 3.0 additional lanes). */
73 uint32_t superspeed_capable_ports;
Nicolas Reinecke59aef5c2015-04-16 23:25:00 +020074 /* Overcurrent Mapping for USB 3.0 Ports */
75 uint32_t xhci_overcurrent_mapping;
Nico Huber7b2f9f62015-10-01 19:00:51 +020076
77 uint32_t spi_uvscc;
78 uint32_t spi_lvscc;
Arthur Heymansebf201b2019-05-28 13:51:36 +020079 struct intel_swseq_spi_config spi;
Stefan Reinauer8e073822012-04-04 00:07:22 +020080};
81
Stefan Reinauer8e073822012-04-04 00:07:22 +020082#endif /* SOUTHBRIDGE_INTEL_BD82X6X_CHIP_H */