pandora-kernel.git
15 years agocbus: retu: convert printk to dev_*
Felipe Balbi [Tue, 27 Apr 2010 01:21:28 +0000 (18:21 -0700)]
cbus: retu: convert printk to dev_*

during probe(), we have a dev * available, and we
can use that for pretty printing with dev_* macros.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu: don't assing ret inside the if ()
Felipe Balbi [Tue, 27 Apr 2010 01:21:22 +0000 (18:21 -0700)]
cbus: retu: don't assing ret inside the if ()

better coding style.

Change:
if ((ret = driver_register(&retu_driver)))
into:
ret = driver_register(&retu_driver);
if (ret)

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu: split one MODULE_AUTHOR into several
Felipe Balbi [Tue, 27 Apr 2010 01:21:16 +0000 (18:21 -0700)]
cbus: retu: split one MODULE_AUTHOR into several

it's easier to read anyways.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu: fix compile breakage on retu-headset
Felipe Balbi [Tue, 27 Apr 2010 01:21:07 +0000 (18:21 -0700)]
cbus: retu: fix compile breakage on retu-headset

when building retu-headset as a  module, we need to
export retu_set_clear_reg_bits() and retu_read_adc().

While at that, also move the EXPORT_SYMBOL() macros
closer to the function definitions.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-wdt: fix compile breakage
Felipe Balbi [Tue, 27 Apr 2010 01:21:01 +0000 (18:21 -0700)]
cbus: retu-wdt: fix compile breakage

fix compile breakage on retu-wdt driver.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: add kerneldoc
Felipe Balbi [Tue, 27 Apr 2010 01:20:56 +0000 (18:20 -0700)]
cbus: add kerneldoc

trivial patch, no functional changes.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: introduce cbus_send/receive_data wrappers
Felipe Balbi [Tue, 27 Apr 2010 01:20:50 +0000 (18:20 -0700)]
cbus: introduce cbus_send/receive_data wrappers

encapsulate the for loop on those wrappers and
make the code easier to follow.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: handle possible errors on cbus_send/receive_bit
Felipe Balbi [Tue, 27 Apr 2010 01:20:43 +0000 (18:20 -0700)]
cbus: handle possible errors on cbus_send/receive_bit

gpio_direction_input might fail and we have
to handle that possibility. While at that,
also add the device pointer to struct cbus_host
and use that for printing debugging messages and
make cbus_receive_bit return int.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: move cbus_host definition to C source
Felipe Balbi [Tue, 27 Apr 2010 01:20:36 +0000 (18:20 -0700)]
cbus: move cbus_host definition to C source

no-one else besides cbus.c wants to deal with
struct cbus_host, so move the definition to
the C source interested in it.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: fix a resource leakage
Felipe Balbi [Tue, 27 Apr 2010 01:20:29 +0000 (18:20 -0700)]
cbus: fix a resource leakage

sel_gpio was never freed on previous code, free it.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: don't type case when issuing read/write
Felipe Balbi [Tue, 27 Apr 2010 01:20:22 +0000 (18:20 -0700)]
cbus: don't type case when issuing read/write

avoid type casting, fix the types used.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: add read/write flag to cbus_transfer
Felipe Balbi [Tue, 27 Apr 2010 01:20:16 +0000 (18:20 -0700)]
cbus: add read/write flag to cbus_transfer

don't do magic tricks with the data to be written, it's simpler
to pass down a flag which will for sure tell us if we're reading
or writing.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: no ternary on return
Felipe Balbi [Tue, 27 Apr 2010 01:20:10 +0000 (18:20 -0700)]
cbus: no ternary on return

data is reset to 0 if is_read is true. No need
to use ternary operator before returning.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: rely on gpiolib
Felipe Balbi [Tue, 27 Apr 2010 01:20:02 +0000 (18:20 -0700)]
cbus: rely on gpiolib

don't define our own concurrent accesses to gpio banks
if we already have gpiolib to handle that.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: don't export the global cbus_host variable
Felipe Balbi [Tue, 27 Apr 2010 01:19:54 +0000 (18:19 -0700)]
cbus: don't export the global cbus_host variable

we can keep it static to cbus.c and refer to it when
calling cbus_transfer().

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: checkpatch.pl fix on cbus.c
Felipe Balbi [Tue, 27 Apr 2010 01:19:47 +0000 (18:19 -0700)]
cbus: checkpatch.pl fix on cbus.c

make checkpatch.pl (almost) happy.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: NULL global variable on exit
Felipe Balbi [Tue, 27 Apr 2010 01:19:41 +0000 (18:19 -0700)]
cbus: NULL global variable on exit

just to be sure, let's set it to NULL.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: convert u32 base to void __iomem *base
Felipe Balbi [Tue, 27 Apr 2010 01:19:35 +0000 (18:19 -0700)]
cbus: convert u32 base to void __iomem *base

to avoid casting later, pass the parameter of the
correct type already.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: fix comilation breakage
Alexander Shishkin [Wed, 21 Apr 2010 14:26:07 +0000 (14:26 +0000)]
cbus: fix comilation breakage

Just tried to build n8x0_defconfig on the current master and
got cbus failing to compile due to implicit kzalloc() (and
others from slab.h) references. I'm not sure that including
slab.h directly is the right thing to do here, though.

Signed-off-by: Alexander Shishkin <ash@koowaldah.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: Fix tahvo init without cbus
Tony Lindgren [Tue, 3 Aug 2010 09:10:01 +0000 (12:10 +0300)]
cbus: Fix tahvo init without cbus

Basically don't even try to use it except on Nokia boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: Fix init on boards with no cbus
Tony Lindgren [Tue, 3 Aug 2010 09:10:00 +0000 (12:10 +0300)]
cbus: Fix init on boards with no cbus

This really should get fixed by converting cbus to
use drivers/mfd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: Fix compile if not selected
Tony Lindgren [Tue, 3 Aug 2010 09:10:00 +0000 (12:10 +0300)]
cbus: Fix compile if not selected

Fix compile if not selected

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agofix compile for tahvo-usb.c
Francisco Alecrim [Tue, 3 Aug 2010 09:10:00 +0000 (12:10 +0300)]
fix compile for tahvo-usb.c

drivers/cbus/tahvo-usb.c:138: undefined reference to 'usb_bus_start_enum'

usb_bus_start_enum only exported if USB_OTG enabled

Signed-off-by: Francisco Alecrim <francisco.alecrim@openbossa.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: add platform_data to pass gpios
Felipe Balbi [Tue, 3 Aug 2010 09:09:59 +0000 (12:09 +0300)]
cbus: add platform_data to pass gpios

