project/bcm63xx/u-boot.git
12 years agoopenrisc: Add library functions
Stefan Kristiansson [Sat, 26 Nov 2011 19:04:52 +0000 (19:04 +0000)]
openrisc: Add library functions

Signed-off-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
12 years agoopenrisc: Add cpu files
Stefan Kristiansson [Sat, 26 Nov 2011 19:04:51 +0000 (19:04 +0000)]
openrisc: Add cpu files

Signed-off-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
12 years agoopenrisc: Add architecture image support
Stefan Kristiansson [Sat, 26 Nov 2011 19:04:50 +0000 (19:04 +0000)]
openrisc: Add architecture image support

Signed-off-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
12 years agoopenrisc: Add architecture header files
Stefan Kristiansson [Sat, 26 Nov 2011 19:04:49 +0000 (19:04 +0000)]
openrisc: Add architecture header files

Signed-off-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
12 years agoStrip mkenvimage
David Wagner [Wed, 23 Nov 2011 10:28:10 +0000 (10:28 +0000)]
Strip mkenvimage

Signed-off-by: David Wagner <david.wagner@free-electrons.com>
12 years agopost/Makefile: Only build FP post tests if enabled via CONFIG_SYS_POST_FPU
Kumar Gala [Thu, 12 Jan 2012 09:30:41 +0000 (09:30 +0000)]
post/Makefile: Only build FP post tests if enabled via CONFIG_SYS_POST_FPU

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Fri, 13 Jan 2012 19:39:33 +0000 (20:39 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

* 'master' of /home/wd/git/u-boot/custodians:
  fsl_lbc: add printout of LCRR and LBCR to local bus regs
  sbc8548: Fix up local bus init to be frequency aware
  sbc8548: enable support for hardware SPD errata workaround
  sbc8548: relocate fixed ddr init code to ddr.c file
  sbc8548: Make enabling SPD RAM configuration work
  sbc8548: Fix LBC SDRAM initialization settings
  sbc8548: enable ability to boot from alternate flash
  sbc8548: relocate 64MB user flash to sane boundary
  Revert "SBC8548: fix address mask to allow 64M flash"
  MPC85xxCDS: Fix missing LCRR_DBYP bits for 66-133MHz LBC
  eXMeritus HWW-1U-1A: Add support for the AT24C128N I2C EEPROM
  eXMeritus HWW-1U-1A: Minor environment variable tweaks

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Wolfgang Denk [Fri, 13 Jan 2012 19:38:49 +0000 (20:38 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

* 'master' of git://git.denx.de/u-boot-mpc85xx:
  fsl_lbc: add printout of LCRR and LBCR to local bus regs
  sbc8548: Fix up local bus init to be frequency aware
  sbc8548: enable support for hardware SPD errata workaround
  sbc8548: relocate fixed ddr init code to ddr.c file
  sbc8548: Make enabling SPD RAM configuration work
  sbc8548: Fix LBC SDRAM initialization settings
  sbc8548: enable ability to boot from alternate flash
  sbc8548: relocate 64MB user flash to sane boundary
  Revert "SBC8548: fix address mask to allow 64M flash"
  MPC85xxCDS: Fix missing LCRR_DBYP bits for 66-133MHz LBC
  eXMeritus HWW-1U-1A: Add support for the AT24C128N I2C EEPROM
  eXMeritus HWW-1U-1A: Minor environment variable tweaks

12 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Fri, 13 Jan 2012 19:13:26 +0000 (20:13 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

* 'master' of /home/wd/git/u-boot/custodians:
  fix: error ATMEL_FIO_BASE undeclared, if use I2C_Soft on AT91

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-i2c
Wolfgang Denk [Fri, 13 Jan 2012 19:13:20 +0000 (20:13 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-i2c

* 'master' of git://git.denx.de/u-boot-i2c:
  fix: error ATMEL_FIO_BASE undeclared, if use I2C_Soft on AT91

12 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Fri, 13 Jan 2012 19:11:25 +0000 (20:11 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

* 'master' of /home/wd/git/u-boot/custodians:
  board/mpl/pati: use the CFI driver for the PATI board
  board/mpl/mip405: use the CFI driver for the MIP405/MIP405T board
  board/mpl/pip405: use the CFI driver for the PIP405 board
  board/mpl/common: remove the old legacy flash
  ppc4xx: Setup HICB on Io64

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Wolfgang Denk [Fri, 13 Jan 2012 19:11:22 +0000 (20:11 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx

* 'master' of git://git.denx.de/u-boot-ppc4xx:
  board/mpl/pati: use the CFI driver for the PATI board
  board/mpl/mip405: use the CFI driver for the MIP405/MIP405T board
  board/mpl/pip405: use the CFI driver for the PIP405 board
  board/mpl/common: remove the old legacy flash
  ppc4xx: Setup HICB on Io64

12 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Fri, 13 Jan 2012 19:10:56 +0000 (20:10 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

* 'master' of /home/wd/git/u-boot/custodians:
  mpc8313erdb: fix mtdparts address
  powerpc/83xx/km: add support for 8321 based tuge1 board
  powerpc/83xx/km: merge tuxa and tuda1 boards to tuxx1
  powerpc/83xx/km: remove obsolete defines for tuda1
  powerpc/83xx/km: update SDRAM parameters for km8321 boards
  mpc8313erdb: Enable GPIO support on the MPC8313E RDB
  mpc83xx: Add a GPIO driver for the MPC83XX family
  gpio: Replace ARM gpio.h with the common API in include/asm-generic
  gpio: Modify common gpio.h to more closely match Linux

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc83xx
Wolfgang Denk [Fri, 13 Jan 2012 19:07:40 +0000 (20:07 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx

* 'master' of git://git.denx.de/u-boot-mpc83xx:
  mpc8313erdb: fix mtdparts address
  powerpc/83xx/km: add support for 8321 based tuge1 board
  powerpc/83xx/km: merge tuxa and tuda1 boards to tuxx1
  powerpc/83xx/km: remove obsolete defines for tuda1
  powerpc/83xx/km: update SDRAM parameters for km8321 boards
  mpc8313erdb: Enable GPIO support on the MPC8313E RDB
  mpc83xx: Add a GPIO driver for the MPC83XX family
  gpio: Replace ARM gpio.h with the common API in include/asm-generic
  gpio: Modify common gpio.h to more closely match Linux

12 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Fri, 13 Jan 2012 19:05:47 +0000 (20:05 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

* 'master' of /home/wd/git/u-boot/custodians:
  fsl_esdhc: fix PIO mode transfers
  mmc: tegra2: Implement card-detect hook.
  mmc: fsl_esdhc: Implement card-detect hook.
  mmc: Implement card detection.
  mmc: Change board_mmc_getcd() function prototype.
  drivers/mmc/mv_sdhci.c: Fix build warning
  ftsdc010: improve performance and capability
  mmc: add host_caps checking avoid switch card improperly
  i.mx: fsl_esdhc: add the i.mx6q support

12 years agofsl_lbc: add printout of LCRR and LBCR to local bus regs
Paul Gortmaker [Thu, 15 Dec 2011 15:22:07 +0000 (10:22 -0500)]
fsl_lbc: add printout of LCRR and LBCR to local bus regs

It can be handy to have these in the output when trying to
debug odd behaviour.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agosbc8548: Fix up local bus init to be frequency aware
Paul Gortmaker [Sat, 31 Dec 2011 04:53:13 +0000 (23:53 -0500)]
sbc8548: Fix up local bus init to be frequency aware

The code here was copied from the mpc8548cds support, and it
wasn't using the CONFIG_SYS_LBC_LCRR define, and was just
unconditionally setting the LCRR_EADC bit.  Snooping with a
hardware debugger also showed we had LCRR_DBYP set, since we were
setting it based on a read of an uninitialized lcrr read via
clkdiv.  Borrow from the code in the tqm85xx.c support to add
LBC frequency aware masking of these bits.

This change will correct reliability issues associated with trying
to use the 128MB of LBC 100MHz SDRAM on this board.  Thanks to
Keith Savage for assistance in diagnosing the root cause of this.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agosbc8548: enable support for hardware SPD errata workaround
Paul Gortmaker [Sat, 31 Dec 2011 04:53:12 +0000 (23:53 -0500)]
sbc8548: enable support for hardware SPD errata workaround

Existing boards by default have an issue where the LBC SDRAM
SPD EEPROM and the DDR2 SDRAM SPD EEPROM both land at 0x51.

After the hardware modification listed in the README is made,
then the DDR2 SPD EEPROM appears at 0x53.  So this implements
a board specific get_spd() by taking advantage of the existing
weak linkage, that 1st tries reading at 0x53 and then if that
fails, it falls back to the old 0x51.

Since the old dependency issue of "SPD implies no LBC SDRAM"
gets removed with the hardware errata fix, remove that restriction
in the code, so both LBC SDRAM and SPD can be selected.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agosbc8548: relocate fixed ddr init code to ddr.c file
Paul Gortmaker [Sat, 31 Dec 2011 04:53:11 +0000 (23:53 -0500)]
sbc8548: relocate fixed ddr init code to ddr.c file

Nothing to see here, just a relocation of the fixed ddr init
sequence to live in the actual ddr.c file itself.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agosbc8548: Make enabling SPD RAM configuration work
Paul Gortmaker [Sat, 31 Dec 2011 04:53:10 +0000 (23:53 -0500)]
sbc8548: Make enabling SPD RAM configuration work

Previously, SPD configuration of RAM was non functional on
this board.  Now that the root cause is known (an i2c address
conflict), there is a simple end-user workaround - remove the
old slower local bus 128MB module and then SPD detection on the
main DDR2 memory module works fine.

We make the enablement of the LBC SDRAM support conditional on
being not SPD enabled.  We can revisit this dependency as the
hardware workaround becomes available.

Turning off LBC SDRAM support revealed a couple implict dependencies
in the tlb/law code that always expected an LBC SDRAM address.

This has been tested with the default 256MB module, a 512MB
a 1GB and a 2GB, of varying speeds, and the SPD autoconfiguration
worked fine in all cases.

The default configuration remains to go with the hard coded
DDR config, so the default build will continue to work on boards
where people don't bother to read the docs.  But the advantage
of going to the SPD config is that even the small default module
gets configured for CL3 instead of CL4.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agosbc8548: Fix LBC SDRAM initialization settings
Paul Gortmaker [Sat, 31 Dec 2011 04:53:09 +0000 (23:53 -0500)]
sbc8548: Fix LBC SDRAM initialization settings

These were cloned from the mpc8548cds platform which has
a different memory layout (1/2 the size).  Set the values
by comparing to the register file for the board used during
JTAG init sequence:

LSDMR1 0x2863B727 /* PCHALL */
LSDMR2 0x0863B727 /* NORMAL */
LSDMR3 0x1863B727 /* MRW    */
LSDMR4 0x4063B727 /* RFEN   */

This differs from what was there already in that the RFEN is
not bundled in all four steps implicitly, but issued once
as the final step.

The other difference seen when comparing vs. the register file init,
is that since the memory is split across /CS3 and /CS4, the dummy
writes need to go to 0xf000_0000 _and_ to 0xf400_0000.

We also rewrite the final LBC SDRAM inits as macros, as there is
no real need for them to be a local variable that is modified
on the fly at runtime.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agosbc8548: enable ability to boot from alternate flash
Paul Gortmaker [Sat, 31 Dec 2011 04:53:08 +0000 (23:53 -0500)]
sbc8548: enable ability to boot from alternate flash

This board has an 8MB soldered on flash, and a 64MB SODIMM
flash module.  Normally the board boots from the 8MB flash,
but the hardware can be configured for booting from the 64MB
flash as well by swapping CS0 and CS6.  This can be handy
for recovery purposes, or for supporting u-boot and VxBoot
at the same time.

To support this in u-boot, we need to have different BR0/OR0
and BR6/OR6 settings in place for when the board is configured
in this way, and a different TEXT_BASE needs to be used due
to the larger sector size of the 64MB flash module.

We introduce the suffix _8M and _64M for the BR0/BR6 and the
OR0/OR6 values so it is clear which is being used to map what
specific device.

The larger sector size (512k) of the alternate flash needs
a larger malloc pool, otherwise you'll get failures when
running saveenv, so bump it up accordingly.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agosbc8548: relocate 64MB user flash to sane boundary
Paul Gortmaker [Sat, 31 Dec 2011 04:53:07 +0000 (23:53 -0500)]
sbc8548: relocate 64MB user flash to sane boundary

The current situation has the 64MB user flash at an awkward
alignment; shifted back from 0xfc00_0000 by 8M, to leave an 8MB hole
for the soldered on boot flash @ EOM.  But to switch to optionally
supporting booting off the 64MB flash, the 64MB will then be mapped
at the sane address of 0xfc00_0000.

This leads to awkward things when programming the 64MB flash prior
to transitioning to it -- i.e. even though the chip spans from
0xfb80_0000 to 0xff7f_ffff, you would have to program a u-boot image
into the two sectors from 0xfbf0_0000 --> 0xfbff_ffff so that it was
in the right place when JP12/SW2.8 were switched to make the 64MB on
/CS0. (i.e. the chip is only looking at the bits in mask 0x3ff_ffff)

We also have to have three TLB entries responsible for dealing with
mapping the 64MB flash due to this 8MB of misalignment.

In the end, there is address space from 0xec00_0000 to 0xefff_ffff
where we can map it, and then the transition from booting from one
config to the other will be a simple 0xec --> 0xfc mapping.  Plus we
can toss out a TLB entry.

Note that TLB0 is kept at 64MB and not shrunk down to the 8MB boot
flash; this means we won't have to change it when the alternate
config uses the full 64MB for booting, in TLB0.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agoRevert "SBC8548: fix address mask to allow 64M flash"
Paul Gortmaker [Sat, 31 Dec 2011 04:53:06 +0000 (23:53 -0500)]
Revert "SBC8548: fix address mask to allow 64M flash"

This reverts commit ccf1ad535ae1c0dc2d466235c668adbdfe3a55b7.

The commit "SBC8548: fix address mask to allow 64M flash"
essentially made this change:

  * OR6:
- *    Addr Mask = 64M = OR6[0:16] = 1111 1100 0000 0000 0
+ *    Addr Mask = 64M = OR6[0:16] = 1111 1000 0000 0000 0

But this makes no sense, as section 13.3.1.2.1 in the
MPC8548ERM v2 clearly indicates the masks:

1111_1111_1000_0000_0 8 Mbytes
1111_1100_0000_0000_0 64 Mbytes
1111_1000_0000_0000_0 128 Mbytes

So the original value was correct, and the commit was invalid,
causing a 128MB mapping for a 64MB flash device.  The problem
rears its head when trying to configure u-boot to have access
to both flash, since the default memory map is:

FB80_0000 – FF7F_FFFF 32-bits 64MB FLASH SODIMM
FF80_0000 – FFFF_FFFF 8-bits 8MB FLASH

By extending the mapping of the 64MB flash to 128MB, it now
conflicts with the normal 8MB boot flash, causing issues.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agoMPC85xxCDS: Fix missing LCRR_DBYP bits for 66-133MHz LBC
Paul Gortmaker [Fri, 16 Dec 2011 22:31:53 +0000 (17:31 -0500)]
MPC85xxCDS: Fix missing LCRR_DBYP bits for 66-133MHz LBC

These boards were meaning to deploy this value:

  #define LCRR_DBYP        0x80000000

but were missing a zero, and hence toggling a bit that
lands in an area marked as reserved in the 8548 reference
manual.

According to the documentation, LCRR_DBYP should be used as:

   PLL bypass. This bit should be set when using low bus
   clock frequencies if the PLL is unable to lock.  When in
   PLL bypass mode, incoming data is captured in the middle
   of the bus clock cycle.  It is recommended that PLL bypass
   mode be used at frequencies of 83 MHz or less.

So the impact would most likely be undefined behaviour for
LBC peripherals on boards that were running below 83MHz LBC.
Looking at the actual u-boot code, the missing DBYP bit was
meant to be deployed as follows:

      Between 66 and 133, the DLL is enabled with an
      override workaround.

In the future, we'll convert all boards to use the symbolic
DBYP constant to avoid these "count the zeros" problems, but
for now, just fix the impacted boards.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agoeXMeritus HWW-1U-1A: Add support for the AT24C128N I2C EEPROM
Kyle Moffett [Fri, 16 Dec 2011 03:26:52 +0000 (22:26 -0500)]
eXMeritus HWW-1U-1A: Add support for the AT24C128N I2C EEPROM

This EEPROM is hardware-write-protected and used to persist key
information such as the serial number and MAC addresses even if the
primary environment sector in NOR FLASH is overwritten.

During manufacturing, the environment is initialized from Linux and then
the key parameters copied to the EEPROM via U-Boot:

  env export -c -s 0x2000 $loadaddr serial# macaddr mac1addr mac2addr
  eeprom write $loadaddr 0x0000 0x2000

The chip is then locked via hardware for delivery.

When doing a field U-Boot upgrade, the environment is erased and reset
to the defaults to avoid problems with "hwconfig" changes, etc.  After
loading the new U-Boot image, the hardware data is reloaded:

  i2c dev 0
  eeprom read $loadaddr 0x0000 0x2000
  env import -c $loadaddr 0x2000
  saveenv

The first three commands are saved in the "restore_eeprom" variable for
user convenience.  (EG: "run restore_eeprom && saveenv")

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Cc: Andy Fleming <afleming@gmail.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agoeXMeritus HWW-1U-1A: Minor environment variable tweaks
Kyle Moffett [Fri, 16 Dec 2011 03:26:53 +0000 (22:26 -0500)]
eXMeritus HWW-1U-1A: Minor environment variable tweaks

Most of the ethernet connections are internal links with specialized
hardware and are not useful for "dhcp" or general-purpose networking;
U-Boot should not be cycling through them.  Force the primary external
network interface in "ethprime" and disable the interface cycling with
"ethrotate=no".

Additionally, the environment variable "preboot" has its own config
option and means something entirely different from what the HWW-1U-1A
variable was intended for.  Rename the board variable to "setbootargs"
to avoid potential confusion.

Finally, fix an incorrect address for the kernel in FLASH memory.

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Cc: Andy Fleming <afleming@gmail.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agofix: error ATMEL_FIO_BASE undeclared, if use I2C_Soft on AT91
esw@bus-elektronik.de [Tue, 20 Dec 2011 06:05:30 +0000 (06:05 +0000)]
fix: error ATMEL_FIO_BASE undeclared, if use I2C_Soft on AT91

* Since AT91 name schema was changed to ATMEL_BASE_xxx, I2C_SOFT
  on AT91 devices fails with 'error: ATMEL_FIO_BASE undeclared'
* change ATMEL_PIO_BASE to ATMEL_BASE_PIOA will fix this

Signed-off-by: Jens Scharsig <esw@bus-elektronik.de>
12 years agompc8313erdb: fix mtdparts address
Scott Wood [Wed, 4 Jan 2012 22:48:26 +0000 (16:48 -0600)]
mpc8313erdb: fix mtdparts address

Fix a copy-and-paste error when adapting mpc8315erdb mtdparts
to mpc8313erdb.  mtdids was already using the proper address
on mpc8313erdb.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
12 years agopowerpc/83xx/km: add support for 8321 based tuge1 board
Holger Brunck [Wed, 14 Dec 2011 15:21:45 +0000 (16:21 +0100)]
powerpc/83xx/km: add support for 8321 based tuge1 board

This board is similar to our tuxx1 target. But on this board there
is only one application specific chip select configured.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
Acked-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
12 years agopowerpc/83xx/km: merge tuxa and tuda1 boards to tuxx1
Holger Brunck [Wed, 14 Dec 2011 15:21:44 +0000 (16:21 +0100)]
powerpc/83xx/km: merge tuxa and tuda1 boards to tuxx1

These boards are from a u-boot point of view identical. So collect
the two headerfiles to one, to decrease maintenance.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
12 years agopowerpc/83xx/km: remove obsolete defines for tuda1
Holger Brunck [Wed, 14 Dec 2011 15:21:43 +0000 (16:21 +0100)]
powerpc/83xx/km: remove obsolete defines for tuda1

CONFIG_SYS_LCRR is unused and CONFIG_SYS_LBC_LBCR is already
defined in the common header file, so remove them.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
Acked-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
12 years agopowerpc/83xx/km: update SDRAM parameters for km8321 boards
Marco Schmid [Wed, 14 Dec 2011 15:21:42 +0000 (16:21 +0100)]
powerpc/83xx/km: update SDRAM parameters for km8321 boards

Measurements during HW basic test showed, that the SDRAM timing
has to be optimized. This patch adapted these timings accordingly.

Signed-off-by: Marco Schmid <marco.schmid@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
Acked-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
12 years agompc8313erdb: Enable GPIO support on the MPC8313E RDB
Joe Hershberger [Fri, 11 Nov 2011 21:55:38 +0000 (15:55 -0600)]
mpc8313erdb: Enable GPIO support on the MPC8313E RDB

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
12 years agompc83xx: Add a GPIO driver for the MPC83XX family
Joe Hershberger [Fri, 11 Nov 2011 21:55:37 +0000 (15:55 -0600)]
mpc83xx: Add a GPIO driver for the MPC83XX family

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
12 years agogpio: Replace ARM gpio.h with the common API in include/asm-generic
Joe Hershberger [Fri, 11 Nov 2011 21:55:36 +0000 (15:55 -0600)]
gpio: Replace ARM gpio.h with the common API in include/asm-generic

ARM boards should use the generic GPIO API
This means changing gpio to unsigned type
Remove the unused gpio_toggle() function which is not part of the API
Comment that free should not modify pin state

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
fixed merge conflict in da8xx_gpio.c, tegra2_gpio.c, and
extended to the new mxs_gpio.c.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
12 years agogpio: Modify common gpio.h to more closely match Linux
Joe Hershberger [Fri, 11 Nov 2011 21:55:35 +0000 (15:55 -0600)]
gpio: Modify common gpio.h to more closely match Linux

Change "int gp" to "unsigned gpio"
Add request and free entry-points

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Cc: Joe Hershberger <joe.hershberger@gmail.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
12 years agoboard/mpl/pati: use the CFI driver for the PATI board
David Müller [Thu, 22 Dec 2011 12:38:22 +0000 (13:38 +0100)]
board/mpl/pati: use the CFI driver for the PATI board

Signed-off-by: David Mueller <d.mueller@elsoft.ch>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agoboard/mpl/mip405: use the CFI driver for the MIP405/MIP405T board
David Müller [Thu, 22 Dec 2011 12:38:21 +0000 (13:38 +0100)]
board/mpl/mip405: use the CFI driver for the MIP405/MIP405T board

Signed-off-by: David Mueller <d.mueller@elsoft.ch>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agoboard/mpl/pip405: use the CFI driver for the PIP405 board
David Müller [Thu, 22 Dec 2011 12:38:20 +0000 (13:38 +0100)]
board/mpl/pip405: use the CFI driver for the PIP405 board

Signed-off-by: David Mueller <d.mueller@elsoft.ch>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agoboard/mpl/common: remove the old legacy flash
David Müller [Thu, 22 Dec 2011 12:38:19 +0000 (13:38 +0100)]
board/mpl/common: remove the old legacy flash

Signed-off-by: David Mueller <d.mueller@elsoft.ch>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agoppc4xx: Setup HICB on Io64
Dirk Eibach [Mon, 2 Jan 2012 10:02:46 +0000 (11:02 +0100)]
ppc4xx: Setup HICB on Io64

The FPGA High-Speed Interconnect Bus (HICB) is now setup by u-boot.

Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agofsl_esdhc: fix PIO mode transfers
Ira Snyder [Fri, 23 Dec 2011 08:30:40 +0000 (08:30 +0000)]
fsl_esdhc: fix PIO mode transfers

The pointer to the registers used to control the Freescale ESDHC MMC
controller is not initialized correctly when using PIO mode. This is
fixed by initializing the pointer in the same way as all other sites
within the driver.

Examining the commit history shows that this was broken at introduction
due to a code change in upstream U-Boot to support the mx51 processor
family.

Reported-by: Jim Lentz <JLentz@zhone.com>
Cc: Andy Fleming <afleming@freescale.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
12 years agommc: tegra2: Implement card-detect hook.
Thierry Reding [Mon, 2 Jan 2012 01:15:39 +0000 (01:15 +0000)]
mmc: tegra2: Implement card-detect hook.

On Tegra2, card-detection is implemented by passing the card-detection
GPIOs to the MMC driver at initialization time. Instead of implementing
the board_mmc_getcd() function, use the card-detect hook and allow
boards to override it by providing their own board_mmc_getcd()
implementation.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
12 years agommc: fsl_esdhc: Implement card-detect hook.
Thierry Reding [Mon, 2 Jan 2012 01:15:38 +0000 (01:15 +0000)]
mmc: fsl_esdhc: Implement card-detect hook.

This card-detect hook probably doesn't work. Perhaps somebody with more
knowledge about the hardware can comment on this. I think that perhaps
even the complete code from esdhc_init() could go into the getcd()
function instead or mmc_getcd() needs to be called at some later time
after mmc_init(), which, however, would require many other drivers to
change.

In addition to implementing the hook, this patch also removes the call
to the board_mmc_getcd() function which is now called from the MMC
framework and is no longer required here.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Jason Liu <jason.hui@linaro.org>
12 years agommc: Implement card detection.
Thierry Reding [Mon, 2 Jan 2012 01:15:37 +0000 (01:15 +0000)]
mmc: Implement card detection.

Check for card detect each time an MMC/SD device is initialized. If card
detection is not implemented, this code behaves as before and continues
assuming a card is present. If no card is detected, has_init is reset
for the MMC/SD device (to force initialization next time) and an error
is returned.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Jason Liu <jason.hui@linaro.org>
12 years agommc: Change board_mmc_getcd() function prototype.
Thierry Reding [Mon, 2 Jan 2012 01:15:36 +0000 (01:15 +0000)]
mmc: Change board_mmc_getcd() function prototype.

The new API no longer uses the extra cd parameter that was used to store
the card presence state. Instead, this information is returned via the
function's return value. board_mmc_getcd() returns -1 to indicate that
no card-detection mechanism is implemented; 0 indicates that no card is
present and 1 is returned if it was detected that a card is present.

The rationale for this change can be found in the following email
thread:

http://lists.denx.de/pipermail/u-boot/2011-November/110180.html

In summary, the old API was not consistent with the rest of the MMC API
which always passes a struct mmc as the first parameter. Furthermore the
cd parameter was used to mean "card absence" in some implementations and
"card presence" in others.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Jason Liu <jason.hui@linaro.org>
12 years agodrivers/mmc/mv_sdhci.c: Fix build warning
Anatolij Gustschin [Wed, 7 Dec 2011 11:47:48 +0000 (11:47 +0000)]
drivers/mmc/mv_sdhci.c: Fix build warning

Fix:
mv_sdhci.c: In function 'mv_sdh_init':
mv_sdhci.c:47:22: warning: the comparison will always
evaluate as 'true' for the address of 'mv_sdhci_writeb'
will never be NULL [-Waddress]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Lei Wen <leiwen@marvell.com>
Cc: Andy Fleming <afleming@freescale.com>
Acked-by: Lei Wen <leiwen@marvell.com>
12 years agoftsdc010: improve performance and capability
Macpaul Lin [Mon, 28 Nov 2011 17:30:17 +0000 (17:30 +0000)]
ftsdc010: improve performance and capability

This patch improve the performance by spliting flag examination code
in ftsdc010_send_cmd() into 3 functions.
This patch also reordered the function which made better capability to
some high performance cards against to the next version of ftsdc010
hardware.

Signed-off-by: Macpaul Lin <macpaul@andestech.com>
12 years agommc: add host_caps checking avoid switch card improperly
Macpaul Lin [Mon, 28 Nov 2011 16:31:09 +0000 (16:31 +0000)]
mmc: add host_caps checking avoid switch card improperly

Add a host capability checking to avoid the mmc stack
switch the card to HIGHSPEED mode when the card supports
HIGHSPEED while the host doesn't.

This patch avoid furthur transaction problem when the
mmc/sd card runs different mode to the host.

Signed-off-by: Macpaul Lin <macpaul@andestech.com>
12 years agoi.mx: fsl_esdhc: add the i.mx6q support
Jason Liu [Fri, 25 Nov 2011 00:18:04 +0000 (00:18 +0000)]
i.mx: fsl_esdhc: add the i.mx6q support

The mmc host controller on the i.mx6q is called usdhc which
is redesigned based on the freescale esdhc controller.

The usdhc controller is almost compatible with esdhc except
it adds one mix register to support debug/SD3.0 and move
the low bit 0-6 of XFERTYP register to the mix control reg
low bit 0-6. Thus on i.mx6q, we have the following compared
with the previous soc: (can refer to RM of chapter 56.3.3)

i.mx6q:
mix control:
bit 31 - bit 7: Added for debug/SD3.0 support
bit 6  - bit 0: move in the XFERTYP register bit 6-0 on previous soc
XFERTYP register:
bit 31 - bit 7: the same as before,
bit 6  - bit 0: no-use

previous soc
mix control: no
XFERTYP register:
bit 31 - bit 0: xfertype information

Signed-off-by: Jason Liu <jason.hui@linaro.org>
Cc: Andy Fleming <afleming@gmail.com>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>
12 years agoRevert "common.h: remove value from bool defines"
Wolfgang Denk [Fri, 6 Jan 2012 06:36:44 +0000 (07:36 +0100)]
Revert "common.h: remove value from bool defines"

This reverts commit 914c9ee971924665c9d2927fe83d8d70060b1eb8
which is causing tons of build warnings like
start.S:39:0: warning: "_LINUX_CONFIG_H" redefined [enabled by
default]
/home/wd/git/u-boot/work/include/common.h:28:0: note: this is the
location of the previous definition
/work/wd/tmp-ppc/nand_spl/board/freescale/mpc8315erdb/start.S:39:0:
warning: "_LINUX_CONFIG_H" redefined [enabled by default]
/home/wd/git/u-boot/work/include/common.h:28:0: note: this is the
location of the previous definition
etc.

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoARM: highbank: enable networking and pxe
Rob Herring [Thu, 15 Dec 2011 11:15:50 +0000 (11:15 +0000)]
ARM: highbank: enable networking and pxe

This enables the XGMAC ethernet driver and networking related config
options.

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
12 years agonet: add Calxeda xgmac driver
Rob Herring [Thu, 15 Dec 2011 11:15:49 +0000 (11:15 +0000)]
net: add Calxeda xgmac driver

This adds ethernet driver for Calxeda xgmac found on Highbank SOC.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Fix: WARNING: __aligned(size) is preferred over
__attribute__((aligned(size)))
Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoCorrectly handle input files beginning with several newlines
David Wagner [Tue, 20 Dec 2011 14:59:29 +0000 (14:59 +0000)]
Correctly handle input files beginning with several newlines

Also, fix some comments (minor)

Signed-off-by: David Wagner <david.wagner@free-electrons.com>
12 years agoFAT: update the second FAT when writing a file
Donggeun Kim [Tue, 20 Dec 2011 18:34:27 +0000 (18:34 +0000)]
FAT: update the second FAT when writing a file

After susccessful write to the FAT partition,
fsck program may print warning message due to different FAT,
provided that the filesystem supports two FATs.

This patch makes the second FAT to be same with the first one
when writing a file.

Signed-off-by: Donggeun Kim <dg77.kim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
12 years agousb_storage: Fix EHCI "out of buffer pointers" with CD-ROM
Kyle Moffett [Wed, 21 Dec 2011 07:08:12 +0000 (07:08 +0000)]
usb_storage: Fix EHCI "out of buffer pointers" with CD-ROM

When performing large bulk reads from a CD or DVD using the U-Boot
usb_storage driver, it generates requests of up to 20 blocks at a time.

With a standard 512-byte block size, that is 10240 bytes and within the
limit of U-Boot's EHCI driver (maximum 5 pages at 4k per page).

Unfortunately CD-ROM media has a 2048-byte blocksize, resulting in a
maximum transfer size of 40960 bytes, which does not fit.

Since the EHCI specification is impossibly obtuse and far beyond my
comprehension, I chose to dynamically compute the limit based on the
blocksize.

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
12 years agofs/fat: Improve error handling
Kyle Moffett [Tue, 20 Dec 2011 07:41:13 +0000 (07:41 +0000)]
fs/fat: Improve error handling

The FAT filesystem fails silently in inexplicable ways when given a
filesystem with a block-size that does not match the device sector size.
In theory this is not an unsupportable combination but requires a major
rewrite of a lot of the filesystem.  Until that occurs, the filesystem
should detect that scenario and display a helpful error message.

This scenario in particular occurred on a 512-byte blocksize FAT fs
stored in an El-Torito boot volume on a CD-ROM (2048-byte sector size).

Additionally, in many circumstances the ->block_read method will not
return a negative number to indicate an error but instead return 0 to
indicate the number of blocks successfully read (IE: None).

The FAT filesystem should defensively check to ensure that it got all of
the sectors that it asked for when reading.

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
12 years agofs/fat: Fix FAT detection to support non-DOS partition tables
Kyle Moffett [Wed, 21 Dec 2011 07:08:10 +0000 (07:08 +0000)]
fs/fat: Fix FAT detection to support non-DOS partition tables

The FAT filesystem code currently ends up requiring that the partition
table be a DOS MBR, as it checks for the DOS 0x55 0xAA signature on the
partition table (which may be Mac, EFI, ISO9660, etc) before actually
computing the partition offset.

This fixes support for accessing a FAT filesystem in an ISO9660 boot
volume (El-Torito format) by reordering the filesystem checks and
reading the 0x55 0xAA "DOS boot signature" and FAT/FAT32 magic number
from the first sector of the partition instead of from sector 0.

Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Fix build warning:  fat.c: In function 'fat_register_device':
fat.c:66:15: warning: variable 'found_partition' set but not used
[-Wunused-but-set-variable]
Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoext2: Cache line align indirection buffers
Simon Glass [Wed, 21 Dec 2011 10:01:27 +0000 (10:01 +0000)]
ext2: Cache line align indirection buffers

Make ext2 use cache line aligned buffers for reading from the filesystem.
This is needed when caches are enabled because unaligned cache invalidates
are not safe.

Signed-off-by: Simon Glass <sjg@chromium.org>
12 years agotools/env: allow overwrite of ethaddr on default
Grant Erickson [Thu, 22 Dec 2011 08:59:55 +0000 (08:59 +0000)]
tools/env: allow overwrite of ethaddr on default

This patch allows the U-Boot user space companion utility, fw_setenv,
to overwrite the 'ethaddr' key/value pair if the current value is set
to a per-board-configured default.

This change allows 'fw_setenv' to match the behavior of 'setenv' /
'env set' on the U-Boot command line.

Signed-off-by: Grant Erickson <marathon96@gmail.com>
Fixed excessive white space.
Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Thu, 5 Jan 2012 15:38:50 +0000 (16:38 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

* 'master' of git://git.denx.de/u-boot-arm:
  tegra2: Optimize out-of-tree build for Ventana.
  tegra: Move boards over to use arch-level board UART function
  tegra: Add support for UART init in cpu board.c
  tegra: Add a function mux feature
  tegra: add clock_ll_start_uart() to enable UART prior to reloc
  tegra: Move clock_early_init() to arch_cpu_init()
  tegra: Move cpu_init_cp15() to arch_cpu_init()
  arm: Tegra: Fix Harmony and Ventana builds in u-boot-tegra/master
  tegra: Fix build error in plutux, medcom
  tegra2: Add Avionic Design Medcom support.
  tegra2: Add Avionic Design Plutux support.
  tegra2: Add common Avionic Design Tamonten support.
  tegra2: Move tegra2_mmc_init() prototype to public header.
  tegra2: Change CONFIG_SYS_TEXT_BASE to 0x00108000.
  tegra2: Always build with USE_PRIVATE_LIBGCC=yes.
  tegra2: Plumb in SPI/UART switch code
  tegra2: spi: Support SPI / UART switch
  tegra2: Implement SPI / UART GPIO switch
  tegra2: Enable SPI environment on Seaboard
  tegra2: config: Enable SPI flash on Seaboard
  tegra2: spi: Add SPI driver for Tegra2 SOC
  tegra2: Add UARTB support
  tegra2: Tidy UART selection
  arm, davinci: Fix build warnings for cam_enc_4xx
  Devkit8000: Switch over to enable_gpmc_cs_config
  arm, davinci: Add support for generating AIS images to the Makefile
  mkimage: Fix variable length header support
  arm, da850evm: Add an SPL for SPI boot
  arm, davinci: Add SPL support for DA850 SoCs
  sf: Add spi_boot() to allow booting from SPI flash in an SPL
  spl: display_options.o is required for SPI flash support in SPL
  ARM: omap3: add support to Technexion twister board
  ARM: omap3: added common configuration for Technexion TAM3517
  vision2: Fix checkpatch warning

12 years agotools/mkenvimage.c: Fix a merge issue
Horst Kronstorfer [Sat, 24 Dec 2011 00:41:58 +0000 (00:41 +0000)]
tools/mkenvimage.c: Fix a merge issue

With bfcc40bb09b05c90cc3b1496abb270eb8aa72134 'optopt' was reverted.

Signed-off-by: Horst Kronstorfer <hkronsto@frequentis.com>
12 years agoenv: remove value from boolean defines
Igor Grinberg [Sun, 25 Dec 2011 01:42:57 +0000 (01:42 +0000)]
env: remove value from boolean defines

Several boolean defines have a value assigned.
Remove the value as defining the symbol is enough.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agocommon.h: remove value from bool defines
Igor Grinberg [Sun, 25 Dec 2011 20:53:52 +0000 (20:53 +0000)]
common.h: remove value from bool defines

Several boolean defines have a value assigned.
Remove the value as defining the symbol is enough.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agoenv: factor out the env_get_char_spec() function
Igor Grinberg [Mon, 26 Dec 2011 03:33:10 +0000 (03:33 +0000)]
env: factor out the env_get_char_spec() function

env_get_char_spec() function is duplicated across multiple environment
files.
Remove the duplication by providing a default implementation.
Add "weak" declaration, so the default implementation can be overridden.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agofpga: Spartan-3: let print the progress if configured
Stefano Babic [Wed, 28 Dec 2011 06:47:02 +0000 (06:47 +0000)]
fpga: Spartan-3: let print the progress if configured

CONFIG_SYS_FPGA_PROG_FEEDBACK was already introduced to print
the current status of FPGA loading - an undef in the code made this
CONFIG_ useless.

Signed-off-by: Stefano Babic <sbabic@denx.de>
12 years agoFPGA: use debug() instead of module debug printf
Stefano Babic [Wed, 28 Dec 2011 06:47:01 +0000 (06:47 +0000)]
FPGA: use debug() instead of module debug printf

Replace also __FUNCTION__ with standard __func__

Signed-off-by: Stefano Babic <sbabic@denx.de>
12 years agofpga: add definition for Xilinx Spartan-6 XC6SLX4
Stefano Babic [Wed, 28 Dec 2011 06:47:00 +0000 (06:47 +0000)]
fpga: add definition for Xilinx Spartan-6 XC6SLX4

Signed-off-by: Stefano Babic <sbabic@denx.de>
12 years agophy: add phy_smsc_init() declaration
Vladimir Zapolskiy [Thu, 29 Dec 2011 15:18:37 +0000 (15:18 +0000)]
phy: add phy_smsc_init() declaration

This trivial change removes a compilation warning:
  ----8<----
  phy.c: In function 'phy_init':
  phy.c:448:2: warning: implicit declaration of function 'phy_smsc_init'
  ----8<----

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
12 years agofw_env.h: added a few missing defines
Frans Meulenbroeks [Thu, 1 Dec 2011 03:30:04 +0000 (03:30 +0000)]
fw_env.h: added a few missing defines

The README file lists 4 defined that were not actually present in the .h
file but that were needed to get things working with settings compiled in.
They are
Added these to the .h file
(the values above are the ones from the README file)

Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
12 years agofat: reset VFAT short alias checksum on first match
Sergei Shtylyov [Mon, 2 Jan 2012 06:54:29 +0000 (06:54 +0000)]
fat: reset VFAT short alias checksum on first match

The VFAT short alias checksum read from a long file name is only overwritten
when another long file name appears in a directory list. Until then it renders
short file names invisible that have the same checksum. Reset the checksum on
first match.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Martin Mueller <martin.mueller5@de.bosch.com>
12 years agogit-mailrc: Add self to davinci/omap, add ti
Tom Rini [Wed, 14 Dec 2011 06:15:16 +0000 (06:15 +0000)]
git-mailrc: Add self to davinci/omap, add ti

Adding a 'ti' alias since not all parts are "omap" or "davinci" and
adding myself to that alias as co-custodian of u-boot-ti

Signed-off-by: Tom Rini <trini@ti.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agotegra2: Optimize out-of-tree build for Ventana.
Thierry Reding [Wed, 21 Dec 2011 23:22:54 +0000 (23:22 +0000)]
tegra2: Optimize out-of-tree build for Ventana.

As proposed by Mike Frysinger, mkdir can take more than one argument.
Instead of spawning two processes, create both the common and seaboard
directories in one go.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Move boards over to use arch-level board UART function
Simon Glass [Mon, 28 Nov 2011 15:04:40 +0000 (15:04 +0000)]
tegra: Move boards over to use arch-level board UART function

Now that we can set up the UART in common tegra code, make the boards
use it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add support for UART init in cpu board.c
Simon Glass [Mon, 28 Nov 2011 15:04:39 +0000 (15:04 +0000)]
tegra: Add support for UART init in cpu board.c

We add a way of initialising the selected of UARTs prior to relocation.
Boards can use the board_init_uart_f() instead of repeating this code
themselves.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Add a function mux feature
Simon Glass [Mon, 28 Nov 2011 15:04:38 +0000 (15:04 +0000)]
tegra: Add a function mux feature

funcmux permits selection of config options for particular peripherals,
such as the pins that are used for that peripheral, if there are several
options.

Add UART selection to start with.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: add clock_ll_start_uart() to enable UART prior to reloc
Simon Glass [Mon, 28 Nov 2011 15:04:37 +0000 (15:04 +0000)]
tegra: add clock_ll_start_uart() to enable UART prior to reloc

Most boards will want to enable a UART early. This function provides
that feature in Tegra architecture code so the code does not need to be
copied on every board.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Move clock_early_init() to arch_cpu_init()
Simon Glass [Mon, 28 Nov 2011 15:04:36 +0000 (15:04 +0000)]
tegra: Move clock_early_init() to arch_cpu_init()

The clock init is not board specific, so move it into
the cpu code.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Move cpu_init_cp15() to arch_cpu_init()
Simon Glass [Mon, 28 Nov 2011 15:04:35 +0000 (15:04 +0000)]
tegra: Move cpu_init_cp15() to arch_cpu_init()

This call is more of an architecture requirement than a board
one, so move it there.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoarm: Tegra: Fix Harmony and Ventana builds in u-boot-tegra/master
Tom Warren [Mon, 19 Dec 2011 22:58:06 +0000 (15:58 -0700)]
arm: Tegra: Fix Harmony and Ventana builds in u-boot-tegra/master

Seaboard changes have removed the need for common/board.o in the
Makefile. Propagate this change to the other Tegra2 builds.

Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra: Fix build error in plutux, medcom
Simon Glass [Mon, 28 Nov 2011 15:04:41 +0000 (15:04 +0000)]
tegra: Fix build error in plutux, medcom

We need to define CONFIG_ENV_IS_NOWHERE to avoid this error:

cmd_nvedit.c:69:3: error: #error Define one of CONFIG_ENV_IS_IN_...

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: Add Avionic Design Medcom support.
Thierry Reding [Thu, 17 Nov 2011 00:10:26 +0000 (00:10 +0000)]
tegra2: Add Avionic Design Medcom support.

The Medcom is a 16:9 15" terminal that is used for patient infotainment
in hospitals.

Changes in v3:
  * Remove unused implementation of gpio_config_uart().
  * Implement MMC/SD card detection.
  * Drop board_mmc_getcd() which is now implemented by common Tegra2
    code.
  * Add MAINTAINERS entry.

Changes in v2:
  * No longer override the default CONFIG_SYS_TEXT_BASE setting.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: Add Avionic Design Plutux support.
Thierry Reding [Thu, 17 Nov 2011 00:10:25 +0000 (00:10 +0000)]
tegra2: Add Avionic Design Plutux support.

The Plutux is a set-top box device based on the Tamonten processor
module. It can be connected to a display via an HDMI output.

Changes in v3:
  * Remove unused implementation of gpio_config_uart().
  * Implement MMC/SD card detection.
  * Drop board_mmc_getcd() which is now implemented by common Tegra2
    code.
  * Add MAINTAINERS entry.

Changes in v2:
  * No longer override the default CONFIG_SYS_TEXT_BASE setting.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: Add common Avionic Design Tamonten support.
Thierry Reding [Thu, 17 Nov 2011 00:10:24 +0000 (00:10 +0000)]
tegra2: Add common Avionic Design Tamonten support.

Tamonten is an NVIDIA Tegra2-based SO-DIMM processor module that is
derived from the Harmony reference design.

Changes in v3:
  * Remove unused gpio_config_uart().
  * Remove call to tegra2_start().
  * Use new tegra2_mmc_init().

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: Move tegra2_mmc_init() prototype to public header.
Thierry Reding [Thu, 17 Nov 2011 00:10:23 +0000 (00:10 +0000)]
tegra2: Move tegra2_mmc_init() prototype to public header.

tegra2_mmc_init() is implemented by the Tegra2 MMC driver. Since most of
the Tegra2-based boards will need to call it, this commit exports it in
the new public asm/arch/mmc.h header file to prevent each board from
providing its own prototype.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: Change CONFIG_SYS_TEXT_BASE to 0x00108000.
Thierry Reding [Thu, 17 Nov 2011 00:04:06 +0000 (00:04 +0000)]
tegra2: Change CONFIG_SYS_TEXT_BASE to 0x00108000.

NVIDIA's flashing tools assume that the bootloader is loaded at address
0x00108000. Instead of requiring non-standard builds of those tools
which allow a load address of 0x00E08000, this commit just switches all
Tegra2 boards to use the standard load address.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: Always build with USE_PRIVATE_LIBGCC=yes.
Thierry Reding [Thu, 17 Nov 2011 00:04:05 +0000 (00:04 +0000)]
tegra2: Always build with USE_PRIVATE_LIBGCC=yes.

The AVP on Tegra2 doesn't boot properly when U-Boot is linked against
the GCC provided libgcc. To work around this, always build and link
against a private libgcc for Tegra2-based boards.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: Plumb in SPI/UART switch code
Simon Glass [Sat, 5 Nov 2011 04:46:51 +0000 (04:46 +0000)]
tegra2: Plumb in SPI/UART switch code

On Seaboard the UART and SPI interfere with each other. This causes the UART
to receive spurious zero bytes after SPI transactions and also means that
SPI can corrupt a few output characters when it starts up if they are still
in the UART buffer.

This updates the board to use the SPI/UART switch to avoid the problem.

For now this feature is turned off since it needs changes to the NS16550
UART to operate.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: spi: Support SPI / UART switch
Simon Glass [Sat, 5 Nov 2011 04:46:50 +0000 (04:46 +0000)]
tegra2: spi: Support SPI / UART switch

Add the SPI / UART switch logic into the Tegra2 SPI driver so that it
can co-exist with the NS16550 UART.

We need the ns16550.h header for NS16550_t for now.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: Implement SPI / UART GPIO switch
Simon Glass [Sat, 5 Nov 2011 04:46:49 +0000 (04:46 +0000)]
tegra2: Implement SPI / UART GPIO switch

The Tegra2 Seaboard has the unfortunate feature that SPI and the console
UART are multiplexed on the same pins. We need to switch between one
and the other during SPI and console activity.

This new file implements a switch and keeps track of which peripheral
owns the pins. It also flips over the controlling GPIO as needed

Since we are adding a second file to board/nvidia/common, we create
a proper Makefile there and remove the direct board.o include from
board/nvidia/seaboard/Makefile

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: Enable SPI environment on Seaboard
Simon Glass [Sat, 5 Nov 2011 04:46:48 +0000 (04:46 +0000)]
tegra2: Enable SPI environment on Seaboard

This uses the SPI flash on Seaboard to store an 8KB environment.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: config: Enable SPI flash on Seaboard
Simon Glass [Sat, 5 Nov 2011 04:46:47 +0000 (04:46 +0000)]
tegra2: config: Enable SPI flash on Seaboard

The Seaboard includes a Winbond 4MB flash part.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: spi: Add SPI driver for Tegra2 SOC
Tom Warren [Sat, 5 Nov 2011 09:48:11 +0000 (09:48 +0000)]
tegra2: spi: Add SPI driver for Tegra2 SOC

This driver supports SPI on Tegra2, running at 48MHz.

Signed-off-by: Tom Warren <twarren@nvidia.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agotegra2: Add UARTB support
Simon Glass [Sat, 5 Nov 2011 04:46:45 +0000 (04:46 +0000)]
tegra2: Add UARTB support

UARTB is used on some boards, so support it here.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agotegra2: Tidy UART selection
Simon Glass [Sat, 5 Nov 2011 04:46:44 +0000 (04:46 +0000)]
tegra2: Tidy UART selection

UART selection is done with a lot of #ifdefs. This cleans things up
a little.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
12 years agoarm, davinci: Fix build warnings for cam_enc_4xx
Christian Riesch [Wed, 14 Dec 2011 08:54:36 +0000 (09:54 +0100)]
arm, davinci: Fix build warnings for cam_enc_4xx

This patch fixes a build warning for the cam_enc_4xx board introduced by
commit d6ec0c0dfc70447cf615ae80a952da81f73f16b4:

spl.c:35:13: warning: 'gdata' defined but not used
spl.c:36:13: warning: 'bdata' defined but not used

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Tom Rini <trini@ti.com>
Cc: Heiko Schocher <hs@denx.de>
12 years agoDevkit8000: Switch over to enable_gpmc_cs_config
Thomas Weber [Tue, 13 Dec 2011 05:54:17 +0000 (05:54 +0000)]
Devkit8000: Switch over to enable_gpmc_cs_config

Use enable_gpmc_cs_config instead of local writing
timing configuration for GPMC.

Signed-off-by: Thomas Weber <weber@corscience.de>
12 years agoarm, davinci: Add support for generating AIS images to the Makefile
Christian Riesch [Fri, 9 Dec 2011 09:47:39 +0000 (09:47 +0000)]
arm, davinci: Add support for generating AIS images to the Makefile

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
12 years agomkimage: Fix variable length header support
Christian Riesch [Fri, 9 Dec 2011 09:47:38 +0000 (09:47 +0000)]
mkimage: Fix variable length header support

Support for variable length images like AIS image was introduced
in commit f0662105b674a3874227316abf8536bebc9b5995. A parameter
"-s" was also introduced to prohibit copying of the image file
automatically in the main program. However, this parameter
was implemented incorrectly and the image file was copied
nevertheless.

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>