blob: 12bb401f7763c31178b9e2b3f6a96608c31ea28c [file] [log] [blame]
Angel Pons182dbde2020-04-02 23:49:05 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Aaron Durbin76c37002012-10-30 09:03:43 -05002
3#ifndef SOUTHBRIDGE_INTEL_LYNXPOINT_CHIP_H
4#define SOUTHBRIDGE_INTEL_LYNXPOINT_CHIP_H
5
Elyes HAOUASc4e41932018-11-01 11:29:50 +01006#include <stdint.h>
7
Aaron Durbin76c37002012-10-30 09:03:43 -05008struct southbridge_intel_lynxpoint_config {
9 /**
Duncan Laurie467f31d2013-03-08 17:00:37 -080010 * GPI Routing configuration for LynxPoint-H
Aaron Durbin76c37002012-10-30 09:03:43 -050011 *
12 * Only the lower two bits have a meaning:
13 * 00: No effect
14 * 01: SMI# (if corresponding ALT_GPI_SMI_EN bit is also set)
15 * 10: SCI (if corresponding GPIO_EN bit is also set)
16 * 11: reserved
17 */
18 uint8_t gpi0_routing;
19 uint8_t gpi1_routing;
20 uint8_t gpi2_routing;
21 uint8_t gpi3_routing;
22 uint8_t gpi4_routing;
23 uint8_t gpi5_routing;
24 uint8_t gpi6_routing;
25 uint8_t gpi7_routing;
26 uint8_t gpi8_routing;
27 uint8_t gpi9_routing;
28 uint8_t gpi10_routing;
29 uint8_t gpi11_routing;
30 uint8_t gpi12_routing;
31 uint8_t gpi13_routing;
32 uint8_t gpi14_routing;
33 uint8_t gpi15_routing;
34
Duncan Laurie467f31d2013-03-08 17:00:37 -080035 uint32_t gpe0_en_1;
36 uint32_t gpe0_en_2;
37 uint32_t gpe0_en_3;
38 uint32_t gpe0_en_4;
39 uint32_t alt_gp_smi_en;
Aaron Durbin76c37002012-10-30 09:03:43 -050040
Angel Pons8084b382020-10-30 10:56:31 +010041 /* SATA configuration */
Aaron Durbin76c37002012-10-30 09:03:43 -050042 uint8_t sata_port_map;
43 uint32_t sata_port0_gen3_tx;
44 uint32_t sata_port1_gen3_tx;
Shawn Nematbakhsh28752272013-08-13 10:45:21 -070045 uint32_t sata_port0_gen3_dtle;
46 uint32_t sata_port1_gen3_dtle;
47
Angel Pons2aaf7c02020-09-24 18:03:18 +020048 /*
49 * SATA DEVSLP Mux
Duncan Laurie74c0d052012-12-17 11:31:40 -080050 * 0 = port 0 DEVSLP on DEVSLP0/GPIO33
51 * 1 = port 3 DEVSLP on DEVSLP0/GPIO33
52 */
53 uint8_t sata_devslp_mux;
Aaron Durbin76c37002012-10-30 09:03:43 -050054
Marc Jonese05cba22013-10-30 23:56:26 -060055 /*
56 * DEVSLP Disable
57 * 0: DEVSLP is enabled
58 * 1: DEVSLP is disabled
59 */
60 uint8_t sata_devslp_disable;
61
Aaron Durbin76c37002012-10-30 09:03:43 -050062 uint32_t gen1_dec;
63 uint32_t gen2_dec;
64 uint32_t gen3_dec;
65 uint32_t gen4_dec;
66
67 /* Enable linear PCIe Root Port function numbers starting at zero */
Angel Ponsaf4bd562021-12-28 13:05:56 +010068 bool pcie_port_coalesce;
Angel Pons2aaf7c02020-09-24 18:03:18 +020069
Duncan Laurie249a03b2013-08-09 09:06:41 -070070 /* Force root port ASPM configuration with port bitmap */
71 uint8_t pcie_port_force_aspm;
Duncan Laurieb39ba2e2013-03-22 11:21:14 -070072
Angel Pons2aaf7c02020-09-24 18:03:18 +020073 /* Put SerialIO devices into ACPI mode instead of a PCI device */
Duncan Laurieb39ba2e2013-03-22 11:21:14 -070074 uint8_t sio_acpi_mode;
Angel Pons2aaf7c02020-09-24 18:03:18 +020075
Duncan Laurieb39ba2e2013-03-22 11:21:14 -070076 /* I2C voltage select: 0=3.3V 1=1.8V */
77 uint8_t sio_i2c0_voltage;
78 uint8_t sio_i2c1_voltage;
Duncan Laurie0dc0d132013-08-08 15:31:51 -070079
80 /*
81 * Clock Disable Map:
82 * [21:16] = CLKOUT_PCIE# 5-0
83 * [24] = CLKOUT_ITPXDP
84 */
85 uint32_t icc_clock_disable;
Stefan Reinauer6dbbe2e2013-10-17 17:00:26 -070086
87 /* Route USB ports to XHCI per default */
88 uint8_t xhci_default;
Tristan Corrickb2632ce2018-10-31 02:28:13 +130089
90 /* Information for the ACPI FADT. */
91 bool docking_supported;
Aaron Durbin76c37002012-10-30 09:03:43 -050092};
93
Angel Pons2aaf7c02020-09-24 18:03:18 +020094#endif /* SOUTHBRIDGE_INTEL_LYNXPOINT_CHIP_H */