]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
13 years agoAdd generic gpio.h in asm-generic
Simon Glass [Fri, 7 Oct 2011 13:53:50 +0000 (13:53 +0000)]
Add generic gpio.h in asm-generic

Since we want want to have a standard GPIO interface, this adds a definition
for this into include/asm-generic/gpio.h.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agoAdjust dependency rules to permit per-file flags
Simon Glass [Fri, 7 Oct 2011 13:53:49 +0000 (13:53 +0000)]
Adjust dependency rules to permit per-file flags

The dependency rules are currently done in a shell 'for' loop. This does not
permit Makefile variables to adjust preprocessor flags as is done with normal
compile flags, using the CFLAGS_path/file.o syntax.

This change moves the dependency generation into the Makefile itself, and
permits a CPPFLAGS_path/file.o to adjust preprocessor flags on a file or
directory basis.

The CPPFLAGS_... variable is also folded into CFLAGS during the build.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Use uintptr_t for 32/64-bit compatibility
Simon Glass [Sat, 17 Sep 2011 06:48:58 +0000 (06:48 +0000)]
sandbox: Use uintptr_t for 32/64-bit compatibility

This fixes a problems when building on some 64-bit machines.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Add basic config file
Simon Glass [Mon, 3 Oct 2011 19:26:47 +0000 (19:26 +0000)]
sandbox: Add basic config file

This basic provides required features along with a basic command set.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Add serial uart
Simon Glass [Mon, 3 Oct 2011 19:26:46 +0000 (19:26 +0000)]
sandbox: Add serial uart

This uart simply writes to stdout and reads from stdin. We might imagine
instead buffering the data so that a test interface can check output and
inject input.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Add main program
Simon Glass [Mon, 3 Oct 2011 19:26:45 +0000 (19:26 +0000)]
sandbox: Add main program

Add a main program so that we can run U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Add OS dependent layer
Simon Glass [Mon, 3 Oct 2011 19:26:44 +0000 (19:26 +0000)]
sandbox: Add OS dependent layer

We want to keep all OS-dependent code in once place, with a simple interface
to U-Boot. For now, this is that place.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Force command sections to be 4-byte aligned
Simon Glass [Sat, 17 Sep 2011 06:48:51 +0000 (06:48 +0000)]
sandbox: Force command sections to be 4-byte aligned

By default sections are 16-byte aligned on some architectures, but the
command name structure (struct cmd_tbl_s) does not have padding to
16 bytes. This reduces the alignment to 4-bytes so that the command
table can be accessed correctly on any architecture.

(Note: this needs doing properly)

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Disable standalone/API support
Simon Glass [Sat, 17 Sep 2011 06:48:50 +0000 (06:48 +0000)]
sandbox: Disable standalone/API support

This is not useful on the sandbox architecture since we can simply link all
our code with U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Disable built-in malloc
Simon Glass [Sat, 17 Sep 2011 06:48:49 +0000 (06:48 +0000)]
sandbox: Disable built-in malloc

We prefer to U-Boot's malloc but for now it is easier to use the C library's
version.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Add bootm support
Simon Glass [Fri, 7 Oct 2011 13:53:40 +0000 (13:53 +0000)]
sandbox: Add bootm support

This adds sandbox architecture support to bootm, although it is probably
not useful to load sandbox code into the address space and execute it.

This change at least make the file build correctly on 64-bit machines.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Add board info for architecture
Simon Glass [Sat, 17 Sep 2011 06:48:47 +0000 (06:48 +0000)]
sandbox: Add board info for architecture

This is required for the bdinfo command to work.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fix syntax error.
Signed-off-by: Wolfgang Denk <wd@denx.de>
13 years agosandbox: Add sandbox board
Simon Glass [Fri, 7 Oct 2011 13:53:38 +0000 (13:53 +0000)]
sandbox: Add sandbox board

This adds basic files for the sandbox board. The lds file is very simple
since we can rely mostly on the linker defaults.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Add architecture lib files
Simon Glass [Mon, 3 Oct 2011 19:26:37 +0000 (19:26 +0000)]
sandbox: Add architecture lib files

These files are taken from the ARM board implementation and then reduced
to remove unneeded cruft.

Ideally we would work towards unifying arch/xxx/lib files, particularly
board.c.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Add cpu files
Simon Glass [Mon, 26 Sep 2011 14:10:39 +0000 (14:10 +0000)]
sandbox: Add cpu files

This is an initial implementation with all functions defined but not working.

The lds file is very simple since we can mostly rely on the linker defaults.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Add compiler defines to support a 64-bit x86_64 platform
Simon Glass [Fri, 23 Sep 2011 06:22:06 +0000 (06:22 +0000)]
sandbox: Add compiler defines to support a 64-bit x86_64 platform

This sets __WORDSIZE to 8 correctly on 64-bit machines.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agosandbox: Add architecture image support
Simon Glass [Fri, 7 Oct 2011 13:53:34 +0000 (13:53 +0000)]
sandbox: Add architecture image support

We won't actually load an image with this architecture, but we still need to
define it.

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agoFix use of int as pointer in image.c
Simon Glass [Fri, 23 Sep 2011 06:22:04 +0000 (06:22 +0000)]
Fix use of int as pointer in image.c

It is better to use %p in this case.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
13 years agosandbox: Add architecture header files
Simon Glass [Mon, 10 Oct 2011 08:22:14 +0000 (08:22 +0000)]
sandbox: Add architecture header files

This adds required header files for the sandbox architecture, and a basic
description of what sandbox is (README.sandbox).

