Paul Menzel has uploaded a new patch set (#12) to the change originally created by Patrick Rudolph. ( https://review.coreboot.org/c/coreboot/+/30500 )
Change subject: [WIP]arch/x86/postcar: Add x86_64 support
......................................................................
[WIP]arch/x86/postcar: Add x86_64 support
* Add support for loading GDT on x86_64.
* Add x86_64 assembly code to do the same as the x86_32 code.
* Separate x86_32 and x86_64 code.
Tested on qemu x86_32 and x86_64 using additional MTRRs.
Needs test on real hardware.
Change-Id: I1c190627f5f0ed6f82738cb99423892382899d7b
Signed-off-by: Patrick Rudolph <siro(a)das-labor.org>
---
M src/arch/x86/Makefile.inc
R src/arch/x86/exit_car_x86_32.S
A src/arch/x86/exit_car_x86_64.S
M src/arch/x86/gdt_init.S
M src/arch/x86/postcar_loader.c
5 files changed, 163 insertions(+), 5 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/00/30500/12
--
To view, visit https://review.coreboot.org/c/coreboot/+/30500
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I1c190627f5f0ed6f82738cb99423892382899d7b
Gerrit-Change-Number: 30500
Gerrit-PatchSet: 12
Gerrit-Owner: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-MessageType: newpatchset
Keith Short has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/31800
Change subject: security/vboot: Add VBNV flags to save the Cr50 recovery switch state
......................................................................
security/vboot: Add VBNV flags to save the Cr50 recovery switch state
Add flags to save the Cr50 recovery switch state. This ensures that the
Cr50 recovery switch state is only read during verstage.
BUG=b:123360379
BRANCH=none
TEST=build coreboot on sarien and arcada. Test normal boot and recovery
boot on arcada - confirm that that tpm transaction errors are gone.
Change-Id: Id30a7b203e5aac8631971eb102986427b8362a71
Signed-off-by: Keith Short <keithshort(a)chromium.org>
---
M src/mainboard/google/sarien/chromeos.c
M src/security/vboot/vbnv.c
M src/security/vboot/vbnv.h
M src/security/vboot/vbnv_layout.h
4 files changed, 71 insertions(+), 20 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/00/31800/1
diff --git a/src/mainboard/google/sarien/chromeos.c b/src/mainboard/google/sarien/chromeos.c
index 1e363fd..308b682 100644
--- a/src/mainboard/google/sarien/chromeos.c
+++ b/src/mainboard/google/sarien/chromeos.c
@@ -20,18 +20,12 @@
#include <variant/gpio.h>
#include <vendorcode/google/chromeos/chromeos.h>
#include <security/tpm/tss.h>
+#include <security/vboot/vbnv.h>
#include <device/device.h>
#include <intelblocks/pmclib.h>
#include <soc/pmc.h>
#include <soc/pci_devs.h>
-enum rec_mode_state {
- REC_MODE_UNINITIALIZED,
- REC_MODE_NOT_REQUESTED,
- REC_MODE_REQUESTED,
-};
-static enum rec_mode_state saved_rec_mode;
-
void fill_lb_gpios(struct lb_gpios *gpios)
{
struct lb_gpio chromeos_gpios[] = {
@@ -84,30 +78,33 @@
int get_recovery_mode_switch(void)
{
- enum rec_mode_state state = saved_rec_mode;
+ int rec_switch;
uint8_t recovery_button_state = 0;
- /* Check the global variable first. */
- if (state == REC_MODE_NOT_REQUESTED)
- return 0;
- else if (state == REC_MODE_REQUESTED)
- return 1;
+ /*
+ * Only verstage performs a real check of the Cr50 recovery switch.
+ * The recovery switch state is cleared on the first access by the AP
+ * so there's no point in querying the Cr50 at later stages. All other
+ * stages use the state saved in VBNV.
+ */
+ if (!ENV_VERSTAGE &&
+ !get_recovery_switch_from_vbnv(&rec_switch))
+ return rec_switch;
- state = REC_MODE_NOT_REQUESTED;
+ rec_switch = 0;
/* Read state from the GPIO controlled by servo. */
if (cros_get_gpio_value(CROS_GPIO_REC))
- state = REC_MODE_REQUESTED;
+ rec_switch = 1;
/* Read one-time recovery request from cr50. */
else if (tlcl_cr50_get_recovery_button(&recovery_button_state)
== TPM_SUCCESS)
- state = recovery_button_state ?
- REC_MODE_REQUESTED : REC_MODE_NOT_REQUESTED;
+ rec_switch = !!recovery_button_state;
/* Store the state in case this is called again in verstage. */
- saved_rec_mode = state;
+ set_recovery_switch_into_vbnv(rec_switch);
- return state == REC_MODE_REQUESTED;
+ return rec_switch;
}
int get_lid_switch(void)
diff --git a/src/security/vboot/vbnv.c b/src/security/vboot/vbnv.c
index 636e5e3..8156fc5 100644
--- a/src/security/vboot/vbnv.c
+++ b/src/security/vboot/vbnv.c
@@ -140,6 +140,42 @@
return vbnv_data(RECOVERY_OFFSET);
}
+/* Save the recovery switch state into VBNV. */
+void set_recovery_switch_into_vbnv(int recovery_switch)
+{
+ uint8_t vbnv_copy[VBOOT_VBNV_BLOCK_SIZE];
+
+ read_vbnv(vbnv_copy);
+
+ vbnv_copy[MISC_FLAGS_OFFSET] |= MISC_FLAGS_RECOVERY_SWITCH_VALID_MASK;
+ if (recovery_switch)
+ vbnv_copy[MISC_FLAGS_OFFSET] |=
+ MISC_FLAGS_RECOVERY_SWITCH_STATE_MASK;
+ else
+ vbnv_copy[MISC_FLAGS_OFFSET] &=
+ ~MISC_FLAGS_RECOVERY_SWITCH_STATE_MASK;
+
+ vbnv_copy[CRC_OFFSET] = crc8_vbnv(vbnv_copy, CRC_OFFSET);
+
+ save_vbnv(vbnv_copy);
+}
+
+/* Read the recovery switch state from VBNV. */
+int get_recovery_switch_from_vbnv(int *recovery_switch)
+{
+ uint8_t misc_flags;
+ vbnv_setup();
+ misc_flags = vbnv_data(MISC_FLAGS_OFFSET);
+
+ if (!(misc_flags & MISC_FLAGS_RECOVERY_SWITCH_VALID_MASK))
+ return -1;
+
+ *recovery_switch =
+ !!(misc_flags & MISC_FLAGS_RECOVERY_SWITCH_STATE_MASK);
+
+ return 0;
+}
+
/* Read the BOOT_OPROM_NEEDED flag from VBNV. */
int vboot_wants_oprom(void)
{
diff --git a/src/security/vboot/vbnv.h b/src/security/vboot/vbnv.h
index c8e689f..367a376 100644
--- a/src/security/vboot/vbnv.h
+++ b/src/security/vboot/vbnv.h
@@ -25,6 +25,22 @@
void regen_vbnv_crc(uint8_t *vbnv_copy);
int get_recovery_mode_from_vbnv(void);
void set_recovery_mode_into_vbnv(int recovery_reason);
+
+/**
+ * Save the recovery switch state into VBNV
+ *
+ * @param recovery_switch Current state of the recovery switch.
+ */
+void set_recovery_switch_into_vbnv(int recovery_switch);
+/**
+ * Get the recovery switch date from VBNV
+ *
+ * @param recovery_switch On success, set to the saved recovery switch state.
+ *
+ * @return 0 on success, !=0 if recovery switch state not saved.
+ */
+int get_recovery_switch_from_vbnv(int *recovery_switch);
+
int vboot_wants_oprom(void);
/* Read the USB Device Controller(UDC) enable flag from VBNV. */
diff --git a/src/security/vboot/vbnv_layout.h b/src/security/vboot/vbnv_layout.h
index a9326e4..322fcf7 100644
--- a/src/security/vboot/vbnv_layout.h
+++ b/src/security/vboot/vbnv_layout.h
@@ -43,7 +43,9 @@
#define DEV_ENABLE_UDC 0x40
#define MISC_FLAGS_OFFSET 8
-#define MISC_FLAGS_BATTERY_CUTOFF_MASK 0x08
+#define MISC_FLAGS_BATTERY_CUTOFF_MASK 0x08
+#define MISC_FLAGS_RECOVERY_SWITCH_VALID_MASK 0x10
+#define MISC_FLAGS_RECOVERY_SWITCH_STATE_MASK 0x20
#define KERNEL_FIELD_OFFSET 11
#define CRC_OFFSET 15
--
To view, visit https://review.coreboot.org/c/coreboot/+/31800
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Id30a7b203e5aac8631971eb102986427b8362a71
Gerrit-Change-Number: 31800
Gerrit-PatchSet: 1
Gerrit-Owner: Keith Short <keithshort(a)chromium.org>
Gerrit-MessageType: newchange
Keith Short has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/31801
Change subject: mainboard/sarien: Save the Cr50 recovery switch state in VBNV
......................................................................
mainboard/sarien: Save the Cr50 recovery switch state in VBNV
Update sarien so the Cr50 recovery switch is only read during verstage
and save the recovery switch state to VBNV.
BUG=b:123360379
BRANCH=none
TEST=build coreboot on sarien and arcada. Test normal boot and recovery
boot on arcada - confirm that that tpm transaction errors are gone.
Change-Id: Iadf0cec651b3a26ceebadfeb637e189805c328bf
Signed-off-by: Keith Short <keithshort(a)chromium.org>
---
M src/mainboard/google/sarien/chromeos.c
1 file changed, 16 insertions(+), 19 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/01/31801/1
diff --git a/src/mainboard/google/sarien/chromeos.c b/src/mainboard/google/sarien/chromeos.c
index 1e363fd..308b682 100644
--- a/src/mainboard/google/sarien/chromeos.c
+++ b/src/mainboard/google/sarien/chromeos.c
@@ -20,18 +20,12 @@
#include <variant/gpio.h>
#include <vendorcode/google/chromeos/chromeos.h>
#include <security/tpm/tss.h>
+#include <security/vboot/vbnv.h>
#include <device/device.h>
#include <intelblocks/pmclib.h>
#include <soc/pmc.h>
#include <soc/pci_devs.h>
-enum rec_mode_state {
- REC_MODE_UNINITIALIZED,
- REC_MODE_NOT_REQUESTED,
- REC_MODE_REQUESTED,
-};
-static enum rec_mode_state saved_rec_mode;
-
void fill_lb_gpios(struct lb_gpios *gpios)
{
struct lb_gpio chromeos_gpios[] = {
@@ -84,30 +78,33 @@
int get_recovery_mode_switch(void)
{
- enum rec_mode_state state = saved_rec_mode;
+ int rec_switch;
uint8_t recovery_button_state = 0;
- /* Check the global variable first. */
- if (state == REC_MODE_NOT_REQUESTED)
- return 0;
- else if (state == REC_MODE_REQUESTED)
- return 1;
+ /*
+ * Only verstage performs a real check of the Cr50 recovery switch.
+ * The recovery switch state is cleared on the first access by the AP
+ * so there's no point in querying the Cr50 at later stages. All other
+ * stages use the state saved in VBNV.
+ */
+ if (!ENV_VERSTAGE &&
+ !get_recovery_switch_from_vbnv(&rec_switch))
+ return rec_switch;
- state = REC_MODE_NOT_REQUESTED;
+ rec_switch = 0;
/* Read state from the GPIO controlled by servo. */
if (cros_get_gpio_value(CROS_GPIO_REC))
- state = REC_MODE_REQUESTED;
+ rec_switch = 1;
/* Read one-time recovery request from cr50. */
else if (tlcl_cr50_get_recovery_button(&recovery_button_state)
== TPM_SUCCESS)
- state = recovery_button_state ?
- REC_MODE_REQUESTED : REC_MODE_NOT_REQUESTED;
+ rec_switch = !!recovery_button_state;
/* Store the state in case this is called again in verstage. */
- saved_rec_mode = state;
+ set_recovery_switch_into_vbnv(rec_switch);
- return state == REC_MODE_REQUESTED;
+ return rec_switch;
}
int get_lid_switch(void)
--
To view, visit https://review.coreboot.org/c/coreboot/+/31801
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Iadf0cec651b3a26ceebadfeb637e189805c328bf
Gerrit-Change-Number: 31801
Gerrit-PatchSet: 1
Gerrit-Owner: Keith Short <keithshort(a)chromium.org>
Gerrit-MessageType: newchange
Piotr Kleinschmidt has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/33146
Change subject: Documentation: How to run coreboot on PC Engines APU2
......................................................................
Documentation: How to run coreboot on PC Engines APU2
There is no documentation about running coreboot on apu2 platform,
so now it describes how to do this.
Change-Id: Id1d553c7f7485358960d92e714d50ba0f75b3581
Signed-off-by: Piotr Kleinschmidt <piotr.kleinschmidt(a)3mdeb.com>
---
A Documentation/mainboard/pcengines/apu2.jpg
A Documentation/mainboard/pcengines/apu2.md
A Documentation/mainboard/pcengines/apu2_spi.jpg
3 files changed, 110 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/46/33146/1
diff --git a/Documentation/mainboard/pcengines/apu2.jpg b/Documentation/mainboard/pcengines/apu2.jpg
new file mode 100644
index 0000000..d221857
--- /dev/null
+++ b/Documentation/mainboard/pcengines/apu2.jpg
Binary files differ
diff --git a/Documentation/mainboard/pcengines/apu2.md b/Documentation/mainboard/pcengines/apu2.md
new file mode 100644
index 0000000..a8aa3d2
--- /dev/null
+++ b/Documentation/mainboard/pcengines/apu2.md
@@ -0,0 +1,110 @@
+# PC Engines APU2
+
+This page describes how to run coreboot on PC Engines APU2 platform.
+
+## Technology
+
+```eval_rst
++------------+---------------------------------------------------------------+
+| CPU | AMD G series GX-412TC |
++------------+---------------------------------------------------------------+
+| CPU core | 1 GHz quad Jaguar core with 64 bit support |
+| | 32K data + 32K instruction cache per core, shared 2MB L2 cache|
++------------+---------------------------------------------------------------+
+| DRAM | 2 or 4 GB DDR3-1333 DRAM |
++------------+---------------------------------------------------------------+
+| Boot | From SD card, USB, mSATA SSD, SATA |
++------------+---------------------------------------------------------------+
+| Power | 6 to 12W of 12V power |
++------------+---------------------------------------------------------------+
+| Firmware | coreboot with support for iPXE and USB boot |
++------------+---------------------------------------------------------------+
+```
+
+## Required proprietary blobs
+
+To build working coreboot image some blobs are needed.
+
+```eval_rst
++-----------------+---------------------------------+---------------------+
+| Binary file | Apply | Required / Optional |
++=====================+=============================+=====================+
+| AmdPubKey.bin | AMD Platform Security Processor | Required |
++-----------------+---------------------------------+---------------------+
+| AGESA.bin | AGESA Platform Initialization | Required |
++-----------------+---------------------------------+---------------------+
+| xhci.bin | AMD XHCI controller | Optional |
++-----------------+---------------------------------+---------------------+
+```
+
+## Flashing coreboot
+
+```eval_rst
++---------------------+--------------------------+
+| Type | Value |
++=====================+==========================+
+| Socketed flash | no |
++---------------------+--------------------------+
+| Model | MX25L1606E |
++---------------------+--------------------------+
+| Size | 2 MiB |
++---------------------+--------------------------+
+| Package | SOP-8 |
++---------------------+--------------------------+
+| Write protection | jumper on WP# pin |
++---------------------+--------------------------+
+| Dual BIOS feature | no |
++---------------------+--------------------------+
+| Internal flashing | Super IO Nuvoton NCT5104D|
++---------------------+--------------------------+
+```
+
+### Internal programming
+
+The SPI flash can be accessed using [flashrom]. It is important to execute
+command with a `-c <chipname>` argument:
+
+ flashrom -p internal -c "MX25L1606E" -w coreboot.rom
+
+### External programming
+
+**IMPORTANT**: When programming SPI flash, first you need to enter apu2 in S5
+(Soft-off) power state. S5 state can be forced by shorting power button pin on
+J2 header.
+
+The external access to flash chip is available through standard SOP-8 clip or
+SOP-8 header next to the flash chip on the board. Notice that not all boards
+have a header soldered down originally. Hence, there could be an empty slot with
+8 eyelets, so you can solder down a header on your own. The SPI flash chip and
+SPI header are marked in the picture below. Also there is SPI header and SPI
+flash pin layout included.
+
+There is no restrictions as to the programmer device. It is only recommended to
+flash firmware without supplying power. External programming can be performed,
+for example using OrangePi and Armbian. You can exploit linux_spi driver which
+provide communication with SPI devices. Example command to program SPI flash
+with OrangePi using linux_spi:
+
+ flashrom -f -w coreboot.rom -p linux_spi:dev=/dev/spidev1.0,spispeed=16000
+
+
+**apu2 platform with marked in SPI header and SPI flash chip**
+
+![][apu2_flash]
+
+**SPI header pin layout**
+
+![][spi_header]
+
+
+## Schematics
+
+PC Engines APU2 platform schematics are available for free on PC Engines
+official site. Depending on the configuration:
+- [apu2b](https://www.pcengines.ch/schema/apu2b.pdf)
+- [apu2c](https://www.pcengines.ch/schema/apu2c.pdf)
+- [apu2d](https://www.pcengines.ch/schema/apu2d.pdf)
+
+[apu2_flash]: apu2.jpg
+[spi_header]: apu2_spi.jpg
+[flashrom]: https://flashrom.org/Flashrom
diff --git a/Documentation/mainboard/pcengines/apu2_spi.jpg b/Documentation/mainboard/pcengines/apu2_spi.jpg
new file mode 100644
index 0000000..f8a5b58
--- /dev/null
+++ b/Documentation/mainboard/pcengines/apu2_spi.jpg
Binary files differ
--
To view, visit https://review.coreboot.org/c/coreboot/+/33146
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Id1d553c7f7485358960d92e714d50ba0f75b3581
Gerrit-Change-Number: 33146
Gerrit-PatchSet: 1
Gerrit-Owner: Piotr Kleinschmidt <piotr.kleinschmidt(a)3mdeb.com>
Gerrit-MessageType: newchange
Piotr Kleinschmidt has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32907
Change subject: [WIP] Documentation: How to run coreboot on PC Engines apu1
......................................................................
[WIP] Documentation: How to run coreboot on PC Engines apu1
There were no documentation about running coreboot on apu1 platform, so now it describes how to do this.
Signed-off-by: Piotr Kleinschmidt <piotr.kleinschmidt(a)3mdeb.com>
Change-Id: If79693e893c4afe52bf1c9aa8017ac6f650a96e4
---
A Documentation/mainboard/pcengines/apu1.md
A Documentation/mainboard/pcengines/apu1c1_flash.jpg
2 files changed, 63 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/07/32907/1
diff --git a/Documentation/mainboard/pcengines/apu1.md b/Documentation/mainboard/pcengines/apu1.md
new file mode 100644
index 0000000..20259a6
--- /dev/null
+++ b/Documentation/mainboard/pcengines/apu1.md
@@ -0,0 +1,63 @@
+# PC Engines apu1
+
+This page describes how to run coreboot on PC Engines apu1 platform.
+
+## Technology
+
+| | |
+| -----------|:-------------------------------------------------------|
+| CPU | AMD G series T40E APU |
+| CPU core | 1 GHz dual core (Bobcat core) with 64 bit support |
+| | 32K data + 32K instruction + 512KB L2 cache per core |
+| DRAM | 2 or 4 GB DDR3-1066 DRAM |
+| Boot | From SD card, USB, m-SATA |
+| Power | 6 to 12W of 12V power |
+| Firmware | coreboot with support for iPXE and USB boot |
+
+## Flashing coreboot
+
+| Type | Value |
+|---------------------|:-----------|
+| Socketed flash | no |
+| Model | MX25L1606E |
+| Size | 2 MiB |
+| Package | SOP-8 |
+| Write protection | no |
+| Dual BIOS feature | no |
+| Internal flashing | yes |
+
+### Internal programming
+
+The SPI flash can be accessed using [flashrom]. It is important to execute
+command with a `-c <chipname>` argument:
+
+`flashrom -p internal -c MX25L1606E -w coreboot.rom `
+
+### External programming
+
+**IMPORTANT**: When programming SPI flash, first you need to enter apu1 in S5
+(Soft-off) power state. More details about that state is available in ACPI
+Specification documentation.
+
+The external access to flash chip is available through standard SOP-8 clip or
+SOP-8 header which is next to the flash chip on the board. Notice that not all
+boards have a header soldered down originally. Hence, there could be an empty
+slot with 8 eyelets, so you can solder down a header on your own. The SPI flash
+chip and SPI header are marked in the picture below.
+
+There is no restrictions as to programmer device. However, [flashrom] is
+strongly recommended. The example command to program SPI flash with a linux_spi
+is:
+
+`flashrom -w coreboot.rom -p linux_spi:dev=/dev/spidev1.0,spispeed=16000 -c
+"MX25L1606E"`
+
+
+**apu1 platform with marked in SPI header and SPI flash chip**
+![][apu1c1_flash]
+
+[apu1c1_flash]: apu1c1_flash.jpg
+
+
+[flashrom]: https://flashrom.org/Flashrom
+[here]: https://www.coreboot.org/Binary_situation
diff --git a/Documentation/mainboard/pcengines/apu1c1_flash.jpg b/Documentation/mainboard/pcengines/apu1c1_flash.jpg
new file mode 100644
index 0000000..069e976
--- /dev/null
+++ b/Documentation/mainboard/pcengines/apu1c1_flash.jpg
Binary files differ
--
To view, visit https://review.coreboot.org/c/coreboot/+/32907
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: If79693e893c4afe52bf1c9aa8017ac6f650a96e4
Gerrit-Change-Number: 32907
Gerrit-PatchSet: 1
Gerrit-Owner: Piotr Kleinschmidt <piotr.kleinschmidt(a)3mdeb.com>
Gerrit-MessageType: newchange
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31832 )
Change subject: mb/gigabyte/ga-h61ma-d3v: Add new mainboard as variant
......................................................................
Patch Set 9: Code-Review+2
(2 comments)
https://review.coreboot.org/#/c/31832/9/src/mainboard/gigabyte/ga-h61m-s2pv…
File src/mainboard/gigabyte/ga-h61m-s2pv/romstage.c:
https://review.coreboot.org/#/c/31832/9/src/mainboard/gigabyte/ga-h61m-s2pv…
PS9, Line 31: pci_write_config16(PCH_LPC_DEV, LPC_IO_DEC, 0x10);
I guess routing CNF2 (for 0x4e) is not really needed here. And without COMB_LPC_EN set programming LPC_IO_DEC is not really needed either.
https://review.coreboot.org/#/c/31832/9/src/mainboard/gigabyte/ga-h61m-s2pv…
File src/mainboard/gigabyte/ga-h61m-s2pv/variants/ga-h61ma-d3v/devicetree.cb:
https://review.coreboot.org/#/c/31832/9/src/mainboard/gigabyte/ga-h61m-s2pv…
PS9, Line 85: io 0x64 = 0x0000
I am not sure how resource allocator treats these IO base 0x0 entries. From what I remember, we generally don't have a range/size associated for these anyways, so probably they just get ignored.
--
To view, visit https://review.coreboot.org/c/coreboot/+/31832
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I37928de158bb8fbb47fbda5d1ccd4efba7edab26
Gerrit-Change-Number: 31832
Gerrit-PatchSet: 9
Gerrit-Owner: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-Reviewer: Felix Held <felix-coreboot(a)felixheld.de>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Comment-Date: Mon, 24 Jun 2019 12:27:36 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Felix Held has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31832 )
Change subject: mb/gigabyte/ga-h61ma-d3v: Add new mainboard as variant
......................................................................
Patch Set 8: Code-Review+2
--
To view, visit https://review.coreboot.org/c/coreboot/+/31832
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I37928de158bb8fbb47fbda5d1ccd4efba7edab26
Gerrit-Change-Number: 31832
Gerrit-PatchSet: 8
Gerrit-Owner: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-Reviewer: Felix Held <felix-coreboot(a)felixheld.de>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Nico Huber <nico.h(a)gmx.de>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-Comment-Date: Mon, 24 Jun 2019 12:13:01 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment