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

Timer changes to make it easier to support various SoCs

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

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

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

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

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

Pass dma request lines in platform data to MMC driver.

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

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

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

Data changes related to omap hwmod

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

Board specific changes for omap.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

These supplies going to be needed for the twl6040 driver.

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

These supplies going to be needed for the twl6040 driver.

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

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

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

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

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

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

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

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

Platform support for lis3lv02d accelerometer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tested on OMAP4460 Panda-ES.

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

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

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP: igep0020: Specify the VPLL2 regulator unconditionally omap-fixes-non-critical-for-v3.5
Laurent Pinchart [Wed, 9 May 2012 15:10:42 +0000 (08:10 -0700)]
ARM: OMAP: igep0020: Specify the VPLL2 regulator unconditionally

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Add most of remaining hwmods for omap4

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

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

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

CPUidle cleanup

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

Clean up of hwmod to shrink down the IP block interconnections

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

Sparse and cppcheck warning fixes

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

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

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

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

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

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

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

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

So, the solution is,

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP4: hsmmc: check for null pointer
Balaji T K [Wed, 25 Apr 2012 11:57:46 +0000 (17:27 +0530)]
ARM: OMAP4: hsmmc: check for null pointer

platform_device pdev can be NULL if CONFIG_MMC_OMAP_HS is not set.
Add check for NULL pointer. while at it move the duplicated functions
to omap4-common.c

Fixes the following boot crash seen with omap4sdp and omap4panda
when MMC is disabled.

