1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-30 08:23:42 +02:00

403 Commits

Author SHA1 Message Date
Thomas Heijligen
8d8281c3d6 Makefile: remove NEED_LIBUSB1 from FEATURE_CFLAGS
NEED_LIBUSB1 is not used outside of the Makefile. No need to pass it to
the compiler.

Change-Id: Ie7cb3df39daf22cb954186d38ba32812b05d92f9
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58518
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-10-26 12:05:22 +00:00
Thomas Heijligen
9af6d11082 Makefile: meson.build: remove unused CONFIG_I2C_SUPPORT
CONFIG_I2C_SUPPORT has no mention in the source code. No need to pass
it to the compiler.

Change-Id: I2e19335e1b8d39f44dda14edc0a496dda6bc8c9c
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58495
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-10-26 12:05:17 +00:00
Thomas Heijligen
5c538b40c2 Makefile, ich_descriptors_tool/Makefile: unify behavior
ich_descriptors_tool/Makefile: have the same behavior as the main
flashrom Makefile
  - only set gcc explicit on MinGW HOST_OS
  - don't fallback to gcc if CC was not set
  - set CFLAGS and EXEC_SUFFIX for TARGET_OS, not for HOST_OS

Change-Id: I353c3de250167994a4aea1edfef57d839e900d78
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58468
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-10-26 12:05:10 +00:00
Thomas Heijligen
694e2bf218 Makefile: unify the use of filter
Make a filter statement easier to read and fix some cosmetics.

Change-Id: I6cd1e169b435cadb06423836cd9d64cdd2f51a94
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58451
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-10-25 09:23:57 +00:00
Thomas Heijligen
1379e54f51 buildsystem: evaluate the USE_IOPL, USE_DEV_IO, USE_IOPERM macros
Determine which macro has to be set for the target system.
Do this in the buildsystem instead of using preprocessor macros.

Change-Id: Ic41ea025e35feb93f07ce7a94c0d15e6e84f38b9
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58278
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-10-15 14:36:09 +00:00
Thomas Heijligen
c9d947576b buildsystem: handle the IS_WINDOWS macro
On Windows target systems set the IS_WINDOWS=1 macro by the buildsystem.

Change-Id: I334708f2dec08ec9ca6ad4161fbd7fe22ac023a6
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58277
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-10-15 14:36:00 +00:00
Thomas Heijligen
b583647888 buildsystem: Determine the endianness only in the buildsystem
Let the buildsystem (make / meson) handle the endianness determination
and set the __FLASHROM_LITTLE_ENDIAN__ or __FLASHROM_BIG_ENDIAN__ macro
as cflag.

Change-Id: I37093528ae55e712cc30a0267a8ceac332750e7d
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58273
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by:  Felix Singer <felixsinger@posteo.net>
2021-10-15 14:35:38 +00:00
Thomas Heijligen
ba1c5eb125 Makefile: copy determination test for the endian to Makefile.d
Copy the test code for endian detection in an extra directory to split
it from the main flashrom code.

Change-Id: I0c2420fd60d7d6a23c94c9962b06bfd7f3c86ad8
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58270
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-10-15 14:35:29 +00:00
Thomas Heijligen
cf542aa1ce Makefile: move determination test for the architecture to Makefile.d
Move the test code for architecture detection in a extra directory to
split it from the main flashrom code.

Change-Id: I29ce73be9c5cbe259a2471f8eea2f8745b68cdfa
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58269
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-10-15 14:35:12 +00:00
Thomas Heijligen
ba275d8bdb Makefile: move determination test for OS to Makefile.d
Move the test code for OS detection in a extra directory to split it
from the main flashrom code.

Change-Id: Id911f17f4100f242e1fde10d23a8459ddf38b369
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58015
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-10-15 14:35:05 +00:00
Thomas Heijligen
8da9a9acdf Makefile: move determination tests for target systems to one place
Change-Id: Ia1b3f0257aaeebb355700b65c51a2ba70b80d5ae
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58248
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-10-15 14:34:55 +00:00
Thomas Heijligen
bb0a6447d9 Makefile: summarize systems with the same CPPFLAGS and LDFLAGS
Change-Id: I067430e52eb41bf0af4f08246bbe59117bc09bdb
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58247
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by:  Felix Singer <felixsinger@posteo.net>
2021-10-14 12:44:49 +00:00
Thomas Heijligen
155ce3d9a3 Makefile: use STRIP_ARGS = -s on all systems
Set -s (--strip-all) as STRIP_ARGS explicitly on all systems instead of
only on systems (SunOS / Solaris) where strip-all is not the default
behavior.

