aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
Commit message (Collapse)AuthorAge
* OMAP3: cpuidle: Update statistics for correct stateSanjeev Premi2010-02-23
| | | | | | | | | | | | | | | | | | | When 'enable_off_mode' is 0, the target power state for MPU and CORE was locally changed to PWRDM_POWER_RET but, the statistics are updated for idle state originally selected by the governor. This patch 'invalidates' the idle states that lead either of MPU or Core to PWRDM_POWER_OFF state when 'enable_off_mode' is '0'. The states are valid once 'enable_off_mode' is set to '1'. Added function next_valid_state() to check if current state is valid; else get the next valid state. It is called from omap3_enter_idle_bm(). Signed-off-by: Sanjeev Premi <premi@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
* Merge branch 'omap-fixes-for-linus' into omap-for-linusTony Lindgren2010-02-17
|\
| * omap: Remove DEBUG_FS dependency for mux name checkingRanjith Lohithakshan2010-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The check for a valid mux name should be performed regardless of whether DEBUG_FS is enabled or not. Otherwise without DEBUG_FS, we get: Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0004000 [00000000] *pgd=00000000 Internal error: Oops: 5 [#1] last sysfs file: Modules linked in: CPU: 0 Not tainted (2.6.33-rc8 #10) PC is at strcmp+0x18/0x40 LR is at omap_mux_init_signal+0x68/0x14c ... This fixes the issue currently seen with boards not booting up if DEBUG_FS is not enabled in defconfig. Note that the earlier ifndef + ifdef now becomes simpler ifdef else: If CONFIG_OMAP_MUX is selected, we use pin names. If it's not selected, we only want the GPIO to mux register mapping. Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | arm: omap: kill compile warning on board-4430-sdp.cFelipe Balbi2010-02-15
| | | | | | | | | | | | | | sdp4430_uart_config isn't used anywhere, so remove it. Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | AM35xx: Introduce am35xx.h fileVaibhav Hiremath2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | Add base address definations for new AM35xx IPSS modules, like VPFE, USBOTG, CPGMAC. Please note that the OMAP34xx IVA2 memory space is being used for AM35xx IPSS modules. Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Sriramakrishnan <srk@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap3: pm: Add T2 Keypad as a wakeup sourceLesly A M2010-02-15
| | | | | | | | | | | | | | | | | | Changes for setting the padconf value for sys_nirq line which is connected to T2 INTR1. This will fix the T2 keypad wakeup. Signed-off-by: Lesly A M <x0080970@ti.com> Signed-off-by: Teerth Reddy <teerth@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap3: Clean-up for omap_mux_initTony Lindgren2010-02-15
| | | | | | | | | | | | | | Get rid of the ifdeffery in omap_mux_init by creating omap_mux_init_package and omap_mux_init_signals functions. Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap_hsmmc: Allow for a shared VccQAdrian Hunter2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EMMC can have two voltage supplies, Vcc and VccQ which are implemented in the code as consumer supplies vmmc and vmmc_aux. If the regulator that supplies vmmc_aux is shared with other consumers, then sending it to sleep will disrupt those consumers. However, the TWL4030-family regulators may have OFF remapped to SLEEP, in which case 'regulator_disable()' will put the regulator to sleep only when all consumers are disabled - which is the desired behaviour. This patch adds a platform data field to allow that option. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap_hsmmc: Allow for power saving without going offAdrian Hunter2010-02-15
| | | | | | | | | | | | | | | | | | An eMMC may be always powered on, so that the lowest power saving state possible is sleeping. Add a field to the platform data to indicate that. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap: RX51: Remux to pull eMMC lines down when powering offAdrian Hunter2010-02-15
| | | | | | | | | | | | | | | | | | | | | | It has been discovered that, when eMMC is powered off, current will flow from OMAP eMMC data pull-ups to the eMMC voltage supply. Configuring pads for OMAP off-mode does not help because eMMC is powered off independently of OMAP off-mode. Hence the pads are now re-configured when eMMC is powered on or off. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap: Reconnect hsmmc context loss countAdrian Hunter2010-02-15
| | | | | | | | | | | | | | | | Call the PM context-loss count function, now that there is a prototype for it. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap: Rename hsmmc symbols to reflect independence from twl4030Adrian Hunter2010-02-15
| | | | | | | | | | | | | | | | hsmmc.[ch] no longer has any dependency on twl4030 and variable names should be renamed to reflect that. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap: Rename mmc-twl4030 files to hsmmcAdrian Hunter2010-02-15
| | | | | | | | | | | | | | | | mmc-twl4030.[ch] no longer has any dependency on twl4030 and should be renamed to reflect that. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap_hsmmc: Move gpio and regulator control from board fileAdrian Hunter2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves the setup code for GPIO's and Voltage Regulators from the board file mmc-twl4030.c to the driver omap_hsmmc.c. PBIAS and other system control configuration remains in the board file. Moving GPIO code to the driver makes the board initialisation code independent of when GPIO's are defined. That makes the board initialisation now entirely independent of its original twl4030 roots. Moving Voltage Regulator code to the driver allows for further development of regulator support in the core MMC code. It also permits the MMC core to be compiled as a module, because the board code no longer calls MMC core functions. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap3: Add support for flash on 3430SDP boardVimal Singh2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for flashes on 3430SDP boards. All three NAND, NOR and OneNAND are supported. I have tested it on 3430SDP (ES2 and ES3.1). This patch can be treated as an example to "how to utilize": 'gpmc-nand.c' and 'board-sdp-flash.c'. Similar patches can be created for 2430sdp and 3630sdp or any other similar board. Signed-off-by: Vimal Singh <vimalsingh@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap3: SDP: Introducing 'board-sdp-flash.c' for flash initVimal Singh2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds 'board-sdp-flash.c', which could be utilized by boards similar to 3430SDP. (For ex: 2430sdp, 36030sdp). This file does initialization for all three flash devices present in SDP boards (NOR, NAND, OneNAND), by finding there 'cs' number dynamically using switch setting information (S8: 1-4). This also expects partition information from core board files (for ex: board-3430sdp.c). Which allows to choose different default partitions for different boards. A new structure is created for this purpose: 'flash_partitions' in 'mach/board-sdp.h'. This has two members: 1. struct mtd_partition *parts 2. int nr_parts A board file is expected to fill this structure and pass it to 'sdp-flsash-init'. Partition information should be passed in structure array of 'flash_partitions'. Partition information should be passed in below sequence in array: NOR OneNAND NAND Signed-off-by: Vimal Singh <vimalsingh@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: Introducing 'gpmc-nand.c' for GPMC specific NAND initVimal Singh2010-02-15
| | | | | | | | | | | | | | | | | | | | Introducing 'gpmc-nand.c' for GPMC specific NAND init. For example: GPMC timing parameters and all. This patch also migrates gpmc related calls from 'nand/omap2.c' to 'gpmc-nand.c'. Signed-off-by: Vimal Singh <vimalsingh@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: serial: fix coding style indentaionvikram pandita2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | No logical code change Fix coding style indentaion as per checkpatch.pl Fix multi-line comment style reported by Nishanth Menon Signed-off-by: Vikram Pandita <vikram.pandita@ti.com> Cc: Nishanth Menon <nm@ti.com> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: gpmc: kill compile warningFelipe Balbi2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | Get rid of the following warnings: arch/arm/mach-omap2/gpmc.c:550:30: warning: non-ANSI function declaration of function 'omap3_gpmc_save_context' arch/arm/mach-omap2/gpmc.c:581:33: warning: non-ANSI function declaration of function 'omap3_gpmc_restore_context' Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: mailbox: kill compile warning in mailbox.cFelipe Balbi2010-02-15
| | | | | | | | | | | | | | Change %d to %ld to avoid the compile warning. Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap: McBSP: Introduce caching in register write operationsJanusz Krzysztofik2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Determine cache size required per McBSP port at init time, based on processor type running on. Allocate space for storing cached copies of McBSP register values at port request. Modify omap_msbcp_write() function to update the cache with every register write operation. Modify omap_mcbsp_read() to support reading from cache or hardware. Update MCBSP_READ() macro for modified omap_mcbsp_read() function API. Introduce a new macro that reads from the cache. Tested on OMAP1510 based Amstrad Delta using linux-omap for-next, commit fb7380d70e041e4b3892f6b19dff7efb609d15a4 (2.6.33-rc3+ dated 2010-01-11). Compile-tested with: omap_perseus2_730_defconfig, omap_generic_1610_defconfig, omap_generic_2420_defconfig, omap_2430sdp_defconfig, omap_3430sdp_defconfig, omap_4430sdp_defconfig with CONFIG_OMAP_MCBSP=y selected. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Jarkko Nikula <jhnikula@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap: convert boards to use physmap-flashLadislav Michl2010-02-15
| | | | | | | | | | | | | | | | | | Convert OMAP based boards to use physmap-flash. Refreshed against today's Linux omap kernel tree Cc: linux-mtd@lists.infradead.org Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: Fix mach-omap2/serial.c for multibootTony Lindgren2010-02-15
| | | | | | | | | | | | | | Initialize UART4 only for 3630 and 44xx. Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap3/4: Fix compile for multi-omap for clkops_noncore_dpll_opsTony Lindgren2010-02-15
| | | | | | | | | | | | | | | | Rename clkops_noncore_dpll_ops for omap3 and omap4. Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Acked-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: Allow booting omap4 with multi-omap configurationTony Lindgren2010-02-15
| | | | | | | | | | | | | | | | | | | | Allow booting omap4 with multi-omap configuration. Tested only on omap2 and omap3, please somebody test on omap4 and ack. Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: Clean up entry-macro.s for adding support for omap4 multibootTony Lindgren2010-02-15
| | | | | | | | | | | | | | | | | | | | Move defines around and set up handlers based on MULTI_OMAP2. Note that this will only allow compiling in omap4 with omap2 and omap3. It will not yet make omap4 boot with multi-omap. Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap4: Use get_irqnr_preambleTony Lindgren2010-02-15
| | | | | | | | | | | | | | | | Use get_irqnr_preamble Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: Clean up defines for entry-macro.STony Lindgren2010-02-15
| | | | | | | | | | | | | | | | Define the irq base the same way as for omap2 and omap3, and start using get_irqnr_preamble. Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3: Fix initcalls for multi-omapTony Lindgren2010-02-15
| | | | | | | | | | | | Otherwise the wrong initcalls can run. Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: Replace orred CONFIG_ARCH_OMAP2/3/4 with CONFIG_ARCH_OMAP2PLUSTony Lindgren2010-02-15
| | | | | | | | | | | | omap: Replace orred CONFIG_ARCH_OMAP2/3/4 with CONFIG_ARCH_OMAP2PLUS Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3Tony Lindgren2010-02-15
| | | | | | | | | | | | Replace ARCH_OMAP34XX with ARCH_OMAP3 Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2: Convert ARCH_OMAP24XX to ARCH_OMAP2Tony Lindgren2010-02-15
| | | | | | | | | | | | Convert ARCH_OMAP24XX to ARCH_OMAP2 Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: Fix mbox init for multi-omapTony Lindgren2010-02-15
| | | | | | | | | | | | Fix mbox init for multi-omap Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3/4: Fix omap2_map_common_io for multi-omapTony Lindgren2010-02-15
| | | | | | | | | | | | Fix omap2_map_common_io for multi-omap Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3: Multiboot compile fixes to compile in omap2 and omap3Tony Lindgren2010-02-15
| | | | | | | | | | | | Allows compiling in omap2 and omap3. Signed-off-by: Tony Lindgren <tony@atomide.com>
* | omap2/3: Make get_irqnr_and_base common for mach-omap2 multibootTony Lindgren2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make get_irqnr_and_base common for mach-omap2 multiboot Thanks to a tip from Russell King <rmk+kernel@arm.linux.org.uk>, this also optimizes the code for non-multiboot configurations by using get_irqnr_preamble. Note that this will only work currently for 24xx and 34xx. Support for 44xx can be added later on for basic multiboot, and similar patch should be done for mach-omap1/entry-macro.S. Signed-off-by: Tony Lindgren <tony@atomide.com>
* | Merge branch 'debug-ll' into omap-for-linusTony Lindgren2010-02-15
|\ \
| * | omap: Make uncompress code and DEBUG_LL code genericTony Lindgren2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Define arch_decomp_setup() the same way as some other architectures do. Use arch_id to configure the debug uart based on the machine_is by storing it into the uart scratchpad register for DEBUG_LL code to use. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | omap: Clean the serial port definesTony Lindgren2010-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | This way we don't have conflicts with the defines with compiling in multiple omaps. Set the addresses for uarts in struct omap_globals for the early serial init code. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | ARM: 5910/1: ARM: Add tmp register for addruart and loadspTony Lindgren2010-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise more complicated uart configuration won't be possible. We can use r1 for tmp register for both head.S and debug.S. NOTE: This patch depends on another patch to add the the tmp register into all debug-macro.S files. That can be done with: $ sed -i -e "s/addruart,rx|addruart, rx/addruart, rx, tmp/" arch/arm/*/include/*/debug-macro.S Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | Merge branch 'for-tony' of git://gitorious.org/linux-omap-dss2/linux into ↵Tony Lindgren2010-02-12
|\ \ \ | | | | | | | | | | | | omap-for-linus
| * | | omap3: cm-t35: add DSS2 display supportMike Rapoport2010-02-12
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | | OMAP: AM3517: Enable DSS2 for AM3517EVM boardVaibhav Hiremath2010-02-12
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> [tomi.valkeinen@nokia.com: removed defconfig changes] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
| * | | OMAP: Enable DSS2 for OMAP3EVM boardVaibhav Hiremath2010-02-12
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> [tomi.valkeinen@nokia.com: removed evm defconfig changes] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
* | | | Merge branch 'omap-fixes-for-linus' into omap-for-linusTony Lindgren2010-02-10
|\ \ \ \ | | |_|/ | |/| |
| * | | OMAP: hsmmc: fix memory leakAaro Koskinen2010-02-10
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | The platform data allocated with kmalloc() will become unreachable once the init is complete, so it should be freed. The problem was discovered by kmemleak. Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com> Acked-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | omap: Disable serial port autoidle by defaultTony Lindgren2010-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the omap serial clocks are autoidled after 5 seconds. However, this causes lost characters on the serial ports. As this is considered non-standard behaviour for Linux, disable the timeout. Note that this will also cause blocking of any deeper omap sleep states. To enable the autoidling of the serial ports, do something like this for each serial port: # echo 5 > /sys/devices/platform/serial8250.0/sleep_timeout # echo 5 > /sys/devices/platform/serial8250.1/sleep_timeout ... Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | omap: Fix arch/arm/mach-omap2/mux.c: Off by one errorTony Lindgren2010-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | David Binderman ran the sourceforge tool cppcheck over the source code of the new Linux kernel 2.6.33-rc6: [./arm/mach-omap2/mux.c:492]: (error) Buffer access out-of-bounds 13 characters + 1 digit + 1 zero byte is more than 14 characters. Also add a comment on mode0 name length in case new omaps start using longer names. Reported-by: David Binderman <dcb314@hotmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | omap: Fix 3630 mux errorsTony Lindgren2010-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3630 has more mux signals than 34xx. The additional pins exist in omap36xx_cbp_subset, but are not initialized as the superset is missing these offsets. This causes the following errors during the boot: mux: Unknown entry offset 0x236 mux: Unknown entry offset 0x22e mux: Unknown entry offset 0x1ec mux: Unknown entry offset 0x1ee mux: Unknown entry offset 0x1f4 mux: Unknown entry offset 0x1f6 mux: Unknown entry offset 0x1f8 mux: Unknown entry offset 0x1fa mux: Unknown entry offset 0x1fc mux: Unknown entry offset 0x22a mux: Unknown entry offset 0x226 mux: Unknown entry offset 0x230 mux: Unknown entry offset 0x22c mux: Unknown entry offset 0x228 Fix this by adding the missing offsets to omap3 superset. Note that additionally the uninitialized pins need to be skipped on 34xx. Based on an earlier patch by Allen Pais <allen.pais@ti.com>. Reported-by: Allen Pais <allen.pais@ti.com> Signed-off-by: Allen Pais <allen.pais@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | OMAP2/3: GPMC: ensure valid clock pointerKevin Hilman2010-02-03
| | | | | | | | | | | | | | | | | | | | | | | | Ensure valid clock pointer during GPMC init. Fixes compiler warning about potential use of uninitialized variable. Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Tony Lindgren <tony@atomide.com>