oweals/u-boot.git
15 years agobootm: Reduce the unnecessary memmove
Minkyu Kang [Wed, 18 Feb 2009 00:05:52 +0000 (09:05 +0900)]
bootm: Reduce the unnecessary memmove

Although load address and image start address are same address,
bootm command always does memmove.
That is unnecessary memmove and can be taken few milliseconds
(about 500 msec to 1000 msec).
If skip this memmove, we can reduce the boot time.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
15 years agofpga: Fix Spartan III FPGA booting
Matthias Fuchs [Sun, 15 Feb 2009 21:29:15 +0000 (22:29 +0100)]
fpga: Fix Spartan III FPGA booting

This patch does some minor fixing of the Xilinx Spartan III
FPGA boot code:

- Fixed call order of post configuration callback and
  success message printing (result of copy-paste?)
- remove obsolete comment
- minor coding style cleanup

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
15 years agofpga: Fix Spartan II FPGA booting
Matthias Fuchs [Sun, 15 Feb 2009 21:28:36 +0000 (22:28 +0100)]
fpga: Fix Spartan II FPGA booting

This patch does some minor fixing of the Xilinx Spartan II
FPGA boot code:

- Fixed call order of post configuration callback and
  success message printing (result of copy-paste?)
- relocate post configuration callback only when it
  is implemented
- remove obsolete comment
- minor coding style cleanup

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
15 years agodrivers/serial/ns16550: move ifdef into Makefile COBJS-$(...)
Mike Frysinger [Thu, 12 Feb 2009 01:26:52 +0000 (20:26 -0500)]
drivers/serial/ns16550: move ifdef into Makefile COBJS-$(...)

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agolcd_putc bug fix for tab.
Derek Ou [Tue, 3 Feb 2009 23:00:07 +0000 (16:00 -0700)]
lcd_putc bug fix for tab.

Signed-off-by: Derek Ou <dou@siconix.com>
15 years agoMIPS: cpu/mips/Makefile: Add a missing START line
Shinya Kuribayashi [Mon, 2 Feb 2009 00:46:21 +0000 (09:46 +0900)]
MIPS: cpu/mips/Makefile: Add a missing START line

In the commit 79b51ff8205f0354d5300570614c1d2db499679c ([MIPS] cpu/mips/
Makefile: Split [CS]OBJS onto separate lines), I wrongly deleted a START
line.  This patch puts it back.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com>
15 years agoEnable ext2 support for TQM8xxL/M based boards
Wolfgang Denk [Sat, 21 Feb 2009 20:51:21 +0000 (21:51 +0100)]
Enable ext2 support for TQM8xxL/M based boards

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoARM:PXA Use new definitions in mmc.h
Tom Rix [Fri, 20 Feb 2009 02:47:50 +0000 (03:47 +0100)]
ARM:PXA Use new definitions in mmc.h

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
15 years agoReduce the scope of PXA's mmc_read/mmc_write/mmc_bread functions
Andy Fleming [Fri, 20 Feb 2009 02:47:50 +0000 (03:47 +0100)]
Reduce the scope of PXA's mmc_read/mmc_write/mmc_bread functions

These names are being taken over by the new MMC framework.  Hopefuly
the PXA can be easily ported, and these functions will go away entirely.

Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
15 years agopxa: move mmc drivers to drivers/mmc
Jean-Christophe PLAGNIOL-VILLARD [Fri, 20 Feb 2009 02:47:50 +0000 (03:47 +0100)]
pxa: move mmc drivers to drivers/mmc

introduce new macro CONFIG_PXA_MMC to activate it

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
15 years agoARM:PXA Remove redefinition of mmc_cid and mmc_csd.
Tom Rix [Fri, 20 Feb 2009 01:27:22 +0000 (19:27 -0600)]
ARM:PXA Remove redefinition of mmc_cid and mmc_csd.

These structures are defined in the common mmc.h

This was compile checked on cerf250.

15 years agopxa: fixing get_timer to return time in miliseconds.
Micha Kalfon [Wed, 11 Feb 2009 17:50:11 +0000 (19:50 +0200)]
pxa: fixing get_timer to return time in miliseconds.

Fixing the get_timer function to return time in miliseconds instead of
ticks. Also fixed PXA boards to use the conventional value of 1000 for
CONFIG_SYS_HZ.

Signed-off-by: Micha Kalfon <smichak.uv@gmail.com>
15 years agoARM:OMAP3 Change mmc_init to mmc_legacy_init
Tom Rix [Thu, 19 Feb 2009 22:45:43 +0000 (16:45 -0600)]
ARM:OMAP3 Change mmc_init to mmc_legacy_init

omap3_mmc.c was changed to define mmc_legacy_init.
Remove unused functions.

Compile tested on all arm
Runtime tested on Zoom1.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
15 years ago82xx, mgcoge: updates for 2009.03
Heiko Schocher [Thu, 19 Feb 2009 16:23:58 +0000 (17:23 +0100)]
82xx, mgcoge: updates for 2009.03

- activate CS4 for accessing the FPGA
- activate Rx buf len > 1 on SMC
- pram activated
- MTDPARTS_DEFAULT defined
- update the size of the flashes in the DTS
  before booting Linux
- MONITOR_LEN updated to 384k
- added CONFIG_HOSTNAME
- added CONFIG_ENV_BUFFER_PRINT
- Environment size reduced to 16k

