- Apr 15, 2011
-
-
Dipen Dudhat authored
Modify eLBC based platform's NAND loader Makefile to preprocess nand loader linker script and then use it. Signed-off-by:
Dipen Dudhat <Dipen.Dudhat@freescale.com> CC: Scott Wood <scottwood@freescale.com> Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- Mar 31, 2011
-
-
Wolfgang Denk authored
Commit 6dc1eceb "Introduce a new linker flag LDFLAGS_FINAL" modified a number of Makefiles in a way that broke out-of-tree builds. The problem was that $(nandobj) was used before it got defined. Fix this. Signed-off-by:
Wolfgang Denk <wd@denx.de> Signed-off-by:
Scott Wood <scottwood@freescale.com>
-
- Mar 27, 2011
-
-
Po-Yu Chuang authored
Currently, _end is used for end of BSS section. We want _end to mean end of u-boot image, so we rename _end to __bss_end__ first. Signed-off-by:
Po-Yu Chuang <ratbert@faraday-tech.com>
-
- Mar 22, 2011
-
-
Haiying Wang authored
commit 8aba9dce Divides variable of linker flags to LDFLAGS-u-boot and LDFLAGS breaks the usage of --gc-section to build nand_spl. We still need linker option --gc-section for every uboot image, not only the main one. LDFLAGS_FINAL passes the --gc-sections to each uboot image. To get the proper linker flags, we use LDFLAGS and LDFLAGS_FINAL to replace PLATFORM_LDFLAGS in the Makefile of each nand_spl board. Signed-off-by:
Scott Wood <scottwood@freescale.com> Signed-off-by:
Haiying Wang <Haiying.Wang@freescale.com>
-
- Feb 21, 2011
-
-
Fabio Estevam authored
Signed-off-by:
Fabio Estevam <fabio.estevam@freescale.com>
-
- Jan 14, 2011
-
-
Kumar Gala authored
Mimic support that exists on MPC8536DS on the MPC8572DS to allow booting from NAND. Signed-off-by:
Jin Qing <b24347@freescale.com> Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- Dec 17, 2010
-
-
Joakim Tjernlund authored
By rearranging the linker script we get support for relocation of -fpic for free. Move __got2_entries outside _GOT2_TABLE_ defining scope matching the rest of PowerPC Signed-off-by:
Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Acked-by:
Scott Wood <scottwood@freescale.com> Acked-by:
Kim Phillips <kim.phillips@freescale.com>
-
- Dec 16, 2010
-
-
Scott Wood authored
Recent GCC (4.4+) performs out-of-line epilogues in some cases, when optimizing for size. It causes a link error for _restgpr_30_x (and similar) if libgcc is not linked. It actually increases size with very small binaries, due to the fixed size of the out-of-line code, and not having any functions that actually need to restore more than 2 or 3 registers. But I don't see a way to turn it off, other than asking GCC to optimize for speed -- which may also increase size for some boards. Signed-off-by:
Scott Wood <scottwood@freescale.com> Acked-by:
Kim Phillips <kim.phillips@freescale.com> Acked-by:
Wolfgang Denk <wd@denx.de>
-
Scott Wood authored
Recent GCC (4.4+) performs out-of-line epilogues in some cases, when optimizing for size. It causes a link error for _restgpr_30_x (and similar) if libgcc is not linked. It actually increases size with very small binaries, due to the fixed size of the out-of-line code, and not having any functions that actually need to restore more than 2 or 3 registers. But I don't see a way to turn it off, other than asking GCC to optimize for speed -- which may also increase size for some boards. Signed-off-by:
Scott Wood <scottwood@freescale.com> Acked-by:
Kim Phillips <kim.phillips@freescale.com> Acked-by:
Wolfgang Denk <wd@denx.de>
-
- Nov 27, 2010
-
-
Wolfgang Denk authored
Signed-off-by:
Wolfgang Denk <wd@denx.de> Cc: Kim Phillips <kim.phillips@freescale.com> Cc: Haiying Wang <r54964@freescale.com>
-
Scott Wood authored
Apply the same fix for 83xx as was done for 85xx in commit 96196a1f. Without this, NAND SPLs are built with the text base intended for the main image, resulting in a broken, very large u-boot-nand.bin. The block of defines for NAND boot is moved closer to where CONFIG_SYS_TEXT_BASE is defined. We can't directly use CONFIG_SYS_NAND_U_BOOT_DST in the definition of CONFIG_SYS_TEXT_BASE because autoconf.mk will include the literal text "CONFIG_SYS_NAND_U_BOOT_DST", but at least keep them close and point out that they're supposed to be the same. Signed-off-by:
Scott Wood <scottwood@freescale.com>
-
- Nov 12, 2010
-
-
Haiying Wang authored
Introduce a SPL specific CONFIG_SYS_TEXT_BASE_SPL define to be used by the linker. This has similiar semantics to CONFIG_SYS_TEXT_BASE however since SPL is a unqiue image we introduce a new variable to control its text base address. Signed-off-by:
Haiying Wang <Haiying.Wang@freescale.com> Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- Oct 18, 2010
-
-
Wolfgang Denk authored
The change is currently needed to be able to remove the board configuration scripting from the top level Makefile and replace it by a simple, table driven script. Moving this configuration setting into the "CONFIG_*" name space is also desirable because it is needed if we ever should move forward to a Kconfig driven configuration system. Signed-off-by:
Wolfgang Denk <wd@denx.de>
-
- Jul 16, 2010
-
-
Becky Bruce authored
Currently, 83xx, 86xx, and 85xx have a lot of duplicated code dedicated to defining and manipulating the LBC registers. Merge this into a single spot. To do this, we have to decide on a common name for the data structure that holds the lbc registers - it will now be known as fsl_lbc_t, and we adopt a common name for the immap layouts that include the lbc - this was previously known as either im_lbc or lbus; use the former. In addition, create accessors for the BR/OR regs that use in/out_be32 and use those instead of the mismash of access methods currently in play. I have done a successful ppc build all and tested a board or two from each processor family. Signed-off-by:
Becky Bruce <beckyb@kernel.crashing.org> Acked-by:
Kim Phillips <kim.phillips@freescale.com> Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- Apr 21, 2010
-
-
Stefan Roese authored
As discussed on the list, move "arch/ppc" to "arch/powerpc" to better match the Linux directory structure. Please note that this patch also changes the "ppc" target in MAKEALL to "powerpc" to match this new infrastructure. But "ppc" is kept as an alias for now, to not break compatibility with scripts using this name. Signed-off-by:
Stefan Roese <sr@denx.de> Acked-by:
Wolfgang Denk <wd@denx.de> Acked-by:
Detlev Zundel <dzu@denx.de> Acked-by:
Kim Phillips <kim.phillips@freescale.com> Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Anatolij Gustschin <agust@denx.de>
-
- Apr 13, 2010
-
-
Peter Tyser authored
Signed-off-by:
Peter Tyser <ptyser@xes-inc.com>
-
Peter Tyser authored
Signed-off-by:
Peter Tyser <ptyser@xes-inc.com>
-
Peter Tyser authored
The appropriate include/asm-$ARCH directory should already by symlinked to include/asm so using the whole "asm-$ARCH" path is unnecessary. This change should also allow us to move the include/asm-$ARCH directories into their appropriate lib/$ARCH/ directories. Signed-off-by:
Peter Tyser <ptyser@xes-inc.com>
-
Peter Tyser authored
Also move lib_$ARCH/config.mk to arch/$ARCH/config.mk This change is intended to clean up the top-level directory structure and more closely mimic Linux's directory organization. Signed-off-by:
Peter Tyser <ptyser@xes-inc.com>
-
Peter Tyser authored
The CPUDIR variable points to the location of a target's CPU directory. Currently, it is set to cpu/$CPU. However, using $CPUDIR will allow for more flexibility in the future. It lays the groundwork for reorganizing U-Boot's directory structure to support a layout such as: arch/$ARCH/cpu/$CPU/* (architecture with multiple CPU types) arch/$ARCH/cpu/* (architecture with one CPU type) Signed-off-by:
Peter Tyser <ptyser@xes-inc.com>
-
- Mar 02, 2010
-
-
Kim Phillips authored
commit 2e95004d "mpc83xx: Add NAND boot support for MPC8315E-RDB boards" symlinked nand_spl/board/freescale/mpc8315erdb to mpc8313erdb in order to not duplicate code. Since the main makefile builds nand_spl/board/$(BOARDDIR) (which makes sense), and the board Makefile and linker script are the only two necessary files to enable out-of-tree building, and other boards have duplicated nand makefiles (e.g. 8536ds & 8569mds), it only seems prudent to copy these two files in the name of the 8315 too. Signed-off-by:
Kim Phillips <kim.phillips@freescale.com> Cc: Anton Vorontsov <avorontsov@ru.mvista.com> Cc: Wolfgang Denk <wd@denx.de>
-
- Jan 27, 2010
-
-
Liu Yu authored
This patch add nand boot support for MPC8569mds board. Signed-off-by:
Liu Yu <yu.liu@freescale.com>
-
- Oct 27, 2009
-
-
Kumar Gala authored
nand_boot.c: In function 'board_init_f': nand_boot.c:44: warning: 'sys_clk' may be used uninitialized in this function Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
Kumar Gala authored
We need to source files to exist in the O=<FOO> nand_spl dir when we build out of tree. Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- Oct 16, 2009
-
-
Dipen Dudhat authored
NAND Boot support for P1 and P2 series RDB platforms. This patch is derived from NAND Boot support on MPC8536DS. Signed-off-by:
Dipen Dudhat <dipen.dudhat@freescale.com> Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- Sep 30, 2009
-
-
Mingkai Hu authored
MPC8536E can support booting from NAND flash which uses the image u-boot-nand.bin. This image contains two parts: a 4K NAND loader and a main U-Boot image. The former is appended to the latter to produce u-boot-nand.bin. The 4K NAND loader includes the corresponding nand_spl directory, along with the code twisted by CONFIG_NAND_SPL. The main U-Boot image just like a general U-Boot image except the parts that included by CONFIG_SYS_RAMBOOT. When power on, eLBC will automatically load from bank 0 the 4K NAND loader into the FCM buffer RAM where CPU can execute the boot code directly. In the first stage, the NAND loader copies itself to RAM or L2SRAM to free up the FCM buffer RAM, then loads the main image from NAND flash to RAM or L2SRAM and boot from it. This patch implements the NAND loader to load the main image into L2SRAM, so the main image can configure the RAM by using SPD EEPROM. In the first stage, the NAND loader copies itself to the second to last 4K address space, and uses the last 4K address space as the initial RAM for stack. Obviously, the size of L2SRAM shouldn't be less than the size of the image used. If so, the workaround is to generate another image that includes the code to configure the RAM by SPD and load it to L2SRAM first, then relocate the main image to RAM to boot up. Signed-off-by:
Mingkai Hu <Mingkai.hu@freescale.com> Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
- Aug 21, 2009
-
-
Wolfgang Denk authored
Commit f62fb999 fixed handling of all rodata sections by using a wildcard combined with calls to ld's builtin functions SORT_BY_ALIGNMENT() and SORT_BY_NAME(). Unfortunately these functions were only introduced with biunutils version 2.16, so the modification broke building with all tool chains using older binutils. This patch makes it work again. This is done by omitting the use of these functions for such old tool chains. This will result in slightly larger target binaries, as the rodata sections are no longer in optimal order alignment-wise which reauls in unused gaps, but the effect was found to be insignificant - especially compared to the fact that you cannot build U-Boot at all in the current state. As ld seems to have no support for conditionals we run the linker script through the C preprocessor which can be easily used to remove the unwanted function calls. Note that the C preprocessor must be run with the "-ansi" (or a "-std=") option to make sure all the system-specific predefined macros outside the reserved namespace are suppressed. Otherise, cpp might for example substitute "powerpc" to "1", thus corrupting for example "OUTPUT_ARCH(powerpc)" etc. Signed-off-by:
Wolfgang Denk <wd@denx.de> Cc: Mike Frysinger <vapier@gentoo.org>
-
- Jul 06, 2009
-
-
Magnus Lilja authored
Signed-off-by:
Magnus Lilja <lilja.magnus@gmail.com>
-
- Mar 20, 2009
-
-
Trent Piepho authored
A recent gcc added a new unaligned rodata section called '.rodata.str1.1', which needs to be added the the linker script. Instead of just adding this one section, we use a wildcard ".rodata*" to get all rodata linker section gcc has now and might add in the future. However, '*(.rodata*)' by itself will result in sub-optimal section ordering. The sections will be sorted by object file, which causes extra padding between the unaligned rodata.str.1.1 of one object file and the aligned rodata of the next object file. This is easy to fix by using the SORT_BY_ALIGNMENT command. This patch has not be tested one most of the boards modified. Some boards have a linker script that looks something like this: *(.text) . = ALIGN(16); *(.rodata) *(.rodata.str1.4) *(.eh_frame) I change this to: *(.text) . = ALIGN(16); *(.eh_frame) *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) This means the start of rodata will no longer be 16 bytes aligned. However, the boundary between text and rodata/eh_frame is still aligned to 16 bytes, which is what I think the real purpose of the ALIGN call is. Signed-off-by:
Trent Piepho <xyzzy@speakeasy.org>
-
- Jan 23, 2009
-
-
Dave Liu authored
We load the secondary stage u-boot image from NAND to system memory by nand_load, but we did not flush d-cache to memory, nor invalidate i-cache before we jump to RAM. When the system has cache enabled and the TLB/page attribute of system memory is cacheable, it will cause issues. - 83xx family is using the d-cache lock, so all of d-cache access is cache-inhibited. so you can't see the issue. - 85xx family is using d-cache, i-cache enable, partial cache lock. you will see the issue. This patch fixes the cache issue. Signed-off-by:
Dave Liu <daveliu@freescale.com> Signed-off-by:
Scott Wood <scottwood@freescale.com>
-
- Aug 12, 2008
-
-
Scott Wood authored
Note that with older board revisions, NAND boot may only work after a power-on reset, and not after a warm reset. I don't have a newer board to test on; if you have a board with a 33MHz crystal, please let me know if it works after a warm reset. Signed-off-by:
Scott Wood <scottwood@freescale.com>
-