Unable to handle kernel NULL pointer dereference at virtual address 0000008c
pgd = c0004000
[0000008c] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in:
CPU: 0    Not tainted  (3.4.0-rc1-05971-ga4dfa82 #4)
PC is at omap_4430sdp_init+0x184/0x410
LR is at device_add+0x1a0/0x664

Signed-off-by: Balaji T K <balajitk@ti.com>
Reported-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP1: fix compilation issue in board-sx1.c
Artem Bityutskiy [Tue, 8 May 2012 13:59:35 +0000 (16:59 +0300)]
ARM: OMAP1: fix compilation issue in board-sx1.c

SX1 board requirese i2c, so select it in Kconfig, otherwise I have the
following build error:

arch/arm/mach-omap1/board-sx1.c: In function 'sx1_i2c_write_byte':
arch/arm/mach-omap1/board-sx1.c:58:2: error: implicit declaration of function 'i2c_get_adapter' [-Werror=implicit-function-declaration]
arch/arm/mach-omap1/board-sx1.c:58:7: warning: assignment makes pointer from integer without a cast [enabled by default]
arch/arm/mach-omap1/board-sx1.c:67:2: error: implicit declaration of function 'i2c_transfer' [-Werror=implicit-function-declaration]
arch/arm/mach-omap1/board-sx1.c:68:2: error: implicit declaration of function 'i2c_put_adapter' [-Werror=implicit-function-declaration]
arch/arm/mach-omap1/board-sx1.c: In function 'sx1_i2c_read_byte':
arch/arm/mach-omap1/board-sx1.c:82:7: warning: assignment makes pointer from integer without a cast [enabled by default]
cc1: some warnings being treated as errors
make[1]: *** [arch/arm/mach-omap1/board-sx1.o] Error 1
make: *** [arch/arm/mach-omap1] Error 2
make: *** Waiting for unfinished jobs....

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoARM: OMAP2+: WDTIMER integration: fix !PM boot crash, disarm timer after hwmod reset
Kevin Hilman [Tue, 8 May 2012 17:34:30 +0000 (11:34 -0600)]
ARM: OMAP2+: WDTIMER integration: fix !PM boot crash, disarm timer after hwmod reset

Without runtime PM enabled, hwmod needs to leave all IP blocks in an
enabled state by default so any driver access to the HW will succeed.
This is accomplished by seting the postsetup_state to enabled for all
hwmods during init when runtime PM is disabled.

Currently, we have a special case for WDT in that its postsetup_state
is always set to disabled.  This is done so that the WDT is disabled
and the timer is disarmed at boot in case there is no WDT driver.
This also means that when runtime PM is disabled, if a WDT driver *is*
built in the kernel, the kernel will crash on the first access to the
WDT hardware.

We can't simply leave the WDT module enabled, because the timer is
armed by default after reset. That means that if there is no WDT
driver initialzed or loaded before the timer expires, the kernel will
reboot.

To fix this, a custom reset method is added to the watchdog class of
omap_hwmod.  This method will *always* disarm the timer after hwmod
reset.  The WDT timer then will only be rearmed when/if the driver is
loaded for the WDT.  With the timer disarmed by default, we no longer
need a special-case for the postsetup_state of WDT during init, so it
is removed.

Any platforms wishing to ensure the watchdog remains armed across the
entire boot boot can simply disable the reset-on-init feature of the
watchdog hwmod using omap_hwmod_no_setup_reset().

Tested on 3530/Overo, 4430/Panda.

NOTE: on 4430, the hwmod OCP reset does not seem to rearm the timer as
documented in the TRM (and what happens on OMAP3.)  I noticed this
because testing the HWMOD_INIT_NO_RESET feature with no driver loaded,
I expected a reboot part way through the boot, but did not see a
reboot.  Adding some debug to read the counter, I verified that right
after OCP softreset, the counter is not firing.  After writing the
magic start sequence, the timer starts counting.  This means that the
timer disarm sequence added here does not seem to be needed for 4430,
but is technically the correct way to ensure the timer is disarmed, so
it is left in for OMAP4.

Special thanks to Paul Walmsley for helping brainstorm ideas to fix
this problem.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[paul@pwsan.com: updated the omap2_wd_timer_reset() function in the
 wake of commit 3c55c1baffa5f719eb2ae9729088bc867f972f53 ("ARM:
 OMAP2+: hwmod: Revert "ARM: OMAP2+: hwmod: Make omap_hwmod_softreset
 wait for reset status""); added kerneldoc; rolled in warning fix from Kevin]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP2/3: hwmod data: Add 32k-sync timer data to hwmod database
Vaibhav Hiremath [Tue, 8 May 2012 17:34:30 +0000 (11:34 -0600)]
ARM: OMAP2/3: hwmod data: Add 32k-sync timer data to hwmod database

Add 32k-sync timer hwmod-data and add ocp_if details to
omap2 & 3 hwmod table.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP4: hwmod_data: Name the common irq for McBSP ports
Peter Ujfalusi [Tue, 8 May 2012 17:34:29 +0000 (11:34 -0600)]
ARM: OMAP4: hwmod_data: Name the common irq for McBSP ports

Use 'common' as name for the common irq number in hwmod data for the McBSP
ports. The same name already in use for OMAP2430, and OMAP3.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP4: hwmod data: I2C: add flag for context restore
Shubhrajyoti D [Tue, 8 May 2012 17:34:29 +0000 (11:34 -0600)]
ARM: OMAP4: hwmod data: I2C: add flag for context restore

Restore of context is not done for OMAP4. This patch
adds the OMAP_I2C_FLAG_RESET_REGS_POSTIDLE in the OMAP4
hwmod data which activates the restore for OMAP4.
Currently the OMAP4 does not hit device off still the
driver may have support for it.

Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Wamsley <paul@pwsan.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP3: hwmod_data: Rename the common irq for McBSP ports
Peter Ujfalusi [Tue, 8 May 2012 17:34:28 +0000 (11:34 -0600)]
ARM: OMAP3: hwmod_data: Rename the common irq for McBSP ports

Use 'common' as name for the common irq number in hwmod data for the McBSP
ports. The same name already in use for OMAP2430, and the OMAP4 hwmod data
will be using the same name.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP2xxx: hwmod data: add HDQ/1-wire hwmod
Paul Walmsley [Tue, 8 May 2012 17:34:28 +0000 (11:34 -0600)]
ARM: OMAP2xxx: hwmod data: add HDQ/1-wire hwmod

Add the HDQ1W hwmod for all OMAP2xxx devices.

Assume that OMAP2xxx chips have the same HDQ idle handling bug
as OMAP3:

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

and set the OCPIF_SWSUP_IDLE flag accordingly on the HDQ's OCP interface.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP3: hwmod data: add HDQ/1-wire hwmod
Paul Walmsley [Tue, 8 May 2012 17:34:28 +0000 (11:34 -0600)]
ARM: OMAP3: hwmod data: add HDQ/1-wire hwmod

Add the HDQ1W hwmod for OMAP34xx, OMAP36xx, and AM3505/3517 devices.
According to the respective TRMs, it doesn't appear to be available for the
816x/814x or the AM335x.

The OCPIF_SWSUP_IDLE flag is added to work around an apparent hardware
bug: the hardware is not taking the CM_FCLKEN*_CORE.EN_HDQ bit into
account when considering whether to go idle:

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

This causes HDQ transfers to fail or become corrupt.  Thanks to
NeilBrown for his help diagnosing and testing fixes for this problem.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: NeilBrown <neilb@suse.de>
Tested-by: NeilBrown <neilb@suse.de>
13 years agoARM: OMAP2+: hwmod data: add HDQ/1-wire hwmod shared data
Paul Walmsley [Tue, 8 May 2012 17:34:27 +0000 (11:34 -0600)]
ARM: OMAP2+: hwmod data: add HDQ/1-wire hwmod shared data

Much of the HDQ1W integration data is common between multiple generations
of OMAP SoCs, so rather than make several copies, we add it once into
files which are compiled for multiple SoCs.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: NeilBrown <neilb@suse.de>
Tested-by: NeilBrown <neilb@suse.de>
13 years agoARM: OMAP2+: HDQ1W: add custom reset function
Paul Walmsley [Tue, 8 May 2012 17:34:27 +0000 (11:34 -0600)]
ARM: OMAP2+: HDQ1W: add custom reset function

Implement a custom reset function for the HDQ1W IP block.  This is
because the HDQ1W IP block, like I2C, has an internal clock gating bit
that needs to be toggled after setting the SOFTRESET bit to allow the
reset to propagate.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: NeilBrown <neilb@suse.de>
Cc: Avinash.H.M <avinashhm@ti.com>
Tested-by: NeilBrown <neilb@suse.de>
13 years agoARM: OMAP2420: hwmod data: Add MMC hwmod data for 2420
Tony Lindgren [Tue, 8 May 2012 23:23:33 +0000 (17:23 -0600)]
ARM: OMAP2420: hwmod data: Add MMC hwmod data for 2420

Add MMC for 2420 so we can pass the DMA request lines the same
way as we already do on omap2430 and later.

Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
[paul@pwsan.com: updated to apply on top of the 3.5 hwmod cleanup;
 changed mmc hwmod name/class to "msdi" as documented in the 2420 TRM Rev X;
 added sysconfig register information; added 16 bit register width flag;
 added MSDI custom reset code]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP2+: dmtimer: remove redundant sysconfig context restore
Tarun Kanti DebBarma [Thu, 12 Apr 2012 09:43:47 +0000 (15:13 +0530)]
ARM: OMAP2+: dmtimer: remove redundant sysconfig context restore

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

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

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

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

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

There are several checks for AM35x devices done using

      if (cpu_is_omap3517() || cpu_is_omap3505())

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

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

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

Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Tested-by: Vaibhav Hiremath <hvaibhav@ti.com>
Tested-by: Mark A. Greer <mgreer@animalcreek.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
13 years agoMerge tag 'omap-devel-b-for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git... omap-devel-prcm-for-v3.5
Tony Lindgren [Tue, 8 May 2012 18:49:09 +0000 (11:49 -0700)]
Merge tag 'omap-devel-b-for-3.5' of git://git./linux/kernel/git/pjw/omap-pending into devel-prcm

Some OMAP PRCM updates for 3.5.  Includes some clock, clockdomain,
powerdomain, PRM, and CM changes.

13 years agoMerge branch 'cleanup-soc' into cleanup
Tony Lindgren [Tue, 8 May 2012 17:18:17 +0000 (10:18 -0700)]
Merge branch 'cleanup-soc' into cleanup

Conflicts:
arch/arm/mach-omap2/Makefile

13 years agoMerge branch 'devel-hwmod' into cleanup
Tony Lindgren [Tue, 8 May 2012 17:17:32 +0000 (10:17 -0700)]
Merge branch 'devel-hwmod' into cleanup

13 years agoMerge branch 'for_3.5/omap_misc_cleanup' of git://gitorious.org/omap-sw-develoment...
Tony Lindgren [Tue, 8 May 2012 17:17:23 +0000 (10:17 -0700)]
Merge branch 'for_3.5/omap_misc_cleanup' of git://gitorious.org/omap-sw-develoment/linux-omap-dev into cleanup-soc

13 years agoARM: OMAP2+: dma: Define dma capabilities register bitfields and use them.
R Sricharan [Mon, 7 May 2012 08:32:25 +0000 (14:02 +0530)]
ARM: OMAP2+: dma: Define dma capabilities register bitfields and use them.

The system dma module has capabiities register indicating
the support for descriptor loading, constant fill, etc.
Use this instead of OMAP revision check to identify the features
supported runtime.

This avoids patching the code for feature SOCs which has
those capabilities.

Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
13 years agoARM: OMAP4: Reduce the static IO mapping
Santosh Shilimkar [Mon, 30 Apr 2012 10:17:42 +0000 (15:47 +0530)]
ARM: OMAP4: Reduce the static IO mapping

EMIF, GMPC and DMM driver can ioremap() the address
space as part of driver intialisation and there is
no need to have static IO mapping for them.

Hence remove the un-used static IP space and let
the respective drivers manage it as part if driver
init.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
13 years agoARM: All OMAP2PLUS machines use omap2 directory so just add one entry
Santosh Shilimkar [Sat, 28 Apr 2012 14:55:31 +0000 (20:25 +0530)]
ARM: All OMAP2PLUS machines use omap2 directory so just add one entry

All OMAP2PLUS arch based machines makes use of mach-omap2 directory.
So just add one entry so that there is no need to patch this file
for any OMAP2+ devices.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
13 years agoARM: OMAP: dma: Make use of cpu_class_is_omap2() to avoid future patching.
Santosh Shilimkar [Sat, 28 Apr 2012 14:49:10 +0000 (20:19 +0530)]
ARM: OMAP: dma: Make use of cpu_class_is_omap2() to avoid future patching.

cpu_class_is_omap2() contains all OMAP2+ devices. So update the DMA code
cpu checks accordingly so that there is no need to patch
the file for any future OMAP2+ devices.

In long run, all these attributes should come from hwmod dev_attr based
on DMA IP version.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
13 years agoARM: OMAP4: Remove un-used WakeupGen register defines.
Santosh Shilimkar [Sat, 28 Apr 2012 14:36:10 +0000 (20:06 +0530)]
ARM: OMAP4: Remove un-used WakeupGen register defines.

Current OMAP code doesn't use any of the OMAP_WKG_ENB_SECURE_*
registers.

So remove those defines.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
13 years agoARM: OMAP2+: Clean up wrapping multiple objects in Makefile
Santosh Shilimkar [Sat, 28 Apr 2012 14:27:32 +0000 (19:57 +0530)]
ARM: OMAP2+: Clean up wrapping multiple objects in Makefile

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
13 years agoARM: OMAP4: Don't compile cm2xxx_3xxx.c for OMAP4 only builds.
Santosh Shilimkar [Sat, 28 Apr 2012 13:51:06 +0000 (19:21 +0530)]
ARM: OMAP4: Don't compile cm2xxx_3xxx.c for OMAP4 only builds.

Since OMAP4 code base now makes use of OMAP4 specific PRCM functions,
cm2xxx_3xxx.c need not be compiled for OMAP4 only builds.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
13 years agoMerge branches 'clock_am35xx_cleanup_3.5', 'prm_cm_devel_a_3.5', 'clock_devel_a_3...
Paul Walmsley [Tue, 8 May 2012 05:55:56 +0000 (23:55 -0600)]
Merge branches 'clock_am35xx_cleanup_3.5', 'prm_cm_devel_a_3.5', 'clock_devel_a_3.5' and 'pwrdm_clkdm_cleanup_3.5' into prcm_devel_a_3.5

13 years agoarm: omap3: clockdomain data: Remove superfluous commas from gfx_sgx_3xxx_wkdeps[]
Mark A. Greer [Tue, 8 May 2012 05:55:38 +0000 (23:55 -0600)]
arm: omap3: clockdomain data: Remove superfluous commas from gfx_sgx_3xxx_wkdeps[]

Clean up clockdomains3xxx_data.c a bit by removing the superfluous
commas in gfx_sgx_3xxx_wkdeps[].

Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP2+: powerdomain: Get rid off duplicate pwrdm_clkdm_state_switch() API
Santosh Shilimkar [Tue, 8 May 2012 05:55:38 +0000 (23:55 -0600)]
ARM: OMAP2+: powerdomain: Get rid off duplicate pwrdm_clkdm_state_switch() API

With patch 'ARM: OMAP2+: powerdomain: Wait for powerdomain transition
in pwrdm_state_switch()', the pwrdm_clkdm_state_switch() API becomes
duplicate of pwrdm_state_switch().

Get rid off duplicate pwrdm_clkdm_state_switch() and update the
users of it with pwrdm_state_switch()

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP3: clock data: add clockdomain for HDQ functional clock
Paul Walmsley [Tue, 8 May 2012 05:55:31 +0000 (23:55 -0600)]
ARM: OMAP3: clock data: add clockdomain for HDQ functional clock

Add the correct clockdomain for the HDQ functional clock.  This is needed
for the clock and hwmod PM code to work correctly.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: NeilBrown <neilb@suse.de>
13 years agoARM: OMAP3+: dpll: Configure autoidle mode only if it's supported
Vaibhav Bedia [Tue, 8 May 2012 05:55:30 +0000 (23:55 -0600)]
ARM: OMAP3+: dpll: Configure autoidle mode only if it's supported

The current DPLL code enables and disables autoidle features
without checking whether the autoidle register is available.
Fix this by putting a check for the existence of the autoidle
register in the DPLL data.

With such a check in place, for DPLLs which do not support this
feature, simply skipping the autoidle_reg entry in the DPLL data
is sufficient.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP2+: dmtimer: cleanup iclk usage
Tarun Kanti DebBarma [Tue, 8 May 2012 05:55:30 +0000 (23:55 -0600)]
ARM: OMAP2+: dmtimer: cleanup iclk usage

We do not use iclk anywhere in the dmtimer driver and so removing it.
Hence removing the timer iclk entries from OMAP4 clkdev table as well.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP4+: Add prm and cm base init function.
R Sricharan [Tue, 8 May 2012 05:55:22 +0000 (23:55 -0600)]
ARM: OMAP4+: Add prm and cm base init function.

Instead of statically defining seperate arrays for every OMAP4+ archs,
have a generic init function to populate the arrays. This avoids the
need for creating new array for every arch added in the future that
reuses the prm and cm registers read/write code.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP2/3: Add idle_st bits for ST_32KSYNC timer to prcm-common header
Vaibhav Hiremath [Tue, 8 May 2012 05:55:21 +0000 (23:55 -0600)]
ARM: OMAP2/3: Add idle_st bits for ST_32KSYNC timer to prcm-common header

Add missing idle_st bit for 32k-sync timer into the prcm-common
header file, required for hwmod data.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP3: Fix CM register bit masks
Rajendra Nayak [Tue, 8 May 2012 05:55:21 +0000 (23:55 -0600)]
ARM: OMAP3: Fix CM register bit masks

The register bits for MPU_CLK_SRC and IVA2_CLK_SRC in CM_CLKSEL1_PLL
register are 3 bits wide.  Fix the MASK definition accordingly.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP: clock: convert AM3517/3505 detection/flags to AM35xx
Kevin Hilman [Tue, 8 May 2012 05:55:11 +0000 (23:55 -0600)]
ARM: OMAP: clock: convert AM3517/3505 detection/flags to AM35xx

To improve the clarity of the code, replace the CK_3517 flag used in
the clock data with CK_AM35XX.  The CK_3505 flag can also be
removed, since it is now unused.

Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP3: clock data: treat all AM35x devices the same
Kevin Hilman [Tue, 8 May 2012 05:55:10 +0000 (23:55 -0600)]
ARM: OMAP3: clock data: treat all AM35x devices the same

The init for 3505/3517 specific clocks depends on the ordering of
cpu_is checks, is error prone and confusing (there are 2 separate
checks for cpu_is_omap3505()).

Remove the 3505-specific checking since CK_3505 flag is not used, and
treat all AM35x clocks the same.

This means that the SGX clock (the only AM35x clkdev not currently
flagged for 3505) will now be registered on 3505, but that is
harmless.  That can be cleaned up when the clkdev nodes are removed in
favor of them being registered by hwmod.

Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Tested-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoARM: OMAP3: clock data: replace 3503/3517 flag with AM35x flag for UART4
Kevin Hilman [Tue, 8 May 2012 05:55:10 +0000 (23:55 -0600)]
ARM: OMAP3: clock data: replace 3503/3517 flag with AM35x flag for UART4

The AM35x UART4 is common to all AM35x devices, so use CK_AM35XX instead
of (CK_3505 | CK_3517), which is equivalent.

Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Tested-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
13 years agoMerge branch 'for_3.5/cleanup/omap-cpuidle' of git://git.kernel.org/pub/scm/linux... omap-cleanup-cpuidle-for-v3.5
Tony Lindgren [Mon, 7 May 2012 20:51:31 +0000 (13:51 -0700)]
Merge branch 'for_3.5/cleanup/omap-cpuidle' of git://git./linux/kernel/git/khilman/linux-omap-pm into cleanup-cpuidle

13 years agoLinux 3.4-rc6 v3.4-rc6
Linus Torvalds [Sun, 6 May 2012 22:07:32 +0000 (15:07 -0700)]
Linux 3.4-rc6

13 years agoMerge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 6 May 2012 19:19:38 +0000 (12:19 -0700)]
Merge branch 'x86-urgent-for-linus' of git://git./linux/kernel/git/tip/tip

