summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2014-07-23Add a flag indicating when the serial console is readySimon Glass
For sandbox we have a fallback console which is used very early in U-Boot, before serial drivers are available. Rather than try to guess when to switch to the real console, add a flag so we can be sure. This makes sure that sandbox can always output a panic() message, for example, and avoids silent failure (which is very annoying in sandbox). Signed-off-by: Simon Glass <sjg@chromium.org>
2014-07-23stdio: Provide functions to add/remove devices using stdio_devSimon Glass
The current functions for adding and removing devices require a device name. This is not convenient for driver model, which wants to store a pointer to the relevant device. Add new functions which provide this feature and adjust the old ones to call these. Signed-off-by: Simon Glass <sjg@chromium.org>
2014-07-23dm: Support driver model prior to relocationSimon Glass
Initialise devices marked 'pre-reloc' and make them available prior to relocation. Note that this requires pre-reloc malloc() to be available. Signed-off-by: Simon Glass <sjg@chromium.org>
2014-07-23dm: Allow drivers to be marked 'before relocation'Simon Glass
Driver model currently only operates after relocation is complete. In this state U-Boot typically has a small amount of memory available. In adding support for driver model prior to relocation we must try to use as little memory as possible. In addition, on some machines the memory has not be inited and/or the CPU is not running at full speed or the data cache is off. These can reduce execution performance, so the less initialisation that is done before relocation the better. An immediately-obvious improvement is to only initialise drivers which are actually going to be used before relocation. On many boards the only such driver is a serial UART, so this provides a very large potential benefit. Allow drivers to mark themselves as 'pre-reloc' which means that they will be initialised prior to relocation. This can be done either with a driver flag or with a 'dm,pre-reloc' device tree property. To support this, the various dm scanning function now take a 'pre_reloc_only' parameter which indicates that only drivers marked pre-reloc should be bound. Signed-off-by: Simon Glass <sjg@chromium.org>
2014-07-23dm: Provide a way to shut down driver modelSimon Glass
Add a new method which removes and unbinds all drivers. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Marek Vasut <marex@denx.de>
2014-07-23stdio: Pass device pointer to stdio methodsSimon Glass
At present stdio device functions do not get any clue as to which stdio device is being acted on. Some implementations go to great lengths to work around this, such as defining a whole separate set of functions for each possible device. For driver model we need to associate a stdio_dev with a device. It doesn't seem possible to continue with this work-around approach. Instead, add a stdio_dev pointer to each of the stdio member functions. Note: The serial drivers have the same problem, but it is not strictly necessary to fix that to get driver model running. Also, if we convert serial over to driver model the problem will go away. Code size increases by 244 bytes for Thumb2 and 428 for PowerPC. 22: stdio: Pass device pointer to stdio methods arm: (for 2/2 boards) all +244.0 bss -4.0 text +248.0 powerpc: (for 1/1 boards) all +428.0 text +428.0 Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Marek Vasut <marex@denx.de> Reviewed-by: Marek Vasut <marex@denx.de>
2014-07-23sandbox: config: Enable pre-relocation malloc()Simon Glass
Enable this for sandbox so that we will be able to use driver model before relocation. Signed-off-by: Simon Glass <sjg@chromium.org>
2014-07-23Add a simple malloc() implementation for pre-relocationSimon Glass
If we are to have driver model before relocation we need to support some way of calling memory allocation routines. The standard malloc() is pretty complicated: 1. It uses some BSS memory for its state, and BSS is not available before relocation 2. It supports algorithms for reducing memory fragmentation and improving performace of free(). Before relocation we could happily just not support free(). 3. It includes about 4KB of code (Thumb 2) and 1KB of data. However since this has been loaded anyway this is not really a problem. The simplest way to support pre-relocation malloc() is to reserve an area of memory and allocate it in increasing blocks as needed. This implementation does this. To enable it, you need to define the size of the malloc() pool as described in the README. It will be located above the pre-relocation stack on supported architectures. Note that this implementation is only useful on machines which have some memory available before dram_init() is called - this includes those that do no DRAM init (like tegra) and those that do it in SPL (quite a few boards). Enabling driver model preior to relocation for the rest of the boards is left for a later exercise. Signed-off-by: Simon Glass <sjg@chromium.org>
2014-07-22powerpc/t1040: update i2c for t1040qds and t104xrdbShengzhou Liu
- Fix base address of I2C2 as 0x118100 instead of 0x119000. - Add definitions for I2C3 & I2C4. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-07-22powerpc/ifc: fix invalid CSn FTIM2.TCH settingShaohui Xie
On some platforms, CSn FTIM2.TCH is set to zero which is invalid, an invalid hold time makes DUT timing variances, whether it works or not on luck. Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-07-22driver/nand: Add support of 16K SRAM for IFC 2.0Prabhakar Kushwaha
Internal SRAM has been incresed from 8KB to 16KB for IFC cotroller ver 2.0. Update the page offset calculation logic to support the same. Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-07-22driver/nand: Update SRAM initialize logic for IFC.Prabhakar Kushwaha
IFC controller v1.1.0 requires internal SRAM initialize by reading NAND flash. Higher controller versions have provided "SRAM init" bit in NCFGR register space. update SRAM initialize logic to reflect the same. Also print error message in case of Page read error. Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-07-22powerpc/mpc85xx: Remove P1023 RDS supportLijun Pan
Since P1023RDS is no longer supported/manufactured by Freescale, we clean up P1023RDS related code. Since P1023RDB is still supported by Freescale, we keep P1023RDB releated code. Signed-off-by: Lijun Pan <Lijun.Pan@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-07-22qe: move immap_qe.h from arch directory into common directoryZhao Qiang
ls1021 is arm-core and supports qe too. Move immap_qe.h into common directory for both arm and powerpc. Signed-off-by: Zhao Qiang <B45475@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-07-22board/t2080qds: enable sst and eon spi flash for nor bootShengzhou Liu
Remove unnecessary condition CONFIG_RAMBOOT_PBL to have SST and EON SPI flash work in case of NOR boot. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-07-22whitespace cleanupsPavel Machek
Whitespace cleanups. Signed-off-by: Pavel Machek <pavel@denx.de>
2014-07-22rpi_b: handle import of environments in files with CRLF as line endingsAlexander Holler
Use the new option -r for env import. Signed-off-by: Alexander Holler <holler@ahsoftware.de>
2014-07-22am335x_evm: handle import of environments in files with CRLF as line endingsAlexander Holler
Use the new option -r for env import. Signed-off-by: Alexander Holler <holler@ahsoftware.de>
2014-07-22omap3_beagle: handle import of environments in files with CRLF as line endingsAlexander Holler
Use the new option -r for env import. Signed-off-by: Alexander Holler <holler@ahsoftware.de>
2014-07-22Add option -r to env import to allow import of text files with CRLF as line ↵Alexander Holler
endings When this option is enabled, CRLF is treated like LF when importing environments from text files, which means CRs ('\r') in front of LFs ('\n') are just ignored. Drawback of enabling this option is that (maybe exported) variables which have a trailing CR in their content will get imported without that CR. But this drawback is very unlikely and the big advantage of letting Windows user create a *working* uEnv.txt too is likely more welcome. Signed-off-by: Alexander Holler <holler@ahsoftware.de>
2014-07-22h2200: Disable SHA256 on FIT imagesTom Rini
This board is close in binary size to one of its hard limits, so disable SHA256 FIT image support to gain some breathing room. Signed-off-by: Tom Rini <trini@ti.com>
2014-07-22common: cmd_ide: use __weak and add prototypesJeroen Hofstee
clang chokes about the concept of having an alias to an always_inlined function. gcc likely just ignores the always inlined since binary sizes are equal before and after this patch. Convert the aliases to weak functions and provide missing prototypes. cc: Pavel Herrmann <morpheus.ibis@gmail.com> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
2014-07-22tools: compiler.h: add missing time.hJeroen Hofstee
genimg_print_time uses time_t, but time.h is never included. Linux gets away with this since types.h includes time.h. Explicitly include the header file so building on e.g. FreeBSD also works. cc: Tom Rini <trini@ti.com> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
2014-07-22linux/compat.h: port lower_32_bits and upper_32_bits from LinuxLijun Pan
[backport from linux commit 204b885e and 218e180e7] 64 bit processors are becomming more and more popular. lower_32_bits and upper_32_bits save our labor doing shifts/manipulations like (u32)(n) and (u32)((n) >> 32). They are good helpers in both little and big endian cases. Port these two functions here from Linux:include/linux/kernel.h, cater the comment message to little/big endian cases. Later on, developers could include linux/compat.h if they want to use these two functions. Signed-off-by: Lijun Pan <Lijun.Pan@freescale.com>
2014-07-18mmc: prevent some warnings with make W=1Jeroen Hofstee
Add missing prototypes for global functions and make local functions static. cc: panto@antoniou-consulting.com Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
2014-07-18env_callback.h: spl: mark callback as maybe_unusedJeroen Hofstee
When static inline is used in a header file the function should preferably be inlined and if not possible made a static function. When declared inside a c file there is a static function, which might be inlined. Since SPL uses a define to declare the static inline it becomes part of the c file although it is declared in a header and clang will warn that you have introduced unused static functions. Add maybe_unused to prevent such warnings. Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
2014-07-18common: board_f: cosmetic use __weak for ledsJeroen Hofstee
First of all this looks a lot better, but it also prevents a gcc warning (W=1), that the weak function has no previous prototype. cc: Simon Glass <sjg@chromium.org> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> Acked-by: Simon Glass <sjg@chromium.org>
2014-07-18sunxi: add gpio driverIan Campbell
This patch enables CONFIG_CMD_GPIO for the Allwinner (sunxi) platform as well as providing the common gpio API (gpio_request/free, direction in/out, get/set etc). Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Ma Haijun <mahaijuns@gmail.com> Signed-off-by: Oliver Schinagl <oliver@schinagl.nl> Signed-off-by: Ian Campbell <ijc@hellion.org.uk> Cc: Henrik Nordström <henrik@henriknordstrom.net> Cc: Tom Cubie <Mr.hipboi@gmail.com> Acked-by: Hans de Goede <hdegoede@redhat.com>
2014-07-18sunxi: use random parts of SID to set ethaddrJonathan Liu
Similar to the USB NIC found on OMAP5uEVM, PandaBoard and BeagleBoard-XM boards, the sunxi SoCs have a NIC onboard without an embedded MAC address. Just like the omap used on these boards, the sunxi SoCs do have a unique chip id, in the form of the 128 bit SID register: http://linux-sunxi.org/SID_Register_Guide So mimick the BeagleBoard-XM board code (commit 548a64d8) and use the chip id to generate a unique fixed MAC address. We check for the SID not being all 0, since some early A20 batches shipped without having there SID programmed. Note we use specific parts of the 128 bits, since some parts indicate the SoC family / revision, and thus are fixed. The algorithm for this was taken from the linux-sunxi.org kernels. Signed-off-by: Jonathan Liu <net147@gmail.com> [hdegoede@redhat.com: Expanded the commit message with some more info] Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-18sunxi: Add axp152 pmic supportHans de Goede
Add support for the x-powers axp152 pmic which is found on most A10s boards and enable it for the r7-tv-dongle board. Signed-off-by: Henrik Nordstrom <henrik@henriknordstrom.net> Signed-off-by: Ian Campbell <ijc@hellion.org.uk> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-18sunxi: Add axp209 pmic supportHenrik Nordstrom
Add support for the x-powers axp209 pmic which is found on most A10, A13 and A20 boards. And enable AXP209 support for the Cubietruck and Cubieboard boards. Signed-off-by: Henrik Nordstrom <henrik@henriknordstrom.net> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-18sunxi: Add i2c supportHans de Goede
Add support for the i2c controller found on all Allwinner sunxi SoCs, this is the same controller as found on the Marvell orion5x and kirkwood SoC families, with a slightly different register layout, so this patch uses the existing mvtwsi code. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk> Acked-By: Prafulla Wadaskar <prafulla@marvell.com> Acked-by: Heiko Schocher <hs@denx.de> [ ijc -- updated u-boot-spl-fel.lds ]
2014-07-16mvtwsi: convert to CONFIG_SYS_I2C frameworkHans de Goede
Note this has only been tested on Allwinner sunxi devices (support for which gets introduced by a later patch). The kirkwood changes have been compile tested using the wireless_space board config, the orion5x changes have been compile tested using the edminiv2 board config. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Heiko Schocher <hs@denx.de>
2014-07-14socfpga: timer actually counts downPavel Machek
Timer on cyclone5 actually counts down. It took me a while to figure out, as timer counting in wrong direction actually _can_ be used, it just appears to tick at extremely high frequency in u-boot. The bug was introduced in commit 23ab7ee0ffa9d5efd0b4ad830befba306d24a327. Signed-off-by: Pavel Machek <pavel@denx.de> Acked-by: Marek Vasut <marex@denx.de>
2014-07-14ARM: DRA7xx: Update the board_name env variableLokesh Vutla
Update the board_name env variable and accordingly populate the dtb file. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2014-07-09Merge branch 'master' of git://www.denx.de/git/u-boot-imxTom Rini
2014-07-09ARM: m53evk: Update default environmentLothar Rubusch
Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Lothar Rubusch <lothar@denx.de> Signed-off-by: Wolfgang Denk <wd@denx.de>
2014-07-09ARM: m53evk: Adjust mtdparts settingsMarek Vasut
Adjust the mtdparts settings to allow for alternative boot images and for using UBI. Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Stefano Babic <sbabic@denx.de>
2014-07-09ARM: m53evk: add needed commands and optionsMarek Vasut
- "env ask", "env grep" and "setexpr" are needed for commissioning - add support for ext4 file systems - adjust default environment to use ext4 commands - add write support for (V)FAT and EXT4 - add bitmap and splashscreen support - print timestamp information for images Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Stefano Babic <sbabic@denx.de>
2014-07-09ARM: m28evk: Update default environmentLothar Rubusch
Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Lothar Rubusch <lothar@denx.de>
2014-07-09ARM: m28evk: Adjust mtdpartsMarek Vasut
Adjust the mtdparts to also consider factory-programmed config block. Signed-off-by: Marek Vasut <marex@denx.de>
2014-07-09ARM: m28evk: add needed commands and optionsMarek Vasut
- "env ask", "env grep" and "setexpr" are needed for commissioning - add support for ext4 file systems - adjust default environment to use ext4 commands - add write support for (V)FAT and EXT4 - add bitmap and splashscreen support - print timestamp information for images Signed-off-by: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
2014-07-07TI:omap3: enable CONFIG_CMD_DHCP for omap3_beagleTyler Baker
The following patch re-enables the dhcp functionality on omap3_beagle. It was removed with df4dbb5df6ab1c1d27b3fd4acbaad69b47095daf when omap3_beagle was converted to use ti_omap3_common.h. I have tested beagleboard and beagleboard-xm with this patch and confirmed dhcp is working. Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
2014-07-07fit: make sha256 support optionalDirk Eibach
sha256 has some beefy memory footprint. Make it optional for constrained systems. Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
2014-07-07board: gdsys: Remove commands to reduce footprintDirk Eibach
Commit "2842c1c fit: add sha256 support" badly increased memory footprint, so some of our boards did not build anymore. Since monitor base must not be changed I removed some commands to save memory. Maybe making sha256 optional for fit would be an option for the future since it really has some beefy footprint. Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
2014-07-07board: gdsys: Make gdsys osd hardware detection more robustDirk Eibach
Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
2014-07-07board: gdsys: Configure bridge on DP501 to support DDC onlyDirk Eibach
The I2C bridge on DP501 supports EDID, MCCS and HDCP by default. Allow EDID only to avoid I2C address conflicts. Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
2014-07-07board: gdsys: Increase iocon and dlv10g version stringDirk Eibach
Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
2014-07-07board: gdsys: Fix dlvision-10g I2C configurationDirk Eibach
PPC4xx config options were not complete. ICS8N3QV01 and SIL1178 needed some more configuration. Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>
2014-07-07i2c: IHS I2C master driverDirk Eibach
IHS I2C master support was merely a hack in the osd driver. Now it is a proper u-boot I2C framework driver, supporting the v2.00 master features. Signed-off-by: Dirk Eibach <dirk.eibach@gdsys.cc>