Commit graph

876 commits

Author SHA1 Message Date
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
Sascha Hauer
5987c9c2a6 ARM STM/i.MX: remove GENERIC_GPIO from ARCH_STM
This architecture does not have gpio support yet.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:21:48 +01:00
Juergen Beisert
5cd3372315 STM378x: Add the TX28 Starterkit-5 baseboard
This file is to be used in conjunction with the TX28 CPU module.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:15:07 +01:00
Juergen Beisert
5945a269d3 STM378x: Add TX28 CPU module
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:15:07 +01:00
Juergen Beisert
cf463d7430 MX28: add FEC support
The i.MX28 comes with an extended ethernet controller (ENET/FEC) which
is backwards compatible to the FEC known from other i.MX CPUs. Add a few
adaptions to the existing driver to make it work with the MX28 FEC.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:15:07 +01:00
Juergen Beisert
03e61e1bd9 STM378x: Add i.MX28 architecture
The i.MX28 shares a lot of functionality with its predecessor, the
i.MX23 (formerly known as stm378x). This patch adds some files to support
both CPUs.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:15:06 +01:00
Juergen Beisert
b70873a219 IMX: Ignore i.MX23/i.MX28 related code in shared devices
At least the FEC and the CAN controller drivers can also be used by the i.MX28.
When still used by IMX, the i.MX28 (and maybe i.MX23) related code must be
ignored.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:15:06 +01:00
Juergen Beisert
f45d359d41 STM378x: Separate i.MX23 clock handling
Separate i.MX23 clock handling to simplify the addition of the upcoming i.MX28.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:15:06 +01:00
Juergen Beisert
814f17253c STM378x: Parameterize the max. possible GPIO number
This is for easier integration of the i.MX28 architecture (to share the code
later on).

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:15:06 +01:00
Juergen Beisert
8dc537022e STM378x: Use Hz as the clock unit like in all other arch
i.MX23 currently uses kHz as the unit for its clock handling and calculation
to avoid overflows when calculation with the internal 480 MHz PLL and its
fractional divider. This patch changes all routines to accept Hz and deliver
Hz as the clock unit.

Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:15:06 +01:00
Juergen Beisert
f9a11ecfef Make DIV_ROUND_UP macro globally available
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-14 15:15:06 +01:00
Alexey Zaytsev
adcebd48f6 Add basic support from ARM Versatile/PB
tested with qemu only

qemu-system-arm -M versatilepb -monitor null -kernel barebox -net nic -net user -tftp "<uImage-path>/" -serial stdio

add -nographic if you do not want the lcd via sdl

Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>

update:
 - use default env
 - move arm_timer.h as in the kernel
 - add nor flash support
 - udpate defconfig
 - fix copyright copy from linux
 - fix ARCH_TEXT_BASE

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-12 09:26:50 +01:00
Marc Reilly
cebd35e4e8 imx: add IMX_GPIO_NR macro.
Simplifies specifying gpio numbers from bank/number info.
From linux kernel.

Signed-off-by: Marc Reilly <marc@cpdesign.com.au>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-12 09:26:25 +01:00
Marc Reilly
4f21f1ec97 arm: update mach-types
Signed-off-by: Marc Reilly <marc@cpdesign.com.au>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-10 10:06:18 +01:00
Sascha Hauer
e987040bc9 Merge branch 'next' 2010-12-03 16:25:32 +01:00
Marek Belisko
b1dd843c02 arm: mini2440: Add memory size.
MINI240 board has available always 64M of memory so add
size to memory device structure.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-12-03 16:12:31 +01:00