Hello Mike Banon,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/30749
to review the following change.
Change subject: sb/amd/agesa/hudson/Kconfig: Disable XHCI by default, enable only with firmware
......................................................................
sb/amd/agesa/hudson/Kconfig: Disable XHCI by default, enable only with firmware
Currently, by default AGESA's XHCI controller is enabled without XHCI firmware
being added if USE_BLOBS isn't selected. With this faulty set of default values
at least AMD Lenovo G505S laptop has the following problem: both USB 3.0 ports
are not working at all, even at 2.0 mode. To avoid it we should disable XHCI
controller by default and allow enabling it only with a firmware provided.
Signed-off-by: Mike Banon <mikebdp2(a)gmail.com>
Change-Id: I9f2b88d65f4f300ba1a28db09fb41d6bac6252b6
---
M src/southbridge/amd/agesa/hudson/Kconfig
1 file changed, 3 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/49/30749/1
diff --git a/src/southbridge/amd/agesa/hudson/Kconfig b/src/southbridge/amd/agesa/hudson/Kconfig
index b80f734..0c6ac3e 100644
--- a/src/southbridge/amd/agesa/hudson/Kconfig
+++ b/src/southbridge/amd/agesa/hudson/Kconfig
@@ -41,7 +41,8 @@
config HUDSON_XHCI_ENABLE
bool "Enable Hudson XHCI Controller"
- default y
+ default n
+ select HUDSON_XHCI_FWM
help
The XHCI controller must be enabled and the XHCI firmware
must be added in order to have USB 3.0 support configured
@@ -50,7 +51,7 @@
XHCI controller is not enabled by coreboot.
config HUDSON_XHCI_FWM
- bool "Add xhci firmware"
+ bool "Add XHCI firmware"
default y if USE_BLOBS
help
Add Hudson 2/3/4 XHCI Firmware to support the onboard USB 3.0
--
To view, visit https://review.coreboot.org/c/coreboot/+/30749
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I9f2b88d65f4f300ba1a28db09fb41d6bac6252b6
Gerrit-Change-Number: 30749
Gerrit-PatchSet: 1
Gerrit-Owner: mikeb mikeb <mikebdp2(a)gmail.com>
Gerrit-Reviewer: Mike Banon <mikebdp2(a)gmail.com>
Gerrit-MessageType: newchange
Gaggery Tsai has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/30486
Change subject: src/soc/intel/common/block/pcie: Add a workaround for ThP2 9260
......................................................................
src/soc/intel/common/block/pcie: Add a workaround for ThP2 9260
This patch adds a workaround for ThP2. The PCIe root port LCTL2.TLS
is by default GEN1 and ThP has bad synchronization on polarity
inversion. When the root port request for speed change, ThP doesn’t
confirm the request, and both sides are moving to polling after
timeout, hot reset is issued, and then most of the CFG space is
initialized. From the observation, CCC/ECPM/LTR would be reset to
default but CCC/ECPM of root port and end devices have been
reconfigured in pci_scan. The LTR configuration for root port
is still missing.
BUG=B:117618636
BRANCH=None
TEST=Add THP2_9260_WORKAROUND in Atlas configuration & emerge-atlas
coreboot chromeos-bootimage & Warm/cold reset for 10 times and
didn't see unsupported request related AER error messages &
$lspci -vvs 00:1c.0|grep LTR and ensure LTR+ is present.
Change-Id: Id5d2814488fbc9db927edb2ead972b73ebc336ce
Signed-off-by: Gaggery Tsai <gaggery.tsai(a)intel.com>
---
M src/soc/intel/common/block/pcie/Kconfig
M src/soc/intel/common/block/pcie/pcie.c
2 files changed, 29 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/86/30486/1
diff --git a/src/soc/intel/common/block/pcie/Kconfig b/src/soc/intel/common/block/pcie/Kconfig
index aa32324..36915fa 100644
--- a/src/soc/intel/common/block/pcie/Kconfig
+++ b/src/soc/intel/common/block/pcie/Kconfig
@@ -13,3 +13,8 @@
Enable debug logs in PCIe module. Allows debug information on memory
base and limit, prefetchable memory base and limit, prefetchable memory
base upper 32 bits and prefetchable memory limit upper 32 bits.
+
+config THP2_9260_WORKAROUND
+ bool
+ help
+ THP2 workaround
diff --git a/src/soc/intel/common/block/pcie/pcie.c b/src/soc/intel/common/block/pcie/pcie.c
index 3ebb4f6..07a2321 100644
--- a/src/soc/intel/common/block/pcie/pcie.c
+++ b/src/soc/intel/common/block/pcie/pcie.c
@@ -28,12 +28,36 @@
/* PCI-E Sub-System ID */
#define PCIE_SUBSYSTEM_VENDOR_ID 0x94
+/*
+ * Check the LTR for root port and enable it
+ */
+static void pciexp_enable_root_port_ltr(struct device *root, unsigned root_cap)
+{
+ u16 root_ltr;
+ unsigned int val;
+
+ val = pci_read_config16(root, root_cap + PCI_EXP_DEV_CAP2_OFFSET);
+
+ if (val & LTR_MECHANISM_SUPPORT) {
+ root_ltr = pci_read_config16(root, root_cap + PCI_EXP_DEV_CTL_STS2_CAP_OFFSET);
+ root_ltr |= LTR_MECHANISM_EN;
+ pci_write_config16(root, root_cap + PCI_EXP_DEV_CTL_STS2_CAP_OFFSET, root_ltr);
+ }
+}
+
static void pch_pcie_init(struct device *dev)
{
u16 reg16;
+ unsigned int dev_cap;
printk(BIOS_DEBUG, "Initializing PCH PCIe bridge.\n");
+ if (IS_ENABLED(CONFIG_THP2_9260_WORKAROUND)) {
+ dev_cap = pci_find_capability(dev, PCI_CAP_ID_PCIE);
+ if (dev_cap)
+ pciexp_enable_root_port_ltr(dev, dev_cap);
+ }
+
/* Enable SERR */
pci_or_config32(dev, PCI_COMMAND, PCI_COMMAND_SERR);
--
To view, visit https://review.coreboot.org/c/coreboot/+/30486
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Id5d2814488fbc9db927edb2ead972b73ebc336ce
Gerrit-Change-Number: 30486
Gerrit-PatchSet: 1
Gerrit-Owner: Gaggery Tsai <gaggery.tsai(a)intel.com>
Gerrit-MessageType: newchange
ron minnich has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/31079
Change subject: riscv: realign our naming with the true names
......................................................................
riscv: realign our naming with the true names
The riscv world has decided that
riscv means rv32
riscv64 means rv64
and that, further, nobody is going to use names like rv32 or rv64! Poor choices IMHO but
seems it's too late to change.
This is the first step on aligning coreboot naming to the outside world. Partly this is needed
for a 32-bit RISCV processor coming to you soon, but largely it's good to be aligned with
everyone else's naming.
A primary goal here is that src/arch/riscv continues to mean "all riscv regardless of word size"
even though it arguably is not following the naming. But the 32- and 64-bit isa's are essentially
the same save for XLEN, so this ought to work.
Choosing 32- or 64-bit is done in mainboards, hence the name change for the
emulation targets. With luck, we might someday be able to say "build the emulation
target and pick the 32-bit variant" but our naming does not quite allow that yet.
In future commits we'll probably want to move src/soc/ucb/riscv to src/soc/ucb/riscv64
but it's nice to minimize breakage.
Change-Id: If842767a4b6c5e82df99b5a57b524b88044afcba
Signed-off-by: Ronald G. Minnich <rminnich(a)gmail.com>
---
M MAINTAINERS
R src/mainboard/emulation/qemu-riscv64/Kconfig
R src/mainboard/emulation/qemu-riscv64/Kconfig.name
R src/mainboard/emulation/qemu-riscv64/Makefile.inc
R src/mainboard/emulation/qemu-riscv64/board_info.txt
R src/mainboard/emulation/qemu-riscv64/devicetree.cb
R src/mainboard/emulation/qemu-riscv64/mainboard.c
R src/mainboard/emulation/qemu-riscv64/memlayout.ld
R src/mainboard/emulation/qemu-riscv64/mtime.c
R src/mainboard/emulation/qemu-riscv64/rom_media.c
R src/mainboard/emulation/qemu-riscv64/romstage.c
R src/mainboard/emulation/qemu-riscv64/uart.c
D src/mainboard/emulation/spike-riscv/Kconfig.name
R src/mainboard/emulation/spike-riscv64/Kconfig
A src/mainboard/emulation/spike-riscv64/Kconfig.name
R src/mainboard/emulation/spike-riscv64/Makefile.inc
R src/mainboard/emulation/spike-riscv64/board_info.txt
R src/mainboard/emulation/spike-riscv64/clint.c
R src/mainboard/emulation/spike-riscv64/devicetree.cb
R src/mainboard/emulation/spike-riscv64/mainboard.c
R src/mainboard/emulation/spike-riscv64/memlayout.ld
R src/mainboard/emulation/spike-riscv64/rom_media.c
R src/mainboard/emulation/spike-riscv64/romstage.c
R src/mainboard/emulation/spike-riscv64/uart.c
24 files changed, 12 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/79/31079/1
diff --git a/MAINTAINERS b/MAINTAINERS
index fbaad69..8131178 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -141,7 +141,7 @@
F: src/arch/riscv/
F: src/soc/sifive/
F: src/soc/ucb/
-F: src/mainboard/emulation/*-riscv/
+F: src/mainboard/emulation/*-riscv*/
F: src/mainboard/sifive/
F: util/riscv/
diff --git a/src/mainboard/emulation/qemu-riscv/Kconfig b/src/mainboard/emulation/qemu-riscv64/Kconfig
similarity index 91%
rename from src/mainboard/emulation/qemu-riscv/Kconfig
rename to src/mainboard/emulation/qemu-riscv64/Kconfig
index 528b21e..62b8e3a 100644
--- a/src/mainboard/emulation/qemu-riscv/Kconfig
+++ b/src/mainboard/emulation/qemu-riscv64/Kconfig
@@ -27,11 +27,11 @@
config MAINBOARD_DIR
string
- default emulation/qemu-riscv
+ default emulation/qemu-riscv64
config MAINBOARD_PART_NUMBER
string
- default "QEMU RISCV"
+ default "QEMU RISCV64"
config MAX_CPUS
int
@@ -41,4 +41,4 @@
int
default 32768
-endif # BOARD_EMULATION_QEMU_RISCV
+endif # BOARD_EMULATION_QEMU_RISCV64
diff --git a/src/mainboard/emulation/qemu-riscv/Kconfig.name b/src/mainboard/emulation/qemu-riscv64/Kconfig.name
similarity index 61%
rename from src/mainboard/emulation/qemu-riscv/Kconfig.name
rename to src/mainboard/emulation/qemu-riscv64/Kconfig.name
index e9243e6..54454cb 100644
--- a/src/mainboard/emulation/qemu-riscv/Kconfig.name
+++ b/src/mainboard/emulation/qemu-riscv64/Kconfig.name
@@ -1,2 +1,2 @@
config BOARD_EMULATION_QEMU_RISCV
- bool "QEMU riscv"
+ bool "QEMU riscv64"
diff --git a/src/mainboard/emulation/qemu-riscv/Makefile.inc b/src/mainboard/emulation/qemu-riscv64/Makefile.inc
similarity index 100%
rename from src/mainboard/emulation/qemu-riscv/Makefile.inc
rename to src/mainboard/emulation/qemu-riscv64/Makefile.inc
diff --git a/src/mainboard/emulation/qemu-riscv/board_info.txt b/src/mainboard/emulation/qemu-riscv64/board_info.txt
similarity index 100%
rename from src/mainboard/emulation/qemu-riscv/board_info.txt
rename to src/mainboard/emulation/qemu-riscv64/board_info.txt
diff --git a/src/mainboard/emulation/qemu-riscv/devicetree.cb b/src/mainboard/emulation/qemu-riscv64/devicetree.cb
similarity index 100%
rename from src/mainboard/emulation/qemu-riscv/devicetree.cb
rename to src/mainboard/emulation/qemu-riscv64/devicetree.cb
diff --git a/src/mainboard/emulation/qemu-riscv/mainboard.c b/src/mainboard/emulation/qemu-riscv64/mainboard.c
similarity index 100%
rename from src/mainboard/emulation/qemu-riscv/mainboard.c
rename to src/mainboard/emulation/qemu-riscv64/mainboard.c
diff --git a/src/mainboard/emulation/qemu-riscv/memlayout.ld b/src/mainboard/emulation/qemu-riscv64/memlayout.ld
similarity index 100%
rename from src/mainboard/emulation/qemu-riscv/memlayout.ld
rename to src/mainboard/emulation/qemu-riscv64/memlayout.ld
diff --git a/src/mainboard/emulation/qemu-riscv/mtime.c b/src/mainboard/emulation/qemu-riscv64/mtime.c
similarity index 100%
rename from src/mainboard/emulation/qemu-riscv/mtime.c
rename to src/mainboard/emulation/qemu-riscv64/mtime.c
diff --git a/src/mainboard/emulation/qemu-riscv/rom_media.c b/src/mainboard/emulation/qemu-riscv64/rom_media.c
similarity index 100%
rename from src/mainboard/emulation/qemu-riscv/rom_media.c
rename to src/mainboard/emulation/qemu-riscv64/rom_media.c
diff --git a/src/mainboard/emulation/qemu-riscv/romstage.c b/src/mainboard/emulation/qemu-riscv64/romstage.c
similarity index 100%
rename from src/mainboard/emulation/qemu-riscv/romstage.c
rename to src/mainboard/emulation/qemu-riscv64/romstage.c
diff --git a/src/mainboard/emulation/qemu-riscv/uart.c b/src/mainboard/emulation/qemu-riscv64/uart.c
similarity index 100%
rename from src/mainboard/emulation/qemu-riscv/uart.c
rename to src/mainboard/emulation/qemu-riscv64/uart.c
diff --git a/src/mainboard/emulation/spike-riscv/Kconfig.name b/src/mainboard/emulation/spike-riscv/Kconfig.name
deleted file mode 100644
index 17549c6..0000000
--- a/src/mainboard/emulation/spike-riscv/Kconfig.name
+++ /dev/null
@@ -1,3 +0,0 @@
-config BOARD_EMULATION_SPIKE_RISCV
- bool "SPIKE riscv"
- help
diff --git a/src/mainboard/emulation/spike-riscv/Kconfig b/src/mainboard/emulation/spike-riscv64/Kconfig
similarity index 86%
rename from src/mainboard/emulation/spike-riscv/Kconfig
rename to src/mainboard/emulation/spike-riscv64/Kconfig
index f8c98ab..c09b621 100644
--- a/src/mainboard/emulation/spike-riscv/Kconfig
+++ b/src/mainboard/emulation/spike-riscv64/Kconfig
@@ -12,7 +12,7 @@
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
-if BOARD_EMULATION_SPIKE_RISCV
+if BOARD_EMULATION_SPIKE_RISCV64
config BOARD_SPECIFIC_OPTIONS
def_bool y
@@ -24,14 +24,14 @@
config MAINBOARD_DIR
string
- default emulation/spike-riscv
+ default emulation/spike-riscv64
config MAINBOARD_PART_NUMBER
string
- default "SPIKE RISCV"
+ default "SPIKE RISCV64"
config MAX_CPUS
int
default 1
-endif # BOARD_EMULATION_SPIKE_RISCV
+endif # BOARD_EMULATION_SPIKE_RISCV64
diff --git a/src/mainboard/emulation/spike-riscv64/Kconfig.name b/src/mainboard/emulation/spike-riscv64/Kconfig.name
new file mode 100644
index 0000000..b743bd5
--- /dev/null
+++ b/src/mainboard/emulation/spike-riscv64/Kconfig.name
@@ -0,0 +1,3 @@
+config BOARD_EMULATION_SPIKE_RISCV64
+ bool "SPIKE riscv64"
+ help
diff --git a/src/mainboard/emulation/spike-riscv/Makefile.inc b/src/mainboard/emulation/spike-riscv64/Makefile.inc
similarity index 100%
rename from src/mainboard/emulation/spike-riscv/Makefile.inc
rename to src/mainboard/emulation/spike-riscv64/Makefile.inc
diff --git a/src/mainboard/emulation/spike-riscv/board_info.txt b/src/mainboard/emulation/spike-riscv64/board_info.txt
similarity index 100%
rename from src/mainboard/emulation/spike-riscv/board_info.txt
rename to src/mainboard/emulation/spike-riscv64/board_info.txt
diff --git a/src/mainboard/emulation/spike-riscv/clint.c b/src/mainboard/emulation/spike-riscv64/clint.c
similarity index 100%
rename from src/mainboard/emulation/spike-riscv/clint.c
rename to src/mainboard/emulation/spike-riscv64/clint.c
diff --git a/src/mainboard/emulation/spike-riscv/devicetree.cb b/src/mainboard/emulation/spike-riscv64/devicetree.cb
similarity index 100%
rename from src/mainboard/emulation/spike-riscv/devicetree.cb
rename to src/mainboard/emulation/spike-riscv64/devicetree.cb
diff --git a/src/mainboard/emulation/spike-riscv/mainboard.c b/src/mainboard/emulation/spike-riscv64/mainboard.c
similarity index 100%
rename from src/mainboard/emulation/spike-riscv/mainboard.c
rename to src/mainboard/emulation/spike-riscv64/mainboard.c
diff --git a/src/mainboard/emulation/spike-riscv/memlayout.ld b/src/mainboard/emulation/spike-riscv64/memlayout.ld
similarity index 100%
rename from src/mainboard/emulation/spike-riscv/memlayout.ld
rename to src/mainboard/emulation/spike-riscv64/memlayout.ld
diff --git a/src/mainboard/emulation/spike-riscv/rom_media.c b/src/mainboard/emulation/spike-riscv64/rom_media.c
similarity index 100%
rename from src/mainboard/emulation/spike-riscv/rom_media.c
rename to src/mainboard/emulation/spike-riscv64/rom_media.c
diff --git a/src/mainboard/emulation/spike-riscv/romstage.c b/src/mainboard/emulation/spike-riscv64/romstage.c
similarity index 100%
rename from src/mainboard/emulation/spike-riscv/romstage.c
rename to src/mainboard/emulation/spike-riscv64/romstage.c
diff --git a/src/mainboard/emulation/spike-riscv/uart.c b/src/mainboard/emulation/spike-riscv64/uart.c
similarity index 100%
rename from src/mainboard/emulation/spike-riscv/uart.c
rename to src/mainboard/emulation/spike-riscv64/uart.c
--
To view, visit https://review.coreboot.org/c/coreboot/+/31079
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: If842767a4b6c5e82df99b5a57b524b88044afcba
Gerrit-Change-Number: 31079
Gerrit-PatchSet: 1
Gerrit-Owner: ron minnich <rminnich(a)gmail.com>
Gerrit-MessageType: newchange