summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2015-08-18linux/kconfig.h: add CPP macros useful for per-image config optionsMasahiro Yamada
The previous commit introduced a useful macro used in makefiles, in order to reference to different variables (CONFIG_... or CONFIG_SPL_...) depending on the build context. Per-image config option control is a PITA in C sources, too. Here are some macros useful in C/CPP expressions. CONFIG_IS_ENABLED(FOO) can be used as a shorthand for (!defined(CONFIG_SPL_BUILD) && defined(CONFIG_FOO)) || \ (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_FOO)) For example, it is useful to describe C code as follows, #if CONFIG_IS_ENABLED(OF_CONTROL) (device tree code) #else (board file code) #endif The ifdef conditional above is switched by CONFIG_OF_CONTROL during the U-Boot proper building (CONFIG_SPL_BUILD is not defined), and by CONFIG_SPL_OF_CONTROL during SPL building (CONFIG_SPL_BUILD is defined). The macro can be used in C context as well, so you can also write the equivalent code as follows: if (CONFIG_IS_ENABLED(OF_CONTROL)) { (device tree code) } else { (board file code) } Another useful macro is CONFIG_VALUE(). CONFIG_VALUE(FOO) is expanded into CONFIG_FOO if CONFIG_SPL_BUILD is undefined, and into CONFIG_SPL_FOO if CONFIG_SPL_BUILD is defined. You can write as follows: text_base = CONFIG_VALUE(TEXT_BASE); instead of: #ifdef CONFIG_SPL_BUILD text_base = CONFIG_SPL_TEXT_BASE; #else text_base = CONFIG_TEXT_BASE; #endif This commit also adds slight hacking on fixdep so that it can output a correct list of fixed dependencies. If the fixdep finds CONFIG_IS_ENABLED(FOO) in a source file, we want $(wildcard include/config/foo.h) in the U-boot proper building context, while we want $(wildcard include/config/spl/foo.h) in the SPL build context. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-08-18lpc32xx: move common SLC NAND defines to arch/config.hVladimir Zapolskiy
A number of LPC32xx SLC NAND defines is dictated by controller hardware limits and OOB layout is defined by operating system, the definitions are common for all users. Since those macro are used in out of NAND SLC driver code (simple NAND SPL framework), they can not be placed into the driver, therefore move them from board config files to arch/config.h The change also adds OOB layout details specific to small page NAND devices taken from Linux kernel. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> Tested-by: Sylvain Lemieux <slemieux@tycoint.com>
2015-08-18Merge branch 'master' of git://git.denx.de/u-boot-spiTom Rini
2015-08-17Merge git://git.denx.de/u-boot-marvellTom Rini
2015-08-17Revert "Align global_data to a 16-byte boundary"Simon Glass
This causes widespread breakage due to the operation of the low-level code in crt0.S and cro0_64.S for ARM at least. The fix is not complicated but it seems safer to revert this for now. This reverts commit 2afddae07523f23f77acd066ad1719f53d289f98. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-08-17ARM: dra7xx_evm: Enable EDMA3 in SPL to support DMA on qspiVignesh R
Enable TI_EDMA3 and SPL_DMA support, so as to reduce boot time. With DMA enabled there is almost 3x improvement in read performance. This helps in reducing boot time in qspiboot mode Also add EDMA3 base address for DRA7XX and AM57XX. Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
2015-08-17sf: ops: Add spi_flash_copy_mmap functionTom Rini
When doing a memory mapped copy we may have DMA available and thus need to have this copy abstracted so that the driver can do it, rather than a simple memcpy. Signed-off-by: Tom Rini <trini@ti.com> Signed-off-by: Vignesh R <vigneshr@ti.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
2015-08-17arm: mvebu: db-88f6820-gp: Enable PCI supportStefan Roese
This patch enabled the MVEBU PCIe support on the db-88f6820-gp A38x eval board. It also enabled the Intel E1000 driver support and adds the initialization of PCIe network controllers to the board code. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Anton Schubert <anton.schubert@gmx.de> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Dirk Eibach <eibach@gdsys.de>
2015-08-17arm: mvebu: db-mv784mp-gp: Enable PCI supportStefan Roese
This patch enabled the MVEBU PCIe support on the db-mv784mp-gp AXP eval board. It also enabled the Intel E1000 driver support and adds the initialization of PCIe network controllers to the board code. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Anton Schubert <anton.schubert@gmx.de> Cc: Luka Perkov <luka.perkov@sartura.hr>
2015-08-17arm: mvebu: Move CONFIG_SYS_TEXT_BASE to an address < 16 MiBStefan Roese
This patch moves CONFIG_SYS_TEXT_BASE to 0x00800000 for all Armada XP / 38x boards in mainline U-Boot. This is done in preparation for the ECC SDRAM scrubbing that needs to be done in the main U-Boot. The SPL (previously bin_hdr) has already scrubbed the area: 0x0000.0000 - 0x0100.0000 In this area this main U-Boot needs to get loaded. The main U-Boot then can scrub the remaining SDRAM area while running from this location. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Luka Perkov <luka.perkov@sartura.hr>
2015-08-17arm: mvebu: add multiple usb-hostcontroller support for AXPAnton Schubert
This patch adds support for multiple hostcontrollers to the ehci-marvell driver and enables all 3 usb-hcs on the db-mv784mp-gp board. It depends on the initial Armada XP usb support patch from Stefan. Signed-off-by: Anton Schubert <anton.schubert@gmx.de> Reviewed-by: Stefan Roese <sr@denx.de> Cc: Luka Perkov <luka.perkov@sartura.hr>
2015-08-17arm: mvebu: db-mv785mp-gp: Add USB/EHCI supportStefan Roese
This patch enabled the USB/EHCI support for the Marvell DB-MV784MP-GP Armada XP eval board. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Anton Schubert <anton.schubert@gmx.de> Cc: Marek Vasut <marex@denx.de> Cc: Luka Perkov <luka.perkov@sartura.hr>
2015-08-17arm: mvebu: db-mv784mp-gp.h: Fix image creation - use correct offsetStefan Roese
Signed-off-by: Stefan Roese <sr@denx.de>
2015-08-14Delete an accidentally added .rej fileTom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2015-08-14Merge git://git.denx.de/u-boot-x86Tom Rini
2015-08-14Merge branch 'master' of git://git.denx.de/u-boot-pmicTom Rini
2015-08-14powerpc: ipek01: convert to generic boardAnatolij Gustschin
Also update maintainer info. Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Wolfgang Denk <wd@denx.de>
2015-08-14powerpc: inka4x0: convert to generic boardAnatolij Gustschin
Also update maintainer info. Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Wolfgang Denk <wd@denx.de>
2015-08-14powerpc: socrates: convert to generic boardAnatolij Gustschin
Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: York Sun <yorksun@freescale.com>
2015-08-14powerpc: v38b: convert to generic boardAnatolij Gustschin
Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Wolfgang Denk <wd@denx.de>
2015-08-14powerpc: pcm030: convert to generic boardAnatolij Gustschin
Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Wolfgang Denk <wd@denx.de>
2015-08-14powerpc: munices: convert to generic boardAnatolij Gustschin
Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Wolfgang Denk <wd@denx.de>
2015-08-14powerpc: motionpro: convert to generic boardAnatolij Gustschin
Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Wolfgang Denk <wd@denx.de>
2015-08-14powerpc: jupiter: convert to generic boardAnatolij Gustschin
Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Wolfgang Denk <wd@denx.de>
2015-08-14powerpc: canmb: convert to generic boardAnatolij Gustschin
Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Wolfgang Denk <wd@denx.de>
2015-08-14ARM: OMAP5+: configs: Fix default boot commandLokesh Vutla
The default boot command searches for dofastboot varaiable and does a fastboot if it is set to 1. But the condition "if test ${dofastboot} -eq 1" always returns true if dofastboot is not defined and breaking mmc boot. So make dofastboot as 0 by default and let the runtime environment set it if fastboot is required. Reported-by: Yan Liu <yan-liu@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2015-08-14x86: minnowmax: Define and enable interrupt setupSimon Glass
Set up interrupts correctly so that Linux can use all devices. Use savedefconfig to regenerate the defconfig file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2015-08-14Allow arch-specific setting of global_data in board_init_f_mem()Simon Glass
At present we have a simple assignment to gd. With some archs this is implemented as a register or through some other means; a simple assignment does not suit in all cases. Change this to a function and add documentation to describe how this all works. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: York Sun <yorksun@freescale.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2015-08-14Align global_data to a 16-byte boundarySimon Glass
Some archs like to have larger alignment for their global data. Use 16 bytes which suits all current archs. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2015-08-14Add missing part of: "power: pmic: pfuze100 support driver model"Peng Fan
This part of mentioned commit, was missed by my mistake during the rebase. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Original commit message: power: pmic: pfuze100 support driver model 1. Support driver model for pfuze100. 2. Introduce a new Kconfig entry DM_PMIC_PFUZE100 for pfuze100 3. This driver intends to support PF100, PF200 and PF3000, so add the device id into the udevice_id array. 4. Rename PMIC_NUM_OF_REGS macro to PFUZE100_NUM_OF_REGS. Change-Id: I4fc88414f3c0285f9648e47ec7aed60addeccc4d Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Cc: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2015-08-14dm: pci: Add a way to iterate through all PCI devicesSimon Glass
These functions allow iteration through all PCI devices including bridges. The children of each PCI bus are returned in turn. This can be useful for configuring, checking or enumerating all the devices. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2015-08-14dm: pci: Provide friendly config access functionsSimon Glass
At present there are no PCI functions which allow access to PCI configuration using a struct udevice. This is a sad situation for driver model as it makes use of PCI harder. Add these functions. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2015-08-14x86: baytrail: Configure FSP UPD from device treeAndrew Bradford
Allow for configuration of FSP UPD from the device tree which will override any settings which the FSP was built with itself. Modify the MinnowMax and BayleyBay boards to transfer sensible UPD settings from the Intel FSPv4 Gold release to the respective dts files, with the condition that the memory-down parameters for MinnowMax are also used. Signed-off-by: Andrew Bradford <andrew.bradford@kodakalaris.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Removed fsp,mrc-debug-msg and fsp,enable-xhci for minnowmax, bayleybay Fixed lines >80col Signed-off-by: Simon Glass <sjg@chromium.org>
2015-08-14x86: baytrail: Add all IDE/SATA PCI device IDsBin Meng
The BayTrail SoC has 4 different PCI devices IDs regarding to IDE and AHCI. Add these IDs in pci_ids.h and also add the other SATA ID in the Bayley Bay and MinnowMax board configuration header. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2015-08-14common: Display >=4GiB memory bank sizeBin Meng
bd->bi_dram[] has both start address and size defined as 32-bit, which is not the case on some platforms where >=4GiB memory bank is used. Change them to support such memory banks. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2015-08-14sunxi: Display: Add support for eDP panels connected via an anx9804 bridgeHans de Goede
Add support for 4 1.62G lane eDP panels connected via an anx9804 bridge, such as found on the Colombus devkit. While at it also fix the wrong indentation of the SSD2828 Kconfig help text in board/sunxi/Kconfig. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2015-08-14sunxi: display: Add overscan correctionHans de Goede
Add support for making the visual area of the framebuffer smaller and drawing a black border around it. This is intended for use with overscanning monitors (esp. with composite video out), to avoid part of the picture being invisible. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk> Acked-by: Anatolij Gustschin <agust@denx.de>
2015-08-13ARM: tegra: represent RAM in 1 or 2 banksStephen Warren
Represent all available RAM in either one or two banks. The first bank describes any RAM below 4GB. The second bank describes any RAM above 4GB. This split is driven by the following requirements: - The NVIDIA L4T kernel requires separate entries in the DT /memory/reg property for memory below and above the 4GB boundary. The layout of that DT property is directly driven by the entries in the U-Boot bank array. - On systems with RAM beyond a physical address of 4GB, the potential existence of a carve-out at the end of RAM below 4GB can only be represented using multiple banks, since usable RAM is not contiguous. While making this change, add a lot more comments re: how and why RAM is represented in banks, and implement a few more "semantic" functions that define (and perhaps later detect at run-time) the size of any carve-out. Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-08-13ARM: tegra: move kernel_addr_r on T210Stephen Warren
The new value is the most likely value where the kernel wants to end up at run-time. Selecting this value as the load address likely avoids the need to copy the kernel image from the actual load address to the desired load address. Note that this isn't guaranteed since the kernel may wish to run at an arbitrary location. In that case, U-Boot will still relocate the image according to its wishes; this change is a performance optimization, not a hard-coding of the final image location. Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-08-13apalis/colibri_t20/30: clean-upMarcel Ziswiler
Various clean-ups either in comments, order or spacing without any functional impact: - Add some comments in the device trees resp. reorder some parameters for consistency across all our modules. - Sort some include files alphabetically (while leaving common.h on top of course). - Streamline some comments in the configuration files and fix the spacing from using spaces to tabs. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-08-13apalis/colibri_t20/t30: increase tftp blocksizeMax Krummenacher
Enable CONFIG_IP_DEFRAG and set CONFIG_TFTP_BLOCKSIZE to 16384. This increases the tftp download speed considerably. While at it enable CONFIG_TFTP_TSIZE which limits the progress bar to fifty '#' independent of the downloaded file size. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-08-13colibri_t20: enable ubi/ubifs supportMarcel Ziswiler
Now as all is in place actually enable UBI/UBIFS support to be able to boot the Linux kernel and root file system from NAND. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-08-13colibri_t20: enable mtdparts supportMarcel Ziswiler
Enable mtdparts aka dynamic MTD partition support. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-08-13colibri_t20: add i2c supportMarcel Ziswiler
Add I2C support in order to subsequently allow disabling the PMIC sleep mode on low supply voltage. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-08-13colibri_t20: add lcd display supportMarcel Ziswiler
Add LCD display support defaulting to VESA VGA resolution. Different resolutions configurable via device tree. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-08-13apalis/colibri_t20/t30: integrate recovery mode detectionMarcel Ziswiler
Allow detecting whether or not U-Boot was launched through the recovery mode of the resp. NVIDIA SoC. Make use of a board specific arch_misc_init() and enable the same via CONFIG_ARCH_MISC_INIT configuration option. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-08-13ARM: tegra: allow custom usb manufacturer/product/vendor ids/stringsMarcel Ziswiler
Allow for optional custom USB gadget manufacturer/product/vendor IDs/strings to be specified. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
2015-08-13colibri_vf: remove spurious new lineMarcel Ziswiler
Remove spurious new line in configuration file. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-by: Marek Vasut <marex@denx.de> Acked-by: Marek Vasut <marex@denx.de>
2015-08-13configs: ti_armv7_keystone2: increase size reserved for initrdVitaly Andrianov
9MB reserved for initrd is not enough for default ramfs used for keystone devices, which is ~33MB. This patch increases the size up to 80MB. Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
2015-08-13configs: ti_armv7_keystone2: fix initrd address at args_ramfsVitaly Andrianov
This patch set the correct initrd address to much rdaddr, which used at get_fs_ramfs commad. Fixes: 3e97f0b63c8e ("configs: ti_armv7_keystone2: switch addresses to generic addresses") Signed-off-by: Vitaly Andrianov <vitalya@ti.com>