coreboot-gerrit
Threads by month
- ----- 2025 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2022
- 1 participants
- 4679 discussions
Change in ...coreboot[master]: mb/*/romstage: Drop defines already set by raminit code
by Patrick Rudolph (Code Review) Aug. 7, 2023
by Patrick Rudolph (Code Review) Aug. 7, 2023
Aug. 7, 2023
Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32070
Change subject: mb/*/romstage: Drop defines already set by raminit code
......................................................................
mb/*/romstage: Drop defines already set by raminit code
Drop defines that are set by raminit code.
Change-Id: Ica844a70b50486b4db3744cb123b3e4b8d5bedb0
Signed-off-by: Patrick Rudolph <patrick.rudolph(a)9elements.com>
---
M src/mainboard/asrock/h81m-hds/romstage.c
M src/mainboard/google/beltino/romstage.c
M src/mainboard/google/butterfly/romstage.c
M src/mainboard/google/link/romstage.c
M src/mainboard/google/parrot/romstage.c
M src/mainboard/google/slippy/variants/falco/romstage.c
M src/mainboard/google/slippy/variants/leon/romstage.c
M src/mainboard/google/slippy/variants/peppy/romstage.c
M src/mainboard/google/slippy/variants/wolf/romstage.c
M src/mainboard/google/stout/romstage.c
M src/mainboard/intel/dcp847ske/romstage.c
M src/mainboard/intel/emeraldlake2/romstage.c
M src/mainboard/kontron/ktqm77/romstage.c
M src/mainboard/lenovo/x220/romstage.c
M src/mainboard/roda/rv11/variants/rv11/romstage.c
M src/mainboard/roda/rv11/variants/rw11/romstage.c
M src/mainboard/samsung/lumpy/romstage.c
M src/mainboard/samsung/stumpy/romstage.c
M src/mainboard/supermicro/x10slm-f/romstage.c
19 files changed, 0 insertions(+), 265 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/70/32070/1
diff --git a/src/mainboard/asrock/h81m-hds/romstage.c b/src/mainboard/asrock/h81m-hds/romstage.c
index a917722..68ed658 100644
--- a/src/mainboard/asrock/h81m-hds/romstage.c
+++ b/src/mainboard/asrock/h81m-hds/romstage.c
@@ -74,20 +74,6 @@
{
struct pei_data pei_data = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = HPET_ADDR,
- .rcba = (uintptr_t)DEFAULT_RCBA,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .temp_mmio_base = 0xfed08000,
- .system_type = 1, /* desktop/server */
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xa0, 0x00, 0xa4, 0x00 },
.ec_present = 0,
.dimm_channel0_disabled = 2, /* Disable DIMM 1 on channel 0. */
diff --git a/src/mainboard/google/beltino/romstage.c b/src/mainboard/google/beltino/romstage.c
index 70a8c19..6417f0d 100644
--- a/src/mainboard/google/beltino/romstage.c
+++ b/src/mainboard/google/beltino/romstage.c
@@ -71,20 +71,6 @@
{
struct pei_data pei_data = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = HPET_ADDR,
- .rcba = (uintptr_t)DEFAULT_RCBA,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .temp_mmio_base = 0xfed08000,
- .system_type = 5, /* ULT */
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xa0, 0x00, 0xa4, 0x00 },
.ec_present = 0,
// 0 = leave channel enabled
diff --git a/src/mainboard/google/butterfly/romstage.c b/src/mainboard/google/butterfly/romstage.c
index d34b1e4..cbd9f3d 100644
--- a/src/mainboard/google/butterfly/romstage.c
+++ b/src/mainboard/google/butterfly/romstage.c
@@ -132,20 +132,6 @@
{
struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xA0, 0x00,0xA4,0x00 },
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 1,
diff --git a/src/mainboard/google/link/romstage.c b/src/mainboard/google/link/romstage.c
index 66a503d0..6617dc4 100644
--- a/src/mainboard/google/link/romstage.c
+++ b/src/mainboard/google/link/romstage.c
@@ -127,20 +127,6 @@
{
struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 1,
.ddr3lv_support = 1,
diff --git a/src/mainboard/google/parrot/romstage.c b/src/mainboard/google/parrot/romstage.c
index 76a4b4b..d76d814 100644
--- a/src/mainboard/google/parrot/romstage.c
+++ b/src/mainboard/google/parrot/romstage.c
@@ -101,20 +101,6 @@
{
struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xA0, 0x00,0xA4,0x00 },
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 1,
diff --git a/src/mainboard/google/slippy/variants/falco/romstage.c b/src/mainboard/google/slippy/variants/falco/romstage.c
index 25f8d27..2244119 100644
--- a/src/mainboard/google/slippy/variants/falco/romstage.c
+++ b/src/mainboard/google/slippy/variants/falco/romstage.c
@@ -109,20 +109,6 @@
{
struct pei_data pei_data = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = HPET_ADDR,
- .rcba = (uintptr_t)DEFAULT_RCBA,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .temp_mmio_base = 0xfed08000,
- .system_type = 5, /* ULT */
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xff, 0x00, 0xff, 0x00 },
.ec_present = 1,
// 0 = leave channel enabled
diff --git a/src/mainboard/google/slippy/variants/leon/romstage.c b/src/mainboard/google/slippy/variants/leon/romstage.c
index b95c6e1..35345d0 100644
--- a/src/mainboard/google/slippy/variants/leon/romstage.c
+++ b/src/mainboard/google/slippy/variants/leon/romstage.c
@@ -106,20 +106,6 @@
{
struct pei_data pei_data = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = HPET_ADDR,
- .rcba = (uintptr_t)DEFAULT_RCBA,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .temp_mmio_base = 0xfed08000,
- .system_type = 5, /* ULT */
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xff, 0x00, 0xff, 0x00 },
.ec_present = 1,
// 0 = leave channel enabled
diff --git a/src/mainboard/google/slippy/variants/peppy/romstage.c b/src/mainboard/google/slippy/variants/peppy/romstage.c
index e47edc7..a5de6c0 100644
--- a/src/mainboard/google/slippy/variants/peppy/romstage.c
+++ b/src/mainboard/google/slippy/variants/peppy/romstage.c
@@ -124,20 +124,6 @@
{
struct pei_data pei_data = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = HPET_ADDR,
- .rcba = (uintptr_t)DEFAULT_RCBA,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .temp_mmio_base = 0xfed08000,
- .system_type = 5, /* ULT */
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xff, 0x00, 0xff, 0x00 },
.ec_present = 1,
// 0 = leave channel enabled
diff --git a/src/mainboard/google/slippy/variants/wolf/romstage.c b/src/mainboard/google/slippy/variants/wolf/romstage.c
index 3125efe..5a8c972 100644
--- a/src/mainboard/google/slippy/variants/wolf/romstage.c
+++ b/src/mainboard/google/slippy/variants/wolf/romstage.c
@@ -111,20 +111,7 @@
{
struct pei_data pei_data = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = HPET_ADDR,
- .rcba = (uintptr_t)DEFAULT_RCBA,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .temp_mmio_base = 0xfed08000,
.system_type = 5, /* ULT */
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xff, 0x00, 0xff, 0x00 },
.ec_present = 1,
// 0 = leave channel enabled
diff --git a/src/mainboard/google/stout/romstage.c b/src/mainboard/google/stout/romstage.c
index 7539dd7..6e32145 100644
--- a/src/mainboard/google/stout/romstage.c
+++ b/src/mainboard/google/stout/romstage.c
@@ -137,20 +137,6 @@
{
struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xA0, 0x00,0xA4,0x00 },
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 1,
diff --git a/src/mainboard/intel/dcp847ske/romstage.c b/src/mainboard/intel/dcp847ske/romstage.c
index 24ec912..2043cf6 100644
--- a/src/mainboard/intel/dcp847ske/romstage.c
+++ b/src/mainboard/intel/dcp847ske/romstage.c
@@ -29,20 +29,6 @@
{
struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xa0, 0x00, 0xa2, 0x00 },
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 0,
diff --git a/src/mainboard/intel/emeraldlake2/romstage.c b/src/mainboard/intel/emeraldlake2/romstage.c
index 9a9fc24..8cd7ec2 100644
--- a/src/mainboard/intel/emeraldlake2/romstage.c
+++ b/src/mainboard/intel/emeraldlake2/romstage.c
@@ -94,20 +94,6 @@
{
struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xa0, 0x00, 0xa4, 0x00 },
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 0,
diff --git a/src/mainboard/kontron/ktqm77/romstage.c b/src/mainboard/kontron/ktqm77/romstage.c
index f778f96..e0f8954 100644
--- a/src/mainboard/kontron/ktqm77/romstage.c
+++ b/src/mainboard/kontron/ktqm77/romstage.c
@@ -80,20 +80,6 @@
{
struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, /* 0 Mobile, 1 Desktop/Server */
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xA0, 0x00,0xA4,0x00 },
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 1,
diff --git a/src/mainboard/lenovo/x220/romstage.c b/src/mainboard/lenovo/x220/romstage.c
index a5b0c81..d398d81 100644
--- a/src/mainboard/lenovo/x220/romstage.c
+++ b/src/mainboard/lenovo/x220/romstage.c
@@ -50,20 +50,6 @@
{
struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xa0, 0x00,0xa2,0x00 },
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 1,
diff --git a/src/mainboard/roda/rv11/variants/rv11/romstage.c b/src/mainboard/roda/rv11/variants/rv11/romstage.c
index 685e942..df679f1 100644
--- a/src/mainboard/roda/rv11/variants/rv11/romstage.c
+++ b/src/mainboard/roda/rv11/variants/rv11/romstage.c
@@ -37,20 +37,6 @@
{
const struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xA0, 0x00, 0xA4, 0x00 },
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 1,
diff --git a/src/mainboard/roda/rv11/variants/rw11/romstage.c b/src/mainboard/roda/rv11/variants/rw11/romstage.c
index 97d9d2b..56ac32c 100644
--- a/src/mainboard/roda/rv11/variants/rw11/romstage.c
+++ b/src/mainboard/roda/rv11/variants/rw11/romstage.c
@@ -66,20 +66,6 @@
{
const struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xA0, 0xA2, 0xA4, 0xA6 },
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 1,
diff --git a/src/mainboard/samsung/lumpy/romstage.c b/src/mainboard/samsung/lumpy/romstage.c
index 1080689..29fe08b 100644
--- a/src/mainboard/samsung/lumpy/romstage.c
+++ b/src/mainboard/samsung/lumpy/romstage.c
@@ -156,20 +156,6 @@
{
struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xa0, 0x00,0x00,0x00 },
.ts_addresses = { 0x30, 0x00, 0x00, 0x00 },
.ec_present = 1,
diff --git a/src/mainboard/samsung/stumpy/romstage.c b/src/mainboard/samsung/stumpy/romstage.c
index a8e28d6..510efbe 100644
--- a/src/mainboard/samsung/stumpy/romstage.c
+++ b/src/mainboard/samsung/stumpy/romstage.c
@@ -144,20 +144,6 @@
{
struct pei_data pei_data_template = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = CONFIG_HPET_ADDRESS,
- .rcba = (uintptr_t)DEFAULT_RCBABASE,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .thermalbase = 0xfed08000,
- .system_type = 0, // 0 Mobile, 1 Desktop/Server
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xa0, 0x00,0xa4,0x00 },
.ts_addresses = { 0x00, 0x00, 0x00, 0x00 },
.ec_present = 0,
diff --git a/src/mainboard/supermicro/x10slm-f/romstage.c b/src/mainboard/supermicro/x10slm-f/romstage.c
index 84ad047..702e8bb 100644
--- a/src/mainboard/supermicro/x10slm-f/romstage.c
+++ b/src/mainboard/supermicro/x10slm-f/romstage.c
@@ -66,20 +66,6 @@
{
struct pei_data pei_data = {
.pei_version = PEI_VERSION,
- .mchbar = (uintptr_t)DEFAULT_MCHBAR,
- .dmibar = (uintptr_t)DEFAULT_DMIBAR,
- .epbar = DEFAULT_EPBAR,
- .pciexbar = CONFIG_MMCONF_BASE_ADDRESS,
- .smbusbar = SMBUS_IO_BASE,
- .wdbbar = 0x4000000,
- .wdbsize = 0x1000,
- .hpet_address = HPET_ADDR,
- .rcba = (uintptr_t)DEFAULT_RCBA,
- .pmbase = DEFAULT_PMBASE,
- .gpiobase = DEFAULT_GPIOBASE,
- .temp_mmio_base = 0xfed08000,
- .system_type = 1, /* desktop/server */
- .tseg_size = CONFIG_SMM_TSEG_SIZE,
.spd_addresses = { 0xa0, 0xa2, 0xa4, 0xa6 },
.ec_present = 0,
.ddr_refresh_2x = 1,
--
To view, visit https://review.coreboot.org/c/coreboot/+/32070
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ica844a70b50486b4db3744cb123b3e4b8d5bedb0
Gerrit-Change-Number: 32070
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-MessageType: newchange
4
13
Change in coreboot[master]: nb/intel/gm45: Fix compilation on x86_64
by Patrick Rudolph (Code Review) Aug. 7, 2023
by Patrick Rudolph (Code Review) Aug. 7, 2023
Aug. 7, 2023
Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/45824 )
Change subject: nb/intel/gm45: Fix compilation on x86_64
......................................................................
nb/intel/gm45: Fix compilation on x86_64
Fix integer-pointer conversion to allow the code to be compiled
under x86_64. This commit doesn't change any functionality.
Tested on Lenovo T500 with additional patches.
Change-Id: Ic8b1f99cb4a8c09237f4644a7438fba34597d65c
Signed-off-by: Patrick Rudolph <patrick.rudolph(a)9elements.com>
---
M src/northbridge/intel/gm45/gm45.h
M src/northbridge/intel/gm45/iommu.c
M src/northbridge/intel/gm45/northbridge.c
M src/northbridge/intel/gm45/raminit.c
M src/northbridge/intel/gm45/raminit_read_write_training.c
M src/northbridge/intel/x4x/dq_dqs.c
M src/northbridge/intel/x4x/northbridge.c
M src/northbridge/intel/x4x/raminit_ddr23.c
M src/northbridge/intel/x4x/rcven.c
M src/southbridge/intel/i82801jx/lpc.c
10 files changed, 23 insertions(+), 21 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/24/45824/1
diff --git a/src/northbridge/intel/gm45/gm45.h b/src/northbridge/intel/gm45/gm45.h
index 95457fb..01a645f 100644
--- a/src/northbridge/intel/gm45/gm45.h
+++ b/src/northbridge/intel/gm45/gm45.h
@@ -231,9 +231,9 @@
* MCHBAR
*/
-#define MCHBAR8(x) *((volatile u8 *)(DEFAULT_MCHBAR + x))
-#define MCHBAR16(x) *((volatile u16 *)(DEFAULT_MCHBAR + x))
-#define MCHBAR32(x) *((volatile u32 *)(DEFAULT_MCHBAR + x))
+#define MCHBAR8(x) *((volatile u8 *)((uintptr_t)DEFAULT_MCHBAR + x))
+#define MCHBAR16(x) *((volatile u16 *)((uintptr_t)DEFAULT_MCHBAR + x))
+#define MCHBAR32(x) *((volatile u32 *)((uintptr_t)DEFAULT_MCHBAR + x))
#define HPLLVCO_MCHBAR 0x0c0f
@@ -395,7 +395,7 @@
void igd_compute_ggc(sysinfo_t *const sysinfo);
int raminit_read_vco_index(void);
-u32 raminit_get_rank_addr(unsigned int channel, unsigned int rank);
+uintptr_t raminit_get_rank_addr(unsigned int channel, unsigned int rank);
void raminit_rcomp_calibration(stepping_t stepping);
void raminit_reset_readwrite_pointers(void);
diff --git a/src/northbridge/intel/gm45/iommu.c b/src/northbridge/intel/gm45/iommu.c
index 09df12d..d7a54d8 100644
--- a/src/northbridge/intel/gm45/iommu.c
+++ b/src/northbridge/intel/gm45/iommu.c
@@ -37,7 +37,8 @@
/* setup somewhere */
pci_or_config16(igd, PCI_COMMAND, PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY);
- void *bar = (void *)pci_read_config32(igd, PCI_BASE_ADDRESS_0);
+ /* FIXME: Why is GTT cleared here and who sets up BAR0? */
+ void *bar = (void *)(uintptr_t)pci_read_config32(igd, PCI_BASE_ADDRESS_0);
/* clear GTT, 2MB is enough (and should be safe) */
memset(bar, 0, 2<<20);
diff --git a/src/northbridge/intel/gm45/northbridge.c b/src/northbridge/intel/gm45/northbridge.c
index 8c27d50..5df4f01 100644
--- a/src/northbridge/intel/gm45/northbridge.c
+++ b/src/northbridge/intel/gm45/northbridge.c
@@ -124,7 +124,7 @@
/* cbmem_top can be shifted downwards due to alignment.
Mark the region between cbmem_top and tomk as unusable */
- delta_cbmem = tomk - ((uint32_t)cbmem_top() >> 10);
+ delta_cbmem = tomk - ((uintptr_t)cbmem_top() >> 10);
tomk -= delta_cbmem;
uma_sizek += delta_cbmem;
diff --git a/src/northbridge/intel/gm45/raminit.c b/src/northbridge/intel/gm45/raminit.c
index 7fc97f01..4a9035b 100644
--- a/src/northbridge/intel/gm45/raminit.c
+++ b/src/northbridge/intel/gm45/raminit.c
@@ -1575,8 +1575,8 @@
/* We won't do this in dual-interleaved mode,
so don't care about the offset.
Mirrored ranks aren't taken into account here. */
- const u32 rankaddr = raminit_get_rank_addr(ch, r);
- printk(BIOS_DEBUG, "JEDEC init @0x%08x\n", rankaddr);
+ const uintptr_t rankaddr = raminit_get_rank_addr(ch, r);
+ printk(BIOS_DEBUG, "JEDEC init @0x%08zx\n", rankaddr);
MCHBAR32(DCC_MCHBAR) = (MCHBAR32(DCC_MCHBAR) & ~DCC_SET_EREG_MASK) | DCC_SET_EREGx(2);
read32((u32 *)(rankaddr | WL));
MCHBAR32(DCC_MCHBAR) = (MCHBAR32(DCC_MCHBAR) & ~DCC_SET_EREG_MASK) | DCC_SET_EREGx(3);
@@ -1658,7 +1658,7 @@
}
}
-u32 raminit_get_rank_addr(unsigned int channel, unsigned int rank)
+uintptr_t raminit_get_rank_addr(unsigned int channel, unsigned int rank)
{
if (!channel && !rank)
return 0; /* Address of first rank */
@@ -1670,7 +1670,7 @@
rank = 3; /* Highest rank per channel */
channel--;
}
- const u32 reg = MCHBAR32(CxDRBy_MCHBAR(channel, rank));
+ const uintptr_t reg = MCHBAR32(CxDRBy_MCHBAR(channel, rank));
/* Bound is in 32MB. */
return ((reg & CxDRBy_BOUND_MASK(rank)) >> CxDRBy_BOUND_SHIFT(rank)) << 25;
}
diff --git a/src/northbridge/intel/gm45/raminit_read_write_training.c b/src/northbridge/intel/gm45/raminit_read_write_training.c
index e8d719f..31f6380 100644
--- a/src/northbridge/intel/gm45/raminit_read_write_training.c
+++ b/src/northbridge/intel/gm45/raminit_read_write_training.c
@@ -7,7 +7,7 @@
#include "gm45.h"
typedef struct {
- u32 addr[RANKS_PER_CHANNEL];
+ uintptr_t addr[RANKS_PER_CHANNEL];
unsigned int count;
} address_bunch_t;
@@ -415,7 +415,7 @@
MCHBAR8(0x0218) |= 0x1 << 4;
for (i = 0; i < addresses->count; ++i) {
- const unsigned int addr = addresses->addr[i];
+ const uintptr_t addr = addresses->addr[i];
unsigned int off;
for (off = 0; off < 640; off += 8) {
const u32 pattern = write_training_schedule[off >> 3];
diff --git a/src/northbridge/intel/x4x/dq_dqs.c b/src/northbridge/intel/x4x/dq_dqs.c
index 1535452..9f60f87 100644
--- a/src/northbridge/intel/x4x/dq_dqs.c
+++ b/src/northbridge/intel/x4x/dq_dqs.c
@@ -161,7 +161,7 @@
static u8 test_dq_aligned(const struct sysinfo *s,
const u8 channel)
{
- u32 address;
+ uintptr_t address;
int rank, lane;
u8 count, count1;
u8 data[8];
@@ -357,7 +357,7 @@
{
int i, rank, lane;
volatile u8 data[8];
- u32 address;
+ uintptr_t address;
u8 bytelane_error = 0;
FOR_EACH_POPULATED_RANK_IN_CHANNEL(s->dimms, channel, rank) {
@@ -436,7 +436,8 @@
int do_read_training(struct sysinfo *s)
{
int loop, channel, i, lane, rank;
- u32 address, content;
+ uintptr_t address;
+ u32 content;
u8 dqs_lower[TOTAL_BYTELANES];
u8 dqs_upper[TOTAL_BYTELANES];
struct rt_dqs_setting dqs_setting[TOTAL_BYTELANES];
@@ -626,7 +627,7 @@
static void sample_dq(const struct sysinfo *s, u8 channel, u8 rank,
u8 high_found[8]) {
- u32 address = test_address(channel, rank);
+ uintptr_t address = test_address(channel, rank);
int samples, lane;
memset(high_found, 0, TOTAL_BYTELANES * sizeof(high_found[0]));
diff --git a/src/northbridge/intel/x4x/northbridge.c b/src/northbridge/intel/x4x/northbridge.c
index 5e46270..5218100 100644
--- a/src/northbridge/intel/x4x/northbridge.c
+++ b/src/northbridge/intel/x4x/northbridge.c
@@ -74,7 +74,7 @@
/* cbmem_top can be shifted downwards due to alignment.
Mark the region between cbmem_top and tomk as unusable */
- delta_cbmem = tomk - ((uint32_t)cbmem_top() >> 10);
+ delta_cbmem = tomk - ((uintptr_t)cbmem_top() >> 10);
tomk -= delta_cbmem;
uma_sizek += delta_cbmem;
diff --git a/src/northbridge/intel/x4x/raminit_ddr23.c b/src/northbridge/intel/x4x/raminit_ddr23.c
index 617ce11..92d234a 100644
--- a/src/northbridge/intel/x4x/raminit_ddr23.c
+++ b/src/northbridge/intel/x4x/raminit_ddr23.c
@@ -1296,7 +1296,7 @@
void send_jedec_cmd(const struct sysinfo *s, u8 r, u8 ch, u8 cmd, u32 val)
{
- u32 addr = test_address(ch, r);
+ uintptr_t addr = test_address(ch, r);
u8 data8 = cmd;
u32 data32;
@@ -2136,7 +2136,7 @@
if (s->boot_path == BOOT_PATH_NORMAL) {
FOR_EACH_POPULATED_RANK(s->dimms, ch, r) {
for (bank = 0; bank < 4; bank++)
- read32((u32 *)(test_address(ch, r) | 0x800000 | (bank << 12)));
+ read32((u32 *)((uintptr_t)test_address(ch, r) | 0x800000 | (bank << 12)));
}
}
printk(BIOS_DEBUG, "Done dummy reads\n");
diff --git a/src/northbridge/intel/x4x/rcven.c b/src/northbridge/intel/x4x/rcven.c
index 82481ab..c32ec54 100644
--- a/src/northbridge/intel/x4x/rcven.c
+++ b/src/northbridge/intel/x4x/rcven.c
@@ -23,7 +23,7 @@
asm volatile("mfence":::);
}
-static u8 sampledqs(u32 addr, u8 lane, u8 channel)
+static u8 sampledqs(uintptr_t addr, u8 lane, u8 channel)
{
u32 sample_offset = 0x400 * channel + 0x561 + lane * 4;
diff --git a/src/southbridge/intel/i82801jx/lpc.c b/src/southbridge/intel/i82801jx/lpc.c
index 2f7b516..5ddbaa0 100644
--- a/src/southbridge/intel/i82801jx/lpc.c
+++ b/src/southbridge/intel/i82801jx/lpc.c
@@ -495,7 +495,7 @@
/* Add it to SSDT. */
acpigen_write_scope("\\");
- acpigen_write_name_dword("NVSA", (u32) gnvs);
+ acpigen_write_name_dword("NVSA", (u32)(uintptr_t) gnvs);
acpigen_pop_len();
}
}
--
To view, visit https://review.coreboot.org/c/coreboot/+/45824
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ic8b1f99cb4a8c09237f4644a7438fba34597d65c
Gerrit-Change-Number: 45824
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-Reviewer: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Damien Zammit
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-MessageType: newchange
5
8
Change in coreboot[master]: [TESTME]x4x/i82801jx/socket_LGA775: Add x86_64 support
by Patrick Rudolph (Code Review) Aug. 7, 2023
by Patrick Rudolph (Code Review) Aug. 7, 2023
Aug. 7, 2023
Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/36779 )
Change subject: [TESTME]x4x/i82801jx/socket_LGA775: Add x86_64 support
......................................................................
[TESTME]x4x/i82801jx/socket_LGA775: Add x86_64 support
Use correct datasize to compile on x86_64.
Change-Id: Ib4851932975e99e06ba5650c2359a835b46d702d
Signed-off-by: Patrick Rudolph <siro(a)das-labor.org>
---
M src/arch/x86/walkcbfs.S
M src/cpu/intel/model_1067x/Kconfig
M src/cpu/intel/model_6fx/Kconfig
M src/cpu/intel/model_f3x/Kconfig
M src/cpu/intel/model_f4x/Kconfig
M src/cpu/intel/socket_LGA775/Kconfig
M src/cpu/x86/mp_init.c
M src/cpu/x86/smm/smm_module_handler.c
M src/drivers/net/atl1e.c
M src/northbridge/intel/x4x/dq_dqs.c
M src/northbridge/intel/x4x/northbridge.c
M src/northbridge/intel/x4x/raminit_ddr23.c
M src/northbridge/intel/x4x/rcven.c
M src/northbridge/intel/x4x/x4x.h
M src/southbridge/intel/common/spi.c
M src/southbridge/intel/i82801jx/hdaudio.c
M src/southbridge/intel/i82801jx/lpc.c
M src/southbridge/intel/i82801jx/sata.c
18 files changed, 63 insertions(+), 40 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/79/36779/1
diff --git a/src/arch/x86/walkcbfs.S b/src/arch/x86/walkcbfs.S
index ded6558..01382e4 100644
--- a/src/arch/x86/walkcbfs.S
+++ b/src/arch/x86/walkcbfs.S
@@ -33,6 +33,7 @@
.section .text
.global walkcbfs_asm
+.code32
/*
* input %esi: filename
diff --git a/src/cpu/intel/model_1067x/Kconfig b/src/cpu/intel/model_1067x/Kconfig
index 564a428..93604d6 100644
--- a/src/cpu/intel/model_1067x/Kconfig
+++ b/src/cpu/intel/model_1067x/Kconfig
@@ -1,9 +1,14 @@
config CPU_INTEL_MODEL_1067X
bool
- select ARCH_BOOTBLOCK_X86_32
- select ARCH_VERSTAGE_X86_32
- select ARCH_ROMSTAGE_X86_32
- select ARCH_RAMSTAGE_X86_32
+ select ARCH_BOOTBLOCK_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_VERSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_ROMSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_RAMSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_BOOTBLOCK_X86_64 if ARCH_EXP_X86_64
+ select ARCH_VERSTAGE_X86_64 if ARCH_EXP_X86_64
+ select ARCH_ROMSTAGE_X86_64 if ARCH_EXP_X86_64
+ select ARCH_RAMSTAGE_X86_64 if ARCH_EXP_X86_64
+
select SMP
select SSE2
select UDELAY_TSC
diff --git a/src/cpu/intel/model_6fx/Kconfig b/src/cpu/intel/model_6fx/Kconfig
index cfd3e7c..8c86226 100644
--- a/src/cpu/intel/model_6fx/Kconfig
+++ b/src/cpu/intel/model_6fx/Kconfig
@@ -1,9 +1,14 @@
config CPU_INTEL_MODEL_6FX
bool
- select ARCH_BOOTBLOCK_X86_32
- select ARCH_VERSTAGE_X86_32
- select ARCH_ROMSTAGE_X86_32
- select ARCH_RAMSTAGE_X86_32
+ select ARCH_BOOTBLOCK_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_VERSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_ROMSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_RAMSTAGE_X86_32 if !ARCH_EXP_X86_64
+
+ select ARCH_BOOTBLOCK_X86_64 if ARCH_EXP_X86_64
+ select ARCH_VERSTAGE_X86_64 if ARCH_EXP_X86_64
+ select ARCH_ROMSTAGE_X86_64 if ARCH_EXP_X86_64
+ select ARCH_RAMSTAGE_X86_64 if ARCH_EXP_X86_64
select SMP
select SSE2
select UDELAY_TSC
diff --git a/src/cpu/intel/model_f3x/Kconfig b/src/cpu/intel/model_f3x/Kconfig
index 9a5e2a1..ae67337 100644
--- a/src/cpu/intel/model_f3x/Kconfig
+++ b/src/cpu/intel/model_f3x/Kconfig
@@ -1,9 +1,14 @@
config CPU_INTEL_MODEL_F3X
bool
- select ARCH_BOOTBLOCK_X86_32
- select ARCH_VERSTAGE_X86_32
- select ARCH_ROMSTAGE_X86_32
- select ARCH_RAMSTAGE_X86_32
+ select ARCH_BOOTBLOCK_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_VERSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_ROMSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_RAMSTAGE_X86_32 if !ARCH_EXP_X86_64
+
+ select ARCH_BOOTBLOCK_X86_64 if ARCH_EXP_X86_64
+ select ARCH_VERSTAGE_X86_64 if ARCH_EXP_X86_64
+ select ARCH_ROMSTAGE_X86_64 if ARCH_EXP_X86_64
+ select ARCH_RAMSTAGE_X86_64 if ARCH_EXP_X86_64
select SMP
select SUPPORT_CPU_UCODE_IN_CBFS
select CPU_INTEL_COMMON
diff --git a/src/cpu/intel/model_f4x/Kconfig b/src/cpu/intel/model_f4x/Kconfig
index 4ef60b5..84c6863 100644
--- a/src/cpu/intel/model_f4x/Kconfig
+++ b/src/cpu/intel/model_f4x/Kconfig
@@ -1,8 +1,12 @@
config CPU_INTEL_MODEL_F4X
bool
- select ARCH_BOOTBLOCK_X86_32
- select ARCH_VERSTAGE_X86_32
- select ARCH_ROMSTAGE_X86_32
- select ARCH_RAMSTAGE_X86_32
+ select ARCH_BOOTBLOCK_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_VERSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_ROMSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_RAMSTAGE_X86_32 if !ARCH_EXP_X86_64
+ select ARCH_BOOTBLOCK_X86_64 if ARCH_EXP_X86_64
+ select ARCH_VERSTAGE_X86_64 if ARCH_EXP_X86_64
+ select ARCH_ROMSTAGE_X86_64 if ARCH_EXP_X86_64
+ select ARCH_RAMSTAGE_X86_64 if ARCH_EXP_X86_64
select SMP
select SUPPORT_CPU_UCODE_IN_CBFS
diff --git a/src/cpu/intel/socket_LGA775/Kconfig b/src/cpu/intel/socket_LGA775/Kconfig
index 8b227bd..8f60d2c 100644
--- a/src/cpu/intel/socket_LGA775/Kconfig
+++ b/src/cpu/intel/socket_LGA775/Kconfig
@@ -3,6 +3,10 @@
if CPU_INTEL_SOCKET_LGA775
+config ARCH_EXP_X86_64
+ bool "Enable experimental 64bit support"
+ default n
+
config SOCKET_SPECIFIC_OPTIONS # dummy
def_bool y
select CPU_INTEL_MODEL_6FX
diff --git a/src/cpu/x86/mp_init.c b/src/cpu/x86/mp_init.c
index 29ae3de..ea70453 100644
--- a/src/cpu/x86/mp_init.c
+++ b/src/cpu/x86/mp_init.c
@@ -122,7 +122,7 @@
/* The SIPI vector is loaded at the SMM_DEFAULT_BASE. The reason is at the
* memory range is already reserved so the OS cannot use it. That region is
* free to use for AP bringup before SMM is initialized. */
-static const uint32_t sipi_vector_location = SMM_DEFAULT_BASE;
+static const uintptr_t sipi_vector_location = SMM_DEFAULT_BASE;
static const int sipi_vector_location_size = SMM_DEFAULT_SIZE;
struct mp_flight_plan {
@@ -348,16 +348,16 @@
setup_default_sipi_vector_params(sp);
/* Setup MSR table. */
- sp->msr_table_ptr = (uint32_t)&mod_loc[module_size];
+ sp->msr_table_ptr = (uintptr_t)&mod_loc[module_size];
sp->msr_count = num_msrs;
/* Provide pointer to microcode patch. */
- sp->microcode_ptr = (uint32_t)mp_params->microcode_pointer;
+ sp->microcode_ptr = (uintptr_t)mp_params->microcode_pointer;
/* Pass on abiility to load microcode in parallel. */
if (mp_params->parallel_microcode_load)
sp->microcode_lock = 0;
else
sp->microcode_lock = ~0;
- sp->c_handler = (uint32_t)&ap_init;
+ sp->c_handler = (uintptr_t)&ap_init;
ap_count = &sp->ap_count;
atomic_set(ap_count, 0);
diff --git a/src/cpu/x86/smm/smm_module_handler.c b/src/cpu/x86/smm/smm_module_handler.c
index bd4d48c..82ad37d 100644
--- a/src/cpu/x86/smm/smm_module_handler.c
+++ b/src/cpu/x86/smm/smm_module_handler.c
@@ -107,7 +107,7 @@
/* This function assumes all save states start at top of default
* SMRAM size space and are staggered down by save state size. */
- base = (void *)smm_runtime->smbase;
+ base = (void *)(uintptr_t)smm_runtime->smbase;
base += SMM_DEFAULT_SIZE;
base -= (cpu + 1) * smm_runtime->save_state_size;
diff --git a/src/drivers/net/atl1e.c b/src/drivers/net/atl1e.c
index 51470b0..d68ea0d 100644
--- a/src/drivers/net/atl1e.c
+++ b/src/drivers/net/atl1e.c
@@ -86,7 +86,7 @@
}
}
-static void program_mac_address(u32 mem_base)
+static void program_mac_address(uintptr_t mem_base)
{
u8 macstrbuf[MACLEN] = { 0 };
/* Default MAC Address of 90:e6:ba:24:f9:d2 */
@@ -110,7 +110,7 @@
printk(BIOS_DEBUG, "done\n");
}
-static int atl1e_eeprom_exist(u32 mem_base)
+static int atl1e_eeprom_exist(uintptr_t mem_base)
{
u32 value = read32((void *)mem_base + REG_SPI_FLASH_CTRL);
if (value & SPI_FLASH_CTRL_EN_VPD) {
diff --git a/src/northbridge/intel/x4x/dq_dqs.c b/src/northbridge/intel/x4x/dq_dqs.c
index ed372b5..080262e 100644
--- a/src/northbridge/intel/x4x/dq_dqs.c
+++ b/src/northbridge/intel/x4x/dq_dqs.c
@@ -178,7 +178,7 @@
static u8 test_dq_aligned(const struct sysinfo *s,
const u8 channel)
{
- u32 address;
+ uintptr_t address;
int rank, lane;
u8 count, count1;
u8 data[8];
@@ -374,7 +374,7 @@
{
int i, rank, lane;
volatile u8 data[8];
- u32 address;
+ uintptr_t address;
u8 bytelane_error = 0;
FOR_EACH_POPULATED_RANK_IN_CHANNEL(s->dimms, channel, rank) {
@@ -453,7 +453,8 @@
int do_read_training(struct sysinfo *s)
{
int loop, channel, i, lane, rank;
- u32 address, content;
+ uintptr_t address;
+ u32 content;
u8 dqs_lower[TOTAL_BYTELANES];
u8 dqs_upper[TOTAL_BYTELANES];
struct rt_dqs_setting dqs_setting[TOTAL_BYTELANES];
@@ -643,7 +644,7 @@
static void sample_dq(const struct sysinfo *s, u8 channel, u8 rank,
u8 high_found[8]) {
- u32 address = test_address(channel, rank);
+ uintptr_t address = test_address(channel, rank);
int samples, lane;
memset(high_found, 0, TOTAL_BYTELANES * sizeof(high_found[0]));
diff --git a/src/northbridge/intel/x4x/northbridge.c b/src/northbridge/intel/x4x/northbridge.c
index 39f24d3..592a2e0 100644
--- a/src/northbridge/intel/x4x/northbridge.c
+++ b/src/northbridge/intel/x4x/northbridge.c
@@ -89,7 +89,7 @@
/* cbmem_top can be shifted downwards due to alignment.
Mark the region between cbmem_top and tomk as unusable */
- delta_cbmem = tomk - ((uint32_t)cbmem_top() >> 10);
+ delta_cbmem = tomk - ((uintptr_t)cbmem_top() >> 10);
tomk -= delta_cbmem;
uma_sizek += delta_cbmem;
diff --git a/src/northbridge/intel/x4x/raminit_ddr23.c b/src/northbridge/intel/x4x/raminit_ddr23.c
index efdcbb6..31e94f4 100644
--- a/src/northbridge/intel/x4x/raminit_ddr23.c
+++ b/src/northbridge/intel/x4x/raminit_ddr23.c
@@ -1316,7 +1316,7 @@
void send_jedec_cmd(const struct sysinfo *s, u8 r, u8 ch, u8 cmd, u32 val)
{
- u32 addr = test_address(ch, r);
+ uintptr_t addr = test_address(ch, r);
u8 data8 = cmd;
u32 data32;
@@ -2160,7 +2160,7 @@
if (s->boot_path == BOOT_PATH_NORMAL) {
FOR_EACH_POPULATED_RANK(s->dimms, ch, r) {
for (bank = 0; bank < 4; bank++)
- read32((u32 *)(test_address(ch, r) | 0x800000 | (bank << 12)));
+ read32((u32 *)((uintptr_t)test_address(ch, r) | 0x800000 | (bank << 12)));
}
}
printk(BIOS_DEBUG, "Done dummy reads\n");
diff --git a/src/northbridge/intel/x4x/rcven.c b/src/northbridge/intel/x4x/rcven.c
index 36a6ebd..c41bb07 100644
--- a/src/northbridge/intel/x4x/rcven.c
+++ b/src/northbridge/intel/x4x/rcven.c
@@ -39,7 +39,7 @@
asm volatile("mfence":::);
}
-static u8 sampledqs(u32 addr, u8 lane, u8 channel)
+static u8 sampledqs(uintptr_t addr, u8 lane, u8 channel)
{
u32 sample_offset = 0x400 * channel + 0x561 + lane * 4;
diff --git a/src/northbridge/intel/x4x/x4x.h b/src/northbridge/intel/x4x/x4x.h
index 76d94c6..4809ee7 100644
--- a/src/northbridge/intel/x4x/x4x.h
+++ b/src/northbridge/intel/x4x/x4x.h
@@ -84,9 +84,9 @@
* MCHBAR
*/
-#define MCHBAR8(x) (*((volatile u8 *)(DEFAULT_MCHBAR + (x))))
-#define MCHBAR16(x) (*((volatile u16 *)(DEFAULT_MCHBAR + (x))))
-#define MCHBAR32(x) (*((volatile u32 *)(DEFAULT_MCHBAR + (x))))
+#define MCHBAR8(x) (*((volatile u8 *)((uintptr_t)DEFAULT_MCHBAR + (x))))
+#define MCHBAR16(x) (*((volatile u16 *)((uintptr_t)DEFAULT_MCHBAR + (x))))
+#define MCHBAR32(x) (*((volatile u32 *)((uintptr_t)DEFAULT_MCHBAR + (x))))
#define MCHBAR8_AND(x, and) (MCHBAR8(x) = MCHBAR8(x) & (and))
#define MCHBAR8_OR(x, or) (MCHBAR8(x) = MCHBAR8(x) | (or))
#define MCHBAR8_AND_OR(x, and, or) \
diff --git a/src/southbridge/intel/common/spi.c b/src/southbridge/intel/common/spi.c
index a84a0df..a9c8863 100644
--- a/src/southbridge/intel/common/spi.c
+++ b/src/southbridge/intel/common/spi.c
@@ -275,7 +275,7 @@
{
struct ich_spi_controller *cntlr = car_get_var_ptr(&g_cntlr);
uint8_t *rcrb; /* Root Complex Register Block */
- uint32_t rcba; /* Root Complex Base Address */
+ uintptr_t rcba; /* Root Complex Base Address */
uint8_t bios_cntl;
struct ich9_spi_regs *ich9_spi;
struct ich7_spi_regs *ich7_spi;
diff --git a/src/southbridge/intel/i82801jx/hdaudio.c b/src/southbridge/intel/i82801jx/hdaudio.c
index 0628c43..2273e6c 100644
--- a/src/southbridge/intel/i82801jx/hdaudio.c
+++ b/src/southbridge/intel/i82801jx/hdaudio.c
@@ -276,10 +276,8 @@
if (!res)
return;
- // NOTE this will break as soon as the Azalia get's a bar above
- // 4G. Is there anything we can do about it?
base = res2mmio(res, 0, 0);
- printk(BIOS_DEBUG, "Azalia: base = %08x\n", (u32)base);
+ printk(BIOS_DEBUG, "Azalia: base = %p\n", base);
codec_mask = codec_detect(base);
if (codec_mask) {
diff --git a/src/southbridge/intel/i82801jx/lpc.c b/src/southbridge/intel/i82801jx/lpc.c
index a395069..412e97f 100644
--- a/src/southbridge/intel/i82801jx/lpc.c
+++ b/src/southbridge/intel/i82801jx/lpc.c
@@ -669,7 +669,7 @@
/* Add it to SSDT. */
acpigen_write_scope("\\");
- acpigen_write_name_dword("NVSA", (u32) gnvs);
+ acpigen_write_name_dword("NVSA", (u32)(uintptr_t) gnvs);
acpigen_pop_len();
}
}
diff --git a/src/southbridge/intel/i82801jx/sata.c b/src/southbridge/intel/i82801jx/sata.c
index e6e08a3..70c5e69 100644
--- a/src/southbridge/intel/i82801jx/sata.c
+++ b/src/southbridge/intel/i82801jx/sata.c
@@ -37,7 +37,7 @@
u32 reg32;
/* Initialize AHCI memory-mapped space */
- u8 *abar = (u8 *)pci_read_config32(dev, PCI_BASE_ADDRESS_5);
+ u8 *abar = (u8 *)(uintptr_t)pci_read_config32(dev, PCI_BASE_ADDRESS_5);
printk(BIOS_DEBUG, "ABAR: %p\n", abar);
/* Set AHCI access mode.
--
To view, visit https://review.coreboot.org/c/coreboot/+/36779
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ib4851932975e99e06ba5650c2359a835b46d702d
Gerrit-Change-Number: 36779
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-MessageType: newchange
5
15
Change in coreboot[master]: mb/prodrive/hermes: Add power resource for Key M slot
by Angel Pons (Code Review) Aug. 7, 2023
by Angel Pons (Code Review) Aug. 7, 2023
Aug. 7, 2023
Hello Patrick Rudolph,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/48809
to review the following change.
Change subject: mb/prodrive/hermes: Add power resource for Key M slot
......................................................................
mb/prodrive/hermes: Add power resource for Key M slot
Add methods to enable/disable the power to Key M slot.
Change-Id: I21d0a4ad9d7f130a1402e6320c1f005b8475d047
Signed-off-by: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Signed-off-by: Angel Pons <th3fanbus(a)gmail.com>
---
M src/mainboard/prodrive/hermes/dsdt.asl
M src/mainboard/prodrive/hermes/mainboard.c
M src/mainboard/prodrive/hermes/variants/baseboard/gpio.c
3 files changed, 53 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/09/48809/1
diff --git a/src/mainboard/prodrive/hermes/dsdt.asl b/src/mainboard/prodrive/hermes/dsdt.asl
index 9eb91c5..841faf7 100644
--- a/src/mainboard/prodrive/hermes/dsdt.asl
+++ b/src/mainboard/prodrive/hermes/dsdt.asl
@@ -19,6 +19,53 @@
Device (PCI0) {
#include <soc/intel/common/block/acpi/acpi/northbridge.asl>
#include <soc/intel/cannonlake/acpi/southbridge.asl>
+
+ Scope (RP09)
+ {
+ Device (DEV0)
+ {
+ Name (_ADR, 0)
+ Name (STA, 1)
+
+ Method (_PS0, 0, Serialized)
+ {
+ If (STA == 0) {
+ STXS (GPP_K7)
+ Sleep (1)
+ STA = 1
+ }
+ }
+
+ Method (_PS3, 0, Serialized)
+ {
+ If (STA == 1) {
+ CTXS (GPP_K7)
+ STA = 0
+ }
+ }
+
+ Method (_PSC, 0, Serialized)
+ {
+ If (STA == 0) {
+ Return (3)
+ } Else {
+ Return (0)
+ }
+ }
+
+ Method (_PSE, 1, Serialized)
+ {
+ If (Arg0 == 0) {
+ _PS3 ()
+ } Else {
+ _PS0 ()
+ }
+ }
+
+ Name (_S3D, 2)
+ Name (_S4D, 2)
+ }
+ }
}
}
diff --git a/src/mainboard/prodrive/hermes/mainboard.c b/src/mainboard/prodrive/hermes/mainboard.c
index 6893eb7..860c992 100644
--- a/src/mainboard/prodrive/hermes/mainboard.c
+++ b/src/mainboard/prodrive/hermes/mainboard.c
@@ -119,6 +119,9 @@
{
acpigen_write_if_lequal_op_int(ARG0_OP, 5);
{
+ /* Turn off Key M slot power */
+ acpigen_soc_clear_tx_gpio(GPP_K7);
+
for (size_t i = 0; i < ARRAY_SIZE(usb_power_gpios); i++)
acpigen_write_soc_gpio_op(usb_power_gpios[i]);
}
diff --git a/src/mainboard/prodrive/hermes/variants/baseboard/gpio.c b/src/mainboard/prodrive/hermes/variants/baseboard/gpio.c
index 096dc35..a53a646 100644
--- a/src/mainboard/prodrive/hermes/variants/baseboard/gpio.c
+++ b/src/mainboard/prodrive/hermes/variants/baseboard/gpio.c
@@ -375,6 +375,9 @@
PAD_CFG_GPO(GPP_K1, 1, DEEP), /* PERST_CPU_SLOTS_n */
PAD_CFG_GPO(GPP_K2, 1, DEEP), /* PERST_CNVI_SLOTS_n */
+ /* Power Key M slot */
+ PAD_CFG_GPO(GPP_K7, 1, DEEP), /* EN_3V3_KEYM_PCH */
+
/* SMB */
PAD_CFG_NF(GPP_C0, NONE, DEEP, NF1), /* PCH_SMB_CLK */
PAD_CFG_NF(GPP_C1, NONE, DEEP, NF1), /* PCH_SMB_DATA */
--
To view, visit https://review.coreboot.org/c/coreboot/+/48809
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I21d0a4ad9d7f130a1402e6320c1f005b8475d047
Gerrit-Change-Number: 48809
Gerrit-PatchSet: 1
Gerrit-Owner: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Christian Walter <christian.walter(a)9elements.com>
Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-MessageType: newchange
3
6
Change in coreboot[master]: soc/intel/common/block: Update microcode for each core
by Patrick Rudolph (Code Review) Aug. 7, 2023
by Patrick Rudolph (Code Review) Aug. 7, 2023
Aug. 7, 2023
Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/35739 )
Change subject: soc/intel/common/block: Update microcode for each core
......................................................................
soc/intel/common/block: Update microcode for each core
On Hyper-Threading enabled platform update the microcde only once
for each core, not for each thread.
Follow Intel Software Developer Guidelines as the added comment
also states.
Change-Id: I72804753e567a137a5648ca6950009fed332531b
Signed-off-by: Patrick Rudolph <patrick.rudolph(a)9elements.com>
---
M src/soc/intel/common/block/cpu/mp_init.c
1 file changed, 20 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/39/35739/1
diff --git a/src/soc/intel/common/block/cpu/mp_init.c b/src/soc/intel/common/block/cpu/mp_init.c
index 2c5061f..e7689cf 100644
--- a/src/soc/intel/common/block/cpu/mp_init.c
+++ b/src/soc/intel/common/block/cpu/mp_init.c
@@ -26,6 +26,7 @@
#include <intelblocks/fast_spi.h>
#include <intelblocks/mp_init.h>
#include <intelblocks/msr.h>
+#include <cpu/intel/common/common.h>
#include <soc/cpu.h>
static const void *microcode_patch;
@@ -44,7 +45,24 @@
static void init_one_cpu(struct device *dev)
{
soc_core_init(dev);
- intel_microcode_load_unlocked(microcode_patch);
+
+ /*
+ * Update just on the first CPU in the core. Other siblings
+ * get the update automatically according to Document: 253668-060US
+ * Intel SDM Chapter 9.11.6.3
+ * "Update in a System Supporting Intel Hyper-Threading Technology"
+ * Intel Hyper-Threading Technology has implications on the loading of the
+ * microcode update. The update must be loaded for each core in a physical
+ * processor. Thus, for a processor supporting Intel Hyper-Threading
+ * Technology, only one logical processor per core is required to load the
+ * microcode update. Each individual logical processor can independently
+ * load the update. However, MP initialization must provide some mechanism
+ * (e.g. a software semaphore) to force serialization of microcode update
+ * loads and to prevent simultaneous load attempts to the same core.
+ */
+ if (!intel_ht_sibling()) {
+ intel_microcode_load_unlocked(microcode_patch);
+ }
}
static struct device_operations cpu_dev_ops = {
@@ -141,6 +159,7 @@
if (CONFIG(USE_INTEL_FSP_MP_INIT))
return;
+ /* Update microcode on BSP */
microcode_patch = intel_microcode_find();
intel_microcode_load_unlocked(microcode_patch);
--
To view, visit https://review.coreboot.org/c/coreboot/+/35739
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I72804753e567a137a5648ca6950009fed332531b
Gerrit-Change-Number: 35739
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-MessageType: newchange
9
52
Change in coreboot[master]: drivers/intel/fsp2_0: Allow including FSPT at specified offset
by Michał Żygowski (Code Review) Aug. 7, 2023
by Michał Żygowski (Code Review) Aug. 7, 2023
Aug. 7, 2023
Michał Żygowski has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/43398 )
Change subject: drivers/intel/fsp2_0: Allow including FSPT at specified offset
......................................................................
drivers/intel/fsp2_0: Allow including FSPT at specified offset
FSPT is executed by assembly code and is not being automatically
relocated, thus it must be at specified offset. Add options to
specify FSPT location in CBFS and user option to include FSPT.
Signed-off-by: Michał Żygowski <michal.zygowski(a)3mdeb.com>
Change-Id: I997c7465fd7ac56633c3e7e3fa5b95384dcf5ad2
---
M src/drivers/intel/fsp2_0/Kconfig
M src/drivers/intel/fsp2_0/Makefile.inc
2 files changed, 11 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/98/43398/1
diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig
index 3caa04a..5d27f32 100644
--- a/src/drivers/intel/fsp2_0/Kconfig
+++ b/src/drivers/intel/fsp2_0/Kconfig
@@ -89,6 +89,14 @@
help
The path and filename of the Intel FSP-T binary for this platform.
+config FSP_T_CBFS_LOCATION
+ hex "Intel FSP-T Binary location in CBFS"
+ default 0xfffd1000
+ help
+ Specify the location of FSP-T binary. FSP-T is executed early by
+ assembly code and is not automatically relocated. The location must
+ match the binary base address in FSP-T header.
+
config FSP_M_FILE
string "Intel FSP-M (memory init) binary path and filename" if !FSP_USE_REPO
depends on ADD_FSP_BINARIES
@@ -104,7 +112,7 @@
The path and filename of the Intel FSP-S binary for this platform.
config FSP_CAR
- bool
+ bool "Use FSP to setup temporary memory"
default n
help
Use FSP APIs to initialize & Tear Down the Cache-As-Ram
diff --git a/src/drivers/intel/fsp2_0/Makefile.inc b/src/drivers/intel/fsp2_0/Makefile.inc
index 278036a..a1758ea 100644
--- a/src/drivers/intel/fsp2_0/Makefile.inc
+++ b/src/drivers/intel/fsp2_0/Makefile.inc
@@ -42,8 +42,9 @@
cbfs-files-$(CONFIG_FSP_CAR) += $(FSP_T_CBFS)
$(FSP_T_CBFS)-file := $(call strip_quotes,$(CONFIG_FSP_T_FILE))
$(FSP_T_CBFS)-type := fsp
+$(FSP_T_CBFS)-options := -b $(CONFIG_FSP_T_CBFS_LOCATION)
ifeq ($(CONFIG_FSP_T_XIP),y)
-$(FSP_T_CBFS)-options := --xip $(TXTIBB) $(BTGIBB)
+$(FSP_T_CBFS)-options := --xip $(TXTIBB) $(BTGIBB) -b $(CONFIG_FSP_T_CBFS_LOCATION)
endif
cbfs-files-$(CONFIG_ADD_FSP_BINARIES) += $(FSP_M_CBFS)
--
To view, visit https://review.coreboot.org/c/coreboot/+/43398
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I997c7465fd7ac56633c3e7e3fa5b95384dcf5ad2
Gerrit-Change-Number: 43398
Gerrit-PatchSet: 1
Gerrit-Owner: Michał Żygowski <michal.zygowski(a)3mdeb.com>
Gerrit-Reviewer: Andrey Petrov <andrey.petrov(a)gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-MessageType: newchange
5
13
Change in coreboot[master]: [WIP] autoport: Add BroadWell SoC support
by Iru Cai (vimacs) (Code Review) Aug. 7, 2023
by Iru Cai (vimacs) (Code Review) Aug. 7, 2023
Aug. 7, 2023
Hello Iru Cai,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/46832
to review the following change.
Change subject: [WIP] autoport: Add BroadWell SoC support
......................................................................
[WIP] autoport: Add BroadWell SoC support
Change-Id: I62ab51b8a9c5873695bd7d75543c452ec422f11d
Signed-off-by: Iru Cai <mytbk920423(a)gmail.com>
---
A util/autoport/soc_broadwell.go
1 file changed, 420 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/32/46832/1
diff --git a/util/autoport/soc_broadwell.go b/util/autoport/soc_broadwell.go
new file mode 100644
index 0000000..ee61407
--- /dev/null
+++ b/util/autoport/soc_broadwell.go
@@ -0,0 +1,420 @@
+package main
+
+import "fmt"
+import "os"
+
+type broadwellsoc struct {}
+
+/* FIXME: southbridge interface */
+func (bdw broadwellsoc) GetGPIOHeader() string {
+ return "soc/pch.h"
+}
+
+func (bdw broadwellsoc) EncodeGPE(in int) int {
+ return in + 0x10
+}
+
+func (bdw broadwellsoc) DecodeGPE(in int) int {
+ return in + 0x10
+}
+
+func (bdw broadwellsoc) EnableGPE(in int) {
+}
+
+func (bdw broadwellsoc) NeedRouteGPIOManually() {
+}
+
+func PrintUSB2(pei *os.File, inteltool InteltoolData) {
+ pdo1 := PCIMap[PCIAddr{Bus: 0, Dev: 0x1d, Func: 0}].ConfigDump[0x64]
+ ocmap1 := PCIMap[PCIAddr{Bus: 0, Dev: 0x1d, Func: 0}].ConfigDump[0x74:0x78]
+
+ xusb2pr := GetLE16(PCIMap[PCIAddr{Bus: 0, Dev: 0x14, Func: 0}].ConfigDump[0xd0:0xd4])
+
+ for port := 0; port < 8; port++ {
+ var port_oc int = -1
+ var port_pos string
+ var port_disable uint8
+
+ port_disable = ((pdo1 >> port) & (uint8(xusb2pr>>port) ^ 1)) & 1
+ for oc := 0; oc < 4; oc++ {
+ if (ocmap1[oc] & (1 << port)) != 0 {
+ port_oc = oc
+ break
+ }
+ }
+
+ /* get USB2 port length and location from IOBP */
+ /* FIXME: the following is from LPT-LP */
+ port_iobp := inteltool.IOBP[0xe5004100+uint32(port)*0x100]
+ loc_param := (port_iobp >> 8) & 7
+ txamp := (port_iobp >> 11) & 7
+ var port_length int
+
+ if loc_param == 6 {
+ /* back panel or mini pcie, length >= 0x70 */
+ port_pos = "USB_PORT_MINI_PCIE"
+ if txamp <= 2 {
+ port_length = 0x80
+ } else {
+ port_length = 0x110
+ }
+ } else if loc_param == 4 {
+ port_pos = "USB_PORT_DOCK"
+ if txamp <= 1 {
+ port_length = 0x40
+ } else {
+ port_length = 0x80
+ }
+ } else {
+ port_pos = "USB_PORT_BACK_PANEL"
+ port_length = 0x40
+ }
+
+ if port_disable == 1 {
+ port_pos = "USB_PORT_SKIP"
+ }
+
+ if port_oc == -1 {
+ fmt.Fprintf(pei, "\tpei_data_usb2_port(pei_data, %d, 0x%04x, %d, USB_OC_PIN_SKIP,\n\t\t\t %s);\n",
+ port, port_length, (port_disable ^ 1), port_pos)
+ } else {
+ fmt.Fprintf(pei, "\tpei_data_usb2_port(pei_data, %d, 0x%04x, %d, %d,\n\t\t\t %s);\n",
+ port, port_length, (port_disable ^ 1), port_oc, port_pos)
+ }
+ }
+}
+
+func PrintUSB3(pei *os.File) {
+ xpdo := PCIMap[PCIAddr{Bus: 0, Dev: 0x14, Func: 0}].ConfigDump[0xe8]
+ u3ocm := PCIMap[PCIAddr{Bus: 0, Dev: 0x14, Func: 0}].ConfigDump[0xc8:0xd0]
+
+ for port := 0; port < 4; port++ {
+ var port_oc int = -1
+ port_disable := (xpdo >> port) & 1
+ for oc := 0; oc < 8; oc++ {
+ if (u3ocm[oc] & (1 << port)) != 0 {
+ port_oc = oc
+ break
+ }
+ }
+ /* FIXME: how to get the fix_eq value? */
+ if port_oc == -1 {
+ fmt.Fprintf(pei, "\tpei_data_usb3_port(pei_data, %d, %d, USB_OC_PIN_SKIP, 0);\n",
+ port, (port_disable ^ 1))
+ } else {
+ fmt.Fprintf(pei, "\tpei_data_usb3_port(pei_data, %d, %d, %d, 0);\n",
+ port, (port_disable ^ 1), port_oc)
+ }
+ }
+}
+
+func AddBroadwellPEIData(ctx Context, inteltool InteltoolData) {
+ pei := Create(ctx, "pei_data.c")
+ defer pei.Close()
+
+ AddROMStageFile("pei_data.c", "")
+ AddRAMStageFile("pei_data.c", "")
+
+ Add_gpl(pei)
+ pei.WriteString(`#include <soc/pei_data.h>
+#include <soc/pei_wrapper.h>
+
+void mainboard_fill_pei_data(struct pei_data *pei_data)
+{
+ pei_data->ec_present = 1;
+
+ /* FIXME: check these values */
+ pei_data->dimm_channel0_disabled = 0;
+ pei_data->dimm_channel1_disabled = 0;
+ pei_data->spd_addresses[0] = 0xa0;
+ pei_data->spd_addresses[1] = 0xa2;
+ pei_data->spd_addresses[2] = 0xa4;
+ pei_data->spd_addresses[3] = 0xa6;
+ pei_data->dq_pins_interleaved = 0;
+
+ /* FIXME: USB2 ports */
+`)
+ PrintUSB2(pei, inteltool)
+
+ pei.WriteString(`
+ /* FIXME: USB3 ports */
+`)
+ PrintUSB3(pei)
+
+ pei.WriteString(`}
+`)
+}
+
+func BDWLPGPIO(ctx Context, inteltool InteltoolData) {
+ gpio := Create(ctx, "gpio.c")
+ defer gpio.Close()
+
+ AddROMStageFile("gpio.c", "")
+
+ Add_gpl(gpio)
+ gpio.WriteString(`#include <soc/gpio.h>
+
+const struct gpio_config mainboard_gpio_config[] = {
+`)
+ PrintLPGPIO(gpio, inteltool, "PCH")
+ gpio.WriteString("\tPCH_GPIO_END\n};\n")
+}
+
+func (bdw broadwellsoc) Scan(ctx Context, addr PCIDevData) {
+ SouthBridge = &bdw
+
+ inteltool := ctx.InfoSource.GetInteltool()
+
+ BDWLPGPIO(ctx, inteltool)
+
+ /* FIXME:XX Move this somewhere else. */
+ MainboardIncludes = append(MainboardIncludes, "drivers/intel/gma/int15.h")
+ MainboardEnable += (` /* FIXME: fix those values*/
+ install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_DEFAULT,
+ GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
+`)
+
+ romstage := Create(ctx, "romstage.c")
+ defer romstage.Close()
+ Add_gpl(romstage)
+ romstage.WriteString(`#include <soc/pei_data.h>
+#include <soc/pei_wrapper.h>
+#include <soc/romstage.h>
+
+void mainboard_pre_raminit(struct romstage_params *rp)
+{
+ /* Fill out PEI DATA */
+ mainboard_fill_pei_data(&rp->pei_data);
+}
+
+void mainboard_post_raminit(struct romstage_params *rp)
+{
+}
+`)
+
+ acpi := Create(ctx, "acpi_tables.c")
+ defer acpi.Close()
+ Add_gpl(acpi)
+ acpi.WriteString(`#include <acpi/acpi.h>
+#include <acpi/acpi_gnvs.h>
+#include <arch/ioapic.h>
+#include <soc/acpi.h>
+#include <soc/nvs.h>
+
+void acpi_create_gnvs(struct global_nvs *gnvs)
+{
+ acpi_init_gnvs(gnvs);
+}
+
+unsigned long acpi_fill_madt(unsigned long current)
+{
+ /* Local APICs */
+ current = acpi_create_madt_lapics(current);
+
+ /* IOAPIC */
+ current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *) current,
+ 2, IO_APIC_ADDR, 0);
+
+ return acpi_madt_irq_overrides(current);
+}
+`)
+
+ var refclk uint32
+ var pwm_hz uint32
+ refclk = 24000000
+
+ if (inteltool.IGD[0xc8254] >> 16) != 0 {
+ pwm_hz = refclk / 128 / (inteltool.IGD[0xc8254] >> 16)
+ } else {
+ pwm_hz = 0
+ }
+
+ /* FIXME */
+ sata_dtle := []uint32{0,0,0,0}
+ sata_tx := []uint32{0,0,0,0}
+
+ DevTree = DevTreeNode{
+ Chip: "soc/intel/broadwell",
+ MissingParent: "northbridge",
+ Comment: "FIXME: check these values",
+ Registers: map[string]string{
+ /* power management */
+ "gpe0_en_1": "0",
+ "gpe0_en_2": "0",
+ "gpe0_en_3": "0",
+ "gpe0_en_4": "0",
+ "alt_gp_smi_en": "0",
+ /* SATA */
+ "sata_port_map": fmt.Sprintf("0x%x", PCIMap[PCIAddr{Bus: 0, Dev: 0x1f, Func: 2}].ConfigDump[0x92]&0x3f),
+ "sata_port0_gen3_tx": fmt.Sprintf("0x%x", sata_tx[0]),
+ "sata_port1_gen3_tx": fmt.Sprintf("0x%x", sata_tx[0]),
+ "sata_port2_gen3_tx": fmt.Sprintf("0x%x", sata_tx[0]),
+ "sata_port3_gen3_tx": fmt.Sprintf("0x%x", sata_tx[0]),
+ "sata_port0_gen3_dtle": fmt.Sprintf("0x%x", sata_dtle[0]),
+ "sata_port1_gen3_dtle": fmt.Sprintf("0x%x", sata_dtle[1]),
+ "sata_port2_gen3_dtle": fmt.Sprintf("0x%x", sata_dtle[2]),
+ "sata_port3_gen3_dtle": fmt.Sprintf("0x%x", sata_dtle[3]),
+ "sata_devslp_mux": "0",
+ "sata_devslp_disable": "0",
+ /* I/O decode */
+ "gen1_dec": FormatHexLE32(PCIMap[PCIAddr{Bus: 0, Dev: 0x1f, Func: 0}].ConfigDump[0x84:0x88]),
+ "gen2_dec": FormatHexLE32(PCIMap[PCIAddr{Bus: 0, Dev: 0x1f, Func: 0}].ConfigDump[0x88:0x8c]),
+ "gen3_dec": FormatHexLE32(PCIMap[PCIAddr{Bus: 0, Dev: 0x1f, Func: 0}].ConfigDump[0x8c:0x90]),
+ "gen4_dec": FormatHexLE32(PCIMap[PCIAddr{Bus: 0, Dev: 0x1f, Func: 0}].ConfigDump[0x90:0x94]),
+ /* PCIe */
+ "pcie_port_coalesce": "1",
+ "pcie_port_force_aspm": "0",
+ /* serial I/O */
+ "sio_acpi_mode": "0",
+ "sio_i2c0_voltage": "0",
+ "sio_i2c1_voltage": "0",
+ /* graphics */
+ "gpu_dp_b_hotplug": FormatInt32((inteltool.IGD[0xc4030] >> 2) & 7),
+ "gpu_dp_c_hotplug": FormatInt32((inteltool.IGD[0xc4030] >> 10) & 7),
+ "gpu_dp_d_hotplug": FormatInt32((inteltool.IGD[0xc4030] >> 18) & 7),
+ "gpu_panel_power_cycle_delay": FormatInt32(inteltool.IGD[0xc7210] & 0xff),
+ "gpu_panel_power_up_delay": FormatInt32((inteltool.IGD[0xc7208] >> 16) & 0x1fff),
+ "gpu_panel_power_down_delay": FormatInt32((inteltool.IGD[0xc720c] >> 16) & 0x1fff),
+ "gpu_panel_power_backlight_on_delay": FormatInt32(inteltool.IGD[0xc7208] & 0x1fff),
+ "gpu_panel_power_backlight_off_delay": FormatInt32(inteltool.IGD[0xc720c] & 0x1fff),
+ "gpu_pch_backlight_pwm_hz": FormatInt32(pwm_hz),
+ "gfx": "GMA_STATIC_DISPLAYS(0)",
+ },
+ Children: []DevTreeNode{
+ {
+ Chip: "cpu_cluster",
+ Dev: 0,
+ Children: []DevTreeNode{
+ {
+ Chip: "lapic",
+ Dev: 0,
+ },
+ },
+ },
+
+ {
+ Chip: "domain",
+ Dev: 0,
+ PCIController: true,
+ ChildPCIBus: 0,
+ PCISlots: []PCISlot{
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x0, Func: 0}, writeEmpty: true },
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x2, Func: 0}, writeEmpty: true, additionalComment: "Internal graphics"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x3, Func: 0}, writeEmpty: true, additionalComment: "Mini-HD audio"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x13, Func: 0}, writeEmpty: true, additionalComment: "Smart Sound Audio DSP"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x14, Func: 0}, writeEmpty: true, additionalComment: "xHCI Controller"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x15, Func: 0}, writeEmpty: true, additionalComment: "Serial I/O DMA"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x15, Func: 1}, writeEmpty: true, additionalComment: "I2C0"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x15, Func: 2}, writeEmpty: true, additionalComment: "I2C1"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x15, Func: 3}, writeEmpty: true, additionalComment: "GSPI0"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x15, Func: 4}, writeEmpty: true, additionalComment: "GSPI1"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x15, Func: 5}, writeEmpty: true, additionalComment: "UART0"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x15, Func: 6}, writeEmpty: true, additionalComment: "UART1"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x16, Func: 0}, writeEmpty: true, additionalComment: "Management Engine Interface 1"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x16, Func: 1}, writeEmpty: true, additionalComment: "Management Engine Interface 2"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x16, Func: 2}, writeEmpty: true, additionalComment: "Management Engine IDE-R"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x16, Func: 3}, writeEmpty: true, additionalComment: "Management Engine KT"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x17, Func: 0}, writeEmpty: true, additionalComment: "SDIO"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x19, Func: 0}, writeEmpty: true, additionalComment: "Intel Gigabit Ethernet"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1b, Func: 0}, writeEmpty: true, additionalComment: "High Definition Audio"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1c, Func: 0}, writeEmpty: true, additionalComment: "PCIe Port #1"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1c, Func: 1}, writeEmpty: true, additionalComment: "PCIe Port #2"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1c, Func: 2}, writeEmpty: true, additionalComment: "PCIe Port #3"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1c, Func: 3}, writeEmpty: true, additionalComment: "PCIe Port #4"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1c, Func: 4}, writeEmpty: true, additionalComment: "PCIe Port #5"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1c, Func: 5}, writeEmpty: true, additionalComment: "PCIe Port #6"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1d, Func: 0}, writeEmpty: true, additionalComment: "USB2 EHCI #1"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1e, Func: 0}, writeEmpty: true, additionalComment: "PCI bridge"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1f, Func: 0}, writeEmpty: true, additionalComment: "LPC bridge"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1f, Func: 2}, writeEmpty: true, additionalComment: "SATA Controller (AHCI)"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1f, Func: 3}, writeEmpty: true, additionalComment: "SMBus"},
+ PCISlot{PCIAddr: PCIAddr{Dev: 0x1f, Func: 6}, writeEmpty: true, additionalComment: "Thermal"},
+ },
+ },
+ },
+ }
+
+ PutPCIDev(addr, "Host bridge")
+
+ KconfigBool["SOC_INTEL_BROADWELL"] = true
+ KconfigBool["INTEL_INT15"] = true
+ KconfigBool["HAVE_ACPI_TABLES"] = true
+ KconfigBool["HAVE_ACPI_RESUME"] = true
+
+ lpPchGetFlashSize(ctx)
+
+ DSDTIncludes = append(DSDTIncludes, DSDTInclude{
+ File: "soc/intel/broadwell/acpi/platform.asl",
+ }, DSDTInclude{
+ File: "soc/intel/broadwell/acpi/globalnvs.asl",
+ }, DSDTInclude{
+ File: "cpu/intel/common/acpi/cpu.asl",
+ }, DSDTInclude{
+ File: "southbridge/intel/common/acpi/sleepstates.asl",
+ })
+
+ DSDTPCI0Includes = append(DSDTPCI0Includes, DSDTInclude{
+ File: "soc/intel/broadwell/acpi/systemagent.asl",
+ }, DSDTInclude{
+ File: "soc/intel/broadwell/acpi/pch.asl",
+ })
+
+ AddBroadwellPEIData(ctx, inteltool)
+}
+
+func init() {
+ /* Host bridge */
+ RegisterPCI(0x8086, 0x1604, broadwellsoc{})
+ /* Graphics */
+ for _, id := range []uint16{
+ 0x1606, 0x1616, 0x1626, 0x162b,
+ } {
+ RegisterPCI(0x8086, id, GenericVGA{GenericPCI{Comment: "VGA controller"}})
+ }
+ /* Audio */
+ RegisterPCI(0x8086, 0x160c, GenericPCI{})
+ /* SATA */
+ for _, id := range []uint16{
+ 0x9c83, 0x9c85, 0x9c87, 0x9c8f, 0x282a,
+ } {
+ RegisterPCI(0x8086, id, GenericPCI{})
+ }
+ /* PCIe */
+ for _, id := range []uint16{
+ 0x9c90, 0x9c92, 0x9c94, 0x9c96, 0x9c98, 0x9c9a,
+ 0x2448,
+ } {
+ RegisterPCI(0x8086, id, GenericPCI{})
+ }
+ /* HD audio */
+ RegisterPCI(0x8086, 0x9ca0, azalia{})
+ /* SMBus */
+ RegisterPCI(0x8086, 0x9ca2, GenericPCI{})
+ /* Thermal */
+ RegisterPCI(0x8086, 0x9ca4, GenericPCI{})
+ /* EHCI */
+ RegisterPCI(0x8086, 0x9ca6, GenericPCI{})
+ /* xHCI */
+ RegisterPCI(0x8086, 0x9cb1, GenericPCI{})
+ /* LAN */
+ RegisterPCI(0x8086, 0x155a, GenericPCI{})
+ /* SDIO */
+ RegisterPCI(0x8086, 0x9cb5, GenericPCI{})
+ /* Intel Smart Sound Technology*/
+ RegisterPCI(0x8086, 0x9cb6, GenericPCI{})
+ /* Intel ME and children */
+ for id := uint16(0x9cba); id <= 0x9cbd; id++ {
+ RegisterPCI(0x8086, id, GenericPCI{})
+ }
+ /* LPC */
+ for _, id := range []uint16{
+ 0x9cc1, 0x9cc2, 0x9cc3, 0x9cc5,
+ 0x9cc6, 0x9cc7, 0x9cc9,
+ } {
+ RegisterPCI(0x8086, id, GenericPCI{})
+ }
+ /* Serial I/O */
+ for id := uint16(0x9ce0); id <= 0x9ce6; id++ {
+ RegisterPCI(0x8086, id, GenericPCI{})
+ }
+}
--
To view, visit https://review.coreboot.org/c/coreboot/+/46832
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I62ab51b8a9c5873695bd7d75543c452ec422f11d
Gerrit-Change-Number: 46832
Gerrit-PatchSet: 1
Gerrit-Owner: Iru Cai (vimacs) <mytbk920423(a)gmail.com>
Gerrit-Reviewer: Iru Cai <mytbk920423(a)gmail.com>
Gerrit-MessageType: newchange
7
20
Change in coreboot[master]: soc/intel/tigerlake: Remove SW CM PM changes for FW CM
by Shreesh Chhabbi (Code Review) Aug. 7, 2023
by Shreesh Chhabbi (Code Review) Aug. 7, 2023
Aug. 7, 2023
Shreesh Chhabbi has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/42768 )
Change subject: soc/intel/tigerlake: Remove SW CM PM changes for FW CM
......................................................................
soc/intel/tigerlake: Remove SW CM PM changes for FW CM
This patch is not to be merged. It is only for cherry-picking
to build the image with FW CM configuration.
Change-Id: I89db2557e33dc222ae1cb54401c738ded474202b
Signed-off-by: Shreesh Chhabbi <shreesh.chhabbi(a)intel.com>
---
M src/soc/intel/tigerlake/acpi/tcss.asl
M src/soc/intel/tigerlake/acpi/tcss_dma.asl
M src/soc/intel/tigerlake/acpi/tcss_pcierp.asl
M src/soc/intel/tigerlake/acpi/tcss_xhci.asl
4 files changed, 220 insertions(+), 219 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/68/42768/1
diff --git a/src/soc/intel/tigerlake/acpi/tcss.asl b/src/soc/intel/tigerlake/acpi/tcss.asl
index 2fda693..48f2689 100644
--- a/src/soc/intel/tigerlake/acpi/tcss.asl
+++ b/src/soc/intel/tigerlake/acpi/tcss.asl
@@ -29,19 +29,9 @@
#define MAILBOX_BIOS_CMD_TCSS_DEVEN_INTERFACE 0x00000015
#define TCSS_DEVEN_MAILBOX_SUBCMD_GET_STATUS 0 /* Sub-command 0 */
#define TCSS_DEVEN_MAILBOX_SUBCMD_TCSS_CHANGE_REQ 1 /* Sub-command 1 */
+
#define TCSS_IOM_ACK_TIMEOUT_IN_MS 100
-#define MCHBAR_TCSS_DEVEN_OFFSET 0x7090
-
-#define REVISION_ID 1
-#define UNRECOGNIZED_UUID 0x4
-#define UNRECOGNIZED_REVISION 0x8
-
-#define USB_TUNNELING 0x1
-#define DISPLAY_PORT_TUNNELING 0x2
-#define PCIE_TUNNELING 0x4
-#define INTER_DOMAIN_USB4_INTERNET_PROTOCOL 0x8
-
Scope (\_SB)
{
/* Device base address */
@@ -136,46 +126,6 @@
}
Return (0)
}
-
- Method (_OSC, 4, Serialized)
- {
- /*
- * Operating System Capabilities for USB4
- * Arg0: UUID = {23A0D13A-26AB-486C-9C5F-0FFA525A575A}
- * Arg1: Revision ID = 1
- * Arg2: Count of entries (DWORD) in Arg3 (Integer): 3
- * Arg3: DWORD capabilities buffer:
- * First DWORD: The standard definition bits are used to return errors.
- * Second DWORD: OSPM support field for USB4, bits [31:0] reserved.
- * Third DWORD: OSPM control field for USB4.
- * bit 0: USB tunneling
- * bit 1: DisplayPort tunneling
- * bit 2: PCIe tunneling
- * bit 3: Inter-domain USB4 internet protocol
- * bit 31:4: reserved
- * Return: The platform acknowledges the capabilities buffer by returning
- * a buffer of DWORD of the same length. Masked/Cleared bits in the
- * control field indicate that the platform does not permit OSPM
- * control of the respectively capabilities or features.
- */
- Name (CTRL, 0) /* Control field value */
- If (Arg0 == ToUUID("23A0D13A-26AB-486C-9C5F-0FFA525A575A")) {
- CreateDWordField(Arg3, 0, CDW1)
- CreateDWordField(Arg3, 2, CDW3)
- CTRL = CDW3
-
- If (Arg1 != REVISION_ID) {
- CDW1 |= UNRECOGNIZED_REVISION
- }
- CTRL |= USB_TUNNELING | DISPLAY_PORT_TUNNELING | PCIE_TUNNELING |
- INTER_DOMAIN_USB4_INTERNET_PROTOCOL
- CDW3 = CTRL
- Return (Arg3)
- } Else {
- CDW1 |= UNRECOGNIZED_UUID
- Return (Arg3)
- }
- }
}
Scope (_GPE)
@@ -302,25 +252,6 @@
Scope (\_SB.PCI0)
{
/*
- * Operation region defined to access the TCSS_DEVEN. Get the MCHBAR in offset
- * 0x48 in B0:D0:F0. TCSS device enable base address is in offset 0x7090 of MCHBAR.
- */
- OperationRegion (TDEN, SystemMemory, (GMHB() + MCHBAR_TCSS_DEVEN_OFFSET), 0x4)
- Field (TDEN, ByteAcc, NoLock, Preserve)
- {
- TRE0, 1, /* PCIE0_EN */
- TRE1, 1, /* PCIE1_EN */
- TRE2, 1, /* PCIE2_EN */
- TRE3, 1, /* PCIE3_EN */
- , 4,
- THCE, 1, /* XHCI_EN */
- TDCE, 1, /* XDCI_EN */
- DME0, 1, /* TBT_DMA0_EN */
- DME1, 1, /* TBT_DMA1_EN */
- , 20
- }
-
- /*
* Operation region defined to access the IOM REGBAR. Get the MCHBAR in offset
* 0x48 in B0:D0:F0. REGBAR Base address is in offset 0x7110 of MCHBAR.
*/
@@ -493,6 +424,17 @@
}
/*
+ * Below is a variable to store devices connect state for TBT PCIe RP before
+ * entering D3 cold.
+ * Value 0 - no device connected before enter D3 cold, no need to send
+ * CONNECT_TOPOLOGY in D3 cold exit.
+ * Value 1 - has device connected before enter D3 cold, need to send
+ * CONNECT_TOPOLOGY in D3 cold exit.
+ */
+ Name (CTP0, 0) /* Variable of device connecet status for TBT0 group. */
+ Name (CTP1, 0) /* Variable of device connecet status for TBT1 group. */
+
+ /*
* TBT Group0 ON method
*/
Method (TG0N, 0)
@@ -513,6 +455,28 @@
/* RP1 D3 cold exit. */
\_SB.PCI0.TRP1.D3CX()
}
+
+ /*
+ * Need to send Connect-Topology command when TBT host
+ * controller back to D0 from D3.
+ */
+ If (\_SB.PCI0.TDM0.ALCT == 1) {
+ If (CTP0 == 1) {
+ /*
+ * Send Connect-Topology command if there is
+ * device present on PCIe RP.
+ */
+ \_SB.PCI0.TDM0.CNTP()
+
+ /* Indicate to wait Connect-Topology command. */
+ \_SB.PCI0.TDM0.WACT = 1
+
+ /* Clear the connect states. */
+ CTP0 = 0
+ }
+ /* Disallow to send Connect-Topology command. */
+ \_SB.PCI0.TDM0.ALCT = 0
+ }
} Else {
Printf("Drop TG0N due to it is already exit D3 cold.")
}
@@ -536,10 +500,16 @@
Printf("Push TBT RPs to D3Cold together")
If (\_SB.PCI0.TRP0.VDID != 0xFFFFFFFF) {
+ If (\_SB.PCI0.TRP0.PDSX == 1) {
+ CTP0 = 1
+ }
/* Put RP0 to D3 cold. */
\_SB.PCI0.TRP0.D3CE()
}
If (\_SB.PCI0.TRP1.VDID != 0xFFFFFFFF) {
+ If (\_SB.PCI0.TRP1.PDSX == 1) {
+ CTP0 = 1
+ }
/* Put RP1 to D3 cold. */
\_SB.PCI0.TRP1.D3CE()
}
@@ -568,6 +538,28 @@
/* RP3 D3 cold exit. */
\_SB.PCI0.TRP3.D3CX()
}
+
+ /*
+ * Need to send Connect-Topology command when TBT host
+ * controller back to D0 from D3.
+ */
+ If (\_SB.PCI0.TDM1.ALCT == 1) {
+ If (CTP1 == 1) {
+ /*
+ * Send Connect-Topology command if there is
+ * device present on PCIe RP.
+ */
+ \_SB.PCI0.TDM1.CNTP()
+
+ /* Indicate to wait Connect-Topology command. */
+ \_SB.PCI0.TDM1.WACT = 1
+
+ /* Clear the connect states. */
+ CTP1 = 0
+ }
+ /* Disallow to send Connect-Topology cmd. */
+ \_SB.PCI0.TDM1.ALCT = 0
+ }
} Else {
Printf("Drop TG1N due to it is already exit D3 cold.")
}
@@ -591,10 +583,16 @@
Printf("Push TBT RPs to D3Cold together")
If (\_SB.PCI0.TRP2.VDID != 0xFFFFFFFF) {
+ If (\_SB.PCI0.TRP2.PDSX == 1) {
+ CTP1 = 1
+ }
/* Put RP2 to D3 cold. */
\_SB.PCI0.TRP2.D3CE()
}
If (\_SB.PCI0.TRP3.VDID != 0xFFFFFFFF) {
+ If (\_SB.PCI0.TRP3.PDSX == 1) {
+ CTP1 = 1
+ }
/* Put RP3 to D3 cold */
\_SB.PCI0.TRP3.D3CE()
}
@@ -765,11 +763,7 @@
Method (_STA, 0x0, NotSerialized)
{
- If (THCE == 1) {
- Return (0x0F)
- } Else {
- Return (0x0)
- }
+ Return (0x0F)
}
#include "tcss_xhci.asl"
}
@@ -787,11 +781,7 @@
Method (_STA, 0x0, NotSerialized)
{
- If (DME0 == 1) {
- Return (0x0F)
- } Else {
- Return (0x0)
- }
+ Return (0x0F)
}
#include "tcss_dma.asl"
}
@@ -809,11 +799,7 @@
Method (_STA, 0x0, NotSerialized)
{
- If (DME1 == 1) {
- Return (0x0F)
- } Else {
- Return (0x0)
- }
+ Return (0x0F)
}
#include "tcss_dma.asl"
}
@@ -832,13 +818,8 @@
Method (_STA, 0x0, NotSerialized)
{
- If (TRE0 == 1) {
- Return (0x0F)
- } Else {
- Return (0x0)
- }
+ Return (0x0F)
}
-
Method (_INI)
{
LTEN = 0
@@ -862,13 +843,8 @@
Method (_STA, 0x0, NotSerialized)
{
- If (TRE1 == 1) {
- Return (0x0F)
- } Else {
- Return (0x0)
- }
+ Return (0x0F)
}
-
Method (_INI)
{
LTEN = 0
@@ -892,13 +868,8 @@
Method (_STA, 0x0, NotSerialized)
{
- If (TRE2 == 1) {
- Return (0x0F)
- } Else {
- Return (0x0)
- }
+ Return (0x0F)
}
-
Method (_INI)
{
LTEN = 0
@@ -922,13 +893,8 @@
Method (_STA, 0x0, NotSerialized)
{
- If (TRE3 == 1) {
- Return (0x0F)
- } Else {
- Return (0x0)
- }
+ Return (0x0F)
}
-
Method (_INI)
{
LTEN = 0
diff --git a/src/soc/intel/tigerlake/acpi/tcss_dma.asl b/src/soc/intel/tigerlake/acpi/tcss_dma.asl
index 8eab92f..66950a6 100644
--- a/src/soc/intel/tigerlake/acpi/tcss_dma.asl
+++ b/src/soc/intel/tigerlake/acpi/tcss_dma.asl
@@ -26,7 +26,118 @@
DMAD, 8 /* 31:24 DMA Active Delay */
}
+/*
+ * TBT MailBox Command Method
+ * Arg0 - MailBox Cmd ID
+ */
+Method (ITMB, 1, Serialized)
+{
+ Local0 = Arg0 | 0x1 /* 0x1, PCIE2TBT_VLD_B */
+ P2TB = Local0
+}
+
+/*
+ * Wait For Command Completed
+ * Arg0 - TimeOut value (unit is 1 millisecond)
+ */
+Method (WFCC, 1, Serialized)
+{
+ WTBS (Arg0)
+ P2TB = 0
+ WTBC (Arg0)
+}
+
+/*
+ * Wait For Command Set
+ * Arg0 - TimeOut value
+ */
+Method (WTBS, 1, Serialized)
+{
+ Local0 = Arg0
+ While (Local0 > 0) {
+ /* Wait for Bit to Set. */
+ If (TB2P & 0x1) { /* 0x1, TBT2PCIE_DON_R */
+ Break
+ }
+ Local0--
+ Sleep (1)
+ }
+}
+
+/*
+ * Wait For Command Clear
+ * Arg0 - TimeOut value
+ */
+Method (WTBC, 1, Serialized)
+{
+ Local0 = Arg0
+ While (Local0 > 0) {
+ /* Wait for Bit to Clear. */
+ If ((TB2P & 0x1) != 0x0) { /* 0x1, TBT2PCIE_DON_R */
+ Break
+ }
+ Local0--
+ Sleep (1)
+ }
+}
+
+/*
+ * TCSS TBT CONNECT_TOPOLOGY MailBox Command Method
+ */
+Method (CNTP, 0, Serialized)
+{
+ Local0 = 0
+ /* Set Force Power if it is not set */
+ If (DFPE == 0) {
+ DMAD = 0x22
+ DFPE = 1
+ /*
+ * Poll the TBT NVM FW Ready bit with timeout(default is 500ms) before
+ * send the TBT MailBox command.
+ */
+ While ((INFR == 0) && (Local0 < 500)) {
+ Sleep (1)
+ Local0++
+ }
+ }
+ If (Local0 != 100) {
+ ITMB (0x3E) /* 0x3E, PCIE2TBT_CONNECT_TOPOLOGY_COMMAND */
+ }
+}
+
Name (STAT, 0x1) /* Variable to save power state 1 - D0, 0 - D3C */
+Name (ALCT, 0x0) /* Connect-Topology cmd can be sent or not 1 - yes, 0 - no */
+/*
+ * Wait Connect-Topology cmd done
+ * 0 - no need to wait
+ * 1 - need to wait
+ * 2 - wait in progress
+ */
+Name (WACT, 0x0)
+
+Method (_PS0, 0, Serialized)
+{
+ If (WACT == 1) {
+ /*
+ * PCIe rp0/rp1 is grouped with DMA0 and PCIe rp2/rp3 is grouped wit DMA1.
+ * Whenever the Connect-Topology command is in the process, WACT flag is set 1.
+ * PCIe root ports 0/1/2/3/ and DMA 0/1 _PS0 method set WACT to 2 to indicate
+ * other thread's _PS0 to wait for the command completion. WACT is cleared to
+ * be 0 after command is finished.
+ */
+ WACT = 2
+ WFCC (100) /* Wait for command complete. */
+ WACT = 0
+ } ElseIf (WACT == 2) {
+ While (WACT != 0) {
+ Sleep (5)
+ }
+ }
+}
+
+Method (_PS3, 0, Serialized)
+{
+}
Method (_S0W, 0x0)
{
@@ -67,6 +178,7 @@
{
DD3E = 1 /* Enable DMA RTD3 */
STAT = 0
+ ALCT = 0x1 /* Allow to send Connect-Topology cmd. */
}
/*
diff --git a/src/soc/intel/tigerlake/acpi/tcss_pcierp.asl b/src/soc/intel/tigerlake/acpi/tcss_pcierp.asl
index 096a673..a7eafa4 100644
--- a/src/soc/intel/tigerlake/acpi/tcss_pcierp.asl
+++ b/src/soc/intel/tigerlake/acpi/tcss_pcierp.asl
@@ -64,7 +64,7 @@
*/
Method (_DSM, 4, Serialized)
{
- Return (Buffer() { 0x00 })
+ Return (Buffer() {0x00})
}
Device (PXSX)
@@ -195,8 +195,34 @@
If (PMEX == 1) {
PMEX = 0 /* Disable Power Management SCI */
}
-
- Sleep(100) /* Wait for 100ms before return to OS starts any OS activities. */
+ Sleep(100) /* Wait for 100ms before return to OS starts any DS activities. */
+ If ((TUID == 0) || (TUID == 1)) {
+ If (\_SB.PCI0.TDM0.WACT == 1) {
+ /*
+ * Indicate other thread's _PS0 to wait the response.
+ */
+ \_SB.PCI0.TDM0.WACT = 2
+ \_SB.PCI0.TDM0.WFCC (10) /* Wait for command complete. */
+ \_SB.PCI0.TDM0.WACT = 0
+ } ElseIf (\_SB.PCI0.TDM0.WACT == 2) {
+ While (\_SB.PCI0.TDM0.WACT != 0) {
+ Sleep (5)
+ }
+ }
+ } Else {
+ If (\_SB.PCI0.TDM1.WACT == 1) {
+ /*
+ * Indicate other thread's _PS0 to wait the response.
+ */
+ \_SB.PCI0.TDM1.WACT = 2
+ \_SB.PCI0.TDM1.WFCC (10) /* Wait for command complete. */
+ \_SB.PCI0.TDM1.WACT = 0
+ } ElseIf (\_SB.PCI0.TDM1.WACT == 2) {
+ While (\_SB.PCI0.TDM1.WACT != 0) {
+ Sleep (5)
+ }
+ }
+ }
}
Method (_PS3, 0, Serialized)
@@ -220,8 +246,8 @@
}
Method (_DSD, 0) {
- If ((TUID == 0) || (TUID == 1)) {
- Return ( Package() {
+ Return (
+ Package () {
/* acpi_pci_bridge_d3 at ../drivers/pci/pci-acpi.c */
ToUUID("6211E2C0-58A3-4AF3-90E1-927A4E0C55A4"),
Package ()
@@ -238,64 +264,9 @@
* (NumOfTBTRP - 1).
*/
Package (2) { "UID", TUID },
- },
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package (2) { "usb4-host-interface", \_SB.PCI0.TDM0 },
- Package (2) { "usb4-port-number", TUID },
}
- })
- } ElseIf (TUID == 2) {
- Return ( Package () {
- /* acpi_pci_bridge_d3 at ../drivers/pci/pci-acpi.c */
- ToUUID("6211E2C0-58A3-4AF3-90E1-927A4E0C55A4"),
- Package ()
- {
- Package (2) { "HotPlugSupportInD3", 1 },
- },
-
- /* pci_acpi_set_untrusted at ../drivers/pci/pci-acpi.c */
- ToUUID("EFCC06CC-73AC-4BC3-BFF0-76143807C389"),
- Package () {
- Package (2) { "ExternalFacingPort", 1 }, /* TBT/CIO port */
- /*
- * UID of the TBT RP on platform, range is: 0, 1 ...,
- * (NumOfTBTRP - 1).
- */
- Package (2) { "UID", TUID },
- },
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package (2) { "usb4-host-interface", \_SB.PCI0.TDM1 },
- Package (2) { "usb4-port-number", 0 },
- }
- })
- } Else { /* TUID == 3 */
- Return ( Package () {
- /* acpi_pci_bridge_d3 at ../drivers/pci/pci-acpi.c */
- ToUUID("6211E2C0-58A3-4AF3-90E1-927A4E0C55A4"),
- Package ()
- {
- Package (2) { "HotPlugSupportInD3", 1 },
- },
-
- /* pci_acpi_set_untrusted at ../drivers/pci/pci-acpi.c */
- ToUUID("EFCC06CC-73AC-4BC3-BFF0-76143807C389"),
- Package () {
- Package (2) { "ExternalFacingPort", 1 }, /* TBT/CIO port */
- /*
- * UID of the TBT RP on platform, range is: 0, 1 ...,
- * (NumOfTBTRP - 1).
- */
- Package (2) { "UID", TUID },
- },
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package () {
- Package (2) { "usb4-host-interface", \_SB.PCI0.TDM1 },
- Package (2) { "usb4-port-number", 1 },
- }
- })
- }
+ }
+ )
}
Method (_S0W, 0x0, NotSerialized)
diff --git a/src/soc/intel/tigerlake/acpi/tcss_xhci.asl b/src/soc/intel/tigerlake/acpi/tcss_xhci.asl
index c32deed..259b92a 100644
--- a/src/soc/intel/tigerlake/acpi/tcss_xhci.asl
+++ b/src/soc/intel/tigerlake/acpi/tcss_xhci.asl
@@ -118,68 +118,20 @@
Device (SS01)
{
Name (_ADR, 0x02)
- Method (_DSD, 0, NotSerialized)
- {
- Return( Package ()
- {
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package ()
- {
- Package (2) { "usb4-host-interface", \_SB.PCI0.TDM0 },
- Package (2) { "usb4-port-number", 0 }
- }
- })
- }
}
Device (SS02)
{
Name (_ADR, 0x03)
- Method (_DSD, 0, NotSerialized)
- {
- Return( Package ()
- {
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package ()
- {
- Package (2) { "usb4-host-interface", \_SB.PCI0.TDM0 },
- Package (2) { "usb4-port-number", 1 }
- }
- })
- }
}
Device (SS03)
{
Name (_ADR, 0x04)
- Method (_DSD, 0, NotSerialized)
- {
- Return( Package ()
- {
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package ()
- {
- Package (2) { "usb4-host-interface", \_SB.PCI0.TDM1 },
- Package (2) { "usb4-port-number", 0 }
- }
- })
- }
}
Device (SS04)
{
Name (_ADR, 0x05)
- Method (_DSD, 0, NotSerialized)
- {
- Return( Package ()
- {
- ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
- Package ()
- {
- Package (2) { "usb4-host-interface", \_SB.PCI0.TDM1 },
- Package (2) { "usb4-port-number", 1 }
- }
- })
- }
}
}
--
To view, visit https://review.coreboot.org/c/coreboot/+/42768
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I89db2557e33dc222ae1cb54401c738ded474202b
Gerrit-Change-Number: 42768
Gerrit-PatchSet: 1
Gerrit-Owner: Shreesh Chhabbi <shreesh.chhabbi(a)intel.com>
Gerrit-MessageType: newchange
2
3
Change in coreboot[master]: Enable TCSS devices PM based on platform device tree setting
by Shreesh Chhabbi (Code Review) Aug. 7, 2023
by Shreesh Chhabbi (Code Review) Aug. 7, 2023
Aug. 7, 2023
Hello John Zhao, Shreesh Chhabbi,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/42771
to review the following change.
Change subject: Enable TCSS devices PM based on platform device tree setting
......................................................................
Enable TCSS devices PM based on platform device tree setting
Signed-off-by: John Zhao <john.zhao(a)intel.com>
Change-Id: I3044d5f4a882849abd87e313e65189659d503bfb
Signed-off-by: Shreesh Chhabbi <shreesh.chhabbi(a)intel.corp-partner.google.com>
---
M src/soc/intel/tigerlake/acpi/tcss.asl
1 file changed, 58 insertions(+), 7 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/71/42771/1
diff --git a/src/soc/intel/tigerlake/acpi/tcss.asl b/src/soc/intel/tigerlake/acpi/tcss.asl
index 48f2689..24ca891 100644
--- a/src/soc/intel/tigerlake/acpi/tcss.asl
+++ b/src/soc/intel/tigerlake/acpi/tcss.asl
@@ -252,6 +252,25 @@
Scope (\_SB.PCI0)
{
/*
+ * Operation region defined to access the TCSS_DEVEN. Get the MCHBAR in offset
+ * 0x48 in B0:D0:F0. TCSS device enable base address is in offset 0x7090 of MCHBAR.
+ */
+ OperationRegion (TDEN, SystemMemory, (GMHB() + 0x7090), 0x4)
+ Field (TDEN, ByteAcc, NoLock, Preserve)
+ {
+ TRE0, 1, /* PCIE0_EN */
+ TRE1, 1, /* PCIE1_EN */
+ TRE2, 1, /* PCIE2_EN */
+ TRE3, 1, /* PCIE3_EN */
+ , 4,
+ THCE, 1, /* XHCI_EN */
+ TDCE, 1, /* XDCI_EN */
+ DME0, 1, /* TBT_DMA0_EN */
+ DME1, 1, /* TBT_DMA1_EN */
+ , 20
+ }
+
+ /*
* Operation region defined to access the IOM REGBAR. Get the MCHBAR in offset
* 0x48 in B0:D0:F0. REGBAR Base address is in offset 0x7110 of MCHBAR.
*/
@@ -763,7 +782,11 @@
Method (_STA, 0x0, NotSerialized)
{
- Return (0x0F)
+ If (THCE == 1) {
+ Return (0x0F)
+ } Else {
+ Return (0x0)
+ }
}
#include "tcss_xhci.asl"
}
@@ -781,7 +804,11 @@
Method (_STA, 0x0, NotSerialized)
{
- Return (0x0F)
+ If (DME0 == 1) {
+ Return (0x0F)
+ } Else {
+ Return (0x0)
+ }
}
#include "tcss_dma.asl"
}
@@ -799,7 +826,11 @@
Method (_STA, 0x0, NotSerialized)
{
- Return (0x0F)
+ If (DME1 == 1) {
+ Return (0x0F)
+ } Else {
+ Return (0x0)
+ }
}
#include "tcss_dma.asl"
}
@@ -818,8 +849,13 @@
Method (_STA, 0x0, NotSerialized)
{
- Return (0x0F)
+ If (TRE0 == 1) {
+ Return (0x0F)
+ } Else {
+ Return (0x0)
+ }
}
+
Method (_INI)
{
LTEN = 0
@@ -843,8 +879,13 @@
Method (_STA, 0x0, NotSerialized)
{
- Return (0x0F)
+ If (TRE1 == 1) {
+ Return (0x0F)
+ } Else {
+ Return (0x0)
+ }
}
+
Method (_INI)
{
LTEN = 0
@@ -868,8 +909,13 @@
Method (_STA, 0x0, NotSerialized)
{
- Return (0x0F)
+ If (TRE2 == 1) {
+ Return (0x0F)
+ } Else {
+ Return (0x0)
+ }
}
+
Method (_INI)
{
LTEN = 0
@@ -893,8 +939,13 @@
Method (_STA, 0x0, NotSerialized)
{
- Return (0x0F)
+ If (TRE3 == 1) {
+ Return (0x0F)
+ } Else {
+ Return (0x0)
+ }
}
+
Method (_INI)
{
LTEN = 0
--
To view, visit https://review.coreboot.org/c/coreboot/+/42771
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I3044d5f4a882849abd87e313e65189659d503bfb
Gerrit-Change-Number: 42771
Gerrit-PatchSet: 1
Gerrit-Owner: Shreesh Chhabbi <shreesh.chhabbi(a)intel.com>
Gerrit-Reviewer: John Zhao <john.zhao(a)intel.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Shreesh Chhabbi <shreesh.chhabbi(a)intel.corp-partner.google.com>
Gerrit-MessageType: newchange
2
3
Change in coreboot[master]: mb/supermicro/x10slm-f: Add new superio support to board's Kconfig
by Christoph Pomaska (Code Review) Aug. 7, 2023
by Christoph Pomaska (Code Review) Aug. 7, 2023
Aug. 7, 2023
Christoph Pomaska has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/34905 )
Change subject: mb/supermicro/x10slm-f: Add new superio support to board's Kconfig
......................................................................
mb/supermicro/x10slm-f: Add new superio support to board's Kconfig
Since the superio support code didnt exist when the board was ported,
the Kconfig was not modified yet to add support for the BMC-chip.
This commit fixes the missing Kconfig entry.
Change-Id: I4f89c2ddcc00327e01d0a83fc13cfa862e6abd70
Signed-off-by: Christoph Pomaska <c.pomaska(a)hosting.de>
---
M src/mainboard/supermicro/x10slm-f/Kconfig
1 file changed, 4 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/05/34905/1
diff --git a/src/mainboard/supermicro/x10slm-f/Kconfig b/src/mainboard/supermicro/x10slm-f/Kconfig
index 3945c09..6effff2 100644
--- a/src/mainboard/supermicro/x10slm-f/Kconfig
+++ b/src/mainboard/supermicro/x10slm-f/Kconfig
@@ -20,15 +20,16 @@
def_bool y
select BOARD_ROMSIZE_KB_16384
select CPU_INTEL_HASWELL
- select DRIVERS_ASPEED_AST2050 # Supports AST2400 too.
+ select SOUTHBRIDGE_INTEL_LYNXPOINT
select HAVE_ACPI_RESUME
select HAVE_ACPI_TABLES
select HAVE_OPTION_TABLE
select HAVE_CMOS_DEFAULT
select NORTHBRIDGE_INTEL_HASWELL
select SERIRQ_CONTINUOUS_MODE
- select SOUTHBRIDGE_INTEL_LYNXPOINT
- select SUPERIO_NUVOTON_NCT6776
+ select DRIVERS_ASPEED_AST2050 # Supports AST2400 too.
+ select SUPERIO_ASPEED_AST2400 # The board's BMC
+ select SUPERIO_NUVOTON_NCT6776 # the board's superio
select SUPERIO_NUVOTON_NCT6776_COM_A
config CBFS_SIZE
--
To view, visit https://review.coreboot.org/c/coreboot/+/34905
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I4f89c2ddcc00327e01d0a83fc13cfa862e6abd70
Gerrit-Change-Number: 34905
Gerrit-PatchSet: 1
Gerrit-Owner: Christoph Pomaska <github(a)aufmachen.jetzt>
Gerrit-MessageType: newchange
9
45