Change-Id: I2c80d553fb54d94bc65f07e700c90dd1bae4854e
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58246
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-10-14 12:12:28 +00:00
Thomas Heijligen
c99945d962 Makefile: move functions and macros to own file
Move all define statements in its own file to tidy up the main
Makefile.

Change-Id: I451f2eeab2773982e02b2f2fdc9e8abe1cc87630
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/57935
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by:  Felix Singer <felixsinger@posteo.net>
2021-09-28 22:09:58 +00:00
Thomas Heijligen
29ff205e6f custom_baud: move Linux specific code into own file
Handle system specific code in an own file like i2c_helper_linux.c.
The build system decides when to build it.

Change-Id: I0744e769dcc6000483e7256105903a87e927ee77
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/57990
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-09-28 22:00:41 +00:00
Victor Ding
cce29a4855 mec1308: remove MEC1308 EC programmer
Best efforts were made to upstream older Chromebook support for good
intentions for folks interested. However, we no longer have the hardware
available to test and maintain the code as the hardware is now end of
life. Therefore the code state has sadly fallen into a unknown state.

BUG=none
BRANCH=none
TEST=builds and ninja test passes

Signed-off-by: Victor Ding <victording@google.com>
Change-Id: I535b6380846734c999474519e9e60a73eb6a2ec4
Reviewed-on: https://review.coreboot.org/c/flashrom/+/56476
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-09-22 13:22:42 +00:00
Victor Ding
e3f55a13ba ene_lpc: remove ENE LPC programmer
Best efforts were made to upstream older Chromebook support for good
intentions for folks interested. However, we no longer have the hardware
available to test and maintain the code as the hardware is now end of
life. Therefore the code state has sadly fallen into a unknown state.

BUG=none
BRANCH=none
TEST=builds and ninja test passes

Signed-off-by: Victor Ding <victording@google.com>
Change-Id: I3f40db22c42c04ce029c4defd837e05ebb550c9b
Reviewed-on: https://review.coreboot.org/c/flashrom/+/56475
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-09-22 13:22:21 +00:00
Miklós Márton
822cc7ed2a ni845x_spi: handle PROGRAMFILES(X86) env var properly
The PROGRAMFILES(X86) envvar contains brackets which
could not be interpreted by the Makefile's interpreter.
A sed based tweak have been added to extract the variable
value from the env command output. The prefixed include
and linker path with this (now correctly extracted) prefix
only added to the compilation flags if it differ from the
PROGRAMFILES variable.

Change-Id: I397619a5038567d649a417ce6b9d8ac9e1c8c67b
Signed-off-by: Miklós Márton <martonmiklosqdev@gmail.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/56636
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-08-27 16:30:07 +00:00
Nico Huber
ff98544a1e Makefile: Use dependency lists to generate NEED_<library> vars
Change-Id: I30e6430a7e833a7f74eb973fb55bf1947ae2d87b
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55881
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-07-12 13:09:41 +00:00
Nico Huber
be46e43b2a Makefile: Enable bitbang_spi based on its dependency list
Change-Id: I2a22667cfe14e4c5816b3bce13de632941690d17
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55880
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-07-12 13:08:13 +00:00
Nico Huber
c30dd79837 Makefile: Disable libusb/libpci programmers via dependency lists
Change-Id: Ic2e56059a5cd7bd9f3d74d27866ded97e86d6ef1
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55879
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-07-12 13:08:04 +00:00
Nico Huber
882aab3ab4 Makefile: Deflate per-architecture handling of unsupported programmers
Change-Id: Ia54d9e7a2602af6e8725851d01758985b36c8461
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55878
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-07-12 13:07:54 +00:00
Nico Huber
7c7c84370b Makefile: Deflate handling of Linux-only programmers
Also one case that doesn't work on Android.

