From e0e9c6ab3e463879c7b940717881b1826f05b485 Mon Sep 17 00:00:00 2001 From: Nicholas Chin Date: Fri, 27 Sep 2024 19:26:47 -0600 Subject: config/coreboot: Add Dell Latitude E4300 Add patches to convert the E6400 port into a GM45 Latitude variant and add the E4300 as another variant, and create a config for the E4300. Tested on my E6400 and E4300. Signed-off-by: Nicholas Chin --- ...0062-mb-dell-Convert-E6400-into-a-variant.patch | 243 +++++++++++++++ ...-mb-dell-gm45_latitudes-Add-E4300-variant.patch | 332 +++++++++++++++++++++ 2 files changed, 575 insertions(+) create mode 100644 config/coreboot/default/patches/0062-mb-dell-Convert-E6400-into-a-variant.patch create mode 100644 config/coreboot/default/patches/0063-mb-dell-gm45_latitudes-Add-E4300-variant.patch (limited to 'config/coreboot/default/patches') diff --git a/config/coreboot/default/patches/0062-mb-dell-Convert-E6400-into-a-variant.patch b/config/coreboot/default/patches/0062-mb-dell-Convert-E6400-into-a-variant.patch new file mode 100644 index 00000000..2b705719 --- /dev/null +++ b/config/coreboot/default/patches/0062-mb-dell-Convert-E6400-into-a-variant.patch @@ -0,0 +1,243 @@ +From e74fe3cf69a9c44b226359814f0c177090e5a56c Mon Sep 17 00:00:00 2001 +From: Nicholas Chin +Date: Thu, 26 Sep 2024 19:48:26 -0600 +Subject: [PATCH 62/63] mb/dell: Convert E6400 into a variant + +All the GM45 Dell Latitudes should be nearly identical, so convert the +E6400 port into a variant so that future ports for the other systems can +share code with each other. + +Change-Id: I8094fce56eaaadb20aef173644cd3b2c0b008e95 +Signed-off-by: Nicholas Chin +--- + src/mainboard/dell/e6400/Makefile.mk | 10 -------- + .../dell/{e6400 => gm45_latitude}/Kconfig | 22 +++++++++++++----- + .../{e6400 => gm45_latitude}/Kconfig.name | 0 + src/mainboard/dell/gm45_latitude/Makefile.mk | 11 +++++++++ + .../dell/{e6400 => gm45_latitude}/acpi/ec.asl | 0 + .../acpi/ich9_pci_irqs.asl | 0 + .../{e6400 => gm45_latitude}/acpi/superio.asl | 0 + .../dell/{e6400 => gm45_latitude}/blc.c | 0 + .../{e6400 => gm45_latitude}/board_info.txt | 0 + .../dell/{e6400 => gm45_latitude}/bootblock.c | 0 + .../{e6400 => gm45_latitude}/cmos.default | 0 + .../dell/{e6400 => gm45_latitude}/cmos.layout | 0 + .../dell/{e6400 => gm45_latitude}/cstates.c | 0 + .../{e6400 => gm45_latitude}/devicetree.cb | 1 - + .../dell/{e6400 => gm45_latitude}/dsdt.asl | 0 + .../dell/{e6400 => gm45_latitude}/mainboard.c | 0 + .../dell/{e6400 => gm45_latitude}/romstage.c | 0 + .../variants}/e6400/data.vbt | Bin + .../variants}/e6400/gma-mainboard.ads | 0 + .../{ => gm45_latitude/variants}/e6400/gpio.c | 0 + .../variants}/e6400/hda_verb.c | 0 + .../variants/e6400/overridetree.cb | 7 ++++++ + 22 files changed, 34 insertions(+), 17 deletions(-) + delete mode 100644 src/mainboard/dell/e6400/Makefile.mk + rename src/mainboard/dell/{e6400 => gm45_latitude}/Kconfig (64%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/Kconfig.name (100%) + create mode 100644 src/mainboard/dell/gm45_latitude/Makefile.mk + rename src/mainboard/dell/{e6400 => gm45_latitude}/acpi/ec.asl (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/acpi/ich9_pci_irqs.asl (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/acpi/superio.asl (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/blc.c (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/board_info.txt (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/bootblock.c (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/cmos.default (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/cmos.layout (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/cstates.c (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/devicetree.cb (98%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/dsdt.asl (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/mainboard.c (100%) + rename src/mainboard/dell/{e6400 => gm45_latitude}/romstage.c (100%) + rename src/mainboard/dell/{ => gm45_latitude/variants}/e6400/data.vbt (100%) + rename src/mainboard/dell/{ => gm45_latitude/variants}/e6400/gma-mainboard.ads (100%) + rename src/mainboard/dell/{ => gm45_latitude/variants}/e6400/gpio.c (100%) + rename src/mainboard/dell/{ => gm45_latitude/variants}/e6400/hda_verb.c (100%) + create mode 100644 src/mainboard/dell/gm45_latitude/variants/e6400/overridetree.cb + +diff --git a/src/mainboard/dell/e6400/Makefile.mk b/src/mainboard/dell/e6400/Makefile.mk +deleted file mode 100644 +index ca3a82db48..0000000000 +--- a/src/mainboard/dell/e6400/Makefile.mk ++++ /dev/null +@@ -1,10 +0,0 @@ +-## SPDX-License-Identifier: GPL-2.0-only +- +-bootblock-y += bootblock.c +- +-romstage-y += gpio.c +- +-ramstage-y += cstates.c +-ramstage-y += blc.c +- +-ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += gma-mainboard.ads +diff --git a/src/mainboard/dell/e6400/Kconfig b/src/mainboard/dell/gm45_latitude/Kconfig +similarity index 64% +rename from src/mainboard/dell/e6400/Kconfig +rename to src/mainboard/dell/gm45_latitude/Kconfig +index 6fe1b1c456..ba76fb6e8c 100644 +--- a/src/mainboard/dell/e6400/Kconfig ++++ b/src/mainboard/dell/gm45_latitude/Kconfig +@@ -1,9 +1,7 @@ + ## SPDX-License-Identifier: GPL-2.0-only + +-if BOARD_DELL_E6400 +- +-config BOARD_SPECIFIC_OPTIONS +- def_bool y ++config BOARD_DELL_GM45_LATITUDE_COMMON ++ def_bool n + select SYSTEM_TYPE_LAPTOP + select CPU_INTEL_SOCKET_P + select NORTHBRIDGE_INTEL_GM45 +@@ -19,19 +17,31 @@ config BOARD_SPECIFIC_OPTIONS + select INTEL_GMA_HAVE_VBT + select EC_DELL_MEC5035 + ++ ++config BOARD_DELL_E6400 ++ select BOARD_DELL_GM45_LATITUDE_COMMON ++ ++if BOARD_DELL_GM45_LATITUDE_COMMON ++ + config INTEL_GMA_DPLL_REF_FREQ + default 100000000 + + config MAINBOARD_DIR +- default "dell/e6400" ++ default "dell/gm45_latitude" + + config MAINBOARD_PART_NUMBER + default "Latitude E6400" if BOARD_DELL_E6400 + ++config OVERRIDE_DEVICETREE ++ default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" ++ ++config VARIANT_DIR ++ default "e6400" if BOARD_DELL_E6400 ++ + config USBDEBUG_HCD_INDEX + default 1 + + config CBFS_SIZE + default 0x1A0000 + +-endif # BOARD_DELL_E6400 ++endif # BOARD_DELL_GM45_LATITUDE_COMMON +diff --git a/src/mainboard/dell/e6400/Kconfig.name b/src/mainboard/dell/gm45_latitude/Kconfig.name +similarity index 100% +rename from src/mainboard/dell/e6400/Kconfig.name +rename to src/mainboard/dell/gm45_latitude/Kconfig.name +diff --git a/src/mainboard/dell/gm45_latitude/Makefile.mk b/src/mainboard/dell/gm45_latitude/Makefile.mk +new file mode 100644 +index 0000000000..5295d5be22 +--- /dev/null ++++ b/src/mainboard/dell/gm45_latitude/Makefile.mk +@@ -0,0 +1,11 @@ ++## SPDX-License-Identifier: GPL-2.0-only ++ ++bootblock-y += bootblock.c ++ ++romstage-y += variants/$(VARIANT_DIR)/gpio.c ++ ++ramstage-y += cstates.c ++ramstage-y += blc.c ++ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c ++ ++ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += variants/$(VARIANT_DIR)/gma-mainboard.ads +diff --git a/src/mainboard/dell/e6400/acpi/ec.asl b/src/mainboard/dell/gm45_latitude/acpi/ec.asl +similarity index 100% +rename from src/mainboard/dell/e6400/acpi/ec.asl +rename to src/mainboard/dell/gm45_latitude/acpi/ec.asl +diff --git a/src/mainboard/dell/e6400/acpi/ich9_pci_irqs.asl b/src/mainboard/dell/gm45_latitude/acpi/ich9_pci_irqs.asl +similarity index 100% +rename from src/mainboard/dell/e6400/acpi/ich9_pci_irqs.asl +rename to src/mainboard/dell/gm45_latitude/acpi/ich9_pci_irqs.asl +diff --git a/src/mainboard/dell/e6400/acpi/superio.asl b/src/mainboard/dell/gm45_latitude/acpi/superio.asl +similarity index 100% +rename from src/mainboard/dell/e6400/acpi/superio.asl +rename to src/mainboard/dell/gm45_latitude/acpi/superio.asl +diff --git a/src/mainboard/dell/e6400/blc.c b/src/mainboard/dell/gm45_latitude/blc.c +similarity index 100% +rename from src/mainboard/dell/e6400/blc.c +rename to src/mainboard/dell/gm45_latitude/blc.c +diff --git a/src/mainboard/dell/e6400/board_info.txt b/src/mainboard/dell/gm45_latitude/board_info.txt +similarity index 100% +rename from src/mainboard/dell/e6400/board_info.txt +rename to src/mainboard/dell/gm45_latitude/board_info.txt +diff --git a/src/mainboard/dell/e6400/bootblock.c b/src/mainboard/dell/gm45_latitude/bootblock.c +similarity index 100% +rename from src/mainboard/dell/e6400/bootblock.c +rename to src/mainboard/dell/gm45_latitude/bootblock.c +diff --git a/src/mainboard/dell/e6400/cmos.default b/src/mainboard/dell/gm45_latitude/cmos.default +similarity index 100% +rename from src/mainboard/dell/e6400/cmos.default +rename to src/mainboard/dell/gm45_latitude/cmos.default +diff --git a/src/mainboard/dell/e6400/cmos.layout b/src/mainboard/dell/gm45_latitude/cmos.layout +similarity index 100% +rename from src/mainboard/dell/e6400/cmos.layout +rename to src/mainboard/dell/gm45_latitude/cmos.layout +diff --git a/src/mainboard/dell/e6400/cstates.c b/src/mainboard/dell/gm45_latitude/cstates.c +similarity index 100% +rename from src/mainboard/dell/e6400/cstates.c +rename to src/mainboard/dell/gm45_latitude/cstates.c +diff --git a/src/mainboard/dell/e6400/devicetree.cb b/src/mainboard/dell/gm45_latitude/devicetree.cb +similarity index 98% +rename from src/mainboard/dell/e6400/devicetree.cb +rename to src/mainboard/dell/gm45_latitude/devicetree.cb +index e9f3915d17..76dae87153 100644 +--- a/src/mainboard/dell/e6400/devicetree.cb ++++ b/src/mainboard/dell/gm45_latitude/devicetree.cb +@@ -15,7 +15,6 @@ chip northbridge/intel/gm45 + register "pci_mmio_size" = "2048" + + device domain 0 on +- subsystemid 0x1028 0x0233 inherit + ops gm45_pci_domain_ops + + device pci 00.0 on end # host bridge +diff --git a/src/mainboard/dell/e6400/dsdt.asl b/src/mainboard/dell/gm45_latitude/dsdt.asl +similarity index 100% +rename from src/mainboard/dell/e6400/dsdt.asl +rename to src/mainboard/dell/gm45_latitude/dsdt.asl +diff --git a/src/mainboard/dell/e6400/mainboard.c b/src/mainboard/dell/gm45_latitude/mainboard.c +similarity index 100% +rename from src/mainboard/dell/e6400/mainboard.c +rename to src/mainboard/dell/gm45_latitude/mainboard.c +diff --git a/src/mainboard/dell/e6400/romstage.c b/src/mainboard/dell/gm45_latitude/romstage.c +similarity index 100% +rename from src/mainboard/dell/e6400/romstage.c +rename to src/mainboard/dell/gm45_latitude/romstage.c +diff --git a/src/mainboard/dell/e6400/data.vbt b/src/mainboard/dell/gm45_latitude/variants/e6400/data.vbt +similarity index 100% +rename from src/mainboard/dell/e6400/data.vbt +rename to src/mainboard/dell/gm45_latitude/variants/e6400/data.vbt +diff --git a/src/mainboard/dell/e6400/gma-mainboard.ads b/src/mainboard/dell/gm45_latitude/variants/e6400/gma-mainboard.ads +similarity index 100% +rename from src/mainboard/dell/e6400/gma-mainboard.ads +rename to src/mainboard/dell/gm45_latitude/variants/e6400/gma-mainboard.ads +diff --git a/src/mainboard/dell/e6400/gpio.c b/src/mainboard/dell/gm45_latitude/variants/e6400/gpio.c +similarity index 100% +rename from src/mainboard/dell/e6400/gpio.c +rename to src/mainboard/dell/gm45_latitude/variants/e6400/gpio.c +diff --git a/src/mainboard/dell/e6400/hda_verb.c b/src/mainboard/dell/gm45_latitude/variants/e6400/hda_verb.c +similarity index 100% +rename from src/mainboard/dell/e6400/hda_verb.c +rename to src/mainboard/dell/gm45_latitude/variants/e6400/hda_verb.c +diff --git a/src/mainboard/dell/gm45_latitude/variants/e6400/overridetree.cb b/src/mainboard/dell/gm45_latitude/variants/e6400/overridetree.cb +new file mode 100644 +index 0000000000..acc34a2252 +--- /dev/null ++++ b/src/mainboard/dell/gm45_latitude/variants/e6400/overridetree.cb +@@ -0,0 +1,7 @@ ++## SPDX-License-Identifier: GPL-2.0-or-later ++ ++chip northbridge/intel/gm45 ++ device domain 0 on ++ subsystemid 0x1028 0x0233 inherit ++ end ++end +-- +2.46.1 + diff --git a/config/coreboot/default/patches/0063-mb-dell-gm45_latitudes-Add-E4300-variant.patch b/config/coreboot/default/patches/0063-mb-dell-gm45_latitudes-Add-E4300-variant.patch new file mode 100644 index 00000000..5cf3ea57 --- /dev/null +++ b/config/coreboot/default/patches/0063-mb-dell-gm45_latitudes-Add-E4300-variant.patch @@ -0,0 +1,332 @@ +From f8c8ab28f22c90e4104b272cb33c890d6fa1e940 Mon Sep 17 00:00:00 2001 +From: Nicholas Chin +Date: Thu, 26 Sep 2024 19:51:25 -0600 +Subject: [PATCH 63/63] mb/dell/gm45_latitudes: Add E4300 variant + +Change-Id: I0f2059501b11be103187e3ce1a7c04ab85ae63d2 +Signed-off-by: Nicholas Chin +--- + src/mainboard/dell/gm45_latitude/Kconfig | 5 + + src/mainboard/dell/gm45_latitude/Kconfig.name | 3 + + .../gm45_latitude/variants/e4300/data.vbt | Bin 0 -> 3881 bytes + .../variants/e4300/gma-mainboard.ads | 17 +++ + .../dell/gm45_latitude/variants/e4300/gpio.c | 138 ++++++++++++++++++ + .../gm45_latitude/variants/e4300/hda_verb.c | 37 +++++ + .../variants/e4300/overridetree.cb | 10 ++ + 7 files changed, 210 insertions(+) + create mode 100644 src/mainboard/dell/gm45_latitude/variants/e4300/data.vbt + create mode 100644 src/mainboard/dell/gm45_latitude/variants/e4300/gma-mainboard.ads + create mode 100644 src/mainboard/dell/gm45_latitude/variants/e4300/gpio.c + create mode 100644 src/mainboard/dell/gm45_latitude/variants/e4300/hda_verb.c + create mode 100644 src/mainboard/dell/gm45_latitude/variants/e4300/overridetree.cb + +diff --git a/src/mainboard/dell/gm45_latitude/Kconfig b/src/mainboard/dell/gm45_latitude/Kconfig +index ba76fb6e8c..144f9bcdf0 100644 +--- a/src/mainboard/dell/gm45_latitude/Kconfig ++++ b/src/mainboard/dell/gm45_latitude/Kconfig +@@ -21,6 +21,9 @@ config BOARD_DELL_GM45_LATITUDE_COMMON + config BOARD_DELL_E6400 + select BOARD_DELL_GM45_LATITUDE_COMMON + ++config BOARD_DELL_E4300 ++ select BOARD_DELL_GM45_LATITUDE_COMMON ++ + if BOARD_DELL_GM45_LATITUDE_COMMON + + config INTEL_GMA_DPLL_REF_FREQ +@@ -31,12 +34,14 @@ config MAINBOARD_DIR + + config MAINBOARD_PART_NUMBER + default "Latitude E6400" if BOARD_DELL_E6400 ++ default "Latitude E4300" if BOARD_DELL_E4300 + + config OVERRIDE_DEVICETREE + default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" + + config VARIANT_DIR + default "e6400" if BOARD_DELL_E6400 ++ default "e4300" if BOARD_DELL_E4300 + + config USBDEBUG_HCD_INDEX + default 1 +diff --git a/src/mainboard/dell/gm45_latitude/Kconfig.name b/src/mainboard/dell/gm45_latitude/Kconfig.name +index aefe777109..4dc95f46be 100644 +--- a/src/mainboard/dell/gm45_latitude/Kconfig.name ++++ b/src/mainboard/dell/gm45_latitude/Kconfig.name +@@ -1,4 +1,7 @@ + ## SPDX-License-Identifier: GPL-2.0-only + ++config BOARD_DELL_E4300 ++ bool "Latitude E4300" ++ + config BOARD_DELL_E6400 + bool "Latitude E6400" +diff --git a/src/mainboard/dell/gm45_latitude/variants/e4300/data.vbt b/src/mainboard/dell/gm45_latitude/variants/e4300/data.vbt +new file mode 100644 +index 0000000000000000000000000000000000000000..fa2f3db13f688b5687df16a155781d8674ea26f3 +GIT binary patch +literal 3881 +zcmdT`eQXp(6#wnV-R;foUbovquV-n84`GWGmlkRzXWaG>Td6>yG#51CN?M@?>DeM+ +zBI$}GlK6F+nD{}Y|ClJzh>3}Rm=N?2Y5aNhx3i7B*>RjEs#PQ-s5C6@#q~ze8SUuLOHbzw$htxKlQYWCt9NZmC +zVLO$_s2tQZ9MvqmM&%tUr>K0RF`T3FGnHSdOj6O}3>K9-D$(bpDh$)OQqAIh6jOwCxuw)qvS0N+Nk!? +zI~I-~3&u$!iZQuCQ3;=xYZQ&}1^JS!6aFCSvPt-}q{`KV7o=aLI=_ERh8gM+`g(-E +z9-*&C=<5;sdVc?y{2iwmrKs|~Kw5}Heji&vYYqJOG&As1`1?G0hsr2Y&r%2qq-H)u +z>=c836bj~sR4T<{m@IvjLaC(P1v(j%W}uLfs)L~qi^ +z4yaW6zjKK*SSa$dvbC#eRZDAgQ@dDEfr?l)G{1I8}OhGtOw#1e$Fn9wsUmbC8g}vF{$V$Y~rFp!qRJP)Z!2NYEhIpf^PzD_^ptxacQ#R+9@(N>ibe6 +z@|mz|d=bjIxSe3u0>+jxdmFQMG4?34k2C9i#y(>91!n!pSR`S$B&>T9Y*WHMl(1e% +zuvZiInS^yV!G28GmAbW9XHB~OfNnjavje*Qrfz+xvyXNAl5R-`OBnW@hPA<9+YI|D +z!+P0Z#|`^S!}`Hs7Yw^5X*DKUOVaL7TBAv}d|dV9^O8rYn%=4o&5GjdSWeb`yeyf7 +zk&0z-2#I*9^ljWL^79K!Ex#yORz2-nxRYGT$+NdKUcs>{SI2Fyx@<{2w?w*#&%hG* +zeY&DumV{4Nw4(1*^g5r`avbR44Nj-miiQs;Ii;O}*rL^|oYl8hQ9P@{Qf5}Gn;uRg +zI{c?gKNv~R$&eHj8!uus22Br_GkCD$Q)pf! +zGh%f}_&(hXOZrW-WCWJVw`DdrczV_sXGaOvzjt%F!O;{7J-K`tJBTNGZHe^T`VrkY0pv~u^?l~DG9UD8p8(692 Disabled); ++ ++end GMA.Mainboard; +diff --git a/src/mainboard/dell/gm45_latitude/variants/e4300/gpio.c b/src/mainboard/dell/gm45_latitude/variants/e4300/gpio.c +new file mode 100644 +index 0000000000..b50f8da0b5 +--- /dev/null ++++ b/src/mainboard/dell/gm45_latitude/variants/e4300/gpio.c +@@ -0,0 +1,138 @@ ++/* SPDX-License-Identifier: GPL-2.0-only */ ++ ++#include ++ ++static const struct pch_gpio_set1 pch_gpio_set1_mode = { ++ .gpio0 = GPIO_MODE_NATIVE, ++ .gpio1 = GPIO_MODE_GPIO, ++ .gpio2 = GPIO_MODE_GPIO, ++ .gpio3 = GPIO_MODE_GPIO, ++ .gpio4 = GPIO_MODE_GPIO, ++ .gpio5 = GPIO_MODE_GPIO, ++ .gpio6 = GPIO_MODE_GPIO, ++ .gpio7 = GPIO_MODE_GPIO, ++ .gpio8 = GPIO_MODE_GPIO, ++ .gpio9 = GPIO_MODE_NATIVE, ++ .gpio10 = GPIO_MODE_NATIVE, ++ .gpio11 = GPIO_MODE_NATIVE, ++ .gpio12 = GPIO_MODE_NATIVE, ++ .gpio13 = GPIO_MODE_GPIO, ++ .gpio14 = GPIO_MODE_GPIO, ++ .gpio15 = GPIO_MODE_NATIVE, ++ .gpio16 = GPIO_MODE_NATIVE, ++ .gpio17 = GPIO_MODE_GPIO, ++ .gpio18 = GPIO_MODE_GPIO, ++ .gpio19 = GPIO_MODE_GPIO, ++ .gpio20 = GPIO_MODE_GPIO, ++ .gpio21 = GPIO_MODE_GPIO, ++ .gpio22 = GPIO_MODE_GPIO, ++ .gpio23 = GPIO_MODE_NATIVE, ++ .gpio24 = GPIO_MODE_GPIO, ++ .gpio25 = GPIO_MODE_NATIVE, ++ .gpio26 = GPIO_MODE_NATIVE, ++ .gpio27 = GPIO_MODE_GPIO, ++ .gpio28 = GPIO_MODE_GPIO, ++ .gpio29 = GPIO_MODE_NATIVE, ++ .gpio30 = GPIO_MODE_NATIVE, ++ .gpio31 = GPIO_MODE_NATIVE, ++}; ++ ++static const struct pch_gpio_set1 pch_gpio_set1_direction = { ++ .gpio1 = GPIO_DIR_INPUT, ++ .gpio2 = GPIO_DIR_INPUT, ++ .gpio3 = GPIO_DIR_INPUT, ++ .gpio4 = GPIO_DIR_INPUT, ++ .gpio5 = GPIO_DIR_INPUT, ++ .gpio6 = GPIO_DIR_INPUT, ++ .gpio7 = GPIO_DIR_INPUT, ++ .gpio8 = GPIO_DIR_INPUT, ++ .gpio13 = GPIO_DIR_INPUT, ++ .gpio14 = GPIO_DIR_INPUT, ++ .gpio17 = GPIO_DIR_INPUT, ++ .gpio18 = GPIO_DIR_INPUT, ++ .gpio19 = GPIO_DIR_INPUT, ++ .gpio20 = GPIO_DIR_INPUT, ++ .gpio21 = GPIO_DIR_INPUT, ++ .gpio22 = GPIO_DIR_INPUT, ++ .gpio24 = GPIO_DIR_INPUT, ++ .gpio27 = GPIO_DIR_INPUT, ++ .gpio28 = GPIO_DIR_INPUT, ++}; ++ ++static const struct pch_gpio_set1 pch_gpio_set1_level = { ++}; ++ ++static const struct pch_gpio_set1 pch_gpio_set1_blink = { ++}; ++ ++static const struct pch_gpio_set1 pch_gpio_set1_invert = { ++ .gpio1 = GPIO_INVERT, ++ .gpio7 = GPIO_INVERT, ++ .gpio8 = GPIO_INVERT, ++}; ++ ++static const struct pch_gpio_set2 pch_gpio_set2_mode = { ++ .gpio32 = GPIO_MODE_NATIVE, ++ .gpio33 = GPIO_MODE_GPIO, ++ .gpio34 = GPIO_MODE_GPIO, ++ .gpio35 = GPIO_MODE_NATIVE, ++ .gpio36 = GPIO_MODE_GPIO, ++ .gpio37 = GPIO_MODE_GPIO, ++ .gpio38 = GPIO_MODE_GPIO, ++ .gpio39 = GPIO_MODE_GPIO, ++ .gpio40 = GPIO_MODE_NATIVE, ++ .gpio41 = GPIO_MODE_NATIVE, ++ .gpio42 = GPIO_MODE_NATIVE, ++ .gpio43 = GPIO_MODE_NATIVE, ++ .gpio44 = GPIO_MODE_NATIVE, ++ .gpio45 = GPIO_MODE_NATIVE, ++ .gpio46 = GPIO_MODE_NATIVE, ++ .gpio47 = GPIO_MODE_NATIVE, ++ .gpio48 = GPIO_MODE_GPIO, ++ .gpio49 = GPIO_MODE_GPIO, ++ .gpio50 = GPIO_MODE_NATIVE, ++ .gpio51 = GPIO_MODE_NATIVE, ++ .gpio52 = GPIO_MODE_GPIO, ++ .gpio53 = GPIO_MODE_GPIO, ++ .gpio54 = GPIO_MODE_NATIVE, ++ .gpio55 = GPIO_MODE_NATIVE, ++ .gpio56 = GPIO_MODE_GPIO, ++ .gpio57 = GPIO_MODE_GPIO, ++ .gpio58 = GPIO_MODE_NATIVE, ++ .gpio59 = GPIO_MODE_NATIVE, ++ .gpio60 = GPIO_MODE_GPIO, ++}; ++ ++static const struct pch_gpio_set2 pch_gpio_set2_direction = { ++ .gpio33 = GPIO_DIR_INPUT, ++ .gpio34 = GPIO_DIR_INPUT, ++ .gpio36 = GPIO_DIR_INPUT, ++ .gpio37 = GPIO_DIR_INPUT, ++ .gpio38 = GPIO_DIR_INPUT, ++ .gpio39 = GPIO_DIR_INPUT, ++ .gpio48 = GPIO_DIR_INPUT, ++ .gpio49 = GPIO_DIR_INPUT, ++ .gpio52 = GPIO_DIR_INPUT, ++ .gpio53 = GPIO_DIR_INPUT, ++ .gpio56 = GPIO_DIR_INPUT, ++ .gpio57 = GPIO_DIR_INPUT, ++ .gpio60 = GPIO_DIR_INPUT, ++}; ++ ++static const struct pch_gpio_set2 pch_gpio_set2_level = { ++}; ++ ++const struct pch_gpio_map mainboard_gpio_map = { ++ .set1 = { ++ .mode = &pch_gpio_set1_mode, ++ .direction = &pch_gpio_set1_direction, ++ .level = &pch_gpio_set1_level, ++ .blink = &pch_gpio_set1_blink, ++ .invert = &pch_gpio_set1_invert, ++ }, ++ .set2 = { ++ .mode = &pch_gpio_set2_mode, ++ .direction = &pch_gpio_set2_direction, ++ .level = &pch_gpio_set2_level, ++ }, ++}; +diff --git a/src/mainboard/dell/gm45_latitude/variants/e4300/hda_verb.c b/src/mainboard/dell/gm45_latitude/variants/e4300/hda_verb.c +new file mode 100644 +index 0000000000..a9948a93dd +--- /dev/null ++++ b/src/mainboard/dell/gm45_latitude/variants/e4300/hda_verb.c +@@ -0,0 +1,37 @@ ++/* SPDX-License-Identifier: GPL-2.0-only */ ++ ++#include ++ ++const u32 cim_verb_data[] = { ++ /* coreboot specific header */ ++ 0x111d76b2, /* IDT 92HD71B7X */ ++ 0x1028024d, /* Subsystem ID */ ++ 13, /* Number of entries */ ++ ++ /* Pin Widget Verb Table */ ++ ++ AZALIA_PIN_CFG(0, 0x0a, 0x0421101f), ++ AZALIA_PIN_CFG(0, 0x0b, 0x04a11021), ++ AZALIA_PIN_CFG(0, 0x0c, 0x40f000f0), ++ AZALIA_PIN_CFG(0, 0x0d, 0x90170110), ++ AZALIA_PIN_CFG(0, 0x0e, 0x23a1102e), ++ AZALIA_PIN_CFG(0, 0x0f, 0x23011050), ++ AZALIA_PIN_CFG(0, 0x14, 0x40f000f2), ++ AZALIA_PIN_CFG(0, 0x18, 0x90a601a0), ++ AZALIA_PIN_CFG(0, 0x19, 0x40f000f4), ++ AZALIA_PIN_CFG(0, 0x1e, 0x40f000f5), ++ AZALIA_PIN_CFG(0, 0x1f, 0x40f000f6), ++ AZALIA_PIN_CFG(0, 0x20, 0x40f000f7), ++ AZALIA_PIN_CFG(0, 0x27, 0x40f000f0), ++}; ++ ++const u32 pc_beep_verbs[] = { ++ 0x00170500, /* power up codec */ ++ 0x00d70500, /* power up speakers */ ++ 0x00d70102, /* select mixer (input 0x2) for speakers */ ++ 0x00d70740, /* enable speakers output */ ++ 0x02770720, /* enable beep input */ ++ 0x01737217, /* unmute beep (mixer's input 0x2), set amp 0dB */ ++ 0x00d37000, /* unmute speakers */ ++}; ++AZALIA_ARRAY_SIZES; +diff --git a/src/mainboard/dell/gm45_latitude/variants/e4300/overridetree.cb b/src/mainboard/dell/gm45_latitude/variants/e4300/overridetree.cb +new file mode 100644 +index 0000000000..20dfa245fb +--- /dev/null ++++ b/src/mainboard/dell/gm45_latitude/variants/e4300/overridetree.cb +@@ -0,0 +1,10 @@ ++## SPDX-License-Identifier: GPL-2.0-or-later ++ ++chip northbridge/intel/gm45 ++ device domain 0 on ++ subsystemid 0x1028 0x024d inherit ++ chip southbridge/intel/i82801ix ++ device pci 1c.2 off end # PCIe Port #3 ++ end ++ end ++end +-- +2.46.1 + -- cgit v1.2.1