Kane Chen has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/42680 )
Change subject: mb/google/zork: Create Woomax variant
......................................................................
mb/google/zork: Create Woomax variant
Create the Woomax variant of the zork.
BUG=b:158343602
BRANCH=zork
TEST=emerge-zork coreboot
Signed-off-by: Kane Chen <kane_chen(a)pegatron.corp-partner.google.com>
Change-Id: I0bb8ce1851f4064d24e48fd8957e2f9fe1e80b53
---
M src/mainboard/google/zork/Kconfig
M src/mainboard/google/zork/Kconfig.name
A src/mainboard/google/zork/variants/woomax/Makefile.inc
A src/mainboard/google/zork/variants/woomax/gpio.c
A src/mainboard/google/zork/variants/woomax/include/variant/acpi/audio.asl
A src/mainboard/google/zork/variants/woomax/include/variant/acpi/mainboard.asl
A src/mainboard/google/zork/variants/woomax/include/variant/acpi/sleep.asl
A src/mainboard/google/zork/variants/woomax/include/variant/acpi/thermal.asl
A src/mainboard/google/zork/variants/woomax/include/variant/ec.h
A src/mainboard/google/zork/variants/woomax/include/variant/gpio.h
A src/mainboard/google/zork/variants/woomax/include/variant/thermal.h
A src/mainboard/google/zork/variants/woomax/overridetree.cb
A src/mainboard/google/zork/variants/woomax/spd/Makefile.inc
13 files changed, 334 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/80/42680/1
diff --git a/src/mainboard/google/zork/Kconfig b/src/mainboard/google/zork/Kconfig
index f6061c5..4aac136 100644
--- a/src/mainboard/google/zork/Kconfig
+++ b/src/mainboard/google/zork/Kconfig
@@ -64,6 +64,7 @@
default "dalboz" if BOARD_GOOGLE_DALBOZ
default "berknip" if BOARD_GOOGLE_BERKNIP
default "vilboz" if BOARD_GOOGLE_VILBOZ
+ default "woomax" if BOARD_GOOGLE_WOOMAX
config MAINBOARD_PART_NUMBER
string
@@ -73,6 +74,7 @@
default "Dalboz" if BOARD_GOOGLE_DALBOZ
default "Berknip" if BOARD_GOOGLE_BERKNIP
default "Vilboz" if BOARD_GOOGLE_VILBOZ
+ default "Woomax" if BOARD_GOOGLE_WOOMAX
config DEVICETREE
string
diff --git a/src/mainboard/google/zork/Kconfig.name b/src/mainboard/google/zork/Kconfig.name
index 2f721d4..801c1b7 100644
--- a/src/mainboard/google/zork/Kconfig.name
+++ b/src/mainboard/google/zork/Kconfig.name
@@ -23,3 +23,7 @@
config BOARD_GOOGLE_BERKNIP
bool "-> Berknip"
select BOARD_GOOGLE_BASEBOARD_TREMBYLE
+
+config BOARD_GOOGLE_WOOMAX
+ bool "-> Woomax"
+ select BOARD_GOOGLE_BASEBOARD_TREMBYLE
diff --git a/src/mainboard/google/zork/variants/woomax/Makefile.inc b/src/mainboard/google/zork/variants/woomax/Makefile.inc
new file mode 100644
index 0000000..8142ac4
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/Makefile.inc
@@ -0,0 +1,16 @@
+#
+# This file is part of the coreboot project.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+subdirs-y += ./spd
+
+ramstage-y += gpio.c
diff --git a/src/mainboard/google/zork/variants/woomax/gpio.c b/src/mainboard/google/zork/variants/woomax/gpio.c
new file mode 100644
index 0000000..222360e
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/gpio.c
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <baseboard/gpio.h>
+#include <baseboard/variants.h>
+#include <boardid.h>
+#include <gpio.h>
+#include <soc/gpio.h>
+#include <ec/google/chromeec/ec.h>
+
+static const struct soc_amd_gpio woomax_gpio_set_stage_ram[] = {
+ /* GPIO_4 NC */
+ PAD_GPI(GPIO_4, PULL_UP),
+ /* GPIO_5 NC */
+ PAD_GPI(GPIO_5, PULL_UP),
+ /* GPIO_6 NC */
+ PAD_GPI(GPIO_6, PULL_UP),
+ /* GPIO_11 NC */
+ PAD_GPI(GPIO_11, PULL_UP),
+ /* GPIO_32 NC */
+ PAD_GPI(GPIO_32, PULL_UP),
+ /* GPIO_69 NC */
+ PAD_GPI(GPIO_69, PULL_UP),
+ /* RAM_ID_4 */
+ PAD_GPI(GPIO_84, PULL_NONE),
+ /* GPIO_141 NC */
+ PAD_GPI(GPIO_141, PULL_UP),
+ /* GPIO_143 NC */
+ PAD_GPI(GPIO_143, PULL_UP),
+};
+
+const struct soc_amd_gpio *variant_override_gpio_table(size_t *size)
+{
+ *size = ARRAY_SIZE(woomax_gpio_set_stage_ram);
+ return woomax_gpio_set_stage_ram;
+}
diff --git a/src/mainboard/google/zork/variants/woomax/include/variant/acpi/audio.asl b/src/mainboard/google/zork/variants/woomax/include/variant/acpi/audio.asl
new file mode 100644
index 0000000..71a4920
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/include/variant/acpi/audio.asl
@@ -0,0 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <baseboard/acpi/audio.asl>
diff --git a/src/mainboard/google/zork/variants/woomax/include/variant/acpi/mainboard.asl b/src/mainboard/google/zork/variants/woomax/include/variant/acpi/mainboard.asl
new file mode 100644
index 0000000..63eb280
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/include/variant/acpi/mainboard.asl
@@ -0,0 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <baseboard/acpi/mainboard.asl>
diff --git a/src/mainboard/google/zork/variants/woomax/include/variant/acpi/sleep.asl b/src/mainboard/google/zork/variants/woomax/include/variant/acpi/sleep.asl
new file mode 100644
index 0000000..a401b3a
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/include/variant/acpi/sleep.asl
@@ -0,0 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <baseboard/acpi/sleep.asl>
diff --git a/src/mainboard/google/zork/variants/woomax/include/variant/acpi/thermal.asl b/src/mainboard/google/zork/variants/woomax/include/variant/acpi/thermal.asl
new file mode 100644
index 0000000..a7e511c
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/include/variant/acpi/thermal.asl
@@ -0,0 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <baseboard/acpi/thermal.asl>
diff --git a/src/mainboard/google/zork/variants/woomax/include/variant/ec.h b/src/mainboard/google/zork/variants/woomax/include/variant/ec.h
new file mode 100644
index 0000000..fbd60dc
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/include/variant/ec.h
@@ -0,0 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <baseboard/ec.h>
diff --git a/src/mainboard/google/zork/variants/woomax/include/variant/gpio.h b/src/mainboard/google/zork/variants/woomax/include/variant/gpio.h
new file mode 100644
index 0000000..726d255
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/include/variant/gpio.h
@@ -0,0 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <baseboard/gpio.h>
diff --git a/src/mainboard/google/zork/variants/woomax/include/variant/thermal.h b/src/mainboard/google/zork/variants/woomax/include/variant/thermal.h
new file mode 100644
index 0000000..addce73
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/include/variant/thermal.h
@@ -0,0 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <baseboard/thermal.h>
diff --git a/src/mainboard/google/zork/variants/woomax/overridetree.cb b/src/mainboard/google/zork/variants/woomax/overridetree.cb
new file mode 100644
index 0000000..c6a3ff0
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/overridetree.cb
@@ -0,0 +1,142 @@
+#
+# This file is part of the coreboot project.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+chip soc/amd/picasso
+
+ # Start : OPN Performance Configuration
+ # See devhub #55593 Chapter 3.2 for documentation
+ # For the below fields, 0 indicates use SOC default
+
+ # System config index
+ register "system_config" = "2"
+
+ # Set STAPM confiuration. All of these fields must be set >0 to take affect
+ register "slow_ppt_limit" = "25000" #mw
+ register "fast_ppt_limit" = "30000" #mw
+ register "slow_ppt_time_constant" = "5" #second
+ register "stapm_time_constant" = "200" #second
+ register "sustained_power_limit" = "15000" #mw
+
+ register "telemetry_vddcr_vdd_slope" = "71222" #mA
+ register "telemetry_vddcr_vdd_offset" = "0"
+ register "telemetry_vddcr_soc_slope" = "28977" #mA
+ register "telemetry_vddcr_soc_offset" = "0"
+
+ # End : OPN Performance Configuration
+
+ # Enable I2C2 for trackpad, touchscreen, pen at 400kHz
+ register "i2c[2]" = "{
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 21, /* 0 to 2.31 (3.3 * .7) */
+ .fall_time_ns = 76, /* 2.31 to 0 */
+ }"
+
+ # Enable I2C3 for H1 400kHz
+ register "i2c[3]" = "{
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 125, /* 0 to 1.26v (1.8 * .7) */
+ .fall_time_ns = 37, /* 1.26v to 0 */
+ .early_init = true,
+ }"
+
+ # See AMD 55570-B1 Table 13: PCI Device ID Assignments.
+ device domain 0 on
+ subsystemid 0x1022 0x1510 inherit
+ device pci 1.6 off end # GPP Bridge 5
+ device pci 1.7 on end # GPP Bridge 6 - NVME
+ device pci 8.1 on # Internal GPP Bridge 0 to Bus A
+ device pci 0.3 on
+ chip drivers/usb/acpi
+ register "desc" = ""Root Hub""
+ register "type" = "UPC_TYPE_HUB"
+ device usb 0.0 on
+ chip drivers/usb/acpi
+ register "desc" = ""Left Type-C Port""
+ register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
+ register "group" = "ACPI_PLD_GROUP(1, 1)"
+ device usb 2.0 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""Left Type-A Port""
+ register "type" = "UPC_TYPE_USB3_A"
+ register "group" = "ACPI_PLD_GROUP(1, 2)"
+ device usb 2.1 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""Right Type-C Port""
+ register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
+ register "group" = "ACPI_PLD_GROUP(2, 1)"
+ device usb 2.3 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""User-Facing Camera""
+ register "type" = "UPC_TYPE_INTERNAL"
+ device usb 2.4 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""Bluetooth""
+ register "type" = "UPC_TYPE_INTERNAL"
+ device usb 2.5 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""Left Type-C Port""
+ register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
+ register "group" = "ACPI_PLD_GROUP(1, 1)"
+ device usb 3.0 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""Left Type-A Port""
+ register "type" = "UPC_TYPE_USB3_A"
+ register "group" = "ACPI_PLD_GROUP(1, 2)"
+ device usb 3.1 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""Right Type-C Port""
+ register "type" = "UPC_TYPE_C_USB2_SS_SWITCH"
+ register "group" = "ACPI_PLD_GROUP(2, 1)"
+ device usb 3.3 on end
+ end
+ chip drivers/usb/acpi
+ register "desc" = ""AR Camera""
+ register "type" = "UPC_TYPE_INTERNAL"
+ device usb 3.4 on end
+ end
+ end
+ end
+ end # USB 3.1
+ device pci 0.4 on end # USB 3.1
+ end
+ device pci 14.6 off end # Non-Functional SDHCI
+ end # domain
+
+ device mmio 0xfedc4000 on
+ chip drivers/i2c/generic
+ register "hid" = ""ELAN0000""
+ register "desc" = ""ELAN Touchpad""
+ register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_9)"
+ register "wake" = "22"
+ register "probed" = "1"
+ device i2c 15 on end
+ end
+ chip drivers/i2c/generic
+ register "hid" = ""ELAN0001""
+ register "desc" = ""ELAN Touchscreen""
+ register "probed" = "1"
+ register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_12)"
+ register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_140)"
+ register "reset_delay_ms" = "20"
+ register "has_power_resource" = "1"
+ device i2c 10 on end
+ end
+ end
+
+end # chip soc/amd/picasso
diff --git a/src/mainboard/google/zork/variants/woomax/spd/Makefile.inc b/src/mainboard/google/zork/variants/woomax/spd/Makefile.inc
new file mode 100644
index 0000000..79fac45
--- /dev/null
+++ b/src/mainboard/google/zork/variants/woomax/spd/Makefile.inc
@@ -0,0 +1,37 @@
+##
+## This file is part of the coreboot project.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+
+# Ordered List of APCB entries, upto 16.
+# Entries should match this pattern {NAME}_x{1,2}
+# There should be a matching SPD hex file in SPD_SOURCES_DIR
+# matching the pattern {NAME}.spd.hex
+# The _x{1,2} suffix denotes single or dual channel
+# TODO: Remove channel suffix when b:141434940 is fixed
+# Alternatively, generated APCBs stored at
+# CONFIG_APCB_BLOB_DIR/APCB_{NAME}.bin can be included.
+APCB_SOURCES = micron-MT40A512M16TB-062E-J_x1 # 0b00000
+APCB_SOURCES += hynix-H5AN8G6NCJR-XNC_x1 # 0b00001
+APCB_SOURCES += micron-MT40A1G16KD-062E-E_x1 # 0b00010
+APCB_SOURCES += samsung-K4AAG165WA-BCWE_x1 # 0b00011
+APCB_SOURCES += empty # 0b00100
+APCB_SOURCES += empty # 0b00101
+APCB_SOURCES += empty # 0b00110
+APCB_SOURCES += empty # 0b00111
+APCB_SOURCES += micron-MT40A512M16TB-062E-J_x2 # 0b01000
+APCB_SOURCES += hynix-H5AN8G6NCJR-XNC_x2 # 0b01001
+APCB_SOURCES += micron-MT40A1G16KD-062E-E_x2 # 0b01010
+APCB_SOURCES += samsung-K4AAG165WA-BCWE_x2 # 0b01011
+APCB_SOURCES += empty # 0b01100
+APCB_SOURCES += empty # 0b01101
+APCB_SOURCES += empty # 0b01110
+APCB_SOURCES += empty # 0b01111
--
To view, visit https://review.coreboot.org/c/coreboot/+/42680
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I0bb8ce1851f4064d24e48fd8957e2f9fe1e80b53
Gerrit-Change-Number: 42680
Gerrit-PatchSet: 1
Gerrit-Owner: Kane Chen <kane_chen(a)pegatron.corp-partner.google.com>
Gerrit-MessageType: newchange
Christian Walter has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/41696 )
Change subject: soc/intel/common/block/pcie: Remove auto-select ASPM and L1_SUB_STATE
......................................................................
soc/intel/common/block/pcie: Remove auto-select ASPM and L1_SUB_STATE
Current the common soc code automatically selects PCIEXP_ASPM and
PCIEXP_L1_SUB_STATE which breaks booting Windows with a PCIE
NVIDIA graphics card attached.
Tested on CFL with Windows 10
Change-Id: I025e13d6d8183256647e4c034e31bafa235f7eb7
Signed-off-by: Christian Walter <christian.walter(a)9elements.com>
---
M src/soc/intel/common/block/pcie/Kconfig
1 file changed, 0 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/96/41696/1
diff --git a/src/soc/intel/common/block/pcie/Kconfig b/src/soc/intel/common/block/pcie/Kconfig
index aa32324..308f197 100644
--- a/src/soc/intel/common/block/pcie/Kconfig
+++ b/src/soc/intel/common/block/pcie/Kconfig
@@ -1,9 +1,6 @@
config SOC_INTEL_COMMON_BLOCK_PCIE
bool
- select PCIEXP_ASPM
- select PCIEXP_CLK_PM
select PCIEXP_COMMON_CLOCK
- select PCIEXP_L1_SUB_STATE
help
Intel Processor common PCIE support
--
To view, visit https://review.coreboot.org/c/coreboot/+/41696
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I025e13d6d8183256647e4c034e31bafa235f7eb7
Gerrit-Change-Number: 41696
Gerrit-PatchSet: 1
Gerrit-Owner: Christian Walter <christian.walter(a)9elements.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-MessageType: newchange