kernel/u-boot.git
15 years agoUSB: Add dcache support to the EHCI driver
Stefan Roese [Wed, 21 Jan 2009 16:12:19 +0000 (17:12 +0100)]
USB: Add dcache support to the EHCI driver

This patch adds routines to handle (flush/invalidate) the dcache for the
QH and qTD structures and data buffers. This is needed on platforms using
this EHCI support with dcache enabled (like the MIPS VCT board port).

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agoUSB: Add EHCI support for VCT EHCI controller
Stefan Roese [Wed, 21 Jan 2009 16:12:28 +0000 (17:12 +0100)]
USB: Add EHCI support for VCT EHCI controller

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agoUSB: Add config option to call ehci_hcd_init() again after EHCI reset
Stefan Roese [Wed, 21 Jan 2009 16:12:10 +0000 (17:12 +0100)]
USB: Add config option to call ehci_hcd_init() again after EHCI reset

This patch adds the config option CONFIG_EHCI_HCD_INIT_AFTER_RESET
to call ehci_hcd_init() again after ehci_reset() is executed. This
is needed for the upcoming VCT EHCI support which needs to re-init
the hcd part again after the EHCI CMD_RESET is executed.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agoUSB: Fix speed detection on EHCI cntr with root hub transaction translators
Stefan Roese [Wed, 21 Jan 2009 16:12:01 +0000 (17:12 +0100)]
USB: Fix speed detection on EHCI cntr with root hub transaction translators

This patch fixes an issue that the speed of USB devices was not detected
correctly on some EHCI controllers. This will be used on the upcoming VCT
EHCI support.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agousb : musb : Enabling USB MSC support for DM6446 (TI DaVinci) platform
Thomas Abraham [Sun, 4 Jan 2009 04:11:20 +0000 (09:41 +0530)]
usb : musb : Enabling USB MSC support for DM6446 (TI DaVinci) platform

Enabling USB MSC support for DM6446 (TI DaVinci) platform in the
configuration file.

Signed-off-by: Ravi Babu <ravibabu@ti.com>
Signed-off-by: Swaminathan S <swami.iyer@ti.com>
Signed-off-by: Thomas Abraham <t-abraham@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agousb : musb : Enabling DM6446 (TI DaVinci) USB module power
Thomas Abraham [Sun, 4 Jan 2009 04:11:16 +0000 (09:41 +0530)]
usb : musb : Enabling DM6446 (TI DaVinci) USB module power

Enabling DM6446 (TI DaVinci) USB module power and MUSB low-level
controller hook up to USB core layer.

Signed-off-by: Ravi Babu <ravibabu@ti.com>
Signed-off-by: Swaminathan S <swami.iyer@ti.com>
Signed-off-by: Thomas Abraham <t-abraham@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agousb : musb : Adding DM6446 (TI DaVinci) platform specific USB support
Thomas Abraham [Sun, 4 Jan 2009 04:11:13 +0000 (09:41 +0530)]
usb : musb : Adding DM6446 (TI DaVinci) platform specific USB support

Adding DM6446 (TI DaVinci) platform specific USB functionality for
USB Phy and VBUS initialization.

Signed-off-by: Ravi Babu <ravibabu@ti.com>
Signed-off-by: Swaminathan S <swami.iyer@ti.com>
Signed-off-by: Thomas Abraham <t-abraham@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agousb : musb : Adding USB VBUS enable functionality for DM644x DVEVM
Thomas Abraham [Sun, 4 Jan 2009 04:11:09 +0000 (09:41 +0530)]
usb : musb : Adding USB VBUS enable functionality for DM644x DVEVM

Adding USB VBUS enable functionality for DM644x DVEVM (TI DaVinci)
platform.

Signed-off-by: Ravi Babu <ravibabu@ti.com>
Signed-off-by: Swaminathan S <swami.iyer@ti.com>
Signed-off-by: Thomas Abraham <t-abraham@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agousb : musb : Adding host controller driver for Mentor USB controller
Thomas Abraham [Sun, 4 Jan 2009 04:11:03 +0000 (09:41 +0530)]
usb : musb : Adding host controller driver for Mentor USB controller

Adding Mentor USB core functionality and Mentor USB Host controller
functionality for Mentor USB OTG controller (musbhdrc).

Signed-off-by: Ravi Babu <ravibabu@ti.com>
Signed-off-by: Swaminathan S <swami.iyer@ti.com>
Signed-off-by: Thomas Abraham <t-abraham@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agousb.h: use standard __LITTLE_ENDIAN from Linux headers
Mike Frysinger [Thu, 1 Jan 2009 23:27:27 +0000 (18:27 -0500)]
usb.h: use standard __LITTLE_ENDIAN from Linux headers

Rather than forcing people to define a custom "LITTLEENDIAN", just use the
__LITTLE_ENDIAN one from the Linux byteorder headers that every arch is
already setting up.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agoUSB ehci ixp4xx support
Michael Trimarchi [Wed, 31 Dec 2008 09:33:56 +0000 (10:33 +0100)]
USB ehci ixp4xx support

Add USB ehci ixp4xx host controller. Test on ixdp465 board.

Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agoUSB ehci remove infinite loop and use handshake function
Michael Trimarchi [Wed, 31 Dec 2008 09:33:22 +0000 (10:33 +0100)]
USB ehci remove infinite loop and use handshake function