Change-Id: I17381172f8df213bbddccedec2ef288326e49ecf
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55877
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-07-12 13:07:42 +00:00
Nico Huber
fa478ed2a6 Makefile: Deflate handling of unsupported programmers for libpayload
Change-Id: I78ab1e3217aa6362b4c3525763e15140aa4c204f
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55876
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-07-12 12:39:34 +00:00
Nico Huber
ac62f42659 Makefile: Deflate handling of unsupported programmers for MinGW
Change-Id: I20c17471f7b059e91b215fca833b767a003a9888
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55875
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-07-12 12:20:52 +00:00
Nico Huber
cd85066a21 Makefile: Deflate handling of unsupported programmers for DJGPP
Change-Id: I86988aa7ef1d2d4189be3d25b9aea4e7ddaec9af
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55874
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-07-12 12:04:33 +00:00
Nico Huber
9b9717b154 Makefile: Add macro to disable unsupported programmers
`mark_unsupported` disables all programmers passed as arguments and
adds them to the UNSUPPORTED_FEATURES list. It's conveniently used
with our dependency lists, e.g.

    $(call mark_unsupported,$(NEEDS_LIBUSB1) $(NEEDS_LIBFTDI))

Change-Id: I6c9b66dfa89ec3d71675576d03fcebfdea30ce7b
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55873
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-07-12 11:04:11 +00:00
Nico Huber
9d6d63e9fb Makefile: Gather lists of dependencies by feature/lib
For each feature or library that we treat as dependency, list which
programmers depend on it.

Change-Id: I6929181f18213e1434cbbc7ba2d2b0b04bd46a6a
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55872
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-07-12 11:03:10 +00:00
Nico Huber
be62deac88 Makefile: Move $(NEED_LIBFTDI) block to similar ones
Change-Id: I27eae3803a114f332a6f0713cf9bc90163030e1b
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55871
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-07-12 11:01:59 +00:00
Nico Huber
e0d889a0f0 Makefile: Move NI845X_SPI default to the other defaults
Change-Id: I0317eb1190eae366a142d9410bee4110edc06e3d
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55870
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-07-12 11:01:31 +00:00
Nico Huber
81f5f1cd30 Revert "Mark ENE_LPC and MEC1308 as NEED_LIBPCI"
This reverts commit cf1e8f7b904ddf639b29b2e1bb0ad681c1aad76d.

It's an indirect, spurious dependency. Why clutter the build system
with it? Instead, the functions these programmers actually depend
on should be factored into a compilation unit that doesn't need PCI.
No matter this change, compilation with `CONFIG_INTERNAL=no` is
broken because of these programmers right now.

Change-Id: I134eb7d74b44f92dfdea3c764f39bc3673739fa0
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55869
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-07-12 11:00:58 +00:00
Nico Huber
9c0e009f7e Makefile: Turn x86-arch comments into if
Actually check what the comments suggest. Supposed to fix non-x86 on
NetBSD and OpenBSD.

Change-Id: I440919c12e54ca4371e21bc8d1b5ab64692fb4b8
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/52486
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-06-27 21:11:37 +00:00
Thomas Heijligen
732aafdfec CONFIG_DEFAULT_PROGRAMMER_NAME: Use programmer name instead of enum
CONFIG_DEFAULT_PROGRAMER_NAME replaces CONFIG_DEFAULT_PROGRAMMER.
It uses the name of the programmer for identification.
make CONFIG_DEFAULT_PROGRAMER_NAME=dummy and
meson -Ddefault_programmer_name=dummy will extend to
CONFIG_DEFAULT_PROGRAMER_NAME=&programmer_dummy in the code.

Change-Id: I976447787c6f6bfbdc0145d80d61e1ddcf97ac33
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/55123
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-06-10 12:53:31 +00:00
Thomas Heijligen
9e09095877 programmer_table: move array content to an own file
Change-Id: I8e6d704e845ee4152c8676dd19dff0934fff007b
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/52944
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-06-09 15:44:53 +00:00
Angel Pons
78853ff23a Makefile: Only enable I2C programmers on Linux
The I2C support code they use is Linux-specific.

