Masahiro Yamada [Wed, 6 Aug 2014 04:42:34 +0000 (13:42 +0900)]
tools/genboardscfg.py: Do not output SPLCPU field
Prior to Kconfig, the CPU field of boards.cfg could optionally have
":SPLCPU", like "armv7:arm720t".
(Actually this syntax was only used for Tegra platform.)
Now it is not necessary at all because CPU is defined by
CONFIG_SYS_CPU in Kconfig.
For Tegra platform, the Kconfig option is described as follows:
config SYS_CPU
string
default "arm720t" if SPL_BUILD
default "armv7" if !SPL_BUILD
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Hans de Goede [Wed, 6 Aug 2014 07:37:39 +0000 (09:37 +0200)]
pxe: Allow use of environment variables in append string
Use cli_simple_process_macros, so that environment
variables (e.g. ${console}) can be used in append strings.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Hans de Goede [Wed, 6 Aug 2014 07:37:38 +0000 (09:37 +0200)]
cli: Export cli_simple_process_macros for use outside of cli_simple
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Masahiro Yamada [Wed, 6 Aug 2014 04:08:23 +0000 (13:08 +0900)]
davinci: orphan some Davinci boards
Emails to Sandeep Paulraj <s-paulraj@ti.com>
have been bouncing.
Please assign new maintainer(s) to get these boards
back to Maintained.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Tom Rini <trini@ti.com>
Masahiro Yamada [Wed, 6 Aug 2014 03:59:55 +0000 (12:59 +0900)]
powerpc: mpc8xx: remove FLAGADM board support
This board has been orphaned for a while and old enough.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Masahiro Yamada [Wed, 6 Aug 2014 03:59:54 +0000 (12:59 +0900)]
powerpc: mpc8xx: remove GEN860T, GEN806T_SC board support
These boards have been orphaned for a while and old enough.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Masahiro Yamada [Wed, 6 Aug 2014 03:59:53 +0000 (12:59 +0900)]
powerpc: mpc8xx: remove SXNI855T board support
This board has been orphaned for a while and old enough.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Masahiro Yamada [Wed, 6 Aug 2014 03:59:52 +0000 (12:59 +0900)]
powerpc: mpc8xx: remove svm_sc8xx board
This board has been orphaned for a while and old enough.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Masahiro Yamada [Wed, 6 Aug 2014 03:59:51 +0000 (12:59 +0900)]
powerpc: mpc8xx: remove stxxtc board support
This board has been orphaned for a while and old enough.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Masahiro Yamada [Wed, 6 Aug 2014 03:17:49 +0000 (12:17 +0900)]
omap: remove omap5912osk board support
Emails to the board maintainer
"Rishi Bhattacharya <rishi@ti.com>"
have been bouncing.
Tom suggested to remove this board.
Remove also omap1510_udc.c because this is the last board
to enable it.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Suggested-by: Tom Rini <trini@ti.com>
Masahiro Yamada [Tue, 5 Aug 2014 06:56:45 +0000 (15:56 +0900)]
scripts: objdiff: sync with Linux 3.16
Import scripts/objdiff improvements from Linux v3.16, which
consists of 7 commits written by me.
commit
7fa0e6db3cedc9b70d68a4170f1352e2b1aa0f90
scripts: objdiff: support directories for the augument of record command
commit
8ac28bee76eec006aac5ba5c418878a607d53a9b
scripts: objdiff: fix a comment
commit
8b5d0f20d64f00ffd5685879f8eb3659379f5aaa
scripts: objdiff: change the extension of disassembly from .o to .dis
commit
18165efa8203a34d82f60a1831ea290e7304c654
scripts: objdiff: improve path flexibility for record command
commit
1ecc8e489abfdaa6d8d1689f7ff62fdf1adda30c
scripts: objdiff: remove unnecessary code
commit
5ab370e91af70d5f1b1dbaec78798a2ff236a2d5
scripts: objdiff: direct error messages to stderr
commit
fd6e12423311697860f30d10398a0f9eb91977d2
scripts: objdiff: get the path to .tmp_objdiff more simply
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Masahiro Yamada [Tue, 5 Aug 2014 06:56:44 +0000 (15:56 +0900)]
kbuild: sync mixed targets handling with Linux 3.16
"make %_config all" was supported for the first time in U-Boot:
commit
53bca5ab
kbuild: support simultaneous board configuration and "make all"
Surprisingly it had not been working in Linux Kernel for a long time.
So I sent back the patch to the Linux Kbuild community and it was
accepted with a little code improvement, at commit
9319f453.
Now, you can do "make defconfig all" or "make %_defconfig all"
in Linux too.
This commit updates some scripts to fill the code-diff
between Linux and U-Boot.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Masahiro Yamada [Tue, 5 Aug 2014 06:56:43 +0000 (15:56 +0900)]
kbuild: move extra gcc checks to scripts/Makefile.extrawarn
This commit was imported from Linux Kernel:
commit
a86fe353 written by me.
W=... provides extra gcc checks.
Having such code in scripts/Makefile.build results in the same flags
being added to KBUILD_CFLAGS multiple times becuase
scripts/Makefile.build is invoked every time Kbuild descends into
the subdirectories.
Since the top Makefile is already too cluttered, this commit moves
all of extra gcc check stuff to a new file scripts/Makefile.extrawarn,
which is included from the top Makefile.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Masahiro Yamada [Sun, 3 Aug 2014 23:11:37 +0000 (08:11 +0900)]
drivers: net: remove dead drivers
The following configs are not defined at all:
- CONFIG_INCA_IP_SWITCH
- CONFIG_PBL2800_ETHER
- CONFIG_PHY_ICPLUS
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Masahiro Yamada [Fri, 15 Aug 2014 15:59:26 +0000 (00:59 +0900)]
tools, scripts: refactor error-out statements of Python scripts
In Python, sys.exit() function can also take an object other
than an integer.
If an integer is given to the argument, Python exits with the return
code of it. If a non-integer argument is given, Python outputs it
to stderr and exits with the return code of 1.
That means,
print >> sys.stderr, "Blah Blah"
sys.exit(1)
is equivalent to
sys.exit("Blah Blah")
The latter is a useful shorthand.
Note:
Some error messages in Buildman and Patman were output to stdout.
But they should go to stderr. They are also fixed by this commit.
This is a nice side effect.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Simon Glass <sjg@chromium.org>
Masahiro Yamada [Fri, 15 Aug 2014 15:50:30 +0000 (00:50 +0900)]
README.kconfig: add initial version of Kconfig document
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Tom Rini [Wed, 20 Aug 2014 20:07:34 +0000 (16:07 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Valentin Longchamp [Tue, 19 Aug 2014 13:40:04 +0000 (15:40 +0200)]
kmp204x: reset the Zarlink clocking chips at power up only
There is the requirement on the chassis's backplane that when the clocks
have been enabled, they then should not disappear.
Resetting the Zarlink clocking chips at unit reset violates this
requirement because the backplane clocks are not supplied during the
reset time.
To avoid this side effect, both the Zarlink clocking chips are reset
only at power up.
Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
York Sun [Wed, 13 Aug 2014 17:54:44 +0000 (10:54 -0700)]
powerpc/t4qds: Move doc/README.t4240qds under board/freescale/t4qds
Board specific README file should be moved to board folder.
Signed-off-by: York Sun <yorksun@freescale.com>
Shaohui Xie [Wed, 13 Aug 2014 10:19:15 +0000 (18:19 +0800)]
powerpc/T4240QDS/eth: some fix for XFI
XFI is supported on T4QDS-XFI board, which removed slot3, and four LANEs
of serdes2 are routed to a SFP+ cages, which to house fiber cable or
direct attach cable(copper), the copper cable is used to emulate the
10GBASE-KR scenario.
So, for XFI usage, there are two scenarios, one will use fiber cable,
another will use copper cable. For fiber cable, there is NO PHY, while
for copper cable, we need to use internal PHY which exist in Serdes to
do auto-negotiation and link training, which implemented in kernel.
We use hwconfig to define cable type for XFI, and fixup dtb based on the
cable type.
For copper cable, set below env in hwconfig:
fsl_10gkr_copper:<10g_mac_name>
the <10g_mac_name> can be fm1_10g1, fm1_10g2, fm2_10g1, fm2_10g2. The
four <10g_mac_name>s do not have to be coexist in hwconfig. For XFI ports,
if a given 10G port will use the copper cable for 10GBASE-KR, set the
<10g_mac_name> of the port in hwconfig, otherwise, fiber cable will be
assumed to be used for the port.
For ex. if four XFI ports will both use copper cable, the hwconfig
should contain:
fsl_10gkr_copper:fm1_10g1,fm1_10g2,fm2_10g1,fm2_10g2
For fiber cable:
1. give PHY address to a XFI port, otherwise, the XFI ports will not be
available in U-boot, there is no PHY physically for XFI when using fiber
cable, this is just to make U-boot happy and we can use the XFI ports
in U-boot.
2. fixup dtb to use fixed-link in case of fiber cable which has no PHY.
Kernel requests that a MAC must have a PHY or fixed-link.
When using XFI protocol, the MAC 9/10 on FM1 should init as 10G interface.
Change serdes 2 protocol 56 to 55 which has same feature as 56 since 56
is not valid any longer.
Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
Valentin Longchamp [Wed, 13 Aug 2014 08:24:04 +0000 (10:24 +0200)]
km-powerpc: define CONFIG_PRAM to protect PHRAM and PNVRAM
When u-boot initializes the RAM (early in boot) it looks for the "pram"
env variable to know which is area it cannot use. If the "pram" env variable
is not found, the default CONFIG_PRAM value is used.
This value used to be 0 (no protection at all). This patch sets it to a
value that covers PHRAM and PNVRAM that must be protected in our case.
Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Reviewed-by: York Sun <yorksun@freescale.com>
Vijay Rai [Wed, 23 Jul 2014 13:03:16 +0000 (18:33 +0530)]
driver/qe: update status of QE microcode
This Patch updates error print for QE which should be easily understood
Signed-off-by: Vijay Rai <vijay.rai@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
Shaveta Leekha [Wed, 2 Jul 2014 06:14:15 +0000 (11:44 +0530)]
powerpc/mpc85xx: Enabling CPC conditionally based on hwconfig options
If hwconfig does not contains "en_cpc" then by default all cpcs are enabled
If this config is defined then only those individual cpcs which are defined
in the subargument of "en_cpc" will be enabled e.g en_cpc:cpc1,cpc2; (this
will enable cpc1 and cpc2) or en_cpc:cpc2; (this enables just cpc2)
Signed-off-by: Shaveta Leekha <shaveta@freescale.com>
Signed-off-by: Sandeep Singh <Sandeep@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
Lukasz Majewski [Mon, 18 Aug 2014 10:12:28 +0000 (12:12 +0200)]
test: ums: Add script for testing UMS gadget operation
This commit adds new test for UMS USB gadget to u-boot mainline tree.
It is similar in operation to the one already available in test/dfu
directory.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Lukasz Majewski [Mon, 18 Aug 2014 10:12:27 +0000 (12:12 +0200)]
test: dfu: cosmetic: Add missing license information to DFU test scripts
By mistake I've forgotten to add the SPDX license tags for the DFU testing
scripts.
This commit fixes that and also provides some other relevant information.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Lukasz Majewski [Mon, 18 Aug 2014 10:12:26 +0000 (12:12 +0200)]
test: dfu: Extend dfu_gadget_test_init.sh to accept sizes of test files
It is now possible to pass to the dfu_gadget_test_init.sh script the sizes
of files to be generated.
This feature is required by UMS tests which reuse this code.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Lukasz Majewski [Tue, 29 Jul 2014 09:10:44 +0000 (11:10 +0200)]
samsung: dfu: Provide correct Vendor and Product IDs for UMS gadget
It is necessary to provide the same Vendor and Product IDs as the one in
the original Linux kernel code.
Without this change the USB mass storage gadget is not working with Windows7.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Acked-by: Minkyu Kang <mk7.kang@samsung.com>
Simon Glass [Sat, 9 Aug 2014 21:33:11 +0000 (15:33 -0600)]
patman: Only use git's --no-decorate when available
Older versions of git (e.g. Ubuntu 10.04) do not support this flag. By
default they do not decorate. So only enable this flag when supported.
Suggested-by: Tom Rini <trini@ti.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:33:10 +0000 (15:33 -0600)]
patman: Move the 'git log' command into a function
Move the code that builds a 'git log' command into a function so we can more
easily adjust it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:33:09 +0000 (15:33 -0600)]
buildman: Allow selection of the number of commits to build
It is useful to be able to build only some of the commits in a branch. Add
support for the -c option to allow this. It was previously parsed by
buildman but not implemented.
Suggested-by: York Sun <yorksun@freescale.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: York Sun <yorksun@freescale.com>
Simon Glass [Sat, 9 Aug 2014 21:33:08 +0000 (15:33 -0600)]
buildman: Introduce an 'and' operator for board selection
Currently buildman allows a list of boards to build to be specified on the
command line. The list can include specific board names, architecture, SOC
and so on.
At present the list of boards is dealt with in an 'OR' fashion, and there
is no way to specify something like 'arm & freescale', meaning boards with
ARM architecture but only those made by Freescale. This would exclude the
PowerPC boards made by Freescale.
Support an '&' operator on the command line to permit this. Ensure that
arguments can be specified in a single string to permit easy shell quoting.
Suggested-by: York Sun <yorksun@freescale.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: York Sun <yorksun@freescale.com>
Simon Glass [Sat, 9 Aug 2014 21:33:07 +0000 (15:33 -0600)]
buildman: Add a few more toolchain examples to the README
The current README is a bit sparse in this area, so add a few more
examples.
Suggested-by: Tom Rini <trini@ti.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:33:06 +0000 (15:33 -0600)]
buildman: Add a message indicating there are no errors
If buildman finds no problems it prints nothing. This can be a bit confusing,
so add a message that all is well.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:33:05 +0000 (15:33 -0600)]
buildman: Add an option to specify the buildman config file
Add a new --config-file option (-G) to specify a different configuration
file from the default ~/.buildman.
Reported-by: Tom Rini <trini@ti.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:33:04 +0000 (15:33 -0600)]
buildman: Remove unused non-incremental build method code
The non-incremental build method is no longer used, so remove it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:33:03 +0000 (15:33 -0600)]
buildman: Add verbose option to display errors as they happen
Normally buildman operates in two passes - one to do the build and another
to summarise the errors. Add a verbose option (-v) to display build problems
as they happen. With -e also given, this will display errors too.
When building the current source tree (rather than a list of commits in a
branch), both -v and -e are enabled automatically.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:33:02 +0000 (15:33 -0600)]
buildman: Refactor output options
We need the output options to be available in several places. It's a pain
to pass them into each function. Make them properties of the builder and
add a single function to set them up. At the same time, add a function which
produces summary output using these options.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:33:01 +0000 (15:33 -0600)]
buildman: Sort command line options
These options have got slightly out of order. Fix them.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:33:00 +0000 (15:33 -0600)]
buildman: Move BuilderThread code to its own file
The builder.py file is getting too long, so split out some code.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:32:59 +0000 (15:32 -0600)]
buildman: Allow building of current source tree
Originally buildman had some support for building the current source tree.
However this was dropped before it was submitted, as part of the effort to
make it faster when building entire branches.
Reinstate this support. If no -b option is given, buildman will build the
current source tree.
Reported-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:32:58 +0000 (15:32 -0600)]
buildman: Add some notes about moving from MAKEALL
For those used to MAKEALL, buildman seems strange. Add some notes to ease
the transition.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sat, 9 Aug 2014 21:32:57 +0000 (15:32 -0600)]
buildman: Fix a few typos
There are several typos in the README - fix them.
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Rini [Tue, 12 Aug 2014 20:54:55 +0000 (16:54 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-blackfin
Tang Yuantian [Wed, 23 Jul 2014 09:27:53 +0000 (17:27 +0800)]
powerpc/t104xrdb: support deep sleep in SPI/SD boot
Add deep sleep support in SPI/SD boot. The destination address
second stage uboot image is loaded to is changed because
currently this address will be used by kernel which means
we can't reserve it for resume.
Entry point to kernel is still placed in second stage uboot.
Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
Tang Yuantian [Wed, 23 Jul 2014 09:27:52 +0000 (17:27 +0800)]
powerpc/mpc85xx: Make boot flag effective
bootflag as a parameter is passed to board_init_f().
But it is not actually used in this function.
Make it effective by assigned it to gd->flags.
Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
Jason Jin [Wed, 19 Mar 2014 02:47:56 +0000 (10:47 +0800)]
powerpc/t1042RDB: Add Video - HDMI support
T1042 has internal display interface unit (DIU) for driving video.
T1042RDB supports video mode via
-LCD using TI enconder
-HDMI type interface via HDMI encoder
Chrontel, CH7301C encoder which is I2C programmable is used
as HDMI connector on T1042RDB.
This patch add support to
-enable Video interface for T1042RDB
-route qixis multiplexing to enable DIU-HDMI interface on board
-program DIU pixel clock gerenartor for T1042
-program HDMI encoder via I2C on board
This patch refer to the upstream diu patch
(
337b0c52b3296f371d04aef71a833e09110e0e6b) for T1040qds.
Signed-off-by: Jason Jin <Jason.Jin@freescale.com>
Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
[York Sun: resolve conflict and move changes to T104xRDB.h]
Reviewed-by: York Sun <yorksun@freescale.com>
Wang Dongsheng [Wed, 19 Mar 2014 02:47:55 +0000 (10:47 +0800)]
fsl/diu: ch7301 encoder split off from t1040qds/diu.c
The ch7301 encoder not only used in t1040qds platform, so we split
it for t1042rdb and LSx platform.
Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
Hannes Petermaier [Tue, 15 Jul 2014 14:28:46 +0000 (16:28 +0200)]
lcd: support displaying 24bpp BMPs on >= 24bpp LCDs
most todays LCDs support 32bpp e.g. the framebuffer memory is 32bpp
organized.
To support 24bpp BMPs we need to take only 3 byte from the bpp and set
one byte from the FB to 0.
Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
Jeroen Hofstee [Thu, 10 Jul 2014 20:21:11 +0000 (22:21 +0200)]
lcd: remove unused lcd_puts_xy
prevents a clang warning that the function is
never used.
cc: agust@denx.de
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
Jeroen Hofstee [Tue, 17 Jun 2014 17:20:27 +0000 (19:20 +0200)]
video: ipu_disp: squash clang warning
Since rgb2ycbcr_coeff and friends are declared const, but assigned
to a void pointer, clang will warn that the const is implicity casted
away. If the pointer is changed to void const * gcc will warn when it
is implicitly casted to a const int array. Just add a correctly
typed pointer instead to prevent these casts and hence the warnings.
Cc: Troy Kisky <troy.kisky@boundarydevices.com>
Cc: Stefano Babic <sbabic@denx.de>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
Liu Ying [Fri, 28 Feb 2014 07:12:25 +0000 (15:12 +0800)]
video: ipu_disp: wait for DP SF end irq when disabling sync BG flows
Instead of waiting for DC triple buffer to be cleared, this patch
changes to wait for a relevant DP sync flow end interrupt to come
when disabling sync BG flows. In this way, we align the implement
to the freescale internal IPUv3 driver. After applying this patch,
an uboot hang up issue at the arch_preboot_os() stage, where we
disable a relevant ipu display channel, is not observed any more on
some MX6DL platforms.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Hannes Petermaier [Thu, 6 Mar 2014 13:39:06 +0000 (14:39 +0100)]
video: Add support for TI's AM335x LCD-Controller
- Adds support for a minimal framebuffer driver of TI's AM335x SoC
to be compatible with Wolfgang Denk's LCD-Framework (CONFIG_LCD,
common/lcd.c)
Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
Hannes Petermaier [Fri, 7 Mar 2014 17:45:20 +0000 (18:45 +0100)]
lcd: cleanup unused functions
This patch removes following two functions:
- lcd_getbgcolor(...)
not used somewhere outside lcd.c, internally we use now the global
variable lcd_color_bg (was return value of function before)
- lcd_getfgcolor(...)
not used in any place of u-boot
Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
[agust: rebased]
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Hannes Petermaier [Fri, 7 Mar 2014 17:55:40 +0000 (18:55 +0100)]
Add support for 32-bit organized framebuffers
- Adds support for 32-bit organized framebuffers to the LCD-framework.
Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
Cc: agust@denx.de
Tom Rini [Fri, 1 Aug 2014 17:59:10 +0000 (13:59 -0400)]
env_fat.c: Make sure our buffer is cache aligned
We must ensure the buffer we read the env into is aligned or we may get
warnings later on.
Signed-off-by: Tom Rini <trini@ti.com>
Bryan Wu [Fri, 1 Aug 2014 00:40:00 +0000 (17:40 -0700)]
bootm: use genimg_get_kernel_addr()
Use the new API which is originally taken out from boot_get_kernel
of bootm.c
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
[trini: Fix warnings with CONFIG_FIT]
Signed-off-by: Tom Rini <trini@ti.com>
Bryan Wu [Fri, 1 Aug 2014 00:39:59 +0000 (17:39 -0700)]
pxe: detect image format before calling bootm/bootz
Trying bootm for zImage will print out several error message which
is not necessary for this case. So detect image format firstly, only
try bootm for legacy and FIT format image then try bootz for others.
This patch needs new function genimg_get_kernel_addr().
Signed-off-by: Bryan Wu <pengw@nvidia.com>
Bryan Wu [Fri, 1 Aug 2014 00:39:58 +0000 (17:39 -0700)]
image: introduce genimg_get_kernel_addr()
Kernel address is normally stored as a string argument of bootm or bootz.
This function is taken out from boot_get_kernel() of bootm.c, which can be
reused by others.
Signed-off-by: Bryan Wu <pengw@nvidia.com>
[trini: Fix warnings with CONFIG_FIT]
Signed-off-by: Tom Rini <trini@ti.com>
Daniel Schwierzeck [Fri, 1 Aug 2014 00:24:11 +0000 (02:24 +0200)]
get_maintainer.pl: add support for scanning multiple MAINTAINERS files
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Daniel Schwierzeck [Fri, 1 Aug 2014 00:24:10 +0000 (02:24 +0200)]
get_maintainer.pl: adapt to U-Boot tree
Switch core maintainer to Tom Rini. Adapt directory layout for
git tree detection.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Daniel Schwierzeck [Fri, 1 Aug 2014 00:24:09 +0000 (02:24 +0200)]
get_maintainer.pl: import script from linux 3.15
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Daniel Schwierzeck [Fri, 1 Aug 2014 00:24:08 +0000 (02:24 +0200)]
MAINTAINERS: add initial version
MAINTAINERS contains all currently known custodians based on
infos from wiki [1] and u-boot git forks [2].
[1] http://www.denx.de/wiki/U-Boot/Custodians
[2] http://git.denx.de/?p=u-boot.git;a=forks
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Stephen Warren [Thu, 31 Jul 2014 19:40:07 +0000 (13:40 -0600)]
lib: lmb: fix overflow in __lmb_alloc_base w/ large RAM
If a 32-bit system has 2GB of RAM, and the base address of that RAM is
2GB, then start+size will overflow a 32-bit value (to a value of 0).
__lmb_alloc_base is affected by this; it calculates the minimum of
(start+size of RAM) and max_addr. However, when start+size is 0, it
is always less than max_addr, which causes the value of max_addr not
to be taken into account when restricting the allocation's location.
Fix this by calculating start+size separately, and if that calculation
underflows, using -1 (interpreted as the max unsigned value) as the
value instead, and then taking the min of that and max_addr. Now that
start+size doesn't overflow, it's typically large, and max_addr
dominates the min() call, and is taken into account.
The user-visible symptom of this bug is that CONFIG_BOOTMAP_SZ is ignored
on Tegra124 systems with 2GB of RAM, which in turn causes the DT to be
relocated at the very end of RAM, which the ARM Linux kernel doesn't map
during early boot, and which causes boot failures. With this fix,
CONFIG_BOOTMAP_SZ correctly restricts the relocated DT to a much lower
address, and everything works.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Stephen Warren [Wed, 30 Jul 2014 22:37:16 +0000 (16:37 -0600)]
ARM: rpi_b: use new generic $bootcmd
Replace the custom $bootcmd with that from <config_distro_bootcmd.h>.
There should be no functional change, since the new generic $bootcmd was
derived strongly from tegra-common-post.h, after which this part of
rpi_b.h was modelled.
The #defines to enable/disable U-Boot commands/features were moved
earlier in rpi_b.h, so they are set up before config_distro_bootcmd.h
is included, since it tests whether certain features should be included
based on those defines.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Stephen Warren [Wed, 30 Jul 2014 22:37:15 +0000 (16:37 -0600)]
ARM: tegra: use new generic $bootcmd
Replace the custom $bootcmd with that from <config_distro_bootcmd.h>.
There should be no functional change, since the new generic $bootcmd was
derived strongly from tegra-common-post.h.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Dennis Gilmore [Wed, 30 Jul 2014 22:37:14 +0000 (16:37 -0600)]
config: introduce a generic $bootcmd
This generic $bootcmd, and associated support macros, automatically
searches a defined set of storage devices (or network protocols) for an
extlinux configuration file or U-Boot boot script in various standardized
locations. Distros that install such a boot config file/script in those
standard locations will get easy-to-set-up booting on HW that enables
this generic $bootcmd.
Boards can define the set of devices from which boot is attempted, and
the order in which they are attempted. Users may later customize this
set/order by edting $boot_targets.
Users may interrupt the boot process and boot from a specific device
simply by executing e.g.:
$ run bootcmd_mmc1
or:
$ run bootcmd_pxe
This patch was originally written by Dennis Gilmore based on Tegra and
rpi_b boot scripts. I have made the following modifications since then:
* Boards must define the BOOT_TARGET_DEVICES macro in order to specify
the set of devices (and order) from which to attempt boot. If needed,
we can define a default directly in config_distro_bootcmd.h.
* Removed $env_import and related variables; nothing used them, and I
think it's better for boards to pre-load an environment customization
file using CONFIG_PREBOOT if they need.
* Renamed a bunch of variables to suit my whims:-)
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Acked-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 30 Jul 2014 16:00:17 +0000 (10:00 -0600)]
rsa: Fix two errors in the implementation
1. Failure to set the return code correctly
2. Failure to detect the loop end condition when the value is equal to
the modulus.
Reported-by: Jeroen Hofstee <jeroen@myspectrum.nl>
Signed-off-by: Simon Glass <sjg@chromium.org>
Masahiro Yamada [Wed, 30 Jul 2014 10:11:41 +0000 (19:11 +0900)]
omap: clean-up dead configs
The following configs are not defined at all.
- CONFIG_OMAP1510
- CONFIG_OMAP_1510P1
- CONFIG_OMAP_SX1
- CONFIG_OMAP3_DMA
- CONFIG_OMAP3_ZOOM2
- CONFIG_OMAP_INNOVATOR
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Tom Rini <trini@ti.com>
Simon Glass [Wed, 30 Jul 2014 09:59:03 +0000 (03:59 -0600)]
fdt: Sync up with libfdt
This brings in changes up to commit
f9e91a48 in the libfdt repo.
Mostly this is whitespace/minor changes. But there are a few new
features:
- fdt_size_cells() and fdt_address_cells()
- fdt_resize()
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Wed, 30 Jul 2014 09:59:02 +0000 (03:59 -0600)]
fdt: Rename fdt_resize() to fdt_shrink_to_minimum()
Since libfdt now has an fdt_resize() function, we need to rename the
U-Boot one.
Signed-off-by: Simon Glass <sjg@chromium.org>
Masahiro Yamada [Tue, 29 Jul 2014 10:41:24 +0000 (19:41 +0900)]
cosmetic: update doc/README.scrapyard
- Add 'p1023rds' to the list since commit
d0bc5140 dropped
the board support but missed to update this file
- Fill the Commit and Removed Date fields for boards removed
by earlier commits
- Move 'incaip' to keep the list sorted in reverse
chronological order
- Describe the soring rule in the comment block:
"The list should be sorted in reverse chronological order."
- Fix typos in the comment block
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Pavel Machek [Tue, 29 Jul 2014 10:37:25 +0000 (12:37 +0200)]
ext4load: fix help text
Fix ext4load help text.
Signed-off-by: Pavel Machek <pavel@denx.de>
Simon Glass [Tue, 29 Jul 2014 06:03:12 +0000 (00:03 -0600)]
git-mailrc: Add myself as dm maintainer
Add a subsystem entry for dm with myself as maintainer.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Tue, 29 Jul 2014 06:03:11 +0000 (00:03 -0600)]
git-mailrc: Change fdt maintainer
Add myself as fdt maintainer.
Signed-off-by: Simon Glass <sjg@chromium.org>
Stephen Warren [Fri, 25 Jul 2014 23:30:48 +0000 (17:30 -0600)]
net: BOOTP retry timeout improvements
Currently, the BOOTP code sends out its initial request as soon as the
Ethernet driver indicates "link up". If this packet is lost or not
replied to for some reason, the code waits for a 1s timeout before
retrying. For some reason, such early packets are often lost on my
system, so this causes an annoying delay.
To optimize this, modify the BOOTP code to have very short timeouts for
the first packet transmitted, but gradually increase the timeout each
time a timeout occurs. This way, if the first packet is lost, the second
packet is transmitted quite quickly and hence the overall delay is low.
However, if there's still no response, we don't keep spewing out packets
at an insane speed.
It's arguably more correct to try and find out why the first packet is
lost. However, it seems to disappear inside my Ethenet chip; the TX chip
indicates no error during TX (not that it has much in the way of
reporting...), yet wireshark on the RX side doesn't see any packet.
FWIW, I'm using an ASIX USB Ethernet adapter. Perhaps "link up" is
reported too early or based on the wrong condition in HW, and we should
add some fixed extra delay into the driver. However, this would slow down
every link up event even if it ends up not being needed in some cases.
Having BOOTP retry quickly applies the fix/WAR to every possible
Ethernet device, and is quite simple to implement, so seems a better
solution.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
maxin.john@enea.com [Thu, 24 Jul 2014 12:09:05 +0000 (14:09 +0200)]
emif.h: remove duplicated argument to |
Remove the duplicated argument to | in two places. Reported
by Coccinelle (http://coccinelle.lip6.fr/).
Signed-off-by: Maxin B. John <maxin.john@enea.com>
maxin.john@enea.com [Thu, 24 Jul 2014 10:26:05 +0000 (12:26 +0200)]
vitesse: remove duplicated argument to ||
Remove the duplicated argument to || check
Signed-off-by: Maxin B. John <maxin.john@enea.com>
Ian Campbell [Thu, 24 Jul 2014 08:29:57 +0000 (09:29 +0100)]
board_r: Add missing return to initr_doc
I happened to spot this while working in the area.
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Acked-by: Simon Glass <sjg@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Chris Packham [Thu, 24 Jul 2014 05:27:07 +0000 (17:27 +1200)]
Makefile: use u-boot.map for binary_size_check
u-boot.map is generated automatically by the compiler and more
importantly can handle addresses >4GB.
Chris Packham [Thu, 24 Jul 2014 00:44:25 +0000 (12:44 +1200)]
Makefile: use $(shell ...) for determining file_size
file_size was being calculated using back-ticks but map_size uses
$(shell ...). Update the file_size calculation to use $(shell ...).
From: Jeroen Hofstee <jeroen@myspectrum.nl>
The binary_size_check target relies on stat -c %s
to return the size of u-boot.bin. This only works
with GNU stat though. Use wc instead.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Stephen Warren [Wed, 23 Jul 2014 00:06:46 +0000 (18:06 -0600)]
pxe: clear Bootfile before returning
When "pxe boot" downloads the initrd/kernel/DTB, netboot_common() saves
the downloaded filename to global variable BootFile. If the boot
operation is aborted, this global state is not cleared. If "dhcp" is
executed later without any arguments, BootFile is not cleared, and when
the DHCP response is received, BootpCopyNetParams() writes the value into
environment variable bootfile.
This causes the following scenario:
* Boot script executes dhcp; pxe get; pxe boot
* User CTRL-C's the PXE menu, which causes the first menu item to be
booted, which causes some file to be downloaded.
(This boot-on-CTRL-C behaviour is arguably a bug too, but it's a
separate bug and the bug this patch fixes would still exist if the user
simply waited to press CTRL-C until "pxe boot" started downloading
files)
* User CTRL-C's the file downloads, but the filename is still written to
the bootfile environment variable.
* User re-runs the boot command, which in my case executes "dhcp; pxe get;
pxe boot" again, and "dhcp" picks up the saved bootfile environment
variable and proceeds to download a file that it shouldn't.
To solve this, modify the implementation of "pxe get" to clear BootFile
if the whole boot operation fails, which avoids this whole mess.
An alternative would be to modify netboot_common() such that the no-
arguments case explicitly clears the global variable BootFile. However,
that would prevent the following command sequences from working:
$ dhcp filename # downloads "filename"
$ dhcp # downloads $bootfile, i.e. "filename"
or:
$ setenv bootfile filename
$ dhcp # downloads $bootfile, i.e. "filename"
... and I assume someone relies on U-Boot working that way.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Barnes, Clifton A [Tue, 22 Jul 2014 15:23:56 +0000 (11:23 -0400)]
doc: README.android-fastboot: Add note about vendor ID
The Android fastboot client only communicates with specific vendor IDs.
This addition to the documentation points out that fact so everyone is
aware that not just any vendor ID will work and where to find the IDs
that will.
Signed-off-by: Clifton Barnes <cabarnes@indesign-llc.com>
Cc: Rob Herring <robh@kernel.org>
Łukasz Majewski [Tue, 22 Jul 2014 08:17:06 +0000 (10:17 +0200)]
ext4: trats: trats2: Modify dfu_alt_info's file names to have absolute path
After the clean up performed in the commit
1151b7ac10b81ecbb the DFU subsystem
requires absolute patch for correct operation.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Michael van der Westhuizen [Wed, 2 Jul 2014 08:17:26 +0000 (10:17 +0200)]
Implement generalised RSA public exponents for verified boot
Remove the verified boot limitation that only allows a single
RSA public exponent of 65537 (F4). This change allows use with
existing PKI infrastructure and has been tested with HSM-based
PKI.
Change the configuration OF tree format to store the RSA public
exponent as a 64 bit integer and implement backward compatibility
for verified boot configuration trees without this extra field.
Parameterise vboot_test.sh to test different public exponents.
Mathematics and other hard work by Andrew Bott.
Tested with the following public exponents: 3, 5, 17, 257, 39981,
50457, 65537 and
4294967297.
Signed-off-by: Andrew Bott <Andrew.Bott@ipaccess.com>
Signed-off-by: Andrew Wishart <Andrew.Wishart@ipaccess.com>
Signed-off-by: Neil Piercy <Neil.Piercy@ipaccess.com>
Signed-off-by: Michael van der Westhuizen <michael@smart-africa.com>
Cc: Simon Glass <sjg@chromium.org>
Nobuhiro Iwamatsu [Mon, 28 Jul 2014 06:07:44 +0000 (15:07 +0900)]
serial: sh: Add support External Clock mode
R8A7780 and R7A7791 of rmobile supports External Clock mode, and these uses
different from Internal Clock mode registers and calculations to the baud rate
setting. This adds function for External Clock mode.
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Nobuhiro Iwamatsu [Mon, 28 Jul 2014 06:07:43 +0000 (15:07 +0900)]
serial: sh: Add support DL and CKS register for R8A7794
R8A7794 has DL and CKS register, and these registers are used in external clock
mode. This adds support these for R8A7794.
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Nobuhiro Iwamatsu [Mon, 28 Jul 2014 06:29:31 +0000 (15:29 +0900)]
usb: ehci: rmobile: Remove xHCI address
echi-rmobile does not support xHCI. This removes xHCI address
from address table. And this revise a value of CONFIG_USB_MAX_CONTROLLER_COUNT
for lager board and koelsh board.
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Nobuhiro Iwamatsu [Thu, 24 Jul 2014 05:52:07 +0000 (14:52 +0900)]
usb: ehci: rmobile: Add support R8A7794
R8A7794 has same IP of USB controller as R8A7790 and R8A7791.
This addes support for R8A7794.
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Stephen Warren [Tue, 1 Jul 2014 18:16:57 +0000 (12:16 -0600)]
dfu: fix readback buffer overflow test
The buffer is too small if it's < size to read, not if it's <= the size.
This fixes the 1MB test case on Tegra, which has a 1MB buffer.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Stephen Warren [Tue, 1 Jul 2014 18:16:56 +0000 (12:16 -0600)]
test: dfu: add some more test cases
On Tegra, the DFU buffer size is 1M. Consequently, the 8M test always
fails. Add tests for the 1M size, and one byte less as a corner case,
so that some large tests are executed and expected to pass.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Stephen Warren [Tue, 1 Jul 2014 18:16:55 +0000 (12:16 -0600)]
test: dfu: cleanup before execution
Call cleanup() before running tests too. If a previous test was CTRL-C'd
some stale files may have been left around. dfu-util refuses to receive
a file to a filename that already exists, which results in false test
failures if the files aren't cleaned up first.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Lukasz Majewski [Mon, 23 Jun 2014 07:39:16 +0000 (09:39 +0200)]
thor: defer parsing of device string to IO backend
Commit
d4f5ef59cc7 "dfu: defer parsing of device string to IO backend" changed
the function signature of dfu_init_env_entities(). Adjust cmd_thordown.c
to match that change.
Also, apply the same change as commit
d6d37d737b58e "dfu: free entities
when parsing fails" to cmd_thordown.c.
Fixes:
d4f5ef59cc7 ("dfu: defer parsing of device string to IO backend")
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Lukasz Majewski [Fri, 20 Jun 2014 15:53:44 +0000 (17:53 +0200)]
test:dfu: README file update
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Stephen Warren [Tue, 10 Jun 2014 22:28:10 +0000 (16:28 -0600)]
test: dfu: script enhancements
Various misc enhancements to dfu_gadget_test.sh:
* After every write (download), perform a write to a different file
with different data. This ensures that the DFU buffer's content is
replaced, so that if the read (upload) succeeds, we know that the
correct data was actually read from the storage device, rather than
simply being left over in the DFU buffer. This requires two alt
setting names to be passed to the script, and a dummy data file to
be generated by dfu_gadget_test_init.sh.
* Fix the assumption that dfu_gadget_test.sh is run from the directory
that contains it, by cd'ing to that directory before invoking
./dfu_gadget_test_init.sh.
* Use $DIR$RCV_DIR consistently, rather than using plain $RCV_DIR in
some places.
* Add 959, 961 test file sizes, to be consistent with having one
more than and one less than all the other "round" sizes 64, 128, and
4096.
* Remove references to $BKP_DIR from dfu_gadget_test_init.sh, since it
isn't used.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Lukasz Majewski [Wed, 18 Jun 2014 09:38:56 +0000 (11:38 +0200)]
test:dfu: Add test scripts for testing DFU regression
This commit adds test scripts for testing if any commit has introduced
regression to the DFU subsystem.
It uses md5 to test if sent and received file is correct.
The test detailed description is available at README file.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Stephen Warren [Wed, 11 Jun 2014 22:03:36 +0000 (16:03 -0600)]
dfu: add SF backend
This allows SPI Flash to be programmed using DFU.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Stephen Warren [Wed, 11 Jun 2014 22:03:35 +0000 (16:03 -0600)]
dfu: add free_entity() to struct dfu_entity
This allows the backend to free any resources allocated during the
relevant dfu_fill_entity_*() call. This will soon be used by the
SF backend.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Stephen Warren [Wed, 11 Jun 2014 22:03:34 +0000 (16:03 -0600)]
dfu: allow backend to specify a maximum buffer size
CONFIG_SYS_DFU_DATA_BUF_SIZE may be large to allow for FAT/ext layouts
to transfer large files. However, this means that individual write
operations will take a long time. Allow backends to specify a maximum
buffer size, so that each write operation is limited to a smaller data
block. This prevents the DFU protocol from timing out when e.g. writing
to SPI flash. I would guess that NAND might benefit from setting this
value too, but I can't test that.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Stephen Warren [Wed, 11 Jun 2014 22:03:33 +0000 (16:03 -0600)]
dfu: defer parsing of device string to IO backend
Devices are not all identified by a single integer. To support
this, defer the parsing of the device string to the IO backed, so that
it can apply the appropriate rules.
SPI devices are specified as controller:chip_select. SPI/SF support will
be added soon.
MMC devices can also be specified as controller[.hwpart][:partition] in
many commands, although we don't support that syntax in DFU.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Stephen Warren [Wed, 11 Jun 2014 18:48:08 +0000 (12:48 -0600)]
dfu: add write error handling
Fix calls to dfu_write() and dfu_flush() to detect errors in the I/O
itself. This could happen due to problems with the storage medium, or
simply when trying to write a FAT/ext file that is larger than the buffer
dfu_mmc.c maintains for this purpose.
Signal the error by switching the DFU state/status. This will be picked
up by the DFU client when it sends the next DFU request. Note that errors
can't simply be returned from e.g. dnload_request_complete(), since that
function has no way to pass errors back to the DFU client; a call to
dnload_request_complete() simply means that a USB OUT completed.
This error state/status needs to be cleared when the next DFU client
connects. While there is a DFU_CLRSTATUS request, no DFU client seems to
send this. Hence, clear this when selecting the USB alternate setting on
the USB interface.
Finally, dfu.c relies on a call to dfu_flush() to clear up the internal
state of the write transaction. Now that errors in dfu_write() are
detected, dfu_flush() may no longer be called for every transaction.
Separate out the cleanup code into a new function, and call it whenever
dfu_write() fails, as well as from any call to dfu_flush().
Signed-off-by: Stephen Warren <swarren@nvidia.com>