also add the platform_data to the related
board files.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: move to platform_driver
Felipe Balbi [Tue, 28 Sep 2010 19:00:30 +0000 (12:00 -0700)]
cbus: move to platform_driver

also add the platform_device to 770 and n8x0 board files.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: separate into several MODULE_AUTHOR entries
Felipe Balbi [Tue, 28 Sep 2010 19:00:29 +0000 (12:00 -0700)]
cbus: separate into several MODULE_AUTHOR entries

will look cleaner on modinfo.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: move EXPORT_SYMBOL close to its exported symbols
Felipe Balbi [Tue, 28 Sep 2010 19:00:28 +0000 (12:00 -0700)]
cbus: move EXPORT_SYMBOL close to its exported symbols

while there, also add a missing static to cbus_bus_init().

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: switch to kzalloc
Felipe Balbi [Tue, 28 Sep 2010 19:00:28 +0000 (12:00 -0700)]
cbus: switch to kzalloc

change kmalloc() + memset() to kzalloc(), no functional
changes.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: tahvo-usb: make it build again
Felipe Balbi [Tue, 28 Sep 2010 19:00:27 +0000 (12:00 -0700)]
cbus: tahvo-usb: make it build again

plenty of legacy code sitting there. Make it build
again. Later patches will come to clean that up.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: Make retu watchdog behave like a standard Linux watchdog
Tony Lindgren [Tue, 28 Sep 2010 19:00:27 +0000 (12:00 -0700)]
cbus: Make retu watchdog behave like a standard Linux watchdog

Make retu watchdog behave like a standard Linux watchdog.

Let the kernel do the kicking until the watchdog device is opened.

Note: We should remove the old non-standard interface, please
change to use standard /dev/watchdog instead.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: Fix compile and don't try to use tag
Tony Lindgren [Tue, 28 Sep 2010 19:00:26 +0000 (12:00 -0700)]
cbus: Fix compile and don't try to use tag

Fix compile and don't try to use tag

This should be really passed as platform_data from
the board-*.c files.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Search and replace headers to use plat
Tony Lindgren [Tue, 28 Sep 2010 19:00:26 +0000 (12:00 -0700)]
omap: Search and replace headers to use plat

Search and replace headers to use plat

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Add drivers/cbus support
Juha Yrjola [Tue, 28 Sep 2010 19:00:26 +0000 (12:00 -0700)]
omap: Add drivers/cbus support

CBUS is the bus that Energy Management ASICs are connected to on
some Nokia mobile devices. Added support for CBUS and two EM ASIC
drivers.

This commit is a merge of all the commits that were in the linux-omap
tree:

aae6da6d5f09307b1feb391a47d1ddb6bf2d523e CBUS: Switch to gpio_request/free calls
702e65cebefe0af8ac4a648286f229947f3e1b68 cbus build fixes
f03fdeddbbaafb57f0f62629a316036f270a973d use gpio_to_irq (OMAP tree only)
570f10b7d3aaa3d542b749622df2a1f86e54ebc3 use gpio_direction_output (OMAP tree only)
d59842e6881e8f58cb17de5c0d11866796347d50 use gpio_direction_input (OMAP tree only)
7270f33b7b0139f40fcfbf771dc5ec5a773a71cd use standard gpio get/set calls (OMAP tree only)
f228a725b975832ac5771ab2fc86d06bd694cdb3 ARM: OMAP: Remove io_p2v, use ioremap and XXX_IO_ADDRESS
fdee8764947cde1e6933e7d981ce5b9de00e83e6 Merge current mainline tree into linux-omap tree
5061bcd119547453b32c847d2b9490a052bc1755 Merge mainline v2.6.27-rc2 tree into linux-omap tree
2d46b9c984d1c862f2525b4d0cabcb092f77ac64 CBUS: A workaround for ADC S/H HW bug: always keep ch 8 selected when S/H is used
648f41f57c2bfa7152f0760ca29a1e9dac566ca4 USB: Change omap USB code to use omap_read/write instead of __REG for multi-omap
d305c615bb7f85d49788a4ed28cb6aace2317ab7 ARM: OMAP: Misc compile fixes
bfbd53fcc738ff33ebcf91bc3ef25ae637cc4175 CBUS: Checkpatch.pl fixes for retu-wdt.c
2d28be5848928fbb17952e8eb5295fb506e0c40e CBUS: Fix retu mutex handling
7faa6dd4ae4db44f9c3142484266e17080314d79 CBUS: Fix retu-headset driver by not using removed input_dev->private field
8964c7d13133723ef2fe6a2b798a3fd336b15f4e ARM: OMAP: Add return value check for input_register_device()
2cf7bc8a039d6a6b4558c8c3a319ea15eccab60c CBUS: Fix retu-headset driver by not using removed input_dev->cdev field
97b705ad835f1481270c4b67b402d6e37fa8ad15 ARM: OMAP: Misc compile fixes after syncing with mainline
488de021a75771df95473c85bfaa9c8f1c9db659 tahvo-usb: compile fix usb/gadget.h
d079a1c74ea46f75cc406838c45652b97205e6be CBUS: Do not BUG_ON in retu-headset in case of spurious release event
074e3419440ba83e659be554f827e928826b512d CBUS: Fix reentrant issues in retu-headset driver
9afd4b705891e8afd505ecabec25539b22416d7a CBUS: Manage bias voltage in retu-headset suspend/resume code
0de1ae4b1cee28514dec435bf58c4b5960dfb4e1 CBUS: Cleanup retu-headset driver
dff99b718dffb5c041c99eebb3607f411d377f4d ARM: OMAP: Misc compile fixes after updating to current mainline tree
e0f2c271e0e3feaab8f8190b39876683099d3f6a ARM: OMAP: Fix inconsistency of completion in retu-rtc
6cda72c73944cc50250b3ae959174b6778d5e19f ARM: OMAP: Fix USB compilation for N770 defconfig
d041f80e997ff7c21b14fdee920a034e576aa226 CBUS: Add driver for Retu/Vilma headset detection
699d8412c1bf505f24d1a2048b49b8ffd8fe1d00 ARM: OMAP: Clean up bitrot to sync with mainline
ba9ca80b6468c5500a84a5c5e84383a6925a0bc3 ARM: OMAP: Convert driver interrupt flags SA_* to IRQF_*
7adeaaa4390dff8dcd4e44e6bcb144befcc2816f ARM: OMAP: Workqueue changes for retu-rtc
708739a058a59b76f72062bda81fb961e05d61e8 ARM: OMAP: Workqueue changes for tahvo-usb
995dda5fa21c77d337fa2fc07914ecb15cd08e54 ARM: OMAP: Fix warnings in N770 build
e2f0b012fd0fc16899dcdabc0b43fabdfdadcd8c ARM: OMAP: Fix broken N770 build (tahvo-usb)
d5c772f519236d8683b460e5da37f4a943ca4aae Fix some pt_regs users
229b59cdb41742aa4aee3628962af6ef2c4d944a Sync with mainline: Get rid of unnecessary pt_regs
b983452be56be4169233c34be1134e8030be674b Sync with mainline: Get rid of <#include linux/config.h>
77845293a4eb6cfea806ecc74ea9988c044a76bc CBUS: Retu: add atomic set and clear register bits function
d2db44bd92af99576cdf976f7dfc95f54884b14d CBUS: Tahvo: add atomic set and clear register bits function
e19cba0ecf9dd2d9adfdba175e335aebe973023a CBUS: Enable suspend wakeup for Retu IRQ
8c81aa40bea255769f13449dfb7699552ddb8438 Merge source.mvista.com:/home/git/linux-omap-2.6
1230366a669d16c7a292586adc7ab0725395f5b4 Manual merge to make things compile after updating to 2.6.18-rc4
6b411907432fe97bce3e6a253f6b98ab6c105efc CBUS: turn off tahvo-usb OTG idle mode during enabling
e3b2a7b6c6bcb4d6e839695fdac3e23b86046f98 CBUS: Make Retu RTC and Tahvo USB drivers use sysfs_notify
fe3702054f6412aea04373ceb9d27a4a417ff3f0 OMAP: Fix USB on Nokia 770
9c926661738080ee298bc3a51240dd102973fa61 [PATCH] ARM: OMAP: tahvo_user: sem2mutex conversion
ea90ef431139e4ac40b1d08726f45283f98d50ef [PATCH] ARM: OMAP: tahvo usb: sem2mutex conversion
06563a863d399ab6a3a5c104ddf086030f33b6f6 [PATCH] ARM: OMAP: retu-user: sem2mutex conversion
72a222f41989a4b8ad8cddf62c47608ad2e9e358 [PATCH] ARM: OMAP: retu-rtc: sem2mutex conversion
7508d984603f5ce3cb6883c229c97ed0a35d24c6 [PATCH] CBUS: Fix tahvo-usb omap_otg_remove
07f4f04763e2ff4333d44bec438d4bacbea0b4ae CBUS: Convert Retu power button driver to use input_allocate_device()
c604ff0bb1bbd3c6bf14bb9e5cae67c5a89e4ece cbus: Update tahvo-usb for kernel API changes.
f5c9432bb9bd44968cb785e3bb8aad95d6af3431 [PATCH] ARM: OMAP: gpio-switch and retu-rtc kobject_uevent() fixes
517df76f9295ac1865494476e8b531c65232dc5a ARM: OMAP: Replace clock.h with clk.h
93cb1e87df6ac03d315c0408634831e7db898a77 ARM: OMAP: Support for new Retu chips
480a299b3f3a5302f068fb7e3c68069ab3d355a5 ARM: OMAP: Support for 7-bit backlight register on new Tahvo chips
19deb6846965d9fdd5a87cae3593a953ccfea778 ARM: OMAP: Add CBUS support