Signed-off-by: Heiko Schocher <hs@denx.de>
15 years ago8xx, mgsuvd: updates for 2009.03
Heiko Schocher [Thu, 19 Feb 2009 16:24:01 +0000 (17:24 +0100)]
8xx, mgsuvd: updates for 2009.03

- activate Rx buf len > 1 on SMC
- pram activated
- MTDPARTS_DEFAULT defined
- update the size of the flash in the DTS
  before booting Linux
- MONITOR_LEN updated to 384k
- added CONFIG_HOSTNAME
- added CONFIG_ENV_BUFFER_PRINT
- Environment size reduced to 16k

Signed-off-by: Heiko Schocher <hs@denx.de>
15 years agoMMC: Don't use new framework code if not enabled
Dirk Behme [Wed, 18 Feb 2009 18:59:39 +0000 (19:59 +0100)]
MMC: Don't use new framework code if not enabled

Don't use code of new MMC framework in cmd_mmc if CONFIG_GENERIC_MMC
isn't enabled.

Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
15 years agoTQM8xxL: make some room in low memory for future needs
Wolfgang Denk [Thu, 19 Feb 2009 12:53:29 +0000 (13:53 +0100)]
TQM8xxL: make some room in low memory for future needs

THe TQM8xxL use a ahnd-optimized linker script to efficiently use the
small boot sectors in the flash. This patch makes some room in the
first sector to prepare for a size increase of lib_generic/vsprintf.o
by a future patch.

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoREADME: remove duplicate entry
Kim Phillips [Thu, 19 Feb 2009 00:06:18 +0000 (18:06 -0600)]
README: remove duplicate entry