Pull x86 fixes form Peter Anvin

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  intel_mid_powerbtn: mark irq as IRQF_NO_SUSPEND
  arch/x86/platform/geode/net5501.c: change active_low to 0 for LED driver
  x86, relocs: Remove an unused variable
  asm-generic: Use __BITS_PER_LONG in statfs.h
  x86/amd: Re-enable CPU topology extensions in case BIOS has disabled it

13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
Linus Torvalds [Sun, 6 May 2012 17:20:07 +0000 (10:20 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/mason/linux-btrfs

Pull btrfs fixes from Chris Mason:
 "The big ones here are a memory leak we introduced in rc1, and a
  scheduling while atomic if the transid on disk doesn't match the
  transid we expected.  This happens for corrupt blocks, or out of date
  disks.

  It also fixes up the ioctl definition for our ioctl to resolve logical
  inode numbers.  The __u32 was a merging error and doesn't match what
  we ship in the progs."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
  Btrfs: avoid sleeping in verify_parent_transid while atomic
  Btrfs: fix crash in scrub repair code when device is missing
  btrfs: Fix mismatching struct members in ioctl.h
  Btrfs: fix page leak when allocing extent buffers
  Btrfs: Add properly locking around add_root_to_dirty_list

13 years agox86: fix broken TASK_SIZE for ia32_aout
Al Viro [Sun, 6 May 2012 16:20:00 +0000 (17:20 +0100)]
x86: fix broken TASK_SIZE for ia32_aout

Setting TIF_IA32 in load_aout_binary() used to be enough; these days
TASK_SIZE is controlled by TIF_ADDR32 and that one doesn't get set
there.  Switch to use of set_personality_ia32()...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoBtrfs: avoid sleeping in verify_parent_transid while atomic
Chris Mason [Sun, 6 May 2012 11:23:47 +0000 (07:23 -0400)]
Btrfs: avoid sleeping in verify_parent_transid while atomic

verify_parent_transid needs to lock the extent range to make
sure no IO is underway, and so it can safely clear the
uptodate bits if our checks fail.

But, a few callers are using it with spinlocks held.  Most
of the time, the generation numbers are going to match, and
we don't want to switch to a blocking lock just for the error
case.  This adds an atomic flag to verify_parent_transid,
and changes it to return EAGAIN if it needs to block to
properly verifiy things.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
13 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88...
Linus Torvalds [Sat, 5 May 2012 23:34:38 +0000 (16:34 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/mattst88/alpha

Pull alpha fixes from Matt Turner:
 "My alpha tree is back up (after taking quite some time to get my GPG
  key signed).  It contains just some simple fixes."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha:
  alpha: silence 'const' warning in sys_marvel.c
  alpha: include module.h to fix modpost on Tsunami
  alpha: properly define get/set_rtc_time on Marvel/SMP
  alpha: VGA_HOSE depends on VGA_CONSOLE

13 years agoTTY: pdc_cons, fix regression in close
Jiri Slaby [Sat, 5 May 2012 20:49:10 +0000 (22:49 +0200)]
TTY: pdc_cons, fix regression in close

The test in pdc_console_tty_close '!tty->count' was always wrong
because tty->count is decremented after tty->ops->close is called and
thus can never be zero. Hence the 'then' branch was never executed and
the timer never deleted.

This did not matter until commit 5dd5bc40f3b6 ("TTY: pdc_cons, use
tty_port").  There we needed to set TTY in tty_port to NULL, but this
never happened due to the bug above.

So change the test to really trigger at the last close by changing the
condition to 'tty->count == 1'.

Well, the driver should not touch tty->count at all.  It should use
tty_port->count and count open count there itself.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Reported-and-tested-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Helge Deller <deller@gmx.de>
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Linus Torvalds [Sat, 5 May 2012 17:07:06 +0000 (10:07 -0700)]
Merge tag 'sound-3.4' of git://git./linux/kernel/git/tiwai/sound

Pull sound sound fixes from Takashi Iwai:
 "As good as nothing exciting here; just a few trivial fixes for various
  ASoC stuff."

* tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ASoC: omap-pcm: Free dma buffers in case of error.
  ASoC: s3c2412-i2s: Fix dai registration
  ASoC: wm8350: Don't use locally allocated codec struct
  ASoC: tlv312aic23: unbreak resume
  ASoC: bf5xx-ssm2602: Set DAI format
  ASoC: core: check of_property_count_strings failure
  ASoC: dt: sgtl5000.txt: Add description for 'reg' field
  ASoC: wm_hubs: Make sure we don't disable differential line outputs

13 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
Linus Torvalds [Sat, 5 May 2012 17:06:06 +0000 (10:06 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux

Pull an ACPI patch from Len Brown:
 "It fixes a D3 issue new in 3.4-rc1."

By Lin Ming via Len Brown:
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
  ACPI: Fix D3hot v D3cold confusion

13 years agoinit: don't try mounting device as nfs root unless type fully matches
Sasha Levin [Sat, 5 May 2012 15:06:35 +0000 (17:06 +0200)]
init: don't try mounting device as nfs root unless type fully matches

Currently, we'll try mounting any device who's major device number is
UNNAMED_MAJOR as NFS root.  This would happen for non-NFS devices as
well (such as 9p devices) but it wouldn't cause any issues since
mounting the device as NFS would fail quickly and the code proceeded to
doing the proper mount:

       [  101.522716] VFS: Unable to mount root fs via NFS, trying floppy.
       [  101.534499] VFS: Mounted root (9p filesystem) on device 0:18.

Commit 6829a048102a ("NFS: Retry mounting NFSROOT") introduced retries
when mounting NFS root, which means that now we don't immediately fail
and instead it takes an additional 90+ seconds until we stop retrying,
which has revealed the issue this patch fixes.

This meant that it would take an additional 90 seconds to boot when
we're not using a device type which gets detected in order before NFS.

This patch modifies the NFS type check to require device type to be
'Root_NFS' instead of requiring the device to have an UNNAMED_MAJOR
major.  This makes boot process cleaner since we now won't go through
the NFS mounting code at all when the device isn't an NFS root
("/dev/nfs").

Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Sat, 5 May 2012 09:27:26 +0000 (11:27 +0200)]
Merge branch 'fix/asoc' into for-linus

13 years agoMerge branch 'for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Takashi Iwai [Sat, 5 May 2012 09:26:50 +0000 (11:26 +0200)]
Merge branch 'for-3.4' of git://git./linux/kernel/git/lrg/asoc into fix/asoc

13 years agoMerge tag 'asoc-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound...
Takashi Iwai [Sat, 5 May 2012 09:25:17 +0000 (11:25 +0200)]
Merge tag 'asoc-3.4' of git://git./linux/kernel/git/broonie/sound into for-linus

ASoC: Updates for 3.4

Nothing terribly exciting here, a bunch of small and simple fixes
scattered around the place.

13 years agoACPI: Fix D3hot v D3cold confusion
Lin Ming [Mon, 23 Apr 2012 01:03:49 +0000 (09:03 +0800)]
ACPI: Fix D3hot v D3cold confusion

Before this patch, ACPI_STATE_D3 incorrectly referenced D3hot
in some places, but D3cold in other places.

After this patch, ACPI_STATE_D3 always means ACPI_STATE_D3_COLD;
and all references to D3hot use ACPI_STATE_D3_HOT.

ACPI's _PR3 method is used to enter both D3hot and D3cold states.
What distinguishes D3hot from D3cold is the presence _PR3
(Power Resources for D3hot)  If these resources are all ON,
then the state is D3hot.  If _PR3 is not present,
or all _PR0 resources for the devices are OFF,
then the state is D3cold.

This patch applies after Linux-3.4-rc1.
A future syntax cleanup may remove ACPI_STATE_D3
to emphasize that it always means ACPI_STATE_D3_COLD.

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Reviewed-by: Aaron Lu <aaron.lu@amd.com>
Signed-off-by: Len Brown <len.brown@intel.com>