15 years agoARM: OMAP3LOGIC: Added SMSC Ethernet board support
Tim Nordell [Mon, 27 Sep 2010 16:05:50 +0000 (16:05 +0000)]
ARM: OMAP3LOGIC: Added SMSC Ethernet board support

Enable SMSC911x Ethernet driver for LogicPD's OMAP
3530 LV SOM and OMAP 35x Torpedo board.

Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoARM: OMAP3LOGIC: Add generic smsc911x support when connected to GPMC
Tim Nordell [Mon, 27 Sep 2010 16:05:49 +0000 (16:05 +0000)]
ARM: OMAP3LOGIC: Add generic smsc911x support when connected to GPMC

Introduce of a generic way to setup smsc911x based Ethernet
controller connected to GPMC similar to gpmc-smc91x but without
timing setup.

Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoARM: OMAP3LOGIC: Adding SDMMC support
Tim Nordell [Mon, 27 Sep 2010 16:05:48 +0000 (16:05 +0000)]
ARM: OMAP3LOGIC: Adding SDMMC support

Add low-level initialization for hsmmc controller for
LogicPD's OMAP 3530 LV SOM and OMAP 35x Torpedo board.

Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
[tony@atomide.com: updated for the recent mmc platform init changes]
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoARM: OMAP3LOGIC: Adding LogicPD OMAP3 board support
Tim Nordell [Mon, 27 Sep 2010 16:05:47 +0000 (16:05 +0000)]
ARM: OMAP3LOGIC: Adding LogicPD OMAP3 board support

Adding support for LogicPD's OMAP 3530 LV SOM and
OMAP 35x Torpedo board.

Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoarm: remove cast from void*
matt mooney [Tue, 28 Sep 2010 02:04:32 +0000 (19:04 -0700)]
arm: remove cast from void*

Unnecessary cast from void* in assignment.

Signed-off-by: matt mooney <mfm@muteddisk.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap3: cm-t3517: add support for TI HECC
Igor Grinberg [Tue, 21 Sep 2010 16:03:13 +0000 (16:03 +0000)]
omap3: cm-t3517: add support for TI HECC

add support for TI HECC.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap3: cm-t3517: add support for NAND flash
Igor Grinberg [Tue, 21 Sep 2010 16:03:12 +0000 (16:03 +0000)]
omap3: cm-t3517: add support for NAND flash

add support for NAND flash.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap3: cm-t3517: add support for usb host
Igor Grinberg [Tue, 21 Sep 2010 16:03:11 +0000 (16:03 +0000)]
omap3: cm-t3517: add support for usb host

add support for hsusb host ports 1, 2 and on-module usb hub.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap3: cm-t3517: add support for v3020 rtc
Igor Grinberg [Tue, 21 Sep 2010 16:03:10 +0000 (16:03 +0000)]
omap3: cm-t3517: add support for v3020 rtc

add support for v3020 rtc.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap3: Introduce CompuLab CM-T3517 module
Igor Grinberg [Tue, 21 Sep 2010 16:03:09 +0000 (16:03 +0000)]
omap3: Introduce CompuLab CM-T3517 module