Signed-off-by: Simon Glass <sjg@chromium.org>
13 years agoarm: ca9x4_ct_vxp: enable PXE BOOTP options support
Jason Hobbs [Tue, 23 Aug 2011 11:07:01 +0000 (11:07 +0000)]
arm: ca9x4_ct_vxp: enable PXE BOOTP options support

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
Cc: Matt Waddel <matt.waddel@linaro.org>
13 years agoarm: ca9x4_ct_vxp: enable pxe command support
Jason Hobbs [Tue, 23 Aug 2011 11:07:00 +0000 (11:07 +0000)]
arm: ca9x4_ct_vxp: enable pxe command support

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
Cc: Matt Waddel <matt.waddel@linaro.org>
13 years agoConvert ca9x4_ct_vxp to standard env variables
Jason Hobbs [Tue, 23 Aug 2011 11:06:59 +0000 (11:06 +0000)]
Convert ca9x4_ct_vxp to standard env variables

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
Cc: Matt Waddel <matt.waddel@linaro.org>
13 years agonet: bootp: add PXE/RFC 4578 DHCP options support
Jason Hobbs [Wed, 31 Aug 2011 05:37:31 +0000 (05:37 +0000)]
net: bootp: add PXE/RFC 4578 DHCP options support

These options are required to be present in RFC 4578 compliant DHCP
requests. They give more information to DHCP servers to allow serving

different DHCP responses to different systems based on client
architecture, client capabilities, UUID, or vendor.

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
13 years agoAdd pxe command
Jason Hobbs [Wed, 31 Aug 2011 15:37:30 +0000 (10:37 -0500)]
Add pxe command

Add pxe command, which is intended to mimic PXELINUX functionality.
'pxe get' uses tftp to retrieve a file based on UUID, MAC address or IP
address. 'pxe boot' interprets the contents of PXELINUX config like file
to boot using a specific initrd, kernel and kernel command line.

This patch also adds a README.pxe file - see it for more details on the
pxe command.

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
13 years agolib: add uuid_str_to_bin for use with bootp and PXE uuid
Jason Hobbs [Tue, 23 Aug 2011 11:06:56 +0000 (11:06 +0000)]
lib: add uuid_str_to_bin for use with bootp and PXE uuid

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
13 years agoREADME: document standard image variables
Jason Hobbs [Wed, 31 Aug 2011 05:37:28 +0000 (05:37 +0000)]
README: document standard image variables

With these documented, we can start pushing towards standardizing their
use across boards.

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
Cc: Mike Frysinger <vapier@gentoo.org>
13 years agoReplace space and tab checks with isblank
Jason Hobbs [Tue, 23 Aug 2011 11:06:54 +0000 (11:06 +0000)]
Replace space and tab checks with isblank

These are various places I found that checked for conditions equivalent
to isblank.

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
13 years agocosmetic: remove unneeded curly braces
Jason Hobbs [Tue, 23 Aug 2011 11:06:53 +0000 (11:06 +0000)]
cosmetic: remove unneeded curly braces

This prevents a checkpatch warning in the patch to use isblank

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
13 years agoAdd isblank
Jason Hobbs [Tue, 23 Aug 2011 11:06:52 +0000 (11:06 +0000)]
Add isblank

Existing ctype checks are implemented using a 256 byte lookup table,
allowing each character to be in any of 8 character classes. Since there
are 8 existing character classes without the blank class, I implemented
isblank without using the lookup table.  Since there are only two blank
characters - tab and space - this is a more reasonable approach than
doubling the size of the lookup table to accommodate one more class.

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
13 years agocommon: add run_command2 for running simple or hush commands
Jason Hobbs [Wed, 31 Aug 2011 05:37:24 +0000 (05:37 +0000)]
common: add run_command2 for running simple or hush commands

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Acked-by: Mike Frysinger <vapier@gentoo.org>
13 years agocommon, menu: use abortboot for menu timeout
Jason Hobbs [Tue, 23 Aug 2011 11:06:50 +0000 (11:06 +0000)]
common, menu: use abortboot for menu timeout

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
13 years agoAdd generic, reusable menu code
Jason Hobbs [Tue, 23 Aug 2011 11:06:49 +0000 (11:06 +0000)]
Add generic, reusable menu code

This will be used first by the pxe code, but is intended to be
generic and reusable for other jobs in U-boot.

Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
13 years agoDM9000:Add a byte swap macro for dm9000 io operation.
Jason Jin [Thu, 25 Aug 2011 07:46:43 +0000 (15:46 +0800)]
DM9000:Add a byte swap macro for dm9000 io operation.

commit a45dde2293c816138e53c26eca6fd0322583f9a6 changed the dm9000
direct register access to standard IO. This should work
on the ColdFire platform as there are corresponding macros for
the LE devices. But the hardware settings on some ColdFire boards had
swapped the byte order which make the original macros such as out_le16
cannot work. To avoid changing the common io access code on ColdFire
platform, the DM9000_BYTE_SWAPPED define was added to make the dm9000 use
__raw* IO access on some ColdFire boards.

Signed-off-by: Jason Jin <Jason.jin@freescale.com>
13 years agokw_gpio: fix error in kw_gpio_direction_input
Holger Brunck [Sun, 21 Aug 2011 23:21:06 +0000 (23:21 +0000)]
kw_gpio: fix error in kw_gpio_direction_input

The function kw_gpio_is_valid returns zero on success, so
adapt the error check accordingly.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Prafulla Wadaskar <prafulla@marvell.com>
cc: Dieter Kiermaier <dk-arm-linux@gmx.de>

13 years agoBlackfin: bfin_spi: fix build error when DEBUG is defined
Mike Frysinger [Tue, 4 Oct 2011 00:51:13 +0000 (20:51 -0400)]
Blackfin: bfin_spi: fix build error when DEBUG is defined

The new debug() changes pointed out debug code that rotted a little.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agoBlackfin: define CONFIG_SYS_CACHELINE_SIZE
Mike Frysinger [Thu, 13 Oct 2011 00:16:31 +0000 (20:16 -0400)]
Blackfin: define CONFIG_SYS_CACHELINE_SIZE

Common U-Boot API wants this define, so import asm/cache.h from Linux
to provide suitable defines.

Acked-by: Anton Staaf <robotboy@chromium.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agovideo: Moving mx3fb.c to CONFIG_VIDEO
Helmut Raiger [Wed, 12 Oct 2011 23:16:29 +0000 (23:16 +0000)]
video: Moving mx3fb.c to CONFIG_VIDEO

