From 49abf83c08a1754986769bc91b6e28f176ba16dd Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Thu, 4 Aug 2022 11:09:45 -0600 Subject: [PATCH] Add config for using S0ix S0ix does not require eSPI, and eSPI does not mandate S0ix. Enable S0ix for: - darp7 (TGL-U) - darp8 (ADL-P) - galp5 (TGL-U) - galp6 (ADL-P) - lemp10 (TGL-U) - lemp11 (ADL-U) It is also currently enabled on ADL-H due to a bug with S3: - gaze17-3050 - gaze17-3060-b - oryp9 Signed-off-by: Tim Crawford --- src/board/system76/common/peci.c | 10 +++++++--- src/board/system76/common/power.c | 8 ++++++-- src/board/system76/darp7/board.mk | 3 +++ src/board/system76/darp8/board.mk | 3 +++ src/board/system76/galp5/board.mk | 3 +++ src/board/system76/galp6/board.mk | 3 +++ src/board/system76/gaze17-3050/board.mk | 3 +++ src/board/system76/gaze17-3060/board.mk | 3 +++ src/board/system76/lemp10/board.mk | 3 +++ src/board/system76/lemp11/board.mk | 3 +++ src/board/system76/oryp9/board.mk | 3 +++ 11 files changed, 40 insertions(+), 5 deletions(-) diff --git a/src/board/system76/common/peci.c b/src/board/system76/common/peci.c index 00dc989..dac2a13 100644 --- a/src/board/system76/common/peci.c +++ b/src/board/system76/common/peci.c @@ -10,6 +10,10 @@ #include #include +#ifndef USE_S0IX + #define USE_S0IX 0 +#endif + // Fan speed is the lowest requested over HEATUP seconds #ifndef BOARD_HEATUP #define BOARD_HEATUP 4 @@ -122,13 +126,13 @@ int16_t peci_wr_pkg_config(uint8_t index, uint16_t param, uint32_t data) { uint8_t peci_get_fan_duty(void) { uint8_t duty; -#if EC_ESPI +#if USE_S0IX // Use PECI if CPU is not in C10 state peci_on = gpio_get(&CPU_C10_GATE_N); -#else // EC_ESPI +#else // USE_S0IX // Use PECI if in S0 state peci_on = power_state == POWER_STATE_S0; -#endif // EC_ESPI +#endif // USE_S0IX if (peci_on) { // Wait for completion diff --git a/src/board/system76/common/power.c b/src/board/system76/common/power.c index 6cd273a..65fe840 100644 --- a/src/board/system76/common/power.c +++ b/src/board/system76/common/power.c @@ -21,6 +21,10 @@ #include #endif +#ifndef USE_S0IX + #define USE_S0IX 0 +#endif + #define GPIO_SET_DEBUG(G, V) { \ DEBUG("%s = %s\n", #G, V ? "true" : "false"); \ gpio_set(&G, V); \ @@ -313,7 +317,7 @@ static bool power_peci_limit(bool ac) { void power_set_limit(void) { static bool last_power_limit_ac = true; // We don't use power_state because the latency needs to be low -#if EC_ESPI +#if USE_S0IX if (gpio_get(&CPU_C10_GATE_N)) { #else if (gpio_get(&BUF_PLT_RST_N)) { @@ -547,7 +551,7 @@ void power_event(void) { static uint32_t last_time = 0; uint32_t time = time_get(); if (power_state == POWER_STATE_S0) { -#if EC_ESPI +#if USE_S0IX if (!gpio_get(&CPU_C10_GATE_N)) { // Modern suspend, flashing green light if ((time - last_time) >= 1000) { diff --git a/src/board/system76/darp7/board.mk b/src/board/system76/darp7/board.mk index 8357f14..c24e306 100644 --- a/src/board/system76/darp7/board.mk +++ b/src/board/system76/darp7/board.mk @@ -5,6 +5,9 @@ EC=it5570e # Enable eSPI CFLAGS+=-DEC_ESPI=1 +# Use S0ix +CFLAGS+=-DUSE_S0IX=1 + # Include keyboard KEYBOARD=15in_102 diff --git a/src/board/system76/darp8/board.mk b/src/board/system76/darp8/board.mk index 7ffc694..6fb30e0 100644 --- a/src/board/system76/darp8/board.mk +++ b/src/board/system76/darp8/board.mk @@ -5,6 +5,9 @@ EC=it5570e # Enable eSPI CFLAGS+=-DEC_ESPI=1 +# Use S0ix +CFLAGS+=-DUSE_S0IX=1 + # Include keyboard KEYBOARD=15in_102 diff --git a/src/board/system76/galp5/board.mk b/src/board/system76/galp5/board.mk index 9ab5f9d..8e3c68e 100644 --- a/src/board/system76/galp5/board.mk +++ b/src/board/system76/galp5/board.mk @@ -5,6 +5,9 @@ EC=it5570e # Enable eSPI CFLAGS+=-DEC_ESPI=1 +# Use S0ix +CFLAGS+=-DUSE_S0IX=1 + # Include keyboard KEYBOARD=14in_83 diff --git a/src/board/system76/galp6/board.mk b/src/board/system76/galp6/board.mk index 3e14f11..0e7be31 100644 --- a/src/board/system76/galp6/board.mk +++ b/src/board/system76/galp6/board.mk @@ -5,6 +5,9 @@ EC=it5570e # Enable eSPI CFLAGS+=-DEC_ESPI=1 +# Use S0ix +CFLAGS+=-DUSE_S0IX=1 + # Include keyboard KEYBOARD=14in_83 diff --git a/src/board/system76/gaze17-3050/board.mk b/src/board/system76/gaze17-3050/board.mk index c844171..6d2d213 100644 --- a/src/board/system76/gaze17-3050/board.mk +++ b/src/board/system76/gaze17-3050/board.mk @@ -5,6 +5,9 @@ EC=it5570e # Enable eSPI CFLAGS+=-DEC_ESPI=1 +# FIXME: Use S3 instead of S0ix +CFLAGS+=-DUSE_S0IX=1 + # Include keyboard KEYBOARD=15in_102 diff --git a/src/board/system76/gaze17-3060/board.mk b/src/board/system76/gaze17-3060/board.mk index 1813a21..4259fd8 100644 --- a/src/board/system76/gaze17-3060/board.mk +++ b/src/board/system76/gaze17-3060/board.mk @@ -5,6 +5,9 @@ EC=it5570e # Enable eSPI CFLAGS+=-DEC_ESPI=1 +# FIXME: Use S3 instead of S0ix +CFLAGS+=-DUSE_S0IX=1 + # Include keyboard KEYBOARD=15in_102 diff --git a/src/board/system76/lemp10/board.mk b/src/board/system76/lemp10/board.mk index a9a9e3d..22957e7 100644 --- a/src/board/system76/lemp10/board.mk +++ b/src/board/system76/lemp10/board.mk @@ -5,6 +5,9 @@ EC=it5570e # Enable eSPI CFLAGS+=-DEC_ESPI=1 +# Use S0ix +CFLAGS+=-DUSE_S0IX=1 + # Include keyboard KEYBOARD=14in_83 diff --git a/src/board/system76/lemp11/board.mk b/src/board/system76/lemp11/board.mk index 325e556..2fc6827 100644 --- a/src/board/system76/lemp11/board.mk +++ b/src/board/system76/lemp11/board.mk @@ -5,6 +5,9 @@ EC=it5570e # Enable eSPI CFLAGS+=-DEC_ESPI=1 +# Use S0ix +CFLAGS+=-DUSE_S0IX=1 + # Include keyboard KEYBOARD=14in_83 diff --git a/src/board/system76/oryp9/board.mk b/src/board/system76/oryp9/board.mk index 82b07a6..b21221e 100644 --- a/src/board/system76/oryp9/board.mk +++ b/src/board/system76/oryp9/board.mk @@ -5,6 +5,9 @@ EC=it5570e # Enable eSPI CFLAGS+=-DEC_ESPI=1 +# FIXME: Use S3 instead of S0ix +CFLAGS+=-DUSE_S0IX=1 + # Include keyboard KEYBOARD=15in_102