aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/include
Commit message (Collapse)AuthorAge
...
| * | ARM: OMAP2/3: Remove OMAP_PRM_REGADDR and OMAP2_PRM_BASETony Lindgren2009-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove OMAP_PRM_REGADDR and use processor specific defines instead. Also fold in a patch from Kevin Hilman to add _OFFSET #defines for the PRCM registers to be used with the prm_[read|write]_* macros. These are used extensively in the forthcoming OMAP PM support. Also remove now unused OMAP2_PRM_BASE. Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | ARM: OMAP2/3: Remove OMAP2_32KSYNCT_BASETony Lindgren2009-05-25
| |/ | | | | | | | | | | | | | | | | | | | | Use processor specific defines instead. As an extra bonus, this patch fixes the problem of CONFIG_DEBUG_SPINLOCK calling sched_clock before we have things initialized: http://patchwork.kernel.org/patch/15810/ Signed-off-by: Tony Lindgren <tony@atomide.com>
* | Merge branch 'iommu' of ↵Russell King2009-05-25
|\ \ | |/ |/| | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git into devel
| * omap iommu: simple virtual address space managementHiroshi DOYU2009-05-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch provides a device drivers, which has a omap iommu, with address mapping APIs between device virtual address(iommu), physical address and MPU virtual address. There are 4 possible patterns for iommu virtual address(iova/da) mapping. |iova/ mapping iommu_ page | da pa va (d)-(p)-(v) function type --------------------------------------------------------------------------- 1 | c c c 1 - 1 - 1 _kmap() / _kunmap() s 2 | c c,a c 1 - 1 - 1 _kmalloc()/ _kfree() s 3 | c d c 1 - n - 1 _vmap() / _vunmap() s 4 | c d,a c 1 - n - 1 _vmalloc()/ _vfree() n* 'iova': device iommu virtual address 'da': alias of 'iova' 'pa': physical address 'va': mpu virtual address 'c': contiguous memory area 'd': dicontiguous memory area 'a': anonymous memory allocation '()': optional feature 'n': a normal page(4KB) size is used. 's': multiple iommu superpage(16MB, 1MB, 64KB, 4KB) size is used. '*': not yet, but feasible. Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
| * omap iommu: omap2 architecture specific functionsHiroshi DOYU2009-05-05
| | | | | | | | | | | | | | | | | | The structure 'arch_mmu' accommodates the difference between omap1 and omap2/3. This patch provides omap2/3 specific functions Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
| * omap iommu: tlb and pagetable primitivesHiroshi DOYU2009-05-05
| | | | | | | | | | | | | | | | | | | | | | | | This patch provides: - iotlb_*() : iommu tlb operations - iopgtable_*() : iommu pagetable(twl) operations - iommu_*() : the other generic operations and the entry points to register and acquire iommu object. Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
* | Merge branch 'omap-clock-fixes' into omap-fixesTony Lindgren2009-04-24
|\ \
| * | OMAP2/3 GPTIMER: allow system tick GPTIMER to be changed in board-*.c filesPaul Walmsley2009-04-23
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a function omap2_gp_clockevent_set_gptimer() for board-*.c files to use in .init_irq functions to configure the system tick GPTIMER. Practical choices at this point are GPTIMER1 or GPTIMER12. Both of these timers are in the WKUP powerdomain, and so are unaffected by chip power management. GPTIMER1 can use sys_clk as a source, for applications where a high-resolution timer is more important than power management. GPTIMER12 has the special property that it has the secure 32kHz oscillator as its source clock, which may be less prone to glitches than the off-chip 32kHz oscillator. But on HS devices, it may not be available for Linux use. It appears that most boards are fine with GPTIMER1, but BeagleBoard should use GPTIMER12 when using a 32KiHz timer source, due to hardware bugs in revisions B4 and below. Modify board-omap3beagle.c to use GPTIMER12. This patch originally used a Kbuild config option to select the GPTIMER, but was changed to allow this to be specified in board-*.c files, per Tony's request. Kalle Vallo <kalle.valo@nokia.com> found a bug in an earlier version of this patch - thanks Kalle. Tested on Beagle rev B4 ES2.1, with and without CONFIG_OMAP_32K_TIMER, and 3430SDP. Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Cc: Kalle Valo <kalle.valo@nokia.com>
* | ARM: OMAP2: Remove defines and resource init for OMAP24XX EACJarkko Nikula2009-04-23
| | | | | | | | | | | | | | | | | | There is no anymore legacy driver for OMAP24XX Enhanced Audio Controller in linux-omap and it was newer in mainline so cleanup these unneeded defines and initialization code. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | ARM: OMAP: MMC: Remove unused power_pinLadislav Michl2009-04-23
| | | | | | | | | | | | | | Remove unused power_pin Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | ARM: OMAP: Remove old dead gpio expander codeTony Lindgren2009-04-23
|/ | | | | | | | This should be done with GPIO calls. Patches against the mainline tree welcome to add the necessary working functionality back. Signed-off-by: Tony Lindgren <tony@atomide.com>
* [ARM] 5434/1: ARM: OMAP: Fix mailbox compile for 24xxTony Lindgren2009-03-28
| | | | | | | OMAP34XX_MAILBOX_BASE must be defined both for 24xx and 34xx. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branch 'for-next' of ↵Russell King2009-03-25
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel
| * ARM: OMAP3: MUSB initialization for omap hw, v2Felipe Balbi2009-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a generic board-file for initializing usb on omap2430 and omap3 boards. Patch modified by Tony to build the module based on CONFIG_USB_MUSB_SOC. Also merged in a patch adding the nop xceiv from Ajay Kumar Gupta <ajay.gupta@ti.com>. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP3: Add base address definitions and resources for OMAP 3 IS, v2Tony Lindgren2009-03-23
| | | | | | | | | | | | | | | | This replaces earlier patch from Sergio Aguirre titled "[REVIEW PATCH 03/14] OMAP34XX: CAM: Resources fixes". Signed-off-by: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP3: mmc-twl4030 init passes device nodes back, v2David Brownell2009-03-23
| | | | | | | | | | | | | | | | When setting up HSMMC devices, pass the device nodes back so board code can linking them to their power supply regulators. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP3: Add more GPIO mux optionsTony Lindgren2009-03-23
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds several new GPIO pins and updates the pin naming comments. The patch is based on earlier patches on linux-omap list by Manikandan Pillai <mani.pillai@ti.com>, Vaibhav Hiremath <hvaibhav@ti.com> and David Brownell <dbrownell@users.sourceforge.net>. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: get rid of OMAP_TAG_USB, v2Felipe Balbi2009-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OMAP_TAGS should vanish soon since they're not generic arm tags. Most of them can be converted to a platform_data or parsed from a command line like e.g. serial tag. For OMAP_TAG_USB we just let boards call omap_usb_init() passing a pointer to omap_usb_config. Patch updated by Tony for mainline, basically make n770 and h4 compile. Also folded in a fix for OSK by David Brownell <dbrownell@users.sourceforge.net>. Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * [OMAP850] IRQ related changesZebediah C. McClure2009-03-23
| | | | | | | | | | | | | | IRQ related changes. Signed-off-by: Zebediah C. McClure <zmc@lurian.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * [OMAP850] Changes to base IO subsystem, v2Zebediah C. McClure2009-03-23
| | | | | | | | | | | | | | Changes to base IO subsystem. Signed-off-by: Zebediah C. McClure <zmc@lurian.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * [OMAP850] Add base support for omap850 cpuZebediah C. McClure2009-03-23
| | | | | | | | | | | | | | Add base support for omap850 cpu. Signed-off-by: Zebediah C. McClure <zmc@lurian.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Remove remaining board-*.h includes from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | | | | | | | | | | | Also remove board-omap3beagle.h that is not included anywhere, and move protoype for voiceblue_reset() from board-voiceblue.h to system.h. After this patch there are still board-ams-delta.h, board-sx1.h and board-voiceblue.h that export some functions. These could be removed if the functions were moved under drivers. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-nokia.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | Move the defines to the associated board file and remove the now unnecessary header file. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-overo.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | Move the defines to the associated board file and remove the now unnecessary header file. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-ldp.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | | | Move the defines to the associated board file and remove the now unnecessary header file. Also rename OMAP34XX_ETHR_START to LDP_ETHR_START. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-h4.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | | | Move the defines to the associated board file and remove the now unnecessary header file. Also rename OMAP24XX_ETHR_GPIO_IRQ to H4_ETHR_GPIO_IRQ. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-apollon.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | Move the defines to the associated board file and remove the now unnecessary header file. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-omap2430sdp.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | | | Move the defines to the associated board file and remove the now unnecessary header file. Also rename SDP2430_ETHR_GPIO_IRQ to SDP2430_ETHR_GPIO_IRQ. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-palm*.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | Move the defines to the associated board file and remove the now unnecessary header files. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-osk.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | Move the defines to the board file and remove the now unnecessary header file. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-innovator.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | | | | | Move the defines to the board file and remove the now unnecessary header file. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-h3.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | Also move board-h3.h to mach-omap1. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-h2.h from hardware.hTony Lindgren2009-03-23
| | | | | | | | | | | | | | Also move board-h2.h to mach-omap1. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: No need to include board-perseus2.h or board-fsample.h from ↵Tony Lindgren2009-03-23
| | | | | | | | | | | | | | | | | | hardware.h Move defines to the board file and remove the now unnecessary headers. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * omap mailbox: add save_/restore_ctx() for PMHiroshi DOYU2009-03-23
| | | | | | | | | | | | | | To preserve the registers during off-mode Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
| * omap mailbox: fix empty struct device for omap_mboxHiroshi DOYU2009-03-23
| | | | | | | | | | | | | | | | | | | | Since "mbox->dev" doesn't exist and isn't created either at registration, this patch will create "struct device", which belongs to "omap-mailbox" class and set this pointer for the member of "struct omap_mbox". Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
| * omap mailbox: add initial omap3 supportHiroshi DOYU2009-03-23
| | | | | | | | | | Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
* | Merge branch 'highmem' into develRussell King2009-03-24
|\ \
| * | [ARM] make page_to_dma() highmem awareNicolas Pitre2009-03-15
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a machine class has a custom __virt_to_bus() implementation then it must provide a __arch_page_to_dma() implementation as well which is _not_ based on page_address() to support highmem. This patch fixes existing __arch_page_to_dma() and provide a default implementation otherwise. The default implementation for highmem is based on __pfn_to_bus() which is defined only when no custom __virt_to_bus() is provided by the machine class. That leaves only ebsa110 and footbridge which cannot support highmem until they provide their own __arch_page_to_dma() implementation. But highmem support on those legacy platforms with limited memory is certainly not a priority. Signed-off-by: Nicolas Pitre <nico@marvell.com>
* | Merge branch 'master' of git://git.marvell.com/orion into develRussell King2009-03-19
|\| | | | | | | | | | | Conflicts: arch/arm/mach-mx1/devices.c
| * ARM: OMAP: Allow I2C bus driver to be compiled as a moduleAaro Koskinen2009-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a linker error when OMAP I2C bus driver is compiled as a module: ERROR: "i2c_register_board_info" [arch/arm/plat-omap/i2c.ko] undefined! The I2C utility functions used for board initialization should be always built-in. Signed-off-by: Aaro Koskinen <Aaro.Koskinen@nokia.com> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| * ARM: OMAP: Fix compile error if pm.h is includedDavid Brownell2009-03-04
| | | | | | | | | | | | | | | | | | | | Change the error to a warning. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | [ARM] pass reboot command line to arch_reset()Russell King2009-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OMAP wishes to pass state to the boot loader upon reboot in order to instruct it whether to wait for USB-based reflashing or not. There is already a facility to do this via the reboot() syscall, except we ignore the string passed to machine_restart(). This patch fixes things to pass this string to arch_reset(). This means that we keep the reboot mode limited to telling the kernel _how_ to perform the reboot which should be independent of what we request the boot loader to do. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] OMAP3: update ES level flags to discriminate between post-ES2 revisionsPaul Walmsley2009-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some OMAP3 chip behaviors change in ES levels after ES2. Modify the existing omap_chip flags to add options for ES3.0 and ES3.1. Add a new macro, CHIP_GE_OMAP3430ES2, to cover ES levels from ES2 onwards - a common pattern for OMAP3 features. Update all current users of the omap_chip macros to use this new macro. Also add CHIP_GE_OMAP3430ES3_1 to cover the USBTLL SAR errata case (described and fixed in the following patch) Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] omap: add support for bypassing DPLLsRussell King2009-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This roughly corresponds with OMAP commits: 7d06c48, 3241b19, 88b5d9b, 18a5500, 9c909ac, 5c6497b, 8b1f0bd, 2ac1da8. For both OMAP2 and OMAP3, we note the reference and bypass clocks in the DPLL data structure. Whenever we modify the DPLL rate, we first ensure that both the reference and bypass clocks are enabled. Then, we decide whether to use the reference and DPLL, or the bypass clock if the desired rate is identical to the bypass rate, and program the DPLL appropriately. Finally, we update the clock's parent, and then disable the unused clocks. This keeps the parents correctly balanced, and more importantly ensures that the bypass clock is running whenever we reprogram the DPLL. This is especially important because the procedure for reprogramming the DPLL involves switching to the bypass clock. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] omap: arrange for clock recalc methods to return the rateRussell King2009-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | linux-omap source commit 33d000c99ee393fe2042f93e8422f94976d276ce introduces a way to "dry run" clock changes before they're committed. However, this involves putting logic to handle this into each and every recalc function, and unfortunately due to the caching, led to some bugs. Solve both of issues by making the recalc methods always return the clock rate for the clock, which the caller decides what to do with. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] OMAP clock: drop clk_get_usecount()Paul Walmsley2009-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | This function is race-prone and mistakenly conveys the impression to drivers that it is part of the clock interface. Get rid of it: core code that absolutely needs this can just check clk->usecount. Drivers should not use it at all. linux-omap source commit is 5df9e4adc2f6a6d55aca53ee27b8baad18897c05. Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] omap: create a proper tree of clocksRussell King2009-02-08
| | | | | | | | | | | | | | | | | | | | | | Traditionally, we've tracked the parent/child relationships between clk structures by setting the child's parent member to point at the upstream clock. As a result, when decending the tree, we have had to scan all clocks to find the children. Avoid this wasteful scanning by keeping a list of the clock's children. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] OMAP2 SDRC: add SDRAM timing parameter infrastructurePaul Walmsley2009-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For a given SDRAM clock rate, SDRAM chips require memory controllers to use a specific set of timing minimums and maximums to transfer data reliably. These parameters can be different for different memory chips and can also potentially vary by board. This patch adds the infrastructure for board-*.c files to pass this timing data to the SDRAM controller init function. The timing data is specified in an 'omap_sdrc_params' structure, in terms of SDRC controller register values. An array of these structs, one per SDRC target clock rate, is passed by the board-*.c file to omap2_init_common_hw(). This patch does not define the values for different memory chips, nor does it use the values for anything; those will come in subsequent patches. linux-omap source commit is bc84ecfc795c2d1c5cda8da4127cf972f488a696. Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] OMAP2 SDRC: separate common OMAP2/3 code from OMAP2xxx codePaul Walmsley2009-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate SDRC code common to OMAP2/3 from mach-omap2/sdrc2xxx.c to mach-omap2/sdrc.c. Rename the OMAP2xxx-specific functions to use an 'omap2xxx' prefix rather than an 'omap2' prefix, and use "sdrc" in the function names rather than "memory." Mark several functions as static that should not be used outside the sdrc2xxx.c file. linux-omap source commit is bf1612b9d8d29379558500cd5de9ae0367c41fc4. Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>