Hello Patrick Rudolph, Subrata Banik, Balaji Manigandan, Aamir Bohra, Rizwan Qureshi, V Sowmya, build bot (Jenkins), Andrey Petrov, Patrick Georgi, Martin Roth, Furquan Shaikh,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35403
to look at the new patch set (#34).
Change subject: soc/intel/common/basecode: Implement CSE update flow
......................................................................
soc/intel/common/basecode: Implement CSE update flow
This is the core patch that implement CSE FW update flow.
To enable the FW update flow the following are required:
* Descriptor change to accommodate a larger CSME region
The CSME size is 4.1MB.
* FMAP changes to accommodate ME update binary in RW CBFSes.
Due to the increased CSME binary size and to accommodate the extra
CSME RW binaries (which are ~2.5 MB) in RW CBFSes, the board FMAP has
to be modified.
* The new CSE binary with new partitions and respective RW area binaries.
The following changes have been done in this patch:
* Implement Update flow
Get the partition info containing version of ME RW using GET_BOOT_PARTITION_INFO HECI command
Get the me_rw.version from the currently selected RW slot.
If the version from the above 2 locations don't match start the update
Set the CSE's next boot partition to RO using SET_BOOT_PARTITION HECI command.
Send global reset command to reset only the CSME
Wait for CSME to enter SOFT_TEMP_DISABLE operation mode (indicated by HFSTS1 register bit 19:16)
Enable HMRFPO (Host ME Region Flash Protection Override) using the HMRFPO_ENABLE HECI command
Erase and Copy the CBFS ME RW to ME RW partition
Set the CSE's next boot partition to RW using SET_BOOT_PARTITION HECI command
Trigger global reset
The system should boot with the Updated ME
Verified that the basic update flows are working on Cometlake RVP and hatch.
BUG=b:111330995
Change-Id: I12f6bba3324069d65edabaccd234006b0840e700
Signed-off-by: Rizwan Qureshi <rizwan.qureshi(a)intel.com>
Signed-off-by: V Sowmya <v.sowmya(a)intel.com>
Signed-off-by: Sridhar Siricilla <sridhar.siricilla(a)intel.com>
---
A src/soc/intel/common/basecode/fw_update/Kconfig
A src/soc/intel/common/basecode/fw_update/Makefile.inc
A src/soc/intel/common/basecode/fw_update/cse_update.c
A src/soc/intel/common/basecode/include/intelbasecode/cse_update.h
4 files changed, 470 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/03/35403/34
--
To view, visit https://review.coreboot.org/c/coreboot/+/35403
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I12f6bba3324069d65edabaccd234006b0840e700
Gerrit-Change-Number: 35403
Gerrit-PatchSet: 34
Gerrit-Owner: Sridhar Siricilla <sridhar.siricilla(a)intel.com>
Gerrit-Reviewer: Aamir Bohra <aamir.bohra(a)intel.com>
Gerrit-Reviewer: Andrey Petrov <anpetrov(a)fb.com>
Gerrit-Reviewer: Balaji Manigandan <balaji.manigandan(a)intel.com>
Gerrit-Reviewer: Furquan Shaikh <furquan(a)google.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-Reviewer: Rizwan Qureshi <rizwan.qureshi(a)intel.com>
Gerrit-Reviewer: Sridhar Siricilla <sridhar.siricilla(a)intel.com>
Gerrit-Reviewer: Subrata Banik <subrata.banik(a)intel.com>
Gerrit-Reviewer: V Sowmya <v.sowmya(a)intel.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Maxim Polyakov <max.senia.poliak(a)gmail.com>
Gerrit-CC: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-MessageType: newpatchset
Hello Patrick Rudolph, Subrata Banik, Balaji Manigandan, Aamir Bohra, Rizwan Qureshi, V Sowmya, build bot (Jenkins), Nico Huber, Patrick Georgi, Martin Roth, Furquan Shaikh,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35402
to look at the new patch set (#42).
Change subject: soc/intel/common/block/cse: Add boot partition related APIs
......................................................................
soc/intel/common/block/cse: Add boot partition related APIs
The CSE region is logically divided into 3 boot partitions when
redundancy is enabled. These boot partitions are represented by BP1,
BP2 and BP3. In chrome platforms, CSE can boot from either BP1 or BP2.
The CSE image layout appears as below..
------------- ------------------ --------------------------
|CSE REGION | => | RO | RW | => | BP1 | BP2 + BP3 + DATA |
------------- ------------------ --------------------------
In order to support CSE FW update to RW region, below APIs help coreboot
to get info about the boot partitions, and allows coreboot to set CSE
to boot from required boot partition (either BP1(RO) or BP2).
GET_BOOT_PARTITION_INFO - provides info on available partitions in the CSE
region. The API provides info on boot partitions like start/end offsets
of a partition within CSE region, and their version and partition status.
SET_BOOT_PARTITION_INFO - Sets the next boot partition to boot for CSE.
With the HECI API, firmware can notify CSE to boot from BP1 or BP2 on next
boot.
BUG=b:145809764
Change-Id: Iaa62409c0616d5913d21374a8a6804f82258eb4f
Signed-off-by: Rizwan Qureshi <rizwan.qureshi(a)intel.com>
Signed-off-by: Sridhar Siricilla <sridhar.siricilla(a)intel.com>
---
M src/soc/intel/common/block/cse/Makefile.inc
A src/soc/intel/common/block/cse/cse_bp.c
M src/soc/intel/common/block/include/intelblocks/cse.h
3 files changed, 489 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/02/35402/42
--
To view, visit https://review.coreboot.org/c/coreboot/+/35402
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Iaa62409c0616d5913d21374a8a6804f82258eb4f
Gerrit-Change-Number: 35402
Gerrit-PatchSet: 42
Gerrit-Owner: Sridhar Siricilla <sridhar.siricilla(a)intel.com>
Gerrit-Reviewer: Aamir Bohra <aamir.bohra(a)intel.com>
Gerrit-Reviewer: Balaji Manigandan <balaji.manigandan(a)intel.com>
Gerrit-Reviewer: Furquan Shaikh <furquan(a)google.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: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Rizwan Qureshi <rizwan.qureshi(a)intel.com>
Gerrit-Reviewer: Sridhar Siricilla <sridhar.siricilla(a)intel.com>
Gerrit-Reviewer: Subrata Banik <subrata.banik(a)intel.com>
Gerrit-Reviewer: V Sowmya <v.sowmya(a)intel.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Andrey Petrov <anpetrov(a)fb.com>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-CC: Sridhar Siricilla <sridhar.siricilla(a)intel.corp-partner.google.com>
Gerrit-MessageType: newpatchset
Pavel Kovalenko has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/28950 )
Change subject: lenovo/x230: introduce FHD variant
......................................................................
Patch Set 8:
> Patch Set 8:
>
> > I've published the schematic of the latest adapter board here: https://nitrocaster.me/files/X230U_rev6_schematic.pdf
> > Hopefully this will help getting this merged.
> > Let me know what you guys think.
>
> Thanks for sharing! It answers some questions and raises new :)
>
> Most of all, I wonder what exactly U1 does and if it is necessary
> at all if one controls the firmware. Is it simply translating the
> BL_CTL_SYS signal to a different PWM frequency? or is it also
> needed as a buffer? Also, what frequency does it expect on
> BL_CTL_SYS, if any specific?
>
> And, can you confirm that:
> * With the default assembly, one can't control panel power via software.
> * But by moving F1 to J1, it would become possible?
U1 acts as a smart translator for EN/PWM signals - whenever EN is high, PWM from the system is translated to the FHD display. Otherwise, EN and PWM are translated high if there's a DC bias on DisplayPort TX lane, which means something is being transmitted to the display. Initially I had an idea that some displays may have PWM brightness regulation, so I also set output PWM frequency to around 1kHz to make it less disgusting. With proper support in the system firmware the adapter board could be completely passive. U1 expects the default 230Hz frequency (or is it 220Hz?), but I believe it should work with 1kHz just as well.
With the default assembly, panel power is sourced directly from VCC3M power rail, so you can't control it. By removing F1 and bridging J1 panel power is switched to VCC3P, which is sourced from a load switch on the motherboard, so you can control it. Note that actually moving F1 to J1 isn't necessary because there's already a fuse on the motherboard.
--
To view, visit https://review.coreboot.org/c/coreboot/+/28950
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I0355d39a61956792e69bccd5274cfc2749d72bf0
Gerrit-Change-Number: 28950
Gerrit-PatchSet: 8
Gerrit-Owner: Alexander Couzens <lynxis(a)fe80.eu>
Gerrit-Reviewer: Alexander Couzens <lynxis(a)fe80.eu>
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: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Reviewer: Richard Slindee
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Christian Herzog
Gerrit-CC: Holger Levsen <holger(a)layer-acht.org>
Gerrit-CC: Kilian Neuner <cb(a)9-r.net>
Gerrit-CC: Matthias Wiedhalm
Gerrit-CC: Pavel Kovalenko <paul-kv(a)yandex.ru>
Gerrit-CC: Sergey Alirzaev <zl29ah(a)gmail.com>
Gerrit-CC: Tom Hiller <thrilleratplay(a)gmail.com>
Gerrit-CC: Tomasz Jan Góralczyk
Gerrit-Comment-Date: Mon, 16 Dec 2019 16:50:29 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Felix Held has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37740 )
Change subject: device/pnp: use correct width type for pnp_info.function
......................................................................
device/pnp: use correct width type for pnp_info.function
Change-Id: Idbc1b37a8c98fe7fa24d8632e6a55c046e2d2869
Signed-off-by: Felix Held <felix-coreboot(a)felixheld.de>
---
M src/include/device/pnp.h
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/40/37740/1
diff --git a/src/include/device/pnp.h b/src/include/device/pnp.h
index 69a06674..a3222d2 100644
--- a/src/include/device/pnp.h
+++ b/src/include/device/pnp.h
@@ -34,7 +34,7 @@
struct pnp_info {
struct device_operations *ops; /* LDN-specific ops override */
- unsigned int function; /* Must be at least 16 bits (virtual LDNs)! */
+ u16 function; /* Must be at least 16 bits (virtual LDNs)! */
unsigned int flags;
#define PNP_IO0 0x000001
#define PNP_IO1 0x000002
--
To view, visit https://review.coreboot.org/c/coreboot/+/37740
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Idbc1b37a8c98fe7fa24d8632e6a55c046e2d2869
Gerrit-Change-Number: 37740
Gerrit-PatchSet: 1
Gerrit-Owner: Felix Held <felix-coreboot(a)felixheld.de>
Gerrit-MessageType: newchange
Felix Held has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37741 )
Change subject: device/pnp: introduce and use PNP_SKIP_FUNCTION
......................................................................
device/pnp: introduce and use PNP_SKIP_FUNCTION
-1 shouldn't be assigned to an unsigned variable, so use an otherwise
unused constant here. Since 7 is the highest virtual LDN number, using
0xffff as PNP_SKIP_FUNCTION marker has no unwanted side effects.
Change-Id: I5e31e7ef9dad5fedfd5552963c298336c533a5e9
Signed-off-by: Felix Held <felix-coreboot(a)felixheld.de>
---
M src/device/pnp_device.c
M src/include/device/pnp.h
M src/superio/smsc/smscsuperio/superio.c
3 files changed, 6 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/41/37741/1
diff --git a/src/device/pnp_device.c b/src/device/pnp_device.c
index 28a45d0..1852fc1 100644
--- a/src/device/pnp_device.c
+++ b/src/device/pnp_device.c
@@ -370,7 +370,7 @@
/* Setup the ops and resources on the newly allocated devices. */
for (i = 0; i < functions; i++) {
/* Skip logical devices this Super I/O doesn't have. */
- if (info[i].function == -1)
+ if (info[i].function == PNP_SKIP_FUNCTION)
continue;
path.pnp.device = info[i].function;
diff --git a/src/include/device/pnp.h b/src/include/device/pnp.h
index a3222d2..d459fd2 100644
--- a/src/include/device/pnp.h
+++ b/src/include/device/pnp.h
@@ -34,6 +34,7 @@
struct pnp_info {
struct device_operations *ops; /* LDN-specific ops override */
+#define PNP_SKIP_FUNCTION 0xffff
u16 function; /* Must be at least 16 bits (virtual LDNs)! */
unsigned int flags;
#define PNP_IO0 0x000001
diff --git a/src/superio/smsc/smscsuperio/superio.c b/src/superio/smsc/smscsuperio/superio.c
index aa5af38..0e86683 100644
--- a/src/superio/smsc/smscsuperio/superio.c
+++ b/src/superio/smsc/smscsuperio/superio.c
@@ -280,7 +280,10 @@
*/
for (j = 0; j < ARRAY_SIZE(pnp_dev_info); j++) {
fn = pnp_dev_info[j].function;
- pnp_dev_info[j].function = logical_device_table[i].devs[fn];
+ if (logical_device_table[i].devs[fn] != -1)
+ pnp_dev_info[j].function = logical_device_table[i].devs[fn];
+ else
+ pnp_dev_info[j].function = PNP_SKIP_FUNCTION;
}
/* Enable the specified devices (if present on the chip). */
--
To view, visit https://review.coreboot.org/c/coreboot/+/37741
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I5e31e7ef9dad5fedfd5552963c298336c533a5e9
Gerrit-Change-Number: 37741
Gerrit-PatchSet: 1
Gerrit-Owner: Felix Held <felix-coreboot(a)felixheld.de>
Gerrit-Reviewer: Felix Held <felix-coreboot(a)felixheld.de>
Gerrit-MessageType: newchange
Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/34210 )
Change subject: src/soc/intel/common/block/cpu/car: Check ucode version and Top Swap
......................................................................
Patch Set 3:
This change is ready for review.
--
To view, visit https://review.coreboot.org/c/coreboot/+/34210
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ie6743c3d9c57a1e10b9f9e785fb6dbb89bedec4f
Gerrit-Change-Number: 34210
Gerrit-PatchSet: 3
Gerrit-Owner: Varshit B Pandya <varshit.b.pandya(a)intel.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Rizwan Qureshi <riz.pro(a)gmail.com>
Gerrit-Reviewer: Rizwan Qureshi <rizwan.qureshi(a)intel.com>
Gerrit-Reviewer: Varshit B Pandya <varshit.b.pandya(a)intel.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-CC: rushikesh s kadam <rushikesh.s.kadam(a)intel.com>
Gerrit-Comment-Date: Mon, 16 Dec 2019 13:12:41 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment