summaryrefslogtreecommitdiff
path: root/include/asm-arm/arch-omap3
Commit message (Collapse)AuthorAgeLines
* Move architecture-specific includes to arch/$ARCH/include/asmPeter Tyser2010-04-13-2546/+0
| | | | | | | | This helps to clean up the include/ directory so that it only contains non-architecture-specific headers and also matches Linux's directory layout which many U-Boot developers are already familiar with. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* OMAP3 Move declaration of gpmc_cfg.Tom Rix2010-02-12-0/+4
| | | | | | | | | Every omap3 board config file declared the global variable gpmc_cfg. This changes moves the declaration to a better location in the arch dependent header file cpu.h. Signed-off-by: Tom Rix <Tom.Rix@windriver.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* OMAP3: Fix SDRC initNishanth Menon2009-11-27-0/+1
| | | | | | | | | | Defaults are for Infineon DDR timings. Since none of the supported boards currently do XIP boot, these seem to be faulty. fix the values as per the calculations(ACTIMA,B), conf the sdrc power with pwdnen and wakeupproc bits Signed-off-by: Nishanth Menon <nm@ti.com>
* OMAP3:SDRC: introduce DDR typesNishanth Menon2009-11-27-19/+72
| | | | | | | | | | | | | | Micron DDR timings based on: http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=blob;f=include/asm/arch-omap3/mem.h;h=e6fbfe3947f5d0d85fea776e30821d4017316d86;hb=HEAD Introduce Micron DDR timings and provide CONFIG_OMAP3_INFINEON_DDR and CONFIG_OMAP3_MICRON_DDR config options to allow for platform files to setup their timings as per the type of DDR selected Reported-by: Steve Sakoman in http://www.nabble.com/forum/Permalink.jtp?root=25779518&post=25959734&page=y Signed-off-by: Nishanth Menon <nm@ti.com>
* OMAP3:SDRC: Cleanup references to SDPNishanth Menon2009-11-27-9/+2
| | | | | | Remove SDP referenced unused defines Signed-off-by: Nishanth Menon <nm@ti.com>
* OMAP2/3: I2C: Add support for second and third busDirk Behme2009-11-16-15/+34
| | | | | | | | | | Add support to use second and third I2C bus, too. Bus 0 is still the default, but by calling i2c_set_bus_num(1/2) before doing I2C accesses, code can switch to bus 1 and 2, too. Don't forget to switch back afterwards, then. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* TI OMAP3: make gpmc_config as constNishanth Menon2009-10-24-1/+1
| | | | | | | | | | | gpmc_config should not be a variant as it is board specific hence make it a const parameter Fixes issues identified by Dirk: - build issue for zoom2 - warnings for all other OMAP3 platforms using nand/onenand etc Signed-off-by: Nishanth Menon <nm@ti.com>
* OMAP3: export enable_gpmc_cs_config to board filesNishanth Menon2009-10-18-0/+2
| | | | | | | | | Export enable_gpmc_cs_config into common header to prevent warning: warning: implicit declaration of function 'enable_gpmc_cs_config' Signed-off-by: Nishanth Menon <nm@ti.com>
* OMAP3 MMC: Fix warning dereferencing type-punned pointerDirk Behme2009-10-13-0/+7
| | | | | | | | | Fix warning Dereferencing type-punned pointer will break strict-aliasing rules Signed-off-by: Dirk Behme <dirk.behme@googlemail.com> CC: Steve Sakoman <sakoman@gmail.com> Acked-by: Tom Rix <Tom.Rix@windriver.com>
* OMAP3 Move cache routine to cache.STom Rix2009-10-13-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | v7_flush_dcache_all, because it depends on omap ROM code is not generic. Rename the function to 'invalidate_dcache' and move it to the omap cpu directory. Collect the other omap cache routines l2_cache_enable and l2_cache_disable with invalide_dcache into cache.S. This means removing the old cache.c file that contained l2_cache_enable and l2_cache_disable. The conversion from cache.c to cache.S was done most through disassembling the uboot binary. The only significant change was to change the comparision for the return of get_cpu_rev from cmp r0, #0 beq earlier_than_label Which was lost information to cmp r0, #CPU_3XX_ES20 blt earlier_than_label The paths through the enable routine were verified by adding an infinite loop and seeing the hang. Then removing the infinite loop and seeing it continue. The disable routine is similar enough that it was not tested with this method. Run tested by cold booting from nand on beagle and zoom1. Compile tested on MAKEALL arm. Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
* omap3: Fixed a problem with hweccBen Goska2009-08-18-2/+2
| | | | | | | | In commit 187af954cf7958c24efcf0fd62289bbdb4f1f24e there was a typo that offset all the ecc registers by 4 bytes, fixed that. Signed-off-by: Ben Goska <goskab@onid.oregonstate.edu> Acked-by: Dirk Behme <dirk.behme@googlemail.com>
* OMAP3: Fix missing GPMC_CONFIG_CS0_BASEDirk Behme2009-08-10-0/+1
| | | | | | | | | | Applying two indepenent OMAP3 patches resulted in missing GPMC_CONFIG_CS0_BASE. Patch "omap3: embedd gpmc_cs into gpmc config struct" removes GPMC_CONFIG_CS0_BASE, independent patch "omap3: bug fix for NOR boot support" introduces it's usage. Re-introduce GPMC_CONFIG_CS0_BASE. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* omap3: use only fixed-size types inside ctrl_structsDirk Behme2009-08-08-194/+218
| | | | | | | | | | replace variable types in ctrl_structs for omap3 by those with fixed size (u8, u16, u32). Additional ifndef-protection is needed by examples which do not compile when including asm/types.h Signed-off-by: Matthias Ludwig <mludwig@ultratronik.de> Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* omap3: remove typedefs for configuration structsDirk Behme2009-08-08-31/+31
| | | | | Signed-off-by: Matthias Ludwig <mludwig@ultratronik.de> Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* omap3: embedd gpmc_cs into gpmc config structMatthias Ludwig2009-08-07-23/+18
| | | | | | | | | Embedd chip select configuration into struct for gpmc config instead of having it completely separated as suggested by Wolfgang Denk on http://lists.denx.de/pipermail/u-boot/2009-May/052247.html Signed-off-by: Matthias Ludwig <mludwig@ultratronik.de>
* OMAP3 Remove twl4030 definesTom Rix2009-07-29-35/+0
| | | | | | | | | These defines have been subplanted by the equivelent defines in include/twl4030.h Signed-off-by: Tom Rix <Tom.Rix@windriver.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Heiko Schocher <hs@denx.de>
* OMAP I2C Fix the sampling clock.Tom Rix2009-07-28-7/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This problem is seen on Zoom1 and Zoom2 in the startup and when i2c probe is used Before : In: serial Out: serial Err: serial timed out in wait_for_bb: I2C_STAT=1000 timed out in wait_for_bb: I2C_STAT=1000 timed out in wait_for_bb: I2C_STAT=1000 timed out in wait_for_pin: I2C_STAT=1000 I2C read: I/O error timed out in wait_for_bb: I2C_STAT=1000 timed out in wait_for_bb: I2C_STAT=1000 Die ID #327c00020000000004013ddd05026013 Hit any key to stop autoboot: 0 OMAP3 Zoom1# i2c probe Valid chip addresses:timed out in wait_for_bb: I2C_STAT=1000 02 03 04 05 06 07 08 09 0A 0B 0C 0D <snip> After : In: serial Out: serial Err: serial Die ID #327c00020000000004013ddd05026013 Hit any key to stop autoboot: 0 OMAP3 Zoom1# i2c probe Valid chip addresses: 48 49 4A 4B The addresses are for the twl4030. The prescalar that converts the function clock to the sampling clock is hardcoded to 0. The reference manual recommends 7 if the function clock is 96MHz. Instead of just changing the hardcoded values, the prescalar is calculated from the value I2C_IP_CLK. The i2c #defines are in kHz. The speed passed into the i2c init routine is in Hz. To be consistent, change the defines to be in Hz. The timing calculations are based on what is done in the linux 2.6.30 kernel in drivers/i2c/buses/i2c_omap.c as apposed to what is done in TRM. The major variables in the timing caculations are specified as #defines that can be overriden as required. The variables and their defaults are I2C_IP_CLK SYSTEM_CLOCK_96 I2C_INTERNAL_SAMPLING_CLK 19200000 I2C_FASTSPEED_SCLL_TRIM 6 I2C_FASTSPEED_SCLH_TRIM 6 I2C_HIGHSPEED_PHASE_ONE_SCLL_TRIM I2C_FASTSPEED_SCLL_TRIM I2C_HIGHSPEED_PHASE_ONE_SCLH_TRIM I2C_FASTSPEED_SCLH_TRIM I2C_HIGHSPEED_PHASE_TWO_SCLL_TRIM I2C_FASTSPEED_SCLL_TRIM I2C_HIGHSPEED_PHASE_TWO_SCLH I2C_FASTSPEED_SCLH_TRIM This was runtime verified on Zoom1, Zoom2, Beagle and Overo. The 400kHz and 3.4M cases were verifed on test Zoom1, Zoom2, Beagle and Overo configurations. Testing for omap2 will be done in a second step as Nishanth and Jean-Christophe commented. Signed-off-by: Tom Rix <Tom.Rix@windriver.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Heiko Schocher <hs@denx.de>
* OMAP3EVM: fix typo. replace CS6 by CS5, no functionality changeMatthias Ludwig2009-07-06-2/+3
| | | | Signed-off-by: Matthias Ludwig <mludwig@ultratronik.de>
* OMAP3 Port kernel omap gpio interface.Tom Rix2009-06-12-0/+86
| | | | | | | | | Port version 2.6.27 of the linux kernel's omap gpio interface to u-boot. The orignal source is in linux/arch/arm/plat-omap/gpio.c See doc/README.omap3 for instructions on use. Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
* OMAP3: Print correct silicon revisionSanjeev Premi2009-04-29-5/+9
| | | | | | | | | | The function display_board_info() displays incorrect silicon revision - based on the return value from function get_cpu_rev(). This patch fixes the problem. Signed-off-by: Sanjeev Premi <premi@ti.com>
* OMAP3: Remove unused board-typesSanjeev Premi2009-04-29-11/+0
| | | | | | | | | | | The board-types defined in struct omap3_sysinfo seem to be unused. The function display_board_info() is passed board type as an argument; which is ignored. This patch removes all uses of board-type, related definitions and functions. Signed-off-by: Sanjeev Premi <premi@ti.com>
* OMAP3: Use functions print_cpuinfo() and checkboard()Sanjeev Premi2009-04-29-1/+0
| | | | | | | | | | | | | | | Use the functions print_cpuinfo() and checkboard() to display the cpu and board specific information. These functions reuse content from the existing function display_board_info() - which has been removed. Also, updated the existig OMAP3 configurations to define: - CONFIG_DISPLAY_CPUINFO - CONFIG_DISPLAY_BOARDINFO Signed-off-by: Sanjeev Premi <premi@ti.com>
* OMAP3: Add support for OMAP3 die IDDirk Behme2009-03-13-0/+15
| | | | | | Read and store OMAP3 die ID in U-Boot environment. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* OMAP3: Clean up MMC codeDirk Behme2009-02-22-23/+44
| | | | | | | | | | Clean up OMAP3 MMC code: * Convert register access to struct & readx/writex style * Replace hardcode values by macros * Remove macro defined twice Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* OMAP3: Add OMAP3 auto detectionDirk Behme2009-02-22-1/+20
| | | | | | | | This patch adds OMAP3 cpu type auto detection based on OMAP3 register and removes hardcoded values. Signed-off-by: Steve Sakoman <sakoman@gmail.com> Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* OMAP3: Beagle: Add board revision detectionDirk Behme2009-02-22-1/+2
| | | | | | | | | | | | | | | | | | With BeagleBoard revision C some HW changes are introduced (e.g. PinMUX) which might need different software handling. For this, GPIO pin 171 (GPIO module 6, offset 11) can be used to check for board revision. If this pin is low, we have a rev C board. Else it must be a revision Ax or Bx board. To handle board differences you can call function beagle_get_revision(). E.g.: if (beagle_get_revision()) { /* do special revision C stuff here */ } Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* Coding style cleanup; update CHANGELOGWolfgang Denk2009-02-12-1/+0
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* OMAP3: Add I2C supportDirk Behme2009-01-24-0/+128
| | | | | | Add I2C support. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* OMAP3: Add MMC supportDirk Behme2009-01-24-0/+401
| | | | | | Add MMC support. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* OMAP3: Add OMAP3, memory and function prototype headersDirk Behme2009-01-24-0/+662
| | | | | | Add OMAP3, memory and function prototype header files for OMAP3. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* OMAP3: Add pin mux, clock and cpu headersDirk Behme2009-01-24-0/+1099
Add pin mux, clock and cpu header files for OMAP3. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>