Add basic suppot, enable uart and led.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoMerge branch 'omap4_and_sdrc_2.6.27' of git://git.pwsan.com/linux-2.6 into omap-for...
Tony Lindgren [Mon, 27 Sep 2010 20:17:13 +0000 (13:17 -0700)]
Merge branch 'omap4_and_sdrc_2.6.27' of git://git.pwsan.com/linux-2.6 into omap-for-linus

15 years agoomap3: Prevent SDRC deadlock when L3 is changing frequency
Jon Hunter [Mon, 27 Sep 2010 20:02:59 +0000 (14:02 -0600)]
omap3: Prevent SDRC deadlock when L3 is changing frequency

When changing the L3 clock frequency, the CPU is executing from internal RAM
and the SDRC clock is disabled. During this time accesses made to external
DDR are stalled. If the ARM subsystem attempts to access the DDR while the
SDRC clock is disabled this will stall the CPU until the access to the SDRC
timeouts. A timeout on the SDRC should never occur. Once a timeout occurs all
the following accesses will be aborted and the DDR is no longer accessible.

Although the code being executed in the internal RAM does not directly access
the DDR, it was found that the branch prediction logic in the CPU may cause
the CPU to prefetch code from a DDR location while the SDRC clock is disabled.
This was causing an SDRC timeout which resulted in a system hang.

This patch fixes this problem by ensuring the branch prediction logic is
disabled while changing the L3 clock frequency. The branch prediction logic
is disabled by clearing the Z-bit in the ARM CTRL register.

Disabling the branch prediction logic does not have any noticable impact
on the execution time of this code section. The hardware observability
signals were used to monitor the sdrc idle time with and without this
patch when operating at different CPU frequencies (150MHz, 500MHz and
600MHz) and the total sdrc idle time when changing frequenct was in
the range of 9-11us. This was measured on an omap3430 SDP running the
omapzoom p-android-omap-2.6.29 branch.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
15 years agoomap4: control: Fix the control module register accesses
Santosh Shilimkar [Mon, 27 Sep 2010 20:02:58 +0000 (14:02 -0600)]
omap4: control: Fix the control module register accesses

This patch has multiple fixes together. To ensure that git bisect work across
commits, all changes are clubbed together

1. Move the common control base address to control core
2. Remove the manually coeded defines and use the ones from headers.
3. Fix the the status register define in id.c for OMAP4
4. Fix all the register define in hsmmc.c
5. Use the control pad accessor API for omap4 hsmmc register accesses

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoomap4: control: Add the register definition headers
Santosh Shilimkar [Mon, 27 Sep 2010 20:02:58 +0000 (14:02 -0600)]
omap4: control: Add the register definition headers

On OMAP4, control module is divided into 4 separate IPs
- OMAP44XX_CTRL_MODULE_CORE
- OMAP44XX_CTRL_MODULE_PAD_CORE
- OMAP44XX_CTRL_MODULE_WKUP
- OMAP44XX_CTRL_MODULE_PAD_WKUP

This patch adds all the omap4 control module register data and
includes them in the common control.h

The register data is autogenerated from the codebase thanks
to Benoit Cousson efforts

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoomap4: control: Add accessor api's for pad control module
Santosh Shilimkar [Mon, 27 Sep 2010 20:02:57 +0000 (14:02 -0600)]
omap4: control: Add accessor api's for pad control module

On OMAP4 control pad are not addressable from control
core base. So the common omap_ctrl_read/write APIs breaks
Hence export separate APIs to manage the omap4 pad control
registers.

This APIs will work only for OMAP4

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoomap4: control: Add ctrl_pad_base to omap_globals
Santosh Shilimkar [Mon, 27 Sep 2010 20:02:57 +0000 (14:02 -0600)]
omap4: control: Add ctrl_pad_base to omap_globals

On omap4 control module is divided in four IP blocks.
- CTRL_MODULE_CORE 0x4a002000
- CTRL_MODULE_PAD_CORE 0x4a100000
- CTRL_MODULE_WKUP 0x4a30c000
- CTRL_MODULE_PAD_WKUP 0x4a31e000

Addressing all the modules with single base address is not possible
considering 16 bit offsets. The mux code manages the pad core and pad
wakeup related base address inside the mux framework. For other usage
only control core and control pad bases are necessary. So this patch
maps only needed pad control base address which is used by device drivers
and infrastructure code

The main control core base is still kept same in this patch to
keep git-bisect working. This will be fixed in the relevant patch
in this series.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoOMAP4: clocks: Fix ES2 clock issues
Benoit Cousson [Mon, 27 Sep 2010 20:02:56 +0000 (14:02 -0600)]
OMAP4: clocks: Fix ES2 clock issues

Fix a few OMAP4430 clock tree problems after the recent manual merge of the
various ES2 clock patches:

- usim optional clock and its parent had the same name, rename the parent
usim_fclk -> usim_ck

- OPTFCLKEN_CLK32K is not handled anymore by the USBPHYOCP2SCP module in ES2
Create a new clock that belongs to CM_ALWON_USBPHY_CLKCTRL register

This patch depends on some of the PRCM macro updates from Rajendra.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: tweaked patch description]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
15 years agoOMAP4: powerdomain: Update DSS logic state for ES2
Rajendra Nayak [Mon, 27 Sep 2010 20:02:56 +0000 (14:02 -0600)]
OMAP4: powerdomain: Update DSS logic state for ES2

DSS on ES2 supports only OSWR, hence remove the support
for CSWR from the powerdomain framework.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoOMAP4: PM: Define additional registers for ES2
Rajendra Nayak [Mon, 27 Sep 2010 20:02:56 +0000 (14:02 -0600)]
OMAP4: PM: Define additional registers for ES2

4430 ES2 has a few new registers added and a few modified
from ES1. This patch adds all the register changes in PRM
and CM for OMAP4430 ES2.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoOMAP4: CM & PRM: Update PRCM register bitshifts and masks for ES2
Rajendra Nayak [Mon, 27 Sep 2010 20:02:55 +0000 (14:02 -0600)]
OMAP4: CM & PRM: Update PRCM register bitshifts and masks for ES2

This patch updates the PRM and CM register bitshifts and masks
for OMAP4430 ES2.0.

Replace as well the BITFIELD macro with the shift operator in order
to be consistent with the previous OMAP2 & 3 format.

Sort the register list in comments in order to have a consistent
register order and avoid futur change during code generation.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoOMAP4: clock: Add optional clock nodes
Benoit Cousson [Mon, 27 Sep 2010 20:02:55 +0000 (14:02 -0600)]
OMAP4: clock: Add optional clock nodes

