Tony Lindgren [Wed, 1 Jun 2011 11:50:25 +0000 (04:50 -0700)]
Linux-omap rebuilt: Updated fixes
$ git checkout -b tmp-rebuild-
1306929008 linus
$ git merge -m "Merge devel-fixes devel-board omap-testing cbus testing-i2c" devel-fixes devel-board omap-testing cbus testing-i2c
$ git merge -s ours master
$ git checkout master
$ git merge tmp-rebuild-
1306929008
To view the changes since the last rebuild, please do
$ git diff
6dc050b68cbbd7ae4429e69f6034c0c32d7a6437..
3d9d52c7c02b70da7a9aa36edbd0059bb7093f76 arch/arm/*omap*/
Merge branch 'master' into tmp-rebuild-
1306929008
Tony Lindgren [Wed, 1 Jun 2011 11:50:11 +0000 (04:50 -0700)]
Merge devel-fixes devel-board omap-testing cbus testing-i2c
Merge branches 'devel-fixes', 'devel-board', 'omap-testing', 'cbus' and 'testing-i2c' into tmp-rebuild-
1306929008
Balaji T K [Wed, 1 Jun 2011 11:15:22 +0000 (16:45 +0530)]
ARM: OMAP4: MMC: increase delay for pbias
4 micro seconds is not enough for PBIAS if MMC regulator is
enabled from MMC regulator OFF.
Increase the delay for PBIAS to stabilize.
Wait for PBIAS and timeout if not.
Resolves MMC/SD failure on OMAP4
"Pbias Voltage is not same as LDO"
Signed-off-by: Balaji T K <balajitk@ti.com>
Acked-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Igor Grinberg [Mon, 30 May 2011 07:11:45 +0000 (00:11 -0700)]
arm: omap2plus: move NAND_BLOCK_SIZE out of boards
Several boards defining mtd partitions also defined NAND_BLOCK_SIZE as
SZ_128K. Move the define to common-board-devices.h
This removes multiple defines of NAND_BLOCK_SIZE.
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Shubhrajyoti D [Wed, 4 May 2011 21:57:44 +0000 (14:57 -0700)]
omap4: hwmod: Enable the keypad
Commit
407a6888f7362cb3dabe69ea6d9dcf3c750dc56a (OMAP4: hwmod data:
Add AESS, McPDM, bandgap, counter_32k, MMC, KBD, ISS & IPU) added the
entry for keypad, but did not enable it.
Enable the keypad in the hwmod database so it works.
Signed-off-by: Shubhrajyoti D<shubhrajyoti@ti.com>
Acked-by: Benoit Cousson<b-cousson@ti.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tasslehoff Kjappfot [Tue, 31 May 2011 11:58:56 +0000 (04:58 -0700)]
omap3: Free Beagle rev gpios when they are read, so others can read them later
Free Beagle rev gpios when they are read, so others can read them later
Signed-off-by: Tasslehoff Kjappfot <tasskjapp@gmail.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Alexander Holler [Tue, 5 Apr 2011 13:40:08 +0000 (15:40 +0200)]
arm: omap3: beagle: Ensure msecure is mux'd to be able to set the RTC
Without msecure beeing high it isn't possible to set (or start)
the RTC.
Tested with a BeagleBoard C4.
Signed-off-by: Alexander Holler <holler@ahsoftware.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Tue, 31 May 2011 08:27:01 +0000 (11:27 +0300)]
omap: rx51: Don't power up speaker amplifier at bootup
Speaker amplifier is accidentally powered up in early TWL gpio setup. This
causes a few mA of needless battery current consumption. Without this patch
the amplifier can be shutdown only by having one active audio playback and
shutdown cycle to speaker output.
Thanks to Kalle Jokiniemi <kalle.jokiniemi@nokia.com> for noticing the issue.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Tue, 31 May 2011 08:27:00 +0000 (11:27 +0300)]
omap: rx51: Set regulator V28_A always on
The V28_A domain in Nokia N900 that supplies VDD voltages to TLV320AIC34 and
TPA6130A2 should not be shutdown. This is because otherwise there will be
leak from VIO to VDD in TLV320AIC34 and this leak consumes more battery
current that is saved from keeping V28_A off. With this patch the battery
current consumption is approximately 1.5 mA lower.
Thanks to Kalle Jokiniemi <kalle.jokiniemi@nokia.com> for noticing the issue.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Balaji T K [Mon, 30 May 2011 14:25:34 +0000 (19:55 +0530)]
ARM: OMAP4: MMC: no regulator off during probe for eMMC
eMMC does not handle power off when not in sleep state,
Skip regulator disable during probe when eMMC is
not in known state - state left by bootloader.
Resolves eMMC failure on OMAP4
mmc0: error -110 whilst initialising MMC card
Signed-off-by: Balaji T K <balajitk@ti.com>
Tested-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Acked-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Igor Grinberg [Wed, 4 May 2011 15:04:55 +0000 (18:04 +0300)]
arm: omap2plus: fix ads7846 pendown gpio request
introduced by:
96974a24
(omap: consolidate touch screen initialization among different boards)
ads7846 driver can use either gpio_pendown or get_pendown_state()
callback. In case of gpio_pendown, it requests the provided gpio_pendown
thus resulting in double requesting that gpio:
ads7846 spi1.0: failed to request pendown GPIO57
ads7846: probe of spi1.0 failed with error -16
Fix this by restricting the gpio request to the case of
get_pendown_state() callback is used.
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Tested-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Todd Poynor [Thu, 26 May 2011 19:25:53 +0000 (12:25 -0700)]
ARM: OMAP2: Add missing iounmap in omap4430_phy_init
!dev case needs iounmap before return.
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Colin Cross [Wed, 4 May 2011 21:57:57 +0000 (14:57 -0700)]
ARM: omap4: Pass core and wakeup mux tables to omap4_mux_init
OMAP4 contains two separate instances of the padconf registers,
one in the core system config and one in the wakeup system config.
Pass in two tables to apply the correct values to each instance.
Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Colin Cross [Tue, 31 May 2011 19:00:09 +0000 (12:00 -0700)]
ARM: omap2+: mux: Allow board mux settings to be NULL
OMAP4 has two mux instances, and the board may not have settings
for one of them. Allow the board file to pass NULL for an
instance's mux settings, which will initialize the mux instance
but skip writing board settings.
Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Rabin Vincent [Sat, 7 May 2011 16:58:47 +0000 (22:28 +0530)]
OMAP4: fix return value of omap4_l3_init
Don't PTR_ERR() a non-error pointer:
initcall omap4_l3_init+0x0/0xdc returned -
544980480 after 0 usecs
initcall omap4_l3_init+0x0/0xdc returned with error code -
544980480
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Omar Ramirez Luna [Fri, 25 Mar 2011 20:04:31 +0000 (14:04 -0600)]
OMAP: iovmm: fix SW flags passed by user
Commit
d038aee24dcd5a2a0d8547f5396f67ae9698ac8e
"omap: iovmm: don't check 'da' to set IOVMF_DA_FIXED flag",
changes iovmm to receive flags specified by user, however
the upper 16 bits of the flags are wiped by iovmm itself.
This fixes IOVMF_DA_FIXED flags from being lost, and lets the user
map its desired "device addresses".
Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Julia Lawall [Fri, 13 May 2011 16:46:10 +0000 (18:46 +0200)]
arch/arm/mach-omap1/dma.c: Invert calls to platform_device_put and platform_device_del
Platform_device_del should be called before platform_device_put, as
platform_device_put can delete the structure.
Additionally, improve the error handling code for the call to ioremap, so
that it calls platform_device_put.
The semantic match that finds this problem is:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression e1,e2;
@@
*platform_device_put(e1);
... when != e1 = e2
*platform_device_del(e1);
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Govindraj.R [Wed, 1 Jun 2011 05:58:56 +0000 (11:28 +0530)]
OMAP2+: mux: fix compilation warnings
Fix below compilation warnings.
arch/arm/mach-omap2/omap_hwmod.c: In function 'omap_hwmod_for_each':
arch/arm/mach-omap2/omap_hwmod.c:1631: warning: 'ret' may be used uninitialized in this function
arch/arm/mach-omap2/mux.c: In function 'omap_mux_get_gpio':
arch/arm/mach-omap2/mux.c:917: warning: 'm' may be used uninitialized in this function
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 31 May 2011 13:57:10 +0000 (06:57 -0700)]
Linux-omap rebuilt: Updated to v3.0-rc1
$ git checkout -b tmp-rebuild-
1306850196 linus
$ git merge -m "Merge devel-fixes devel-board omap-testing cbus testing-i2c" devel-fixes devel-board omap-testing cbus testing-i2c
$ git merge -s ours master
$ git checkout master
$ git merge tmp-rebuild-
1306850196
To view the changes since the last rebuild, please do
$ git diff
07735c34d28a496f6372725390e9a7e91f3abdc4..
9f7bef3f61af8dba0e782dcbfc78bde5c13f33d1 arch/arm/*omap*/
Merge branch 'master' into tmp-rebuild-
1306850196
Tony Lindgren [Tue, 31 May 2011 13:56:46 +0000 (06:56 -0700)]
Merge devel-fixes devel-board omap-testing cbus testing-i2c
Merge branches 'devel-fixes', 'devel-board', 'omap-testing', 'cbus' and 'testing-i2c' into tmp-rebuild-
1306850196
Balaji T K [Mon, 30 May 2011 14:25:34 +0000 (19:55 +0530)]
ARM: OMAP4: MMC: no regulator off during probe for eMMC
eMMC does not handle power off when not in sleep state,
Skip regulator disable during probe when eMMC is
not in known state - state left by bootloader.
Resolves eMMC failure on OMAP4
mmc0: error -110 whilst initialising MMC card
Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tasslehoff Kjappfot [Tue, 31 May 2011 11:58:56 +0000 (04:58 -0700)]
omap3: Free Beagle rev gpios when they are read, so others can read them later
Free Beagle rev gpios when they are read, so others can read them later
Signed-off-by: Tasslehoff Kjappfot <tasskjapp@gmail.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Alexander Holler [Tue, 5 Apr 2011 13:40:08 +0000 (15:40 +0200)]
arm: omap3: beagle: Ensure msecure is mux'd to be able to set the RTC
Without msecure beeing high it isn't possible to set (or start)
the RTC.
Tested with a BeagleBoard C4.
Signed-off-by: Alexander Holler <holler@ahsoftware.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Tue, 31 May 2011 08:27:01 +0000 (11:27 +0300)]
omap: rx51: Don't power up speaker amplifier at bootup
Speaker amplifier is accidentally powered up in early TWL gpio setup. This
causes a few mA of needless battery current consumption. Without this patch
the amplifier can be shutdown only by having one active audio playback and
shutdown cycle to speaker output.
Thanks to Kalle Jokiniemi <kalle.jokiniemi@nokia.com> for noticing the issue.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Tue, 31 May 2011 08:27:00 +0000 (11:27 +0300)]
omap: rx51: Set regulator V28_A always on
The V28_A domain in Nokia N900 that supplies VDD voltages to TLV320AIC34 and
TPA6130A2 should not be shutdown. This is because otherwise there will be
leak from VIO to VDD in TLV320AIC34 and this leak consumes more battery
current that is saved from keeping V28_A off. With this patch the battery
current consumption is approximately 1.5 mA lower.
Thanks to Kalle Jokiniemi <kalle.jokiniemi@nokia.com> for noticing the issue.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Balaji T K [Mon, 30 May 2011 14:25:33 +0000 (19:55 +0530)]
ARM: OMAP4: MMC: increase delay for pbias
4 micro seconds is not enough for PBIAS if MMC regulator is
enabled from MMC regulator OFF.
Increase the delay for PBIAS to stabilize.
Wait for PBIAS and timeout if not.
Resolves MMC/SD failure on OMAP4
"Pbias Voltage is not same as LDO"
Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Igor Grinberg [Wed, 4 May 2011 15:04:55 +0000 (18:04 +0300)]
arm: omap2plus: fix ads7846 pendown gpio request
introduced by:
96974a24
(omap: consolidate touch screen initialization among different boards)
ads7846 driver can use either gpio_pendown or get_pendown_state()
callback. In case of gpio_pendown, it requests the provided gpio_pendown
thus resulting in double requesting that gpio:
ads7846 spi1.0: failed to request pendown GPIO57
ads7846: probe of spi1.0 failed with error -16
Fix this by restricting the gpio request to the case of
get_pendown_state() callback is used.
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Tested-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Todd Poynor [Thu, 26 May 2011 19:25:53 +0000 (12:25 -0700)]
ARM: OMAP2: Add missing iounmap in omap4430_phy_init
!dev case needs iounmap before return.
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Shubhrajyoti D [Wed, 4 May 2011 21:57:44 +0000 (14:57 -0700)]
omap4: hwmod: Enable the keypad
Commit
407a6888f7362cb3dabe69ea6d9dcf3c750dc56a (OMAP4: hwmod data:
Add AESS, McPDM, bandgap, counter_32k, MMC, KBD, ISS & IPU) added the
entry for keypad, but did not enable it.
Enable the keypad in the hwmod database so it works.
Signed-off-by: Shubhrajyoti D<shubhrajyoti@ti.com>
Acked-by: Benoit Cousson<b-cousson@ti.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Colin Cross [Wed, 4 May 2011 21:57:57 +0000 (14:57 -0700)]
ARM: omap4: Pass core and wakeup mux tables to omap4_mux_init
OMAP4 contains two separate instances of the padconf registers,
one in the core system config and one in the wakeup system config.
Pass in two tables to apply the correct values to each instance.
Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Rabin Vincent [Sat, 7 May 2011 16:58:47 +0000 (22:28 +0530)]
OMAP4: fix return value of omap4_l3_init
Don't PTR_ERR() a non-error pointer:
initcall omap4_l3_init+0x0/0xdc returned -
544980480 after 0 usecs
initcall omap4_l3_init+0x0/0xdc returned with error code -
544980480
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Omar Ramirez Luna [Fri, 25 Mar 2011 20:04:31 +0000 (14:04 -0600)]
OMAP: iovmm: fix SW flags passed by user
Commit
d038aee24dcd5a2a0d8547f5396f67ae9698ac8e
"omap: iovmm: don't check 'da' to set IOVMF_DA_FIXED flag",
changes iovmm to receive flags specified by user, however
the upper 16 bits of the flags are wiped by iovmm itself.
This fixes IOVMF_DA_FIXED flags from being lost, and lets the user
map its desired "device addresses".
Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Charulatha V [Tue, 31 May 2011 13:18:49 +0000 (06:18 -0700)]
Fix: ZOOM: QUART: Request reset GPIO
Reset GPIO (OMAP_GPIO_152) for QUART in zoom2/zoom3 debug-board is
not requested at all. This would lead to problems if this GPIO is
wrongly requested. Hence request OMAP GPIO 152 for QUART RESET but
do not apply a reset pulse as it would reset QUART and
disturb the QUART settings.
Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kalle Jokiniemi [Tue, 31 May 2011 13:18:48 +0000 (06:18 -0700)]
OMAP3: rx-51: Add full regulator definitions
The vaux2 (VCSI) regulator is left on by the bootloader
in rx-51. Since there the product has shipped and there
won't be any bootloader updates to fix this issue, we
need to define all the regulators and declare full
constraints for the regulator FW. This will allow the
regulator FW to disable unused regulators.
Also this helps in adding more fine grain regulator
support for rx-51 in the future.
Thanks for Mark Brown for pointing out the correct
solution.
Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ameya Palande [Tue, 31 May 2011 13:18:48 +0000 (06:18 -0700)]
omap: rx51: Platform support for lp5523 led chip
Platform support for lp5523 led chip
Signed-off-by: Ameya Palande <ameya.palande@nokia.com>
Signed-off-by: Mathias Nyman <mathias.nyman@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Mon, 4 Apr 2011 08:50:08 +0000 (14:20 +0530)]
OMAP: SRAM: Fix warning: format '%08lx' expects type 'long unsigned int'
Fix below build warning.
CC arch/arm/plat-omap/sram.o
arch/arm/plat-omap/sram.c: In function 'omap_map_sram':
arch/arm/plat-omap/sram.c:224: warning: format '%08lx' expects
type 'long unsigned int', but argument 2 has type 'unsigned int'
While at this, convert SRAM printk(* "") to pr_*("").
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Julia Lawall [Fri, 13 May 2011 16:46:10 +0000 (18:46 +0200)]
arch/arm/mach-omap1/dma.c: Invert calls to platform_device_put and platform_device_del
Platform_device_del should be called before platform_device_put, as
platform_device_put can delete the structure.
Additionally, improve the error handling code for the call to ioremap, so
that it calls platform_device_put.
The semantic match that finds this problem is:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression e1,e2;
@@
*platform_device_put(e1);
... when != e1 = e2
*platform_device_del(e1);
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Igor Grinberg [Mon, 30 May 2011 07:11:45 +0000 (00:11 -0700)]
arm: omap3: cm-t3517: fix section mismatch warning
WARNING: arch/arm/mach-omap2/built-in.o(.text+0x11014): Section mismatch
in reference from the function cm_t3517_init_usbh() to the (unknown
reference) .init.data:(unknown)
The function cm_t3517_init_usbh() references
the (unknown reference) __initdata (unknown).
This is often because cm_t3517_init_usbh lacks a __initdata
annotation or the annotation of (unknown) is wrong.
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Igor Grinberg [Mon, 30 May 2011 07:11:45 +0000 (00:11 -0700)]
arm: omap2plus: move NAND_BLOCK_SIZE out of boards
Several boards defining mtd partitions also defined NAND_BLOCK_SIZE as
SZ_128K. Move the define to common-board-devices.h
This removes multiple defines of NAND_BLOCK_SIZE.
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Mon, 30 May 2011 07:11:45 +0000 (00:11 -0700)]
OMAP2+: Fix 9 section mismatch(es) warnings from mach-omap2/built-in.o
The serial*_data should have been marked as __initdata as per
it's usage in the board files. Fix the same to remove the
section mismatch warnings caused by it.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Silesh C V <silesh@ti.com>
[tony@atomide.com: updated with additional fixes from Silesh]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Axel Lin [Tue, 31 May 2011 12:55:44 +0000 (20:55 +0800)]
ARM: OMAP2: Add missing include of linux/gpio.h
I got some build error like below while executing "make omap2plus_defconfig".
CC arch/arm/mach-omap2/board-2430sdp.o
arch/arm/mach-omap2/board-2430sdp.c: In function 'omap_2430sdp_init':
arch/arm/mach-omap2/board-2430sdp.c:247: error: 'GPIOF_OUT_INIT_LOW' undeclared (first use in this function)
arch/arm/mach-omap2/board-2430sdp.c:247: error: (Each undeclared identifier is reported only once
arch/arm/mach-omap2/board-2430sdp.c:247: error: for each function it appears in.)
This patch fixes the build error by include linux/gpio.h instead of mach/gpio.h.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Cc: Syed Mohammed Khasim <x0khasim@ti.com>
Cc: Grazvydas Ignotas <notasas@gmail.com>
Cc: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Janusz Krzysztofik [Mon, 30 May 2011 22:44:31 +0000 (00:44 +0200)]
OMAP: fix compilation error
Forward-declare platform_device structure in
arch/arm/plat-omap/include/plat/flash.h, otherwise compilation may break
with:
In file included from arch/arm/mach-omap1/flash.c:15:
arch/arm/plat-omap/include/plat/flash.h:14: warning: 'struct platform_device' declared inside parameter list
arch/arm/plat-omap/include/plat/flash.h:14: warning: its scope is only this definition or declaration, which is probably not what you want
arch/arm/mach-omap1/flash.c:16: warning: 'struct platform_device' declared inside parameter list
arch/arm/mach-omap1/flash.c:17: error: conflicting types for 'omap1_set_vpp'
arch/arm/plat-omap/include/plat/flash.h:14: error: previous declaration of 'omap1_set_vpp' was here
Detected and corrected while building for Amstrad Delta, confirmed with
omap1_defconfig.
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 30 May 2011 14:45:45 +0000 (07:45 -0700)]
Merge commit 'linus' into cbus
Andy Green [Mon, 30 May 2011 14:43:10 +0000 (07:43 -0700)]
I2C: OMAP1/OMAP2+: prepend I2C IP version to probed version shown in dev_info
The IP version is prepended to the existing printed probed
version as an "epoch" version.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:09 +0000 (07:43 -0700)]
I2C: OMAP2+: Convert omap I2C driver to use feature implementation flags from platform data
This patch eliminates all cpu_...() tests from the OMAP I2C driver.
Instead, it uses the functionality flags in the platform data to make
the decisions about product variations the driver needs to handle.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:09 +0000 (07:43 -0700)]
I2C: OMAP1: set i2c unit feature implementation flags in platform data
Most of the OMAP1 implementation flags are set statically, with the
exception that omap7xx has its data bus wired up differently.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:09 +0000 (07:43 -0700)]
I2C: OMAP2+: add correct functionality flags to all omap2plus i2c dev_attr
This adds the new functionality flags for omap i2c unit to all OMAP2
hwmod definitions
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:08 +0000 (07:43 -0700)]
I2C: OMAP1/OMAP2+: create omap I2C functionality flags for each cpu_... test
These represent the 8 kinds of implementation functionality
that up until now were inferred by the 16 remaining cpu_...()
tests in the omap i2c driver.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:08 +0000 (07:43 -0700)]
I2C: OMAP2+: Pass flags up to omap i2c platform_data as well
This is how the driver can find the flags for its implementation
functionality in its platform_data
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:08 +0000 (07:43 -0700)]
I2C: OMAP1/OMAP2+: add flags field to omap i2c platform data
OMAP I2C driver can access the configuration flags through
its platform data.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:07 +0000 (07:43 -0700)]
I2C: OMAP2+: increase omap_i2c_dev_attr flags from u8 to u32
As part of removing cpu_...() from the OMAP I2C driver, we need to
convert the CPU tests into functionality flags that are set by
hwmod class in the same way the IP revision is.
More flags are needed than will fit in the existing u8 flags
member of omap_i2c_dev_attr.
These flags can refer to options inside the IP block but they are
most needed for information about cpu implementation specific
options that are not part of the IP block itself. For example,
how the CPU data bus is wired to the IP block databus differs
between OMAP cpus and affects how you must shift the address in
the IP block, but is not a feature of the IP block itself.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:07 +0000 (07:43 -0700)]
I2C: OMAP2+: address confused probed version naming
The driver reflects the confusion that probed I2C revision
from the hardware of 0x40 means it is on an OMAP4430.
However, you will probe the same 0x40 ID on an OMAP3530. So
this patch changes the name to reflect that.
It also clarifies that the original name OMAP_I2C_REV_2 is
referring to some ancient OMAP1 revision number, not to be
confused with the IP revisions this patch series introduces.
Similarly the term "rev" is used in the ancient OMAP1 ISR,
the term is changed to use omap1 instead.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:07 +0000 (07:43 -0700)]
I2C: OMAP2+: Solve array bounds overflow error on i2c idle
This solves the main problem the patch series is about. Prior
to this patch on OMAP3530 the driver wrongly interprets the I2C
peripheral unit's own reported revision as meaning it is running
on an IP V2 device and must use the extended registers.
In fact OMAP3530 is IP V1 with the smaller register set, the
reason for the confusion is that the hardware does in fact report
having the same IP revision index as is found on an OMAP4430,
which really is IP V2 and has the extended registers.
This corrects the test for which registers to use so that it
decides using hwmod knowledge found in the platform_data.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:06 +0000 (07:43 -0700)]
I2C: OMAP2+: use platform_data ip revision to select register map
Change the register map names to reflect the IP revision they
are representing, and use the platform_data IP revision index
to select between them at init time.
Eliminates 1 of 17 cpu_...() calls in the driver.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:06 +0000 (07:43 -0700)]
I2C: OMAP2+: Pass hwmod rev knowledge via platform_data when i2c bus added
Mark each OMAP I2C bus with the hwmod's knowledge of which I2C
IP version is in the chip we're running on.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:06 +0000 (07:43 -0700)]
I2C: OMAP1: set IP revision in platform data
All OMAP1 are using "IP revision 1" in terms of register
layout. We set this information in omap1_i2c_add_bus() so
we don't have to use cpu_is_xxx() any more in the omap i2c
driver.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:05 +0000 (07:43 -0700)]
I2C: OMAP: add rev to omap i2c platform data
We need to pass the I2C IP revision from the hwmod class up
into the OMAP I2C driver, which does not have direct
access to it.
This adds a member to the platform data the OMAP I2C driver
does use already to hold the I2C IP revision.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:05 +0000 (07:43 -0700)]
I2C: OMAP2+: Tag all OMAP2+ hwmod defintions with I2C IP revision
Since we cannot trust (or even reliably find) the OMAP I2C
peripheral unit's own revision register, we must inform the
OMAP i2c driver of which IP version it is running on. We
do this by tagging the omap_hwmod_class for i2c on all the
OMAP2+ platform / cpu specific hwmod init and passing it up
to the driver (next patches).
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:04 +0000 (07:43 -0700)]
I2C: OMAP2+: Introduce I2C IP versioning constants
These represent the two kinds of (incompatible) OMAP I2C
peripheral unit in use so far.
The constants are in linux/i2c-omap.h so the omap i2c driver can have
them too.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:04 +0000 (07:43 -0700)]
I2C: OMAP2+: Name registers in I2C IP V2 only accordingly
The OMAP I2C driver dynamically chooses between two register sets of
differing sizes depending on the cpu type it finds itself on.
It has been observed that the existing code references non-existing
registers on OMAP3530, because while it correctly chose the smaller
register layout based on cpu type, the code uses the probed register
ID to decide if to execute code referencing an extra register, and
both register layout devices on OMAP3530 and OMAP4430 report the same
probed ID of 0x40.
This patch changes the extended register names only found on IP V2
of the I2C peripheral unit accordingly to help show up errors in usage.
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Andy Green [Mon, 30 May 2011 14:43:00 +0000 (07:43 -0700)]
I2C: OMAP2+: Set hwmod flags to only allow 16-bit accesses to i2c
Peter Maydell noticed when running under QEMU he was getting
errors reporting 32-bit access to I2C peripheral unit registers
that are documented to be 8 or 16-bit only[1][2]
The I2C driver is blameless as it wraps its accesses in a
function using __raw_writew and __raw_readw, it turned out it
is the hwmod stuff.
However the hwmod code already has a flag to force a
perhipheral unit to only be accessed using 16-bit operations.
This patch applies the 16-bit only flag to the 2430,
OMAP3xxx and OMAP44xx hwmod structs. 2420 was already
correctly marked up as 16-bit.
The 2430 change will need testing by TI as arranged
in the comments to the previous patch version.
When the 16-bit flag is or-ed with other flags, it is placed
first as requested in comments.
[1] OMAP4430 Technical reference manual section 23.1.6.2
[2] OMAP3530 Techincal reference manual section 18.6
Cc: patches@linaro.org
Cc: Ben Dooks <ben-linux@fluff.org>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Mon, 30 May 2011 14:41:32 +0000 (07:41 -0700)]
ASoC: OMAP: McBSP: fix build breakage on OMAP1
After commits
d13586574d373ef40acd4725c9a269daa355e412 ("OMAP: McBSP:
implement functional clock switching via clock framework") and
cf4c87abe238ec17cd0255b4e21abd949d7f811e ("OMAP: McBSP: implement
McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c"), any OMAP1
board (such as the AMS Delta) that uses the ASoC McBSP driver will no
longer build:
sound/built-in.o: In function `omap_mcbsp_dai_set_dai_sysclk':
last.c:(.text+0x24ff8): undefined reference to `omap2_mcbsp1_mux_clkr_src'
last.c:(.text+0x2500c): undefined reference to `omap2_mcbsp1_mux_fsr_src'
make: *** [vmlinux] Error 1
Fix by defining three OMAP1-only dummy functions for
omap2_mcbsp1_mux_clkr_src(), omap2_mcbsp1_mux_fsr_src(), and
omap2_mcbsp_set_clks_src().
Normally, code that is OMAP SoC-revision-specific like this should go
under the arch/arm/*omap* directories, and get abstracted away from
drivers via struct platform_data function pointers. This doesn't work
in this case since there doesn't appear to be any convenient way to access
struct platform_data (or something like it) in the current design of
the sound/soc/omap/omap-mcbsp.c driver.
Reported by Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> and Tony Lindgren
<tony@atomide.com>. Janusz also posted a patch to fix this at:
http://www.spinics.net/lists/linux-omap/msg39560.html
(among other places), but the following approach seems less dependent
on compiler behavior.
This patch passes build tests for ams_delta_defconfig and omap2plus_defconfig,
but since I don't have an AMS Delta here, I can't boot test it on that
platform.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Jarkko Nikula <jhnikula@gmail.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Stephen Rothwell [Mon, 30 May 2011 03:12:18 +0000 (13:12 +1000)]
Add linux-next specific files for
20110530
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Stephen Rothwell [Mon, 30 May 2011 03:05:56 +0000 (13:05 +1000)]
Revert "kgdbts: unify/generalize gdb breakpoint adjustment"
This reverts commit
63ab25ebbc50f74550bd8d164a34724b498f6fb9.
Stephen Rothwell [Mon, 30 May 2011 02:47:10 +0000 (12:47 +1000)]
Merge remote-tracking branch 'workqueues/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:47:07 +0000 (12:47 +1000)]
Merge remote-tracking branch 'percpu/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:45:40 +0000 (12:45 +1000)]
Merge remote-tracking branch 'xen-two/linux-next'
Stephen Rothwell [Mon, 30 May 2011 02:44:24 +0000 (12:44 +1000)]
Merge remote-tracking branch 'kvm/linux-next'
Stephen Rothwell [Mon, 30 May 2011 02:38:50 +0000 (12:38 +1000)]
Merge remote-tracking branch 'rcu/rcu/next'
Stephen Rothwell [Mon, 30 May 2011 02:38:42 +0000 (12:38 +1000)]
Merge remote-tracking branch 'tip/auto-latest'
Stephen Rothwell [Mon, 30 May 2011 02:37:32 +0000 (12:37 +1000)]
Merge remote-tracking branch 'gpio/gpio/next'
Stephen Rothwell [Mon, 30 May 2011 02:36:07 +0000 (12:36 +1000)]
Merge remote-tracking branch 'devicetree/devicetree/next'
Stephen Rothwell [Mon, 30 May 2011 02:36:05 +0000 (12:36 +1000)]
Merge remote-tracking branch 'i7300_edac/linux_next'
Stephen Rothwell [Mon, 30 May 2011 02:34:45 +0000 (12:34 +1000)]
Merge remote-tracking branch 'i7core_edac/linux_next'
Stephen Rothwell [Mon, 30 May 2011 02:32:22 +0000 (12:32 +1000)]
Merge remote-tracking branch 'fsnotify/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:31:02 +0000 (12:31 +1000)]
Merge remote-tracking branch 'trivial/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:29:42 +0000 (12:29 +1000)]
Merge remote-tracking branch 'dwmw2-iommu/master'
Stephen Rothwell [Mon, 30 May 2011 02:28:23 +0000 (12:28 +1000)]
Merge remote-tracking branch 'watchdog/master'
Stephen Rothwell [Mon, 30 May 2011 02:28:00 +0000 (12:28 +1000)]
Merge remote-tracking branch 'agp/agp-next'
Stephen Rothwell [Mon, 30 May 2011 02:27:49 +0000 (12:27 +1000)]
Merge remote-tracking branch 'voltage/for-next'
Conflicts:
drivers/mfd/Kconfig
drivers/mfd/Makefile
drivers/regulator/Makefile
Stephen Rothwell [Mon, 30 May 2011 02:18:42 +0000 (12:18 +1000)]
Merge remote-tracking branch 'leds/for-mm'
Conflicts:
drivers/leds/Kconfig
Stephen Rothwell [Mon, 30 May 2011 02:17:05 +0000 (12:17 +1000)]
Merge remote-tracking branch 'block/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:15:37 +0000 (12:15 +1000)]
Merge branch 'quilt/rr'
Stephen Rothwell [Mon, 30 May 2011 02:14:18 +0000 (12:14 +1000)]
Merge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:14:12 +0000 (12:14 +1000)]
Merge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:13:03 +0000 (12:13 +1000)]
Merge remote-tracking branch 'crypto/master'
Stephen Rothwell [Mon, 30 May 2011 02:11:50 +0000 (12:11 +1000)]
Merge remote-tracking branch 'bluetooth/master'
Conflicts:
net/bluetooth/l2cap_core.c
Stephen Rothwell [Mon, 30 May 2011 02:10:35 +0000 (12:10 +1000)]
Merge remote-tracking branch 'wireless/master'
Stephen Rothwell [Mon, 30 May 2011 02:10:21 +0000 (12:10 +1000)]
Merge remote-tracking branch 'ieee1394/for-next'
Stephen Rothwell [Mon, 30 May 2011 02:09:00 +0000 (12:09 +1000)]
Merge remote-tracking branch 'cpupowerutils/master'
Stephen Rothwell [Mon, 30 May 2011 02:04:12 +0000 (12:04 +1000)]
Merge remote-tracking branch 'idle-test/idle-test'
Conflicts:
arch/x86/include/asm/processor.h
arch/x86/kernel/cpu/common.c
arch/x86/kernel/process.c
Stephen Rothwell [Mon, 30 May 2011 01:52:52 +0000 (11:52 +1000)]
Merge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:51:28 +0000 (11:51 +1000)]
Merge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:50:16 +0000 (11:50 +1000)]
Merge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Mon, 30 May 2011 01:49:00 +0000 (11:49 +1000)]
Merge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Mon, 30 May 2011 01:48:46 +0000 (11:48 +1000)]
Merge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:48:32 +0000 (11:48 +1000)]
Merge remote-tracking branch 'logfs/master'
Conflicts:
fs/logfs/logfs.h
Stephen Rothwell [Mon, 30 May 2011 01:47:01 +0000 (11:47 +1000)]
Merge remote-tracking branch 'hfsplus/for-next'
Stephen Rothwell [Mon, 30 May 2011 01:45:50 +0000 (11:45 +1000)]
Merge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Mon, 30 May 2011 01:44:38 +0000 (11:44 +1000)]
Merge remote-tracking branch 'ext3/for_next'