Compare commits

...

11 Commits

Author SHA1 Message Date
Tim Crawford
6392a92690 mb/system76/rpl: darp9: Add SSD RTD3 configs
Some drives block the CPU from reaching C10 on suspend without the RTD3
config.

Fixes suspend with the following drives:

- Kingston KC3000 (SKC3000D/4096G)
- Kingston HyperX (SHPM2280P2H/240G)
- Solidigm P44 Pro (SSDPFKKW010X7)

The following drives continue to work:

- Samsung 970 Evo (MZVLB250HAHQ)
- WD Black SN770 (WDS250G3X0E)
- WD Green SN350 (WDS240G2G0C-00AJM0)
- WD Blue SN570 (WDS100T3B0C)

Change-Id: I205d78377fa2b0db8d37542cdb94ba86ded1d66e
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Tested-by: Levi Portenier <levi@system76.com>
2024-01-18 12:28:10 -07:00
Tim Crawford
f7222726d6 mb/system76: Add custom CMOS default for darp8,darp9
Since these boards will use S0ix they need to leave CSME enabled for the
CPU to reach C10.

Change-Id: I70c908402c9964508bb9c439d48d24773f5a35ab
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-01-10 13:07:17 -07:00
Tim Crawford
de3ee05f93 mb/system76: Enable S0ix for darp8/darp9
The newer batch of these boards do not de-assert VW PLTRST# on S3
resume, causes the units to not power on in the EC code. Switch them to
S0ix by default, but leave S3 available.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2024-01-10 13:07:17 -07:00
leviport
2477843e74 Apply HDA verb table change from serw13 to oryp11 and bonw15 2023-10-20 12:08:46 -06:00
Tim Crawford
82dec294f6 mb/system76/tgl-u: Enable BayHub driver on everything
The lemp10 unit that QA has uses the O2 Micro card reader, so just
enable the driver on everything. Fixes lemp10 not going deeper than C2
when idle.

Change-Id: I564f3f483b3e47de746b5541540c9c132d42af26
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-10-16 16:24:11 -06:00
Tim Crawford
49d376482b mb/system76/tgl-u: galp5: Enable DRIVERS_GENERIC_BAYHUB_LV2
The 3060 variant of the galp5 uses the OZ711LV2. Enable the driver to
fix LTR programming, as was done for other models in commit 3d7a5bdf58
("mb/system76: Enable DRIVERS_GENERIC_BAYHUB_LV2 to fix LTR issue").

Tested on system76/galp5 with a 3060: CPU reaches C-states deeper than
C2 when idle.

Ref: 58be66945f ("mb/system76/adl,rpl,tgl-h: Enable DRIVERS_GENERIC_BAYHUB_LV2 to fix LTR issue")
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Change-Id: Ibe53db7a0744eb5bc69d563652faba8e50bd86ba
2023-10-12 11:56:54 -06:00
Matt Parnell
e86eb250cf the i9-13900HX supports up to 128GB 5600 MT/s DDR5 memory 2023-09-15 16:00:12 -06:00
Tim Crawford
1cb13106c9 drivers/smmstore: Retry APM SCI if it fails
For some reason, the APM SCI to install the SMMSTORE comm buffer
regularly, but not always, fails with 0x4ed on ADL. In this case, a
second attempt seems to always complete successfully.

Tested on system76/darp8 and system76/galp6.

Change-Id: I843116113b8c24f1aee42f9d9042cdc0471a1b43
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-09-08 13:16:09 -04:00
Jeremy Soller
254e7dca82 soc/intel/alderlake: Hack to preserve SBREG
Change-Id: Ie70905d34a4050aeff4b5cda116eb700f19a18ea
2023-08-23 13:55:56 -06:00
Jeremy Soller
f989ae22c9 soc/intel/alderlake: Add RPL-S GPIO ACPI ID
Change-Id: Ib6432147a507efd7fa9514a1def446a1dff9848d
2023-08-23 13:55:56 -06:00
Jeremy Soller
58be66945f mb/system76/adl,rpl,tgl-h: Enable DRIVERS_GENERIC_BAYHUB_LV2 to fix LTR issue
Change-Id: I304bca81533a6d43e3c89f145d90a903dfafe0aa
2023-08-18 11:06:13 -06:00
16 changed files with 66 additions and 19 deletions

View File

