platform/kernel/u-boot.git
12 years agoDB64460: Fix GCC 4.6 build warnings
Wolfgang Denk [Tue, 29 Nov 2011 22:17:49 +0000 (22:17 +0000)]
DB64460: Fix GCC 4.6 build warnings

Fix:
db64460.c: In function 'debug_led':
db64460.c:413:6: warning: variable 'dummy' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64460_eth_real_open':
mv_eth.c:423:6: warning: variable 'port_status' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64460_eth_stop':
mv_eth.c:641:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64460_eth_xmit':
mv_eth.c:717:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64460_eth_receive':
mv_eth.c:802:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64460_eth_get_stats':
mv_eth.c:901:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64460_eth_update_stat':
mv_eth.c:929:24: warning: variable 'dummy' set but not used [-Wunused-but-set-variable]
mv_eth.c:928:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64460_eth_print_stat':
mv_eth.c:1010:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'eth_clear_mib_counters':
mv_eth.c:2067:15: warning: variable 'dummy' set but not used [-Wunused-but-set-variable]
sdram_init.c: In function 'check_dimm':
sdram_init.c:289:50: warning: variable 'trrd_clocks' set but not used [-Wunused-but-set-variable]
sdram_init.c:289:37: warning: variable 'tras_clocks' set but not used [-Wunused-but-set-variable]
sdram_init.c:289:24: warning: variable 'trcd_clocks' set but not used [-Wunused-but-set-variable]
sdram_init.c:289:8: warning: variable 'trp_clocks' set but not used [-Wunused-but-set-variable]
sdram_init.c:279:34: warning: variable 'devicesForErrCheck' set but not used [-Wunused-but-set-variable]
sdram_init.c: In function 'setup_sdram':
sdram_init.c:1255:13: warning: variable 'check' set but not used [-Wunused-but-set-variable]
sdram_init.c: In function 'initdram':
sdram_init.c:1744:25: warning: variable 'check' set but not used [-Wunused-but-set-variable]
sdram_init.c:1742:14: warning: variable 's1' set but not used [-Wunused-but-set-variable]
sdram_init.c:1742:6: warning: variable 's0' set but not used [-Wunused-but-set-variable]

Note: no attempt was make to clean up the mess coding style and
other issues in sdram_init.c

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoDB64360: Fix GCC 4.6 build warnings
Wolfgang Denk [Tue, 29 Nov 2011 22:17:48 +0000 (22:17 +0000)]
DB64360: Fix GCC 4.6 build warnings

Fix:
db64360.c: In function 'debug_led':
db64360.c:413:6: warning: variable 'dummy' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64360_eth_real_open':
mv_eth.c:424:6: warning: variable 'port_status' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64360_eth_stop':
mv_eth.c:642:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64360_eth_xmit':
mv_eth.c:718:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64360_eth_receive':
mv_eth.c:803:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64360_eth_get_stats':
mv_eth.c:902:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64360_eth_update_stat':
mv_eth.c:930:24: warning: variable 'dummy' set but not used [-Wunused-but-set-variable]
mv_eth.c:929:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'mv64360_eth_print_stat':
mv_eth.c:1011:15: warning: variable 'port_num' set but not used [-Wunused-but-set-variable]
mv_eth.c: In function 'eth_clear_mib_counters':
mv_eth.c:2068:15: warning: variable 'dummy' set but not used [-Wunused-but-set-variable]
sdram_init.c: In function 'check_dimm':
sdram_init.c:289:50: warning: variable 'trrd_clocks' set but not used [-Wunused-but-set-variable]
sdram_init.c:289:37: warning: variable 'tras_clocks' set but not used [-Wunused-but-set-variable]
sdram_init.c:289:24: warning: variable 'trcd_clocks' set but not used [-Wunused-but-set-variable]
sdram_init.c:289:8: warning: variable 'trp_clocks' set but not used [-Wunused-but-set-variable]
sdram_init.c:279:34: warning: variable 'devicesForErrCheck' set but not used [-Wunused-but-set-variable]
sdram_init.c: In function 'setup_sdram':
sdram_init.c:1256:13: warning: variable 'check' set but not used [-Wunused-but-set-variable]
sdram_init.c: In function 'initdram':
sdram_init.c:1735:25: warning: variable 'check' set but not used [-Wunused-but-set-variable]
sdram_init.c:1733:14: warning: variable 's1' set but not used [-Wunused-but-set-variable]
sdram_init.c:1733:6: warning: variable 's0' set but not used [-Wunused-but-set-variable]

Note: no attempt was make to clean up the mess coding style and
other issues in sdram_init.c

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoboard/cray/L1/flash.c: Fix GCC 4.6 build warning
Wolfgang Denk [Tue, 29 Nov 2011 22:17:47 +0000 (22:17 +0000)]
board/cray/L1/flash.c: Fix GCC 4.6 build warning

Fix:
flash.c: In function 'flash_erase':
flash.c:276:24: warning: variable 'l_sect' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
12 years agodrivers/block/sata_dwc.c: Fix GCC 4.6 build warning
Wolfgang Denk [Tue, 29 Nov 2011 22:17:46 +0000 (22:17 +0000)]
drivers/block/sata_dwc.c: Fix GCC 4.6 build warning

Fix:
sata_dwc.c: In function 'scan_sata':
sata_dwc.c:535:38: warning: variable 'udma_mask' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Kazuaki Ichinohe <kazuichi@fsi.co.jp>
12 years agoboard/amirix/ap1000/flash.c: Fix GCC 4.6 build warning
Wolfgang Denk [Tue, 29 Nov 2011 22:17:45 +0000 (22:17 +0000)]
board/amirix/ap1000/flash.c: Fix GCC 4.6 build warning

Fix:
flash.c: In function 'flash_write_cfiword':
flash.c:778:11: warning: variable 'ctladdr' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
12 years agoalpr board: Fix GCC 4.6 build warnings
Wolfgang Denk [Tue, 29 Nov 2011 22:17:44 +0000 (22:17 +0000)]
alpr board: Fix GCC 4.6 build warnings

Fix:
fpga.c: In function 'fpga_pre_fn':
fpga.c:88:16: warning: variable 'reg' set but not used
[-Wunused-but-set-variable]
nand.c: In function 'alpr_nand_dev_ready':
nand.c:125:18: warning: variable 'val' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Stefan Roese <sr@denx.de>
Acked-by: Stefan Roese <sr@denx.de>
12 years agoMerge branch 'sr@denx.de' of git://git.denx.de/u-boot-staging
Wolfgang Denk [Thu, 1 Dec 2011 23:05:25 +0000 (00:05 +0100)]
Merge branch 'sr@denx.de' of git://git.denx.de/u-boot-staging

