pandora-kernel.git
13 years agoMerge branch 'for_3.5/fixes/gpio-2' of git://git.kernel.org/pub/scm/linux/kernel...
Tony Lindgren [Fri, 18 May 2012 00:06:08 +0000 (17:06 -0700)]
Merge branch 'for_3.5/fixes/gpio-2' of git://git./linux/kernel/git/khilman/linux-omap-pm

13 years agoMerge branch 'for-tony' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/linux
Tony Lindgren [Thu, 17 May 2012 23:59:52 +0000 (16:59 -0700)]
Merge branch 'for-tony' of git://git./linux/kernel/git/ohad/linux

13 years agogpio/omap: (re)fix wakeups on level-triggered GPIOs
Kevin Hilman [Thu, 17 May 2012 23:42:16 +0000 (16:42 -0700)]
gpio/omap: (re)fix wakeups on level-triggered GPIOs

commit 1b1287032 (gpio/omap: fix missing check in *_runtime_suspend())
broke wakeups on level-triggered GPIOs by adding the enabled
non-wakeup GPIO check before the workaround that enables wakeups
on level-triggered IRQs, effectively disabling that workaround.

To fix, move the enabled non-wakeup GPIO check after the
level-triggered IRQ workaround.

Reported-by: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agogpio/omap: fix broken context restore for non-OFF mode transitions
Kevin Hilman [Thu, 17 May 2012 21:52:56 +0000 (14:52 -0700)]
gpio/omap: fix broken context restore for non-OFF mode transitions

The fix in commit 1b1287032 (gpio/omap: fix missing check in
*_runtime_suspend()) exposed another bug in the context restore path.

Currently, the per-bank context restore happens whenever the context
loss count is different in runtime suspend and runtime resume *and*
whenever the per-bank contex_loss_count == 0:

