9
0
Fork 0
Commit Graph

37 Commits

Author SHA1 Message Date
Sascha Hauer ee7f5d5d50 ARM: OMAP: Safe boot info in fixed SRAM address
Storing the boot information in the image itself and passing a pointer
around between images is cumbersome and doesn't fit well with multiimage
support where the pointer we pass around is already occupied by the
devicetree.
Do the same as U-Boot does and store the boot information at the bottom
of the SRAM public stack.
To maintain the compatibility between new xloaders and older barebox
binaries we still pass the boot information to the next stage via pointer.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-12-10 14:35:34 +01:00
Sascha Hauer 6d7fae1e97 Merge branch 'for-next/omap-devicetree-prepare' 2013-12-06 08:23:27 +01:00
Vicente Bergas 94e0337ef0 OMAP4: fix omap4_bootsource regression
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-25 08:30:09 +01:00
Sascha Hauer e0fbce20e6 ARM: OMAP: centralize omap startup
This introduces a single omap_init function which detects the
SoC and does all further SoC initialization. This is done to get
rid of initcalls without proper SoC protection. The same has been
done for i.MX already.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-22 21:34:06 +01:00
Sascha Hauer f56a48471a ARM: OMAP: select correct reset_cpu function at runtime
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-11-22 11:25:01 +01:00
Sascha Hauer 1081856788 ARM: include <gpio.h> instead of <mach/gpio.h>
The gpio api should be used from <gpio.h>

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-08-16 15:58:33 +02:00
Teresa Gámez c5c875ab7f arm: omap: store boot source info from ROM loader
The ROM loader passes the address of a buffer to the MLO in
register 0. Store this data so we can find the boot source later.
On the same way the bootinformation are passed to the barebox,
then. It has to be enshured that r0 contains always the
buffer or the boot source detection will not work.

Applied this on all OMAPs. This patch is based on work of
Jan Luebbe <jlu@pengutronix.de>.

Compile tested on all OMAP boards.
Tested on pcm049, phyCARD-A-L1 and pcm051.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Tested-by: Christoph Fritz <chf.fritz@googlemail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-07-10 23:30:42 +02:00
Sascha Hauer da05cbd69a Merge branch 'for-next/omap' 2013-07-01 10:14:40 +02:00
Jan Weitzel d10f26a5ff OMAP4: fix omap4_bootsource regression
commit d7a913469c breaks boot source detection
for pcm049. The tracing vectors shows all tested boot sources, so order is
important. By not returning but overwriting src we effectively reversed the
order if more than one flag is set.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-23 21:29:45 +02:00
Jan Weitzel 3795ffcacd OMAP4 do not set TPS62361_REG_ADDR_SET0
Don't set SET0 voltage, because it acts as boot voltage for OPP boot.
Take care that the kernel doesn't drive vset gpio to low. This may
happen while reseting the gpio module at initialization, look for
HWMOD_INIT_NO_RESET.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-23 20:51:48 +02:00
Jan Weitzel 88796b1a99 omap4: set voltage according to mpu freq
For OMAP4460 omap4_scale_vcores must set the voltage according to mpu freq.

OPP100  700MHz 1210mV
OPPTB   920MHz 1320mV
OPPNT  1200MHz 1380mV

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-06-18 21:33:55 +02:00
Jan Luebbe d7a913469c omap: move to common bootsource framework
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

Folded fix into this patch:

[PATCH] omap4 regression: set correct boot source

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
2013-04-18 08:01:26 +02:00
Vicente Bergas bb18fee0d8 OMAP4: add command to select next boot device priority
On OMAP4 SoC there is a SAR memory region (Save & Rescue)
where the ROM code reads the device to boot from.
This patch adds a way to set this.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-11 10:47:43 +02:00
Teresa Gámez c61cc98091 OMAP: Move bootsource functions
The bootsource functions are not specific to the first stage
bootloader. They may also be used for detecting the
bootsource to decide where to load the environment from.

