ec/lenovo/h8: Replace chip regs for BT/WWAN detect with Kconfig options

Using Kconfig options instead of chip registers allows for newer boards
which do not implement BT/WWAN detection to not compile in the GPIO-
related parts, which are only valid for older (pre-FSP) platforms.

Change-Id: Ibfe738adfc75abfaf078c6b7ff5472a1424909f5
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/88414
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Matt DeVillier 2025-07-12 14:48:33 -05:00
commit bc116b8797
36 changed files with 28 additions and 28 deletions

View file

@ -65,4 +65,12 @@ config THINKPADEC_HKEY_EISAID
Motherboards of newer thinkpad models can override the default to match
vendor drivers and quirks.
config H8_HAS_BDC_GPIO_DETECTION
bool
default n
config H8_HAS_WWAN_GPIO_DETECTION
bool
default n
endif # EC_LENOVO_H8

View file

@ -28,7 +28,7 @@ bool h8_has_bdc(const struct device *dev)
{
struct ec_lenovo_h8_config *conf = dev->chip_info;
if (!conf->has_bdc_detection) {
if (!CONFIG(H8_HAS_BDC_GPIO_DETECTION)) {
printk(BIOS_INFO, "H8: BDC detection not implemented. "
"Assuming BDC installed\n");
return true;

View file

@ -32,8 +32,6 @@ struct ec_lenovo_h8_config {
u8 has_keyboard_backlight;
u8 has_power_management_beeps;
u8 has_uwb;
u8 has_bdc_detection;
u8 has_wwan_detection;
u8 bdc_gpio_num;
u8 bdc_gpio_lvl;

View file

@ -26,7 +26,7 @@ bool h8_has_wwan(const struct device *dev)
{
struct ec_lenovo_h8_config *conf = dev->chip_info;
if (!conf->has_wwan_detection) {
if (!CONFIG(H8_HAS_WWAN_GPIO_DETECTION)) {
printk(BIOS_INFO, "H8: WWAN detection not implemented. "
"Assuming WWAN installed\n");
return true;

View file

@ -12,6 +12,7 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_PMH7
select EC_LENOVO_H8
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION if !BOARD_LENOVO_R500
select BOARD_ROMSIZE_KB_8192 if !BOARD_LENOVO_R500
select BOARD_ROMSIZE_KB_4096 if BOARD_LENOVO_R500
select HAVE_ACPI_TABLES

View file

@ -155,7 +155,6 @@ chip northbridge/intel/gm45
register "eventc_enable" = "0xff"
register "eventd_enable" = "0xff"
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "48"
register "bdc_gpio_lvl" = "0"
end

View file

@ -11,6 +11,7 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_PMH7
select EC_LENOVO_H8
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION
select NO_UART_ON_SUPERIO
select BOARD_ROMSIZE_KB_8192
select HAVE_ACPI_TABLES

View file

@ -149,7 +149,6 @@ chip northbridge/intel/sandybridge
register "eventd_enable" = "0xff"
register "evente_enable" = "0x0d"
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "54"
register "bdc_gpio_lvl" = "0"
end

View file

@ -11,6 +11,7 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_PMH7
select GFX_GMA_PANEL_1_ON_LVDS
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION
select HAVE_ACPI_RESUME
select HAVE_ACPI_TABLES
select HAVE_CMOS_DEFAULT

View file

@ -141,7 +141,6 @@ chip northbridge/intel/sandybridge
register "eventd_enable" = "0xff"
register "evente_enable" = "0x0d"
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "54"
register "bdc_gpio_lvl" = "0"
end

View file

@ -12,6 +12,8 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_PMH7
select GFX_GMA_PANEL_1_ON_LVDS
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION
select H8_HAS_WWAN_GPIO_DETECTION
select HAVE_ACPI_RESUME
select HAVE_ACPI_TABLES
select HAVE_CMOS_DEFAULT

View file

@ -118,11 +118,9 @@ chip northbridge/intel/sandybridge
register "eventd_enable" = "0xff"
register "evente_enable" = "0x0d"
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "54"
register "bdc_gpio_lvl" = "0"
register "has_wwan_detection" = "1"
register "wwan_gpio_num" = "70"
register "wwan_gpio_lvl" = "0"
end

View file

@ -11,6 +11,7 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_PMH7
select EC_LENOVO_H8
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION if BOARD_LENOVO_T430S
select H8_HAS_PRIMARY_FN_KEYS if BOARD_LENOVO_T431S
select NO_UART_ON_SUPERIO
select BOARD_ROMSIZE_KB_16384

View file

@ -24,7 +24,6 @@ chip northbridge/intel/sandybridge
device ref lpc on
chip ec/lenovo/h8
device pnp ff.2 on end # dummy
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "54"
register "bdc_gpio_lvl" = "0"
end

View file

@ -55,8 +55,6 @@ chip northbridge/intel/sandybridge
register "config1" = "0x09"
register "config3" = "0xc0"
register "evente_enable" = "0x1d"
# T431s only has BT on wlan card
register "has_bdc_detection" = "0"
end
end
device ref thermal off end

View file

@ -9,6 +9,8 @@ config BOARD_LENOVO_BASEBOARD_T520
select EC_LENOVO_PMH7
select EC_LENOVO_H8
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION
select H8_HAS_WWAN_GPIO_DETECTION
select NO_UART_ON_SUPERIO
select BOARD_ROMSIZE_KB_8192
select HAVE_ACPI_TABLES

View file

@ -137,7 +137,6 @@ chip northbridge/intel/sandybridge
register "eventd_enable" = "0xff"
register "evente_enable" = "0x0d"
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "54"
register "bdc_gpio_lvl" = "0"
end

View file

@ -5,7 +5,6 @@ chip northbridge/intel/sandybridge
device ref lpc on
chip ec/lenovo/h8
device pnp ff.2 on end # dummy
register "has_wwan_detection" = "1"
register "wwan_gpio_num" = "70"
register "wwan_gpio_lvl" = "0"
end

View file

@ -9,6 +9,8 @@ config BOARD_LENOVO_BASEBOARD_T530
select EC_LENOVO_PMH7
select GFX_GMA_PANEL_1_ON_LVDS
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION
select H8_HAS_WWAN_GPIO_DETECTION
select HAVE_ACPI_RESUME
select HAVE_ACPI_TABLES
select HAVE_CMOS_DEFAULT

View file

@ -117,7 +117,6 @@ chip northbridge/intel/sandybridge
register "eventd_enable" = "0xff"
register "evente_enable" = "0x0d"
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "54"
register "bdc_gpio_lvl" = "0"
end

View file

@ -21,7 +21,6 @@ chip northbridge/intel/sandybridge
device ref lpc on
chip ec/lenovo/h8
device pnp ff.2 on end # dummy
register "has_wwan_detection" = "1"
register "wwan_gpio_num" = "70"
register "wwan_gpio_lvl" = "0"
end

View file

@ -25,6 +25,7 @@ config BOARD_SPECIFIC_OPTIONS
select HAVE_CMOS_DEFAULT
select I945_LVDS
select INTEL_GMA_HAVE_VBT
select H8_HAS_BDC_GPIO_DETECTION if BOARD_LENOVO_T60 || BOARD_LENOVO_R60
config MAINBOARD_DIR
default "lenovo/t60"

View file

@ -26,7 +26,6 @@ chip northbridge/intel/i945
end
device pci 1f.0 on # PCI-LPC bridge
chip ec/lenovo/h8
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "7"
register "bdc_gpio_lvl" = "0"
device pnp ff.2 on end

View file

@ -11,6 +11,8 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_PMH7
select GFX_GMA_PANEL_1_ON_LVDS
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION
select H8_HAS_WWAN_GPIO_DETECTION
select HAVE_ACPI_RESUME
select HAVE_ACPI_TABLES
select HAVE_CMOS_DEFAULT

View file

@ -127,11 +127,9 @@ chip northbridge/intel/sandybridge
register "eventd_enable" = "0xff"
register "evente_enable" = "0x0d"
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "54"
register "bdc_gpio_lvl" = "0"
register "has_wwan_detection" = "1"
register "wwan_gpio_num" = "70"
register "wwan_gpio_lvl" = "0"
end

View file

@ -11,6 +11,7 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_PMH7
select EC_LENOVO_H8
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION if BOARD_LENOVO_X200
select NO_UART_ON_SUPERIO
select BOARD_ROMSIZE_KB_8192
select HAVE_ACPI_TABLES

View file

@ -144,7 +144,6 @@ chip northbridge/intel/gm45
register "eventc_enable" = "0xff"
register "eventd_enable" = "0xff"
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "7"
register "bdc_gpio_lvl" = "0"
end

View file

@ -25,6 +25,7 @@ config BOARD_SPECIFIC_OPTIONS
select INTEL_GMA_HAVE_VBT
select MAINBOARD_USES_IFD_GBE_REGION
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_BDC_GPIO_DETECTION
config VBOOT
select VBOOT_VBNV_FLASH

View file

@ -140,7 +140,6 @@ chip northbridge/intel/ironlake
register "eventc_enable" = "0xff"
register "eventd_enable" = "0xff"
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "48"
register "bdc_gpio_lvl" = "0"
end

View file

@ -11,6 +11,7 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_PMH7
select GFX_GMA_PANEL_1_ON_LVDS
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_WWAN_GPIO_DETECTION
select HAVE_ACPI_RESUME
select HAVE_ACPI_TABLES
select HAVE_CMOS_DEFAULT

View file

@ -141,9 +141,7 @@ chip northbridge/intel/sandybridge
# BDC shorts pin14 and pin1
# BDC's connector pin14 is left floating
# BDC's connector pin1 is routed to SB GPIO 54
register "has_bdc_detection" = "0"
register "has_wwan_detection" = "1"
register "wwan_gpio_num" = "70"
register "wwan_gpio_lvl" = "0"
end

View file

@ -12,6 +12,7 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_H8
select H8_HAS_BAT_THRESHOLDS_IMPL
select H8_HAS_PRIMARY_FN_KEYS if BOARD_LENOVO_X230S
select H8_HAS_WWAN_GPIO_DETECTION if !BOARD_LENOVO_X230S
select NO_UART_ON_SUPERIO
select BOARD_ROMSIZE_KB_12288 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230_EDP
select BOARD_ROMSIZE_KB_16384 if BOARD_LENOVO_X230S

View file

@ -123,9 +123,7 @@ chip northbridge/intel/sandybridge
# BDC shorts pin14 and pin1
# BDC's connector pin14 is left floating
# BDC's connector pin1 is routed to SB GPIO 54
register "has_bdc_detection" = "0"
register "has_wwan_detection" = "1"
register "wwan_gpio_num" = "70"
register "wwan_gpio_lvl" = "0"
end

View file

@ -40,8 +40,6 @@ chip northbridge/intel/sandybridge
register "config3" = "0xc4"
register "event5_enable" = "0x3c"
register "evente_enable" = "0x1d"
# X230s only has BT on wlan card
register "has_bdc_detection" = "0"
device pnp ff.2 on end
end
end

View file

@ -16,6 +16,7 @@ config BOARD_SPECIFIC_OPTIONS
select EC_LENOVO_H8
select DRIVERS_I2C_CK505
select DRIVER_LENOVO_SERIALS
select H8_HAS_BDC_GPIO_DETECTION
select HAVE_OPTION_TABLE
select INTEL_INT15
select HAVE_CMOS_DEFAULT

View file

@ -130,7 +130,6 @@ chip northbridge/intel/i945
register "eventc_enable" = "0xff"
register "eventd_enable" = "0xff"
register "has_bdc_detection" = "1"
register "bdc_gpio_num" = "7"
register "bdc_gpio_lvl" = "0"
end