USB ehci code cleanup. Use handshake instead of infinite while loop
to check the STD_ASS status

Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agoAdd initial support for USB ehci pci
Michael Trimarchi [Wed, 31 Dec 2008 09:32:41 +0000 (10:32 +0100)]
Add initial support for USB ehci pci

Add USB ehci pci support. This patch doesn't include any
pci_ids and it is not tested on real hardware.

Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agousb_storage: do not reset SanDisk Corporation U3 Cruzer Micro USB thumb drive
Bryan Wu [Fri, 2 Jan 2009 00:48:07 +0000 (19:48 -0500)]
usb_storage: do not reset SanDisk Corporation U3 Cruzer Micro USB thumb drive

The SanDisk Corporation U3 Cruzer Micro 1/4GB Flash Drive 000016244373FFB4
does not like to be reset, so check for it.

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agousb : usb_kbd : Populating 'priv' member of USB keyboard device_t structure
Thomas Abraham [Sun, 4 Jan 2009 06:45:35 +0000 (12:15 +0530)]
usb : usb_kbd : Populating 'priv' member of USB keyboard device_t structure

This patch populates the 'priv' field of the USB keyboard device_t
structure. The 'priv' field is populated with the address of the
'struct usb_device' structure that represents the USB device.

The 'priv' field can then be used in the 'usb_event_poll' function to
determine the USB device that requires to be polled. An
example of its usage in 'usb_event_poll' function is as below.

device_t *dev;
struct usb_device *usb_kbd_dev;

<snip>

dev = device_get_by_name("usbkbd");
usb_kbd_dev = (struct usb_device *)dev->priv;
iface = &usb_kbd_dev->config.if_desc[0];

Signed-off-by: Thomas Abraham <t-abraham@ti.com>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agoUSB change speed
Michael Trimarchi [Thu, 18 Dec 2008 09:05:37 +0000 (10:05 +0100)]
USB change speed

USB changes the speed according to the port status

Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agoEHCI fix code and ixp4xx test.
Remy Böhmer [Sat, 13 Dec 2008 21:51:58 +0000 (22:51 +0100)]
EHCI fix code and ixp4xx test.
USB ehci configuration parameter:

#define CONFIG_CMD_USB          1
#define CONFIG_USB_STORAGE      1
#define CONFIG_USB_EHCI
#define CONFIG_USB_EHCI_IXP4XX 1
#define CONFIG_EHCI_IS_TDI 1
#define CONFIG_EHCI_DESC_BIG_ENDIAN     1
#define CONFIG_EHCI_MMIO_BIG_ENDIAN     1
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2
#define CONFIG_LEGACY_USB_INIT_SEQ      1

2 USB Device(s) found
       scanning bus for storage devices... 0 Storage Device(s) found
=> usb tree

Device Tree:
  1  Hub (1.5MBit/s, 0mA)
  |  u-boot EHCI Host Controller
  |
  |+-2  Mass Storage (12MBit/s, 100mA)
       Sony Storage Media 0C07040930296

