summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* Makefile: move some variable definitions to the top MakefileMasahiro Yamada2014-02-19-88/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit moves some variable definitions from config.mk to the top Makefile: - HOSTCC, HOSTCFLAGS, HOSTLDFLAGS - AS, LD, CC, CPP, etc. - SHELL (renamed to CONFIG_SHELL) I'd like to slim down config.mk file because it is included from all recursive make. It is redundant to re-define the variables every time descending into sub directories. We should rather define them at the top Makefile and export them. U-Boot makefiles has been used "SHELL" variable to store shell chosen for the user, whereas Linux Kernel uses "CONFIG_SHELL". We should never use "SHELL" variable because it is a special variable for GNU Make. Changing SHELL may cause unpredictable side effects whose root cause is usually difficult to find. We should use a generic variable name "CONFIG_SHELL". We should not use the syntax as follows either: rm -f $(obj)tools/env/{fw_printenv,fw_setenv} This depends on "bash" although GNU Make generally invokes "sh" to run the each rule. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* Makfile: move suffix rules to Makefile.buildMasahiro Yamada2014-02-19-38/+34
| | | | | | | | | | | | | | | | | | | This commit moves suffix rules from config.mk to scripts/Makefile.build, which will allow us to switch smoothly to real Kbuild. Note1: post/lib_powerpc/fpu/Makefile has its own rule to compile C sources. We need to tweak it to keep the same behavior. Note2: There are two file2 with the same name: arch/arm/lib/crt0.S and eamples/api/crt0.S. To keep the same build behavior, examples/api/Makefile also has to be treaked. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* nand-spl: Use scripts/Makefile.buildMasahiro Yamada2014-02-19-112/+2
| | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* examples: Use scripts/Makefile.buildMasahiro Yamada2014-02-19-55/+24
| | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* board: samsung: refactor host programsMasahiro Yamada2014-02-19-23/+17
| | | | | | | Some Samsung boards have their own tools under board/samsung/<board>/tools/. This commit refactor more makefiles with "hostprogs-y". Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* tools: convert makefiles to kbuild styleMasahiro Yamada2014-02-19-365/+156
| | | | | | | | | | | | | Before this commit, makefiles under tools/ directory were implemented with their own way. This commit refactors them by using "hostprogs-y" variable. Several C sources have been added to wrap other C sources to simplify Makefile. For example, tools/crc32.c includes lib/crc32.c Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* Makefile.host.tmp: add a new script to refactor toolsMasahiro Yamada2014-02-19-3/+75
| | | | | | | | | | | | | | This commit adds scripts/Makefile.host.tmp which will be used in the next commit to convert makefiles under tools/ directory to Kbuild style. Notice this script, scripts/Makefile.host.tmp is temporary. When switching over to real Kbuild, it will be replaced with scripts/Makefile.host of Linux Kernel. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* .gitignore: ingore files generated by KbuildMasahiro Yamada2014-02-19-9/+20
| | | | | | | | | | | | Ignore generated files by Kbuild such as .*.cmd, *.order, etc. Besides above, - Ignore *.s files We do not need to ignore with file name, asm-offsets.s - Do not ignore *.rej (for quilt) - Ignore backup files, \#*# Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* microblaze: remove an empty file arch/microblaze/lib/time.cMasahiro Yamada2014-02-19-0/+0
| | | | | | | | | | | Commit 779bf42c moved timer functions from arch/microblaze/lib/time.c to arch/microblaze/cpu/timer.c. But the empty file, arch/microblaze/lib/time.c has been remaining probably for a human mistake. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Michal Simek <michal.simek@xilinx.com>
* ARM: O5/dra7xx: Add SATA boot supportDan Murphy2014-02-19-12/+7
| | | | | | | | | | | | | Add the SATA boot support for OMAP5 and dra7xx. Renamed the omap_sata_init to the common init_sata(int dev) for commonality in with sata stack. Added the ROM boot device ID for SATA. Signed-off-by: Dan Murphy <dmurphy@ti.com> Reviewed-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Tom Rini <trini@ti.com>
* common: spl: Add spl sata boot supportDan Murphy2014-02-19-0/+64
| | | | | | | | Add spl_sata to read a fat partition from a bootable SATA drive. Signed-off-by: Dan Murphy <dmurphy@ti.com> Reviewed-by: Roger Quadros <rogerq@ti.com>
* tools: correct proftool build ruleIan Campbell2014-02-19-2/+2
| | | | | | | | The incorrect substitution made it rebuild every time. Signed-off-by: Ian Campbell <ijc@hellion.org.uk> Cc: Tom Rini <trini@ti.com> Acked-by: Simon Glass <sjg@chromium.org>
* EXT4: Fix number base handling of "ext4write" commandWolfgang Denk2014-02-19-2/+2
| | | | | | | | | | | | | | | | | | | Unlike other commands (for example, "fatwrite"), ext4write would interpret the "sizebytes" as decimal number. This is not only inconsistend and unexpected to most users, it also breaks usage like this: tftp ${addr} ${name} ext4write mmc 0:2 ${addr} ${filename} ${filesize} Change this to use the standard notation of base 16 input format. See also commit b770e88 WARNING: this is a change to the user interface!! Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Uma Shankar <uma.shankar@samsung.com> Cc: Stephen Warren <swarren@nvidia.com>
* net, phy: atheros ar803x bugHeiko Schocher2014-02-19-1/+1
| | | | | | | | | | | | | | commit 626ee1e3 "phylib: update atheros ar803x phy" leads in failing ethernet on the pxm2 board. Calling genphy_config() instead of ar8021_config(), which seems for ar8021 phys not ar803x phys, make it working again. Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Shengzhou Liu <Shengzhou.Liu@freescale.com> Cc: Joe Hershberger <joe.hershberger@gmail.com>
* fdt: rename IMAAGE_OF_BOARD_SETUP to IMAGE_OF_BOARD_SETUPMasahiro Yamada2014-02-19-3/+3
| | | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
* config: remove platform CONFIG_SYS_HZ definition part 3Masahiro Yamada2014-02-19-23/+0
| | | | | | | | This commit removes platform CONFIG_SYS_HZ definition for the remainders of part1 (commit cdb23792) and part2 (commit f232950f). Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Rob Herring <rob.herring@calxeda.com>
* mini2440.h: Delete remainder of dead boardMasahiro Yamada2014-02-19-170/+0
| | | | | | | Commit af5b9b1f removed mini2440 board support, but missed to delete include/configs/mini2440.h. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* doc: README: Correct file name of signature verification documentationDetlev Zundel2014-02-19-1/+1
| | | | Signed-off-by: Detlev Zundel <dzu@denx.de>
* unit-test: add lots of tests for the Hush 'test' commandStephen Warren2014-02-19-0/+89
| | | | | | | | I recently re-wrote cmd_test() to add new features. Add a bunch of unit- tests to make sure I didn't break anything. Suggested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Stephen Warren <swarren@nvidia.com>
* unit-test: fix 'env default' invocationStephen Warren2014-02-19-1/+1
| | | | | | | | | | | | | | | "env default -f" doesn't work any more; replace it with "env default -f -a". This avoids the following when running the ut command: do_ut_cmd: Testing commands env - environment handling commands Usage: env default [-f] -a - [forcibly] reset default environment ... Signed-off-by: Stephen Warren <swarren@nvidia.com>
* fat: implement exists() for FAT fsStephen Warren2014-02-19-5/+16
| | | | | | | | This hooks into the generic "file exists" support added in an earlier patch, and provides an implementation for the FAT filesystem. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
* ext4: implement exists() for ext4fsStephen Warren2014-02-19-1/+10
| | | | | | | | This hooks into the generic "file exists" support added in an earlier patch, and provides an implementation for the ext4 filesystem. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
* sandbox: enable CONFIG_CMD_FS_GENERICStephen Warren2014-02-19-0/+1
| | | | | | | Since the generic ls command no longer segfaults sandbox, enable it. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
* sandbox: implement exists() functionStephen Warren2014-02-19-1/+10
| | | | | | | | This hooks into the generic "file exists" support added in an earlier patch, and provides an implementation for the sandbox test environment. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
* cmd_test: implement -e test for file existenceStephen Warren2014-02-19-0/+6
| | | | | | | | | | This is much like a regular shell's -e operator, except that it takes multiple arguments to specify the device type and device/partition ID in addition to the usual filename: if test -e mmc 0:1 /boot/boot.scr; then echo yes; else echo no; fi Signed-off-by: Stephen Warren <swarren@nvidia.com>
* cmd_test: evaluate to false without any argumentsStephen Warren2014-02-19-1/+1
| | | | | | | | | | | | This emulates bash: $ if test; then echo yes; else echo no; fi no Currently, the code sets expr = -1 in this case, which gets mapped to 0 (true) at the end of do_test() by the logical -> shell exit code conversion. Signed-off-by: Stephen Warren <swarren@nvidia.com>
* cmd_test: implement ! on sub-expressionsStephen Warren2014-02-19-19/+24
| | | | | | | | | | | | | | | Currently, ! can only be parsed as the first operator in an expression. This prevents the following from working: $ if test ! ! 1 -eq 1; then echo yes; else echo no; fi yes $ if test ! 1 -eq 2 -a ! 3 -eq 4; then echo yes; else echo no; fi yes Fix this by parsing ! like any other operator, and and handling it similarly to -a and -o. Signed-off-by: Stephen Warren <swarren@nvidia.com>
* cmd_test: check for binary operators before unaryStephen Warren2014-02-19-4/+4
| | | | | | | | | | | | | | | | | This better mirrors the behaviour of bash, for example: $ if test -z = -z; then echo yes; else echo no; fi yes This is parsed as a string comparison of "-z" and "-z", since the check for the binary "=" operator occurs first. Without this change, the command would be parsed as a -z test of "-", followed by a syntax error; a trailing -z without and operand. This is a behavioural change, but I believe any commands affected were previously invalid or bizarely formed. Signed-off-by: Stephen Warren <swarren@nvidia.com>
* cmd_test: use table lookup for parsingStephen Warren2014-02-19-67/+110
| | | | | | | | | | | | | | | | do_test() currently uses strcmp() twice to determine which operator is present; once to determine how many arguments the operator needs, then a second time to actually decode the operator and implement it. Rewrite the code so that a table lookup is used to translate the operator string to an integer, and use a more efficient switch statement to decode and execute the operator. This approach also acts as enablement for the following patches. This patch should introduce no behavioural change. Signed-off-by: Stephen Warren <swarren@nvidia.com>
* fs: don't pass NULL dev_desc to most filesystemsStephen Warren2014-02-19-0/+16
| | | | | | | | | | FAT and ext4 expect that the passed in block device descriptor not be NULL. This causes problems on sandbox, where get_device_and_partition() succeeds for the "host" device, yet passes back a NULL device descriptor. Add special handling for this situation, so that the generic filesystem commands operate as expected on sandbox. Signed-off-by: Stephen Warren <swarren@nvidia.com>
* fs: implement infrastructure for an 'exists' functionStephen Warren2014-02-19-0/+41
| | | | | | | | | | | | | | | | | | | | | | | This could be used in scripts such as: if test -e mmc 0:1 /boot/boot.scr; then load mmc 0:1 ${scriptaddr} /boot/boot.scr source ${scriptaddr} fi rather than: if load mmc 0:1 ${scriptaddr} /boot/boot.scr; then source ${scriptaddr} fi This prevents errors being printed by attempts to load non-existent files, which can be important when checking for a large set of files, such as /boot/boot.scr.uimg, /boot/boot.scr, /boot/extlinux.conf, /boot.scr.uimg, /boot.scr, /extlinux.conf. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
* fs: fix generic save command implementationStephen Warren2014-02-19-6/+13
| | | | | | | | | | | | | | | | | | | | Fix a few issues with the generic "save" shell command, and fs_write() function. 1) fstypes[].write wasn't filled in for some file-systems, and isn't checked when used, which could cause crashes/... if executing save on e.g. fat/ext filesystems. 2) fs_write() requires the length argument to be non-zero, since it needs to know exactly how many bytes to write. Adjust the comments and code according to this. 3) fs_write() wasn't prototyped in <fs.h> like other generic functions; other code should be able to call this directly rather than invoking the "save" shell command. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
* README: document CONFIG_CMD_FS_GENERICStephen Warren2014-02-19-0/+2
| | | | | | | | This enables generic filesystem commands such as load and ls, which automatically work with multiple filesystem types, without having to be told which is present, unlike e.g. ext2load, fatls. Signed-off-by: Stephen Warren <swarren@nvidia.com>
* Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2014-02-17-6851/+17596
|\
| * ARM: bcm2835: fix mbox POWER_STATE_RESP_ON valueStephen Warren2014-02-14-1/+1
| | | | | | | | | | | | Typo: The correct value is 1 not 2. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
| * arm/km: introduce kmsugp1 targetGerlando Falauto2014-02-13-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KMSUGP1 is from a u-boot perspective (almost) identical to KMNUSA. The only difference is that the PCIe reset is connected to Kirkwood pin MPP7_PEX_RST_OUTn, we use a dedicated config flag KM_PCIE_RESET_MPP7. Such pin should theoretically be handled by the PCIe subsystem automatically, but this turned out not to be the case. So simply configure this PIN as a GPIO and issue a pulse manually. Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com> Cc: Karlheinz Jerg <karlheinz.jerg@keymile.com> Cc: Valentin Longchamp <valenting.longchamp@keymile.com> Cc: Holger Brunck <holger.brunck@keymile.com> Acked-by: Valentin Longchamp <valentin.longchamp@keymile.com>
| * arm/km: define fdt_high env variable and allow backwards compatibilityGerlando Falauto2014-02-13-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add set_fdthigh subcommand to "subbootcmds" (release) so to set "fdt_high" This is necessary on Kirkwood so that the FDT does not get relocated above the memory limit that the kernel cannot access (that is the memory part reserved for the switch). This was tested on NUSA1, where it is necessary, and on ETER1, where it doesn't seem to hurt. We want the scripts to also work with older versions of u-boot, where: a) set_fdthigh is not defined (will be default env for newer u-boots) b) the fdt will not be available For this reason, we use "set_fdthigh" to tell whether we are running a newer (FDT-aware) u-boot or not. So if "set_fdthigh" runs successfully or arch != arm we try loading the fdt; otherwise we proceed normally. Notice how, contrary to release mode, set_fdthigh will _not_ be part of subbootcmds for develop and ramfs, but will be executed as part of "tftpfdt". Since this is only needed for kirkwood cards, and it prevents the kernel from booting on QorIQ (though it seemed to work on ETER1), we change its definition in the default env for powerpc so that the value is only set on ARM. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Acked-by: Valentin Longchamp <valentin.longchamp@keymile.com>
| * arm/km: enable FDT for km_kirwkoodGerlando Falauto2014-02-13-14/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This consists of: a) Defining the addresses, enabling fdtsupport [arm] b) Defining "cramfsloadfdt" [arm,powerpc => common] c) Adding the FDT address to bootm [arm,powerpc => common] d) Defining "tftpfdt" in ramfs-,develop- [arm,powerpc >= common] This should work with 3.10 kernels, whether loaded through TFTP (with rootfs either through NFS or TFTP-ramfs) or from the NAND. The machid was left unchanged, this should keep compatibility with both older and newer kernels. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Acked-by: Valentin Longchamp <valentin.longchamp@keymile.com>
| * arm/km: fix wrong error handlingHolger Brunck2014-02-13-5/+5
| | | | | | | | | | | | | | miiphy_read and miiphy_write are returning 0 on success. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Acked-by: Valentin Longchamp <valentin.longchamp@keymile.com>
| * arm/km: add CONFIG_KM_BOARD_EXTRA_ENV to default environmentHolger Brunck2014-02-13-0/+5
| | | | | | | | | | | | | | | | This is needed for board specific additional environment variables. E.g. the mgcoge3un has this additional "waitforne" variable. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Acked-by: Valentin Longchamp <valentin.longchamp@keymile.com>
| * arm/km/suv31: switch to 256MB RAMHolger Brunck2014-02-13-0/+3
| | | | | | | | | | | | | | | | We now use 256MB RAM instead of 128MB. We can use the same config file as kmnusa. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Acked-by: Valentin Longchamp <valentin.longchamp@keymile.com>
| * arm/km: make local function startup_allowed staticHolger Brunck2014-02-13-1/+1
| | | | | | | | | | Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Acked-by: Valentin Longchamp <valentin.longchamp@keymile.com>
| * arm/km: drop unneeded defineHolger Brunck2014-02-13-4/+0
| | | | | | | | | | | | | | | | CONFIG_BOOTCOUNT_LIMIT is used on all boards from this board series. So remove this unneeded define. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> Acked-by: Valentin Longchamp <valentin.longchamp@keymile.com>
| * zynq: Fix elf header generationMichal Simek2014-02-13-0/+101
| | | | | | | | | | | | | | | | | | | | | | | | This patch is here because of: "arm: keep all sections in ELF file" (sha1: 47ed5dd031d7d2c587e6afd386e79ccec1a1b7f7) Our tools expect to have elf with only LOAD header. Without this fix also PHDR, INTERP and DYNAMIC headers are available in ELF. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * zynq: Use full tftpboot command instead of shortcut tftpMichal Simek2014-02-13-1/+1
| | | | | | | | | | | | | | The reason is enabling tftpput command where tftp shorcut stops to work for tftpboot. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * relocate-rela: replace a magic number with sizeof(Elf64_Rela)Masahiro Yamada2014-02-13-1/+1
| | | | | | | | | | | | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Scott Wood <scottwood@freescale.com> Cc: David Feng <fenghua@phytium.com.cn> Acked-by: Scott Wood <scottwood@freescale.com>
| * ARM: bcm2835: config.mk isn't neededStephen Warren2014-02-13-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The entries in config.mk were needed so that U-Boot could be built with an old version of the Raspberry Pi Foundation's toolchain. Without them, the build would error out with: ...-ld: error: .../libgcc.a(_bswapsi2.o) uses VFP register arguments, u-boot does not However, none of the 3 toolchains in the latest version of their tools.git, nor the Ubuntu/Linaro ARM compilers in at least Ubuntu Quantal or Saucy, need these options set in order to compile a working U-Boot. Hence, remove the options for simplicity. Reported-by: Tom Rini <trini@ti.com> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Reviewed-by: Andreas Färber <afaerber@suse.de>
| * ARM: rpi_b: set $fdtfile in default environmentStephen Warren2014-02-13-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | U-Boot names the Raspberry Pi board rpi_b. This means that the common expression for DTB filename ${soc}-${board}.dtb expands to bcm2835-rpi_b.dtb. However, the DTB generated by the Linux kernel is bcm2835-rpi-b.dtb. Set $fdtfile in U-Boot's environment so that scripts look for the correct DTB filename. An alternative would be to rename the U-Boot board to rpi-b. However, that change would be far more invasive, and end up affecting users (i.e they'd have to change their U-Boot build commands). Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
| * Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'Albert ARIBAUD2014-02-13-5458/+11605
| |\
| | * exynos: clock: use the clear and set bits macros.Inha Song2014-02-10-65/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use setbits/clrbits macro instead of readl/writel function. (Suggested by Wolfgang) Signed-off-by: Inha Song <ideal.song@samsung.com> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>