aboutsummaryrefslogtreecommitdiff
path: root/utils/flashrom
diff options
context:
space:
mode:
Diffstat (limited to 'utils/flashrom')
-rw-r--r--utils/flashrom/Makefile13
-rw-r--r--utils/flashrom/flashrom.mk23
-rw-r--r--utils/flashrom/patches/0001-fix_internal_bitbang.patch11
-rw-r--r--utils/flashrom/patches/0003-ch341a_spi-avoid-deprecated-libusb-functions.patch40
-rw-r--r--utils/flashrom/patches/010-add-arc.patch54
-rw-r--r--utils/flashrom/patches/900-build_internal_programmer_all_archs.patch18
6 files changed, 37 insertions, 122 deletions
diff --git a/utils/flashrom/Makefile b/utils/flashrom/Makefile
index 937b48035..204a2413b 100644
--- a/utils/flashrom/Makefile
+++ b/utils/flashrom/Makefile
@@ -8,13 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=flashrom
-PKG_VERSION:=1.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.2
+PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://download.flashrom.org/releases
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_HASH:=3702fa215ba5fb5af8e54c852d239899cfa1389194c1e51cb2a170c4dc9dee64
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
+PKG_HASH:=e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later
@@ -46,7 +47,6 @@ define Package/flashrom
+(TARGET_x86||TARGET_x86_64):dmidecode \
+libftdi1 \
+libusb-1.0 \
- +libusb-compat \
+pciutils
VARIANT:=full
DEFAULT_VARIANT:=1
@@ -72,8 +72,7 @@ define Package/flashrom-usb
TITLE+= (usb)
DEPENDS+= \
+libftdi1 \
- +libusb-1.0 \
- +libusb-compat
+ +libusb-1.0
VARIANT:=usb
endef
diff --git a/utils/flashrom/flashrom.mk b/utils/flashrom/flashrom.mk
index f910758a4..0efb2eab0 100644
--- a/utils/flashrom/flashrom.mk
+++ b/utils/flashrom/flashrom.mk
@@ -4,7 +4,9 @@ define DefaultProgrammer
MAKE_FLAGS += CONFIG_DEFAULT_PROGRAMMER=PROGRAMMER_$(1)
endef
define DefineConfig
- MAKE_FLAGS += NEED_$(1)=$(2)
+ ifeq ($(2),yes)
+ MAKE_FLAGS += NEED_$(1)=$(2)
+ endif
endef
define DefineProgrammer
# Selecting invalid programmers will fail
@@ -57,7 +59,7 @@ $(eval $(call DefineProgrammer,LINUX_SPI,$(FLASHROM_BASIC)))
$(eval $(call DefineProgrammer,DUMMY,$(FLASHROM_BASIC)))
# FTDI
-$(eval $(call DefineConfig,FTDI,$(FLASHROM_FTDI)))
+$(eval $(call DefineConfig,LIBFTDI,$(FLASHROM_FTDI)))
$(eval $(call DefineProgrammer,FT2232_SPI,$(FLASHROM_FTDI)))
$(eval $(call DefineProgrammer,USBBLASTER_SPI,$(FLASHROM_FTDI)))
@@ -66,17 +68,18 @@ $(eval $(call DefineConfig,RAW_ACCESS,$(FLASHROM_RAW)))
$(eval $(call DefineProgrammer,RAYER_SPI,$(FLASHROM_RAW)))
# PCI
-$(eval $(call DefineConfig,PCI,$(FLASHROM_PCI)))
+$(eval $(call DefineConfig,LIBPCI,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,INTERNAL,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,NIC3COM,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,GFXNVIDIA,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,SATASII,$(FLASHROM_PCI)))
-#$(eval $(call DefineProgrammer,ATAHPT,$(FLASHROM_PCI)))
+$(eval $(call DefineProgrammer,ATAHPT,$(FLASHROM_PCI)))
+$(eval $(call DefineProgrammer,ATAPROMISE,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,ATAVIA,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,IT8212,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,DRKAISER,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,NICREALTEK,$(FLASHROM_PCI)))
-#$(eval $(call DefineProgrammer,NICNATSEMI,$(FLASHROM_PCI)))
+$(eval $(call DefineProgrammer,NICNATSEMI,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,NICINTEL,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,NICINTEL_SPI,$(FLASHROM_PCI)))
$(eval $(call DefineProgrammer,NICINTEL_EEPROM,$(FLASHROM_PCI)))
@@ -89,11 +92,11 @@ $(eval $(call DefineProgrammer,SERPROG,$(FLASHROM_SERIAL)))
$(eval $(call DefineProgrammer,PONY_SPI,$(FLASHROM_SERIAL)))
$(eval $(call DefineProgrammer,BUSPIRATE_SPI,$(FLASHROM_SERIAL)))
-# USB0
-$(eval $(call DefineConfig,USB0,$(FLASHROM_USB)))
-$(eval $(call DefineProgrammer,PICKIT2_SPI,$(FLASHROM_USB)))
-
# USB1
-$(eval $(call DefineConfig,USB1,$(FLASHROM_USB)))
+$(eval $(call DefineConfig,LIBUSB1,$(FLASHROM_USB)))
$(eval $(call DefineProgrammer,CH341A_SPI,$(FLASHROM_USB)))
$(eval $(call DefineProgrammer,DEDIPROG,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,DEVELOPERBOX_SPI,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,DIGILENT_SPI,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,PICKIT2_SPI,$(FLASHROM_USB)))
+$(eval $(call DefineProgrammer,STLINKV3_SPI,$(FLASHROM_USB)))
diff --git a/utils/flashrom/patches/0001-fix_internal_bitbang.patch b/utils/flashrom/patches/0001-fix_internal_bitbang.patch
deleted file mode 100644
index 581e0704a..000000000
--- a/utils/flashrom/patches/0001-fix_internal_bitbang.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/programmer.h
-+++ b/programmer.h
-@@ -584,7 +584,7 @@ enum spi_controller {
- #if CONFIG_DEDIPROG == 1
- SPI_CONTROLLER_DEDIPROG,
- #endif
--#if CONFIG_OGP_SPI == 1 || CONFIG_NICINTEL_SPI == 1 || CONFIG_RAYER_SPI == 1 || CONFIG_PONY_SPI == 1 || (CONFIG_INTERNAL == 1 && (defined(__i386__) || defined(__x86_64__)))
-+#if CONFIG_OGP_SPI == 1 || CONFIG_NICINTEL_SPI == 1 || CONFIG_RAYER_SPI == 1 || CONFIG_PONY_SPI == 1 || CONFIG_INTERNAL == 1
- SPI_CONTROLLER_BITBANG,
- #endif
- #if CONFIG_LINUX_SPI == 1
diff --git a/utils/flashrom/patches/0003-ch341a_spi-avoid-deprecated-libusb-functions.patch b/utils/flashrom/patches/0003-ch341a_spi-avoid-deprecated-libusb-functions.patch
deleted file mode 100644
index fa941e42d..000000000
--- a/utils/flashrom/patches/0003-ch341a_spi-avoid-deprecated-libusb-functions.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 291764a70e6d8b212680e311bfb0825abf2b9a2f Mon Sep 17 00:00:00 2001
-From: Alex James <theracermaster@gmail.com>
-Date: Sat, 14 Apr 2018 22:59:57 -0500
-Subject: ch341a_spi: Avoid deprecated libusb functions
-
-libusb 1.0.22 marked libusb_set_debug as deprecated. For such versions
-of libusb, use libusb_set_option instead.
-
-Change-Id: Ib71ebe812316eaf49136979a942a946ef9e4d487
-Signed-off-by: Alex James <theracermaster@gmail.com>
-Reviewed-on: https://review.coreboot.org/25681
-Tested-by: Nico Huber <nico.h@gmx.de>
-Reviewed-by: David Hendricks <david.hendricks@gmail.com>
----
- ch341a_spi.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-(limited to 'ch341a_spi.c')
-
-diff --git a/ch341a_spi.c b/ch341a_spi.c
-index 95e9c95..ee18624 100644
---- a/ch341a_spi.c
-+++ b/ch341a_spi.c
-@@ -444,7 +444,12 @@ int ch341a_spi_init(void)
- return -1;
- }
-
-- libusb_set_debug(NULL, 3); // Enable information, warning and error messages (only).
-+ /* Enable information, warning, and error messages (only). */
-+#if LIBUSB_API_VERSION < 0x01000106
-+ libusb_set_debug(NULL, 3);
-+#else
-+ libusb_set_option(NULL, LIBUSB_OPTION_LOG_LEVEL, LIBUSB_LOG_LEVEL_INFO);
-+#endif
-
- uint16_t vid = devs_ch341a_spi[0].vendor_id;
- uint16_t pid = devs_ch341a_spi[0].device_id;
---
-cgit v1.1
-
diff --git a/utils/flashrom/patches/010-add-arc.patch b/utils/flashrom/patches/010-add-arc.patch
deleted file mode 100644
index c2ccbe883..000000000
--- a/utils/flashrom/patches/010-add-arc.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -420,7 +420,7 @@ endif
- # Disable all drivers needing raw access (memory, PCI, port I/O) on
- # architectures with unknown raw access properties.
- # Right now those architectures are alpha hppa m68k sh s390
--ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc))
-+ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc arc))
- ifeq ($(CONFIG_INTERNAL), yes)
- UNSUPPORTED_FEATURES += CONFIG_INTERNAL=yes
- else
---- a/hwaccess.h
-+++ b/hwaccess.h
-@@ -87,6 +87,13 @@
- /* SPARC is big endian in general (but allows to access data in little endian too). */
- #define __FLASHROM_BIG_ENDIAN__ 1
-
-+#elif IS_ARC
-+#ifdef __arceb__
-+#define __FLASHROM_BIG_ENDIAN__ 1
-+#else
-+#define __FLASHROM_LITTLE_ENDIAN__ 1
-+#endif
-+
- #endif /* IS_? */
-
- #if !defined (__FLASHROM_BIG_ENDIAN__) && !defined (__FLASHROM_LITTLE_ENDIAN__)
-@@ -378,6 +385,8 @@ int libpayload_wrmsr(int addr, msr_t msr);
-
- /* Non memory mapped I/O is not supported on ARM. */
-
-+#elif IS_ARC
-+
- #else
-
- #error Unknown architecture, please check if it supports PCI port IO.
-diff --git a/platform.h b/platform.h
-index b2fdcd0..2e68e71 100644
---- a/platform.h
-+++ b/platform.h
-@@ -75,9 +75,12 @@
- #elif defined(__s390__) || defined(__s390x__) || defined(__zarch__)
- #define __FLASHROM_ARCH__ "s390"
- #define IS_S390 1
-+#elif defined (__arc__)
-+ #define __FLASHROM_ARCH__ "arc"
-+ #define IS_ARC 1
- #endif
-
--#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390)
-+#if !(IS_X86 || IS_MIPS || IS_PPC || IS_ARM || IS_SPARC || IS_ALPHA || IS_HPPA || IS_M68K || IS_SH || IS_S390 || IS_ARC)
- #error Unknown architecture
- #endif
-
diff --git a/utils/flashrom/patches/900-build_internal_programmer_all_archs.patch b/utils/flashrom/patches/900-build_internal_programmer_all_archs.patch
new file mode 100644
index 000000000..4dd58a4ae
--- /dev/null
+++ b/utils/flashrom/patches/900-build_internal_programmer_all_archs.patch
@@ -0,0 +1,18 @@
+--- a/Makefile
++++ b/Makefile
+@@ -424,15 +424,6 @@ endif
+ override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"'))
+ override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | grep -v '^\#'))
+
+-# Disable the internal programmer on unsupported architectures (everything but x86 and mipsel)
+-ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN))
+-ifeq ($(CONFIG_INTERNAL), yes)
+-UNSUPPORTED_FEATURES += CONFIG_INTERNAL=yes
+-else
+-override CONFIG_INTERNAL = no
+-endif
+-endif
+-
+ # PCI port I/O support is unimplemented on PPC/MIPS/SPARC and unavailable on ARM.
+ # Right now this means the drivers below only work on x86.
+ ifneq ($(ARCH), x86)