mx3fb.c was based on CONFIG_LCD and is moved by this patch to
CONFIG_VIDEO, which has greater freedom in selecting videomodes
even at runtime.

This renders the accumulating list of display defines
(CONFIG_DISPLAY_VBEST..., CONFIG_DISPLAY_C057...) obsolete as
these may be setup through env variables:

uboot> setenv mydisplay 'video=ctfb:x:240,y:320,depth:16,mode:0,pclk:185925,
le:9,ri:17,up:7,lo:10,hs:1,vs:1,sync:100663296,vmode:0'
uboot> setenv videomode ${mydisplay}

This commit also fixes the board config files for qong and
imx31_phycore boards as needed. The videomode settings of
previously supported displays are added to CONFIG_EXTRA_ENV_SETTINGS
now. CONFIG_SYS_MALLOC_LEN for imx31_phycore board is increased
to make the frame buffer allocation working with the changed
driver.

Signed-off-by: Helmut Raiger <helmut.raiger@hale.at>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
13 years agomx31: make HSP clock for mx3fb driver available
Helmut Raiger [Wed, 12 Oct 2011 21:08:30 +0000 (23:08 +0200)]
mx31: make HSP clock for mx3fb driver available

This additionally updates mx31/generic.c by
- replacing __REG() macro accesses with readl() and writel()
- providing macros for PDR0 and PLL bit accesses

Signed-off-by: Helmut Raiger <helmut.raiger@hale.at>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
Cc: Stefano Babic <sbabic@denx.de>
Acked-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
13 years agoMX5: Make IPU display output and pixel format configurable
Marek Vasut [Wed, 5 Oct 2011 22:25:03 +0000 (00:25 +0200)]
MX5: Make IPU display output and pixel format configurable

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Stefano Babic <sbabic@denx.de>
Tested-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
13 years agoVIDEO: MX5: export pix format
Stefano Babic [Wed, 28 Sep 2011 09:21:16 +0000 (11:21 +0200)]
VIDEO: MX5: export pix format

Pixel format defines must be available for boards to set up
the right display. Move them and export in a new file.

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Anatolij Gustschin <agust@denx.de>
CC: Marek Vasut <marek.vasut@gmail.com>
Tested-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
13 years agoVIDEO: MX5: Switch MX5 to CONFIG_VIDEO
Stefano Babic [Wed, 28 Sep 2011 09:21:15 +0000 (11:21 +0200)]
VIDEO: MX5: Switch MX5 to CONFIG_VIDEO

The framebuffer driver for MX5 is based on CONFIG_LCD.
In the current implementation, there is a serious bug
because the required memory is allocated before
relocation, but the driver knows only later which is
the resolution of the display. The patch switches the driver
to CONFIG_VIDEO and the memory is allocated by the driver itself.

We also need to switch the vision2 board code and config file
in the same commit so that this commit will be bisectable.

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Anatolij Gustschin <agust@denx.de>
Tested-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
13 years agovideo: update the Freescale DIU driver to use linux/fb.h
Timur Tabi [Mon, 22 Aug 2011 15:54:02 +0000 (10:54 -0500)]
video: update the Freescale DIU driver to use linux/fb.h

Update the Freescale DIU video driver (fsl_diu_fb.c) to use linux/fb.h.
Some data structures from this header file were just copied into
fsl_diu_fb.c.

Signed-off-by: Timur Tabi <timur@freescale.com>
13 years agopowerpc: cpm2 boards: update fcc register logic
Mike Frysinger [Mon, 17 Oct 2011 05:38:58 +0000 (05:38 +0000)]
powerpc: cpm2 boards: update fcc register logic

In the recent dropping of !NET_MULTI code (commit e2a53458a7ab37523304),
I misread the logic in include/net.h.  Some of it was used by NET_MULTI
code as glue between the multi/non-multi worlds for cpm2 boards.

Rather than restore the block of code, push the logic to the board config
headers where it all belongs.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agozlib: handle overflow while calculating available stream input size
Anatolij Gustschin [Sat, 15 Oct 2011 06:32:52 +0000 (06:32 +0000)]
zlib: handle overflow while calculating available stream input size

If compressed data is located in sectors at the end of the flash and
it's offset + input stream size > 0xFFFFFFFF, the uncompressing time
is very long, since processing of the stream is done bytewise (and
not blockwise) due to overflow in inflate_fast() while calculation
and checking for enough input available.

Check for this overflow condition and limit the available stream
input size to the actually max. possible input size. This fixes
the problem.

The issue is easily reproduceable by placing a gziped bitmap in flash,
e.g. at FFF80000, and running 'bmp' commands like 'bmp info FFF80000'
or 'bmp display FFF80000'. The uncompressing can take up to 3 sec.
whereas it should normaly take a fraction of a second. If the
'splashimage' environment variable points to this address, the
booting time also increases significantly.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
13 years agoserial_exit: punt unused prototype
Mike Frysinger [Mon, 3 Oct 2011 15:11:14 +0000 (15:11 +0000)]
serial_exit: punt unused prototype

No code defines or calls this, so drop the prototype.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Simon Glass <sjg@chromium.org>
13 years agopunt unused clean/distclean targets
Mike Frysinger [Thu, 13 Oct 2011 06:54:57 +0000 (06:54 +0000)]
punt unused clean/distclean targets

The top level Makefile does not do any recursion into subdirs when
cleaning, so these clean/distclean targets in random arch/board dirs
never get used.  Punt them all.

MAKEALL didn't report any errors related to this that I could see.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13 years agocommon: fix missing function pointer relocation in fixup_cmdtable()
Daniel Schwierzeck [Thu, 13 Oct 2011 06:07:39 +0000 (06:07 +0000)]
common: fix missing function pointer relocation in fixup_cmdtable()

The command auto-completion does not work on architectures relying
on CONFIG_NEEDS_MANUAL_RELOC like MIPS. Cause is the missing function
pointer fixup for cmd_tbl_t::complete function in fixup_cmdtable().

