Commit graph

691 commits

Author SHA1 Message Date
Jean-Christophe PLAGNIOL-VILLARD
be4146161b import swab.h arch implementation form linux v2.3.37
this will avoid __bswapsi2 issue see with gcc 4.5.1

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-17 09:39:16 +01:00
Jean-Christophe PLAGNIOL-VILLARD
f68dc40804 arm: add __bswapsi2 support
32-bit endian conversion

needed by gcc 4.5.1

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-17 09:39:16 +01:00
Jean-Christophe PLAGNIOL-VILLARD
d62f8241d3 arm: libgcc update to linux v2.6.37
This patch removes the inclusion of libgcc functions into Barebox on the ARM
architecture. Only the really needed functions are provided in the lib_arm
directory. Those implementations are copied from Linux where they are well
proven related to reliably, performance.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-17 08:28:08 +01:00
Jean-Christophe PLAGNIOL-VILLARD
643ffef5f4 Thumb-2: Add macros for the unified assembler syntax
from linux kernel v2.6.37

This patch adds various C and assembler macros that help with using
the unified assembler syntax for compiling files to either ARM or
Thumb-2 modes.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-17 08:27:26 +01:00
Sascha Hauer
00cf17c957 ARM pca100: update defconfig
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-13 15:11:53 +01:00
Marc Reilly
9345851a60 imx: add reg definitions for imx25 and imx35 boot source.
Signed-off-by: Marc Reilly <marc@cpdesign.com.au>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-10 20:04:34 +01:00
Eric Bénard
fab0a4dbe7 eukrea_cpuimx25: update defconfig
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-08 13:26:48 +01:00
Eric Bénard
4c1f9e97b9 eukrea_cpuimx25: switch to default environement
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-08 13:26:48 +01:00
Eric Bénard
8a434b9a8c eukrea_cpuimx25: add led support
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-08 13:26:48 +01:00
Sascha Hauer
8a97bb978c Merge branch 'scb9328' into next 2011-01-08 13:09:26 +01:00
Sascha Hauer
993bc1afff ARM scb9328: increase barebox partition size
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-07 15:27:48 +01:00
Sascha Hauer
59ef99001d update scb9328_defconfig
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-07 13:56:27 +01:00
Sascha Hauer
67f284e9bb scb9328: remove useless bin/init file from env
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-07 13:55:45 +01:00
Krzysztof Halasa
ffcdb2796a ARM: support big/little endian switching in "bootX".
Currently implemented only in "bootz".

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-07 10:21:22 +01:00
Krzysztof Halasa
c5baa0edc4 Fix error handling with malloc, memalign etc. Introduce xmemalign().
The idea is to panic() when there is no memory available for normal
operation. Exception: code which can consume arbitrary amount of RAM
(example: files allocated in ramfs) must report error instead of panic().

This patch also fixes code which didn't check for NULL from malloc() etc.

Usage: malloc(), memalign() return NULL when out of RAM.
xmalloc(), xmemalign() always return non-NULL or panic().

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-07 10:21:22 +01:00
Sanjeev Premi
d4d7a19258 omap3: Define GFX_DIV values for OMAP34xx and OMAP36xx
This patch updates the clock dividers for the graphics
processor.

It is based on commit:
    c4e1d9b718b65436e30422506f43fa4eb21069d3
    at http://arago-project.org/git/projects/?p=u-boot-omap3.git

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-05 11:05:25 +01:00
Sanjeev Premi
f2fccf6473 omap3: Avoid sudden change to SYS_CLK divider
In function get_osc_clk_speed(), the SYS_CLK divider
was being changed 'suddenly'.

This change has cascading effect on the derived clocks,
leading to inconsistent behavior - often a crash.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-05 11:05:25 +01:00
Sanjeev Premi
d03d53f9d5 omap36x: Perform basic clock initialization
This patch adds the basic clock initizlization for OMAP36XX.

Portion of this patch is based on commit:
    29587220909e639cda4fb5a35cb5bf33aba242b9
    at http://arago-project.org/git/projects/?p=x-load-omap3.git

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-05 11:05:25 +01:00
Sanjeev Premi
13cfb32d28 omap36x: Define per domain functions for DPLL configuration
This patch defines functions that contain steps to configure
DPLL for each clock domain.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-05 11:05:25 +01:00
Sanjeev Premi
ae03d48f09 omap36x: Add DPLL tables and functions to access them
This patch adds the DPLL tables for OMAP36XX and the
necessary functions to access these tables.

Both definitions follow the conventions used for
OMAP34XX.

All tables, currently, correspond to SYSCLK at 26MHz.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-05 11:05:25 +01:00
Sanjeev Premi
76fab3545a omap36x: Define structure for PER DPLL
The PER domain dpll significantly differs from 34x.
This patch defines struct to collate related info.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-05 11:05:25 +01:00
Sanjeev Premi
82884c2b31 omap36x: Detect silicon revisions
This patch adds support to detect the different
OMAP36XX silicon revisions.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-05 11:05:25 +01:00
Sanjeev Premi
752fd26153 omap36x: Add support for dynamic detection
This patch adds the support to detect OMAP3630.

It also re-organizes the CPU_xxxx definitions in sys_info.h
to ascending order so that newer silicons can be added at
bottom.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-05 11:05:25 +01:00
Marc Reilly
2d92d08db8 Put the explicit flash header sections back in.
This (re)enables boards to have multiple boot headers so that the one
image can be used for booting from multiple boot sources.