@@ -57,18 +57,22 @@ static void init_store(void *unused)
printk(BIOS_INFO, "SMMSTORE: Setting up SMI handler\n");
/* Issue SMI using APM to update the com buffer and to lock the SMMSTORE */
__asm__ __volatile__ (
"outb %%al, %%dx"
: "=a" (eax)
: "a" ((SMMSTORE_CMD_INIT << 8) | APM_CNT_SMMSTORE),
"b" (ebx),
"d" (APM_CNT)
: "memory");
for (int retries = 0; retries < 3; retries++) {
/* Issue SMI using APM to update the com buffer and to lock the SMMSTORE */
__asm__ __volatile__ (
"outb %%al, %%dx"
: "=a" (eax)
: "a" ((SMMSTORE_CMD_INIT << 8) | APM_CNT_SMMSTORE),
"b" (ebx),
"d" (APM_CNT)
: "memory");
if (eax != SMMSTORE_RET_SUCCESS) {
printk(BIOS_ERR, "SMMSTORE: Failed to install com buffer\n");
return;
if (eax == SMMSTORE_RET_SUCCESS) {
printk(BIOS_INFO, "SMMSTORE: Installed com buffer\n");
break;
}
printk(BIOS_ERR, "SMMSTORE: Failed to install com buffer: 0x%x\n", eax);
}
}

View File

@@ -1,6 +1,7 @@
config BOARD_SYSTEM76_ADL_COMMON
def_bool n
select BOARD_ROMSIZE_KB_32768
select DRIVERS_GENERIC_BAYHUB_LV2
select DRIVERS_GENERIC_CBFS_SERIAL
select DRIVERS_GENERIC_CBFS_UUID
select DRIVERS_I2C_HID
@@ -107,6 +108,10 @@ config MAINBOARD_VERSION
default "oryp9" if BOARD_SYSTEM76_ORYP9
default "oryp10" if BOARD_SYSTEM76_ORYP10
config CMOS_DEFAULT_FILE
default "src/mainboard/\$(MAINBOARDDIR)/cmos-csme.default" if BOARD_SYSTEM76_DARP8
default "src/mainboard/\$(MAINBOARDDIR)/cmos.default"
config CONSOLE_POST
default y

View File

@@ -0,0 +1,3 @@
boot_option=Fallback
debug_level=Debug
me_state=Enable

View File

@@ -1,4 +1,6 @@
chip soc/intel/alderlake
register "s0ix_enable" = "1"
register "power_limits_config[ADL_P_282_482_28W_CORE]" = "{
.tdp_pl1_override = 20,
.tdp_pl2_override = 56,

View File

@@ -1,6 +1,7 @@
config BOARD_SYSTEM76_RPL_COMMON
def_bool n
select BOARD_ROMSIZE_KB_32768
select DRIVERS_GENERIC_BAYHUB_LV2
select DRIVERS_GENERIC_CBFS_SERIAL
select DRIVERS_GENERIC_CBFS_UUID
select DRIVERS_I2C_HID
@@ -132,6 +133,10 @@ config MAINBOARD_VERSION
default "oryp11" if BOARD_SYSTEM76_ORYP11
default "serw13" if BOARD_SYSTEM76_SERW13
config CMOS_DEFAULT_FILE
default "src/mainboard/\$(MAINBOARDDIR)/cmos-csme.default" if BOARD_SYSTEM76_DARP9
default "src/mainboard/\$(MAINBOARDDIR)/cmos.default"
config CONSOLE_POST
default y

View File

@@ -0,0 +1,3 @@
boot_option=Fallback
debug_level=Debug
me_state=Enable

View File

@@ -1,6 +1,6 @@
chip soc/intel/alderlake
# Support 5200 MT/s memory
register "max_dram_speed_mts" = "5200"
# Support 5600 MT/s memory
register "max_dram_speed_mts" = "5600"
device domain 0 on
subsystemid 0x1558 0xa671 inherit

View File

