Duncan Laurie has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/46856 )
Change subject: soc/intel/tigerlake: Expose UPD to disable Precision Time Management
......................................................................
soc/intel/tigerlake: Expose UPD to disable Precision Time Management
Expose a config option that allows disabling the FSP UPD which controls
Precision Time Management for a particular PCIe root port. Since this
is enabled by default the option is inverted to allow disabling for
a particular port while not affecting others.
BUG=b:160996445
TEST=boot on volteer with PTM disabled for the NVMe root port
Change-Id: Icb51b256eb581d942b2d30fcabfae52fa90e48d4
Signed-off-by: Duncan Laurie <dlaurie(a)google.com>
---
M src/soc/intel/tigerlake/chip.h
M src/soc/intel/tigerlake/fsp_params.c
2 files changed, 4 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/46856/1
diff --git a/src/soc/intel/tigerlake/chip.h b/src/soc/intel/tigerlake/chip.h
index f752b5f..fcd6b0c 100644
--- a/src/soc/intel/tigerlake/chip.h
+++ b/src/soc/intel/tigerlake/chip.h
@@ -242,6 +242,9 @@
/* Probe CLKREQ# signal before enabling CLKREQ# based power management.*/
uint8_t PcieRpClkReqDetect[CONFIG_MAX_ROOT_PORTS];
+ /* Disable PCIe Precision Time Measurement for Root Ports (enabled by default) */
+ uint8_t PciePtmDisable[CONFIG_MAX_ROOT_PORTS];
+
/* PCIe RP L1 substate */
enum L1_substates_control {
L1_SS_FSP_DEFAULT,
diff --git a/src/soc/intel/tigerlake/fsp_params.c b/src/soc/intel/tigerlake/fsp_params.c
index 887241b..1520cfe 100644
--- a/src/soc/intel/tigerlake/fsp_params.c
+++ b/src/soc/intel/tigerlake/fsp_params.c
@@ -186,6 +186,7 @@
params->PcieRpAdvancedErrorReporting[i] =
config->PcieRpAdvancedErrorReporting[i];
params->PcieRpHotPlug[i] = config->PcieRpHotPlug[i];
+ params->PciePtm[i] = !config->PciePtmDisable[i];
}
/* Enable ClkReqDetect for enabled port */
--
To view, visit https://review.coreboot.org/c/coreboot/+/46856
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Icb51b256eb581d942b2d30fcabfae52fa90e48d4
Gerrit-Change-Number: 46856
Gerrit-PatchSet: 1
Gerrit-Owner: Duncan Laurie <dlaurie(a)chromium.org>
Gerrit-MessageType: newchange
Duncan Laurie has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/46262 )
Change subject: mb/google/volteer/variants: Enable RTD3 for the NVMe device
......................................................................
mb/google/volteer/variants: Enable RTD3 for the NVMe device
Enable Runtime D3 for the volteer variants that have GPIO power control
of the NVMe device attached to PCIe Root Port 9.
BUG=b:160996445
TEST=TODO: only tested on volteer, needs test on real hardware
Change-Id: I6ebf813c6c3364fec2e489a9742f04452be92c45
Signed-off-by: Duncan Laurie <dlaurie(a)google.com>
---
M src/mainboard/google/volteer/variants/delbin/gpio.c
M src/mainboard/google/volteer/variants/delbin/overridetree.cb
M src/mainboard/google/volteer/variants/terrador/overridetree.cb
M src/mainboard/google/volteer/variants/voxel/overridetree.cb
4 files changed, 26 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/62/46262/1
diff --git a/src/mainboard/google/volteer/variants/delbin/gpio.c b/src/mainboard/google/volteer/variants/delbin/gpio.c
index 5748bb3..bebf38f 100644
--- a/src/mainboard/google/volteer/variants/delbin/gpio.c
+++ b/src/mainboard/google/volteer/variants/delbin/gpio.c
@@ -27,8 +27,8 @@
/* A23 : I2S1_SCLK ==> I2S1_SPKR_SCLK */
PAD_CFG_NF(GPP_A23, NONE, DEEP, NF1),
- /* B2 : VRALERT# ==> NC */
- PAD_NC(GPP_B2, NONE),
+ /* B2 : VRALERT# ==> EN_PP3300_SSD */
+ PAD_CFG_GPO(GPP_B2, 1, DEEP),
/* B9 : I2C5_SDA ==> PCH_I2C5_TRACKPAD_SDA */
PAD_CFG_NF(GPP_B9, NONE, DEEP, NF1),
/* B10 : I2C5_SCL ==> PCH_I2C5_TRACKPAD_SCL */
diff --git a/src/mainboard/google/volteer/variants/delbin/overridetree.cb b/src/mainboard/google/volteer/variants/delbin/overridetree.cb
index 21b1f07..ef52517 100644
--- a/src/mainboard/google/volteer/variants/delbin/overridetree.cb
+++ b/src/mainboard/google/volteer/variants/delbin/overridetree.cb
@@ -59,6 +59,14 @@
device i2c 15 on end
end
end
+ device ref pcie_rp9 on
+ chip soc/intel/common/block/pcie/rtd3
+ register "power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B2)"
+ register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
+ register "clock_pin" = "0"
+ device pci 00.0 on end
+ end
+ end
device ref pmc hidden
# The pmc_mux chip driver is a placeholder for the
# PMC.MUX device in the ACPI hierarchy.
diff --git a/src/mainboard/google/volteer/variants/terrador/overridetree.cb b/src/mainboard/google/volteer/variants/terrador/overridetree.cb
index 1ccdb87..7f806ea 100644
--- a/src/mainboard/google/volteer/variants/terrador/overridetree.cb
+++ b/src/mainboard/google/volteer/variants/terrador/overridetree.cb
@@ -126,6 +126,14 @@
device i2c 15 on end
end
end
+ device ref pcie_rp9 on
+ chip soc/intel/common/block/pcie/rtd3
+ register "power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B2)"
+ register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
+ register "clock_pin" = "0"
+ device pci 00.0 on end
+ end
+ end
device ref pmc hidden
# The pmc_mux chip driver is a placeholder for the
# PMC.MUX device in the ACPI hierarchy.
diff --git a/src/mainboard/google/volteer/variants/voxel/overridetree.cb b/src/mainboard/google/volteer/variants/voxel/overridetree.cb
index 8ce6875..7528a4f 100644
--- a/src/mainboard/google/volteer/variants/voxel/overridetree.cb
+++ b/src/mainboard/google/volteer/variants/voxel/overridetree.cb
@@ -182,6 +182,14 @@
device i2c 15 on end
end
end
+ device ref pcie_rp9 on
+ chip soc/intel/common/block/pcie/rtd3
+ register "power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B2)"
+ register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A11)"
+ register "clock_pin" = "0"
+ device pci 00.0 on end
+ end
+ end
device ref pmc hidden
# The pmc_mux chip driver is a placeholder for the
# PMC.MUX device in the ACPI hierarchy.
--
To view, visit https://review.coreboot.org/c/coreboot/+/46262
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I6ebf813c6c3364fec2e489a9742f04452be92c45
Gerrit-Change-Number: 46262
Gerrit-PatchSet: 1
Gerrit-Owner: Duncan Laurie <dlaurie(a)chromium.org>
Gerrit-MessageType: newchange
Duncan Laurie has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/46261 )
Change subject: soc/intel/tigerlake: Enable RTD3 driver and IPC mailbox
......................................................................
soc/intel/tigerlake: Enable RTD3 driver and IPC mailbox
This SOC overrides the common PMC device and instantiates the
PMC device in the SSDT. It needs to call the common PMC function
to provide the IPC mailbox method.
The common PCIe RTD3 driver can also be enabled which will allow
mainboards to enable Runtime D3 power control for PCIe devices.
BUG=b:160996445
TEST=boot on volteer with this driver enabled for the NVMe device
in the devicetree and disassemble the SSDT to ensure that the RTD3
code is present.
Signed-off-by: Duncan Laurie <dlaurie(a)google.com>
Change-Id: Ifa54ec3b8cebcc2752916cc4f8616fcb6fd2fecc
---
M src/soc/intel/tigerlake/Kconfig
M src/soc/intel/tigerlake/pmc.c
2 files changed, 4 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/61/46261/1
diff --git a/src/soc/intel/tigerlake/Kconfig b/src/soc/intel/tigerlake/Kconfig
index 4df2e85..0be2225 100644
--- a/src/soc/intel/tigerlake/Kconfig
+++ b/src/soc/intel/tigerlake/Kconfig
@@ -45,6 +45,7 @@
select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
select SOC_INTEL_COMMON_BLOCK_HDA
+ select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
select SOC_INTEL_COMMON_BLOCK_SA
select SOC_INTEL_COMMON_BLOCK_SMM
select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
diff --git a/src/soc/intel/tigerlake/pmc.c b/src/soc/intel/tigerlake/pmc.c
index f2f8a06..a7705de 100644
--- a/src/soc/intel/tigerlake/pmc.c
+++ b/src/soc/intel/tigerlake/pmc.c
@@ -119,6 +119,9 @@
acpigen_write_mem32fixed(1, PCH_PWRM_BASE_ADDRESS, PCH_PWRM_BASE_SIZE);
acpigen_write_resourcetemplate_footer();
+ /* Define IPC Write Method */
+ pmc_acpi_fill_ssdt_ipc_write_method();
+
acpigen_pop_len(); /* PMC Device */
acpigen_pop_len(); /* Scope */
--
To view, visit https://review.coreboot.org/c/coreboot/+/46261
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ifa54ec3b8cebcc2752916cc4f8616fcb6fd2fecc
Gerrit-Change-Number: 46261
Gerrit-PatchSet: 1
Gerrit-Owner: Duncan Laurie <dlaurie(a)chromium.org>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-MessageType: newchange
Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37280 )
Change subject: soc/intel/fsp-car: Halt on improperly configured coreboot
......................................................................
soc/intel/fsp-car: Halt on improperly configured coreboot
Test if Kconfig symbols actually match what FSP does. If it is not
the case it best to halt right away instead of continuing to boot with
possibly hard to debug problems.
Change-Id: I8520adc868f08938af27ee686a8777c281afd4f9
Signed-off-by: Arthur Heymans <arthur(a)aheymans.xyz>
---
M src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
1 file changed, 5 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/80/37280/1
diff --git a/src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S b/src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
index 4174f36..bde3849 100644
--- a/src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
+++ b/src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
@@ -86,6 +86,11 @@
cmp $0, %eax
jnz .halt_forever
+ /* Check sanity of coreboot Kconfig symbols that need to match what FSP
+ does */
+ cmpl $(CONFIG_DCACHE_RAM_BASE + CONFIG_DCACHE_RAM_SIZE), %edx
+ jne .halt_forever
+
/* Setup bootblock stack */
movl _ecar_stack, %esp
--
To view, visit https://review.coreboot.org/c/coreboot/+/37280
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I8520adc868f08938af27ee686a8777c281afd4f9
Gerrit-Change-Number: 37280
Gerrit-PatchSet: 1
Gerrit-Owner: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-MessageType: newchange
Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37281 )
Change subject: drivers/intel/fsp1.1/car: Halt on improperly configured coreboot
......................................................................
drivers/intel/fsp1.1/car: Halt on improperly configured coreboot
Test if Kconfig symbols actually match what FSP does. If it is not
the case it best to halt right away instead of continuing to boot with
possibly hard to debug problems.
Change-Id: Ieec8259149cc8fd71c40fd1511a6a2cfa67c5337
Signed-off-by: Arthur Heymans <arthur(a)aheymans.xyz>
---
M src/drivers/intel/fsp1_1/cache_as_ram.S
1 file changed, 5 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/81/37281/1
diff --git a/src/drivers/intel/fsp1_1/cache_as_ram.S b/src/drivers/intel/fsp1_1/cache_as_ram.S
index fb39884..748c267 100644
--- a/src/drivers/intel/fsp1_1/cache_as_ram.S
+++ b/src/drivers/intel/fsp1_1/cache_as_ram.S
@@ -143,6 +143,11 @@
cmp $0, %eax
jne halt2
+ /* Check sanity of coreboot Kconfig symbols that need to match what FSP
+ does */
+ cmpl $(CONFIG_DCACHE_RAM_BASE + CONFIG_DCACHE_RAM_SIZE), %edx
+ jne .halt_forever
+
/* Setup BSP stack */
movl _ecar_stack, %esp
--
To view, visit https://review.coreboot.org/c/coreboot/+/37281
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ieec8259149cc8fd71c40fd1511a6a2cfa67c5337
Gerrit-Change-Number: 37281
Gerrit-PatchSet: 1
Gerrit-Owner: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-MessageType: newchange