OMAP4 IP optional clocks require explicit enable in module CTRLCLK
register. In order to allow that we have to create artificial clock
nodes that represent this clock inputs in the IP.

Notes:
- Temporary use OMAP3 names for GPIO optional clocks until the GPIO hwmod
convertion is done. It will enforce the usage of OMAP4 names as the reference.
- Temporary use OMAP3 names for TIMER main clock (gptX_fck) until TIMER hwmod
convertion is done. During that convertion, the new name will have to be used.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
15 years agoOMAP4: clock: Fix clock names and align with hwmod names
Benoit Cousson [Mon, 27 Sep 2010 20:02:54 +0000 (14:02 -0600)]
OMAP4: clock: Fix clock names and align with hwmod names

The OMAP4 hwmod data introduced the new naming convention for TI
IPs (See patch OMAP4: hwmod: Add partial hwmod support for OMAP4430 ES1.0)

The leaf clock names are using the same IP name and thus must be
modified to match the clock populated in the hwmod data.

- Fix some leaf clocks nodes that were using a _iclk instead of the _fclk
prefix.
- Fix some wrong interface clock name for master IPs connected to
interconnect.

Please not that due to the fact that nodes are sorted by name, the name
change will introduce a quite ugly diff a little bit hard to follow.

Timers clock con_id is still using the old gptX_fck name until the
gptimer driver is updated to omap_device framework.
Timers entries in hwmods DB are still disabled until the migration
if timer to platform_driver + omap_hwmod.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: manually resolved conflicts with Rajendra's clock patch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
15 years agoOMAP4: clocks: Update clock tree for ES2
Rajendra Nayak [Mon, 27 Sep 2010 20:02:54 +0000 (14:02 -0600)]
OMAP4: clocks: Update clock tree for ES2

This patch updates the clock tree with all the
changes in OMAP4430 ES2.

clock nodes added
-1- tie_low_clock_ck
-2- abe_dpll_bypass_clk_mux_ck

clock nodes deleted
-1- dpll_sys_ref_clk
-2- per_sgx_fclk
-3- usbphyocp2scp_ick

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
[paul@pwsan.com: added comment re ES1 clocks to top of file]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoupdate OMAP Kconfig help texts for all supported SoC models
Lennert Buytenhek [Wed, 22 Sep 2010 18:40:57 +0000 (20:40 +0200)]
update OMAP Kconfig help texts for all supported SoC models

update OMAP Kconfig help texts for all supported SoC models

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoMerge branch 'devel-omap-smp-on-up' into omap-for-linus
Tony Lindgren [Mon, 27 Sep 2010 17:22:16 +0000 (10:22 -0700)]
Merge branch 'devel-omap-smp-on-up' into omap-for-linus

15 years agoMerge branch 'devel-boards' into omap-for-linus
Tony Lindgren [Mon, 27 Sep 2010 17:19:44 +0000 (10:19 -0700)]
Merge branch 'devel-boards' into omap-for-linus

15 years agoMerge branch 'misc_2.6.37' of git://git.pwsan.com/linux-2.6 into omap-for-linus
Tony Lindgren [Mon, 27 Sep 2010 17:18:00 +0000 (10:18 -0700)]
Merge branch 'misc_2.6.37' of git://git.pwsan.com/linux-2.6 into omap-for-linus

15 years agoMerge branch 'devel-omap-misc' into omap-for-linus
Tony Lindgren [Mon, 27 Sep 2010 17:15:47 +0000 (10:15 -0700)]
Merge branch 'devel-omap-misc' into omap-for-linus

15 years agoomap: mmc: extended to pass host capabilities from board file
Sukumar Ghorai [Wed, 15 Sep 2010 14:49:23 +0000 (14:49 +0000)]
omap: mmc: extended to pass host capabilities from board file

wires variable is renamed, extended and this single variable to be used to
pass the platform capabilities, e.g DDR mode. Also removed the hardcoded
value was using as bus-width.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap2: McBSP: Remove mux code for OMAP2420 McBSP2 and do cleanups
Jarkko Nikula [Tue, 31 Aug 2010 10:12:56 +0000 (10:12 +0000)]
omap2: McBSP: Remove mux code for OMAP2420 McBSP2 and do cleanups

This 'legacy' OMAP2420 McBSP2 muxing code is currently broken after recent
conversion to new mux code. The omap_mcbsp_request calling this code is
usually called after booting whereas the omap_mux_init_signal is __init
marked so null pointer dereference would occur.

Fix this by removing the muxing code and let the bootloader or board file to
do it if necessary. Remove also omap2_mcbsp_ops as there is no use for it.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: McBSP: Do not enable SRG in slave mode
Peter Ujfalusi [Tue, 31 Aug 2010 08:11:44 +0000 (08:11 +0000)]
omap: McBSP: Do not enable SRG in slave mode

McBSP SRG (Sample Rate Generator) and FSG (Frame Sync
Generator) is only needed to be enabled, when McBSP
is master.
In McBSP slave mode, the SRG, and FSG can be kept disabled,
which might save some power at the end in this configuration.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: i2c: Avoid compilation error in case the header is included multiple times
Subramaniam C.A [Tue, 24 Aug 2010 17:02:28 +0000 (12:02 -0500)]
omap: i2c: Avoid compilation error in case the header is included multiple times

Added defines to avoid compilation error.

Signed-off-by: Subramaniam C.A <subramaniam.ca@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: crypto: updates to enable omap aes
Dmitry Kasatkin [Fri, 20 Aug 2010 13:44:46 +0000 (13:44 +0000)]
omap: crypto: updates to enable omap aes

Updates to enable omap aes

Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
[tony@atomide.com: updated to use CONFIG_ARCH_OMAP2/3 instead of old 24XX/34XX]
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: usb: fix build warning
Anand Gadiyar [Thu, 16 Sep 2010 23:22:13 +0000 (16:22 -0700)]
omap: usb: fix build warning

Fix this and similar build warnings when building with
omap_4430sdp_defconfig.

 CC      arch/arm/mach-omap2/board-4430sdp.o
In file included from arch/arm/mach-omap2/board-4430sdp.c:36:
arch/arm/plat-omap/include/plat/usb.h:109: warning: return type defaults to 'int'

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap4: board-omap4panda: adding leds status1 and status2
Ricardo Salveti de Araujo [Fri, 24 Sep 2010 01:22:49 +0000 (18:22 -0700)]
omap4: board-omap4panda: adding leds status1 and status2

