summaryrefslogtreecommitdiffstats
path: root/package/flashrom
diff options
context:
space:
mode:
Diffstat (limited to 'package/flashrom')
-rw-r--r--package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch41
-rw-r--r--package/flashrom/Config.in25
-rw-r--r--package/flashrom/flashrom.mk36
3 files changed, 88 insertions, 14 deletions
diff --git a/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch b/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch
new file mode 100644
index 0000000000..06eb9256e4
--- /dev/null
+++ b/package/flashrom/0001-platform-Add-riscv-to-known-platforms.patch
@@ -0,0 +1,41 @@
+From a9a03cc6ba71825bfae0d64e1888f33c77345bc3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 17 Mar 2018 23:08:29 -0700
+Subject: [PATCH] platform: Add riscv to known platforms
+
+Change-Id: I724a99e2493fcbf71c2fc2d9f6a1ad607c737087
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Reviewed-on: https://review.coreboot.org/25260
+Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
+Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
+Reviewed-by: David Hendricks <david.hendricks@gmail.com>
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Retrieved from:
+https://github.com/flashrom/flashrom/commit/a9a03cc6ba71825bfae0d64e1888f33c77345bc3]
+---
+ platform.h | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/platform.h b/platform.h
+index e3b7674ae..65fe85881 100644
+--- a/platform.h
++++ b/platform.h
+@@ -69,6 +69,9 @@
+ #elif defined (__m68k__)
+ #define __FLASHROM_ARCH__ "m68k"
+ #define IS_M68K 1
++#elif defined (__riscv)
++ #define __FLASHROM_ARCH__ "riscv"
++ #define IS_RISCV 1
+ #elif defined (__sh__)
+ #define __FLASHROM_ARCH__ "sh"
+ #define IS_SH 1
+@@ -77,7 +80,7 @@
+ #define IS_S390 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_RISCV || IS_SH || IS_S390)
+ #error Unknown architecture
+ #endif
+
diff --git a/package/flashrom/Config.in b/package/flashrom/Config.in
index e7844a0a62..c333c29730 100644
--- a/package/flashrom/Config.in
+++ b/package/flashrom/Config.in
@@ -1,13 +1,18 @@
+config BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS
+ bool
+ default y if BR2_aarch64 || BR2_aarch64_be
+ default y if BR2_arm || BR2_armeb
+ default y if BR2_i386 || BR2_x86_64
+ default y if BR2_m68k
+ default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
+ default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
+ default y if BR2_riscv
+ default y if BR2_sh
+ default y if BR2_sparc || BR2_sparc64
+
config BR2_PACKAGE_FLASHROM
bool "flashrom"
- depends on BR2_i386 || BR2_x86_64
- depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
- select BR2_PACKAGE_PCIUTILS
- select BR2_PACKAGE_LIBUSB
- select BR2_PACKAGE_LIBUSB_COMPAT
- select BR2_PACKAGE_LIBFTDI
- # dmidecode is only a runtime dependency
- select BR2_PACKAGE_DMIDECODE
+ depends on BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS
help
flashrom is a utility for identifying, reading, writing,
verifying and erasing flash chips. It is designed to flash
@@ -16,7 +21,3 @@ config BR2_PACKAGE_FLASHROM
programmer devices.
http://flashrom.org/
-
-comment "flashrom needs a toolchain w/ threads"
- depends on BR2_i386 || BR2_x86_64
- depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/flashrom/flashrom.mk b/package/flashrom/flashrom.mk
index 70f47b5a04..733ad7318d 100644
--- a/package/flashrom/flashrom.mk
+++ b/package/flashrom/flashrom.mk
@@ -7,13 +7,45 @@
FLASHROM_VERSION = 1.0
FLASHROM_SOURCE = flashrom-$(FLASHROM_VERSION).tar.bz2
FLASHROM_SITE = https://download.flashrom.org/releases
-FLASHROM_DEPENDENCIES = pciutils libusb libusb-compat libftdi host-pkgconf
FLASHROM_LICENSE = GPL-2.0+
FLASHROM_LICENSE_FILES = COPYING
+ifeq ($(BR2_PACKAGE_LIBFTDI),y)
+FLASHROM_DEPENDENCIES += host-pkgconf libftdi
+FLASHROM_MAKE_OPTS += \
+ CONFIG_FT2232_SPI=yes \
+ CONFIG_USBBLASTER_SPI=yes
+else
+FLASHROM_MAKE_OPTS += \
+ CONFIG_FT2232_SPI=no \
+ CONFIG_USBBLASTER_SPI=no
+endif
+
+ifeq ($(BR2_PACKAGE_LIBUSB),y)
+FLASHROM_DEPENDENCIES += host-pkgconf libusb
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=yes
+else
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no
+endif
+
+ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y)
+FLASHROM_DEPENDENCIES += host-pkgconf libusb-compat
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=yes
+else
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no
+endif
+
+ifeq ($(BR2_PACKAGE_PCIUTILS),y)
+FLASHROM_DEPENDENCIES += pciutils
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=yes
+else
+FLASHROM_MAKE_OPTS += CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no
+endif
+
define FLASHROM_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" -C $(@D)
+ CFLAGS="$(TARGET_CFLAGS) -DHAVE_STRNLEN" \
+ $(FLASHROM_MAKE_OPTS) -C $(@D)
endef
define FLASHROM_INSTALL_TARGET_CMDS
OpenPOWER on IntegriCloud