Tom Rini [Mon, 11 Mar 2013 16:02:40 +0000 (12:02 -0400)]
Merge u-boot/master into u-boot-ti/master
In master we had already taken a patch to fix the davinci GPIO code for
CONFIG_SOC_DM646X and in u-boot-ti we have additional patches to support
DA830 (which is CONFIG_SOC_DA8XX && !CONFIG_SOC_DA850). Resolve these
conflicts manually and comment the #else/#endif lines for clarity.
Conflicts:
arch/arm/include/asm/arch-davinci/gpio.h
drivers/gpio/da8xx_gpio.c
Signed-off-by: Tom Rini <trini@ti.com>
Lokesh Vutla [Tue, 12 Feb 2013 21:29:03 +0000 (21:29 +0000)]
arm: dra7xx: Add silicon id support for DRA752 soc
Adding CPU detection support for the DRA752 ES1.0 soc.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
Lokesh Vutla [Sun, 17 Feb 2013 23:34:35 +0000 (23:34 +0000)]
arm: dra7xx: Add dra7xx_evm build support
Adding the build support for dra7xx_evm.
Reusing omap5_evm.h config by moving it to omap5_common.h
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Lokesh Vutla [Tue, 12 Feb 2013 21:29:08 +0000 (21:29 +0000)]
arm: dra7xx: Add board files for DRA7XX socs
Adding new board files for DRA7XX socs.
The pad registers layout is changed completely from OMAP5
So introducing the new structure here and also adding the
minimal data.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Nishant Kamat <nskamat@ti.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
[trini: Adapt omap_mmc_init call for last 2 params]
Signed-off-by: Tom Rini <trini@ti.com>
Lokesh Vutla [Tue, 12 Feb 2013 21:29:07 +0000 (21:29 +0000)]
arm: dra7xx: Add DDR related data for DRA752 ES1.0
DRA752 uses DDR3. Populating the corresponding structures
with DDR3 data.
Writing into MA registers if only MA is present in that soc.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
Lokesh Vutla [Tue, 12 Feb 2013 21:29:06 +0000 (21:29 +0000)]
arm: dra7xx: Add control module changes
Control module register addresses are changed from OMAP5
to DRA7XX socs.
So adding the necessary changes for the same.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
Lokesh Vutla [Tue, 12 Feb 2013 21:29:05 +0000 (21:29 +0000)]
arm: dra7xx: clock: Add the dplls data
A new DPLL DDR is added in DRA7XX socs. Now clocks to
EMIF CD is from DPLL DDR. So DPLL DDR should be locked
before initializing RAM.
Also adding other dpll data which are different from OMAP5 ES2.0.
SYS_CLK running at 20MHz is introduced in DRA7xx socs.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
Lokesh Vutla [Sun, 17 Feb 2013 23:33:37 +0000 (23:33 +0000)]
arm: dra7xx: clock: Add the prcm changes
PRCM register addresses are changed from OMAP5 ES2.0 to DRA7XX.
So adding the necessary register changes for DRA7XX socs.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Lokesh Vutla [Tue, 12 Feb 2013 01:33:45 +0000 (01:33 +0000)]
ARM: OMAP5: srcomp: enable slew rate compensation cells after powerup
After power-up SRCOMP cells are by-passed by default in OMAP5.
Software has to enable these SRCOMP sells.
For ES2: All 5 SRCOMP cells needs to be enabled.
For ES1: Only 4 SRCOMP cells in core power domain are enabled.
The 1 in wkup domain is not enabled because smart i/os
of wkup domain work with default compensation code.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
Cc: Tom Rini <trini@ti.com>
Lokesh Vutla [Tue, 12 Feb 2013 01:33:44 +0000 (01:33 +0000)]
ARM: OMAP5: Add DDR changes required for OMAP543X ES2.0 SOCs
Add pre calculated timing settings of LPDDR2 and DDR3 memories
present in OMAP5430 and OMAP5432 ES2.0 versions.
Also adding the DDR pad io settings required for
OMAP543X SOCs here.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
Cc: Tom Rini <trini@ti.com>
SRICHARAN R [Tue, 12 Feb 2013 01:33:43 +0000 (01:33 +0000)]
ARM: OMAP4/5: clocks: Add the required OPP settings as per the latest addendum
Change OPP settings as per the latest 0.5 version of
addendum for OMAP5430 ES2.0. omap4/hw_data.c is touched
here to add dummy dividers.
While here correcting OPP_NOM mpu, core frequency for
OMAP4430 ES2.x
Note that OMAP5430 ES1.0 support is still kept alive and
would be removed in a cleanup later.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Cc: Tom Rini <trini@ti.com>
Cc: Nishanth Menon <nm@ti.com>
SRICHARAN R [Tue, 12 Feb 2013 01:33:42 +0000 (01:33 +0000)]
ARM: OMAP5: clock: Add the prcm register changes required for ES2.0
PRCM register addresses are changed from ES1.0 to ES2.0 due to
PER power domain getting moved to CORE power domain.
So adding the nessecary register changes for the same.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
Cc: Tom Rini <trini@ti.com>
SRICHARAN R [Tue, 12 Feb 2013 01:33:41 +0000 (01:33 +0000)]
ARM: OMAP5: Add silicon id support for ES2.0 revision.
Adding the CPU detection suport for OMAP5430 and
OMAP5432 ES2.0 SOCs.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Cc: Tom Rini <trini@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Lokesh Vutla [Mon, 4 Feb 2013 04:22:05 +0000 (04:22 +0000)]
ARM: OMAP5: Clean up iosettings code
There is some code duplication in the ddr io settings code.
This is avoided by moving the data to a Soc specific place and
letting the code generic.
This avoids unnessecary code addition for future socs.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
Lokesh Vutla [Mon, 4 Feb 2013 04:22:04 +0000 (04:22 +0000)]
ARM: OMAP4+: Make control module register structure generic
A seperate omap_sys_ctrl_regs structure is defined for
omap4 & 5. If there is any change in control module for
any of the ES versions, a new structure needs to be created.
In order to remove this dependency, making the register
structure generic for all the omap4+ boards.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
Lokesh Vutla [Mon, 4 Feb 2013 04:22:03 +0000 (04:22 +0000)]
ARM: OMAP4+: Cleanup emif specific files
Removing the duplicated code in ddr3 initialization.
Also creating structure for lpddr2 mode registers to
avoid unnessecary revision checks.
These change reduces code addition for future Socs.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
SRICHARAN R [Mon, 4 Feb 2013 04:22:02 +0000 (04:22 +0000)]
ARM: OMAP4+: Clean up the pmic code
The pmic code is duplicated for OMAP 4 and 5.
Instead move the data to Soc specific place and
share the code.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
SRICHARAN R [Mon, 4 Feb 2013 04:22:01 +0000 (04:22 +0000)]
ARM: OMAP4+: Cleanup the clocks layer
Currently there is quite a lot of code which
is duplicated in the clocks code for OMAP 4 and 5
Socs. Avoiding this here by moving the clocks
data to a SOC specific place and the sharing the
common code.
This helps in addition of a new Soc with minimal
changes.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
SRICHARAN R [Mon, 4 Feb 2013 04:22:00 +0000 (04:22 +0000)]
ARM: OMAP4+: Change the PRCM structure prototype common for all Socs
The current PRCM structure prototype directly matches the hardware
register layout. So there is a need to change this for every new silicon
revision which has register space changes.
Avoiding this by making the prototye generic and populating the register
addresses seperately for all Socs.
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Lokesh Vutla [Mon, 4 Feb 2013 04:21:59 +0000 (04:21 +0000)]
ARM: OMAP4+: emif: Detect SDRAM from SDRAM config register
Now SDRAM initialization is done on the basis of omap revision.
Instead this should be done on basis of SDRAM type read from
EMIF_SDRAM_CONFIG register. This will be helpful to avoid
unnessecary cpu checks for new boards
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@ti.com>
Nikita Kiryanov [Sun, 24 Feb 2013 06:19:23 +0000 (06:19 +0000)]
cm_t35: prevent splashimage from being set to a bad value
Define CONFIG_SPLASHIMAGE_GUARD to prevent splashimage from being
set to a value that will cause U-Boot to hang while displaying a
splash screen.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Sun, 24 Feb 2013 21:28:43 +0000 (21:28 +0000)]
lcd: implement a callback for splashimage
On some architectures certain values of splashimage will lead to
a data abort exception.
Document the problem, and implement a callback for splashimage to
reject such values.
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Mugunthan V N [Tue, 19 Feb 2013 21:34:44 +0000 (21:34 +0000)]
am335x: cpsw: optimize cpsw_send to increase network performance
Before submitting packets to cpdma, phy status is updated on every packet
which leads to delay in packet send intern reduces the Ethernet performance.
Checking mdio status for each packet will reduce timetaken to send a packet
and there by increasing the Ethernet performance. With this the performance
is increased from 208KiB/s to 375KiB/s on EVMsk
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Tom Rini [Tue, 19 Feb 2013 11:18:18 +0000 (11:18 +0000)]
omap4_common: Enable CONFIG_CMD_BOOTZ
With v3.9 and later of the Linux Kernel defaulting to multi-platform
images with omap2plus_defconfig, uImage isn't builtable anymore by
default. Add CONFIG_CMD_BOOTZ so that we can still boot something the
kernel spits out.
Cc: Sricharan R <r.sricharan@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
Reviewed-by: R Sricharan <r.sricharan@ti.com>
Tom Rini [Tue, 19 Feb 2013 11:18:17 +0000 (11:18 +0000)]
omap3_beagle: Enable CONFIG_CMD_BOOTZ
With v3.9 and later of the Linux Kernel defaulting to multi-platform
images with omap2plus_defconfig, uImage isn't builtable anymore by
default. Add CONFIG_CMD_BOOTZ so that we can still boot something the
kernel spits out.
Signed-off-by: Tom Rini <trini@ti.com>
Tom Rini [Tue, 19 Feb 2013 11:18:16 +0000 (11:18 +0000)]
omap5_evm: Enable CONFIG_CMD_BOOTZ
With v3.9 and later of the Linux Kernel defaulting to multi-platform
images with omap2plus_defconfig, uImage isn't builtable anymore by
default. Add CONFIG_CMD_BOOTZ so that we can still boot something the
kernel spits out.
Cc: Sricharan R <r.sricharan@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
Reviewed-by: R Sricharan <r.sricharan@ti.com>
Tom Rini [Tue, 19 Feb 2013 11:18:15 +0000 (11:18 +0000)]
am335x_evm: Enable CONFIG_CMD_BOOTZ
With v3.9 and later of the Linux Kernel defaulting to multi-platform
images with omap2plus_defconfig, uImage isn't builtable anymore by
default. Add CONFIG_CMD_BOOTZ so that we can still boot something the
kernel spits out.
Signed-off-by: Tom Rini <trini@ti.com>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Mark Jackson [Mon, 18 Feb 2013 01:26:29 +0000 (01:26 +0000)]
Allow AM33xx boards to setup GPMC chipselects.
Expose the enable_gpmc_cs_config() function so AM33xx based boards can register GPMC chip selects.
Changes in V4:
- Fix checkpatch errors (TAB -> space mangling)
Changes in V3:
- Fix line wrapping
Changes in V2:
- Indicate this is for AM33xx (not OMAP2)
Signed-off-by: Mark Jackson <mpfj@newflow.co.uk>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Enric Balletbo i Serra [Thu, 7 Feb 2013 23:14:49 +0000 (23:14 +0000)]
OMAP3: Initialize gpmc if SPL_ONENAND_SUPPORT is enabled.
In order to use SPL boot from OneNAND we should initialize the gpmc.
Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Enric Balletbo i Serra [Thu, 7 Feb 2013 23:14:48 +0000 (23:14 +0000)]
SPL: ONENAND: Support SPL to boot u-boot from OneNAND.
This patch will allow use SPL to boot an u-boot from the OneNAND.
Tested with IGEPv2 board with a OneNAND from Numonyx
Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
[trini: Add <spl.h> hunk to fix warning]
Signed-off-by: Tom Rini <trini@ti.com>
Enric Balletbo i Serra [Thu, 7 Feb 2013 23:14:47 +0000 (23:14 +0000)]
SPL: ONENAND: Fix onenand_spl_load_image implementation.
Tested with an IGEPv2 board seems that current onenand_spl_load_image implementation
doesn't work. This patch fixes this function changing the read loop and reading the
onenand blocks from page to page.
Tested with various IGEP based boards with a OneNAND from Numonyx.
Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Enric Balletbo i Serra [Thu, 7 Feb 2013 23:14:46 +0000 (23:14 +0000)]
SPL: ONENAND: Fix some ONENAND related defines.
Some ONENAND related defines use the term ONE_NAND instead of
ONENAND, as the technology name is ONENAND this patch replaces
all these defines.
Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Nikita Kiryanov [Wed, 30 Jan 2013 21:39:59 +0000 (21:39 +0000)]
cm-t35: add support for user defined lcd parameters
Add support for user defined lcd parameters for cm-t35 splash screen.
Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
Cc: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Wed, 30 Jan 2013 21:39:58 +0000 (21:39 +0000)]
cm-t35: add support for dvi displays
Add support for dvi displays with user selectable dvi presets.
Cc: Wolfgang Denk <wd@denx.de>
Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
Cc: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Wed, 30 Jan 2013 21:39:57 +0000 (21:39 +0000)]
lcd: add option for board specific splash screen preparation
Currently there is no logical place to put the code that prepares the
splash image data. The splash image data should be ready in memory
before bmp_display() is called, and after the environment is ready
(since lcd.c looks for the splash image in an address specified by
the environment variable "splashimage").
Our window of opportunity in board_init_r() is therefore: between
env_relocate() and bmp_display(), and from the available options
only the lcd related functions in drv_lcd_init() seem appropriate
for such lcd oriented code.
Add the option to prepare the splash image data in lcd_logo() right
before it is sent to be displayed.
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Wed, 30 Jan 2013 21:39:55 +0000 (21:39 +0000)]
omap3: allow dynamic selection of gfx_format
Currently, omap3_dss_panel_config() sets gfx_format to a value that is hardcoded
in the code. This forces anyone who wants to use a different gfx_format to make
adjustments after calling omap3_dss_panel_config(). This could be avoided if the
value of gfx_format were parameterized as input for omap3_dss_panel_config().
Make gfx_format a field in struct panel_config, and update existing structs to
set this field to the value that was originally hard coded.
Cc: Wolfgang Denk <wd@denx.de>
Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
Cc: Tom Rini <trini@ti.com>
Cc: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Wed, 30 Jan 2013 21:39:54 +0000 (21:39 +0000)]
omap3: add useful dss defines
Add useful omap3 dss defines for: polarity, TFT data lines, lcd
display type, gfx burst size, and gfx format
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
Cc: Tom Rini <trini@ti.com>
Cc: Wolfgang Denk <wd@denx.de>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Mon, 3 Dec 2012 02:19:47 +0000 (02:19 +0000)]
omap_hsmmc: add driver check for write protection
Add check for write protection in omap mmc driver.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Reviewed-by: Tom Rini <trini@ti.com>
Nikita Kiryanov [Mon, 3 Dec 2012 02:19:46 +0000 (02:19 +0000)]
mmc: add support for write protection
Add generic mmc write protection functionality.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Mon, 3 Dec 2012 02:19:45 +0000 (02:19 +0000)]
cm-t35: implement board specific card detect check
Implement a card detection check for cm-t35.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Mon, 3 Dec 2012 02:19:44 +0000 (02:19 +0000)]
omap_hsmmc: implement driver check for card detection
Implement driver check for card detection.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Nikita Kiryanov [Mon, 3 Dec 2012 02:19:43 +0000 (02:19 +0000)]
omap_hsmmc: introduce omap_hsmmc_data struct
Currently there's no appropriate place to store driver specific data
because the pointer that is meant for that (priv) is being used to
store the base address of mmc registers.
Introduce a new struct for storing driver specific data.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Nikita Kiryanov [Mon, 3 Dec 2012 02:19:42 +0000 (02:19 +0000)]
omap_hsmmc: fix out of bounds array access
There are 3 MMC/SD/SDIO controllers in OMAP SoCs, but only 2 structs
are defined for devices. This leads to data being written outside of
array bounds on systems that use all 3 controllers.
Update hsmmc_dev array to the correct size.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Nikita Kiryanov [Mon, 3 Dec 2012 02:19:41 +0000 (02:19 +0000)]
omap: consolidate common mmc definitions
The various mmc_host_def.h files are almost identical.
Reduce code duplication by moving the similar definitions to a common
header file.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Tom Rini [Tue, 26 Feb 2013 21:35:33 +0000 (16:35 -0500)]
am33xx: Update DDR3 EMIF configuration sequence
Based on
http://processors.wiki.ti.com/index.php/AM335x_EMIF_Configuration_tips
we need to re-work our sequence in config_sdram slightly to match what
the TRM describes as the correct sequence. In our current (incorrect)
sequence some edge cases may fail to initalize correctly.
Signed-off-by: Tom Rini <trini@ti.com>
Tom Rini [Tue, 26 Feb 2013 20:43:22 +0000 (15:43 -0500)]
am335x_evm: Add am335x_evm_usbspl build target
We add USB (RNDIS gadget) SPL support as a separate target. We need to
pull out YMODEM support in order to be a small enough target binary.
Signed-off-by: Tom Rini <trini@ti.com>
Tom Rini [Tue, 26 Feb 2013 18:08:53 +0000 (13:08 -0500)]
am335x_evm: Never set CONFIG_EXTRA_ENV_SETTINGS in SPL
Because of our support for network-based SPL, we don't discard all of
the environment related functions. We however never make use of the
default CONFIG_EXTRA_ENV_SETTINGS items and as this variable grows, it
brings us closer to (or with some toolchains, over) our SPL size limit.
Never set this in the case of SPL.
Signed-off-by: Tom Rini <trini@ti.com>
Simon Glass [Thu, 28 Feb 2013 19:26:18 +0000 (19:26 +0000)]
x86: Enable CONFIG_OF_CONTROL on coreboot
Make use of a device tree on coreboot boards, and set the default
to link.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 28 Feb 2013 19:26:17 +0000 (19:26 +0000)]
x86: Adjust link device tree include file
This is currently set to coreboot.dtsi, but we cannot support this on
old device tree compilers (dtc <= 1.3), so adjust to use ARCH_CPU_DTS
to let the Makefile preprocessor sort this out.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 28 Feb 2013 19:26:16 +0000 (19:26 +0000)]
x86: Add error checking to x86 relocation code
This does not actually change normal behaviour, but adds a check that
should detect corruption of relocation data (e.g. by using BSS data
prior to relocation).
Also add additional debugging output when enabled.
During this investigation, two situations have been seen:
1. calculate_relocation_address():
uintptr_t size = (uintptr_t)&__bss_end - (uintptr_t)&__text_start;
turns into
111166f: b8 83 c4 17 01 mov $0x117c483,%eax
whih is beyond the end of bss:
0117b484 g .bss
00000000 __bss_end
Somehow the __bss_end here is 255 bytes ahead.
2. do_elf_reloc_fixups():
uintptr_t size = (uintptr_t)&__bss_end - (uintptr_t)&__text_start;
Here the __text_start is 0 in the file:
1111d9f: bb a0 e0 13 01 mov $0x113e0a0,%ebx
1111da4: 81 ef 00 00 00 00 sub $0x0,%edi
As it happens, both of these are in pre-relocation code.
For these reasons we silent check and ignore bad relocations.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 28 Feb 2013 19:26:15 +0000 (19:26 +0000)]
x86: Support relocation of FDT on start-up
With CONFIG_OF_CONTROL we may have an FDT in the BSS region. Relocate
it up with the rest of U-Boot to keep the rest of memory free.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 28 Feb 2013 19:26:14 +0000 (19:26 +0000)]
x86: Rearrange the output input to remove BSS
At present BSS data is including in the image, which wastes binary space.
Remove it by rearranging the sections so that BSS is last.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 28 Feb 2013 19:26:13 +0000 (19:26 +0000)]
x86: Add an __end symbol to signal the end of the U-Boot binary
With this symbol we can easy append something (e.g. an FDT) to the U-Boot
binary and access it from within U-Boot.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 28 Feb 2013 19:26:12 +0000 (19:26 +0000)]
x86: Permit bootstage and timer data to be used prior to relocation
It is useful to be able to access the timer before U-Boot has relocated
so that we can fully support bootstage.
Add new global_data members to support this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 28 Feb 2013 19:26:11 +0000 (19:26 +0000)]
x86: Add basic cache operations
At present most x86 cache operations are undefined. Add a basic
implementation for these.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 28 Feb 2013 19:26:10 +0000 (19:26 +0000)]
x86: Add function to get top of usable ram
The memory layout calculations are done in calculate_relocation_address(),
and coreboot has its own version of this function. But in fact all we
really need is to set the top of usable RAM, and then the base version
will work as is.
So instead of allowing the whole calculate_relocation_address() function
to be replaced, create board_get_usable_ram_top() which can be used by
a board to specify the top of the area where U-Boot relocations to.
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Rini [Mon, 4 Mar 2013 21:29:17 +0000 (16:29 -0500)]
Prepare v2013.04-rc1
Signed-off-by: Tom Rini <trini@ti.com>
Sonic Zhang [Thu, 28 Feb 2013 20:21:13 +0000 (20:21 +0000)]
kerneldoc: Add Sonic Zhang to alias bfin in git-mailrc.
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Daniel Schwierzeck [Tue, 26 Feb 2013 04:54:19 +0000 (04:54 +0000)]
bootm: fix conditional compilation for bootm ramdisk subcommand
All code related to the bootm ramdisk subcommand is conditionally
enabled by CONFIG_SYS_BOOT_RAMDISK_HIGH except for the help message.
Replace the CONFIG_ARCH defines by CONFIG_SYS_BOOT_RAMDISK_HIGH
to fix this.
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Joe Hershberger [Fri, 8 Feb 2013 10:12:34 +0000 (10:12 +0000)]
env: Avoid clobbering an edited variable on ctrl-c
If readline says there was an error, don't write to the variable!
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Joe Hershberger [Thu, 1 Nov 2012 16:54:18 +0000 (16:54 +0000)]
ubifs: Allow ubifsmount volume reference by number
UBI can mount volumes by name or number The current code forces you
to name the volume by prepending every name with "ubi:".
>From fs/ubifs/super.c
* There are several ways to specify UBI volumes when mounting UBIFS:
* o ubiX_Y - UBI device number X, volume Y;
* o ubiY - UBI device number 0, volume Y;
* o ubiX:NAME - mount UBI device X, volume with name NAME;
* o ubi:NAME - mount UBI device 0, volume with name NAME.
Now any name passed in any of the above forms are allowed.
Also update the configs that referenced ubifsmount.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Simon Glass [Wed, 26 Dec 2012 09:53:38 +0000 (09:53 +0000)]
sandbox: config: Enable sandbox command
The 'sb' command allows loading files from the host, and listing
directories.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Wed, 26 Dec 2012 09:53:37 +0000 (09:53 +0000)]
sandbox: Enable ext4 and fat filesystems
These are useful for build-testing code, at least.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Wed, 26 Dec 2012 09:53:36 +0000 (09:53 +0000)]
sandbox: Add 'sb' command to access filesystem features
The new 'sb' command is intended to deal with sandbox-specific features
that have no parallel in other archs. This commit adds two sub-commands
to list a directory and read a file from the host filesystem.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Wed, 26 Dec 2012 09:53:35 +0000 (09:53 +0000)]
sandbox: Add host filesystem
This allows reading of files from the host filesystem in sandbox.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Wed, 26 Dec 2012 09:53:34 +0000 (09:53 +0000)]
sandbox: Add a way of obtaining directory listings
This implementation uses opendir()/readdir() to access the directory
information and then puts it in a linked list for the caller's use.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Wed, 26 Dec 2012 09:53:33 +0000 (09:53 +0000)]
fs: Move ls and read methods into ext4, fat
It doesn't make a lot of sense to have these methods in fs.c. They are
filesystem-specific, not generic code. Add each to the relevant
filesystem and remove the associated #ifdefs in fs.c.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Wed, 26 Dec 2012 09:53:32 +0000 (09:53 +0000)]
fs: Use map_sysmem() on read
This allows us to use filesystems on sandbox. It has no effect on other
architectures.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Wed, 26 Dec 2012 09:53:31 +0000 (09:53 +0000)]
fs: Tell probe functions where to put their results
Rather than rely on global variables for the probe functions, pass in
the information that we need filled in. This allows us to potentially
keep the variables private to fs.c in the future, and the meaning of
the probe function is clearer.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Wed, 26 Dec 2012 09:53:30 +0000 (09:53 +0000)]
fs: Use filesystem methods instead of switch()
We can use the available methods and avoid using switch(). When the
filesystem is not supported, we fall through to the 'unsupported'
methods: fs_probe_unsupported() prints an error, so the others do
not need to.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Wed, 26 Dec 2012 09:53:29 +0000 (09:53 +0000)]
fs: Fully populate the filesystem method struct
There is a structure in fs.c with just a probe method. By adding methods
for other operations, we can avoid lots of #ifdefs and switch()s. As a
first step, create the structure ready for use.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Wed, 26 Dec 2012 09:53:28 +0000 (09:53 +0000)]
ext4: Split write support into its own file
This code seems to be entirely othogonal, so remove the #ifdef and put
the condition in the Makefile instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Tom Rini [Mon, 4 Mar 2013 16:14:27 +0000 (11:14 -0500)]
Merge branch 'mem' of git://git.denx.de/u-boot-x86
Tom Rini [Mon, 4 Mar 2013 14:44:42 +0000 (09:44 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-blackfin
Steven Miao [Sat, 31 Mar 2012 08:01:50 +0000 (16:01 +0800)]
blackfin: bf60x: add resume from hibernate
Add Bf60x resume from hibernate support
Signed-off-by: Steven Miao <realmz6@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Bob Liu [Tue, 27 Dec 2011 07:05:53 +0000 (15:05 +0800)]
blackfin: bf60x: add hw watchdog support
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Scott Jiang [Tue, 29 Nov 2011 23:03:26 +0000 (18:03 -0500)]
blackfin: add bf6xx spi driver
Spi driver for bf60x is different from old one, so implement a new
driver for it.
Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Sonic Zhang [Thu, 16 Aug 2012 03:26:00 +0000 (11:26 +0800)]
blackfin: bf60x: add rsi/sdh support
Add rsi/sdh support for bf60x.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Sonic Zhang [Thu, 16 Aug 2012 04:08:31 +0000 (12:08 +0800)]
blackfin: bf60x: add board and headers files to support bf609
Board and config header files for bf609-ezkit support.
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Bob Liu [Thu, 16 Aug 2012 03:40:30 +0000 (11:40 +0800)]
blackfin: bf60x: add gpio support
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Bob Liu [Tue, 25 Oct 2011 10:07:58 +0000 (18:07 +0800)]
blackfin: bf60x: support big cplb page
BF60x support 16K, 64K, 16M and 64M cplb pages, this patch add support for them.
So that bf609-ezkit can use it's 128M memory.
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Bob Liu [Thu, 16 Aug 2012 03:19:08 +0000 (11:19 +0800)]
blackfin: bf60x: add dma support
Add dma support for bf60x.
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Sonic Zhang [Thu, 16 Aug 2012 03:16:02 +0000 (11:16 +0800)]
blackfin: bf60x: add serial support
Add serial for bf60x.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Sonic Zhang [Thu, 16 Aug 2012 03:56:14 +0000 (11:56 +0800)]
blackfin: bf60x: Port blackfin core architecture code to boot on bf60x.
Set up clocks, DDR controller, Nor flash controller, reboot,
serial port. Add new SPI boot modes.
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Bob Liu [Thu, 16 Aug 2012 03:10:41 +0000 (11:10 +0800)]
blackfin: bf60x: new processor header files
Add header files for blackfin new processor bf60x.
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
Stefano Babic [Sat, 23 Feb 2013 00:53:27 +0000 (00:53 +0000)]
SPL: Change description for spl command
Add a more descriptive text to the help of the spl
command.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Reviewed-by: Tom Rini <trini@ti.com>
Stefano Babic [Sat, 23 Feb 2013 00:53:26 +0000 (00:53 +0000)]
OMAP3: drop CONFIG_SPL_OS_BOOT_KEY and use local define
CONFIG_SPL_OS_BOOT_KEY is used only in board files. It is
not required to have a general CONFIG_ option. Rename it and
define it in board directory.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Reviewed-by: Tom Rini <trini@ti.com>
Stefano Babic [Sat, 23 Feb 2013 00:53:25 +0000 (00:53 +0000)]
Add README for the "Falcon" mode
Simple howto to add support to a board
for booting the kernel from SPL ("Falcon" mode).
Signed-off-by: Stefano Babic <sbabic@denx.de>
Reviewed-by: Tom Rini <trini@ti.com>
Simon Glass [Sun, 24 Feb 2013 17:33:32 +0000 (17:33 +0000)]
hash: Use lower case for hash algorithm names
Rather than use strcasecmp() in the hash algorithm search, require the
caller to do this first. Most of U-Boot can use lower case anyway, and
the hash command can convert to lower case before calling hash_command().
This saves needing strcasecmp() for boards that use hashing but not
the hash command.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 24 Feb 2013 17:33:31 +0000 (17:33 +0000)]
sandbox: Allow hash functions to work correctly
Use map_sysmem() so that hashing is possible on sandbox.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 28 Feb 2013 17:47:14 +0000 (17:47 +0000)]
sandbox: Update mtest to fix crashes
Use map_sysmem() in the memory tester so that it works as expected on
sandbox.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 24 Feb 2013 17:33:29 +0000 (17:33 +0000)]
Move CONFIG_SYS_MEMTEST_SCRATCH #ifdef to top of file
This config effectively has a default value of 0, so add this setting
at the top of the code to remove an #ifdef in the C function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 24 Feb 2013 20:29:23 +0000 (20:29 +0000)]
sandbox: config: Enable hash functions and mtest
Enable the hash command and sha1/256 hashing for sandbox. Also use a
better address for memory testing (since the existing one is set up
for linux host memory space).
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 24 Feb 2013 20:30:22 +0000 (20:30 +0000)]
Roll crc32 into hash infrastructure
Add the CRC32 algorithm to the list of available hashes, and make
the crc32 command use hash_command(). Add a new crc32_wd_buf() to
make this possible, which puts its result in a buffer rather than
returning it as a 32-bit value.
Note: For some boards the hash command is not enabled, neither
are sha1, sha256 or the verify option. In this case the full
hash implementation adds about 500 bytes of overhead. So as a
special case, we use #ifdef to select very simple bahaviour in
that case. The justification for this is that it is currently
a very common case (virtually all boards enable crc32 but only
some enable more advanced features).
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 24 Feb 2013 17:33:26 +0000 (17:33 +0000)]
hash: Add a flag to support saving hashes in the environment
Some hashing commands permit saving the hash in an environment variable,
and verifying a hash from there. But the crc32 command does not support
this. In order to permit crc32 to use the generic hashing infrastructure,
add a flag to select which behaviour to use.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 24 Feb 2013 17:33:25 +0000 (17:33 +0000)]
image: Use crc header file instead of C prototypes
We have an existing header which the crc32 definitions, so use it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 24 Feb 2013 17:33:24 +0000 (17:33 +0000)]
net: Use new numeric setenv functions
Use setenv_ulong(), setenv_hex() and setenv_addr() in net/
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 24 Feb 2013 17:33:23 +0000 (17:33 +0000)]
fs: Use new numeric setenv functions
Use setenv_ulong(), setenv_hex() and setenv_addr() in fs/
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 24 Feb 2013 17:33:22 +0000 (17:33 +0000)]
common: Use new numeric setenv functions
Use setenv_ulong(), setenv_hex() and setenv_addr() in common/
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 24 Feb 2013 17:33:21 +0000 (17:33 +0000)]
Update set_working_fdt_addr() to use setenv_addr()
We might as well use this common function instead of repeating the same
code.
Signed-off-by: Simon Glass <sjg@chromium.org>