* 'sr@denx.de' of git://git.denx.de/u-boot-staging:
  image: Don't detect XIP images as overlapping.
  image: Implement IH_TYPE_KERNEL_NOLOAD

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Wolfgang Denk [Thu, 1 Dec 2011 23:03:08 +0000 (00:03 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx

* 'master' of git://git.denx.de/u-boot-ppc4xx:
  ppc4xx: Add Io64 board support
  ppc4xx: fix PMC440 painit command
  ppc4xx: remove invalid access to PCI_BRDGOPT2 register
  ppc4xx: use CONFIG_PCI_BOOTDELAY instead of private implementation

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Wolfgang Denk [Thu, 1 Dec 2011 22:58:11 +0000 (23:58 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

* 'master' of git://git.denx.de/u-boot-mpc85xx:
  mpc85xx: support for Freescale COM Express P2020
  arch/powerpc/cpu/mpc8xxx/ddr/interactive.c: Fix GCC 4.6 build warning
  mpc85xx: support board-specific reset function
  powerpc/85xx: verify the localbus device tree address before booting the OS
  mpc8xxx: update module_type values from JEDEC DDR3 SPD Specification
  powerpc/p3060qds: Add board related support for P3060QDS platform
  powerpc/85xx: clean up and document the QE/FMAN microcode macros
  powerpc/85xx: always implement the work-around for Erratum SATA_A001
  powerpc/85xx: CONFIG_FSL_SATA_V2 should be defined in config_mpc85xx.h
  powerpc/85xx: Add workaround for erratum A-003474
  powerpc/85xx: fixup flexcan device tree clock-frequency
  powerpc/85xx: Add workaround for erratum CPU-A003999

12 years agoimage: Don't detect XIP images as overlapping.
Stephen Warren [Thu, 10 Nov 2011 20:17:54 +0000 (13:17 -0700)]
image: Don't detect XIP images as overlapping.

bootm_load_os() detects when it writes the decompressed image over
the top of the compressed image. If this happens, the original image
is corrupted. When the original image is a multi-component legacy image,
or a (potentially multi-component) FIT image, this implies that other
components may be corrupted. In turn, this means that booting is unlikely
to be successful.

However, in the case of no image compresssion coupled with an image with
load address equal to where the image is already located (e.g. an XIP
kernel, or IH_TYPE_KERNEL_ANYLOAD), there has been no copy and hence no
corruption, no matter whether it's a single-component legacy image, a
multi-component legacy image, or a FIT image. In this case, disable the
overlap detection, and allow boot to continue.

Without this change, when booting a single-component legacy image that
contains an IH_TYPE_KERNEL_ANYLOAD, bootm_load_os() would have returned
BOOTM_ERR_OVERLAP, but the caller ignores this, and boot continues and
succeeds. Now, the false error is no longer even returned.

Without this change, when booting a FIT image that contains an
IH_TYPE_KERNEL_ANYLOAD, bootm_load_os() would have returned
BOOTM_ERR_OVERLAP, which would then cause the caller to reset the board.
Now, the false error is no longer returned, and boot succeeds.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agoimage: Implement IH_TYPE_KERNEL_NOLOAD
Stephen Warren [Thu, 10 Nov 2011 20:17:53 +0000 (13:17 -0700)]
image: Implement IH_TYPE_KERNEL_NOLOAD

The legacy uImage format includes an absolute load and entry-point
address. When bootm operates on a kernel uImage in memory that isn't
loaded at the address in the image's load address, U-Boot will copy
the image to its address in the header.

Some kernel images can actually be loaded and used at any arbitrary
address. An example is an ARM Linux kernel zImage file. To represent
this capability, IH_TYPE_KERNEL_NOLOAD is implemented, which operates
just like IH_TYPE_KERNEL, except that the load address header is
ignored, and U-Boot does not copy the image to its load address, but
rather uses it in-place.

This is useful when sharing a single (uImage-wrapped) zImage across
multiple boards with different memory layouts; in this case, a specific
load address need not be picked when creating the uImage, but instead
is selected by the board-specific U-Boot environment used to load and
boot that image.

v2: Rename from IH_TYPE_KERNEL_ANYLOAD to IH_TYPE_KERNEL_NOLOAD.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agoppc4xx: Add Io64 board support
Dirk Eibach [Thu, 20 Oct 2011 09:12:55 +0000 (11:12 +0200)]
ppc4xx: Add Io64 board support

Board support for the Guntermann & Drunck Io64.

Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agoppc4xx: fix PMC440 painit command
Matthias Fuchs [Thu, 24 Nov 2011 15:36:06 +0000 (16:36 +0100)]
ppc4xx: fix PMC440 painit command

This patch fixes the PMC440 BSP command painit. The implementation was
broken since the step to the new environment handling.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agoppc4xx: remove invalid access to PCI_BRDGOPT2 register
Matthias Fuchs [Thu, 13 Oct 2011 13:12:23 +0000 (15:12 +0200)]
ppc4xx: remove invalid access to PCI_BRDGOPT2 register

This patch removes an invalid call to pci_write_config_dword to
PCI_BRDGOPT2 register. This function must not be used from pci_target_init
and is also at the wrong place. The correct call is done later in
pci_target_init via pci_hose_write_config_dword.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agoppc4xx: use CONFIG_PCI_BOOTDELAY instead of private implementation
Matthias Fuchs [Thu, 13 Oct 2011 13:12:22 +0000 (15:12 +0200)]
ppc4xx: use CONFIG_PCI_BOOTDELAY instead of private implementation

This patch switches PMC440 board code to the CONFIG_PCI_BOOTDELAY option
instead of using a private implemention. This relies on Anatolji's patch
that moves the pcidelay handling behind pci_target_init.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
Signed-off-by: Stefan Roese <sr@denx.de>
12 years agompc85xx: support for Freescale COM Express P2020
Ira W. Snyder [Wed, 23 Nov 2011 16:25:58 +0000 (08:25 -0800)]
mpc85xx: support for Freescale COM Express P2020

This adds support for the Freescale COM Express P2020 board. This board
is similar to the P1_P2_RDB, but has some extra (as well as missing)
peripherals.

Unlike all other mpc85xx boards, it uses a watchdog timeout to reset.
Using the HRESET_REQ register does not work.

This board has no NOR flash, and can only be booted via SD or SPI. This
procedure is documented in Freescale Document Number AN3659 "Booting
from On-Chip ROM (eSDHC or eSPI)." Some alternative documentation is
provided in Freescale Document Number P2020RM "P2020 QorIQ Integrated
Processor Reference Manual" (section 4.5).

Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agoarch/powerpc/cpu/mpc8xxx/ddr/interactive.c: Fix GCC 4.6 build warning
Kumar Gala [Wed, 23 Nov 2011 16:02:41 +0000 (10:02 -0600)]
arch/powerpc/cpu/mpc8xxx/ddr/interactive.c: Fix GCC 4.6 build warning

Fix:

interactive.c: In function 'fsl_ddr_interactive':
interactive.c:1357:15: warning: variable 'len' set but not used [-Wunused-but-set-variable]

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agompc85xx: support board-specific reset function
Ira W. Snyder [Mon, 21 Nov 2011 21:20:32 +0000 (13:20 -0800)]
mpc85xx: support board-specific reset function

This is useful for boards which cannot be reset in the usual way for the
85xx CPU. An example is a board which can only be reset by a hardware
watchdog.

Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agopowerpc/85xx: verify the localbus device tree address before booting the OS
Timur Tabi [Wed, 16 Nov 2011 19:28:34 +0000 (13:28 -0600)]
powerpc/85xx: verify the localbus device tree address before booting the OS

The localbus controller node in the device tree is typically a root node,
even though the controller is part of CCSR.  If we were to put the lbc
node under the SOC node, then the 'ranges' property in the lbc node would
translate through the 'ranges' property of the parent SOC node, and we
don't want that.

Since the lbc is a separate node, it's possible for the 'reg' property to
be wrong.  This happened with the original version of p1022ds.dts, which
used a 32-bit value in the 'reg' address, instead of a 36-bit address.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agompc8xxx: update module_type values from JEDEC DDR3 SPD Specification
Ira W. Snyder [Mon, 21 Nov 2011 21:20:33 +0000 (13:20 -0800)]
mpc8xxx: update module_type values from JEDEC DDR3 SPD Specification

Newer JEDEC DDR3 SPD Specifications define several additional values for
the DDR3 module_type field which were undefined when this code was
written. Update the code to handle the newer module types.

Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Cc: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agopowerpc/p3060qds: Add board related support for P3060QDS platform
Shengzhou Liu [Tue, 22 Nov 2011 08:51:13 +0000 (16:51 +0800)]
powerpc/p3060qds: Add board related support for P3060QDS platform

The P3060QDS is a Freescale reference board for the six-core P3060 SOC.

P3060QDS Board Overview:
 Memory subsystem:
  - 2G Bytes unbuffered DDR3 SDRAM SO-DIMM(64bit bus)
  - 128M Bytes NOR flash single-chip memory
  - 16M Bytes SPI flash
  - 8K Bytes AT24C64 I2C EEPROM for RCW
 Ethernet:
  - Eight Ethernet controllers (4x1G + 4x1G/2.5G)
  - Three VSC8641 PHYs on board (2xRGMII + 1xMII)
  - Suport multiple Vitesse VSC8234 SGMII Cards in Slot1/2/3
 PCIe: Two PCI Express 2.0 controllers/ports
 USB:  Two USB2.0, USB1(TYPE-A) and USB2(TYPE-AB) on board
 I2C:  Four I2C controllers
 UART: Supports two dUARTs up to 115200 bps for console
 RapidIO:  Two RapidIO, sRIO1 and sRIO2

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agopowerpc/85xx: clean up and document the QE/FMAN microcode macros
Timur Tabi [Tue, 22 Nov 2011 15:21:25 +0000 (09:21 -0600)]
powerpc/85xx: clean up and document the QE/FMAN microcode macros

Several macros are used to identify and locate the microcode binary image
that U-boot needs to upload to the QE or Fman.  Both the QE and the Fman
use the QE Firmware binary format to package their respective microcode data,
which is why the same macros are used for both.  A given SOC will only have
a QE or an Fman, so this is safe.

Unfortunately, the current macro definition and usage has inconsistencies.
For example, CONFIG_SYS_FMAN_FW_ADDR was used to define the address of Fman
firmware in NOR flash, but CONFIG_SYS_QE_FW_IN_NAND contains the address
of NAND.  There's no way to know by looking at a variable how it's supposed
to be used.

In the future, the code which uploads QE firmware and Fman firmware will
be merged.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agopowerpc/85xx: always implement the work-around for Erratum SATA_A001
Timur Tabi [Mon, 21 Nov 2011 23:10:23 +0000 (17:10 -0600)]
powerpc/85xx: always implement the work-around for Erratum SATA_A001

On the P1022/P1013, the work-around for erratum SATA_A001 was implemented
only if U-Boot initializes SATA, but SATA is not initialized by default.  So
move the work-around to the CPU initialization function, so that it's always
executed on the SOCs that need it.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agopowerpc/85xx: CONFIG_FSL_SATA_V2 should be defined in config_mpc85xx.h
Timur Tabi [Mon, 21 Nov 2011 23:10:22 +0000 (17:10 -0600)]
powerpc/85xx: CONFIG_FSL_SATA_V2 should be defined in config_mpc85xx.h

Macro CONFIG_FSL_SATA_V2 is defined if the SOC has a V2 Freescale SATA
controller, so it should be defined in config_mpc85xx.h instead of the various
board header files.  So now CONFIG_FSL_SATA_V2 is always defined on the P1013,
P1022, P2041, P3041, P5010, and P5020.  It was already defined for the
P1010 and P1014.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agopowerpc/85xx: Add workaround for erratum A-003474
York Sun [Sun, 20 Nov 2011 18:01:35 +0000 (10:01 -0800)]
powerpc/85xx: Add workaround for erratum A-003474

Erratum A-003474: Internal DDR calibration circuit is not supported

Impact:
Experience shows no significant benefit to device operation with
auto-calibration enabled versus it disabled. To ensure consistent timing
results, Freescale recommends this feature be disabled in future customer
products. There should be no impact to parts that are already operating
in the field.

Workaround:
Prior to setting DDR_SDRAM_CFG[MEM_EN]=1, do the following:
1. Write a value of 0x0000_0015 to the register at offset
CCSRBAR + DDR OFFSET + 0xf30
2. Write a value of 0x2400_0000 to the register at offset
CCSRBAR + DDR OFFSET + 0xf54

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agopowerpc/85xx: fixup flexcan device tree clock-frequency
Jia Hongtao [Tue, 15 Nov 2011 07:04:11 +0000 (15:04 +0800)]
powerpc/85xx: fixup flexcan device tree clock-frequency

Make the fixup matchable with dts and kernel.  Update the compatible from
"fsl,flexcan-v1.0" to "fsl,p1010-flexcan" and Change the "clock-freq"
property to "clock-frequency".  We also change flexcan frequency from
CCB-clock to CCB-clock/2 according to P1010 spec.

We now keep the old interfaces to make previous kernel work. They should
be removed in the future.

Signed-off-by: Jia Hongtao <B38951@freescale.com>
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agopowerpc/85xx: Add workaround for erratum CPU-A003999
Kumar Gala [Tue, 22 Nov 2011 12:51:15 +0000 (06:51 -0600)]
powerpc/85xx: Add workaround for erratum CPU-A003999

Erratum A-003999: Running Floating Point instructions requires special
initialization.

Impact:
Floating point arithmetic operations may result in an incorrect value.

Workaround:
Perform a read modify write to set bit 7 to a 1 in SPR 977 before
executing any floating point arithmetic operation. This bit can be set
when setting MSR[FP], and can be cleared when clearing MSR[FP].
Alternatively, the bit can be set once at boot time, and never cleared.
There will be no performance degradation due to setting this bit.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agox86: Fix some bugs in the i8402 driver when no controller is present
Gabe Black [Mon, 14 Nov 2011 20:18:12 +0000 (20:18 +0000)]
x86: Fix some bugs in the i8402 driver when no controller is present

If no controller is present, the i8402 driver should return immediately and
not attempt to operate on the missing hardware.

In kbd_input_empty, the status register is checked every millisecond to see
whether the input buffer is empty, up to a timeout which is tracked by
decrimenting a counter each time the check is performed. The decrement is
performed with a postfix -- operator, and the value of the counter is
checked in place. That means that when the counter reaches zero and the
loop terminates, it will actually be decrimented one more time and become
-1. That value is returned as the return value of the function. That would
give the right answer if it wasn't for that extra decrement because a
timeout would indicate that the buffer never became empty.

This change fixes both of those bugs.

Signed-off-by: Gabe Black <gabeblack@chromium.org>
12 years agox86: Make the i8042 driver checkpatch clean
Gabe Black [Mon, 14 Nov 2011 19:24:14 +0000 (19:24 +0000)]
x86: Make the i8042 driver checkpatch clean

Signed-off-by: Gabe Black <gabeblack@chromium.org>
12 years agox86: Wrap small helper functions from libgcc to avoid an ABI mismatch
Gabe Black [Wed, 16 Nov 2011 23:01:37 +0000 (23:01 +0000)]
x86: Wrap small helper functions from libgcc to avoid an ABI mismatch

When gcc compiles some 64 bit operations on a 32 bit machine, it generates
calls to small functions instead of instructions which do the job directly.
Those functions are defined in libgcc and transparently provide whatever
functionality was necessary. Unfortunately, u-boot can be built with a
non-standard ABI when libgcc isn't. More specifically, u-boot uses
-mregparm. When the u-boot and libgcc are linked together, very confusing
bugs can crop up, for instance seemingly normal integer division or modulus
getting the wrong answer or even raising a spurious divide by zero
exception.

This change borrows (steals) a technique and some code from coreboot which
solves this problem by creating wrappers which translate the calling
convention when calling the functions in libgcc. Unfortunately that means
that these instructions which had already been turned into functions have
even more overhead, but more importantly it makes them work properly.

To find all of the functions that needed wrapping, u-boot was compiled
without linking in libgcc. All the symbols the linker complained were
undefined were presumed to be the symbols that are needed from libgcc.
These were a subset of the symbols covered by the coreboot code, so it was
used unmodified.

To prevent symbols which are provided by libgcc but not currently wrapped
(or even known about) from being silently linked against by code generated
by libgcc, a new copy of libgcc is created where all the symbols are
prefixed with __normal_. Without being purposefully wrapped, these symbols
will cause linker errors instead of silently introducing very subtle,
confusing bugs.

Another approach would be to whitelist symbols from libgcc and strip out
all the others. The problem with this approach is that it requires the
white listed symbols to be specified three times, once for objcopy, once so
the linker inserts the wrapped, and once to generate the wrapper itself,
while this implementation needs it to be listed only twice. There isn't
much tangible difference in what each approach produces, so this one was
preferred.

Signed-off-by: Gabe Black <gabeblack@chromium.org>
12 years agox86: Import the glibc memset implementation
Gabe Black [Mon, 14 Nov 2011 14:47:18 +0000 (14:47 +0000)]
x86: Import the glibc memset implementation

The new implementation is about twice as fast as the old. This is from
glibc-2.14, sysdeps/i386/memset.c.

Signed-off-by: Gabe Black <gabeblack@chromium.org>
12 years agox86: Fix a few recently added bugs
Gabe Black [Wed, 16 Nov 2011 23:32:50 +0000 (23:32 +0000)]
x86: Fix a few recently added bugs

Signed-off-by: Gabe Black <gabeblack@chromium.org>
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agox86: Don't relocate symbols which point to things that aren't relocated
Gabe Black [Sat, 12 Nov 2011 16:34:48 +0000 (16:34 +0000)]
x86: Don't relocate symbols which point to things that aren't relocated

This change adds an upper bound for symbols which are fixed up after u-boot
is relocated into RAM. This way portions that are left at their original
location can be referred to without having to manually fix up any pointers.

Signed-off-by: Gabe Black <gabeblack@chromium.org>
12 years agox86: Fix how the location of the realmode and bios blobs are calculated
Gabe Black [Sat, 12 Nov 2011 16:31:18 +0000 (16:31 +0000)]
x86: Fix how the location of the realmode and bios blobs are calculated

There are two blobs embedded into the u-boot image which are linked to run
at an address which is different from where they actually end up in the
ROM, one called "realmode" and one called "bios". There are realmode_setup
and bios_setup functions which prepare those blobs by copying them into the
location they're supposed to run from, among other things.

During u-boot relocation from ROM to RAM, the text and a few data segments
are copied over. The realmode and bios sections are not copied, and so the
only place they can be read from is their original location in the ROM.
Looking specifically at the bios blob, there are symbols defined in the
linker script called __bios_start and __bios_size which are defined to be
the start and size of the blob in the ROM.

In the bios_setup function, there seem to be two mistakes happening. First,
the offset from ROM to RAM is being added to __bios_start which implies that
this code expects to use the copy moved to RAM. No such copy is made, so
that's wrong. More subtly, when u-boot relocates itself, it goes through
all of the relocations stored in .rel.dyn and fixes them up. This has the
effect of transforming the __bios_start reference in bios_setup so that it
refers to the version in RAM (if one existed) instead of the one in ROM. To
correct for that, the offset actually needs to be subtracted out again to
translate the address back into the ROM.

The net effect is that for both blobs, a + needs to be changed to a -.

Signed-off-by: Gabe Black <gabeblack@chromium.org>
12 years agox86: Misc cleanups
Graeme Russ [Tue, 8 Nov 2011 02:33:23 +0000 (02:33 +0000)]
x86: Misc cleanups

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agox86: Misc PCI touchups
Graeme Russ [Tue, 8 Nov 2011 02:33:22 +0000 (02:33 +0000)]
x86: Misc PCI touchups

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agox86: Ensure IDT and GDT remain 16-byte aligned post relocation
Graeme Russ [Tue, 8 Nov 2011 02:33:21 +0000 (02:33 +0000)]
x86: Ensure IDT and GDT remain 16-byte aligned post relocation

Some CPUs have strict alignment requirements for these tables

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agox86: Provide more configuration granularity
Graeme Russ [Tue, 8 Nov 2011 02:33:20 +0000 (02:33 +0000)]
x86: Provide more configuration granularity

Planned future ports requires more granularity for some options

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agox86: Add multiboot header
Graeme Russ [Tue, 8 Nov 2011 02:33:19 +0000 (02:33 +0000)]
x86: Add multiboot header

By adding a multiboot header, U-Boot can be loaded by GRUB2. Using GRUB2 to
bootstrap U-Boot is useful for using an existing BIOS to get an initial
U-Boot port up and running before implementing the low-level reset vector
code, SDRAM init, etc. and overwriting the BIOS

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agosc520: Create arch asm-offsets
Graeme Russ [Tue, 8 Nov 2011 02:33:18 +0000 (02:33 +0000)]
sc520: Create arch asm-offsets

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agox86: Punt cold- and warm-boot flags
Graeme Russ [Tue, 8 Nov 2011 02:33:17 +0000 (02:33 +0000)]
x86: Punt cold- and warm-boot flags

Nobody uses them anyway

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agocosmetic: checkpatch cleanup of board/eNET/*.c
Graeme Russ [Tue, 8 Nov 2011 02:33:16 +0000 (02:33 +0000)]
cosmetic: checkpatch cleanup of board/eNET/*.c

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agocosmetic: checkpatch cleanup of arch/x86/lib/*.c
Graeme Russ [Tue, 8 Nov 2011 02:33:15 +0000 (02:33 +0000)]
cosmetic: checkpatch cleanup of arch/x86/lib/*.c

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agocosmetic: checkpatch cleanup of arch/x86/cpu/sc520/*.c
Graeme Russ [Tue, 8 Nov 2011 02:33:14 +0000 (02:33 +0000)]
cosmetic: checkpatch cleanup of arch/x86/cpu/sc520/*.c

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agocosmetic: checkpatch cleanup of arch/x86/cpu/*.c
Graeme Russ [Tue, 8 Nov 2011 02:33:13 +0000 (02:33 +0000)]
cosmetic: checkpatch cleanup of arch/x86/cpu/*.c

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agox86: Call hang() on unrecoverable exception
Graeme Russ [Tue, 8 Nov 2011 02:33:12 +0000 (02:33 +0000)]
x86: Call hang() on unrecoverable exception

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
12 years agomenu.c: use puts() instead of printf() where possible
Wolfgang Denk [Mon, 28 Nov 2011 19:19:41 +0000 (20:19 +0100)]
menu.c: use puts() instead of printf() where possible

common/menu.c used printf() in a number of places to print user
provided, constant strings (like the "title" string).  printf() is
dangerous here for example in case the user unwittingly embeds some
'%' caracters that printf() would interpret as formatting and then
pick up random arguments.  Use puts() instead.

We also omit the trailing ':' in the title line - if a user wants
this, he can provide it as part of the title string.

Signed-off-by: Wolfgang Denk <wd@denx.de>
12 years agoMerge branch 'agust@denx.de' of git://git.denx.de/u-boot-staging
Wolfgang Denk [Mon, 28 Nov 2011 18:57:38 +0000 (19:57 +0100)]
Merge branch 'agust@denx.de' of git://git.denx.de/u-boot-staging

* 'agust@denx.de' of git://git.denx.de/u-boot-staging:
  MAKEALL: drop obsolete mx31pdk_nand target
  dataflash: fix parameters order in write_dataflash()
  hawkboard: Replace HAWKBOARD_KICK{0, 1}_UNLOCK defines
  davinci_sonata: define CONFIG_MACH_TYPE for davinci_sonata board
  davinci_schmoogie: define CONFIG_MACH_TYPE for davinci_schmoogie board
  arm: a320evb: define mach-type in board config file
  OMAP3: Use sdelay from arch/arm/cpu/armv7/syslib.c instead of cloning that.
  Fix Stelian's email address

12 years agoMerge branch 'master' of git://git.denx.de/u-boot-video
Wolfgang Denk [Mon, 28 Nov 2011 18:53:31 +0000 (19:53 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-video

* 'master' of git://git.denx.de/u-boot-video:
  DIU: 1080P and 720P support
  CFB: Fix font rendering on mx5 framebuffer

12 years agoMAKEALL: drop obsolete mx31pdk_nand target
Stefano Babic [Thu, 17 Nov 2011 23:16:14 +0000 (23:16 +0000)]
MAKEALL: drop obsolete mx31pdk_nand target

The mx31pdk can boot only from NAND and the target was
already updated in boards.cfg. mx31pdk_nand is obsolete
and is dropped.

Signed-off-by: Stefano Babic <sbabic@denx.de>
12 years agodataflash: fix parameters order in write_dataflash()
Igor Grinberg [Sat, 26 Nov 2011 23:06:46 +0000 (23:06 +0000)]
dataflash: fix parameters order in write_dataflash()

Fix parameters order in write_dataflash() function extern declaration in
the header file.
Parameters order, as in function definition, should be:
addr_dest, addr_src, size.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agohawkboard: Replace HAWKBOARD_KICK{0, 1}_UNLOCK defines
Christian Riesch [Sat, 19 Nov 2011 00:45:44 +0000 (00:45 +0000)]
hawkboard: Replace HAWKBOARD_KICK{0, 1}_UNLOCK defines

This patch replaces the HAWKBOARD_KICK{0,1}_UNLOCK defines by
DV_SYSCFG_KICK{0,1}_UNLOCK.

The kick register values are not hawkboard specific but may be used
for all davinci boards. In commit f3c149d6c6e5ba8dd72baa86fe527837e4fb0e9a
new defines for these values wer introduced.

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Syed Mohammed Khasim <sm.khasim@gmail.com>
Cc: Sughosh Ganu <urwithsughosh@gmail.com>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
12 years agodavinci_sonata: define CONFIG_MACH_TYPE for davinci_sonata board
Christian Riesch [Sat, 19 Nov 2011 00:45:43 +0000 (00:45 +0000)]
davinci_sonata: define CONFIG_MACH_TYPE for davinci_sonata board

This patch fixes the build breakage for the davinci_sonata board.

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Sergey Kubushyn <ksi@koi8.net>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
12 years agodavinci_schmoogie: define CONFIG_MACH_TYPE for davinci_schmoogie board
Christian Riesch [Sat, 19 Nov 2011 00:45:42 +0000 (00:45 +0000)]
davinci_schmoogie: define CONFIG_MACH_TYPE for davinci_schmoogie board

This patch fixes the build breakage for the davinci_schmoogie board.

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Sergey Kubushyn <ksi@koi8.net>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
12 years agoarm: a320evb: define mach-type in board config file
Yan-Pai Chen [Mon, 7 Nov 2011 19:40:25 +0000 (19:40 +0000)]
arm: a320evb: define mach-type in board config file

MACH_TYPE_FARADAY was dropped from mach-types.h. Add it back to
board config file.

Signed-off-by: Yan-Pai Chen <ypchen@faraday-tech.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoOMAP3: Use sdelay from arch/arm/cpu/armv7/syslib.c instead of cloning that.
Alexander Holler [Sat, 18 Dec 2010 12:24:20 +0000 (13:24 +0100)]
OMAP3: Use sdelay from arch/arm/cpu/armv7/syslib.c instead of cloning that.

There is no need to have such a function twice.

Signed-off-by: Alexander Holler <holler@ahsoftware.de>
Acked-by: Dirk Behme <dirk.behme@googlemail.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoFix Stelian's email address
Stelian Pop [Mon, 31 Oct 2011 23:00:39 +0000 (00:00 +0100)]
Fix Stelian's email address

Change my old email address which is no longer valid.

Signed-off-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoMerge branch 'master' of git://git.denx.de/u-boot-mmc
Wolfgang Denk [Sun, 27 Nov 2011 15:03:21 +0000 (16:03 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mmc

* 'master' of git://git.denx.de/u-boot-mmc:
  Revert "mmc: retry the cmd8 to meet 74 clocks requirement in the spec"
  mmc: mv_sdhci: Fix host version read for Armada100

12 years agomicroblaze: usable uart16550 for big endian systems
Stephan Linz [Thu, 24 Nov 2011 12:32:52 +0000 (12:32 +0000)]
microblaze: usable uart16550 for big endian systems

As a result of the commit 6833260 the uart16550 driver
is broken for Microblaze big endian systems, because of
the missing 3 byte offset. Other than as described, not
all U-Boot BSP will treat properly the 3 byte offset.

This why prefer to mask out the 3 byte offset in general
and setup correct _REG_SIZE value depending on edianess.

Signed-off-by: Stephan Linz <linz@li-pro.net>
Tested-by: Michal Simek <monstr@monstr.eu>
12 years agomvblx: punt unused clean/distclean targets
Michael Jones [Sun, 6 Nov 2011 22:44:29 +0000 (22:44 +0000)]
mvblx: punt unused clean/distclean targets

Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
12 years agocmd_nvedit.c: Fix compiler warning introduced by checkpatch cleanup
Kumar Gala [Wed, 23 Nov 2011 09:48:02 +0000 (09:48 +0000)]
cmd_nvedit.c: Fix compiler warning introduced by checkpatch cleanup

cmd_nvedit.c: In function 'do_env_grep':
cmd_nvedit.c:182:3: warning: suggest parentheses around assignment used as truth value

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agodrivers/bios_emulator/x86emu/ops2.c: Fix GCC 4.6 build warning
Kumar Gala [Wed, 23 Nov 2011 06:31:04 +0000 (06:31 +0000)]
drivers/bios_emulator/x86emu/ops2.c: Fix GCC 4.6 build warning

Fix:

x86emu/ops2.c: In function 'x86emuOp2_set_byte':
x86emu/ops2.c:171:11: warning: variable 'name' set but not used [-Wunused-but-set-variable]

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
12 years agoignore new mkenvimage tool
Mike Frysinger [Fri, 25 Nov 2011 10:58:13 +0000 (10:58 +0000)]
ignore new mkenvimage tool

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoRevert "mmc: retry the cmd8 to meet 74 clocks requirement in the spec"
Macpaul Lin [Mon, 14 Nov 2011 23:35:39 +0000 (23:35 +0000)]
Revert "mmc: retry the cmd8 to meet 74 clocks requirement in the spec"

This reverts commit 02f3029f1810b99869254d0cf0a71946a008a728.

This patch add 3 times retry to CMD8 because the Marvell mmc controller
doesn't obey the power ramp up process in the SD specification 6.4.1.
(Please refer to figure 6.1 and 6.2 in the specification.)

The CMD0 should be send after power ramp up has been finished.
However, the Marvell mmc contorller must do power ramp up after the
first CMD0 command has been send.

This patch also affect existing platforms like Nokia N900 and other
platforms.

Signed-off-by: Macpaul Lin <macpaul@andestech.com>
Acked-by: Lei Wen <leiwen@marvell.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
12 years agommc: mv_sdhci: Fix host version read for Armada100
Ajay Bhargav [Sun, 13 Nov 2011 23:43:12 +0000 (23:43 +0000)]
mmc: mv_sdhci: Fix host version read for Armada100

sdhci_readw does not work for host version read in Armada100 series
SoCs. This patch fix this issue by making a sdhci_readl call to get host
version.

Signed-off-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
12 years agoDIU: 1080P and 720P support
Jerry Huang [Tue, 1 Nov 2011 15:16:43 +0000 (15:16 +0000)]
DIU: 1080P and 720P support

Add the 1920x1080 and 1280x720 resolution support.

Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
Acked-by: Timur Tabi <timur@freescale.com>
CC: Anatolij Gustschin <agust@denx.de>
12 years agoCFB: Fix font rendering on mx5 framebuffer
Marek Vasut [Wed, 23 Nov 2011 16:32:16 +0000 (16:32 +0000)]
CFB: Fix font rendering on mx5 framebuffer

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
12 years agoMerge branch 'hs@denx.de' of git://git.denx.de/u-boot-staging
Wolfgang Denk [Wed, 23 Nov 2011 20:23:45 +0000 (21:23 +0100)]
Merge branch 'hs@denx.de' of git://git.denx.de/u-boot-staging

* 'hs@denx.de' of git://git.denx.de/u-boot-staging:
  drivers/net/dnet.c: Fix GCC 4.6 warnings
  board/xaeniax/flash.c: Fix GCC 4.6 warnings
  net/bootp.c: Fix GCC 4.6 warning
  common/cmd_bootm.c: Fix GCC 4.6 warnings
  board/mx1ads/mx1ads.c: Fix GCC 4.6 warning
  board/mx1ads/syncflash.c: Fix GCC 4.6 warnings
  board/lubbock/flash.c: Fix GCC 4.6 warnings
  drivers/net/cs8900.c: Fix GCC 4.6 warning
  arch/arm/cpu/arm926ejs/omap/cpuinfo.c: Fix GCC 4.6 warnings
  drivers/net/lan91c96.c: Fix GCC 4.6 warning
  board/ronetix/pm9263/pm9263.c: Fix GCC 4.6 warning
  drivers/mtd/onenand/samsung.c: Fix GCC 4.6 warning
  drivers/usb/musb/musb_hcd.c: Fix GCC 4.6 warning

12 years agodrivers/i2c/davinci_i2c.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sat, 19 Nov 2011 02:51:38 +0000 (02:51 +0000)]
drivers/i2c/davinci_i2c.c: Fix GCC 4.6 warning

Fix:
davinci_i2c.c: In function 'flush_rx':
davinci_i2c.c:81:6: warning: variable 'dummy' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Heiko Schocher <hs@denx.de>
12 years agoi2c: Codingstyle cleanup for i2c evb64260 board driver
Heiko Schocher [Thu, 17 Nov 2011 06:57:20 +0000 (07:57 +0100)]
i2c: Codingstyle cleanup for i2c evb64260 board driver

There are some magic constants in this drivers, which I cannot
fixup ... Eran, can you help here?

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Eran Man <eran@nbase.co.il>
12 years agoi2c: sh: Add support I2C for Renesas SH
Nobuhiro Iwamatsu [Mon, 14 Nov 2011 18:27:04 +0000 (18:27 +0000)]
i2c: sh: Add support I2C for Renesas SH

This supports I2C of Renesas SH.
I tested on SH7724.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
CC: Heiko Schocher <hs@denx.de>
12 years agodrivers/net/dnet.c: Fix GCC 4.6 warnings
Anatolij Gustschin [Sat, 19 Nov 2011 10:06:30 +0000 (10:06 +0000)]
drivers/net/dnet.c: Fix GCC 4.6 warnings

Fix:
dnet.c: In function 'dnet_send':
dnet.c:136:9: warning: variable 'len' set but not used
[-Wunused-but-set-variable]
dnet.c: In function 'dnet_set_hwaddr':
dnet.c:209:2: warning: dereferencing type-punned pointer will
break strict-aliasing rules [-Wstrict-aliasing]
dnet.c:209:2: warning: dereferencing type-punned pointer will
break strict-aliasing rules [-Wstrict-aliasing]
dnet.c:209:2: warning: dereferencing type-punned pointer will
break strict-aliasing rules [-Wstrict-aliasing]
dnet.c:209:2: warning: dereferencing type-punned pointer will
break strict-aliasing rules [-Wstrict-aliasing]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoboard/xaeniax/flash.c: Fix GCC 4.6 warnings
Anatolij Gustschin [Sat, 19 Nov 2011 10:17:04 +0000 (10:17 +0000)]
board/xaeniax/flash.c: Fix GCC 4.6 warnings

Fix:
flash.c: In function 'flash_erase':
flash.c:223:6: warning: variable 'flag' set but not used
[-Wunused-but-set-variable]
flash.c: In function 'write_data':
flash.c:392:6: warning: variable 'flag' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agonet/bootp.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sat, 19 Nov 2011 10:29:58 +0000 (10:29 +0000)]
net/bootp.c: Fix GCC 4.6 warning

Fix:
bootp.c: In function 'BootpCopyNetParams':
bootp.c:108:11: warning: unused variable 'tmp_ip' [-Wunused-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agocommon/cmd_bootm.c: Fix GCC 4.6 warnings
Anatolij Gustschin [Sat, 19 Nov 2011 13:12:18 +0000 (13:12 +0000)]
common/cmd_bootm.c: Fix GCC 4.6 warnings

Fix:
cmd_bootm.c: In function 'bootm_load_os':
cmd_bootm.c:315:7: warning: unused variable 'unc_len'
[-Wunused-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoboard/mx1ads/mx1ads.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sat, 19 Nov 2011 13:12:17 +0000 (13:12 +0000)]
board/mx1ads/mx1ads.c: Fix GCC 4.6 warning

Fix:
mx1ads.c: In function 'board_early_init_f':
mx1ads.c:83:24: warning: variable 'tmp' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoboard/mx1ads/syncflash.c: Fix GCC 4.6 warnings
Anatolij Gustschin [Sat, 19 Nov 2011 13:12:16 +0000 (13:12 +0000)]
board/mx1ads/syncflash.c: Fix GCC 4.6 warnings

Fix:
syncflash.c: In function 'SF_SR':
syncflash.c:60:10: warning: variable 'tmp1' set but not used
[-Wunused-but-set-variable]
syncflash.c: In function 'SF_PrechargeAll':
syncflash.c:96:6: warning: variable 'tmp' set but not used
[-Wunused-but-set-variable]
mx1ads.c: In function 'board_early_init_f':
mx1ads.c:83:24: warning: variable 'tmp' set but not used
[-Wunused-but-set-variable]
syncflash.c: In function 'SF_Erase':
syncflash.c:112:6: warning: variable 'tmp' set but not used
[-Wunused-but-set-variable]
syncflash.c: In function 'flash_init':
syncflash.c:155:6: warning: variable 'tmp' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoboard/lubbock/flash.c: Fix GCC 4.6 warnings
Anatolij Gustschin [Sat, 19 Nov 2011 13:12:15 +0000 (13:12 +0000)]
board/lubbock/flash.c: Fix GCC 4.6 warnings

Fix:
flash.c: In function 'flash_erase':
flash.c:223:6: warning: variable 'flag' set but not used [-Wunused-but-set-variable]
flash.c: In function 'write_data':
flash.c:392:6: warning: variable 'flag' set but not used [-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agodrivers/net/cs8900.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sat, 19 Nov 2011 13:12:14 +0000 (13:12 +0000)]
drivers/net/cs8900.c: Fix GCC 4.6 warning

Fix:
cs8900.c: In function 'get_reg_init_bus':
cs8900.c:69:14: warning: variable 'c' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoarch/arm/cpu/arm926ejs/omap/cpuinfo.c: Fix GCC 4.6 warnings
Anatolij Gustschin [Sat, 19 Nov 2011 13:12:13 +0000 (13:12 +0000)]
arch/arm/cpu/arm926ejs/omap/cpuinfo.c: Fix GCC 4.6 warnings

Fix:
cpuinfo.c: In function 'print_cpuinfo':
cpuinfo.c:155:6: warning: variable 'system_serial_low' set but not used
[-Wunused-but-set-variable]
cpuinfo.c:154:6: warning: variable 'system_serial_high' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agodrivers/net/lan91c96.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sat, 19 Nov 2011 13:12:12 +0000 (13:12 +0000)]
drivers/net/lan91c96.c: Fix GCC 4.6 warning

Fix:
lan91c96.c: In function 'dump_memory_info':
lan91c96.c:157:7: warning: variable 'mem_info' set but not used
[-Wunused-but-set-variable]
lan91c96.c: In function 'smc_send_packet':
lan91c96.c:320:16: warning: variable 'ioaddr' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoboard/ronetix/pm9263/pm9263.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sat, 19 Nov 2011 13:12:11 +0000 (13:12 +0000)]
board/ronetix/pm9263/pm9263.c: Fix GCC 4.6 warning

Fix:
pm9263.c: In function 'pm9263_lcd_hw_psram_init':
pm9263.c:167:20: warning: variable 'x' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agodrivers/mtd/onenand/samsung.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sat, 19 Nov 2011 13:12:10 +0000 (13:12 +0000)]
drivers/mtd/onenand/samsung.c: Fix GCC 4.6 warning

Fix:
samsung.c: In function 's3c_onenand_check_lock_status':
samsung.c:486:6: warning: variable 'tmp' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agodrivers/usb/musb/musb_hcd.c: Fix GCC 4.6 warning
Anatolij Gustschin [Sat, 19 Nov 2011 13:12:09 +0000 (13:12 +0000)]
drivers/usb/musb/musb_hcd.c: Fix GCC 4.6 warning

Fix:
musb_hcd.c: In function 'submit_control_msg':
musb_hcd.c:851:6: warning: variable 'csr' set but not used
[-Wunused-but-set-variable]

Signed-off-by: Anatolij Gustschin <agust@denx.de>
12 years agoFix clash between IH_ARCH_NDS32 and IH_ARCH_SANDBOX
Stefan Kristiansson [Mon, 21 Nov 2011 23:43:58 +0000 (23:43 +0000)]
Fix clash between IH_ARCH_NDS32 and IH_ARCH_SANDBOX

NDS32 and SANDBOX architecture were sharing the same IH_ARCH number

Signed-off-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Acked-by: Macpaul Lin <macpaul@andestech.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
12 years agonds32/ag101: clean up for SoC related code
Macpaul Lin [Wed, 23 Nov 2011 05:56:50 +0000 (13:56 +0800)]
nds32/ag101: clean up for SoC related code

Remove unneccessary codes.
1. Clean up for cpu related code.
2. Clean up for timer related code.

Signed-off-by: Macpaul Lin <macpaul@andestech.com>
12 years agotools/env: use lib/crc32.c directly
Andreas Bießmann [Mon, 17 Oct 2011 22:11:12 +0000 (22:11 +0000)]
tools/env: use lib/crc32.c directly

Instead of linking the file into $(obj) tree use directly the source file.
This also prevents littered source tree if building not out-of-tree.

Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agosandbox: Fix warnings in hashtable.c
Simon Glass [Mon, 21 Nov 2011 19:04:23 +0000 (19:04 +0000)]
sandbox: Fix warnings in hashtable.c

This fixes a few printf() strings for size_t which are missing the 'z'
modifier.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
12 years agoImprove Power Management in SMC911X driver.
bertrand.cachet@heig-vd.ch [Tue, 15 Nov 2011 03:40:53 +0000 (03:40 +0000)]
Improve Power Management in SMC911X driver.

device is already in *normal* (D0) mode => it doesn't need to be wake-up.

With this patch, we only wake-up (writing on TEST_BYTE register) if PM_MODE
bits of PM_CTRL register is in sleep (D1/D2) mode.

Signed-off-by: Bertrand Cachet <bertrand.cachet@heig-vd.ch>
12 years agoenv: clean env_common.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:11 +0000 (01:14 +0000)]
env: clean env_common.c checkpatch and code style

Cleanup the env_common.c checkpatch warnings, errors and coding style.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: clean env_nand.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:10 +0000 (01:14 +0000)]
env: clean env_nand.c checkpatch and code style

Cleanup the env_nand.c checkpatch warnings, errors and coding style.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: clean env_flash.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:09 +0000 (01:14 +0000)]
env: clean env_flash.c checkpatch and code style

Cleanup the env_flash.c checkpatch warnings, errors and coding style.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: clean env_sf.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:08 +0000 (01:14 +0000)]
env: clean env_sf.c checkpatch and code style

Cleanup the env_sf.c checkpatch warnings, errors and coding style.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: clean env_eeprom.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:07 +0000 (01:14 +0000)]
env: clean env_eeprom.c checkpatch and code style

Cleanup the env_eeprom.c checkpatch warnings, errors and coding style.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: clean env_embedded.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:06 +0000 (01:14 +0000)]
env: clean env_embedded.c checkpatch and code style

Cleanup the env_embedded.c checkpatch warnings, errors and coding style.
There is one error left though:
 ERROR: Macros with multiple statements should be enclosed in a do - while loop
 #79: FILE: u-boot/common/env_embedded.c:79:
 +#define GEN_ABS(name, value)                   \
 +       asm(".globl " GEN_SYMNAME(name));       \
 +       GEN_SET_VALUE(name, value)

 total: 1 errors, 0 warnings, 213 lines checked

We cannot enclose that statement in a do - while loop,
because these are a global assembly declarations.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: clean env_mmc.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:05 +0000 (01:14 +0000)]
env: clean env_mmc.c checkpatch and code style

Cleanup the env_mmc.c checkpatch warnings, errors and coding style.
Simplify env_relocate_spec() function implementation.
Also mark internal functions as static.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: clean env_nvram.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:04 +0000 (01:14 +0000)]
env: clean env_nvram.c checkpatch and code style

Cleanup the env_nvram.c checkpatch warnings, errors and coding style.
There are 2 wanring left about the extern used in c file:
 WARNING: externs should be avoided in .c files
 #53: FILE: env_nvram.c:53:
 +extern void *nvram_read(void *dest, const long src, size_t count);

 WARNING: externs should be avoided in .c files
 #54: FILE: env_nvram.c:54:
 +extern void nvram_write(long dest, const void *src, size_t count);

 total: 0 errors, 2 warnings, 138 lines checked

There is no common nvram header file to use instead of the externs.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: clean env_onenand.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:03 +0000 (01:14 +0000)]
env: clean env_onenand.c checkpatch and code style

Cleanup the env_onenand.c checkpatch warnings, errors and coding style.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: clean env_dataflash.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:02 +0000 (01:14 +0000)]
env: clean env_dataflash.c checkpatch and code style

Cleanup the env_dataflash.c checkpatch warnings, errors
and coding style.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
12 years agoenv: clean env_mgdisk.c checkpatch and code style
Igor Grinberg [Mon, 7 Nov 2011 01:14:01 +0000 (01:14 +0000)]
env: clean env_mgdisk.c checkpatch and code style

Cleanup the env_mgdisk.c checkpatch warnings, errors
and coding style.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>