At Pandaboard we have 2 status leds, so adding them with similar usage as
we have for Beagleboard (heartbeat and mmc0). The patch basically adds the
platform data required by leds-gpio driver.

Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: 4430sdp board support for proximity sensor
Shubhrajyoti Datta [Fri, 24 Sep 2010 01:22:49 +0000 (18:22 -0700)]
omap: 4430sdp board support for proximity sensor

omap 4430sdp board support for the  proximity sensor via GPIO keys.
The proximity sensor is connected to GPIO and is registered as a
GPIO key.
- Making the default state of the sensor off at bootup
- The init is called before platform_add_devices

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoMerge branch 'omap_for_2.6.37' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4...
Tony Lindgren [Fri, 24 Sep 2010 23:01:57 +0000 (16:01 -0700)]
Merge branch 'omap_for_2.6.37' of git://dev.omapzoom.org/santosh/kernel-omap4-base into omap-for-linus

15 years agoOMAP: hwmod: Set autoidle after smartidle during _sysc_enable
Hema HK [Fri, 24 Sep 2010 16:23:19 +0000 (10:23 -0600)]
OMAP: hwmod: Set autoidle after smartidle during _sysc_enable

OMAP USBOTG module has a requirement to set the autoidle bit only after
setting smartidle bit. Modified the _sys_enable api to set the smartidle
first and then the autoidle bit. Setting this will not have any impact on the
other modules.

Signed-off-by: Hema HK <hemahk@ti.com>
Signed-off-by: Partha Basak <p-basak2@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoOMAP4: PM: Declare idle modules as functional too
Rajendra Nayak [Fri, 24 Sep 2010 16:23:18 +0000 (10:23 -0600)]
OMAP4: PM: Declare idle modules as functional too

The omap4_cm_wait_module_ready function would only check for
the modules to be completely functional before declaring them
ready to be accessed.
There might also be instances where in the module is actually
in idle (under h/w control) but should still be declared
accessible, as the h/w control would make it functional when
needed.

Hence make omap4_cm_wait_module_ready return true in case
the module is fully functional *or* in idle state.
Fail only if the module is fully disabled or stuck intransition.

The explaination from the TRM for the idlest bits on OMAP4 is as
below for quick reference

Module idle state:
0x0 func:     Module is fully functional, including OCP
0x1 trans:    Module is performing transition: wakeup, or sleep, or sleep
              abortion
0x2 idle:     Module is in Idle mode (only OCP part). It is functional if
              using separate functional clock
0x3 disabled: Module is disabled and cannot be accessed

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Partha Basak <p-basak2@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoOMAP: omap_device: Fix to support multiple hwmods for a single device
Kishon Vijay Abraham I [Fri, 24 Sep 2010 16:23:18 +0000 (10:23 -0600)]
OMAP: omap_device: Fix to support multiple hwmods for a single device

Currently there is a bug in the existing omap_device core code when
extracting the hwmod structures passed to omap_device_build_ss(). This bug
gets exposed only when passing multiple hwmod structures to
omap_device_build_ss() resulting in incorrect extraction from second hwmod
structure.

This fix uses the pointer to pointer to omap_hwmod structure (array of
pointers to omap_hwmod structure) passed to omap_device_build_ss() to
correctly extract the appropriate omap_hwmod structure.

This patch has been created and tested on lo/master and mainline.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Charulatha V <charu@ti.com>
Cc: Shubhrajyoti D <shubhrajyoti@ti.com>
15 years agoomap4: Fix bootup crash observed with higher CPU clocks
Santosh Shilimkar [Thu, 16 Sep 2010 13:14:48 +0000 (18:44 +0530)]
omap4: Fix bootup crash observed with higher CPU clocks

This patch is temporary fix to below crash. This is observed when
CPU is clocked more than 600 MHz.