if (context_lost_cnt_after != bank->context_loss_count ||
!context_lost_cnt_after) {
omap_gpio_restore_context(bank);

Restoring context when the context_lost_cnt_after == 0 is clearly
wrong, since this will be true until the first off-mode transition
(which could be never, if off-mode is never enabled.)  This check
causes the context to be restored on *every* runtime PM transition.

Before commit 1b1287032 (gpio/omap: fix missing check in
*_runtime_suspend()), this code was never executed in non-OFF mode, so
there were never spurious context restores happening.  After that
change though, spurious context restores could happen.

To fix, simply remove the !context_lost_cnt_after check. It is not
needed.

This bug was found when noticing that the smc911x NIC on 3530/Overo
was not working, and git bisect tracked it down to this patch.  It
seems that the spurious context restore was causing the smsc911x to
not be properly probed on this platform.

Cc: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agoARM: OMAP2+: nand: fix build error when CONFIG_MTD_ONENAND_OMAP2=n
Kevin Hilman [Tue, 15 May 2012 20:07:20 +0000 (13:07 -0700)]
ARM: OMAP2+: nand: fix build error when CONFIG_MTD_ONENAND_OMAP2=n

commit 8259573b (ARM: OMAP2+: nand: Make board_onenand_init() visible
to board code) broke the build for configs with OneNAND disabled.  By
removing the static in the header file, it created a duplicate definition
in the .c and the .h files, resuling in a build error:

/work/kernel/omap/dev/arch/arm/mach-omap2/board-flash.c:102:111: error: redefinition of 'board_onenand_init'
/work/kernel/omap/dev/arch/arm/mach-omap2/board-flash.h:56:51: note: previous definition of 'board_onenand_init' was here
make[2]: *** [arch/arm/mach-omap2/board-flash.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [arch/arm/mach-omap2] Error 2
make: *** [sub-make] Error 2

Fix this by removing the duplicate dummy entry from the C file.

Cc: Enric Balletbò i Serra <eballetbo@gmail.com>
Cc: Javier Martinez Canillas <javier@dowhile0.org>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP4: hwspinlocks_init() should be static
Ohad Ben-Cohen [Wed, 4 Apr 2012 12:44:38 +0000 (15:44 +0300)]
ARM: OMAP4: hwspinlocks_init() should be static

Sparse found out that hwspinlocks_init() wasn't marked static,
and it should've been.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
13 years agoARM: OMAP4: fix irq and clock name for dsp-iommu
Juan Gutierrez [Sun, 13 May 2012 12:33:07 +0000 (15:33 +0300)]
ARM: OMAP4: fix irq and clock name for dsp-iommu

Irq and clock names were wrong for dsp iommu configuration
for omap4.

- Renamed tesla_ick to dsp_fck:
   This is required because the new naming convention introduced
   by: commit 0e43327 "OMAP4 clock: Fix clock names and align
   with hwmod names"

- Renamed INT_44XX_DSP_MMU to OMAP44XX_IRQ_TESLA_MMU.
   Naming convention adopted since: commit e927f8d "omap4: Add
   auto-generated irq and dma headers"

- dsp-iommu is enabled by default.

Signed-off-by: Juan Gutierrez <jgutierrez@ti.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
13 years agoARM: OMAP: enable mailbox irq per instance
Juan Gutierrez [Sun, 13 May 2012 12:33:04 +0000 (15:33 +0300)]
ARM: OMAP: enable mailbox irq per instance

The machine-specific omap2_mbox_startup is called only once
to initialize the whole mbox module, and as a result,
enabling the mbox irq at that point only works for the very first
mailbox instance opened.

Instead, this patch makes sure enable_irq() is called every
time a new mbox instance is opened. In addition, we're now
enabling the mbox's irq only after its notifier_block is registered,
to avoid possible race of receiving an interrupt without invoking
the user's notifier callback.

Signed-off-by: Juan Gutierrez <jgutierrez@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
[ohad@wizery.com: slightly reworded the commit log]
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
13 years agogpio/omap: fix missing check in *_runtime_suspend()
Tarun Kanti DebBarma [Fri, 27 Apr 2012 14:13:38 +0000 (19:43 +0530)]
gpio/omap: fix missing check in *_runtime_suspend()

We do checking for bank->enabled_non_wakeup_gpios in order
to skip redundant operations. Somehow, the check got missed
while doing the cleanup series.

Just to make sure that we do context restore correctly in
*_runtime_resume(), the bank->workaround_enabled check is
moved after context restore. Otherwise, it would prevent
context restore when bank->enabled_non_wakeup_gpios is 0.

Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agogpio/omap: remove cpu_is_omapxxxx() checks from *_runtime_resume()
Tarun Kanti DebBarma [Fri, 27 Apr 2012 14:13:37 +0000 (19:43 +0530)]
gpio/omap: remove cpu_is_omapxxxx() checks from *_runtime_resume()

Add register offsets for GPIO_IRQSTATUS_RAW_0, GPIO_IRQSTATUS_RAW_0
which are present on OMAP4+ processors. Now we can distinguish
conditions applicable to OMAP4,5 and those specific to OMAP24xx
and OMAP3xxx.

Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agogpio/omap: remove suspend/resume callbacks
Tarun Kanti DebBarma [Fri, 27 Apr 2012 14:13:36 +0000 (19:43 +0530)]
gpio/omap: remove suspend/resume callbacks

Both omap_gpio_suspend() and omap_gpio_resume() does programming
of wakeup_en register.
_gpio_rmw(base, bank->regs->wkup_en, 0xffffffff, 0);
_gpio_rmw(base, bank->regs->wkup_en, bank->context.wake_en, 1);

This is redundant in omap_gpio_suspend() because wakeup_en
register automatically gets initialized in _set_gpio_wakeup()
and set_gpio_trigger() while being called either from
chip.irq_set_wake() or chip.irq_set_type().

This is also redundant in omap_gpio_resume() because wakeup_en
register is programmed in omap_gpio_restore_context() called
which is called from runtime resume callback.

Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agogpio/omap: remove retrigger variable in gpio_irq_handler
Tarun Kanti DebBarma [Fri, 27 Apr 2012 14:13:35 +0000 (19:43 +0530)]
gpio/omap: remove retrigger variable in gpio_irq_handler

commit 672e302e3c (ARM: OMAP: use edge/level handlers from generic IRQ
framework) removed retrigger support in favor of using generic IRQ
framework.  This patch cleans up some unused remnants of that removal.

Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agogpio/omap: remove saved_wakeup field from struct gpio_bank
Tarun Kanti DebBarma [Fri, 27 Apr 2012 14:13:34 +0000 (19:43 +0530)]
gpio/omap: remove saved_wakeup field from struct gpio_bank

There is no more need to have saved_wakeup because bank->context.wake_en
already holds that value. So getting rid of read/write operation associated
with this field.

Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agogpio/omap: remove suspend_wakeup field from struct gpio_bank
Tarun Kanti DebBarma [Fri, 27 Apr 2012 14:13:33 +0000 (19:43 +0530)]
gpio/omap: remove suspend_wakeup field from struct gpio_bank

Since we already have bank->context.wake_en to keep track
of gpios which are wakeup enabled, there is no need to have
this field any more.

Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agogpio/omap: remove saved_fallingdetect, saved_risingdetect
Tarun Kanti DebBarma [Fri, 27 Apr 2012 14:13:32 +0000 (19:43 +0530)]
gpio/omap: remove saved_fallingdetect, saved_risingdetect

Since we already have context.fallingdetect and context.risingdetect
there is no more need to have these additional fields. Also, getting
rid of extra reads associated with them.

Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agogpio/omap: remove virtual_irq_start variable
Tarun Kanti DebBarma [Fri, 27 Apr 2012 14:13:31 +0000 (19:43 +0530)]
gpio/omap: remove virtual_irq_start variable

This cleanup got missed while implementing following:
25db711 gpio/omap: Fix IRQ handling for SPARSE_IRQ
384ebe1 gpio/omap: Add DT support to GPIO driver

Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agoLinux-omap rebuilt: Final rebuild for branches for v3.5 merge window
Tony Lindgren [Fri, 11 May 2012 19:12:20 +0000 (12:12 -0700)]
Linux-omap rebuilt: Final rebuild for branches for v3.5 merge window

$ git checkout -b tmp-rebuild-1336763529 linus
$ git merge -m "Merge fixes testing-misc tmp-merge testing-board cbus" fixes testing-misc tmp-merge testing-board cbus
$ git merge -s ours master
$ git checkout master
$ git merge tmp-rebuild-1336763529

To view the changes since the last rebuild, please do
$ git diff 7cf543bce32d07db1c2a3be6f964c361287209fc..3c1900faf483cd7f80e78bcdbb47f24953c4b367 arch/arm/*omap*/

13 years agoMerge fixes testing-misc tmp-merge testing-board cbus
Tony Lindgren [Fri, 11 May 2012 19:12:11 +0000 (12:12 -0700)]
Merge fixes testing-misc tmp-merge testing-board cbus

13 years agoARM:OMAP4 add Phytec phyCORE-OMAP4 board
Jan Weitzel [Fri, 11 May 2012 19:11:22 +0000 (12:11 -0700)]
ARM:OMAP4 add Phytec phyCORE-OMAP4 board

This adds support for the Phytec OMAP4430 board called phyCORE-OMAP4 PCM049.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
[tony@atomide.com: updated for timer and twl cleanup, and to select the board by default]
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoInitial B&N Nook Color (encore) support
Oleg Drokin [Fri, 11 May 2012 19:11:22 +0000 (12:11 -0700)]
Initial B&N Nook Color (encore) support

Bare-bones board file, comes with serial console, gpio keys,
MMC/SDCard and USB (peripheral) support.

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
[tony@atomide.com: updated for irq and timer cleanup and to select the board by default]
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge tag 'omap-fixes-for-cleanup-for-v3.5' into tmp-merge
Tony Lindgren [Fri, 11 May 2012 18:59:45 +0000 (11:59 -0700)]
Merge tag 'omap-fixes-for-cleanup-for-v3.5' into tmp-merge

Turns out the earlier omap-cleanup-sparse-for-v3.5
up introduced one compile issue and a new warning.

Conflicts:
arch/arm/mach-omap1/common.h

13 years agoARM: OMAP: OTG integration: fix compiler warning omap-fixes-for-cleanup-for-v3.5
Paul Walmsley [Wed, 9 May 2012 22:38:02 +0000 (16:38 -0600)]
ARM: OMAP: OTG integration: fix compiler warning

Tony reported the following compile warning after commit
eeb3711b89d68e147e05e7b43a49ecc5009dc157 ("ARM: OMAP2+: clean up some
cppcheck warnings"):

arch/arm/plat-omap/usb.c: In function 'omap_otg_init':
arch/arm/plat-omap/usb.c:40: warning: unused variable 'status'

This happens if CONFIG_ARCH_OMAP_OTG is set but
CONFIG_USB_GADGET_OMAP, CONFIG_USB_OHCI_HCD,
CONFIG_USB_OHCI_HCD_MODULE, and CONFIG_USB_OTG are all unset.

Fix by localizing the status variable to the blocks that use it.

Compile-tested only, with omap2plus_defconfig and omap2plus_defconfig
with CONFIG_USB_OHCI_HCD and CONFIG_USB_OTG enabled.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP1: USB: fix ocpi_enable compile problem on non-1610 builds
Paul Walmsley [Thu, 10 May 2012 22:27:23 +0000 (16:27 -0600)]
ARM: OMAP1: USB: fix ocpi_enable compile problem on non-1610 builds

Janusz Krzysztofik reported the following build break on OMAP1 builds that
don't include CONFIG_ARCH_OMAP16XX:

  LD      .tmp_vmlinux1
arch/arm/mach-omap1/built-in.o: In function `omap1_usb_init':
lcd_dma.c:(.init.text+0x1420): undefined reference to `ocpi_enable'
make: *** [.tmp_vmlinux1] Error 1

This was caused by commit d3645d39ad0ed9f09535065676ea0ba114f93cdf
("ARM: OMAP1: OHCI: use platform_data fn ptr to enable OCPI bus").
Fix by declaring an empty ocpi_enable() on non-16XX builds, which
should work until the OCPI code is moved out to drivers/.

Cc: Janusz Krzysztofik <jmkrzyszt@gmail.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge tag 'omap-cleanup-dss-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 18:23:11 +0000 (11:23 -0700)]
Merge tag 'omap-cleanup-dss-for-v3.5' into tmp-merge

Clean up for omap DSS board init in preparation for adding DT support.

Conflicts:
arch/arm/mach-omap2/board-omap4panda.c

13 years agoMerge tag 'omap-dt-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 18:22:13 +0000 (11:22 -0700)]
Merge tag 'omap-dt-for-v3.5' into tmp-merge

Minor DT updates based on the dt-missed-3.4 branch

Conflicts:
arch/arm/mach-omap2/board-generic.c

13 years agoMerge tag 'omap-cleanup-timer-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 18:17:53 +0000 (11:17 -0700)]
Merge tag 'omap-cleanup-timer-for-v3.5' into tmp-merge

Timer changes to make it easier to support various SoCs

Conflicts:
arch/arm/mach-omap1/common.h

13 years agoMerge tag 'omap-cleanup-devices-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 18:17:23 +0000 (11:17 -0700)]
Merge tag 'omap-cleanup-devices-for-v3.5' into tmp-merge

Changes to split plat-omap/devices.c into mach-omap1 and mach-omap2
except for the RNG driver that will be done later on.

As this depends on omap-devel-hwmod-data-for-v3.5 and causes merge
conflict with omap-fixes-non-critical-for-v3.5, this branch is based
on merge of the two.

13 years agoMerge tag 'omap-devel-hwmod-data-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 18:17:16 +0000 (11:17 -0700)]
Merge tag 'omap-devel-hwmod-data-for-v3.5' into tmp-merge

Data changes related to omap hwmod

13 years agoMerge tag 'omap-board-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 18:17:09 +0000 (11:17 -0700)]
Merge tag 'omap-board-for-v3.5' into tmp-merge

Board specific changes for omap.

Note that these are based on omap-pm-regulator-for-v3.5 as
both branches are adding twl regulators.

13 years agoMerge tag 'omap-devel-prcm-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 18:17:00 +0000 (11:17 -0700)]
Merge tag 'omap-devel-prcm-for-v3.5' into tmp-merge

Updates for PRCM (Power, Reset, Clock Management).

Note that this depends on omap-devel-hwmod-for-v3.5.

13 years agoMerge tag 'omap-cleanup-renames-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 18:16:53 +0000 (11:16 -0700)]
Merge tag 'omap-cleanup-renames-for-v3.5' into tmp-merge

Simplify some SoC config options before things get too unreadable.

Note that this depends on a fix in omap-fixes-non-critical-for-v3.5,
so it's based on that.

13 years agoARM: OMAP2+: Kconfig: convert SOC_OMAPAM33XX to SOC_AM33XX omap-cleanup-renames-for-v3.5
Kevin Hilman [Thu, 10 May 2012 18:10:07 +0000 (11:10 -0700)]
ARM: OMAP2+: Kconfig: convert SOC_OMAPAM33XX to SOC_AM33XX

No need to have an OMAP prefix on these SoCs that are in the family
but arent' really called OMAP.

Simple rename: CONFIG_SOC_OMAPAM33XX --> CONFIG_SOC_AM33XX

No functional change.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
[tony@atomide.com: updated for the driver config change also]
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: Kconfig: convert SOC_OMAPTI81XX to SOC_TI81XX
Kevin Hilman [Thu, 10 May 2012 18:10:07 +0000 (11:10 -0700)]
ARM: OMAP2+: Kconfig: convert SOC_OMAPTI81XX to SOC_TI81XX

No need to have an OMAP prefix on these SoCs that are in the family
but arent' really called OMAP.

Simple rename: CONFIG_SOC_OMAPTI81XX --> CONFIG_SOC_TI81XX

No functional change.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge tag 'omap-cleanup-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 17:09:18 +0000 (10:09 -0700)]
Merge tag 'omap-cleanup-for-v3.5' into tmp-merge

Clean up to make it easier to add support for new SoCs.

Note that these have a merge dependency to omap-devel-hwmod-for-v3.5
branch for the Makefile changes.

13 years agoGPMC: add ECC control definitions
Yegor Yefremov [Wed, 9 May 2012 15:32:49 +0000 (08:32 -0700)]
GPMC: add ECC control definitions

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: dmtimer: remove redundant sysconfig context restore
Tarun Kanti DebBarma [Thu, 12 Apr 2012 09:43:47 +0000 (15:13 +0530)]
ARM: OMAP2+: dmtimer: remove redundant sysconfig context restore

Since hwmod framework now manages sysconfig context save/restore
there is no more need to touch this register in driver. Hence,
remove restore of sysconfig register in omap_timer_restore_context.
This was causing incorrect context restore of sysconfig register.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP: AM35xx: convert 3517 detection/flags to AM35xx
Kevin Hilman [Mon, 30 Apr 2012 23:37:10 +0000 (16:37 -0700)]
ARM: OMAP: AM35xx: convert 3517 detection/flags to AM35xx

Currently cpu_is_omap3517() actually detects any device in the AM35x
family (3517 and no-SGX version 3505.)  To make it more clear what is
being detected, convert the names from 3517 to AM35xx.

This adds a new soc_is_am35xx() which duplicates the cpu_is_omap3517().
In order to avoid cross-tree dependencies with clock-tree changes,
cpu_is_omap3517() is left until the clock changes are merged,
at which point cpu_is_omap3517() will be completely removed.

Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Tested-by: Vaibhav Hiremath <hvaibhav@ti.com>
Tested-by: Mark A. Greer <mgreer@animalcreek.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
[tony@atomide.com: change to use soc_is_omap instead]
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP: AM35xx: remove redunant cpu_is checks for AM3505
Kevin Hilman [Mon, 30 Apr 2012 23:37:09 +0000 (16:37 -0700)]
ARM: OMAP: AM35xx: remove redunant cpu_is checks for AM3505

There are several checks for AM35x devices done using

      if (cpu_is_omap3517() || cpu_is_omap3505())

However, since the 3505 is just a 3517 without an SGX, the 3505 check
is redundant because cpu_is_omap3517() will always be true whenever
cpu_is_omap3505() is true.  From <plat/cpu.h>:

 #define cpu_is_omap3505() (cpu_is_omap3517() && !omap3_has_sgx())

Therefore, remove the redunant 3505 checks.  This helps move towards
removal of SoC detection that depends on specific IP detection.

Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Tested-by: Vaibhav Hiremath <hvaibhav@ti.com>
Tested-by: Mark A. Greer <mgreer@animalcreek.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge branch 'cleanup-soc' into cleanup
Tony Lindgren [Thu, 10 May 2012 16:39:05 +0000 (09:39 -0700)]
Merge branch 'cleanup-soc' into cleanup

Conflicts:
arch/arm/mach-omap2/Makefile

13 years agogpio/omap: fix incorrect initialization of omap_gpio_mod_init
Tarun Kanti DebBarma [Mon, 30 Apr 2012 07:20:12 +0000 (12:50 +0530)]
gpio/omap: fix incorrect initialization of omap_gpio_mod_init

Initialization of irqenable, irqstatus registers is the common
operation done in this function for all OMAP platforms, viz. OMAP1,
OMAP2+. The latter _gpio_rmw()'s which supposedly got introduced
wrongly to take care of OMAP2+ platforms were overwriting initially
programmed OMAP1 value breaking functionality on OMAP1.
Somehow incorrect assumption was made that each _gpio_rmw()'s were
mutually exclusive. On close observation it is found that the first
_gpio_rmw() which is supposedly done to take care of OMAP1 platform
is generic enough and takes care of OMAP2+ platform as well.
Therefore remove the latter _gpio_rmw() to irqenable as they are
redundant now.

Writing to ctrl and debounce_en registers for OMAP2+ platforms are
modified to match the original(pre-cleanup) code where the registers
are initialized with 0. In the cleanup series since we are using
_gpio_rmw(reg, 0, 1), instead of __raw_writel(), we are just reading
and writing the same values to ctrl and debounce_en. This is not an
issue for debounce_en register because it has 0x0 as the default value.
But in the case of ctrl register the default value is 0x2 (GATINGRATIO
 = 0x1) so that we end up writing 0x2 instead of intended 0 value.
Therefore changing back to __raw_writel() as this is sufficient for
this case besides simpler to understand.

Also, change irqstatus initalization logic that avoids comparison
with bool, besides making it fit in a single line.

Cc: stable@vger.kernel.org
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Reported-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
13 years agoLinux-omap rebuilt: Updated to -rc6, merged in pending branches, please test
Tony Lindgren [Thu, 10 May 2012 00:32:20 +0000 (17:32 -0700)]
Linux-omap rebuilt: Updated to -rc6, merged in pending branches, please test

$ git checkout -b tmp-rebuild-1336609929 linus
$ git merge -m "Merge fixes tmp-merge testing-misc testing-board cbus" fixes tmp-merge testing-misc testing-board cbus
$ git merge -s ours master
$ git checkout master
$ git merge tmp-rebuild-1336609929

To view the changes since the last rebuild, please do
$ git diff 5e136da4f5d9aa5388097afad1f6a0e6fd8572c6..838c1b88c6e798c8248ec89c7eae7b1c1c4c5b2b arch/arm/*omap*/

13 years agoMerge fixes tmp-merge testing-misc testing-board cbus
Tony Lindgren [Thu, 10 May 2012 00:32:11 +0000 (17:32 -0700)]
Merge fixes tmp-merge testing-misc testing-board cbus

13 years agoARM:OMAP4 add Phytec phyCORE-OMAP4 board
Jan Weitzel [Thu, 10 May 2012 00:31:52 +0000 (17:31 -0700)]
ARM:OMAP4 add Phytec phyCORE-OMAP4 board

This adds support for the Phytec OMAP4430 board called phyCORE-OMAP4 PCM049.

Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
[tony@atomide.com: updated for timer and twl cleanup, and to select the board by default]
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoInitial B&N Nook Color (encore) support
Oleg Drokin [Thu, 10 May 2012 00:31:52 +0000 (17:31 -0700)]
Initial B&N Nook Color (encore) support

Bare-bones board file, comes with serial console, gpio keys,
MMC/SDCard and USB (peripheral) support.

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
[tony@atomide.com: updated for irq and timer cleanup and to select the board by default]
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge tag 'omap-dt-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 00:27:15 +0000 (17:27 -0700)]
Merge tag 'omap-dt-for-v3.5' into tmp-merge

Minor DT updates based on the dt-missed-3.4 branch

Conflicts:
arch/arm/mach-omap2/board-generic.c

13 years agoMerge tag 'omap-devel-soc-for-v3.5' into tmp-merge
Tony Lindgren [Thu, 10 May 2012 00:26:53 +0000 (17:26 -0700)]
Merge tag 'omap-devel-soc-for-v3.5' into tmp-merge

Yet more clean up for making adding support for new SoCs easier.

Note that as these depend on omap-cleanup-for-v3.5 and conflict
with omap-fixes-non-critical-for-v3.5 these are based on a
merge of the two.

13 years agoarm/dts: omap4-panda: Add LEDs support omap-dt-for-v3.5
Benoit Cousson [Tue, 8 May 2012 16:37:27 +0000 (18:37 +0200)]
arm/dts: omap4-panda: Add LEDs support

Add the debug LEDs nodes for an OMAP4 PandaBoard.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoarm/dts: omap4-sdp: Add LEDs support
Benoit Cousson [Tue, 8 May 2012 16:37:26 +0000 (18:37 +0200)]
arm/dts: omap4-sdp: Add LEDs support

Add the debug LEDs nodes for an OMAP4 SDP/Blaze.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoarm/dts: twl4030: Add twl4030-gpio node
Benoit Cousson [Tue, 8 May 2012 16:37:25 +0000 (18:37 +0200)]
arm/dts: twl4030: Add twl4030-gpio node

Add the twl-gpio node inside twl4030 definition.

Cc: Felipe Balbi <balbi@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge tag 'omap-cleanup-timer-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 23:41:17 +0000 (16:41 -0700)]
Merge tag 'omap-cleanup-timer-for-v3.5' into tmp-merge

Timer changes to make it easier to support various SoCs

Conflicts:
arch/arm/mach-omap1/common.h

13 years agoMerge tag 'omap-cleanup-devices-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 23:38:29 +0000 (16:38 -0700)]
Merge tag 'omap-cleanup-devices-for-v3.5' into tmp-merge

Changes to split plat-omap/devices.c into mach-omap1 and mach-omap2
except for the RNG driver that will be done later on.

As this depends on omap-devel-hwmod-data-for-v3.5 and causes merge
conflict with omap-fixes-non-critical-for-v3.5, this branch is based
on merge of the two.

13 years agoARM: OMAP1: Pass dma request lines in platform data to MMC driver omap-cleanup-devices-for-v3.5
Tony Lindgren [Mon, 23 Apr 2012 22:56:37 +0000 (15:56 -0700)]
ARM: OMAP1: Pass dma request lines in platform data to MMC driver

Pass dma request lines in platform data to MMC driver.

Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP: Move omap_mmc_add() to mach-omap1
Tony Lindgren [Mon, 23 Apr 2012 22:56:36 +0000 (15:56 -0700)]
ARM: OMAP: Move omap_mmc_add() to mach-omap1

Now that omap2420 is using hwmod for MMC, this code is omap1
only used on omap1.

Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge tag 'omap-devel-hwmod-data-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 23:09:43 +0000 (16:09 -0700)]
Merge tag 'omap-devel-hwmod-data-for-v3.5' into tmp-merge

Data changes related to omap hwmod

13 years agoMerge tag 'omap-board-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 23:06:25 +0000 (16:06 -0700)]
Merge tag 'omap-board-for-v3.5' into tmp-merge

Board specific changes for omap.

Note that these are based on omap-pm-regulator-for-v3.5 as
both branches are adding twl regulators.

13 years agoMerge tag 'omap-devel-prcm-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 23:03:58 +0000 (16:03 -0700)]
Merge tag 'omap-devel-prcm-for-v3.5' into tmp-merge

Updates for PRCM (Power, Reset, Clock Management).

Note that this depends on omap-devel-hwmod-for-v3.5.

13 years agoMerge tag 'omap-cleanup-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 22:53:13 +0000 (15:53 -0700)]
Merge tag 'omap-cleanup-for-v3.5' into tmp-merge

Clean up to make it easier to add support for new SoCs.

Note that these have a merge dependency to omap-devel-hwmod-for-v3.5
branch for the Makefile changes.

13 years agoMerge tag 'omap-fixes-non-critical-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 22:48:57 +0000 (15:48 -0700)]
Merge tag 'omap-fixes-non-critical-for-v3.5' into tmp-merge

Omap fixes that were considered too intrusive or not critical for the -rc cycle

13 years agoARM: OMAP2: Use hwmod to initialize mmc for 2420
Tony Lindgren [Mon, 23 Apr 2012 22:56:36 +0000 (15:56 -0700)]
ARM: OMAP2: Use hwmod to initialize mmc for 2420

This allows us to pass dma request lines in platform data to
MMC driver the same way as we already do for omap2430 and later.

Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: Move omap_dsp_reserve_sdram_memblock() to mach-omap2
Tony Lindgren [Wed, 9 May 2012 16:59:26 +0000 (09:59 -0700)]
ARM: OMAP2+: Move omap_dsp_reserve_sdram_memblock() to mach-omap2

This hardware exists only on 2430 and later omaps, so there's no
need to have it in plat-omap/devices.c.

Note that we don't have any users for exported omap_dsp_get_mempool_base(),
so we can make it static.

Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP1: Move omap_init_uwire to mach-omap1
Tony Lindgren [Wed, 9 May 2012 16:59:25 +0000 (09:59 -0700)]
ARM: OMAP1: Move omap_init_uwire to mach-omap1

This hardware exists on omap1 only and there's no need to keep it
in plat-omap/devices.c. No functional changes.

Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP1: Move omap_init_audio() to keep the devices in alphabetical order
Tony Lindgren [Wed, 9 May 2012 16:59:25 +0000 (09:59 -0700)]
ARM: OMAP1: Move omap_init_audio() to keep the devices in alphabetical order

The comments in omap1_init_devices() ask to keep the devices in
alphabetical order. Only omap_init_audio() is not following this,
so let's move it. No functional changes.

Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge branch 'fixes-non-critical' into cleanup-devices
Tony Lindgren [Wed, 9 May 2012 21:32:44 +0000 (14:32 -0700)]
Merge branch 'fixes-non-critical' into cleanup-devices

13 years agoOMAP: omap4panda: Use common configuration for V1V8, V2V1 supplies omap-board-for-v3.5
Peter Ujfalusi [Wed, 9 May 2012 07:33:34 +0000 (10:33 +0300)]
OMAP: omap4panda: Use common configuration for V1V8, V2V1 supplies

These supplies going to be needed for the twl6040 driver.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoOMAP: 4430SDP: Use common configuration for V1V8, V2V1 supplies
Peter Ujfalusi [Wed, 9 May 2012 07:33:33 +0000 (10:33 +0300)]
OMAP: 4430SDP: Use common configuration for V1V8, V2V1 supplies

These supplies going to be needed for the twl6040 driver.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoOMAP4: twl-common: Add twl6030 V1V8, V2V1 SMPS common configuration
Peter Ujfalusi [Wed, 9 May 2012 21:19:16 +0000 (14:19 -0700)]
OMAP4: twl-common: Add twl6030 V1V8, V2V1 SMPS common configuration

V1V8 supply from twl6030 commonly used as VIO for the machine.
V2V1 is adviced to supply the twl6040, and also to feed the twl6030's
VCXIO_IN, and VDAC_IN inputs.
Create the common regulator configurations for these regulators:
Make the V2V1 as supply_regulator for VCXIO, VDAC.
Add twl6040 (1-004b) as consumer for V1V8, and V2V1.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[tony@atomide.com: updated for the pm regulator changes]
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP: Mark Beagleboard-xM MMC bus as 4-bit
Russ Dill [Wed, 9 May 2012 21:19:15 +0000 (14:19 -0700)]
ARM: OMAP: Mark Beagleboard-xM MMC bus as 4-bit

On Beagleboard-xM (all revisions) only MMC1_DAT0-MMC1_DAT3 are wired up.
Tested on Beagleboard-xM Rev C1 and Beagleboard Rev B4.

Signed-off-by: Russ Dill <Russ.Dill@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoAdd MSUB support for the LogicPD OMAP3530 DevKits
Ashwin Bihari [Wed, 9 May 2012 21:19:15 +0000 (14:19 -0700)]
Add MSUB support for the LogicPD OMAP3530 DevKits

Add support for the OMAP3 MUSB OTG controller to the LogicPD
OMAP3530 SOM-LV[1] and Torpedo[2] DevKits

[1] - www.logicpd.com/products/system-on-modules/omap35x-som-lv/
[2] - www.logicpd.com/products/system-on-modules/omap35x-torpedo-som/

Signed-off-by: Ashwin Bihari <ashwin.bihari@logicpd.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP: rx51: Platform support for lis3lv02d accelerometer
Ameya Palande [Wed, 9 May 2012 21:19:15 +0000 (14:19 -0700)]
ARM: OMAP: rx51: Platform support for lis3lv02d accelerometer

Platform support for lis3lv02d accelerometer

Signed-off-by: Ameya Palande <ameya.palande@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: craneboard: register emac device
Mans Rullgard [Wed, 9 May 2012 21:19:15 +0000 (14:19 -0700)]
ARM: OMAP2+: craneboard: register emac device

This adds the required am35xx_emac_init() call to the craneboard init
function.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP4: board-omap4panda: Register platform device for HDMI audio codec
Ricardo Neri [Wed, 9 May 2012 21:19:14 +0000 (14:19 -0700)]
ARM: OMAP4: board-omap4panda: Register platform device for HDMI audio codec

Add platform device registratation for HDMI audio codec. This is to
be able to transmit audio through the HDMI output featured in Pandaboard
and PandaboardES boards.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP4: board-4430sdp: Register platform device for HDMI audio codec
Ricardo Neri [Wed, 9 May 2012 21:19:14 +0000 (14:19 -0700)]
ARM: OMAP4: board-4430sdp: Register platform device for HDMI audio codec

Add platform device registratation for HDMI audio codec. This is to
be able to transmit audio through the HDMI output featured in SDP4430
and Blaze boards.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP: devices: Register platform devices for HDMI audio
Ricardo Neri [Wed, 9 May 2012 21:19:14 +0000 (14:19 -0700)]
ARM: OMAP: devices: Register platform devices for HDMI audio

Add platform registration for the devices HDMI audio support. The
omap-hdmi-audio-dai platform device is to be used by the ASoC HDMI
CPU DAI driver. The omap-hdmi-audio platform device is to be used
by the ASoC HDMI machine driver that links together the ASOC CPU DAI,
ASoC plaform and ASoC codec drivers.

Signed-off-by: Ricardo Neri <ricardo.neri@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP3: igep0020: Add support for Micron NAND Flash storage memory
Javier Martinez Canillas [Wed, 9 May 2012 21:19:14 +0000 (14:19 -0700)]
ARM: OMAP3: igep0020: Add support for Micron NAND Flash storage memory

IGEP-based boards can have two different flash memories, a OneNAND or
a NAND device. The boot configuration pins (sys_boot) are used to
specify which memory is available.

Also, this patch removes unnecesary code for registering the OneNAND.

Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Tested-by: Enric Balletbo i Serra <eballetbo@gmail.com>
[tony@atomide.com: fixed up a minor checkpatch warning]
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: nand: Make board_onenand_init() visible to board code
Javier Martinez Canillas [Wed, 9 May 2012 21:19:14 +0000 (14:19 -0700)]
ARM: OMAP2+: nand: Make board_onenand_init() visible to board code

board_onenand_init() and board_nand_init() initialization functions are
used to initialize OneNAND and NAND memories respectively. But only
board_nand_init() was visible to be used from board code. This patch makes
possible to initialize a OneNAND flash memory within platform code.

Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Tested-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP3: cm-t35: add support for power off
Igor Grinberg [Wed, 9 May 2012 21:19:13 +0000 (14:19 -0700)]
ARM: OMAP3: cm-t35: add support for power off

Enable the power off feature of the TPS65930 on-board PMIC.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP: WiLink platform data for the PandaBoard
Mircea Gherzan [Wed, 9 May 2012 21:19:13 +0000 (14:19 -0700)]
ARM: OMAP: WiLink platform data for the PandaBoard

The "uim" deamon requires sysfs entries that are filled in using
this platform data.

Signed-off-by: Mircea Gherzan <mgherzan@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2PLUS: Enable HIGHMEM
Santosh Shilimkar [Wed, 9 May 2012 21:19:13 +0000 (14:19 -0700)]
ARM: OMAP2PLUS: Enable HIGHMEM

HIGMEM support in kernel is quite mature now and we have boards
like ZOOM, PANDA, SDP where 1 GB memories are installed. With
HIGHMEM disabled not all of the 1GB of RAM (only ~700MB) can be
accessed. Hence, enable HIGMEM to make use of the entire memory.

On the boards which doesn't have more than 768 MB memory, all
the memory is directly mapped in "lowmem" and highmem isn't
exercised. Hence, there should be no impact by enabling HIGHMEM
for boards that do not need it.

Tested on OMAP4460 Panda-ES.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Tested-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP: omap2plus_defconfig: Enable ehci-omap and sms95xx support
Govindraj.R [Wed, 9 May 2012 21:19:13 +0000 (14:19 -0700)]
ARM: OMAP: omap2plus_defconfig: Enable ehci-omap and sms95xx support

Boards like beagle and panda use ehci based smsc95xx lan chips
one has to manually enable these supports to get nfs working
on these boards. So keep these support enable by default.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: am33xx: Make am33xx as a separate class omap-devel-soc-for-v3.5
Vaibhav Hiremath [Wed, 9 May 2012 11:24:27 +0000 (16:54 +0530)]
ARM: OMAP2+: am33xx: Make am33xx as a separate class

Initially, we decided to make am33xx family of device to fall
under omap3 class (cpu_is_omap34xx() = true), since it carries
Cortex-A8 core. But while adding complete baseport support
(like, clock, power and hwmod) support, it is observed that,
we are creating more and more problems by treating am33xx device
as omap3 family, as nothing matches between them
(except cortex-A8 mpu).

So,  after long discussion we have came to the conclusion that,
we should not consider am33xx device as omap3 family, instead
create separate class (SOC_AM33XX) under OMAP2PLUS.
This means, for am33xx device, cpu_is_omap34xx() will return false,
and only cpu_is_am33xx() will be true.

Please refer to the link below, for mailing-list discussion on this -

http://www.spinics.net/lists/linux-omap/msg69439.html

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
[tony@atomide.com: fixed typo, updated for soc_is changes]
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: Kconfig: convert SOC_OMAPAM33XX to SOC_AM33XX
Kevin Hilman [Tue, 8 May 2012 22:02:56 +0000 (15:02 -0700)]
ARM: OMAP2+: Kconfig: convert SOC_OMAPAM33XX to SOC_AM33XX

No need to have an OMAP prefix on these SoCs that are in the family
but arent' really called OMAP.

Simple rename: CONFIG_SOC_OMAPAM33XX --> CONFIG_SOC_AM33XX

No functional change.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
[tony@atomide.com: updated for the driver config change also]
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: Kconfig: convert SOC_OMAPTI81XX to SOC_TI81XX
Kevin Hilman [Tue, 8 May 2012 22:02:55 +0000 (15:02 -0700)]
ARM: OMAP2+: Kconfig: convert SOC_OMAPTI81XX to SOC_TI81XX

No need to have an OMAP prefix on these SoCs that are in the family
but arent' really called OMAP.

Simple rename: CONFIG_SOC_OMAPTI81XX --> CONFIG_SOC_TI81XX

No functional change.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge branch 'cleanup' into devel-soc
Tony Lindgren [Wed, 9 May 2012 18:39:11 +0000 (11:39 -0700)]
Merge branch 'cleanup' into devel-soc

13 years agoARM: OMAP: igep0020: Specify the VPLL2 regulator unconditionally omap-fixes-non-critical-for-v3.5
Laurent Pinchart [Wed, 9 May 2012 15:10:42 +0000 (08:10 -0700)]
ARM: OMAP: igep0020: Specify the VPLL2 regulator unconditionally

The supply is connected to the DSS DO-D5 pins and is thus needed for
both serial and parallel display interfaces on the igep0030 as well as
the igep0020.

If the igep0030 module isn't connected to a display, no DSI or DPI
display will be specified in board code, and the DSS driver won't enable
to VPLL2 regulator anyway.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Tested-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: INTC: fix Kconfig option for TI81XX
Kevin Hilman [Tue, 8 May 2012 22:02:54 +0000 (15:02 -0700)]
ARM: OMAP2+: INTC: fix Kconfig option for TI81XX

The INTC core is using a Kconfig option for TI816x which doesn't
exist.  Convert it to use TI81XX.

Cc: Hemant Pedanekar <hemantp@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: remove incorrect irq_chip ack field
Grazvydas Ignotas [Sat, 5 May 2012 23:56:52 +0000 (02:56 +0300)]
ARM: OMAP2+: remove incorrect irq_chip ack field

Each irq_chip for the main interrupt controller has offsets set for irq
masking registers, which added to respective base results in a pointer
to appropriate hardware register. However this is not correct for
INTC_CONTROL as there is only one INTC_CONTROL register. This does not
cause problems because generic ack code is never called, but remove
this assignment to avoid confusion.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP4: Adding ID for OMAP4460 ES1.1
Chris Lalancette [Wed, 9 May 2012 16:45:02 +0000 (09:45 -0700)]
ARM: OMAP4: Adding ID for OMAP4460 ES1.1

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP4: panda: add statics to remove warnings
Tomi Valkeinen [Tue, 8 May 2012 23:31:13 +0000 (16:31 -0700)]
ARM: OMAP4: panda: add statics to remove warnings

Add statics to board-omap4-panda.c's internal functions and data
structures to remove sparse warnings:

arch/arm/mach-omap2/board-omap4panda.c:234:29: warning: symbol
'omap_panda_wlan_data' was not declared. Should it be static?
arch/arm/mach-omap2/board-omap4panda.c:441:24: warning: symbol
'omap4_panda_dvi_device' was not declared. Should it be static?
arch/arm/mach-omap2/board-omap4panda.c:451:12: warning: symbol
'omap4_panda_dvi_init' was not declared. Should it be static?
arch/arm/mach-omap2/board-omap4panda.c:512:13: warning: symbol
'omap4_panda_display_init' was not declared. Should it be static?

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: Incorrect Register Offsets in OMAP Mailbox
Tony Lindgren [Tue, 8 May 2012 23:31:13 +0000 (16:31 -0700)]
ARM: OMAP2+: Incorrect Register Offsets in OMAP Mailbox

Looks like the register offsets are incorrect in the OMAP mailbox code
(arch/arm/mach-omap2/mailbox.c) for the OMAP4_MAILBOX_IRQ* macros. The
discrepancy is with p.224 of TI document SPRUGX9 and p3891 of SWPU231K.

Acked-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Henry Chan <enli.chan@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP: fix trivial warnings for dspbridge
Felipe Contreras [Tue, 8 May 2012 23:31:12 +0000 (16:31 -0700)]
ARM: OMAP: fix trivial warnings for dspbridge

arch/arm/plat-omap/devices.c: In function 'omap_dsp_reserve_sdram_memblock':
arch/arm/plat-omap/devices.c:170: warning: format '%x' expects type 'unsigned int', but argument 3 has type 'phys_addr_t'
arch/arm/mach-omap2/dsp.c: In function 'omap_dsp_init':
arch/arm/mach-omap2/dsp.c:60: warning: format '%x' expects type 'unsigned int', but argument 3 has type 'phys_addr_t'
arch/arm/mach-omap2/dsp.c:60: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'phys_addr_t'

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge tag 'omap-devel-hwmod-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 17:23:35 +0000 (10:23 -0700)]
Merge tag 'omap-devel-hwmod-for-v3.5' into tmp-merge

Add most of remaining hwmods for omap4

13 years agoMerge tag 'omap-pm-regulator-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 17:23:24 +0000 (10:23 -0700)]
Merge tag 'omap-pm-regulator-for-v3.5' into tmp-merge

Add support for vdd1 and vdd2 regulators and make voltage code to use them

13 years agoMerge tag 'omap-cleanup-cpuidle-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 17:23:17 +0000 (10:23 -0700)]
Merge tag 'omap-cleanup-cpuidle-for-v3.5' into tmp-merge

CPUidle cleanup

13 years agoMerge tag 'omap-cleanup-hwmod-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 17:23:11 +0000 (10:23 -0700)]
Merge tag 'omap-cleanup-hwmod-for-v3.5' into tmp-merge

Clean up of hwmod to shrink down the IP block interconnections

13 years agoMerge tag 'omap-cleanup-sparse-for-v3.5' into tmp-merge
Tony Lindgren [Wed, 9 May 2012 17:23:02 +0000 (10:23 -0700)]
Merge tag 'omap-cleanup-sparse-for-v3.5' into tmp-merge

Sparse and cppcheck warning fixes

13 years agoARM: OMAP: Make OMAP clocksource source selection using kernel param omap-cleanup-timer-for-v3.5
Vaibhav Hiremath [Wed, 9 May 2012 17:07:05 +0000 (10:07 -0700)]
ARM: OMAP: Make OMAP clocksource source selection using kernel param

Current OMAP code supports couple of clocksource options based
on compilation flag (CONFIG_OMAP_32K_TIMER). The 32KHz sync-timer
and a gptimer which can run on 32KHz or system clock (e.g 38.4 MHz).
So there can be 3 options -

1. 32KHz sync-timer
2. Sys_clock based (e.g 13/19.2/26/38.4 MHz) gptimer
3. 32KHz based gptimer.

The optional gptimer based clocksource was added so that it can
give the high precision than sync-timer, so expected usage was 2
and not 3.
Unfortunately option 2, clocksource doesn't meet the requirement of
free-running clock as per clocksource need. It stops in low power states
when sys_clock is cut. That makes gptimer based clocksource option
useless for OMAP2/3/4 devices with sys_clock as a clock input.
So, in order to use option 2, deeper idle state MUST be disabled.

Option 3 will still work but it is no better than 32K sync-timer
based clocksource.

We must support both sync timer and gptimer based clocksource as
some OMAP based derivative SoCs like AM33XX does not have the
sync timer.

Considering above, make sync-timer and gptimer clocksource runtime
selectable so that both OMAP and AMXXXX continue to use the same code.

And, in order to precisely configure/setup sched_clock for given
clocksource, decision has to be made early enough in boot sequence.

So, the solution is,

Use standard kernel parameter ("clocksource=") to override
default 32k_sync-timer, in addition to this, we also use hwmod database
lookup mechanism, through which at run-time we can identify availability
of 32k-sync timer on the device, else fall back to gptimer.

Also, moved low-level SoC specific init code to respective files,
(mach-omap1/timer32k.c and mach-omap2/timer.c)

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Cc: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: Replace space with underscore in the name field of system timers
Vaibhav Hiremath [Wed, 9 May 2012 17:07:05 +0000 (10:07 -0700)]
ARM: OMAP2+: Replace space with underscore in the name field of system timers

Depending on the bootloader, passing command-line arguments
with spaces may have issues. Some bootloaders doesn't seem
to pass along the quotes, passing only 'gp' part of the string,
which leads to wrong override configuration.

The only affected kernel parameter configuration for OMAP family
is "clocksource=", used to override kernel clocksource.

So this patch changes "gp timer" => "gp_timer", for clockevent,
clocksource and timer irq_handler.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP1: Add checks for possible error condition in timer_init
Vaibhav Hiremath [Wed, 9 May 2012 17:07:05 +0000 (10:07 -0700)]
ARM: OMAP1: Add checks for possible error condition in timer_init

On OMAP1, omap_32k_timer_init() function always returns "true",
irrespective of whether error occurred while initializing 32k sync
counter as a kernel clocksource or not and execution will never
fallback to mpu_timer clocksource init code.

This patch adds check for return value from function
omap_init_clocksource_32k(), and fallback to omap_mpu_timer_init()
in case of failure/error from omap_init_clocksource_32k().

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge tag 'omap-devel-c-for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git... omap-devel-hwmod-data-for-v3.5
Tony Lindgren [Wed, 9 May 2012 16:58:42 +0000 (09:58 -0700)]
Merge tag 'omap-devel-c-for-3.5' of git://git./linux/kernel/git/pjw/omap-pending into devel-hwmod-data

Some OMAP IP block data additions for 3.5, along with a
fix for a longstanding watchdog timer integration problem.

13 years agoMerge branch 'for-l-o-3.5' of git://gitorious.org/linux-omap-dss2/linux into cleanup-dss omap-cleanup-dss-for-v3.5
Tony Lindgren [Wed, 9 May 2012 15:39:20 +0000 (08:39 -0700)]
Merge branch 'for-l-o-3.5' of git://gitorious.org/linux-omap-dss2/linux into cleanup-dss