diff mbox series

sb600

Message ID 20201011.132435.1051523223630255892.rene@exactcode.com
State New
Headers show
Series sb600 | expand

Commit Message

René Rebe Oct. 11, 2020, 11:24 a.m. UTC
Added AMD Ryzen 3950x X570 and AMD Ryzen 4000 Mobile PCI revisions
to AMD FP4 / AM4 sb600spi.c.

Trying to use flashrom to downgrade my Asus WS X570 ACE bios to a
previous, more stable and performant version I just got this output:

flashrom -p internal
flashrom v1.2 on Linux 5.8.13-dist (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Found chipset "AMD FP4".
Enabling flash write... FCH device found but SMBus revision 0x61 does not match known values.

So I patched mine and a friends MSI Modern 14 Ryzen 4700 laptop
revisions in and we could both read the BIOS and I also tested
flashing the Asus WS X570 ACE succesfully.

Signed-of-by: René Rebe <rene@exactcode.de>

Comments

René Rebe Oct. 14, 2020, 7:52 p.m. UTC | #1
Hey Clay,

> On 14. Oct 2020, at 21:10, Clay Daniels <clay.daniels.jr@gmail.com> wrote:
> 
> I think this patch may fix the same problem on my MSI X570 motherboard. I need some help in applying the patch. Although I installed Ubuntu when I got involved with Flashrom, etc., I am going to revert to trusty FreeBSD which has a user "port" to install flashrom, not as a binary large object (BLOB) but simply navigating to the port directory and doing "make install && make clean". Sometimes I see patches in the ports directory, but there is none in the current flashrom directory (yet). So I think I need to create a diff file from the text below named "patch-sb600spi.c", place it in the main /usr/ports/sysutils/flashrom directory, use "make makepatch", then "make install". I can use "make clean" afterwards if I like. Does this procedure sound like I'm on the right path? Any & all help appreciated

I’m not using BSD, maybe you need to add the patch to a Makefile or so.
In any case you need a newer git checkout, and you can simply build it anywhere you want for a test with the patch applied.

It sounds like you might find my YT channel helpful, for were I do all this OpenSource work:

	https://www.youtube.com/watch?v=roSoKQWIJdE <https://www.youtube.com/watch?v=roSoKQWIJdE>

René

> Clay
> 
> 
> On Mon, Oct 12, 2020 at 1:26 AM Rene Rebe <rene@exactcode.com <mailto:rene@exactcode.com>> wrote:
> Added AMD Ryzen 3950x X570 and AMD Ryzen 4000 Mobile PCI revisions
> to AMD FP4 / AM4 sb600spi.c.
> 
> Trying to use flashrom to downgrade my Asus WS X570 ACE bios to a
> previous, more stable and performant version I just got this output:
> 
> flashrom -p internal
> flashrom v1.2 on Linux 5.8.13-dist (x86_64)
> flashrom is free software, get the source code at https://flashrom.org <https://flashrom.org/>
> 
> Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
> Found chipset "AMD FP4".
> Enabling flash write... FCH device found but SMBus revision 0x61 does not match known values.
> 
> So I patched mine and a friends MSI Modern 14 Ryzen 4700 laptop
> revisions in and we could both read the BIOS and I also tested
> flashing the Asus WS X570 ACE succesfully.
> 
> Signed-of-by: René Rebe <rene@exactcode.de <mailto:rene@exactcode.de>>
> 
> diff --git a/sb600spi.c b/sb600spi.c
> index 5892d57..8a3c87d 100644
> --- a/sb600spi.c
> +++ b/sb600spi.c
> @@ -143,7 +143,7 @@ static int determine_generation(struct pci_dev *dev)
>                 if (rev == 0x4a) {
>                         amd_gen = CHIPSET_YANGTZE;
>                         msg_pdbg("Yangtze detected.\n");
> -               } else if (rev == 0x4b) {
> +               } else if (rev == 0x4b || rev == 0x51 || rev == 0x61) {
>                         amd_gen = CHIPSET_PROMONTORY;
>                         msg_pdbg("Promontory detected.\n");
>                 } else {
> 
> 
> -- 
>   René Rebe, ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin
>   https://exactcode.com <https://exactcode.com/> | https://t2sde.org <https://t2sde.org/> | https://rene.rebe.de <https://rene.rebe.de/>
> _______________________________________________
> flashrom mailing list -- flashrom@flashrom.org <mailto:flashrom@flashrom.org>
> To unsubscribe send an email to flashrom-leave@flashrom.org <mailto:flashrom-leave@flashrom.org>
diff mbox series

Patch

diff --git a/sb600spi.c b/sb600spi.c
index 5892d57..8a3c87d 100644
--- a/sb600spi.c
+++ b/sb600spi.c
@@ -143,7 +143,7 @@  static int determine_generation(struct pci_dev *dev)
 		if (rev == 0x4a) {
 			amd_gen = CHIPSET_YANGTZE;
 			msg_pdbg("Yangtze detected.\n");
-		} else if (rev == 0x4b) {
+		} else if (rev == 0x4b || rev == 0x51 || rev == 0x61) {
 			amd_gen = CHIPSET_PROMONTORY;
 			msg_pdbg("Promontory detected.\n");
 		} else {