Change-Id: I04d25ff8f8c3097428ac8695669b1757c38f49e9
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/53999
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
2021-05-12 11:53:54 +00:00
Angel Pons
02be851a63 Revert "Makefile: Explicitly set '-std=c99'"
This reverts commit 5e5c3f15efe262ff23642dd543faf6a9dbb3bbdb.

Reason for revert: Breaks building on PowerPC, NetBSD, DJGPP, and it is
possible that SPARC fails to build as well.

Change-Id: I57b5125207de3fd156dface67cba605da893d6aa
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/52425
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-04-22 11:24:29 +00:00
Angel Pons
87718aadb4 Makefile: Disable libusb-dependent Raiden on DOS
DOS (DJGPP 6.1.0) has no USB support.

Change-Id: I36ee1edfb0e5b8d4e2b099c0f7f8aac64ed7884f
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/52474
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-04-21 14:48:28 +00:00
Edward O'Callaghan
c193fbde84 Makefile,meson.build: Fix dependency issues with raiden_debug_spi
The Raiden debug external spi programmer need only depend
on libusb and is unrelated to libpci. Correct meson and gnu make
builds where meson had configuration in the incorrect section
and gnu make artifactually disabled the build on Windows/MinGW
which doesn't have libpci.

BUG=none
TEST=still continues to build.

Change-Id: I2d6a8c33a2228abf006a9b278bcb7133765c7074
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/51930
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
2021-04-01 22:35:52 +00:00
Edward O'Callaghan
5e5c3f15ef Makefile: Explicitly set '-std=c99'
This matches the build flags that are correctly explicitly defined in
meson.build where-as the Makefile is randomly picking up whatever the
system toolchain happens to default to.

Fix dmi.c while we are here to avoid a re-define of _GNU_SOURCE.

BUG=none
TEST=`make` with both gcc and clang.

Change-Id: I4f973927fc018510a3beaa6c4fa2f356c77c7a6e
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/47908
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-by: Sam McNally <sammc@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-01-13 02:20:46 +00:00
Martin Lucina
3170bc3a8e Makefile: Add a DISABLE_CLOCK_GETTIME option
Allows to force-disable the use of clock_gettime() at build time,
falling back to busy-looping for udelay. This is useful when building
for systems which are known to lie about the resolution of
clock_gettime(), such as Linux guests running under the Muen Separation
Kernel.

Change-Id: I645a5d3f29ffdbd24a58127ab73d7d8755304f45
Signed-off-by: Martin Lucina <martin@lucina.net>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/48796
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2021-01-11 11:50:00 +00:00
Nikolai Artemiev
adbae0e268 s25f.c: implement probing and block erasers for Spansion
This adds support for Spansion 25Fxxxxx chips. These chips
require their own probing logic because the first 6 bytes
returned by RDID must be examined to identify the chip.

New erase functions are required as the chips support multiple
sector layouts, and the default layout must be changed to be
able to erase the entire flash.

Adapted from cros flashrom at
`9c4c9a56b6a0370b383df9c75d71b3bd469e672d`.

BUG=b:153800073
TEST=builds

Signed-off-by: Nikolai Artemiev <nartemiev@google.com>
Change-Id: I2d23f9c36ce8b2959807fbeee7f60e02444e3763
Reviewed-on: https://review.coreboot.org/c/flashrom/+/46140
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
2020-12-03 12:31:33 +00:00
Edward O'Callaghan
732f2eeddb raiden_debug: Rename with '_DEBUG_SPI' suffix
Unfortantly raiden_debug was upstreamed with a misnaming
of the CONFIG_ make param that introduces unnecessary divergence.
Rename to 'CONFIG_RAIDEN_DEBUG_SPI' as-is downstream.

Change-Id: I07c03647c329286bb223e4dae4665704e508db2c
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/48105
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sam McNally <sammc@google.com>
2020-11-28 04:44:22 +00:00
Victor Ding
1b4de5c600 Disable ENE_LPC and MEC1308 on non-x86 arch
Both requires PCI port I/O and hence works only on x86.