Also clean up includes in board files.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2013-04-03 09:21:12 +02:00
Sascha Hauer 19b6121a56 ARM omap: include individual SoC files
- remove mach/silicon.h and include omap?-silicon.h directly
- include mach/omap?-clock.h directly where needed

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-12-19 21:51:49 +01:00
Sascha Hauer a9fe13a08b ARM omap4: make PRM defines SoC specific
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-12-19 21:51:49 +01:00
Sascha Hauer b9fd320cb3 ARM omap: Make timer base runtime configurable
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-12-19 21:51:49 +01:00
Robert P. J. Day d90be4efeb Define and use OMAP4 GPIO macros rather than magic constants.
Add and use meaningful macro names for OMAP4 GPIO addresses, and add a
comment to explain the 0x100 offset for OMAP4.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-12-05 19:55:09 +01:00
Vicente 6b4dc4d4f1 omap4: add support for booting cpu from usb
Signed-off-by: Vicente <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-11-16 15:32:31 +01:00
Vicente 9a6fd89480 omap4: add usb boot source
Signed-off-by: Vicente <vicencb@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-11-16 15:31:32 +01:00
Teresa Gámez f1ea7465b2 ARM OMAP: Enable gpio output
Enable output instead of disabling it.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-21 10:39:43 +02:00
Teresa Gámez 7764b1faca ARM OMAP: change region size for gpio banks
- increased the region size for OMAP3, as it was not correct
- decrease region size for OMAP4 to prevent overlapping.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-09 20:36:21 +02:00
Teresa Gámez f4226a9ed4 ARM OMAP: Remove usage of gpio lib calls in lowlevel code
As the gpio functions are not available at this point, set the gpio manually.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-10-09 20:36:21 +02:00
Teresa Gámez 29e4031b46 ARM OMAP: switch to gpiolib support
Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-09-24 21:29:09 +02:00
Jan Weitzel 054085bfba OMAP4460: ram init changes
configure  Memory Adapter for 4460

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-08-14 22:01:33 +02:00
Jan Weitzel d1d6369a56 Add support for OMAP4460 TPS62361
based on: [U-Boot] [PATCH v 4/5] omap4: support TPS programming
TPS62361 is the new power supply used in OMAP4460 that
supplies vdd_mpu.

VCORE1 from Phoenix supplies vdd_core and VCORE2 supplies
vdd_iva. VCORE3 is not used in OMAP4460.

Signed-off-by: F. Gasnier fabrice.gasnier@cenosys.com
Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-08-14 22:01:33 +02:00
Jan Weitzel ed35883442 ARM OMAP4: use writel and readl
replace *(volatile int*) by writel and readl

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-08-13 20:41:22 +02:00
Teresa Gámez 7b0de0e6fa OMAP4: small header cleanup
Use <mach/clocks.h> for OMAP4.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-07-25 08:36:33 +02:00
Robert P. J. Day 2c3db7776b Add support for OMAP4460 revision detection.
Without yet adding in the underlying code, extend the revision
checking code to return additional values for PandaBoard ES boards.
Much of the code was taken close to verbatim from U-Boot.
compile tested, and confirmed that this code behaves identically to
the original panda configure and build for the three pandas i have:

  * Rev A2 (boots)
  * Rev EA3 (boots)
  * Rev B1 ES (no output)

so while there's still work to be done, this at least represents the
necessary infrastructure to start *recognizing* panda ES boards.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Tested-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-04-13 12:04:03 +02:00
Teresa Gámez 1bdce4699f devices-gpmc-nand: Add OMAP4 gpmc nand timings
Add a OMAP4 specific GMPC nand config for pcm049 and phyCARD-A-XL2 to increase
performance. Also add the possiblility to pass a board GPMC nand config.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-03-15 20:55:07 +01:00
Jan Weitzel 4cf35a6c6d omap: move do_set_mux to omap4_generic
do_set_mux is used by two boards.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-03-07 09:55:45 +01:00
Jan Weitzel f3ef74832a omap: move scale_vcores to omap4_generic
scale_vcores is used by two boards.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-03-07 09:55:45 +01:00
Robert P. J. Day c9c75e4cf3 Add comment explaining what cortex_a9_rev() is doing.
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2012-02-10 12:34:53 +01:00
Sascha Hauer 3ee7877a48 introduce io.h
To allow for some generic io accessors introduce io.h and use
this instead of asm/io.h throughout the tree.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-09-22 19:03:05 +02:00
Jan Weitzel 61a2ccfbae OMAP4: change boot order
If OMAP4 fall back to MMC1 boot in bootmode 0x39 (NAND,USB,UART,MMC1)
NAND and MMC bit in TRACING_VECTOR3 are set. With changed order it will
detect boot from MMC.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-18 09:27:36 +02:00
Sascha Hauer 1cf3936829 ARM omap: add xload helper functions
Add some common xload helper functions to determine the boot source
on omap3/4 and to load images from mmc and nand.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-12 09:54:57 +02:00
Sascha Hauer 0065062124 ARM omap: Add omap4 support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-04-12 09:54:57 +02:00