summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* rockchip: arm64: rk3399: syscon addition for rk3399Kever Yang2017-03-162-0/+42
| | | | | | | | | | rk3399 has different syscon registers which may used in spl, add to support rk3399 spl. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Simon Glass <sjg@chromium.org> Added rockchip tag: Signed-off-by: Simon Glass <sjg@chromium.org>
* rockchip: pinctrl: rk3399: add the of-platdata supportKever Yang2017-03-161-1/+4
| | | | | | | | | Do not use the API which of-platdata not support. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Simon Glass <sjg@chromium.org> Added rockchip tag: Signed-off-by: Simon Glass <sjg@chromium.org>
* rockchip: sdhci: rk3399: update driver to support of-platdataKever Yang2017-03-161-1/+16
| | | | | | | | | Change some API in order to enable of-platdata. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Simon Glass <sjg@chromium.org> Added rockchip tag: Signed-off-by: Simon Glass <sjg@chromium.org>
* rockchip: clk: rk3399: update driver for splKever Yang2017-03-165-15/+125
| | | | | | | | | | Add ddr clock setting, add rockchip_get_pmucru API, and enable of-platdata support. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Simon Glass <sjg@chromium.org> Added rockchip tag and fix pmuclk_init() build warning: Signed-off-by: Simon Glass <sjg@chromium.org>
* rockchip: arm64: rk3399: move grf register definitions to grf_rk3399.hKever Yang2017-03-162-106/+118
| | | | | | | | | | rk3399 grf register bit defenitions should locate in header file, so that not only pinctrl can use it. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Simon Glass <sjg@chromium.org> Added rockchip tag: Signed-off-by: Simon Glass <sjg@chromium.org>
* rockchip: rk3288: use spl_early_init() instead of spl_init()Eddie Cai2017-03-161-2/+2
| | | | | | | | | Use spl_early_init() to make sure that early malloc() is initialised. This fixes booting on firefly-rk3288, for example. Signed-off-by: Eddie Cai <eddie.cai.linux@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Eddie Cai <eddie.cai.linux@gmail.com>
* spl: Add spl_early_init()Eddie Cai2017-03-163-14/+57
| | | | | | | | | | | | | | | | | | | | At present malloc_base/_limit/_ptr are not initialised in spl_init() when we call spl_init() in board_init_f(). This is due to a recent change aimed at avoiding overwriting the malloc area set up on some boards by spl_relocate_stack_gd(). However if CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN is not defined, we now skip setting up the memory area in spl_init() which is obviously wrong. To fix this, add a new function spl_early_init() which can be called in board_init_f(). Fixes: b3d2861e (spl: Remove overwrite of relocated malloc limit) Signed-off-by: Eddie Cai <eddie.cai.linux@gmail.com> Rewrote spl_{,early_}init() to avoid duplicate code: Rewrite/expand commit message: Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Eddie Cai <eddie.cai.linux@gmail.com>
* arm64: booti: allow to place kernel image anywhere in physical memoryMasahiro Yamada2017-03-141-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | At first, the ARM64 Linux booting requirement recommended that the kernel image be placed text_offset bytes from 2MB aligned base near the start of usable system RAM because memory below that base address was unusable at that time. This requirement was relaxed by Linux commit a7f8de168ace ("arm64: allow kernel Image to be loaded anywhere in physical memory"). Since then, the bit 3 of the flags field indicates the tolerance of the kernel physical placement. If this bit is set, the 2MB aligned base may be anywhere in physical memory. For details, see Documentation/arm64/booting.txt of Linux. The booti command should be also relaxed. If the bit 3 is set, images->ep is respected, and the image is placed at the nearest bootable location. Otherwise, it is relocated to the start of the system RAM to keep the original behavior. Another wrinkle we need to take care of is the unknown endianness of text_offset for a kernel older than commit a2c1d73b94ed (i.e. v3.16). We can detect this based on the image_size field. If the field is zero, just use a fixed offset 0x80000. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* tools: fix cross-compiling tools when HOSTCC is overriddenMasahiro Yamada2017-03-142-2/+2
| | | | | | | | | | | | | | | | Richard reported U-Boot tools issues in OpenEmbedded/Yocto project. OE needs to be able to change the default compiler. If we pass in HOSTCC through the make command, it overwrites all HOSTCC instances, including ones in tools/Makefile and tools/env/Makefile, which breaks "make cross_tools" and "make env", respectively. Add "override" directives to avoid overriding HOSTCC instances that really need to point to the cross-compiler. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* tiny-printf: add static to locally used functionsMasahiro Yamada2017-03-141-2/+2
| | | | | | | | These two functions are only used in lib/tiny-printf.c . Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Tested-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Stefan Roese <sr@denx.de>
* igep00x0: fixup FDT according to detected flash typeLadislav Michl2017-03-141-0/+19
| | | | | | | | Leave only detected flash type enabled in FTD as otherwise GPMC CS is claimed (and never freed) by Linux, causing 'concurent' flash type not to be probed. Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
* igep00x0: disable environmentLadislav Michl2017-03-141-1/+1
| | | | | | | | | | | | | ISEE's U-Boot and Linux are using 1bit ECC scheme, while we switched to 8bit ECC to fullfill flash specification requirements. However when trying to run U-Boot on board with 1bit ECC'd data on flash, UBI code takes several minutes to pass scan as reading of every block ends with ecc error (which is also printed on console). So, until proper solution is developed, disable environment alltogether. Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
* board: Add STMicroelectronics STiH410-B2260 supportPatrice Chotard2017-03-147-0/+173
| | | | | | | | | | | | | | | | | | | This is a 96Board compliant board based on STiH410 SoC: - 1GB DDR - On-Board USB combo WiFi/Bluetooth RTL8723BU with PCB soldered antenna - Ethernet 1000-BaseT - SATA - HDMI - 2 x USB2.0 type A - 1 x USB2.0 type micro-AB - SD card slot - High speed connector (SD/I2C/USB interfaces) - Low speed connector (UART/I2C/GPIO/SPI/PCM interfaces) Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* STiH410-B2260: Add device treePatrice Chotard2017-03-1415-1/+3967
| | | | | | | | This device tree has been extracted from v4.9 kernel Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* STiH410: Add STi pinctrl driverPatrice Chotard2017-03-143-0/+331
| | | | | | | | Add STMicroelectronics STiH410 pinctrl driver Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* STiH410: Add STi SDHCI driverPatrice Chotard2017-03-145-0/+219
| | | | | | | | | | | | | | | | | | | Add SDHCI host controller found on STMicroelectronics SoCs On some ST SoCs, i.e. STiH407/STiH410, the MMC devices can live inside a dedicated flashSS sub-system that provides an extend subset of registers that can be used to configure the Arasan MMC/SD Host Controller. This means, that the SDHCI Arasan Controller can be configured to be eMMC4.5 or 4.3 spec compliant. W/o these settings the SDHCI will configure and use the MMC/SD controller with limited features e.g. PIO mode, no DMA, no HS etc. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
* gpio: do not include <asm/arch/gpio.h> for ARCH_STIPatrice Chotard2017-03-141-1/+1
| | | | | | | | | | | As no gpio.h is defined in arch/arm/include/asm/arch-stih410, to avoid compilation failure, do not include asm/arch/gpio.h. This is needed for example when including sdhci.h, which include asm/gpio.h>. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* STiH410: Add STi serial driverPatrice Chotard2017-03-144-0/+222
| | | | | | | | | This patch adds support to ASC (asynchronous serial controller) driver, which is basically a standard serial driver. This IP is common across other STMicroelectronics SoCs Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* STiH410: Add STi sysreset driverPatrice Chotard2017-03-142-0/+83
| | | | | Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* STiH410: Add STi timer driverPatrice Chotard2017-03-143-0/+86
| | | | | | | Add ARM global timer based timer Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* arm: Add support for STMicroelectronics STiH410 socPatrice Chotard2017-03-143-0/+21
| | | | | | | | | | | The STiH410 is an advanced multi-HD AVC processor with 3D graphics acceleration and 1.5-GHz ARM Cortex-A9 SMP CPU part of the STiH407 family. It has wide connectivity including USB 3.0, PCI-e, SATA and gigabit ethernet. Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
* armv7m: Add SysTick timer driverPhil Edworthy2017-03-142-0/+118
| | | | | | | | | | | | | The SysTick is a 24-bit down counter that is found on all ARM Cortex M3, M4, M7 devices and is always located at a fixed address. The number of reference clock ticks that correspond to 10ms is normally defined in the SysTick Calibration register's TENMS field. However, on some devices this is wrong, so this driver allows the clock rate to be defined using CONFIG_SYS_HZ_CLOCK. Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Reviewed-by: Vikas MANOCHA <vikas.manocha@st.com>
* tools: omapimage: Fix size in headerLokesh Vutla2017-03-141-1/+1
| | | | | | | | The size field in GP header that is expected by ROM is size of the image + size of the header. But omapimage generates a gp header only with size of the image as size field. Fix it Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
* arm: omap3: Bring back ARM errata workaround 725233Siarhei Siamashka2017-03-144-0/+28
| | | | | | | | | | | | | | The workaround for ARM errata 725233 had been lost since commit 45bf05854bc94e (armv7: adapt omap3 to the new cache maintenance framework). Bring it back in order to avoid very difficult to reproduce, but actually encountered in the wild CPU deadlocks when running software rendered X11 desktop on OMAP3530 hardware. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com> [trini: Migrate to Kconfig] Signed-off-by: Tom Rini <trini@konsulko.com>
* arm: omap3: Compile clock.c with -marm option to unbreak OMAP3530Siarhei Siamashka2017-03-141-0/+3
| | | | | | | | | | | | | | | | | Boards with OMAP3530 SoC fail to boot since commit bd2c4522c26d5 ("ti: armv7: enable EXT support in SPL (using ti_armv7_common.h)") because it enabled the use of Thumb2 for the SPL. Experiments have shown that the deadlock happens in the prcm_init() function from 'arch/arm/mach-omap2/omap3/clock.c'. This patch enforces the compilation of clock.c source file in ARM mode and makes the deadlock disappear. We are yet to figure out the root cause of the problem. Still this is somewhat better than having non-bootable boards for years. Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* omap3_overo: Reduce SPL sizeTom Rini2017-03-141-0/+4
| | | | | | | Borrowing from omap3_logic, switch to SPL_SYS_MALLOC_SIMPLE and moving the stack to DDR as soon as we're able. Signed-off-by: Tom Rini <trini@konsulko.com>
* ARM: dts: uniphier: more re-sync DT with LinuxMasahiro Yamada2017-03-148-19/+22
| | | | | | For better maintainability. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: dts: uniphier: fix no unit name warningsMasahiro Yamada2017-03-1416-29/+30
| | | | | | | Fix warnings reported when built with W=1, by DTC 1.4.2 or later: Node /memory has a reg or ranges property, but no unit name Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: dts: uniphier: remove skeleton.dtsi inclusionMasahiro Yamada2017-03-1416-63/+63
| | | | | | | | | Linux Commit 9c0da3cc61f1 ("ARM: dts: explicitly mark skeleton.dtsi as deprecated") declared that skeleton.dtsi was deprecated. Move the memory node below to suppress warnings of FDTGREP. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: uniphier: set DRAM_SPARSE flag for LD21 boardsMasahiro Yamada2017-03-141-1/+1
| | | | | | | | | | | Commit 04cd4e7215d3 ("ARM: uniphier: remove DRAM base address from board parameters") accidentally unset the DRAM_SPARSE flag, and changed the physical map of the DRAM channels. Revive the original behavior. Fixes: 04cd4e7215d3 ("ARM: uniphier: remove DRAM base address from board parameters") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reported-by: Shunji Sato <sato.shunji@socionext.com>
* Prepare v2017.03Tom Rini2017-03-131-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* scripts/config_whitelist.txt: RegenerateTom Rini2017-03-131-64/+0
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* configs: Re-syncTom Rini2017-03-13709-1189/+1154
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* arm: omap-common: Fix typo in CONFIG_OMAP54XX guardMatthijs van Duin2017-03-111-1/+1
| | | | | | | | Some initialization was unintentionally being skipped on omap5. Fixes: f5af0827f276 ("arm: omap-common: Guard some parts of the code with CONFIG_OMAP44XX/OMAP54XX") Signed-off-by: Matthijs van Duin <matthijsvanduin@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* tools: binman: change shebang from python into python2Jörg Krause2017-03-111-1/+1
| | | | | | | This tool does not work with Python 3. Change the shebang to make sure the script is run by a Python 2 interpreter. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
* arm: OMAP2+: nandecc: propagate error to command return statusLadislav Michl2017-03-113-20/+16
| | | | | | | | | Currently nandecc returns zero even if underlaying omap_nand_switch_ecc function fails. Fix that by propagating error returned to command return value. Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Merge branch 'pmic' of git://git.denx.de/u-boot-mmcTom Rini2017-03-091-1/+1
|\
| * sunxi: power: axp809.c: Fix aldo1-2 being disabled for mvolt != 0Rask Ingemann Lambertsen2017-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The execution flow is currently like this for aldo_num == 1 or 2: int axp_set_aldo(int aldo_num, unsigned int mvolt) { ... if (mvolt == 0) return pmic_bus_clrbits(AXP809_OUTPUT_CTRL1, AXP809_OUTPUT_CTRL1_ALDO1_EN << (aldo_num - 1)); ... return pmic_bus_clrbits(AXP809_OUTPUT_CTRL1, AXP809_OUTPUT_CTRL1_ALDO1_EN << (aldo_num - 1)); } I.e. aldo1 and aldo2 will always be disabled. This patch fixes it by setting (rather than clearing) the enable bit when mvolt != 0. Signed-off-by: Rask Ingemann Lambertsen <rask@formelder.dk> Fixes: 795857df413a ("sunxi: power: add AXP809 support")
* | ARM: Migrate errata to KconfigTom Rini2017-03-0925-122/+85
| | | | | | | | | | | | | | | | | | This moves all of the current ARM errata from various header files and in to Kconfig. This allows for a minor amount of cleanup as we had some instances where both a general common header file was enabling errata as well as the board config. We now just select these once at the higher level in Kconfig Signed-off-by: Tom Rini <trini@konsulko.com>
* | omap4: Migrate to using implyTom Rini2017-03-092-36/+12
| | | | | | | | | | | | | | Move the default y options under arch/arm/mach-omap2/omap4/Kconfig to be using imply instead in arch/arm/Kconfig Signed-off-by: Tom Rini <trini@konsulko.com>
* | omap3: Migrate to using implyTom Rini2017-03-092-33/+11
| | | | | | | | | | | | | | Move the default y options under arch/arm/mach-omap2/omap3/Kconfig to be using imply instead in arch/arm/Kconfig Signed-off-by: Tom Rini <trini@konsulko.com>
* | TI: Migrate board/ti/common/Kconfig to implyTom Rini2017-03-094-82/+39
| | | | | | | | | | | | | | The option that we had set in board/ti/common/Kconfig as default y are best done with imply under the appropriate main Kconfig option instead. Signed-off-by: Tom Rini <trini@konsulko.com>
* | am335x_evm: Switch to using imply keywordTom Rini2017-03-092-9/+3
| | | | | | | | | | | | | | | | These particular SPL options are part of what the ROM provides, but for compatibility with how we have previously used them, move them to being implied by the board being selected. Signed-off-by: Tom Rini <trini@konsulko.com>
* | kconfiglib.py: Kludge in 'imply' supportTom Rini2017-03-091-5/+6
| | | | | | | | | | | | | | | | | | Currently upstream does not yet understand the imply keyword. For what we use kconfiglib.py for today, this is OK. We only need to be able to evaluate in order to make boards.cfg and none of those choices will depend on how imply evaluates out. Signed-off-by: Tom Rini <trini@konsulko.com>
* | do_smhload: fix return codeRyan Harkin2017-03-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | do_smhload was using a ulong to store the return value from smh_load_file. That returns an int, where -1 indicates an error. As a ulong will never be negative, smh_load_file errors were not detected and so_smhload always returned zero. Also, when errors were spotted, do_smhload was returning 1, rather than the enumeration CMD_RET_FAILURE (which is also 1). Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
* | Freescale/NXP: Migrate CONFIG_FSL_CAAM to defconfigsTom Rini2017-03-09237-41/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases this is absolutely required, so select this for some secure features. This also requires migration of RSA_FREESCALE_EXP Cc: Ruchika Gupta <ruchika.gupta@nxp.com> Cc: Poonam Aggrwal <poonam.aggrwal@freescale.com> Cc: Naveen Burmi <NaveenBurmi@freescale.com> Cc: Po Liu <po.liu@freescale.com> Cc: Shengzhou Liu <Shengzhou.Liu@freescale.com> Cc: Priyanka Jain <Priyanka.Jain@freescale.com> Cc: Sumit Garg <sumit.garg@nxp.com> Cc: Shaohui Xie <Shaohui.Xie@freescale.com> Cc: Chunhe Lan <Chunhe.Lan@freescale.com> Cc: Feng Li <feng.li_2@nxp.com> Cc: Alison Wang <alison.wang@freescale.com> Cc: Mingkai Hu <Mingkai.Hu@freescale.com> Cc: York Sun <york.sun@nxp.com> Cc: Saksham Jain <saksham.jain@nxp.freescale.com> Cc: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com> Signed-off-by: Tom Rini <trini@konsulko.com>
* | tools: Remove CONFIG_SYS_TEXT_BASE in MakefilePatrick Delaunay2017-03-091-1/+0
| | | | | | | | | | | | | | | | | | This define is not used in tools sources and can be removed to avoid unnecessary link between tools and defconfig Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | kbuild: turn of dtc unit address warnings by defaultMasahiro Yamada2017-03-093-1/+12
|/ | | | | | | | | | | | | | DTC 1.4.2 or later checks DT unit-address without reg property and vice-versa, and generates lots of warnings. Fixing DT files will take for a while. Until then, let's turn off the check unless building with W=*. Introduce a new helper dtc-option to check if the option is supported in order to suppress warnings on older versions. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Bin Meng <bmeng.cn@gmail.com>
* Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini2017-03-081-5/+5
|\
| * video: cfb_console: fix 32-bit display on 64-bit architecturesAndre Przywara2017-03-071-5/+5
| | | | | | | | | | | | | | | | | | | | | | "unsigned long" is a lousy data type when it comes to match peripheral hardware registers with a fixed size. Just do the obvious and match a 32-bit display format with an "u32" data type for casting. This fixes the logo display on 64-bit architectures, which produced a black line on the right side of the logo with non-black backgrounds. Signed-off-by: Andre Przywara <andre.przywara@arm.com>