TEST=builds on Ubuntu for Raspberry Pi

Signed-off-by: Victor Ding <victording@google.com>
Change-Id: I69e1fbd87819b0b6370f31e9ee4c474500fb3759
Reviewed-on: https://review.coreboot.org/c/flashrom/+/47394
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
2020-11-12 10:36:07 +00:00
Edward O'Callaghan
dad2f7c336 Makefile: Fix typo NEED_LIBUSB0 -> NEED_LIBUSB1
BUG=none
BRANCH=none
TEST=none

Change-Id: I5a402d9530f73419d8317d94a8d6f745d09675ea
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/46869
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2020-10-28 12:32:43 +00:00
Shiyu Sun
6a26b9158c Makefile: remove LSPCON and MST device dependency from libusb
LSPCON and MST do not depend on libusb.

Signed-off-by: Shiyu Sun <sshiyu@chromium.org>
Change-Id: If6db3a318aca349fc1ccd343d3d6d47b809eac8e
Reviewed-on: https://review.coreboot.org/c/flashrom/+/46870
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2020-10-28 10:17:04 +00:00
Victor Ding
cf1e8f7b90 Mark ENE_LPC and MEC1308 as NEED_LIBPCI
Both depend on functions from chipset_enable.c and board_enable.c, which
require libpci.

Signed-off-by: Victor Ding <victording@google.com>
Change-Id: I9505d7f18f4781a264e29e9667b717c061ba33b8
Reviewed-on: https://review.coreboot.org/c/flashrom/+/46812
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2020-10-27 11:35:03 +00:00
Victor Ding
6d69c182da Mark ENE_LPC and MEC1308 as NEED_RAW_ACCESS
Both use INB/OUTB and hence should be marked as NEED_RAW_ACCESS in the
makefile.

Signed-off-by: Victor Ding <victording@google.com>
Change-Id: I6fafd9f59d06f60e9491e3e059c1205d48d8232e
Reviewed-on: https://review.coreboot.org/c/flashrom/+/46811
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2020-10-27 00:51:38 +00:00
Edward O'Callaghan
d3b6acffe4 Add writeprotect support infrastructure
The following just lays out the structure for write protect
manipulation of SPI flash chips in Flashrom. We later follow
up with adding support for each manufacturer group.

BUG=b:153800563
BRANCH=none
TEST=builds

Change-Id: Id93b5a1cb2da476fa8a7dde41d7b963024117474
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/40325
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2020-09-28 06:32:22 +00:00
Pyry Kontio
da6b3b70cb Makefile: Fix building on AArch64 NixOS
The parsing of the output of archtest.c produced an unexpected
value on AArch64 NixOS. For example, the make variable ARCH was set to:

```
bit outside of fd_set selected
arm
```

This made the arch and OS checks fail.

This commit simplifies the parsing, making it more robust.

The C files archtest.c, endiantest.c and os.h used to set the
TARGET_OS, ARCH and ENDIAN variables, respectively, output
the result of the test as the final line, so just extracting
the final line and removing double quoting is enough.

This commit also fixes a bug with debug_shell lacking escaping
single quotes, which prevented using the single quote in the
debug_shell calls. It used to work by accident before this fix;
the line in the call happened to contain a balanced pair of double
quotes and lacked other characters that needed escaping, which
didn't break the debug_shell, but this was accidental and very
brittle.

Signed-off-by: Pyry Kontio <pyry.kontio@drasa.eu>
Change-Id: Iaa4477a71e758cf9ecad2c22f3b77bc6508a3510
Reviewed-on: https://review.coreboot.org/c/flashrom/+/43140
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2020-08-24 10:36:52 +00:00
Victor Ding
821e44cb4d Add MEC1308 EC programmer
Initial support of Microchip MEC1308 Embedded Controller.

BUG=b:156144893
BRANCH=none

Signed-off-by: Victor Ding <victording@google.com>
Change-Id: I2d51b4bdc0b38b6e488e71b9e774eb6232a2069e
Reviewed-on: https://review.coreboot.org/c/flashrom/+/44541
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
2020-08-20 11:11:35 +00:00