This patch adds the missing pointer fixup in case of CONFIG_AUTO_COMPLETE
is defined.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
13 years agompc5200: digsy_mtc: fix detection of Coral-PA
Anatolij Gustschin [Thu, 13 Oct 2011 05:19:17 +0000 (05:19 +0000)]
mpc5200: digsy_mtc: fix detection of Coral-PA

A delay of approximately 250 ms after PCI bus reset in
pci_mpc5xxx_init() is needed to recognize the Coral-PA
controller on the graphic extention board.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
13 years agopci: move pcidelay code to new location just before PCI bus scan
Anatolij Gustschin [Tue, 11 Oct 2011 22:44:30 +0000 (22:44 +0000)]
pci: move pcidelay code to new location just before PCI bus scan

PCI cards might need some time after reset to respond. On some
boards (mpc5200 or mpc8260 based) the PCI bus reset is deasserted
at pci_init_board() time, so we currently can not use available
"pcidelay" option for waiting before PCI bus scan since this
waiting takes place before calling pci_init_board(). By moving
the pcidelay code to the new location using of the "pcidelay"
option is possible on mpc5200 or mpc8260 based boards, too.

Since pci_hose_scan() could be called multiple times, restrict
the function to wait only during its first call and to ignore
pcidelay for any further call (as pointed out by Matthias).

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Matthias Fuchs <matthias.fuchs@esd.eu>
Acked-by: Stefan Roese <sr@denx.de>
Acked-by: Matthias Fuchs <matthias.fuchs@esd.eu>
Tested-by: Matthias Fuchs <matthias.fuchs@esd.eu>
13 years agonet: axi_ethernet: Add driver to u-boot
Michal Simek [Thu, 6 Oct 2011 20:35:35 +0000 (20:35 +0000)]
net: axi_ethernet: Add driver to u-boot

Add axi_ethernet driver for little-endian Microblaze.

RX/TX BDs and rxframe buffer are shared among all axi_ethernet MACs.
Only one MAC can work in one time.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Acked-by: Mike Frysinger <vapier@gentoo.org>
13 years agonet: emaclite: Fix coding style
Michal Simek [Mon, 12 Sep 2011 21:10:05 +0000 (21:10 +0000)]
net: emaclite: Fix coding style

Coding style should follow linux coding style.

Signed-off-by: Michal Simek <monstr@monstr.eu>
13 years agonet: emaclite: Use PKTSIZE directly
Michal Simek [Mon, 12 Sep 2011 21:10:04 +0000 (21:10 +0000)]
net: emaclite: Use PKTSIZE directly

Do not setup additional ENET_MAX_MTU macro.

Signed-off-by: Michal Simek <monstr@monstr.eu>
13 years agonet: emaclite: Setup RX/TX ping pong for every instance
Michal Simek [Mon, 12 Sep 2011 21:10:01 +0000 (21:10 +0000)]
net: emaclite: Setup RX/TX ping pong for every instance

Setup RX/TX ping-pong buffer for every emaclite IP separately.
The next patch move initialization directly to board code.