it's been around since the original commit (2ad6b513) that added two
identical entries.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
15 years agoMerge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Wolfgang Denk [Wed, 18 Feb 2009 23:50:08 +0000 (00:50 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx

15 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Wed, 18 Feb 2009 23:46:32 +0000 (00:46 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

15 years agoCoding style cleanup, update CHANGELOG
Wolfgang Denk [Wed, 18 Feb 2009 23:41:08 +0000 (00:41 +0100)]
Coding style cleanup, update CHANGELOG

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agosata_sil3114: fix compiler warning
Kim Phillips [Wed, 18 Feb 2009 23:43:59 +0000 (17:43 -0600)]
sata_sil3114: fix compiler warning

judging from other printfs in the same file, it seems ata should be
postpended with the interface number, not the address of the global
port variable.  Fixes this for current u-boot-mpc83xx tree:

Configuring for MPC8349ITX board...
sata_sil3114.c: In function 'sata_bus_softreset':
sata_sil3114.c:99: warning: format '%u' expects type 'unsigned int', but argument 2 has type 'struct sata_port *'
sata_sil3114.c:108: warning: format '%u' expects type 'unsigned int', but argument 2 has type 'struct sata_port *'

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
15 years agoCreate configuration option for restricted ns16550 functions
Ron Madrid [Wed, 18 Feb 2009 22:30:44 +0000 (14:30 -0800)]
Create configuration option for restricted ns16550 functions

This patch will create a configuration option for a minimum configuration for
the ns16550 serial driver at drivers/serial/ns16550.c and will apply this new
configuration option to the SIMPC8313.h config file in order to fix the NAND
bootstrap build error.  This option will exclude all functions with exception of
NS16550_putc and NS16550_init.  This will be used primarily to save space and
remove unused code from builds in which space is limited.

Signed-off-by: Ron Madrid <ron_madrid@sbcglobal.net>
15 years agomkconfig: include board config.h before asm/config.h
Kim Phillips [Wed, 18 Feb 2009 22:14:29 +0000 (16:14 -0600)]
mkconfig: include board config.h before asm/config.h

swapping the include order suppresses warnings for board configs
that define their own CONFIG_MAX_MEM_MAPPED:

In file included from /home/r1aaha/git/u-boot/include/config.h:5,
                from /home/r1aaha/git/u-boot/include/common.h:35,
                from simpc8313.c:26:
/home/r1aaha/git/u-boot/include/configs/SIMPC8313.h:81:1: warning:
"CONFIG_MAX_MEM_MAPPED" redefined
In file included from /home/r1aaha/git/u-boot/include/config.h:4,
                from /home/r1aaha/git/u-boot/include/common.h:35,
                from simpc8313.c:26:
/home/r1aaha/git/u-boot/include/asm/config.h:28:1: warning: this is
the location of the previous definition

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
15 years agoFix build errors after making flash_get_info() non-static
Wolfgang Denk [Wed, 18 Feb 2009 20:35:38 +0000 (21:35 +0100)]
Fix build errors after making flash_get_info() non-static

Fix for these build problems:
error: static declaration of 'flash_get_info' follows non-static declaration

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoppc4xx: PCIe: Change 16GB inbound memory to 4GB
Stefan Roese [Wed, 18 Feb 2009 12:18:00 +0000 (13:18 +0100)]
ppc4xx: PCIe: Change 16GB inbound memory to 4GB

This patch fixes a problem recently seen on some 4xx platforms. For
example on Kilauea PCIe slot #0.

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Some more PMC405 coding-style cleanup
Stefan Roese [Wed, 18 Feb 2009 13:05:37 +0000 (14:05 +0100)]
ppc4xx: Some more PMC405 coding-style cleanup

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Update PMC405 board support
Matthias Fuchs [Sun, 15 Feb 2009 21:27:47 +0000 (22:27 +0100)]
ppc4xx: Update PMC405 board support

This patch prepares the good old PMC405 board support for
upcoming PMC405V2 patches.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Cleanup PMC405 board support
Matthias Fuchs [Sun, 15 Feb 2009 21:26:54 +0000 (22:26 +0100)]
ppc4xx: Cleanup PMC405 board support

This patch fixes coding style for PMC405 board support.
Also some unneeded features/code is removed.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoqong: changes to Dave/DENX Qong configuration
Ilya Yanok [Thu, 5 Feb 2009 03:08:20 +0000 (04:08 +0100)]
qong: changes to Dave/DENX Qong configuration

1. Changes to the default environment:
  - "bootcmd" defined as "run flash_self"
  - "saveenv" command removed from "update"
  - "uboot" changed to "u-boot" (also in "load")
  - "addmtd" variable defined (and added to all boot commands)
2. CONFIG_CMD_JFFS2 defined to enable "mtdparts" command
3. MTDIDS_DEFAULT and MTDPARTS_DEFAULT defined
4. CONFIG_SYS_CBSIZE changed from 256 to 512. That solves the problem
with truncated "bootargs" environment variable.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
15 years agocommon/console: avoid ifdef CONFIG_CONSOLE_MUX when it's possible
Jean-Christophe PLAGNIOL-VILLARD [Sun, 1 Feb 2009 16:07:52 +0000 (17:07 +0100)]
common/console: avoid ifdef CONFIG_CONSOLE_MUX when it's possible

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
15 years agocommon/console: coding style cleanup
Jean-Christophe PLAGNIOL-VILLARD [Sun, 1 Feb 2009 16:07:51 +0000 (17:07 +0100)]
common/console: coding style cleanup

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
15 years agompc8xx_pcmcia: move CONFIG_8xx out of .c file and into Makefile
Mike Frysinger [Fri, 30 Jan 2009 01:02:23 +0000 (20:02 -0500)]
mpc8xx_pcmcia: move CONFIG_8xx out of .c file and into Makefile

Move the CONFIG_8xx mpc8xx_pcmcia.c protection out of the C file and
into the Makefile so we avoid pointless compiling of the file.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agodisk: convert part_* files to COBJ-$(CONFIG_XXX) style
Mike Frysinger [Fri, 30 Jan 2009 01:02:07 +0000 (20:02 -0500)]
disk: convert part_* files to COBJ-$(CONFIG_XXX) style

Move the CONFIG_XXX out of the part_XXX.c file and into Makefile to
avoid pointless compiles.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoinclude/image.h: Ease grepping of image_* functions
Petri Lehtinen [Thu, 29 Jan 2009 08:35:40 +0000 (10:35 +0200)]
include/image.h: Ease grepping of image_* functions

Because the functions have been defined using macros, grepping for
their definitions is not possible. This patch adds the real function
names in comments.

Signed-off-by: Petri Lehtinen <petri.lehtinen@inoi.fi>
Acked-by: Mike Frysinger <vapier@gentoo.org>
15 years agorename CONFIG_CMD_ENV to CONFIG_CMD_SAVEENV
Mike Frysinger [Thu, 29 Jan 2009 00:08:14 +0000 (19:08 -0500)]
rename CONFIG_CMD_ENV to CONFIG_CMD_SAVEENV

The CONFIG_CMD_ENV option controls enablement of the `saveenv` command
rather than a generic "env" command, or anything else related to the
environment.  So, let's make sure the define is named accordingly.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agodisable imls command if no flash is defined
Valeriy Glushkov [Fri, 23 Jan 2009 18:02:17 +0000 (20:02 +0200)]
disable imls command if no flash is defined

Default CONFIG_CMD_IMLS must be disabled when CONFIG_SYS_NO_FLASH is defined

Signed-off-by: Valeriy Glushkov <gvv@lstec.com>
15 years agoAPI: Improve glue mid-layer of the API demo application.
Rafal Jaworowski [Fri, 23 Jan 2009 12:27:18 +0000 (13:27 +0100)]
API: Improve glue mid-layer of the API demo application.

- Extend ub_dev_read() and ub_dev_recv() so they return the length actually
read, which allows for better control and error handling (this introduces
additional error code API_ESYSC returned by the glue mid-layer).

- Clean up definitions naming and usage.

- Other minor cosmetics.

Note these changes do not touch the API proper, so the interface between
U-Boot and standalone applications remains unchanged.

Signed-off-by: Rafal Jaworowski <raj@semihalf.com>
15 years agoAPI: Only output test data when reading was successful.
Rafal Jaworowski [Fri, 23 Jan 2009 12:27:17 +0000 (13:27 +0100)]
API: Only output test data when reading was successful.

Signed-off-by: Rafal Czubak <rcz@semihalf.com>
15 years agoAPI: Provide syscall entry point for the ARM architecture.
Rafal Jaworowski [Fri, 23 Jan 2009 12:27:16 +0000 (13:27 +0100)]
API: Provide syscall entry point for the ARM architecture.

Signed-off-by: Rafal Czubak <rcz@semihalf.com>
Acked-by: Rafal Jaworowski <raj@semihalf.com>
15 years agoAPI: Use stack pointer as API signature search hint in the glue layer.
Rafal Jaworowski [Fri, 23 Jan 2009 12:27:15 +0000 (13:27 +0100)]
API: Use stack pointer as API signature search hint in the glue layer.

De-hardcode range in RAM we search for the API signature. Instead use the stack
pointer as a hint to narrow down the range in which the signature could reside
(it is malloc'ed on the U-Boot heap, and is hoped to remain in some proximity
from stack area). Adjust PowerPC code in API demo to the new scheme.

Signed-off-by: Rafal Czubak <rcz@semihalf.com>
Signed-off-by: Rafal Jaworowski <raj@semihalf.com>
15 years agoTQM8260: fix locations of kernel and ramdisk images in flash
Wolfgang Denk [Tue, 17 Feb 2009 09:26:38 +0000 (10:26 +0100)]
TQM8260: fix locations of kernel and ramdisk images in flash

After introducing redundant environment the kernel images was
overlapping with environment.

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years ago83xx: Add eSDHC support on 8379 EMDS board
Andy Fleming [Thu, 30 Oct 2008 21:50:14 +0000 (16:50 -0500)]
83xx: Add eSDHC support on 8379 EMDS board

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years ago85xx: Add eSDHC support for 8536 DS
Andy Fleming [Thu, 30 Oct 2008 21:51:33 +0000 (16:51 -0500)]
85xx: Add eSDHC support for 8536 DS

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years agoAdd support for the Freescale eSDHC found on 8379 and 8536 SoCs
Andy Fleming [Thu, 30 Oct 2008 21:47:16 +0000 (16:47 -0500)]
Add support for the Freescale eSDHC found on 8379 and 8536 SoCs

This uses the new MMC framework

Some contributions by Dave Liu <daveliu@freescale.com>

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years agoAdd MMC Framework
Andy Fleming [Thu, 30 Oct 2008 21:41:01 +0000 (16:41 -0500)]
Add MMC Framework

Here's a new framework (based roughly off the linux one) for managing
MMC controllers.  It handles all of the standard SD/MMC transactions,
leaving the host drivers to implement only what is necessary to
deal with their specific hardware.

This also hooks the infrastructure into the PowerPC board code
(similar to how the ethernet infrastructure now hooks in)

Some of this code was contributed by Dave Liu <daveliu@freescale.com>

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years agoEliminated arch-specific mmc header requirement
Andy Fleming [Thu, 30 Oct 2008 21:31:39 +0000 (16:31 -0500)]
Eliminated arch-specific mmc header requirement

The current MMC infrastructure relies on the existence of an
arch-specific header file.  This isn't necessary, and a couple
drivers were forced to implement dummy files to meet this requirement.
Instead, we move the stuff in those header files into a more appropriate
place, and eliminate the stubs and the #include of asm/arch/mmc.h

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years agoConvert mmc_init to mmc_legacy_init
Andy Fleming [Thu, 30 Oct 2008 21:21:00 +0000 (16:21 -0500)]
Convert mmc_init to mmc_legacy_init

This is to get it out of the way of incoming MMC framework

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years agoEliminate support for using MMC as memory
Andy Fleming [Thu, 30 Oct 2008 21:19:25 +0000 (16:19 -0500)]
Eliminate support for using MMC as memory

MMC cards are not memory, so we stop treating them that way.

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years ago32bit BUg fix for DDR2 on 8572
Poonam_Aggrwal-b10812 [Sun, 4 Jan 2009 03:16:38 +0000 (08:46 +0530)]
32bit BUg fix for DDR2 on 8572

This errata fix is required for 32 bit DDR2 controller on 8572.
May  also be required for P10XX20XX platforms

Signed-off-by: Poonam_Agarwal-b10812 <b10812@lc1106.zin33.ap.freescale.net>
15 years agoTQM85xx: Fix a couple warnings in TQM8548 build
Andy Fleming [Mon, 16 Feb 2009 15:40:20 +0000 (09:40 -0600)]
TQM85xx: Fix a couple warnings in TQM8548 build

The ecm variable in sdram.c was being declared for all 8548, but only
used by specific 8548 boards, so we make that variable require those
specific boards, too

The nand code was using an index "i" into a table, and then re-using "i"
to set addresses for each upm.  However, then it relied on the old value
of i still being there to enable things.  Changed the second "i" to "j"

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years agoMPC85xx: TQM8548: workaround for erratum DDR 19 and 20
Wolfgang Grandegger [Wed, 11 Feb 2009 17:38:26 +0000 (18:38 +0100)]
MPC85xx: TQM8548: workaround for erratum DDR 19 and 20

This patch adds the workaround for erratum DDR20 according to MPC8548
Device Errata document, Rev. 1: "CKE signal may not function correctly
after assertion of HRESET". Furthermore, the bug DDR19 is fixed in
processor version 2.1 and the work-around must be removed.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
15 years agoMPC85xx: TQM8548: use cache for AG and BE variants
Wolfgang Grandegger [Wed, 11 Feb 2009 17:38:25 +0000 (18:38 +0100)]
MPC85xx: TQM8548: use cache for AG and BE variants

This patch makes accesses to the system memory cachable by removing the
caching-inhibited and guarded flags from the relevant TLB entries for
the TQM8548_BE and TQM8548_AG modules. FYI, the Freescale MPC85* boards
are configured similarly.

This results in a big averall performace improvement. TFTP downloads,
NAND Flash accesses, kernel boots, etc. are much faster.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
15 years agoMPC85xx: TQM8548_AG: add 1 GiB DDR2-SDRAM configuration
Wolfgang Grandegger [Wed, 11 Feb 2009 17:38:24 +0000 (18:38 +0100)]
MPC85xx: TQM8548_AG: add 1 GiB DDR2-SDRAM configuration

This patch add support for the 1 GiB DDR2-SDRAM on the TQM8548_AG
module.

Signed-off-by: Jens Gehrlein <sew_s@tqs.de>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
15 years agoMPC85xx: TQM8548: fix SDRAM timing for 533 MHz
Wolfgang Grandegger [Wed, 11 Feb 2009 17:38:23 +0000 (18:38 +0100)]
MPC85xx: TQM8548: fix SDRAM timing for 533 MHz

According to new TQM8548 timing specification:
Refresh Recovery: 34 -> 53 clocks
CKE pulse width:  1 -> 3 cycles
Window for four activities: 13 -> 14 cycles

Signed-off-by: Jens Gehrlein <sew_s@tqs.de>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
15 years agoMPC85xx: TQM8548: add support for the TQM8548_AG module
Wolfgang Grandegger [Wed, 11 Feb 2009 17:38:22 +0000 (18:38 +0100)]
MPC85xx: TQM8548: add support for the TQM8548_AG module

The TQM8548_AG is a variant of the TQM8548 module with 1 GiB memory,
CAN and without PCI/PCI-X and RTC. U-Boot can be built for this module
with "$ make TQM8548_AG_config".

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
15 years agoMPC85xx: TQM8548: add support for the TQM8548_BE module
Wolfgang Grandegger [Wed, 11 Feb 2009 17:38:21 +0000 (18:38 +0100)]
MPC85xx: TQM8548: add support for the TQM8548_BE module

The TQM8548_BE is a variant of the TQM8548 module with NAND and CAN
interface. With NAND support, the image is significantly larger and
TEXT_BASE is adjusted accordingly. U-Boot can be built for this
module with "$ make TQM8548_BE_config".

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
15 years agoMPC85xx: TQM85xx: make standard PCI/PCI-X configurable
Wolfgang Grandegger [Wed, 11 Feb 2009 17:38:20 +0000 (18:38 +0100)]
MPC85xx: TQM85xx: make standard PCI/PCI-X configurable

The TQM8548_AG module does not have the standard PCI/PCI-X interface
connected but just the PCI Express interface . So far it was not
possible to disable it without disabling the complete PCI interface
(CONFIG_PCI) including PCI Express.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
15 years agoMPC85xx: TQM85xx: fix flash protection for boot loader
Wolfgang Grandegger [Wed, 11 Feb 2009 17:38:19 +0000 (18:38 +0100)]
MPC85xx: TQM85xx: fix flash protection for boot loader

As the reset vector is located at 0xfffffffc, all flash sectors from the
beginning of the U-Boot binary to 0xffffffff must be protected. On the
TQM8548-AG having small sectors at the end of the flash it happened that
the last two sector were not protected and an "erase all" left an
un-bootable system behind:

Bank # 2: CFI conformant FLASH (32 x 16)  Size: 32 MB in 270 Sectors
  AMD Standard command set, Manufacturer ID: 0xEC, Device ID: 0x257E
  Erase timeout: 8192 ms, write timeout: 1 ms

  FFFA0000 E RO   FFFC0000   RO   FFFE0000   RO   FFFE4000   RO   FFFE8000   RO
  FFFEC000   RO   FFFF0000   RO   FFFF4000   RO   FFFF8000 E      FFFFC000

The same bug seems to be in drivers/mtd/cfi_flash.c:flash_init() and many
board BSPs as well.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
15 years ago86xx: Update CPU info output on bootup
Peter Tyser [Fri, 6 Feb 2009 20:30:40 +0000 (14:30 -0600)]
86xx: Update CPU info output on bootup

- Update style of 86xx CPU information on boot to more closely
  match 85xx boards
- Fix detection of 8641/8641D
- Use strmhz() to display frequencies
- Display L1 information
- Display L2 cache size
- Fixed CPU/SVR version output

== Before ==
Freescale PowerPC
CPU:
    Core: E600 Core 0, Version: 0.2, (0x80040202)
    System: Unknown, Version: 2.1, (0x80900121)
    Clocks: CPU:1066 MHz, MPX: 533 MHz, DDR: 266 MHz, LBC: 133 MHz
    L2: Enabled
Board: X-ES XPedite5170 3U VPX SBC

== After ==
CPU:   8641D, Version: 2.1, (0x80900121)
Core:  E600 Core 0, Version: 2.2, (0x80040202)
Clock Configuration:
       CPU:1066.667 MHz, MPX:533.333 MHz
       DDR:266.667 MHz (533.333 MT/s data rate), LBC:133.333 MHz
L1:    D-cache 32 KB enabled
       I-cache 32 KB enabled
L2:    512 KB enabled
Board: X-ES XPedite5170 3U VPX SBC

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
15 years ago86xx: Update Global Utilities structure
Peter Tyser [Thu, 5 Feb 2009 17:25:24 +0000 (11:25 -0600)]
86xx: Update Global Utilities structure

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
15 years ago86xx: Reset update
Peter Tyser [Thu, 5 Feb 2009 17:25:25 +0000 (11:25 -0600)]
86xx: Reset update

Update the 86xx reset sequence to try executing a board-specific reset
function.  If the board-specific reset is not implemented or does not
succeed, then assert #HRESET_REQ.  Using #HRESET_REQ is a more standard
reset procedure than the previous method and allows all board
peripherals to be reset if needed.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
15 years agofsl-ddr: Allow system to boot if we have more than 4G of memory
Kumar Gala [Wed, 11 Feb 2009 05:53:40 +0000 (23:53 -0600)]
fsl-ddr: Allow system to boot if we have more than 4G of memory

Previously if we >=4G of memory and !CONFIG_PHYS_64BIT we'd report
an error and hang.  Instead of doing that since DDR is mapped in the
lowest priority LAWs we setup the DDR controller and the max amount
of memory we report back is what we can map (CONFIG_MAX_MEM_MAPPED)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Becky Bruce <beckyb@kernel.crashing.org>
15 years agompc85xx: Add support for the P2020
Srikanth Srinivasan [Wed, 21 Jan 2009 23:17:33 +0000 (17:17 -0600)]
mpc85xx: Add support for the P2020

Added various p2020 processor specific details:
* SVR for p2020, p2020E
* immap updates for LAWs and DDR on p2020
* LAW defines related to p2020

Signed-off-by: Srikanth Srinivasan <srikanth.srinivasan@freescale.com>
Signed-off-by: Travis Wheatley <Travis.Wheatley@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years ago85xx: print boot header info to distinquish 36-bit addr map on MPC8572 DS
Kumar Gala [Tue, 10 Feb 2009 23:36:15 +0000 (17:36 -0600)]
85xx: print boot header info to distinquish 36-bit addr map on MPC8572 DS

Added some info that is printed out when we boot to distiquish if we
built MPC8572DS_config vs MPC8572DS_36BIT_config since they have
different address maps.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years agoFixup SGMII PHY ids in the device tree
Andy Fleming [Sat, 6 Dec 2008 02:10:22 +0000 (20:10 -0600)]
Fixup SGMII PHY ids in the device tree

The device tree's PHY addresses need to be fixed up if we're using the
SGMII Riser Card.

The 8572, 8536, and 8544 DS boards were modified to call this function.

Code idea taken from Liu Yu <yu.liu@freescale.com>

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years agoMake some minor whitespace changes to eliminate line-wrapping
Andy Fleming [Wed, 11 Feb 2009 21:10:31 +0000 (15:10 -0600)]
Make some minor whitespace changes to eliminate line-wrapping

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years agoAdd eth_get_dev_by_index
Andy Fleming [Wed, 11 Feb 2009 21:07:24 +0000 (15:07 -0600)]
Add eth_get_dev_by_index

This allows code to iterate through the ethernet devices

Signed-off-by: Andy Fleming <afleming@freescale.com>
15 years ago85xx: Fix bug in device tree setup in 36-bit physical confg
Kumar Gala [Tue, 10 Feb 2009 04:03:04 +0000 (22:03 -0600)]
85xx: Fix bug in device tree setup in 36-bit physical confg

In the 36-bit physical config for MPC8572DS when need the start address
of memory and it size to be kept in phys_*_t instead of a ulong since
we support >4G of memory in the config and ulong cant represent that.
Otherwise we end up seeing the memory node in the device tree reporting
back we have memory starting @ 0 and of size 0.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years ago85xx: Fix address map for 36-bit config of MPC8572DS
Kumar Gala [Tue, 10 Feb 2009 04:03:05 +0000 (22:03 -0600)]
85xx: Fix address map for 36-bit config of MPC8572DS

When we introduced the 36-bit config of the MPC8572DS board we had the
wrong PCI MEM bus address map.  Additionally, the change to the address
map exposes a small issue in our dummy read on the ULI bus.  We need
to use the new mapping functions to handle that read properly in the
36-bit config.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years ago85xx: Fix how we map DDR memory
Kumar Gala [Fri, 6 Feb 2009 15:56:35 +0000 (09:56 -0600)]
85xx: Fix how we map DDR memory

Previously we only allowed power-of-two memory sizes and didnt
handle >2G of memory.  Now we will map up to CONFIG_MAX_MEM_MAPPED
and should properly handle any size that we can make in the TLBs
we have available to us

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years agofsl-ddr: ignore memctl_intlv_ctl setting if only one DDR controller
Kumar Gala [Fri, 6 Feb 2009 15:56:34 +0000 (09:56 -0600)]
fsl-ddr: ignore memctl_intlv_ctl setting if only one DDR controller

If we only have one controller we can completely ignore how
memctl_intlv_ctl is set.  Otherwise other levels of code get confused
and think we have twice as much memory.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years ago85xx: Format cpu freq printing to handle 8 cores
Kumar Gala [Wed, 4 Feb 2009 15:35:57 +0000 (09:35 -0600)]
85xx: Format cpu freq printing to handle 8 cores

Only print 4 cpu freq per line.  This way when we have 8 cores its a
bit more readable.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
15 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Wolfgang Denk [Sun, 15 Feb 2009 21:55:56 +0000 (22:55 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

15 years agoMerge branch 'master' of git://git.denx.de/u-boot-i2c
Wolfgang Denk [Sun, 15 Feb 2009 21:21:17 +0000 (22:21 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-i2c

15 years agoUSB: Remove LUN number from CDB
Abraham, Thomas [Tue, 28 Oct 2008 11:21:31 +0000 (16:51 +0530)]
USB: Remove LUN number from CDB

The LUN number is not part of the Command Descriptor Block (CDB) for scsi inquiry, request sense, test unit ready, read capacity and read10 commands. This patch removes the LUN number information from the CDB.

Signed-off-by: Thomas Abraham <t-abraham@ti.com>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agoAdded usbtty_configured() check. Fixed attribute(packed) warnings.
Atin Malaviya [Tue, 3 Feb 2009 20:17:10 +0000 (15:17 -0500)]
Added usbtty_configured() check. Fixed attribute(packed) warnings.

V3: Fixed line-wrap problem due to user error in mail!

Added usb_configured() checks in usbtty_puts() and usbtty_putc() to get around a hang
when usb is not connected and the user has set up multi-io (setenv stdout serial,usbtty etc).
Got rid of redundant __attribute__((packed)) directives that were causing warnings from gcc.

Signed-off-by: Atin Malaviya <atin.malaviya@gmail.com>
Signed-off-by: Remy Bohmer <linux@bohmer.net>
15 years agoi.MX31: Start the I2C clock on driver initialisation
Guennadi Liakhovetski [Fri, 13 Feb 2009 08:23:36 +0000 (09:23 +0100)]
i.MX31: Start the I2C clock on driver initialisation

i.MX31 powers on with most clocks running, so, after a power on this explicit
clock start up is not required. However, as Linux boots it disables most clocks
to save power. This includes the I2C clock. If we then soft reboot from Linux
the I2C clock stays off. This breaks the phycore, which has its environment in
I2C EEPROM. Fix the problem by explicitly starting the clock in I2C driver
initialisation routine.

Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Ack-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
15 years agoi2c.h: drop i2c_reg_{read, write} hack for Blackfin parts
Mike Frysinger [Thu, 12 Feb 2009 01:36:14 +0000 (20:36 -0500)]
i2c.h: drop i2c_reg_{read, write} hack for Blackfin parts

The Blackfin i2c driver has been rewritten thus the special ifdefs in the
common code are no longer needed.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoMerge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Wolfgang Denk [Thu, 12 Feb 2009 07:36:52 +0000 (08:36 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx

15 years ago82xx, mgcoge: fix compile error
Heiko Schocher [Thu, 12 Feb 2009 07:08:54 +0000 (08:08 +0100)]
82xx, mgcoge: fix compile error

With actual u-boot compiling the mgcoge port fails, because
since commit ba705b5b1a97b47388ed48858bef6bf7b6bfcd56 it is
necessary to define CONFIG_NET_MULTI.

Seems to me the mgcoge port is the only actual existing 8260
port who uses CONFIG_ETHER_ON_SCC, so no other 8260 port needed
to be fixed.

Signed-off-by: Heiko Schocher <hs@denx.de>
15 years agoppc4xx: Add README entry for CONFIG_PCI_DISABLE_PCIE
Dirk Eibach [Mon, 9 Feb 2009 07:18:34 +0000 (08:18 +0100)]
ppc4xx: Add README entry for CONFIG_PCI_DISABLE_PCIE

Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Fix initialization of the SDRAM_CODT register
Carolyn Smith [Thu, 12 Feb 2009 05:13:44 +0000 (06:13 +0100)]
ppc4xx: Fix initialization of the SDRAM_CODT register

This fixes the initialization of the SDRAM_CODT register in the ppc4xx DDR2
initialization code. It also removes use of the SDRAM_CODT_FEEDBACK_RCV_SINGLE_END
and SDRAM_CODT_FEEDBACK_DRV_SINGLE_END #define's since they are reserved bits.

Signed-off-by: Carolyn Smith <carolyn.smith@tektronix.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Fix problem with board_eth_init() vs cpu_eth_init() on AMCC boards
Stefan Roese [Wed, 11 Feb 2009 08:29:33 +0000 (09:29 +0100)]
ppc4xx: Fix problem with board_eth_init() vs cpu_eth_init() on AMCC boards

Some AMCC eval boards do have a board_eth_init() function calling
pci_eth_init(). These boards need to call cpu_eth_init() explicitly now
with the new eth_init rework.

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Autocalibration can set RDCC to over aggressive value.
Adam Graham [Mon, 9 Feb 2009 21:18:12 +0000 (13:18 -0800)]
ppc4xx: Autocalibration can set RDCC to over aggressive value.

The criteria of the AMCC SDRAM Controller DDR autocalibration
U-Boot code is to pick the largest passing write/read/compare
window that also has the smallest SDRAM_RDCC.[RDSS] Read Sample
Cycle Select value.

On some Kilauea boards the DDR autocalibration algorithm can
find a large passing write/read/compare window with a small
SDRAM_RDCC.[RDSS] aggressive value of Read Sample Cycle Select
value "T1 Sample".

This SDRAM_RDCC.[RDSS] Read Sample Cycle Select value of
"T1 Sample" proves to be to aggressive when later on U-Boot
relocates into DDR memory and executes.

The memory traces on the Kilauea board are short so on some
Kilauea boards the SDRAM_RDCC.[RDSS] Read Sample Cycle Select
value of "T1 Sample" shows up as a potentially valid value for
the DDR autocalibratiion algorithm.

The fix is to define a weak default function which provides
the minimum SDRAM_RDCC.[RDSS] Read Sample Cycle Select value
to accept for DDR autocalibration.  The default will be the
"T2 Sample" value.  A board developer who has a well defined
board and chooses to be more aggressive can always provide
their own board specific string function with the more
aggressive "T1 Sample" value or stick with the default
minimum SDRAM_RDCC.[RDSS] value of "T2".

Also put in a autocalibration loop fix for case where current
write/read/compare passing window size is the same as a prior
window size, then in this case choose the write/read/compare
result that has the associated smallest RDCC T-Sample value.

Signed-off-by: Adam Graham <agraham@amcc.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Fix problem with CONFIG_MAX_MEM_MAPPED in include/asm-ppc/config.h
Stefan Roese [Wed, 11 Feb 2009 08:37:12 +0000 (09:37 +0100)]
ppc4xx: Fix problem with CONFIG_MAX_MEM_MAPPED in include/asm-ppc/config.h

CONFIG_SDRAM_PPC4xx_IBM_DDR2 is not set when include/asm-ppc/config.h is
included. So for katmai, CONFIG_MAX_MEM_MAPPED will get set to 256MB.

It makes perfect sense to set CONFIG_MAX_MEM_MAPPED to 2GB for all PPC4xx
boards right now.

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoCoding style cleanup; update CHANGELOG
Wolfgang Denk [Wed, 11 Feb 2009 23:08:39 +0000 (00:08 +0100)]
Coding style cleanup; update CHANGELOG

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoAdd feature-removal-schedule.txt
Peter Tyser [Fri, 30 Jan 2009 22:36:40 +0000 (16:36 -0600)]
Add feature-removal-schedule.txt

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
15 years ago8xx serial, smc: Coding-Style cleanup serial SMC driver
Heiko Schocher [Tue, 10 Feb 2009 08:32:38 +0000 (09:32 +0100)]
8xx serial, smc: Coding-Style cleanup serial SMC driver

Signed-off-by: Heiko Schocher <hs@denx.de>
15 years ago8xx serial, smc: add configurable SMC Rx buffer len
Heiko Schocher [Tue, 10 Feb 2009 08:31:47 +0000 (09:31 +0100)]
8xx serial, smc: add configurable SMC Rx buffer len

This patch adds the configuration option CONFIG_SYS_SMC_RXBUFLEN.
With this option it is possible to allow the receive
buffer for the SMC on 8xx to be greater then 1. In case
CONFIG_SYS_SMC_RXBUFLEN == 1 this driver works as the
old version.

When defining CONFIG_SYS_SMC_RXBUFLEN also
CONFIG_SYS_MAXIDLE must be defined to setup the maximum
idle timeout for the SMC.

Signed-off-by: Heiko Schocher <hs@denx.de>
15 years agocommon/{hush, kgdb, serial}.c: build by COBJS-$(...) in Makefile
Mike Frysinger [Fri, 6 Feb 2009 02:04:36 +0000 (21:04 -0500)]
common/{hush, kgdb, serial}.c: build by COBJS-$(...) in Makefile

Move global '#ifdef CONFIG_xxx .... #endif' out of the .c files and into
the COBJS-$(CONFIG_xxx) in the Makefile.  Also delete unused var in kgdb
code in the process.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agobzip2: move ifdef handling to Makefile COBJS-$(...)
Mike Frysinger [Fri, 6 Feb 2009 02:04:50 +0000 (21:04 -0500)]
bzip2: move ifdef handling to Makefile COBJS-$(...)

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
15 years agoFix whitespace damage: double space changed to a tab
Jerry Van Baren [Fri, 6 Feb 2009 03:18:02 +0000 (22:18 -0500)]
Fix whitespace damage: double space changed to a tab

At some point an intentional double space at the end of the sentence
got changed into a tab in the GPL header line:
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

This patch fixes the damage.

Signed-off-by: Gerald Van Baren <vanbaren@cideas.com>
15 years agoMerge branch 'master' of git://git.denx.de/u-boot-cfi-flash
Wolfgang Denk [Wed, 11 Feb 2009 21:24:51 +0000 (22:24 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-cfi-flash

15 years agocfi: make flash_get_info() non static
Heiko Schocher [Tue, 10 Feb 2009 08:53:29 +0000 (09:53 +0100)]
cfi: make flash_get_info() non static

If on your board is more than one flash, you must know
the size of every single flash, for example, for updating
the DTS before booting Linux. So make this function
flash_get_info() extern, and you can have all info
about your flashes.

Signed-off-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agonet: removed board-specific CONFIGs from MPC5xxx FEC driver
Ben Warren [Fri, 6 Feb 2009 07:58:25 +0000 (23:58 -0800)]
net: removed board-specific CONFIGs from MPC5xxx FEC driver

Added new CONFIG options for the three type of MAC-PHY interconnect and
applied them all relevant board config files

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
15 years agonet/sntp.c: move ifdef into Makefile COBJS-$(...)
Mike Frysinger [Fri, 6 Feb 2009 02:04:47 +0000 (21:04 -0500)]
net/sntp.c: move ifdef into Makefile COBJS-$(...)

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
15 years agotsec: Fix a bug in soft-resetting
Andy Fleming [Wed, 4 Feb 2009 00:26:41 +0000 (18:26 -0600)]
tsec: Fix a bug in soft-resetting

SOFT_RESET must be asserted for at least 3 TX clocks.  Usually, that's about 30
clock cycles, so it's been mostly working.  But we had no guarantee, and at
slower bitrates, it's just over a microsecond (over 1000 clock cycles).  This
enforces a 2 microsecond gap between assertion and deassertion.

Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
15 years agoFix 100Mbs ethernet operation on sh7763 based boards
Simon Munton [Mon, 2 Feb 2009 09:44:08 +0000 (09:44 +0000)]
Fix 100Mbs ethernet operation on sh7763 based boards

100Mbs ethernet does not work on sh7763 chips due to the wrong value being
used in the GECMR register. Following diff fixes the problem

Signed-off-by: Simon Munton <simon@nidoran.m5data.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
15 years agoFix MPC8260 with ethernet on SCC
ksi@koi8.net [Sat, 7 Feb 2009 00:27:55 +0000 (16:27 -0800)]
Fix MPC8260 with ethernet on SCC

This fixes MPC8260 compilation with ethernet on SCC. Probably was a
typo or something...

Signed-off-by: Sergey Kubushyn <ksi@koi8.net>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>