Unhandled fault: imprecise external abort (0x1406) at 0xbf9ef65c
Internal error: : 1406 [#1] PREEMPT SMP
last sysfs file:
Modules linked in:
CPU: 0    Not tainted  (2.6.36-rc3+ #18)
PC is at kernel_thread_helper+0x0/0x14
LR is at kernel_thread_helper+0x0/0x14
pc : [<c003ce14>]    lr : [<c003ce14>]    psr: 00000093
sp : dc83bff8  ip : 00000000  fp : 00000000
r10: 00000000  r9 : 00000000  r8 : 00000000
r7 : 00000013  r6 : c003ce28  r5 : c008935c  r4 : 00000000
r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000000
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c53c7f  Table: 8000404a  DAC: 00000017
Process swapper (pid: 2, stack limit = 0xdc83a2f0)
Stack: (0xdc83bff8 to 0xdc83c000)
bfe0: 00000000 ffffffff
[<c003ce14>] (kernel_thread_helper+0x0/0x14) from [<fffffffe>] (0xfffffffe)
Code: c03a0ba3 c03a5fcb c045c880 c0394035 (eb017701)
---[ end trace 1b75b31a2719ed1c ]---

The timer hwmod adaptation will eventually fix it in a proper way.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
15 years agoomap4: Panda: Add DEBUG_LL support
David Anders [Thu, 16 Sep 2010 13:14:47 +0000 (18:44 +0530)]
omap4: Panda: Add DEBUG_LL support

Add support for use of DEBUG_LL for use with PandaBoard.

Signed-off-by: David Anders <x0132446@ti.com>
15 years agoomap4: l2x0: Fix init parameter for es2.0
Santosh Shilimkar [Thu, 16 Sep 2010 13:14:47 +0000 (18:44 +0530)]
omap4: l2x0: Fix init parameter for es2.0

On ES2.0 the L2 cache init parameter ineeds to be changed to take
care of cache size. The cache size is 1MB on ES2.0 vs 512KB on ES1.0

This patch fixes the init parameter to update the same using
dynamic cpu version check

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
15 years agoomap4: Update id.c and cpu.h for es2.0
Santosh Shilimkar [Thu, 16 Sep 2010 13:14:46 +0000 (18:44 +0530)]
omap4: Update id.c and cpu.h for es2.0

This patch updates the id.c and cpu.h files to support
omap4 ES2.0 silicon detection. Few initial omap4 es2 samples
IDCODE is same as es1. So the patch uses ARM cpuid register to
detect the ES version for such samples

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
15 years agoomap4: sram: Fix start address
Vikram Pandita [Thu, 16 Sep 2010 12:49:25 +0000 (18:19 +0530)]
omap4: sram: Fix start address

On OMAP4 there is no need to have SRAM_BOOTLOADER_SZ provision

Hence put this macro under CONFIG_ARCH_OMAP2PLUS check

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
15 years agoomap: sram: fix is_sram_locked check
Vikram Pandita [Thu, 16 Sep 2010 12:49:24 +0000 (18:19 +0530)]
omap: sram: fix is_sram_locked check

For OMAP24xx/34xx/44xx: omap_type() returns the correct type:
 OMAP2_DEVICE_TYPE_TEST
 OMAP2_DEVICE_TYPE_EMU
 OMAP2_DEVICE_TYPE_SEC
 OMAP2_DEVICE_TYPE_GP
 OMAP2_DEVICE_TYPE_BAD

In current implementation there are two problems:
Problem 1:
For 34xx, the current if check will never return true.

Problem 2:
For 24xx the correct type check should be with omap_type() function
Verified by checking the TRM 24xx for CONTROL_STATUS register bits

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
15 years agoomap: n8x0: Mux i2s codec port pins for McBSP block
Jarkko Nikula [Fri, 20 Aug 2010 06:36:28 +0000 (09:36 +0300)]
omap: n8x0: Mux i2s codec port pins for McBSP block

Bootloader on Nokia N800 and N810 muxes I2C codec port pins for EAC block.
As there is no driver and use for EAC, mux those pins for McBSP instead
since N810 ASoC drivers can use it.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: n8x0: Register i2c2 and add board info with tlv320aic3xfor N810
Jarkko Nikula [Fri, 20 Aug 2010 06:36:28 +0000 (09:36 +0300)]
omap: n8x0: Register i2c2 and add board info with tlv320aic3xfor N810

Second i2c bus on Nokia N800 and N810 shares both common and hw specific
peripherals. Register now this bus and add board info with tlv320aic3x for
N810. Common peripherals may be added as an additional board info to
omap_register_i2c_bus(2, ...);

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: n8x0: Cleanup i2c1 and menelaus registration
Jarkko Nikula [Fri, 20 Aug 2010 06:36:28 +0000 (09:36 +0300)]
omap: n8x0: Cleanup i2c1 and menelaus registration

- Move n8x0_i2c_board_info_1 out from #ifdef CONFIG_MENELAUS block,
  register i2c1 in n8x0_init_machine and do a few clean-ups around these.
  Code looks better if board infos are grouped together
- Mark n8x0_i2c_board_info_1 and n8x0_menelaus_platform_data with __initdata

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap2: fix assorted compiler warnings
Sanjeev Premi [Fri, 24 Sep 2010 01:27:18 +0000 (18:27 -0700)]
omap2: fix assorted compiler warnings

This patch fixes these compiler warnings:

  CC      arch/arm/mach-omap2/mux.o
arch/arm/mach-omap2/mux.c: In function 'omap_mux_init_gpio':
arch/arm/mach-omap2/mux.c:90: warning: 'gpio_mux' may be used uninitial
ized in this function

  CC      arch/arm/plat-omap/gpio.o
arch/arm/plat-omap/gpio.c: In function 'omap2_gpio_resume_after_idle':
arch/arm/plat-omap/gpio.c:2152: warning: 'l' may be used uninitialized
in this function
arch/arm/plat-omap/gpio.c: In function 'omap2_gpio_prepare_for_idle':
arch/arm/plat-omap/gpio.c:2085: warning: 'l2' may be used uninitialized
in this function
arch/arm/plat-omap/gpio.c:2085: warning: 'l1' may be used uninitialized
in this function

  CC      arch/arm/mach-omap2/board-omap4panda.o
arch/arm/mach-omap2/board-omap4panda.c: In function 'omap4_panda_init':
arch/arm/mach-omap2/board-omap4panda.c:277: warning: unused variable 's
tatus'

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Adding beagle i2c eeprom driver to read EDID
Mathieu J. Poirier [Fri, 24 Sep 2010 01:22:48 +0000 (18:22 -0700)]
omap: Adding beagle i2c eeprom driver to read EDID

Adding i2c eeprom driver to access monitor EDID binary information
from user space, something that is required by 'decode-edid' and
'parse-edid'.

BugLink: https://bugs.launchpad.net/bugs/608279
Signed-off-by: Mathieu Poirier <mathieu.poirier@canonical.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Beagle: no gpio_wp pin connection on xM
Robert Nelson [Fri, 24 Sep 2010 01:22:48 +0000 (18:22 -0700)]
omap: Beagle: no gpio_wp pin connection on xM

The omap3630 based BeagleBoard xM uses a MicroSD card slot with
no write protection.

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Beagle: only Cx boards use pin 23 for write protect
Robert Nelson [Fri, 24 Sep 2010 01:22:48 +0000 (18:22 -0700)]
omap: Beagle: only Cx boards use pin 23 for write protect

system_rev comes from u-boot and is a constant 0x20, so
Bx boards also fall in this 'if' and will get setup with the
wrong gpio_wp pin. Switch to using the Beagle revision routine
to correcly set pin 23 only for C1/2/3 and C4 Boards. Bx boards
will then use the correct default pin setting.

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Beagle: revision detection
Robert Nelson [Fri, 24 Sep 2010 01:22:47 +0000 (18:22 -0700)]
omap: Beagle: revision detection

Due to the omap3530 ES3.0 Silicon being used on both the
B5/B6 and C1/2/3 Beagle we can't use the cpu_is_omap34xx()
routines to differentiate the Beagle Boards.

However gpio pins 171,172,173 where setup for this prupose, so
lets use them.

Changes:
for older U-Boot's, use omap_mux_init_gpio()
keep Beagle Rev in board-omap3beagle.c
gpio_free on gpio request failure

Tested on Beagle Revisions: B5, C2, C4, and xMA

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agohmc5843: Digital compass board file
Shubhrajyoti Datta [Fri, 24 Sep 2010 01:22:47 +0000 (18:22 -0700)]
hmc5843: Digital compass board file

The  board file changes for the digital compass hmc5843.
The interface to the device is i2c.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoMerge branch 'pm-runtime' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman...
Tony Lindgren [Fri, 24 Sep 2010 00:29:36 +0000 (17:29 -0700)]
Merge branch 'pm-runtime' of ssh:///linux/kernel/git/khilman/linux-omap-pm into omap-for-linus

15 years agoMerge branch 'pm-next' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman...
Tony Lindgren [Fri, 24 Sep 2010 00:29:28 +0000 (17:29 -0700)]
Merge branch 'pm-next' of ssh:///linux/kernel/git/khilman/linux-omap-pm into omap-for-linus

15 years agoOMAP: GPIO: ensure debounce clocks are disabled during idle/suspend
Kevin Hilman [Wed, 22 Sep 2010 23:06:27 +0000 (16:06 -0700)]
OMAP: GPIO: ensure debounce clocks are disabled during idle/suspend

If a GPIO bank has more than one GPIO with debounce enabled, the
debounce clock will not be fully disabled before going to
idle/suspend.

In the idle path, we just do a single clk_disable() of the bank's
debounce clock.  If there are multiple debounce-enabled GPIOs in the
bank, that clocks usage count will be > 1, so the clk_disable() will
not actually disable the clock.

So the fix is to clk_disable() for every debounce-enabled GPIO in the
bank (and an equivalent clk_enable() of course.)

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoOMAP4: pm: Change l3_main to l3_main_1 during bus device init
Benoit Cousson [Thu, 5 Aug 2010 13:22:35 +0000 (15:22 +0200)]
OMAP4: pm: Change l3_main to l3_main_1 during bus device init

The OMAP4 L3 interconnect is split in 3 part for power saving reason.
Because of that there is no l3_main like on OMAP2 & 3 but 3 differentes
l3_main_X instances.

In the case of OMAP4, query only the l3_main_1 part. The clock and
voltage are shared across the 3 instances.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoOMAP4: hwmod: Add initial data for OMAP4430 ES1 & ES2
Benoit Cousson [Wed, 12 May 2010 15:54:36 +0000 (17:54 +0200)]
OMAP4: hwmod: Add initial data for OMAP4430 ES1 & ES2

The current version contains only the interconnects and the
mpu hwmods.
The remaining hwmods will be introduced by further patches on
top of this one.

- enable as well omap_hwmod.c build for OMAP4 Soc

Please not that this file uses the new naming convention for
naming HW IPs. This convention will be backported soon for previous
OMAP2 & 3 data files.

new name        trm name
-------------   -------------------
counter_32k     synctimer_32k
l3_main         l3
timerX          gptimerX / dmtimerX
mmcX            mmchsX / sdmmcX
dma_system      sdma
smartreflex_X   sr_X / sr?
usb_host_fs     usbfshost
usb_otg_hs      hsusbotg
usb_tll_hs      usbtllhs_config
wd_timerX       wdtimerX
ipu             cortexm3 / ducati
dsp             c6x / tesla
iva             ivahd / iva2.2
kbd             kbdocp / keyboard
mailbox         system_mailbox
mpu             cortexa9 / chiron

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoOMAP: omap_device: make all devices a child of a new parent device
Kevin Hilman [Mon, 23 Aug 2010 15:10:55 +0000 (08:10 -0700)]
OMAP: omap_device: make all devices a child of a new parent device

In order to help differentiate omap_devices from normal
platform_devices, make them all a parent of a new common parent
device.

Then, in order to determine if a platform_device is also an
omap_device, checking the parent is all that is needed.

Users of this feature are the runtime PM core for OMAP, where we need
to know if a device being passed in is an omap_device or not in order
to know whether to call the omap_device API with it.

In addition, all omap_devices will now show up under /sys/devices/omap
instead of /sys/devices/platform

Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoRevert "OMAP: omap_device: add omap_device_is_valid()"
Kevin Hilman [Mon, 23 Aug 2010 17:53:10 +0000 (10:53 -0700)]
Revert "OMAP: omap_device: add omap_device_is_valid()"

This reverts commit 0007122ad85cc36b1c18c0b59344093ca210d206.

The dereference method of checking for a valid omap_device when
wrapping a platform_device is rather unsafe and dangerous.

Instead, a better way of checking for a valid omap-device is
to use a common parent device for all omap_devices, then a check
can simply be made using the device parent.  The only user of this
API was the initial version of the runtime PM core for OMAP.  This
has now been switched to check device parent, so there are no more
users of this API.

Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoOMAP clockdomain: initialize clockdomain registers when the clockdomain layer starts
Paul Walmsley [Tue, 14 Sep 2010 21:56:53 +0000 (15:56 -0600)]
OMAP clockdomain: initialize clockdomain registers when the clockdomain layer starts

When the clockdomain layer initializes, place all clockdomains into
software-supervised mode, and clear all wakeup and sleep dependencies
immediately, rather than waiting for the PM code to do this later.
This fixes a major bug where critical sleep dependencies added by the
hwmod code are cleared during late PM init.

As a side benefit, the _init_{wk,sleep}dep_usecount() functions are no
longer needed, so remove them.

Kevin Hilman <khilman@deeprootsystems.com> did all the really hard work on
this, identifying the problem and finding the bug.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoomap: pm: Move set_pwrdm_state routine to common pm.c
Santosh Shilimkar [Tue, 14 Sep 2010 19:34:01 +0000 (01:04 +0530)]
omap: pm: Move set_pwrdm_state routine to common pm.c

The set_pwrdm_state() is needed on omap4 as well so move
this routine to common pm.c file so that it's available for omap3/4

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoomap: pm-debug: Enable wakeup_timer_milliseconds debugfs entry
Santosh Shilimkar [Tue, 14 Sep 2010 19:34:00 +0000 (01:04 +0530)]
omap: pm-debug: Enable wakeup_timer_milliseconds debugfs entry

Commit 8e2efde9 added milliseconds suspend wakeup time support but
same interface is not exported through debugfs

This patch enables the debugfs hook for wakeup_timer_milliseconds

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoomap: pm-debug: Move common debug code to pm-debug.c
Santosh Shilimkar [Tue, 14 Sep 2010 19:33:59 +0000 (01:03 +0530)]
omap: pm-debug: Move common debug code to pm-debug.c

This patch moves omap2_pm_wakeup_on_timer() and pm debug entries
form pm34xx.c to pm-debug.c and export it, so that it is available
to other OMAPs

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoOMAP4: pm.c extensions for OMAP4 support
Thara Gopinath [Wed, 1 Sep 2010 08:14:53 +0000 (13:44 +0530)]
OMAP4: pm.c extensions for OMAP4 support

OMAP4 has an iva device and a dsp devcice where as OMAP2/3
has only an iva device. In this file the iva device in the
system is registered under the name dsp_dev and the API
to retrieve the iva device is omap2_get_dsp_device.
This patch renames the dsp_dev to iva_dev, renames
omap2_get_dsp_device to omap2_get_iva_device,
registers dsp_dev for OMAP4 and adds a new API
omap4_get_dsp_device to retrieve the dep_dev.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>