@@ -126,7 +126,7 @@ const u32 cim_verb_data[] = {
0x02050028, 0x02040000, 0x02050029, 0x0204ea00,
0x0205002b, 0x02040047, 0x0205002c, 0x0204b423,
0x02050027, 0x02040010, 0x02050028, 0x02040000,
0x02050029, 0x0204c203, 0x0205002b, 0x02040084,
0x02050029, 0x0204c203, 0x0205002b, 0x02040004,
0x0205002c, 0x0204b423, 0x02050027, 0x02040010,
0x02050028, 0x02040000, 0x02050029, 0x0204c206,
0x0205002b, 0x02040078, 0x0205002c, 0x0204b423,

View File

@@ -1,6 +1,6 @@
chip soc/intel/alderlake
# Support 5200 MT/s memory
register "max_dram_speed_mts" = "5200"
# Support 5600 MT/s memory
register "max_dram_speed_mts" = "5600"
device domain 0 on
subsystemid 0x1558 0x3702 inherit

View File

@@ -1,4 +1,6 @@
chip soc/intel/alderlake
register "s0ix_enable" = "1"
register "power_limits_config[RPL_P_682_482_282_28W_CORE]" = "{
.tdp_pl1_override = 20,
.tdp_pl2_override = 56,
@@ -14,6 +16,11 @@ chip soc/intel/alderlake
.clk_req = 0,
.flags = PCIE_RP_LTR | PCIE_RP_AER,
}"
chip soc/intel/common/block/pcie/rtd3
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_F20)" # M2_SSD2_RST#
register "srcclk_pin" = "0" # SSD2_CLKREQ#
device generic 0 on end
end
end
device ref pcie4_1 on
# CPU RP#3 x4, Clock 4 (SSD1)
@@ -22,6 +29,11 @@ chip soc/intel/alderlake
.clk_req = 4,
.flags = PCIE_RP_LTR | PCIE_RP_AER,
}"
chip soc/intel/common/block/pcie/rtd3
register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_B16)" # M2_SSD1_RST#
register "srcclk_pin" = "4" # SSD1_CLKREQ#
device generic 0 on end
end
end
device ref tbt_pcie_rp0 on end
device ref tcss_xhci on

View File

@@ -126,7 +126,7 @@ const u32 cim_verb_data[] = {
0x02050028, 0x02040000, 0x02050029, 0x0204ea00,
0x0205002b, 0x02040047, 0x0205002c, 0x0204b423,
0x02050027, 0x02040010, 0x02050028, 0x02040000,
0x02050029, 0x0204c203, 0x0205002b, 0x02040084,
0x02050029, 0x0204c203, 0x0205002b, 0x02040004,
0x0205002c, 0x0204b423, 0x02050027, 0x02040010,
0x02050028, 0x02040000, 0x02050029, 0x0204c206,
0x0205002b, 0x02040078, 0x0205002c, 0x0204b423,

View File

@@ -1,6 +1,6 @@
chip soc/intel/alderlake
# Support 5200 MT/s memory
register "max_dram_speed_mts" = "5200"
# Support 5600 MT/s memory
register "max_dram_speed_mts" = "5600"
device domain 0 on
subsystemid 0x1558 0xd502 inherit

View File

@@ -3,6 +3,7 @@ if BOARD_SYSTEM76_GAZE16_3050 || BOARD_SYSTEM76_GAZE16_3060 || BOARD_SYSTEM76_GA
config BOARD_SPECIFIC_OPTIONS
def_bool y
select BOARD_ROMSIZE_KB_16384
select DRIVERS_GENERIC_BAYHUB_LV2
select DRIVERS_GENERIC_CBFS_SERIAL
select DRIVERS_GENERIC_CBFS_UUID
select DRIVERS_GFX_NVIDIA

View File

@@ -3,6 +3,7 @@ if BOARD_SYSTEM76_DARP7 || BOARD_SYSTEM76_GALP5 || BOARD_SYSTEM76_LEMP10
config BOARD_SPECIFIC_OPTIONS
def_bool y
select BOARD_ROMSIZE_KB_16384
select DRIVERS_GENERIC_BAYHUB_LV2
select DRIVERS_GENERIC_CBFS_SERIAL
select DRIVERS_GENERIC_CBFS_UUID
select DRIVERS_GFX_NVIDIA if BOARD_SYSTEM76_GALP5

View File

@@ -5,8 +5,13 @@
#if CONFIG(SOC_INTEL_ALDERLAKE_PCH_S)
#include <soc/gpio_defs_pch_s.h>
#if CONFIG(SOC_INTEL_RAPTORLAKE)
#define CROS_GPIO_NAME "INTC1085"
#define CROS_GPIO_DEVICE_NAME "INTC1085:00"
#else
#define CROS_GPIO_NAME "INTC1056"
#define CROS_GPIO_DEVICE_NAME "INTC1056:00"
#endif
#elif CONFIG(SOC_INTEL_ALDERLAKE_PCH_N)
#include <soc/gpio_defs.h>
#define CROS_GPIO_NAME "INTC1057"

View File

@@ -20,8 +20,14 @@
#define PCH_TRACE_HUB_BASE_SIZE 0x00800000
#endif
/* Hack to include SBREG in PCH_RESERVED region on ADL-S/RPL-S */
#if CONFIG(SOC_INTEL_ALDERLAKE_PCH_S)
#define PCH_PRESERVED_BASE_ADDRESS 0xe0000000
#define PCH_PRESERVED_BASE_SIZE 0x1e800000
#else
#define PCH_PRESERVED_BASE_ADDRESS 0xfc800000
#define PCH_PRESERVED_BASE_SIZE 0x02000000
#endif
#define UART_BASE_SIZE 0x1000