Signed-off-by: Michal Simek <monstr@monstr.eu>
13 years agoMerge branch 'master' of git://git.denx.de/u-boot-fdt
Wolfgang Denk [Sat, 15 Oct 2011 20:00:01 +0000 (22:00 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-fdt

* 'master' of git://git.denx.de/u-boot-fdt:
  powerpc/85xx: use fdt_create_phandle() to create the Fman firmware phandles
  fdt: update fdt_alloc_phandle to use fdt_get_phandle
  fdt: check for fdt errors in fdt_create_phandle
  fdt: Add a do_fixup_by_path_string() function

13 years agopowerpc/85xx: use fdt_create_phandle() to create the Fman firmware phandles
Timur Tabi [Tue, 20 Sep 2011 23:24:36 +0000 (18:24 -0500)]
powerpc/85xx: use fdt_create_phandle() to create the Fman firmware phandles

Function fdt_create_phandle() conveniently creates new phandle properties
using both "linux,phandle" and "phandle", so it should be used by all code
that wants to create a phandle.

The Fman firmware code, which embeds an Fman firmware into the device tree,
was creating the phandle properties manually.  Instead, change it to use
fdt_create_phandle().

Signed-off-by: Timur Tabi <timur@freescale.com>
13 years agofdt: update fdt_alloc_phandle to use fdt_get_phandle
Timur Tabi [Tue, 20 Sep 2011 23:24:35 +0000 (18:24 -0500)]
fdt: update fdt_alloc_phandle to use fdt_get_phandle

The device tree compiler, dtc, can use "phandle" and/or "linux,phandle"
properties to specify the phandle for any node.  By default, it uses
both, but "linux,phandle" is deprecated.  One day, we'd like to stop using
"linux,phandle", but U-boot needs to support both properties equally
first.

fdt_alloc_phandle() generates a unique phandle, but it was only checking
the "linux,phandle" properties.  Instead, we use fdt_get_phandle(),
which checks both properties automatically.  This ensures that we
support dtbs that only use "phandle".

The side-effect is that fdt_alloc_phandle() now takes twice as long, since
it has to check for two properties instead of one in each node that it
searches.

Signed-off-by: Timur Tabi <timur@freescale.com>
13 years agofdt: check for fdt errors in fdt_create_phandle
Timur Tabi [Tue, 20 Sep 2011 23:24:34 +0000 (18:24 -0500)]
fdt: check for fdt errors in fdt_create_phandle

fdt_create_phandle() was ignoring errors from fdt_set_phandle().  If an
error occurs, print an error message and return 0, which is an invalid
phandle.  We also need to change the return type for fdt_create_phandle()
to indicate that it cannot return an error code.

Signed-off-by: Timur Tabi <timur@freescale.com>
13 years agofdt: Add a do_fixup_by_path_string() function
Chunhe Lan [Wed, 31 Aug 2011 02:36:32 +0000 (10:36 +0800)]
fdt: Add a do_fixup_by_path_string() function

The do_fixup_by_path_string() will set the specified node's property to the
value contained in "status". It would just be an inline wrapper for
do_fixup_by_path() that calls strlen on the argument.

Signed-off-by: Chunhe Lan <Chunhe.Lan@freescale.com>
13 years agopowerpc/85xx: Drop CONFIG_VIDEO on P1_P2_RDB-PC boards to reduce size
Kumar Gala [Wed, 12 Oct 2011 20:52:08 +0000 (15:52 -0500)]
powerpc/85xx: Drop CONFIG_VIDEO on P1_P2_RDB-PC boards to reduce size

With older compilers (gcc-4.2.x) we run into issues that resulting image
is too large.  We can save a bunch of space by removing the video support.
In general video support on these boards is a nice to have since it
requires a PCIe add-on card.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agophylib: wait for TN2020 to achieve SERDES lane alignment at startup
Timur Tabi [Fri, 7 Oct 2011 20:35:21 +0000 (15:35 -0500)]
phylib: wait for TN2020 to achieve SERDES lane alignment at startup

Before the Teranetics TN2020 PHY can be used, the SERDES lanes need to be
aligned, so wait for lane alignment before completing the startup sequence.

Note that this process can take up to three seconds.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/p3060: remove all references to RCW bits EC1_EXT, EC2_EXT, and EC3
Timur Tabi [Thu, 13 Oct 2011 20:33:20 +0000 (15:33 -0500)]
powerpc/p3060: remove all references to RCW bits EC1_EXT, EC2_EXT, and EC3

The EC1_EXT, EC2_EXT, and EC3 bits in the RCW don't officially exist on the
P3060 and should always be set to zero.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/mpc8548cds: Add 36-bit support
chenhui zhao [Thu, 13 Oct 2011 05:41:00 +0000 (13:41 +0800)]
powerpc/mpc8548cds: Add 36-bit support

Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/mpc8548cds: Code cleanup and refactoring
chenhui zhao [Thu, 13 Oct 2011 05:40:59 +0000 (13:40 +0800)]
powerpc/mpc8548cds: Code cleanup and refactoring

- Rework tlb and law tables.
- PCI2 is not available on MPC8548CDS, so remove it.
- Move the memory map to the board config file.
- Rewrite the board info according to the manual.
- Remove unnecessary macros and redefine some macros to align with other boards.
- Fix some typos.

Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/p3041: fixup portal config info
Haiying Wang [Wed, 28 Sep 2011 14:51:14 +0000 (10:51 -0400)]
powerpc/p3041: fixup portal config info

P3041 has 10 qman portals, we need to configure all of them:
* As there are only 4 physical cores sdest can only be 0 to 3
* We assign dqrr & frame data LIODNs for all portals so if they
  are utilized the proper mapping tables can be setup uniquely
  (PAMU stashing)
* We set Portal 6-10 to LIODN offsets 1-5 as the global LIODN
  assignments are tuned around an assumption of at most 5
  partitions.

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/p2041: fixup portal config info
Haiying Wang [Wed, 28 Sep 2011 14:51:13 +0000 (10:51 -0400)]
powerpc/p2041: fixup portal config info

P2041 has 10 qman portals, we need to configure all of them:
* As there are only 4 physical cores sdest can only be 0 to 3
* We assign dqrr & frame data LIODNs for all portals so if they
  are utilized the proper mapping tables can be setup uniquely
  (PAMU stashing)
* We set Portal 6-10 to LIODN offsets 1-5 as the global LIODN
  assignments are tuned around an assumption of at most 5
  partitions.

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/p5020: fixup portal config info
Haiying Wang [Wed, 28 Sep 2011 14:51:15 +0000 (10:51 -0400)]
powerpc/p5020: fixup portal config info

P5020 has 10 qman portals, we need to configure all of them:
* As there are only 2 physical cores sdest can only be 0 or 1
* We assign dqrr & frame data LIODNs for all portals so if they
  are utilized the proper mapping tables can be setup uniquely
  (PAMU stashing)
* We set Portal 6-10 to LIODN offsets 1-5 as the global LIODN
  assignments are tuned around an assumption of at most 5
  partitions.

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: Added secure boot option for P2041RDB boards
Kuldip Giroh [Tue, 27 Sep 2011 06:27:23 +0000 (11:57 +0530)]
powerpc/85xx: Added secure boot option for P2041RDB boards

Signed-off-by: Kuldip Giroh <kuldip.giroh@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agoMerge branch 'master' of git://git.denx.de/u-boot-mips
Wolfgang Denk [Wed, 12 Oct 2011 20:47:15 +0000 (22:47 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-mips

* 'master' of git://git.denx.de/u-boot-mips:
  MIPS: Jz4740: Add qi_lb60 board support
  MIPS: Jz4740: Add NAND driver
  MIPS: Ingenic XBurst Jz4740 processor support

13 years agoMerge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Wolfgang Denk [Wed, 12 Oct 2011 20:45:30 +0000 (22:45 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx

* 'master' of git://git.denx.de/u-boot-ppc4xx:
  ppc4xx: Change DDR2 CL from 4 to 5 for intip
  ppc4xx: Improve lm63 pwm on dlvision-10g
  ppc4xx: Do not stop booting on any keypress on intip

13 years agoMerge branch 'master' of git://git.denx.de/u-boot-ubi
Wolfgang Denk [Wed, 12 Oct 2011 20:44:36 +0000 (22:44 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-ubi

* 'master' of git://git.denx.de/u-boot-ubi:
  UBI: init eba tables before wl when attaching a device
  ubifs bad superblock bug

13 years agoMerge branch 'master' of git://git.denx.de/u-boot-nand-flash
Wolfgang Denk [Wed, 12 Oct 2011 20:43:54 +0000 (22:43 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-nand-flash

* 'master' of git://git.denx.de/u-boot-nand-flash:
  NAND: davinci: choose correct 1-bit h/w ECC reg

13 years agoMerge branch 'master' of git://git.denx.de/u-boot-microblaze
Wolfgang Denk [Wed, 12 Oct 2011 20:42:28 +0000 (22:42 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-microblaze

* 'master' of git://git.denx.de/u-boot-microblaze:
  microblaze: Copy bootfile from variables
  microblaze: Fix unaligned.h for endians
  microblaze: Initialize jumptable and console
  microblaze: Support flashes on lower addresses
  microblaze: Call common console_init_f initialization function

13 years agoMIPS: Jz4740: Add qi_lb60 board support
Xiangfu Liu [Wed, 12 Oct 2011 04:24:06 +0000 (12:24 +0800)]
MIPS: Jz4740: Add qi_lb60 board support

Add support for the qi_lb60 (a.k.a QI Ben NanoNote) clamshell device
from Qi hardware:

http://en.qi-hardware.com/wiki/Ben_NanoNote
http://en.qi-hardware.com/wiki/Main_Page
http://en.wikipedia.org/wiki/Qi_hardware

This Jz4740-based clamshell device does not use NOR flash to boot.
The initial bring-up assumes that U-Boot is directly loaded into SDRAM
using USB boot tool, and starts from 0x80100000.

About USB boot tool
-------------------

Jz4740 is one of the XBurst processors with USB boot functionality
supported.  The CPU can boot from a small ROM in the LSI, initialize
CPU and USB module, then wait for USB commands from the USB host.
We can send 8 KB binary data to the CPU cache using USB boot tool.

USB boot tool is available to the public at Ingenic website.  Also
there is an alternative Debian package named xburst-tools.

Signed-off-by: Xiangfu Liu <xiangfu@openmobilefree.net>
Acked-by: Daniel <zpxu@ingenic.cn>
Signed-off-by: Shinya Kuribayashi <skuribay@pobox.com>
13 years agoMIPS: Jz4740: Add NAND driver
Xiangfu Liu [Wed, 12 Oct 2011 04:24:06 +0000 (12:24 +0800)]
MIPS: Jz4740: Add NAND driver

Jz4740 NAND flash controller can support:
* MLC NAND as well as SLC NAND
* all 8-bit/16-bit NAND flash devices
* HAMMING and RS hardware ECC
* automatic boot up from NAND flash devices

nand_ecclayout is set up for 2GiB NAND chip mounted in Qi LB60.
We'll bring up boot-from-NAND support in nand_spl/ in the future.

Signed-off-by: Xiangfu Liu <xiangfu@openmobilefree.net>
Acked-by: Daniel <zpxu@ingenic.cn>
Signed-off-by: Shinya Kuribayashi <skuribay@pobox.com>
13 years agoppc4xx: Change DDR2 CL from 4 to 5 for intip
Dirk Eibach [Tue, 4 Oct 2011 09:13:55 +0000 (11:13 +0200)]
ppc4xx: Change DDR2 CL from 4 to 5 for intip

Some intip boards don't seem to run stable with CL4, datasheets suggest that
CL5 is the safe value.

Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Stefan Roese <sr@denx.de>
13 years agoppc4xx: Improve lm63 pwm on dlvision-10g
Dirk Eibach [Tue, 4 Oct 2011 09:13:53 +0000 (11:13 +0200)]
ppc4xx: Improve lm63 pwm on dlvision-10g

Fan PWM lookuptable was modified to start at 46 degrees
celsius instead of 40 degrees celsius.

Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Stefan Roese <sr@denx.de>
13 years agoppc4xx: Do not stop booting on any keypress on intip
Dirk Eibach [Tue, 4 Oct 2011 09:13:52 +0000 (11:13 +0200)]
ppc4xx: Do not stop booting on any keypress on intip

Use CONFIG_AUTOBOOT_KEYED on intip so that booting can only be
stopped with well defined keypresses.

Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Stefan Roese <sr@denx.de>
13 years agoUBI: init eba tables before wl when attaching a device
Holger Brunck [Mon, 10 Oct 2011 11:08:19 +0000 (13:08 +0200)]
UBI: init eba tables before wl when attaching a device

This fixes that u-boot gets stuck when a bitflip was detected
during "ubi part <ubi_device>". If a bitflip was detected UBI tries
to copy the PEB to a different place. This needs that the eba table
are initialized, but this was done after the wear levelling worker
detects the bitflip. So changes the initialisation of these two
tasks in u-boot.

This is a u-boot specific patch and not needed in the linux layer,
because due to commit 1b1f9a9d00447d
UBI: Ensure that "background thread" operations are really executed
we schedule these tasks in place and not as in linux after the inital
task which schedule this new task is finished.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
13 years agoubifs bad superblock bug
Lars Poeschel [Wed, 12 Oct 2011 09:31:19 +0000 (11:31 +0200)]
ubifs bad superblock bug

This patch fixes an issue when ubifs reads a bad superblock. Later it
tries to free memory, that was not allocated, which freezes u-boot.
This is fixed by looking for a non null pointer before free.

The message I got before u-boot freezes:
UBI: max/mean erase counter: 53/32
UBIFS: mounted UBI device 0, volume 1, name "rootfs"
UBIFS: mounted read-only
UBIFS: file system size:   49140 bytes (50319360 KiB, 0 MiB, 49140 LEBs)
UBIFS: journal size:       49 bytes (6838272 KiB, 0 MiB, 6678 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: LZO
UBIFS: reserved for root:  0 bytes (0 KiB)
UBIFS error (pid 0): ubifs_read_node: bad node type (255 but expected 9)
UBIFS error (pid 0): ubifs_read_node: bad node at LEB 330:13104
UBIFS error (pid 0): ubifs_iget: failed to read inode 1, error -22
Error reading superblock on volume 'ubi:rootfs'!

Signed-off-by: Lars Poeschel <larsi@wh2.tu-dresden.de>
Cc: Kyungmin Park <kmpark@infradead.org>
Signed-off-by: Stefan Roese <sr@denx.de>
13 years agoNAND: davinci: choose correct 1-bit h/w ECC reg
Laurence Withers [Mon, 26 Sep 2011 16:02:30 +0000 (16:02 +0000)]
NAND: davinci: choose correct 1-bit h/w ECC reg

In nand_davinci_readecc(), select the correct NANDF<n>ECC register based
on CONFIG_SYS_NAND_CS rather than hardcoding the choice of NANDF1ECC.
This allows 1-bit hardware ECC to work with chip select other than CS2.

Note this now matches the usage in nand_davinci_enable_hwecc(), which
already had the correct handling, and allows refactoring to a single
function encapsulating the register read.

Without this fix, writing NAND pages to a chip not wired to CS2 would
result in in the ECC calculation always returning FFFFFF for each
512-byte segment, and reading back a correctly written page (one with
ECC intact) would always fail. With this fix, the ECC is written and
verified correctly.

Signed-off-by: Laurence Withers <lwithers@guralp.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
13 years agoMIPS: Ingenic XBurst Jz4740 processor support
Xiangfu Liu [Wed, 12 Oct 2011 04:24:06 +0000 (12:24 +0800)]
MIPS: Ingenic XBurst Jz4740 processor support

Jz4740 is a multimedia application processor targeting for mobile
devices like e-Dictionary, eBook, portable media player (PMP) and
GPS navigator.  Jz4740 is powered by Ingenic 360 MHz XBurst CPU core
(JzRISC), in which RISC/SIMD/DSP hybrid instruction set architecture
provides high integration, high performance and low power consumption.

JzRISC incorporated in Jz4740 is the advanced and power-efficient
32-bit RISC core, compatible with MIPS32, with 16K I-Cache and 16K
D-Cache, and can operate at speeds up to 400 MHz.

On-chip modules such as LCD controller, embedded audio codec, multi-
channel SAR-ADC, AC97/I2S controller and camera I/F offer a rich
suite of peripherals for multimedia application.  NAND controller
(SLC/MLC), USB (host 1.1 and device 2.0), UART, I2C, SPI, etc. are
also available.

For more info about Ingenic XBurst Jz4740:
  http://en.ingenic.cn/eng/
  http://www.linux-mips.org/wiki/Ingenic

This patch introduces XBurst CPU support in U-Boot.  It's compatible
with MIPS32, but requires a bit different cache maintenance, timer
routines, and boot mechanism using USB boot tool, so XBurst support
can go into a separate new home, cpu/xburst/.

Signed-off-by: Xiangfu Liu <xiangfu@openmobilefree.net>
Acked-by: Daniel <zpxu@ingenic.cn>
Signed-off-by: Shinya Kuribayashi <skuribay@pobox.com>
13 years agomicroblaze: Copy bootfile from variables
Michal Simek [Thu, 21 Jul 2011 07:47:15 +0000 (09:47 +0200)]
microblaze: Copy bootfile from variables

Setup bootfile.

Signed-off-by: Michal Simek <monstr@monstr.eu>
13 years agomicroblaze: Fix unaligned.h for endians
Michal Simek [Mon, 28 Feb 2011 09:14:33 +0000 (10:14 +0100)]
microblaze: Fix unaligned.h for endians

Also support little endian MB.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Acked-by: Mike Frysinger <vapier@gentoo.org>
13 years agomicroblaze: Initialize jumptable and console
Michal Simek [Thu, 21 Jul 2011 08:30:42 +0000 (10:30 +0200)]
microblaze: Initialize jumptable and console

This changes were done to get support for netconsole.

Signed-off-by: Michal Simek <monstr@monstr.eu>
13 years agomicroblaze: Support flashes on lower addresses
Michal Simek [Thu, 21 Jul 2011 09:01:58 +0000 (11:01 +0200)]
microblaze: Support flashes on lower addresses

Signed-off-by: Michal Simek <monstr@monstr.eu>
13 years agomicroblaze: Call common console_init_f initialization function
Michal Simek [Thu, 21 Jul 2011 07:52:25 +0000 (09:52 +0200)]
microblaze: Call common console_init_f initialization function

Calling console_init_f enables CTRL+C usage.

Signed-off-by: Michal Simek <monstr@monstr.eu>
13 years agopowerpc/mpc8536ds: Save the env variables to SDcard and SPI flash
Xie Xiaobo [Mon, 3 Oct 2011 19:54:21 +0000 (12:54 -0700)]
powerpc/mpc8536ds: Save the env variables to SDcard and SPI flash

MPC8536DS offer booting from SDcard or SPI flash.  This patch defined that
u-boot can save the environment variables on SDcard or SPI flash when
booting from the related device.  The Env parameter region and linux
kernel region have overlap in SPI-Flash, So change the Env param saving
address.

Signed-off-by: Xie Xiaobo <r63061@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/mpc8536ds: Add USB support for MPC8536DS
Fanzc [Mon, 3 Oct 2011 19:18:42 +0000 (12:18 -0700)]
powerpc/mpc8536ds: Add USB support for MPC8536DS

Add EHCI controller and USB command definition.

Signed-off-by: Xie Xiaobo <r63061@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agofsl_sata: Fix compile error when CONFIG_LBA48 is not defined
Tang Yuantian [Mon, 3 Oct 2011 19:18:41 +0000 (12:18 -0700)]
fsl_sata: Fix compile error when CONFIG_LBA48 is not defined

If CONFIG_LBA48 is not defined, the element lba48 of struct sata_dev_desc
is not avaible, and can't be used.

Signed-off-by: Tang Yuantian <b29983@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/mpc8536ds: Invert SDHC_WP pin polarity
Xie Xiaobo [Mon, 3 Oct 2011 19:18:40 +0000 (12:18 -0700)]
powerpc/mpc8536ds: Invert SDHC_WP pin polarity

MPC8536 Rev 1.0 silicon have NMG_eSDHC118 erratum, so that the SDHC write
protected pin polarity does not follow the SD card standard in MPC8536
Rev 1.0 silicon.

The MPC8536DS board invert the SDHC_WP pin as a workaround.  However, this
silicon erratum has been fixed in Rev 1.1, So need invert the SDHC_WP
polarity again when use the MPC8536 Rev1.1 and greater on MPC8536DS board.

Signed-off-by: Xie Xiaobo <r63061@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/mpc8536ds: Add eSPI support for MPC8536DS
Xie Xiaobo [Mon, 3 Oct 2011 19:18:39 +0000 (12:18 -0700)]
powerpc/mpc8536ds: Add eSPI support for MPC8536DS

1. The SD_DATA[4:7] signals are shared with the SPI chip selects on 8536DS,
   so don't set MPC85xx_PMUXCR_SD_DATA that config eSDHC data bus-width
   to 4-bit and enable SPI signals.
2. Add eSPI controller and SPI-FLASH definition.

Signed-off-by: Xie Xiaobo <r63061@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/mpc8548cds: Update config file
chenhui zhao [Tue, 6 Sep 2011 16:41:19 +0000 (16:41 +0000)]
powerpc/mpc8548cds: Update config file

- Increase the size of malloc space.
- Enable e1000 network card.
- Show pci devices on startup.
- Change the location of env address.
- Use hwconfig to turn off ECC by default.

[Kumar Gala] Fixed white space formating for CONFIG_EXTRA_ENV_SETTINGS

Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/mpc86xx: Disable translation for BAT setup
Becky Bruce [Tue, 4 Oct 2011 00:10:51 +0000 (19:10 -0500)]
powerpc/mpc86xx: Disable translation for BAT setup

We really shouldn't be overwriting bat registers with translation enabled,
especially when we're executing code using one of them for translating
the current instruction stream.  Instead, disable address translation
while doing the final BAT setup.

In order to do this, setup_bats has to move back to asm code, because we
require translation to be enabled to have a stack for C code.  The yucky
thing about that is that the assembler doesn't like ULL so we have to
switch to using HIGH/LOW pairs for physical addresses that are > 32 bits
in length.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
Acked-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/mpc8641hpcn: fix SRIO BAT config
Becky Bruce [Tue, 4 Oct 2011 00:10:50 +0000 (19:10 -0500)]
powerpc/mpc8641hpcn: fix SRIO BAT config

There were duplicate (and conflicting) defines for the BATs used
to cover SRIO.  Drop the bogus set.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/85xx: fix null pointer dereference when init the SGMII TBI PHY
Timur Tabi [Tue, 4 Oct 2011 21:44:43 +0000 (16:44 -0500)]
powerpc/85xx: fix null pointer dereference when init the SGMII TBI PHY

Function dtsec_configure_serdes() needs to know where the TBI PHY registers
are in order to configure SGMII for proper SerDes operation.

During SGMII initialzation, fm_eth_init_mac() passing NULL for 'phyregs'
when it called init_dtsec(), because it was believed that phyregs was not
used.  In fact, it is used by dtsec_configure_serdes() to configure the TBI
PHY registers.

We also need to define the PHY registers in struct fm_mdio.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/mpc8xxx: Merge entries in DDR speed table
York Sun [Mon, 3 Oct 2011 16:19:53 +0000 (09:19 -0700)]
powerpc/mpc8xxx: Merge entries in DDR speed table

It is not necessary to keep multiple entries for the same setting in DDR
speed tables. Merge them for smaller tables. Also restructure the tables
for smaller size. Cleanup some typedefs.

Enforce strict checking for speed table. If DIMM is running at higher than
known speed, try to use the highest speed setting. If rank is unknown, it
has to panic.

Removed ODT overriding for P2020DS as it is not necessary.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agophylib: Work around bug in Teranetics PHY
Andy Fleming [Wed, 20 Apr 2011 23:41:17 +0000 (18:41 -0500)]
phylib: Work around bug in Teranetics PHY

The Teranetics PHY does not properly report the link state
for fiber connections. The new PHY code actually checked the link,
and so the FM driver would refuse to talk over a linkless PHY.

But the link may actually be up, so now we always report it as up
for fiber connections on the tn2020.

Signed-off-by: Andy Fleming <afleming@freescale.com>
13 years agopowerpc/85xx: CONFIG_ENABLE_36BIT_PHYS does not depend on CONFIG_PHYS_64BIT
Timur Tabi [Tue, 6 Sep 2011 14:36:06 +0000 (09:36 -0500)]
powerpc/85xx: CONFIG_ENABLE_36BIT_PHYS does not depend on CONFIG_PHYS_64BIT

The macro CONFIG_ENABLE_36BIT_PHYS is used to indicate that the given SOC is
capable of 36-bit physical addresses, even if such large addresses are not
used.  On two boards, this macro was enabled only when building a 36-bit
image.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agopowerpc/8xxx: Add support for interactive DDR programming interface
York Sun [Fri, 16 Sep 2011 20:21:35 +0000 (13:21 -0700)]
powerpc/8xxx: Add support for interactive DDR programming interface

Interactive DDR debugging provides a user interface to view and modify SPD,
DIMM parameters, board options and DDR controller registers before DDR is
initialized. With this feature, developers can fine-tune DDR for board
bringup and other debugging without frequently having to reprogram the flash.

To enable this feature, define CONFIG_FSL_DDR_INTERACTIVE in board header
file and set an environment variable to activate it. Syntax:

setenv ddr_interactive on

After reset, U-boot prompts before initializing DDR controllers
FSL DDR>

The available commands are
print      print SPD and intermediate computed data
reset      reboot machine
recompute  reload SPD and options to default and recompute regs
edit       modify spd, parameter, or option
compute    recompute registers from current next_step to end
next_step  shows current next_step
help       this message
go         program the memory controller and continue with u-boot

The first command should be "compute", which reads data from DIMM SPDs and
board options, performs the calculation then stops before setting DDR
controller. A user can use "print" and "edit" commands to view and modify
anything. "Go" picks up from current step with any modification and
compltes the calculation then enables the DDR controller to continue u-boot.
"Recompute" does it over from fresh reading.

Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
13 years agoarm920t/s3c24x0/usb_ohci.c: fix warning: variable ... set but not used
Wolfgang Denk [Thu, 6 Oct 2011 07:22:52 +0000 (09:22 +0200)]
arm920t/s3c24x0/usb_ohci.c: fix warning: variable ... set but not used

Fix:
usb_ohci.c: In function 'dl_transfer_length':
usb_ohci.c:768:8: warning: variable 'tdINFO' set but not used [-Wunused-but-set-variable]

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Remy Bohmer <linux@bohmer.net>