=>

Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it>
Signed-off-by: Remy Böhmer <linux@bohmer.net>
15 years ago[PATCH] This patch add varius fix to the ehci.
michael [Thu, 11 Dec 2008 12:43:55 +0000 (13:43 +0100)]
[PATCH] This patch add varius fix to the ehci.
- fix ehci_readl, ehci_writel
- introduce new define in ehci.h
- introduce the handshake function for waiting on a register
- fix usb_ehci_fsl with the new HC_LENGTH macro

Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it>
Signed-off-by: Remy Böhmer <linux@bohmer.net>
15 years ago[PATCH] Fix EHCI usb. I start to test on a
michael [Wed, 10 Dec 2008 16:55:19 +0000 (17:55 +0100)]
[PATCH] Fix EHCI usb. I start to test on a
IXP465 board and I find some errors in the code. This
patch fix:
- descriptor initizialization (config, interface and endpoint
  must be one next-to the other when the USB_DT_CONFIG message
  is send.
- FIX little/endian bigendian (introduce the CONFIG_EHCI_DESC_BIG_ENDIAN
  and the CONFIG_EHCI_MMIO_BIG_ENDIAN)
- Introduce the linux version of the usb_config_descriptor and
  usb_interface descriptor. This descriptor does't contains
  u-boot extension.

Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it>
Signed-off-by: Remy Böhmer <linux@bohmer.net>
15 years agoUSB ehci freescale support
Michael Trimarchi [Fri, 28 Nov 2008 12:22:09 +0000 (13:22 +0100)]
USB ehci freescale support

Add USB ehci freescale support

Signed-off-by: Michael Trimarchi <trimarchi@gandalf.sssup.it>
Signed-off-by: Remy Böhmer <linux@bohmer.net>
15 years agoUSB ehci core support
Michael Trimarchi [Fri, 28 Nov 2008 12:20:46 +0000 (13:20 +0100)]
USB ehci core support

Add USB ehci core support

Signed-off-by: Michael Trimarchi <trimarchi@gandalf.sssup.it>
Signed-off-by: Remy Böhmer <linux@bohmer.net>
15 years agoPrepare USB layer for ehci
Michael Trimarchi [Fri, 28 Nov 2008 12:19:19 +0000 (13:19 +0100)]
Prepare USB layer for ehci

Prepare USB layer for ehci support

Signed-off-by: Michael Trimarchi <trimarchi@gandalf.sssup.it>
Signed-off-by: Remy Böhmer <linux@bohmer.net>
15 years agoUSB storage cleanup patch
Michael Trimarchi [Wed, 10 Dec 2008 14:52:06 +0000 (15:52 +0100)]
USB storage cleanup patch

Cleanup usb storage

Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agompc83xx: fix undefined reference to `flush_cache' error in simpc8313 build
Kim Phillips [Tue, 27 Jan 2009 22:03:53 +0000 (16:03 -0600)]
mpc83xx: fix undefined reference to `flush_cache' error in simpc8313 build

extend commit c70564e6b1bd08f3230182392238907f3531a87e
"NAND: Fix cache and memory inconsistency issue" to add the cache.o dependency
to the simpc8313 build and fix this:

...Large Page NAND...Configuring for SIMPC8313 board...
nand_boot_fsl_elbc.o: In function `nand_boot':
nand_spl/board/sheldon/simpc8313/nand_boot_fsl_elbc.c:150: undefined reference to `flush_cache'
make[1]: *** [/home/r1aaha/git/u-boot-mpc83xx/nand_spl/u-boot-spl] Error 1
make: *** [nand_spl] Error 2

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
15 years agompc8536ds.c: include sata.h to for needed function prototypes
Wolfgang Denk [Wed, 28 Jan 2009 08:25:31 +0000 (09:25 +0100)]
mpc8536ds.c: include sata.h to for needed function prototypes

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoCommand usage cleanup
Peter Tyser [Wed, 28 Jan 2009 00:03:12 +0000 (18:03 -0600)]
Command usage cleanup

Remove command name from all command "usage" fields and update
common/command.c to display "name - usage" instead of
just "usage". Also remove newlines from command usage fields.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
15 years agoamcc: Clean up command usage output
Peter Tyser [Wed, 28 Jan 2009 00:03:11 +0000 (18:03 -0600)]
amcc: Clean up command usage output

Update taihu and taishan commands to use cmd_usage() function
to display usage messages.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
15 years agoStandardize command usage messages with cmd_usage()
Peter Tyser [Wed, 28 Jan 2009 00:03:10 +0000 (18:03 -0600)]
Standardize command usage messages with cmd_usage()

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
15 years agopcs440ep: Clean up led command definition
Peter Tyser [Wed, 28 Jan 2009 00:03:09 +0000 (18:03 -0600)]
pcs440ep: Clean up led command definition

The pcs440ep's led command usage formatting is non-standard.  It
was made standard in preparation for larger command usage updates.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
15 years agoClean up diufb command definitions
Peter Tyser [Wed, 28 Jan 2009 00:03:08 +0000 (18:03 -0600)]
Clean up diufb command definitions

The diufb command usage formatting is non-standard.  It was
made standard in preparation for larger command usage updates.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
15 years agoUpdate CHANGELOG, tiny coding style cleanup.
Wolfgang Denk [Tue, 27 Jan 2009 23:29:26 +0000 (00:29 +0100)]
Update CHANGELOG, tiny coding style cleanup.

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoSATA: do not auto-initialize during boot
Mike Frysinger [Tue, 27 Jan 2009 21:12:21 +0000 (16:12 -0500)]
SATA: do not auto-initialize during boot

Rather than have the board code initialize SATA automatically during boot,
make the user manually run "sata init".  This brings the SATA subsystem in
line with common U-Boot policy.

Rather than having a dedicated weak function "is_sata_supported", people
can override sata_initialize() to do their weird board stuff.  Then they
can call the actual __sata_initialize().

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agopart_efi: Fix partition size calculation due to inclusive ending LBA.
Richard Retanubun [Mon, 26 Jan 2009 13:45:14 +0000 (08:45 -0500)]
part_efi: Fix partition size calculation due to inclusive ending LBA.

The ending LBA is inclusive. Hence, the partition size should be
((ending-LBA + 1) - starting-LBA) to get the proper partition size.

This is confirmed against the results from the parted tool.
(e.g. use parted /dev/sda -s unit S print) and observe the size.

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
15 years agojffs2: Fix zero sector_size when not using CONFIG_JFFS2_CMDLINE
Tomasz Figa [Tue, 30 Dec 2008 17:35:57 +0000 (18:35 +0100)]
jffs2: Fix zero sector_size when not using CONFIG_JFFS2_CMDLINE

This patch fixes a bug (?) introduced after inclusion of the new
JFFS2 code.

When not using CONFIG_JFFS2_CMDLINE, the code in cmd_jffs2.c doesn't
fill in part->sector_size (keeping it as 0), but a correct value is
needed by the code in jffs2_1pass.c. This causes all JFFS2 accesses
to be in the same place of the memory, what obviously means
impossibility to use the JFFS2 partition.

This problem is fixed in this patch by including sector size
calculation in non-CONFIG_JFFS2_CMDLINE mtdparts_init variant.

Signed-off-by: Tomasz Figa <tomasz.figa_at_gmail.com>
15 years agosaveenv: standardize enablement
Mike Frysinger [Tue, 30 Dec 2008 07:59:25 +0000 (02:59 -0500)]
saveenv: standardize enablement

Rather than special casing each environment type for enabling the saveenv
command, have them all behave the same.  This avoids bitrot as new env
sources are added/removed.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agosoft_i2c.c add option for repeated start in i2c_read()
Andrew Dyer [Mon, 29 Dec 2008 23:36:01 +0000 (17:36 -0600)]
soft_i2c.c add option for repeated start in i2c_read()

This patch adds a #define to optionally change the behaviour of
i2c_read() in soft_i2c.c to send an I2C repeated start instead of a
stop-start between sending the device address pointer write and
reading back the data.  The current behaviour is retained as the
default.

While most devices will work either way, I have a smart battery(*)
that requires repeated start, and someone at some point found a
device that required a stop-start.

(*) http://www.inspired-energy.com/Standard_Products/NL2054/NL2054%20Rev1.0%20Data%20Sheet.pdf

Signed-off-by: Andrew Dyer <adyer@righthandtech.com>
15 years ago{delta,zylonite}/lowlevel_init.S: fix typo
Wolfgang Denk [Tue, 27 Jan 2009 21:07:14 +0000 (22:07 +0100)]
{delta,zylonite}/lowlevel_init.S: fix typo

Commit 9d803d8c mistakenly changed some constants
from 0x300 into 300 - this patch fixes it.

Pointed out by Tom Evans <tom@ceos.com.au>, see
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/51992 for
details.

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agodrivers/net/e1000.c: missing terminator for supported devices
Stefan Althoefer [Sat, 20 Dec 2008 18:40:41 +0000 (19:40 +0100)]
drivers/net/e1000.c: missing terminator for supported devices

Signed-off-by: Stefan Althoefer <stefan.althoefer@web.de>
15 years agofat.c: fix warning: array subscript is above array bounds
Wolfgang Denk [Tue, 27 Jan 2009 20:36:28 +0000 (21:36 +0100)]
fat.c: fix warning: array subscript is above array bounds

Fix based on suggestion by David Hawkins <dwh@ovro.caltech.edu>.

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoFix gunzip in case of insufficient output buffer
Matthias Fuchs [Fri, 2 Jan 2009 14:11:41 +0000 (15:11 +0100)]
Fix gunzip in case of insufficient output buffer

U-Boot's gunzip() function does not handle the return code
of zlib's inflate() function correctly. gunzip() is implemented
to uncompress all input data in one run. So the correct return
code for the good case is Z_STREAM_END. In case of insufficient
output buffer memory inflate returns Z_OK. For gunzip() this
is an error.

It also makes sense to me to call inflateEnd() also in case
of an error.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
15 years agoMerge branch 'master' of git://git.denx.de/u-boot-mips
Wolfgang Denk [Tue, 27 Jan 2009 19:55:57 +0000 (20:55 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mips

15 years agoMerge branch 'master' of git://git.denx.de/u-boot-cfi-flash
Wolfgang Denk [Tue, 27 Jan 2009 19:54:33 +0000 (20:54 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-cfi-flash

15 years agoMIPS: Add VCT board series support (Part 3/3)
Stefan Roese [Wed, 21 Jan 2009 16:25:01 +0000 (17:25 +0100)]
MIPS: Add VCT board series support (Part 3/3)

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoMIPS: Add VCT board series support (Part 2/3)
Stefan Roese [Wed, 21 Jan 2009 16:24:49 +0000 (17:24 +0100)]
MIPS: Add VCT board series support (Part 2/3)

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoMIPS: Add VCT board series support (Part 1/3)
Stefan Roese [Wed, 21 Jan 2009 16:24:39 +0000 (17:24 +0100)]
MIPS: Add VCT board series support (Part 1/3)

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoMIPS: Add flush_dcache_range() and invalidate_dcache_range()
Stefan Roese [Wed, 21 Jan 2009 16:20:20 +0000 (17:20 +0100)]
MIPS: Add flush_dcache_range() and invalidate_dcache_range()

This patch adds flush_/invalidate_dcache_range() to the MIPS architecture.
Those functions are needed for the upcoming dcache support for the USB
EHCI driver. I chose this API because those cache handling functions are
already present in the PPC architecture.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
15 years agoCFI: Add geometry reversal for STMicro M29W320ET
Richard Retanubun [Wed, 14 Jan 2009 13:44:26 +0000 (08:44 -0500)]
CFI: Add geometry reversal for STMicro M29W320ET

Added flash_fixup_stm to fix geometry reversal on STMicro M29W320ET flash chip.

Modeled after flash_fixup_amd, this patch handles the geometry reversal
or erase sectors that exist for ST Micro (now Numonyx) M29W320ET flash.
Since I cannot test all STM's chips, the detection is implemented as
narrow as possible for now.

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoCFI: increase performance of function find_sector()
Jens Gehrlein [Tue, 16 Dec 2008 16:25:55 +0000 (17:25 +0100)]
CFI: increase performance of function find_sector()

Tested on TQM5200S-BD with Samsung K8P2815UQB

Signed-off-by: Jens Gehrlein <sew_s@tqs.de>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoCFI: avoid redundant function call in single word programming mode
Jens Gehrlein [Tue, 16 Dec 2008 16:25:54 +0000 (17:25 +0100)]
CFI: avoid redundant function call in single word programming mode

The function find_sector() doesn't need to be called twice in
the case of AMD command set.
Tested on TQM5200S-BD with Samsung K8P2815UQB.

Signed-off-by: Jens Gehrlein <sew_s@tqs.de>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Remove compilation warning in gdppc440etc.c
Stefan Roese [Mon, 26 Jan 2009 09:15:23 +0000 (10:15 +0100)]
ppc4xx: Remove compilation warning in gdppc440etc.c

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Remove CONFIG_SYS_IGNORE_405_UART_ERRATA_59 from config files
Matthias Fuchs [Fri, 2 Jan 2009 11:19:47 +0000 (12:19 +0100)]
ppc4xx: Remove CONFIG_SYS_IGNORE_405_UART_ERRATA_59 from config files

Lot's of 405 board config files use CONFIG_SYS_IGNORE_405_UART_ERRATA_59.
Either they define or undef it. Because it's not used in any source
files this patch removes any references to it.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Add GDsys PowerPC 440 ETX board support.
Dirk Eibach [Tue, 9 Dec 2008 12:12:40 +0000 (13:12 +0100)]
ppc4xx: Add GDsys PowerPC 440 ETX board support.

Board support for the Guntermann & Drunck PowerPC 440 ETX module.
Based on the AMCC Yosemite board support by Stefan Roese.

Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Improve DDR autodetect
Dirk Eibach [Tue, 9 Dec 2008 10:00:07 +0000 (11:00 +0100)]
ppc4xx: Improve DDR autodetect

Added support for a second memory bank to DDR autodetection for 440
platforms.
Made hardcoded values configurable.

Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Wolfgang Denk [Sat, 24 Jan 2009 01:17:02 +0000 (02:17 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

15 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc83xx
Wolfgang Denk [Sat, 24 Jan 2009 01:08:31 +0000 (02:08 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx

15 years agoeasylogo: add optional gzip support
Mike Frysinger [Tue, 30 Dec 2008 08:15:38 +0000 (03:15 -0500)]
easylogo: add optional gzip support

Some images can be quite large, so add an option to compress the
image data with gzip in the U-Boot image. Then at runtime, the
board can decompress it with the normal zlib functions.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agofat: fix unaligned errors
Bryan Wu [Sat, 3 Jan 2009 01:47:45 +0000 (20:47 -0500)]
fat: fix unaligned errors

A couple of buffers in the fat code are declared as an array of bytes.
But it is then cast up to a structure with 16bit and 32bit members.
Since GCC assumes structure alignment here, we have to force the
buffers to be aligned according to the structure usage.

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agospi flash: fix crash due to spi flash miscommunication
Brad Bozarth [Fri, 2 Jan 2009 03:45:47 +0000 (22:45 -0500)]
spi flash: fix crash due to spi flash miscommunication

Higher spi flash layers expect to be given back a pointer that was
malloced so that it can free the result, but the lower layers return
a pointer that is in the middle of the malloced memory. Reorder the
members of the lower spi structures so that things work out.

Signed-off-by: Brad Bozarth <bflinux@yumbrad.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
15 years agoFPU POST: fix warnings when building with 2.18 binutils
Yuri Tikhonov [Sat, 20 Dec 2008 11:54:21 +0000 (14:54 +0300)]
FPU POST: fix warnings when building with 2.18 binutils

When compile u-boot with the 2.18 binutils the following
warning messages for each object file in post/lib_ppc/fpu/ is
produced at the linking stage:

post/libpost.a(acc1.o) uses hard float, u-boot uses soft-float
...

This is because of the fact that, in general, the soft-float and
hard-float ABIs are incompatible; the 2.18 binutils do checking
of the Tag_GNU_Power_ABI_FP attribute of the files to be linked, and
produce the worning like above if these are not compatible.

The incompatibility of ABIs is concerned only the float values:
e.g. the soft-float ABI assumes the float argument passing in the
pair of rX registers, and the hard-float ABI assumes passing of
the float argument in the fX register. When we don't pass the float
arguments between the functions compiled with different floatness,
then such an application will work correctly.
This is the case for the FPU POST: u-boot (compiled with soft-float)
doesn't pass to (and doesn't get from) the FPU POST functions any
floats; there are no functions exported from the post/lib_ppc/fpu/
objects which would work with float parameters/returns too. So, we
can reassure the linker not to worry about the difference in ABI
attributes of linking files just by setting the 'soft-float'
attribute for the objects in post/lib_ppc/fpu. And this patch does
this.

Also, to avoid passing both soft- and hard-float options in CFLAGS
when compiling the files from post/lib_ppc/fpu (which is OK, but
looks rather dirty) this patch removes the soft-float string from
CFLAGS in post/lib_ppc/fpu/Makefile.

Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
15 years agoAdd support for Maxim's DS4510 I2C device
Peter Tyser [Wed, 17 Dec 2008 22:36:22 +0000 (16:36 -0600)]
Add support for Maxim's DS4510 I2C device

Initial support for the DS4510, a CPU supervisor with
integrated EEPROM, SRAM, and 4 programmable non-volatile
GPIO pins. The CONFIG_DS4510 define enables support
for the device while the CONFIG_CMD_DS4510 define
enables the ds4510 command. The additional
CONFIG_DS4510_INFO, CONFIG_DS4510_MEM, and
CONFIG_DS4510_RST defines add additional sub-commands
to the ds4510 command when defined.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
15 years agocommon: Iteration limit for memory test.
Dirk Eibach [Tue, 16 Dec 2008 13:51:56 +0000 (14:51 +0100)]
common: Iteration limit for memory test.

The iteration limit is passed to mtest as a fourth parameter:
[start [end [pattern [iterations]]]]
If no fourth parameter is supplied, there is no iteration limit and the
test will loop forever.

Signed-off-by: Dirk Eibach <eibach@gdsys.de>
15 years agoserial: Rename driver vcth to vct to support other board variants
Stefan Roese [Mon, 15 Dec 2008 14:40:12 +0000 (15:40 +0100)]
serial: Rename driver vcth to vct to support other board variants

Moved driver vcth.c to vct.c to better reflect the VCT board series.
This driver is now used by the VCT platforms:

vct_premium
vct_platinum
vct_platinumsvc

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agonios: Move README.nios_CONFIG_SYS_NIOS_CPU to doc/ dir
Shinya Kuribayashi [Thu, 11 Dec 2008 15:45:27 +0000 (00:45 +0900)]
nios: Move README.nios_CONFIG_SYS_NIOS_CPU to doc/ dir

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
15 years agocommon/main: support bootdelay=0 for CONFIG_AUTOBOOT_KEYED
Peter Korsgaard [Wed, 10 Dec 2008 15:24:16 +0000 (16:24 +0100)]
common/main: support bootdelay=0 for CONFIG_AUTOBOOT_KEYED

Support bootdelay=0 in abortboot for the CONFIG_AUTOBOOT_KEYED case
similar to the CONFIG_ZERO_BOOTDELAY_CHECK support for the
!CONFIG_AUTOBOOT_KEYED case.

Do this by reversing the loop so we do at least one iteration before
checking for timeout.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
15 years agoAdded legacy flash ST Micro M29W040B
Niklaus Giger [Mon, 8 Dec 2008 16:24:08 +0000 (17:24 +0100)]
Added legacy flash ST Micro M29W040B

15 years agoFixed off-by-one errors in lib_m68k/interrupts.c
Graeme Russ [Mon, 8 Dec 2008 09:04:51 +0000 (20:04 +1100)]
Fixed off-by-one errors in lib_m68k/interrupts.c

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
15 years agoRemoved all references to CONFIG_SYS_RESET_GENERIC
Graeme Russ [Sat, 6 Dec 2008 23:29:05 +0000 (10:29 +1100)]
Removed all references to CONFIG_SYS_RESET_GENERIC

Generic i386 reset - #define made redundant by weak function

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
15 years agoRemove #ifdef CONFIG_SC520 in source code
Graeme Russ [Sat, 6 Dec 2008 23:29:04 +0000 (10:29 +1100)]
Remove #ifdef CONFIG_SC520 in source code

CONFIG_SC520 is now used for conditional compile

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
15 years agoAdded MMCR reset functionality
Graeme Russ [Sat, 6 Dec 2008 23:29:03 +0000 (10:29 +1100)]
Added MMCR reset functionality

Reset function specific to AMD SC520 microcontroller - Is more of a
'hard reset' that the triple fault.

Requires CONFIG_SYS_RESET_SC520 to be defined in config

I would have liked to add this to a new file (cpu/i386/sc520/reset.c)
but ld requires that a object file in a library arhive MUST contain
at least one function which does not override a weak function (and is
called from outside the object file) in order for that object file to
be extracted from the archive. This would be the only function on the
new file, and hence, will never get linked in.

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
15 years agoMoved generic (triple fault) reset code
Graeme Russ [Sat, 6 Dec 2008 23:29:02 +0000 (10:29 +1100)]
Moved generic (triple fault) reset code

Moved from interrupts.c to cpu.c and made into a weak function to
allow vendor specific override

Vendor specific CPU reset (like the AMD SC520 MMCR reset) can now be
added to the vendor specific code without the need to remember to
#undef usage of the generic method and if you forget to include your
custom reset method, you will always get the default.

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
15 years agoMoved definition of set_vector() to new header file
Graeme Russ [Sat, 6 Dec 2008 23:29:01 +0000 (10:29 +1100)]
Moved definition of set_vector() to new header file

This allows for future tidy ups and functionality that will require
set_vector ()

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
15 years agoMoved sc520 specific code into new cpu/i386/sc520 folder
Graeme Russ [Sat, 6 Dec 2008 23:29:00 +0000 (10:29 +1100)]
Moved sc520 specific code into new cpu/i386/sc520 folder

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoRenamed cpu/i386/reset.S to resetvec.S
Graeme Russ [Sat, 6 Dec 2008 23:28:58 +0000 (10:28 +1100)]
Renamed cpu/i386/reset.S to resetvec.S

Brings i386 in line with other CPUs with a reset vector and frees up reset.c
for CPU reset functions

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
15 years agoMakefile: keep lists sorted.
Wolfgang Denk [Sat, 24 Jan 2009 00:01:49 +0000 (01:01 +0100)]
Makefile: keep lists sorted.

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoAdded initial eNET board support
Graeme Russ [Sat, 6 Dec 2008 23:28:57 +0000 (10:28 +1100)]
Added initial eNET board support

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
15 years agoMerge branch 'next'
Kim Phillips [Fri, 23 Jan 2009 23:48:24 +0000 (17:48 -0600)]
Merge branch 'next'

15 years agoPOWERPC 82xx: add the SCC as an HDLC controller
Gary Jennejohn [Thu, 20 Nov 2008 10:37:26 +0000 (11:37 +0100)]
POWERPC 82xx: add the SCC as an HDLC controller

Right now this is only used by keymile.

Signed-off-by: Gary Jennejohn <garyj@denx.de>
15 years agopowerpc, keymile boards: extract identical config options
Heiko Schocher [Thu, 20 Nov 2008 08:59:09 +0000 (09:59 +0100)]
powerpc, keymile boards: extract identical config options

This patch extracts the identical config options for the
keymile boards mgcoge, mgsuvd and kmeter1 in a new
common config file keymile-common.h.

Signed-off-by: Heiko Schocher <hs@denx.de>
15 years agopowerpc: keymile: Add a check for the PIGGY debug board
Heiko Schocher [Fri, 21 Nov 2008 07:29:40 +0000 (08:29 +0100)]
powerpc: keymile: Add a check for the PIGGY debug board

Check the presence of the PIGGY on the keymile boards mgcoge,
mgsuvd and kmeter1. If the PIGGY is not present, dont register
this Ethernet device.

Signed-off-by: Heiko Schocher <hs@denx.de>
Acked-by: Ben Warren <biggerbadderben@gmail.com>
15 years agopowerpc: 83xx: add support for the kmeter1 board
Heiko Schocher [Thu, 20 Nov 2008 08:57:47 +0000 (09:57 +0100)]
powerpc: 83xx: add support for the kmeter1 board

This patch adds support for the kmeter1 board from Keymile,
based on a Freescale MPC8360 CPU.

- serial console on UART 1
- 256 MB DDR2 RAM
- 64 MB NOR Flash
- Ethernet RMII Mode over UCC4
- PHY SMSC LAN8700

Signed-off-by: Heiko Schocher <hs@denx.de>
15 years agoAdd a do_div() wrapper macro, lldiv().
Sergei Poselenov [Tue, 4 Nov 2008 12:51:18 +0000 (13:51 +0100)]
Add a do_div() wrapper macro, lldiv().

Add a do_div() wrapper, lldiv(). The new inline function doesn't modify
the dividend and returns the result of division, so it is useful
in complex expressions, i.e. "return(a/b)" -> "return(lldiv(a,b))"

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
15 years ago85xx: Add a 36-bit physical configuration for MPC8572DS
Kumar Gala [Fri, 23 Jan 2009 20:22:14 +0000 (14:22 -0600)]
85xx: Add a 36-bit physical configuration for MPC8572DS

We move all IO addressed (CCSR, localbus, PCI) above the 4G boundary
to allow for larger memory sizes.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years ago85xx: Handle eLBC difference w/36-bit physical
Kumar Gala [Fri, 23 Jan 2009 20:22:13 +0000 (14:22 -0600)]
85xx: Handle eLBC difference w/36-bit physical

The eLBC only handles 32-bit physical address in systems with 36-bit
physical.  The previos generation of LBC handled 34-bit physical
address in 36-bit systems.  Added a new CONFIG option to convey
the difference between the LBC and eLBC.

Also added defines for XAM bits used in LBC for the extended 34-bit
support.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years ago85xx: Use BR_ADDR macro for NAND chipselects
Kumar Gala [Fri, 23 Jan 2009 20:22:12 +0000 (14:22 -0600)]
85xx: Use BR_ADDR macro for NAND chipselects

Use the new BR_ADDR macro to properly setup the address field of the
localbus chipselects used by NAND.

This allows us to deal with 36-bit phys on these boards in the future.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years agoAdd secondary CPUs processor frequency for e500 core
Haiying Wang [Thu, 15 Jan 2009 16:58:35 +0000 (11:58 -0500)]
Add secondary CPUs processor frequency for e500 core

This patch updates e500 freqProcessor to array based on CONFIG_NUM_CPUS,
and prints each CPU's frequency separately. It also fixes up each CPU's
frequency in "clock-frequency" of fdt blob.

Signed-off-by: James Yang <James.Yang@freescale.com>
Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
15 years ago85xx: enable the auto self refresh for wake up ARP
Dave Liu [Fri, 21 Nov 2008 08:31:53 +0000 (16:31 +0800)]
85xx: enable the auto self refresh for wake up ARP

The wake up ARP feature need use the memory to process
wake up packet, we enable auto self refresh to support it.

Signed-off-by: Dave Liu <daveliu@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years agofsl-ddr: use the 1T timing as default configuration
Dave Liu [Fri, 21 Nov 2008 08:31:43 +0000 (16:31 +0800)]
fsl-ddr: use the 1T timing as default configuration

For light loaded system, we use the 1T timing to gain better
memory performance, but for some heavily loaded system,
you have to add the 2T timing options to board files.

Signed-off-by: Dave Liu <daveliu@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years agofsl-ddr: make the self refresh idle threshold configurable
Dave Liu [Fri, 21 Nov 2008 08:31:35 +0000 (16:31 +0800)]
fsl-ddr: make the self refresh idle threshold configurable

Some 85xx processors have the advanced power management feature,
such as wake up ARP, that needs enable the automatic self refresh.

If the DDR controller pass the SR_IT (self refresh idle threshold)
idle cycles, it will automatically enter self refresh. However,
anytime one transaction is issued to the DDR controller, it will
reset the counter and exit self refresh state.

Signed-off-by: Dave Liu <daveliu@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years agofsl-ddr: clean up the ddr code for DDR3 controller
Dave Liu [Fri, 21 Nov 2008 08:31:29 +0000 (16:31 +0800)]
fsl-ddr: clean up the ddr code for DDR3 controller

- The DDR3 controller is expanding the bits for timing config
- Add the DDR3 32-bit bus mode support

Signed-off-by: Dave Liu <daveliu@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years agofsl-ddr: update the bit mask for DDR3 controller
Dave Liu [Fri, 21 Nov 2008 08:31:22 +0000 (16:31 +0800)]
fsl-ddr: update the bit mask for DDR3 controller

According to the latest 8572 UM, the DDR3 controller
is expanding the bit mask, and we use the extend ACTTOPRE
mode when tRAS more than 19 MCLK.

Signed-off-by: Dave Liu <daveliu@freescale.com>
15 years ago85xx: Introduce CONFIG_SYS_PCI*_IO_VIRT for FSL boards
Kumar Gala [Tue, 2 Dec 2008 22:08:40 +0000 (16:08 -0600)]
85xx: Introduce CONFIG_SYS_PCI*_IO_VIRT for FSL boards

Introduce a new define to seperate out the virtual address that PCI
IO space is at from the physical address.  In most situations these are
mapped 1:1.  However any code accessing the bus should use VIRT.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years ago85xx: Introduce CONFIG_SYS_PCI*_MEM_VIRT for FSL boards
Kumar Gala [Tue, 2 Dec 2008 22:08:39 +0000 (16:08 -0600)]
85xx: Introduce CONFIG_SYS_PCI*_MEM_VIRT for FSL boards

Introduce a new define to seperate out the virtual address that PCI
memory is at from the physical address.  In most situations these are
mapped 1:1.  However any code accessing the bus should use VIRT.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years ago85xx: Use CONFIG_SYS_{PCI*,RIO*}_MEM_PHYS for physical address on FSL boards
Kumar Gala [Tue, 2 Dec 2008 22:08:38 +0000 (16:08 -0600)]
85xx: Use CONFIG_SYS_{PCI*,RIO*}_MEM_PHYS for physical address on FSL boards

Use the _MEM_PHYS defines instead of _MEM_BUS for LAW and real address fields
of TLBs.  This is what we should have always been using from the start.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years ago85xx: Convert CONFIG_SYS_PCI*_IO_BASE to _IO_BUS for FSL boards
Kumar Gala [Tue, 2 Dec 2008 22:08:37 +0000 (16:08 -0600)]
85xx: Convert CONFIG_SYS_PCI*_IO_BASE to _IO_BUS for FSL boards

Use CONFIG_SYS_PCI*_IO_BUS for the bus relative address instead
of _IO_BASE so we are more explicit.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years ago85xx: Convert CONFIG_SYS_{PCI*,RIO*}_MEM_BASE to _MEM_BUS for FSL boards
Kumar Gala [Tue, 2 Dec 2008 22:08:36 +0000 (16:08 -0600)]
85xx: Convert CONFIG_SYS_{PCI*,RIO*}_MEM_BASE to _MEM_BUS for FSL boards

Use CONFIG_SYS_{PCI,RIO}_MEM_BUS for the bus relative address instead
of _MEM_BASE so we are more explicit.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years ago85xx: separate FLASH BASE virtual from physical address
Kumar Gala [Tue, 2 Dec 2008 20:19:34 +0000 (14:19 -0600)]
85xx: separate FLASH BASE virtual from physical address

Added a CONFIG_SYS_FLASH_BASE_PHYS for use as the physical address and
maintain CONFIG_SYS_FLASH_BASE as the virtual address of the flash.

This allows us to deal with 36-bit phys on these boards in the future.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years ago85xx: separate PIXIS virtual from physical address
Kumar Gala [Tue, 2 Dec 2008 20:19:33 +0000 (14:19 -0600)]
85xx: separate PIXIS virtual from physical address

Added a PIXIS_BASE_PHYS for use as the physical address and maintain
PIXIS_BASE as the virtual address of the PIXIS fpga registers.

This allows us to deal with 36-bit phys on these boards in the future.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years agoAdd README file for MPC8572DS board
Haiying Wang [Tue, 11 Nov 2008 13:52:09 +0000 (08:52 -0500)]
Add README file for MPC8572DS board

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>
15 years agoBlackfin: use common strmhz() in system output
Mike Frysinger [Mon, 20 Oct 2008 20:15:04 +0000 (16:15 -0400)]
Blackfin: use common strmhz() in system output

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoMerge branch 'master' of git://git.denx.de/u-boot-nand-flash
Wolfgang Denk [Fri, 23 Jan 2009 21:48:06 +0000 (22:48 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-nand-flash