Signed-off-by: Marc Reilly <marc@cpdesign.com.au>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-05 10:29:29 +01:00
Sanjeev Premi
8b4574dd2b omap34x: Add suffix to DPLL tables and related function
This patch adds suffix 34x to DPLL tables and related functions to
indicate that they are applicable to OMAP34XX only.

The suffix was required to prepare for support of OMAP36XX in the
subsequent patch series.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-03 12:45:48 +01:00
Sanjeev Premi
0482a9573d omap3: Select DPLL tables based on cpu revision
This patch updates the DPLL functions to return correct
DPLL table based on the cpu revision.

The DPLL table for PER domain is same across all revisions,
but the function signature has been updated to maintain
consistency in the API definition.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-03 12:45:43 +01:00
Sanjeev Premi
d778627141 omap3: Define separate functions for DPLL configuration
Content from monolith implementation in prcm_init() has been
moved into separate functions - per clock domain. This makes
code easy to adapt for silicon revisions and families.

Few cosmetic changes may have been done during this movement.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-03 12:45:42 +01:00
Sanjeev Premi
580dd18d0e omap3: Add DPLL tables for silicon rev 1 and 2
This patch adds DPLL tables for OMAP34xx ES1.0 and ES2.0.

When more than one table is added, the get_xxx_dpll_param()
was updated to use the tables corresponding to ES2.0 to
ensure that current functionality doesn't break.

In addition, the tables have been reformatted for better
readability.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-03 12:45:42 +01:00
Sanjeev Premi
0bb8b98624 omap3: Update method to detect si revision
This patch ensures that all silicon revisions
are detected. (Current implementation cannot
detect ES1.0).

In the process, the 'seemingly' hardcoded macros
identifying cpu revision (e.g. CPU_ES1P1) have
been updated to include the CPU name as well.
(The mapping of IDCODE value to silicon revision
may not be same across different OMAP families).

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-03 12:45:42 +01:00
Sanjeev Premi
0c49e7056c omap3: Detect cpu based on hawkeye
This patch sets the cpu type based on the hawkeye value
read from the IDCODE register. So far, cpu type was
hardcoded.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-03 12:45:42 +01:00
Sanjeev Premi
7e4e7b0d01 omap3: Add macros to extract hawkeye and version
This patch adds macros to extract the hawkeye
and version number from IDCODE value.

Updated function get_cpu_rev() to use new macro.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2011-01-03 12:45:42 +01:00
Juergen Beisert
31a43f8e23 ARM Chumby: Add list of available GPIOs and their meaning
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 16:03:41 +01:00
Juergen Beisert
5f10852e76 ARM STM/i.MX: Replace cryptic numbers
Try to make the source more understandable.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 16:03:41 +01:00
Juergen Beisert
71840c6f32 ARM STM/i.MX: Avoid very long lines
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 16:03:41 +01:00
Juergen Beisert
d0beffbfa9 ARM STM/i.MX: Add support for the gpio commands
Just an architecture improvement.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 16:03:41 +01:00
Juergen Beisert
ddfd43b44e ARM STM/i.MX: Just fix the docs
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 16:03:41 +01:00
Juergen Beisert
64d4d84ecc ARM STM/i.MX: Setting the iomux needs at least 32 bit.
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 16:03:40 +01:00
Juergen Beisert
80b3e1c79d ARM STM/i.MX: Remove variable size restrictions in iomux managing routines
There is no really need for restricted variable types for the parameters.
Replace them by standard C types with the same behaviour.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 16:03:40 +01:00
Juergen Beisert
ba18759ed8 ARM STM/i.MX: Fix register offset calculation for GPIO input pins
Fix the forgotten register calculation for GPIO input pins.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 16:03:40 +01:00
Krzysztof Halasa
fdf5768a1b ARM: support big-endian processors.
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 09:02:40 +01:00
Juergen Beisert
5512fd7ead ARM Chumby-Falconwing: Add a user for video graphics support on i.MX23
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 08:26:09 +01:00
Juergen Beisert
d8bf4b528a ARM KARO-TX28-STK5: Add a user for video graphics support on i.MX28
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 08:26:09 +01:00
Juergen Beisert
85f47a97ca ARM STM/i.MX: Add video driver for i.MX23/i.MX28
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 08:26:09 +01:00
Juergen Beisert
7aec19c9b7 ARM STM/i.MX: Add a pixel clock calculation routine for i.MX23/i.MX28
In order to support video graphics output on i.MX23/i.MX28 based platforms,
a calculation routine for the pixel clock is required.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 08:26:08 +01:00
Juergen Beisert
11c523d784 ARM Chumby: Just fix some typos
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 08:26:08 +01:00
Juergen Beisert
75a8a04d37 ARM Chumby: Fix unit of the clocks after the change to Hz
With the change to Hz as the main clock unit on the STM architecture the
Chumby must also use this unit.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 08:26:08 +01:00
Juergen Beisert
beab423f86 ARM Chumby: Fix memory index
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-21 08:26:08 +01:00
Sascha Hauer
50352ae9d9 Merge branch 'led' into next 2010-12-21 08:25:31 +01:00
Sascha Hauer
786bd3cba3 ARM pcm043 board: Add LED support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-20 09:57:36 +01:00
Sascha Hauer
97d6b6aac3 ARM tx28stk5_defconfig: update config
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:22:55 +01:00