Attention is currently required from: Angel Pons, Keith Hui, Patrick Rudolph.
Hello Angel Pons, Patrick Rudolph, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/81881?usp=email
to look at the new patch set (#5).
Change subject: nb/sandybridge,sb/bd82x6x: Configure USB from southbridge
......................................................................
nb/sandybridge,sb/bd82x6x: Configure USB from southbridge
Transfer all USB responsibilities to southbridge/intel/bd82x6x,
using one set of USB port configurations supplied by mainboards
in the southbridge section of their devicetree.
For MRC raminit, export southbridge_fill_pei_data() as a hook for
southbridge code to implement. With new code via this hook, bd82x6x
fills pei_data based on this one set of USB port config.
For native raminit, early_usb_init() now goes directly to the devicetree
and no longer get passed an address to it.
TEST=abuild passes for all affected boards. All USB ports still work
on asus/p8x7x-series/v/p8z77-m.
Change-Id: I38378c7ee0701abc434b030dd97873f2af63e6b0
Signed-off-by: Keith Hui <buurin(a)gmail.com>
---
M src/northbridge/intel/sandybridge/pei_data.h
M src/northbridge/intel/sandybridge/raminit_mrc.c
M src/northbridge/intel/sandybridge/romstage.c
M src/southbridge/intel/bd82x6x/early_usb.c
M src/southbridge/intel/bd82x6x/early_usb_mrc.c
M src/southbridge/intel/bd82x6x/pch.h
6 files changed, 59 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/81/81881/5
--
To view, visit https://review.coreboot.org/c/coreboot/+/81881?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I38378c7ee0701abc434b030dd97873f2af63e6b0
Gerrit-Change-Number: 81881
Gerrit-PatchSet: 5
Gerrit-Owner: Keith Hui <buurin(a)gmail.com>
Gerrit-Reviewer: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-Attention: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Attention: Keith Hui <buurin(a)gmail.com>
Keith Hui has posted comments on this change by Keith Hui. ( https://review.coreboot.org/c/coreboot/+/82656?usp=email )
Change subject: util/autoport: Update for two recent USB developments
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
Besides CB:81881 and CB:82665 which is part of this train, it also carries part of CB:82405. Make sure to get all 3 patches in before committing this one.
--
To view, visit https://review.coreboot.org/c/coreboot/+/82656?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I3b8f44d9de19a7446e2fbcbce1aab6ec6583ebe3
Gerrit-Change-Number: 82656
Gerrit-PatchSet: 1
Gerrit-Owner: Keith Hui <buurin(a)gmail.com>
Gerrit-Comment-Date: Sat, 25 May 2024 23:52:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Keith Hui has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/82655?usp=email )
Change subject: sb/intel/bd82x6x: Allow actual USBIRx values in devicetree
......................................................................
sb/intel/bd82x6x: Allow actual USBIRx values in devicetree
The need to update the USB current mapping in early_usb.c, whenever
we see a previously unaccounted for value, is getting out of hand.
Instead this patch will allow specifying those values, presumably
taken from an inteltool dump while running vendor firmware,
directly in the devicetree.
Runtime code caps these values to 12 bits and turn them into the
0x20000yyy format the USBIRx registers want. We have more than
enough space in the USB port config structure for this.
This also opens the future possibility of using the map for a
simpler mapping for boards also using MRC.
Change-Id: I3d79b33bac742faa9bd4fc9852aff73fe326de4e
Signed-off-by: Keith Hui <buurin(a)gmail.com>
---
M src/southbridge/intel/bd82x6x/early_usb.c
1 file changed, 10 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/55/82655/1
diff --git a/src/southbridge/intel/bd82x6x/early_usb.c b/src/southbridge/intel/bd82x6x/early_usb.c
index 7776994..3bf9ab2 100644
--- a/src/southbridge/intel/bd82x6x/early_usb.c
+++ b/src/southbridge/intel/bd82x6x/early_usb.c
@@ -17,6 +17,8 @@
/* 3560 */ 0x024c8001, 0x000024a3, 0x00040002, 0x01000050,
/* 3570 */ 0x02000772, 0x16000f9f, 0x1800ff4f, 0x0001d630,
};
+ /* Care should be taken to limit this array to not more than 80 (0x50) entries.
+ * See below. */
const u32 currents[] = { USBIR_TXRX_GAIN_MOBILE_LOW, USBIR_TXRX_GAIN_DEFAULT,
USBIR_TXRX_GAIN_HIGH, 0x20000f51, 0x2000094a, 0x2000035f,
USBIR_TXRX_GAIN_DESKTOP_LOW, 0x20000357, 0x20000353,
@@ -33,6 +35,14 @@
write_pmbase16(UPRWC, read_pmbase16(UPRWC) | UPRWC_WR_EN);
for (i = 0; i < 14; i++) {
+ /*
+ * If the value from devicetree is beyond the highest possible current map
+ * index, it is meant to go directly into (bottom 12 bits of) USBIRx.
+ */
+ if (portmap[i].current >= ARRAY_SIZE(currents)) {
+ RCBA32(USBIR0 + 4 * i) = 0x20000000 | (portmap[i].current & 0xfff);
+ continue;
+ }
if (portmap[i].enabled && !pch_is_mobile() &&
currents[portmap[i].current] == USBIR_TXRX_GAIN_MOBILE_LOW) {
/*
--
To view, visit https://review.coreboot.org/c/coreboot/+/82655?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I3d79b33bac742faa9bd4fc9852aff73fe326de4e
Gerrit-Change-Number: 82655
Gerrit-PatchSet: 1
Gerrit-Owner: Keith Hui <buurin(a)gmail.com>
Attention is currently required from: Angel Pons, Fabian Meyer, Paul Menzel.
Felix Singer has posted comments on this change by Fabian Meyer. ( https://review.coreboot.org/c/coreboot/+/82203?usp=email )
Change subject: mb/asrock: Add SPR 1S server board ASRock Rack SPC741D8-2L2T/BCM
......................................................................
Patch Set 9:
(6 comments)
Patchset:
PS9:
Would you be interested in listed as a maintainer for this mainboard? If so, please add an entry to the MAINTAINERS file as well.
File src/mainboard/asrock/spc741d8/Kconfig:
PS9:
Missing SPDX license identifier
https://review.coreboot.org/c/coreboot/+/82203/comment/2e61827c_872ca6dc?us… :
PS9, Line 37: config DEBUG_SMI
: d
Is it needed to enable that by default?
File src/mainboard/asrock/spc741d8/Kconfig.name:
PS9:
Missing SPDX license identifier
File src/mainboard/asrock/spc741d8/Makefile.mk:
https://review.coreboot.org/c/coreboot/+/82203/comment/88bb0555_21c767ca?us… :
PS9, Line 5: romstage-y += util.c
Just a thought.. There's only one function in it, which is guarded by PP condition. You could let the build system decide if the file should be even compiled in or not, I guess.
```suggestion
romstage-$(SOC_INTEL_HAS_CXL) += util.c
```
https://review.coreboot.org/c/coreboot/+/82203/comment/4023a003_72606dde?us… :
PS9, Line 7: ramstage-y += util.c
Same here.
```suggestion
ramstage-$(SOC_INTEL_HAS_CXL) += util.c
```
--
To view, visit https://review.coreboot.org/c/coreboot/+/82203?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I84b170669873f1a168ea2b7e3be1d6071e811fa5
Gerrit-Change-Number: 82203
Gerrit-PatchSet: 9
Gerrit-Owner: Fabian Meyer <fabian(a)meyfa.net>
Gerrit-Reviewer: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-CC: Felix Singer <service+coreboot-gerrit(a)felixsinger.de>
Gerrit-CC: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-Attention: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-Attention: Fabian Meyer <fabian(a)meyfa.net>
Gerrit-Attention: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Comment-Date: Sat, 25 May 2024 21:12:59 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Attention is currently required from: Alper Nebi Yasak, Julius Werner, Maximilian Brune, Nico Huber.
Hello Julius Werner, Maximilian Brune, Nico Huber, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/80322?usp=email
to look at the new patch set (#4).
The following approvals got outdated and were removed:
Code-Review+1 by Nico Huber, Verified+1 by build bot (Jenkins)
Change subject: device_tree: Add function to get top of memory from a FDT blob
......................................................................
device_tree: Add function to get top of memory from a FDT blob
coreboot needs to figure out top of memory to place CBMEM data. On some
non-x86 QEMU virtual machines, this is achieved by probing the RAM space
to find where the VM starts discarding data since it's not backed by
actual RAM. This behaviour seems to have changed on the QEMU side since
then, VMs using the "virt" model have started raising exceptions/errors
instead of silently discarding data (likely [1] for example) which has
previously broken coreboot on these emulation boards.
The qemu-aarch64 and qemu-riscv mainboards are intended for the "virt"
models and had this issue, which were mostly fixed by using exception
handlers in the RAM detection process [2][3]. But on 32-bit RISC-V we
fail to initialize CBMEM if we have 2048 MiB or more of RAM, and on
64-bit RISC-V we had to limit probing to 16383 MiB because it can run
into MMIO regions otherwise.
The qemu-armv7 mainboard code is intended for the "vexpress-a9" model VM
which doesn't appear to suffer from this issue. Still, the issue can be
observed on the ARMv7 "virt" model via a port based on qemu-aarch64.
QEMU docs for ARM and RISC-V "virt" models [4][5] recommend reading the
device tree blob it provides for device information (incl. RAM size).
Implement functions that parse the device tree blob to find described
memory regions and calculate the top of memory in order to use it in
mainboard code as an alternative to probing RAM space. ARM64 code
initializes CBMEM in romstage where malloc isn't available, so take care
to do parsing without unflattening the blob and make the code available
in romstage as well.
[1] https://lore.kernel.org/qemu-devel/1504626814-23124-1-git-send-email-peter.…
[2] https://review.coreboot.org/c/coreboot/+/34774
[3] https://review.coreboot.org/c/coreboot/+/36486
[4] https://qemu-project.gitlab.io/qemu/system/arm/virt.html
[5] https://qemu-project.gitlab.io/qemu/system/riscv/virt.html
Change-Id: I8bef09bc1bc4e324ebeaa37f78d67d3aa315f52c
Signed-off-by: Alper Nebi Yasak <alpernebiyasak(a)gmail.com>
---
M src/include/device_tree.h
M src/lib/Makefile.mk
M src/lib/device_tree.c
3 files changed, 104 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/22/80322/4
--
To view, visit https://review.coreboot.org/c/coreboot/+/80322?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I8bef09bc1bc4e324ebeaa37f78d67d3aa315f52c
Gerrit-Change-Number: 80322
Gerrit-PatchSet: 4
Gerrit-Owner: Alper Nebi Yasak <alpernebiyasak(a)gmail.com>
Gerrit-Reviewer: Julius Werner <jwerner(a)chromium.org>
Gerrit-Reviewer: Maximilian Brune <maximilian.brune(a)9elements.com>
Gerrit-Reviewer: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Lean Sheng Tan <sheng.tan(a)9elements.com>
Gerrit-CC: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-CC: Yidi Lin <yidilin(a)google.com>
Gerrit-Attention: Nico Huber <nico.h(a)gmx.de>
Gerrit-Attention: Maximilian Brune <maximilian.brune(a)9elements.com>
Gerrit-Attention: Julius Werner <jwerner(a)chromium.org>
Gerrit-Attention: Alper Nebi Yasak <alpernebiyasak(a)gmail.com>
Attention is currently required from: Alper Nebi Yasak, Philipp Hug, Ron Minnich.
Hello Philipp Hug, Ron Minnich,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/80363?usp=email
to look at the new patch set (#3).
Change subject: mainboard/qemu-riscv: Get top of memory from device-tree blob
......................................................................
mainboard/qemu-riscv: Get top of memory from device-tree blob
Trying to probe RAM space to figure out top of memory causes an
exception on RISC-V virtual machines with recent versions of QEMU, but
we temporarily enable exception handlers for that and use it to help
detect if a RAM address is usable or not. However, QEMU docs recommend
reading device information from the device-tree blob it provides us at
the start of RAM.
A previous commit adds a library function to parse device-tree blob that
QEMU provides us. Use it to determine top of memory in RISC-V QEMU
virtual machines, but still fall back to the RAM probing approach as a
last-ditch effort.
Change-Id: I9e4a95f49ad373675939329eef40d7423a4132ab
Signed-off-by: Alper Nebi Yasak <alpernebiyasak(a)gmail.com>
---
M src/mainboard/emulation/qemu-riscv/Kconfig
M src/mainboard/emulation/qemu-riscv/cbmem.c
2 files changed, 9 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/63/80363/3
--
To view, visit https://review.coreboot.org/c/coreboot/+/80363?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I9e4a95f49ad373675939329eef40d7423a4132ab
Gerrit-Change-Number: 80363
Gerrit-PatchSet: 3
Gerrit-Owner: Alper Nebi Yasak <alpernebiyasak(a)gmail.com>
Gerrit-Reviewer: Philipp Hug <philipp(a)hug.cx>
Gerrit-Reviewer: Ron Minnich <rminnich(a)gmail.com>
Gerrit-CC: Nico Huber <nico.h(a)gmx.de>
Gerrit-CC: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Philipp Hug <philipp(a)hug.cx>
Gerrit-Attention: Alper Nebi Yasak <alpernebiyasak(a)gmail.com>
Gerrit-Attention: Ron Minnich <rminnich(a)gmail.com>
Attention is currently required from: Alper Nebi Yasak, Nico Huber.
Hello Nico Huber,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/80364?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed:
Code-Review+1 by Nico Huber
Change subject: mainboard/qemu-aarch64: Get top of memory from device-tree blob
......................................................................
mainboard/qemu-aarch64: Get top of memory from device-tree blob
Trying to probe RAM space to figure out top of memory causes an
exception on AArch64 virtual machines with recent versions of QEMU, but
we temporarily enable exception handlers for that and use it to help
detect if a RAM address is usable or not. However, QEMU docs recommend
reading device information from the device-tree blob it provides us at
the start of RAM.
A previous commit adds a library function to parse device-tree blob that
QEMU provides us. Use it to determine top of memory in AArch64 QEMU
virtual machines, but still fall back to the RAM probing approach as a
last-ditch effort.
Change-Id: I4cc888b57cf98e0797ce7f9ddfa2eb34d14cd9c1
Signed-off-by: Alper Nebi Yasak <alpernebiyasak(a)gmail.com>
---
M src/mainboard/emulation/qemu-aarch64/Kconfig
M src/mainboard/emulation/qemu-aarch64/cbmem.c
2 files changed, 8 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/64/80364/3
--
To view, visit https://review.coreboot.org/c/coreboot/+/80364?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I4cc888b57cf98e0797ce7f9ddfa2eb34d14cd9c1
Gerrit-Change-Number: 80364
Gerrit-PatchSet: 3
Gerrit-Owner: Alper Nebi Yasak <alpernebiyasak(a)gmail.com>
Gerrit-Reviewer: Nico Huber <nico.h(a)gmx.de>
Gerrit-CC: Julius Werner <jwerner(a)chromium.org>
Gerrit-CC: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Nico Huber <nico.h(a)gmx.de>
Gerrit-Attention: Alper Nebi Yasak <alpernebiyasak(a)gmail.com>