summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-10-02ARM: tegra: don't enable GPIOs until direction is setStephen Warren
Tegra's GPIO driver currently enables pins as GPIO as soon as they're requested. This is not safe, since the desired direction and output value are not yet known. This could cause a glitch on the output pins between gpio_request() and gpio_direction_*(), depending on what values happen to be in the GPIO controller's in/out and out-value registers vs. the final desired configuration. To solve this, defer enabling pins as GPIOs until some gpio_direction_*() is invoked, and the desired configuration is explicitly programmed. In theory this change could cause regressions, if code exists that claims a GPIO, never explicitly sets a direction, and then gets/sets the GPIO value based on that assumption. However, I've read through all the Tegra- related board files and device drivers that touch GPIOs and I do not see such buggy code anywhere. Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-10-02ARM: tegra: fix GPIO init table programmingStephen Warren
Tegra's gpio_config_table() currently uses common GPIO APIs. These used to work without requesting the GPIO, but since commit 2fccd2d96bad "tegra: Convert tegra GPIO driver to use driver model" no longer do so. This prevents any of the GPIO initialization table from being applied to HW. Fix gpio_config_table() to directly program the HW to solve this. Fixes: 2fccd2d96bad ("tegra: Convert tegra GPIO driver to use driver model") Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-10-02ARM: tegra: p2371-2180: import latest pinmuxStephen Warren
In order to avoid any assumptions about any device connected to P2371-2180's expansion connector, the latest pinmux spreadsheet configures all muxable pins on that connector to be GPIO inputs, with on-chip pulls where appropriate. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-09-28Prepare v2015.10-rc4Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2015-09-28mmc: dw_mmc: Increase timeout to 4 minutes (as in Linux kernel)Łukasz Majewski
The commit: d9dbb97be0e4a550457aec5f11afefb446169c90 "mmc: dw_mmc: Zap endless timeout" removed endless loop waiting for end of dw mmc transfer. For some workloads - dfu test @ Odroid XU3 (sending 8MiB file) - and SD cards (e.g. MicroSD Kingston 4GiB, Adata 4GiB) the default timeout is to short. The new value - 4 minutes (240 seconds) - is the same as the one used in Linux kernel driver. Such fix should be good enough until we come up with better fix for this issue. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Cc: Marek Vasut <marex@denx.de> Cc: Pantelis Antoniou <panto@antoniou-consulting.com> Cc: Tom Rini <trini@konsulko.com> Tested-by: Przemyslaw Marczak <p.marczak@samsung.com>
2015-09-28tools: moveconfig: Update the URL for nds32 toolchainBin Meng
Give a full URL for a working nds32 toolchain for U-Boot. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-28tools: gen_eth_addr: add getpid() to time(0) to avoid duplicated seedJosh Wu
As 'time(0) | getpid()' will have a lot of duplicated value. It is not a expected behavior. We expect different value for the seed when when run it in many times. So this patch will left shift the getpid() and add to time(0). That avoid duplicated value. Test command is like: % RUN=0; while [ $RUN -lt 10000 ]; do tools/gen_eth_addr; RUN=$(($RUN+1)); done | sort | uniq | wc -l 10000 This patch is incorporated with suggestions made by Wolfgang Denk and Andreas Bießmann. Thanks them a lot. Signed-off-by: Josh Wu <josh.wu@atmel.com> Acked-by: Andreas Bießmann <andreas.devel@googlemail.com> Acked-by: Wolfgang Denk <wd@denx.de> Tested-by: Wolfgang Denk <wd@denx.de>
2015-09-28arm: Drop old non-generic-board codeSimon Glass
This code is no-longer used. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Andreas Bießmann <andreas.devel@gmail.com>
2015-09-28arm: Remove wireless_space boardSimon Glass
This board has not been converted to generic board by the deadline. Remove it. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-09-28arm: Remove da830evm boardSimon Glass
This board has not been converted to generic board by the deadline. Remove it. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-09-28ARM: hikey: Adjust SDRAM_1_SIZE to 0x3EFFFFFFPeter Griffin
DRAM region 0x3f000000 - 0x3fffffff is reserved for OP-TEE. Touching 0x3f000000 memory location from unsecure world causes the board to hang. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-09-28ARM: hikey: hi6220: Migrate over to DM_SERIAL and use UART3 by default.Peter Griffin
Use DM for the pl01x serial driver on hikey. Also allow UART0 or UART3 to be chosen via Kconfig. By default we now output to UART3 as the latest version of ATF outputs to this UART. Also UART3 comes out on the LS connector, as opposed to UART0 which goes to a unpopulated header. As part of this change we also enable CONFIG_BOARD_EARLY_INIT_F and call the pinmux configuration code for the UART. Before we were relying on ATF having already configured the pin configuration. NB: Upstream Linux kernel doesn't yet support UART3, so serial console will still be output on UART0 when booting a upstream kernel. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-09-28ARM: hikey: Select DM, DM_GPIO from KconfigPeter Griffin
Most platforms enable these options from Kconfig rather than the configs header file. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-09-28ARM: hikey: Remove resetting gd->flags in board_init()Peter Griffin
This causes exceptions and other strange behaviour when enabling CONFIG_SYS_MALLOC_F_LEN which is required to migrate the serial driver over to DM_SERIAL. As GD_FLG_FULL_MALLOC_INIT flag gets reset, after relocation we don't end up using the full malloc which ultimately ends up causing a synchronus abort. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-09-28ARM: hi6220: Add UART0 and UART3 base addressesPeter Griffin
Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-09-28ARM: hikey: Use linux/sizes.h for malloc sizePeter Griffin
Use the #defines in linux/sizes for malloc size as it is more readable. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-09-28ARM: hikey: Add ATF makefile referenced by READMEPeter Griffin
Rather than relying on an external URL in the README include the Makefile in the hikey directory. Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
2015-09-28ARM: hikey: Update README with various correctionsPeter Griffin
The README had a few mistakes, and one of the URL's had changed. Also update the boot log with the latest boot trace from ATF, which now includes the mcuimage.bin. Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
2015-09-28malloc_simple: fix malloc_ptr calculationPhilipp Rosenberger
The gd->malloc_ptr and the gd->malloc_limit are offsets to gd->malloc_base. But the addr variable contains the absolute address. The new_ptr must be: addr + bytes - gd->malloc_base. Signed-off-by: Philipp Rosenberger <ilu@linutronix.de> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-09-28am437x_evm: increase phy autoneg timeoutSekhar Nori
When AM437x EVM is connected to Gigabit switch, it takes more time to finish auto-negotiation than on a 10/100 switch. The default 4 second limit times-out more often than not. This is observed when testing with a D-Link DGS-1008A desktop switch. Increase the auto-negotiation time-out for AM437x EVM to handle this case. Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2015-09-28Kconfig: fix typo in CONFIG_FIT descriptionIgor Grinberg
Fix typo in CONFIG_FIT description - remove the accidentially added redundand 'the'. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-09-28configs: remove remnants of CONFIG_SYS_NAND_QUIET_TESTIgor Grinberg
The config option has been removed by one of the syncs with the Linux mainline MTD subsystem: ff94bc40af (mtd, ubi, ubifs: resync with Linux-3.14) It has been left inside the config files. Currently does not look to serve any purpose, so remove it now from all the configs. Signed-off-by: Igor Grinberg <grinberg@compulab.co.il> Cc: Matthias Fuchs <matthias.fuchs@esd-electronics.com> Cc: Stefan Roese <sr@denx.de> Cc: "Albert ARIBAUD (3ADEV)" <albert.aribaud@3adev.fr> Cc: Peter Barada <peter.barada@logicpd.com> Cc: Steve Sakoman <sakoman@gmail.com> Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Simon Glass <sjg@chromium.org> Acked-by: Stefan Roese <sr@denx.de>
2015-09-28Reorder defconfigs with 'savedefconfig'Bin Meng
Some boards' defconfigs are disordered. Reorder them. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2015-09-24Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini
2015-09-24Merge git://git.denx.de/u-boot-socfpgaTom Rini
2015-09-24Merge branch 'master' of git://git.denx.de/u-boot-uniphierTom Rini
2015-09-25ARM: dts: uniphier: use SPDX-License-IdentifierMasahiro Yamada
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: fix init page table for ProXstream2/PH1-LD6b USB bootMasahiro Yamada
Currently, the USB boot mode is supported by an external loader and U-boot proper image is put on the section 0. This commit allows access there. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: add ProXstream2 and PH1-LD6b supportMasahiro Yamada
The DDR SDRAM initialization code has not been mainlined yet, but U-Boot proper should work. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: add PH1-Pro5 supportMasahiro Yamada
The DDR SDRAM initialization code has not been mainlined yet, but U-Boot proper should work. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: allow to enable multiple SoCsMasahiro Yamada
Before this commit, the Kconfig menu in mach-uniphier only allowed us to choose one SoC to be compiled. Each SoC has its own defconfig file for the build-test coverage. Consequently, some defconfig files are duplicated with only the difference in CONFIG_DEFAULT_DEVICE_TREE and CONFIG_{SOC_NAME}=y. Now, most of board-specific parameters have been moved to device trees, so it makes sense to include init code of multiple SoCs into a single image as long as the SoCs have similar architecture. In fact, some SoCs of UniPhier family are very similar: - PH1-LD4 and PH1-sLD8 - PH1-LD6b and ProXstream2 (will be added in the upcoming commit) This commit will be helpful to merge some defconfig files for better maintainability. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: remove kernel parameter settings from environmentMasahiro Yamada
Currently, console=ttyS0 is hard-coded in CONFIG_EXTRA_ENV_SETTINGS and it replaces the bootargs in the chosen node of the device tree passed to the kernel. This is not preferable because I am going to add some boards whose console is not ttyS0. Drop bootargs settings from U-Boot's environment and use the one in device tree by default. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: unify low-level debug init codeMasahiro Yamada
Move init code of low-level debug into a single file. This is helpful to create an image that runs on multiple SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: fix glitch signal problem for low-level debugMasahiro Yamada
Currently, IECTRL is enabled after pin-mux settings for the low-level debugging for PH1-LD4 and PH1-sLD8. While IECTRL is disabled, input signals are pulled-down, i.e. glitch signal (Low to High transition) problem occurs if pin-mux is set up first. As a result, one invalid character is input to the UART block and the auto-boot counting is terminated immediately. The correct initialization procedure is: [1] Enable IECTRL (if IECTRL exists for the pins) [2] Set up pin-muxing [3] Deassert the reset of the hardware block Currently, the low-level debugging is working for PH1-sLD3 and PH1-Pro4, but just in case, follow the sequence for all the SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: delete unneeded input enable for low-level debugMasahiro Yamada
The UART I/O ports for PH1-Pro4 has no input enable controlling. This code is useless. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: rename CONFIG_MACH_* to CONFIG_ARCH_UNIPHIER_*Masahiro Yamada
I want these prefixed with CONFIG_ARCH_UNIPHIER_ to clarify they belong to UniPhier SoC family. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: allow to disable CONFIG_MICRO_SUPPORT_CARDMasahiro Yamada
Without this, build fails if CONFIG_MICRO_SUPPORT_CARD is disabled. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: move CONFIG_SUPPORT_CARD_* macros to local fileMasahiro Yamada
It is no longer necessary to define CONFIG_SUPPORT_CARD_* globally. Move them to a C file as local macros. Also, rename the C file. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: refactor LED functionMasahiro Yamada
The macro, led_write(), is now only used in C sources. There is no more reason to keep the tricky assembly macro. Replace it with a new C function led_puts(). Also, rename board.h to micro-support-card.h. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: remove useless wrapper functionsMasahiro Yamada
The wrapper functions, uniphier_board_*, are just making function calls complex. Remove them. Also, use empty inline functions in case CONFIG_MICRO_SUPPORT_CARD is disabled, so that prototype checking works. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: remove unused header fileMasahiro Yamada
This has been unused since commit f4e190e317b8 ("ARM: uniphier: enable SPL_OF_CONTROL"). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: parse device tree to determine DRAM base and sizeMasahiro Yamada
Device tree specifies the available memory ranges in its "/memory" node. Use it to simplify the CONFIG defines. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: remove ifdef CONFIG_{SOC} conditionals from sg-regs.hMasahiro Yamada
To achieve the complete run-time configuration by device trees, ifdef conditionals in header files are not preferable. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: change the external bus address mappingMasahiro Yamada
In UniPhier SoCs before ProXstream2 and PH1-LD6b, two address spaces 0x00000000 - 0x0fffffff 0x40000000 - 0x4fffffff are both mapped to the external bus (also called system bus), so either was OK. In the newest two SoCs, the former (0x00000000 - 0x0fffffff) is assigned for the serial NOR interface. Going forward, use the latter for the external bus. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-09-25ARM: uniphier: enable setexpr commandMasahiro Yamada
This command will be used in the next commit to calculate base-offseted addresses. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: drop DCC micro support card supportMasahiro Yamada
Historically (for compatibility with very old platforms), two different types of micro support cards have been used with the UniPhier SoC development boards. It has been painful to maintain both. Having one of them is enough. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-09-25ARM: uniphier: drop ad-hoc input enable settingsMasahiro Yamada
These input enable settings are handled by the pinctrl drivers. Because the external bus pins are input-enabled by default, on-board devices such as LED still work fine even with this delayed input enabling. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: uniphier: drop ad-hoc early pin-muxing settingsMasahiro Yamada
As the UniPhier serial driver had already switched to Drive Model and the pinctrl drivers are now enabled, these pin-muxing settings are properly handled by the pinctrl drivers. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-09-25ARM: uniphier: enable PINCTRL and SPL_PINCTRLMasahiro Yamada
Now, UniPhier SoCs are ready to enable pinctrl drivers. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2015-09-25ARM: dts: uniphier: prepare device trees to use pinctrl in SPLMasahiro Yamada
Add "u-boot,dm-pre-reloc" for device nodes we want in SPL DTB (spl/u-boot-spl.dtb). The "soc" node (this is simple-bus node) also needs the property to bind the pinctrl node located under it. I am collecting this U-Boot specific hack to the bottom of board DTS rather than inserting "u-boot,dm-pre-reloc" into SoC DTSI. My goal is to sync DTSI with Linux for easier maintenance. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>