History log of /arch/arm/mach-omap2/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1a21932edc10de0dfd843797427719e5da43355b 09-May-2012 Enrico Butera <ebutera@users.berlios.de> ARM: OMAP: igep0020: fix smsc911x dummy regulator id

id 0 is already used and causes errors at boot:

WARNING: at fs/sysfs/dir.c:508 sysfs_add_one+0x9c/0xac()
sysfs: cannot create duplicate filename '/devices/platform/reg-fixed-voltage.0'

Fix it by using the next available one (id=1).

This was caused by 5b3689f4 (ARM: OMAP2+: smsc911x: Add fixed
board regulators) that did not account for some regulators
already being used.

Signed-off-by: Enrico Butera <ebutera@users.berlios.de>
[tony@atomide.com: updated comments for regression causing commit]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
08ca7444f589bedf9ad5d82883e5d0754852d73b 19-Apr-2012 Archit Taneja <archit@ti.com> ARM: OMAP: Revert "ARM: OMAP: ctrl: Fix CONTROL_DSIPHY register fields"

This reverts commit 46f8c3c7e95c0d30d95911e7975ddc4f93b3e237.

The commit above swapped the DSI1_PPID and DSI2_PPID register fields in
CONTROL_DSIPHY to be in sync with the newer public OMAP TRMs(after version V).

With this commit, contention errors were reported on DSI lanes some OMAP4 SDPs.
After probing the DSI lanes on OMAP4 SDP, it was seen that setting bits in the
DSI2_PPID field was pulling up voltage on DSI1 lanes, and DSI1_PPID field was
pulling up voltage on DSI2 lanes.

This proves that the current version of OMAP4 TRM is incorrect, swap the
position of register fields according to the older TRM versions as they were
correct.

Cc: stable@vger.kernel.org # v3.2+
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/ctrl_module_pad_core_44xx.h
8f4f9d4d3cb84686a75f6195b8f8705376763fc7 21-Apr-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: SoC fixes" from Olof Johansson:
* at91, ux500, imx, omap and bcmring:
- at91 fixes for =m driver build issues, irqdomain fixes and config
dependency fixes
- ux500 kconfig dependency fixes and a smp wakeup bugfix
- imx idle bugfix and build fix due to irq domain changes
- omap uart pinmux fixes, softreset regression revert and misc fixes
- bcmring build error regression fix

* ux500 and imx had some small defconfig updates in this branch

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (27 commits)
ARM: bcmring: fix UART declarations
ARM: imx: Fix imx5 idle logic bug
ARM: imx27-dt: Fix build due to removal of irq_domain_add_simple()
ARM: imx_v4_v5_defconfig: Add support for CONFIG_REGULATOR_FIXED_VOLTAGE
ARM: OMAP1: DMTIMER: fix broken timer clock source selection
ARM: OMAP: serial: Fix the ocp smart idlemode handling bug
ARM: OMAP2+: UART: Fix incorrect population of default uart pads
ARM: OMAP: sram: fix BUG in dpll code for !PM case
dmaengine: Kconfig: fix Atmel at_hdmac entry
USB: gadget/at91_udc: add gpio_to_irq() function to vbus interrupt
USB: ohci-at91: change annotations for probe/remove functions
leds-atmel-pwm.c: Make pwmled_probe() __devinit
ARM: at91: fix at91sam9261ek Ethernet dm9000 irq
ARM: at91: fix rm9200ek flash size
ARM: at91: remove empty at91_init_serial function
ARM: at91: fix typo in at91_pmc_base assembly declaration
ARM: at91: Export at91_matrix_base
ARM: at91: Export at91_pmc_base
ARM: at91: Export at91_ramc_base
ARM: at91: Export at91_st_base
...
1c2e1fd1ca4a342a9727c7184703e1d9b03c9720 19-Apr-2012 Olof Johansson <olof@lixom.net> Merge tag 'omap-fixes-for-v3.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

Fix regression for bad uart muxing and oops when PM is not set.
Revert one softreset regression and few other minor fixes.

* tag 'omap-fixes-for-v3.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP1: DMTIMER: fix broken timer clock source selection
ARM: OMAP: serial: Fix the ocp smart idlemode handling bug
ARM: OMAP2+: UART: Fix incorrect population of default uart pads
ARM: OMAP: sram: fix BUG in dpll code for !PM case
ARM: OMAP2/3: VENC hwmods: Remove OCPIF_SWSUP_IDLE flag from VENC slave interface
ARM: OMAP2+: hwmod: Revert "ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status"
ARM: OMAP2+: hwmod: add softreset delay field and OMAP4 data
ARM: OMAP1: mux: add missing include
5ae256dcd91bf308826a4ac19598b27ebb86a536 13-Apr-2012 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP: serial: Fix the ocp smart idlemode handling bug

The current serial UART code, while fidling with ocp idlemode bits,
forget about the smart idle wakeup bit even if it is supported by
UART IP block. This will lead to missing the module wakeup on OMAP's
where the smart idle wakeup is supported.

This was the root cause of the console sluggishness issue, I have been
observing on OMAP4 devices and also can be potential reason for some
other UART wakeup issues.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Acked-by: Govindraj.R <govindraj.raja@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
bce492c04ba8fc66a4ea0a52b181ba255daaaf54 17-Apr-2012 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Fix incorrect population of default uart pads

Commit (7496ba3 ARM: OMAP2+: UART: Add default mux for all uarts)
wrongly added muxing of default pads for all uarts. This causes
breakage on multiple boards using uart pins for alternate functions.

For example, on zoom3 random oopses can be seen with nfsroot as
the smsc911x ethernet FIFO timings on GPMC bus are controlled
by gpmc_wait2 and gpmc_wait3 pins. This means we can't mux these
pads to uart4 functionality as commit 7496ba3 was doing.

Not all boards tend to use all uarts and most of unused uart pins
are muxed for other purpose. This commit breaks the modules which
where trying to use unused uart pins on their boards.

So remove the default pad muxing. Note that this is not a complete
fix, as we now rely on bootloader set muxing for the uart wake-up
events. Further patching is needed to enable wake-up events for
uarts that are already muxed to uart mode.

Cc: Felipe Balbi <balbi@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Acked-by: Russ Dill <russ.dill@gmail.com>
Reported-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
[tony@atomide.com: updated comments to describe oops on zoom3]
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
8eaeb9393397be8eb700ab38a69c450975463b77 03-Apr-2012 Peter Ujfalusi <peter.ujfalusi@ti.com> mfd: Convert twl6040 to i2c driver, and separate it from twl core

Complete the separation of the twl6040 from the twl core since
it is a separate chip, not part of the twl6030 PMIC.

Make the needed Kconfig changes for the depending drivers at the
same time to avoid breaking the kernel build (vibra, ASoC components).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Mark Brown <broonie@opensource.wolfsonicro.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
oard-4430sdp.c
oard-generic.c
oard-omap4panda.c
wl-common.c
wl-common.h
47d9e44d1dbabc53500e86d5597f2737a40f1f42 13-Apr-2012 Kevin Hilman <khilman@ti.com> ARM: OMAP: clock: cleanup CPUfreq leftovers, fix build errors

Now that we have OPP layer, and OMAP CPUfreq driver is using it, we no
longer need/use the clock framework code for filling up CPUfreq
tables. Remove it.

Removing this code also eliminates build errors when CPU_FREQ_TABLE
support is not enabled.

Thanks to Russell King for pointing out the parts I missed under
plat-omap in the original version and also pointing out the build
errors when CPUFREQ_TABLE support was not enabled.

Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
lkt2xxx_virt_prcm_set.c
lock.c
lock.h
1f5e6247ca99287bac87aff4971a7eee9c2b223a 13-Apr-2012 Archit Taneja <archit@ti.com> ARM: OMAP2/3: VENC hwmods: Remove OCPIF_SWSUP_IDLE flag from VENC slave interface

The clocks for all DSS slave interfaces were recently changed to "dss_ick" on
OMAP2 and OMAP3, this clock can be autoidled by PRCM. The VENC interface
previously had "dss_54m_fck" as it's clock which couldn't be autoidled, and
hence the OCPIF_SWSUP_IDLE flag was needed.

Remove the OCPIF_SWSUP_IDLE flag from VENC interfaces as it's clock is
now "dss_ick". This allows the PRCM hardware to autoidle the VENC
interface clocks when they are not active, rather than relying on the
software to do it, which can keep the interface clocks active
unnecessarily.

Signed-off-by: Archit Taneja <archit@ti.com>
[paul@pwsan.com: add a short description of the fix to the commit log]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
3c55c1baffa5f719eb2ae9729088bc867f972f53 13-Apr-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP2+: hwmod: Revert "ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status"

This reverts commit f9a2f9c3fa76eec55928e8e06f3094c8f01df7cb. This
commit caused a regression in the I2C hwmod reset on OMAP2/3/4,
logging messages similar to these during boot:

[ 0.200378] omap_hwmod: i2c1: softreset failed (waited 10000 usec)
[ 0.222076] omap_hwmod: i2c2: softreset failed (waited 10000 usec)

While the original patch was intended to fix some reset-related timing
issues, it's believed that these problems were actually fixed by
commit 2800852a079504f35f88e44faf5c9c96318c0cca ("ARM: OMAP2+: hwmod:
Restore sysc after a reset"):

http://marc.info/?l=linux-arm-kernel&m=133410322617245&w=2

Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
d99de7f552fac43e24fd4fb8048d8f21abaea691 13-Apr-2012 Fernando Guzman Lugo <fernando.lugo@ti.com> ARM: OMAP2+: hwmod: add softreset delay field and OMAP4 data

Due to HW limitation, some IPs should not be accessed just after a
softreset. Since the current hwmod sequence is accessing the sysconfig
register just after the reset, it might lead to OCP bus error in
that case.

Add a new field in the sysconfig structure to specify a delay in usecs
needed after doing a softreset.

In the case of the ISS and FDIF modules, the L3 OCP port will be
disconnected upon a SW reset. That issue was confirmed with HW simulation
and an errata should be available soon. The HW recommendation to avoid
that is to wait for 100 OCP clk cycles, before accessing the IP.

Considering the worse case (OPP50), the L3 bus will run at 100 MHz,
so a 1 usec delay is needed. Add an x2 margin to be safe.

Acked-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
[paul@pwsan.com: dropped FDIF change for now since the hwmod data is not
yet upstream; the FDIF change will need to be added later once the FDIF
data is merged]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
map_hwmod_44xx_data.c
314489bd4c7780fde6a069783d5128f6cef52919 06-Apr-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: SoC fixes: from Olof Johansson:
"A bunch of fixes for regressions (and a few other problems) in
3.4-rc1:

- Fix for regression of mach/io.h cleanup on platforms with PCI or
PCMCIA (adding back the include file on those for now)
- AT91 fixes for usb and spi
- smsc911x ethernet fixes for i.MX
- smsc911x fixes for OMAP
- gpio fixes for Tegra
- A handful of build error and warning fixes for various platforms
- cpufreq kconfig dependencies, build and lowlevel debug fixes for
Samsung platforms

In other words, more or less the regular collection of -rc1/2 type
material. A few of them, in particular the smsc911x for OMAP series,
aren't technically regressions for 3.4, but they're valid fixes and
we're still relatively early in the rc cycle so it seems appropriate
to include them."

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (60 commits)
ARM: fix __io macro for PCMCIA
ARM: EXYNOS: Fix compiler warning in dma.c file
ARM: EXYNOS: fix ISO C90 warning
ARM: OMAP2+: hwmod: Fix wrong SYSC_TYPE1_XXX_MASK bit definitions
ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status
ARM: OMAP2+: hwmod: Restore sysc after a reset
ARM: OMAP2+: omap_hwmod: Allow io_ring wakeup configuration for all modules
ARM: OMAP3: clock data: fill in some missing clockdomains
ARM: OMAP4: clock data: Force a DPLL clkdm/pwrdm ON before a relock
ARM: OMAP4: clock data: fix mult and div mask for USB_DPLL
ARM: OMAP2+: powerdomain: Wait for powerdomain transition in pwrdm_state_switch()
gpio: tegra: Iterate over the correct number of banks
gpio: tegra: fix register address calculations for Tegra30
EXYNOS: fix dependency for EXYNOS_CPUFREQ
ARM: at91: dt: remove unit-address part for memory nodes
ARM: at91: fix check of valid GPIO for SPI and USB
USB: ehci-atmel: add needed of.h header file
ARM: at91/NAND DT bindings: add comments
ARM: at91/at91sam9x5.dtsi: fix NAND ale/cle in DT file
USB: ohci-at91: trivial return code name change
...
a8f5b6e5ef0faf64997bfa87698aaabc989e64c4 06-Apr-2012 Olof Johansson <olof@lixom.net> Merge tag 'omap-fixes-a2-for-3.4rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into fixes

From Paul Walmsley:

OMAP clock, powerdomain, clockdomain, and hwmod fixes intended for the
early v3.4-rc series. Also contains an HSMMC integration refinement
of an earlier hardware bug workaround.

* tag 'omap-fixes-a2-for-3.4rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending:
ARM: OMAP2+: hwmod: Fix wrong SYSC_TYPE1_XXX_MASK bit definitions
ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status
ARM: OMAP2+: hwmod: Restore sysc after a reset
ARM: OMAP2+: omap_hwmod: Allow io_ring wakeup configuration for all modules
ARM: OMAP3: clock data: fill in some missing clockdomains
ARM: OMAP4: clock data: Force a DPLL clkdm/pwrdm ON before a relock
ARM: OMAP4: clock data: fix mult and div mask for USB_DPLL
ARM: OMAP2+: powerdomain: Wait for powerdomain transition in pwrdm_state_switch()
ARM: OMAP AM3517/3505: clock data: change EMAC clocks aliases
ARM: OMAP: clock: fix race in disable all clocks
ARM: OMAP4: hwmod data: Add aliases for McBSP fclk clocks
ARM: OMAP3xxx: clock data: fix DPLL4 CLKSEL masks
ARM: OMAP3xxx: HSMMC: avoid erratum workaround when transceiver is attached
ARM: OMAP44xx: clockdomain data: correct the emu_sys_clkdm CLKTRCTRL data
a9dd31b744a033b4324c93cec4ecb4c74061e2cf 05-Apr-2012 Paul Walmsley <paul@pwsan.com> Merge branches 'clock_fixes_3.4rc', 'clockdomain_fixes_3.4rc', 'hsmmc_erratum_2_1_1_128_refine_3.4rc1', 'hwmod_data_fixes_a_3.4rc', 'hwmod_fixes_a2_3.4rc' and 'powerdomain_fixes_a_3.4rc' into omap-fixes-a2-for-3.4rc-branch
f9a2f9c3fa76eec55928e8e06f3094c8f01df7cb 13-Mar-2012 Rajendra Nayak <rnayak@ti.com> ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status

omap_hwmod_softreset() does not seem to wait for reset status
after doing a softreset. Make it use _ocp_softreset() instead
which does this correctly.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
Cc: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
2800852a079504f35f88e44faf5c9c96318c0cca 13-Mar-2012 Rajendra Nayak <rnayak@ti.com> ARM: OMAP2+: hwmod: Restore sysc after a reset

After a softreset, make sure the sysc settings are correctly
restored.

Reported-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Shubhrajyoti D <shubhrajyoti@ti.com>
[paul@pwsan.com: combined post-reset SYSCONFIG reload code into the
_reset() function to avoid duplication and future mistakes]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
2a1cc1445a51e3a81c10d294586756cdb9174469 05-Apr-2012 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: omap_hwmod: Allow io_ring wakeup configuration for all modules

Some modules doesn't have SYSC_HAS_ENAWAKEUP bit available (ex: usb
host uhh module) in absence of this flag
omap_hwmod_enable/disable_wakeup avoids configuring pad mux wakeup
capability.

Configure sysc if SYSC_HAS_ENAWAKEUP is available and for other cases
try enabling/disabling wakeup from mux_pad pins.

Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
[paul@pwsan.com: updated function kerneldoc documentation]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
5897a391d41d42f19285376a4ad1320d452c2946 04-Apr-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP3: clock data: fill in some missing clockdomains

Several clocks are missing clockdomains. This can cause problems with
the hwmod and power management code. Fill these in.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Matt Porter <mporter@ti.com>
Cc: Vaibhav Hiremath <hvaibhav@ti.com>
lock3xxx_data.c
6c4a057bffe9823221eab547e11fac181dc18a2b 04-Apr-2012 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: clock data: Force a DPLL clkdm/pwrdm ON before a relock

All DPLLs except USB are in ALWON powerdomain. Make sure the
clkdm/pwrdm for USB DPLL (l3init) is turned on before attempting
a DPLL relock. So, mark the database accordingly.

Without this fix, it was seen that DPLL relock fails while testing
relock in a loop of USB DPLL.

Cc: Nishanth Menon <nm@ti.com>
Tested-by: Ameya Palande <ameya.palande@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
91a290c4573679a70e242495ac3dbf12b39fb108 04-Apr-2012 Ameya Palande <ameya.palande@ti.com> ARM: OMAP4: clock data: fix mult and div mask for USB_DPLL

According to OMAP4 TRM Table 3-1183, CM_CLKSEL_DPLL_USB register defines
following fields for multiplication and division factors:

DPLL_MULT (bits 19:8) DPLL multiplier factor (2 to 4095)
DPLL_DIV (bits 7:0) DPLL divider factor (0 to 255)

Acked-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Ameya Palande <ameya.palande@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
8b8c3c7895dc8dcf60c58b23bc9231f4ee7887a2 12-Mar-2012 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP2+: powerdomain: Wait for powerdomain transition in pwrdm_state_switch()

Commit b1cbdb00d ("OMAP: clockdomain: Wait for powerdomain to be ON
when using clockdomain force wakeup") was assuming that
pwrdm_state_switch() does wait for the powerdomain transition which is
not the case. The missing wait for the powerdomain transition
violates the sequence which the hardware expects, which causes power
management failures on some devices.

Fix this API by adding the pwrdm_wait_transition().

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
[paul@pwsan.com: added some more details in the commit log]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
59269b94483eabeacbc9a535944b3dafac92a303 21-Dec-2011 Ilya Yanok <yanok@emcraft.com> ARM: OMAP AM3517/3505: clock data: change EMAC clocks aliases

Rename EMAC clocks to match driver expectations: both davinci_emac and
davinci_mdio drivers call clk_get(dev, NULL) so we have to provide
("davinci_emac", NULL) and ("davinci_mdio.0", NULL) clocks instead of
("davinci_emac", "emac_clk") and ("davinci_emac", "phy_clk") resp.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Tested-by: Yegor Yefremov <yegorslists@googlemail.com>
Tested-by: Matt Porter <mporter@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
20a2a811602b16c42ce88bada3d52712cdfb988b 04-Apr-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm

Pull ARM fixes from Russell King:
"Nothing too big here, just small fixes."

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
ARM: fix more fallout from 9f97da78bf (Disintegrate asm/system.h for ARM)
ARM: fix bios32.c build warning
ARM: 7337/1: ptrace: fix ptrace_read_user for !CONFIG_MMU platforms
ARM: fix missing bug.h include in arch/arm/kernel/insn.c
ARM: sa11x0: fix build errors from DMA engine API updates
503d0ea24d1d3dd3db95e5e0edd693da7a2a23eb 04-Apr-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP4: hwmod data: Add aliases for McBSP fclk clocks

CLKS signal for McBSP ports can be selected from internal (PRCM) or
external (ABE_CLKS pin) source. To be able to use existing code we
need to create clock aliases consistent among OMAP2/3/4.

Based on a patch from Péter Ujfalusi <peter.ujfalusi@ti.com>;
the patch description above is his.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Péter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
map_hwmod_44xx_data.c
ac387330a67635b4e4b946416e792bc9dd4b8f05 25-Mar-2012 Grazvydas Ignotas <notasas@gmail.com> ARM: OMAP3xxx: clock data: fix DPLL4 CLKSEL masks

Commit 2a9f5a4d455 "OMAP3 clock: remove unnecessary duplicate of dpll4_m2_ck,
added for 36xx" consolidated dpll4 clock structures between 34xx and 36xx,
but left 34xx CLKSEL masks for most dpll4 related clocks, which causes
clock code to not behave correctly when booting on DM3730 with higher
(36xx only) divisors set:
[ 0.000000] WARNING: at arch/arm/mach-omap2/clkt_clksel.c:375 omap2_init_clksel_parent+0x104/0x114()
[ 0.000000] clock: dpll4_m3_ck: init parent: could not find regval 0
[ 0.000000] WARNING: at arch/arm/mach-omap2/clkt_clksel.c:194 omap2_clksel_recalc+0xd4/0xe4()
[ 0.000000] clock: Could not find fieldval 0 for clock dpll4_m3_ck parent dpll4_ck

Fix this by switching to 36xx masks, as valid divisors will be limited
by clksel_rate lists.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
26c547fd130aae7480523a3af3f1df2ef1144743 16-Mar-2012 Grazvydas Ignotas <notasas@gmail.com> ARM: OMAP3xxx: HSMMC: avoid erratum workaround when transceiver is attached

If transceiver is attached to a MMC host of ES2.1 OMAP35xx, it seems
2.1.1.128 erratum doesn't apply and there is no data corruption,
probably because of different signal timing. The workaround for this
erratum disables multiblock reads, which causes dramatic loss of
performance (over 75% slower), so avoid it when transceiver is present.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
[paul@pwsan.com: edited commit message slightly]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
smmc.c
7a82ebd9ee78f8ba3a2ba66e003bfa57954a1a04 04-Apr-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP44xx: clockdomain data: correct the emu_sys_clkdm CLKTRCTRL data

According to the 4430 ES2.0 TRM vX Table 3-744 "CM_EMU_CLKSTCTRL",
the emu_sys clockdomain data in mainline is incorrect.

The emu_sys clockdomain does not support the DISABLE_AUTO state, and
instead it supports the FORCE_WAKEUP state.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Ming Lei <ming.lei@canonical.com>
Cc: Will Deacon <will.deacon@arm.com>
lockdomains44xx_data.c
08956f1c5883f66c2e547f8137061c6b58ccbb53 03-Apr-2012 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.4/fixes/pm' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into fixes
3916043576ecefe01818684b38c73695322fd29f 03-Apr-2012 Tony Lindgren <tony@atomide.com> Merge branch 'fixes-smsc911x' into fixes
1512f0dbfb9e355bc451fc6ded815a79d00bc6f3 26-Mar-2012 Igor Grinberg <grinberg@compulab.co.il> ARM: OMAP: fix section mismatches in usb-host.c

Fix the below section mismatch warning and alike:

WARNING: vmlinux.o(.text+0x281d4): Section mismatch in reference from
the function setup_ehci_io_mux() to the function
.init.text:omap_mux_init_signal()
The function setup_ehci_io_mux() references
the function __init omap_mux_init_signal().
This is often because setup_ehci_io_mux lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Reviewed-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-host.c
5b3689f4c16bc692a2e2b9808e5efc457aeae371 23-Mar-2012 Russ Dill <Russ.Dill@ti.com> ARM: OMAP2+: smsc911x: Add fixed board regulators

Initialize fixed regulators in the board files. Trying to
do this in a generic way in gpmc-smsc911x.c gets messy as
the regulator may be provided by drivers, such as twl4030,
for some boards.

Signed-off-by: Russ Dill <russ.dill@ti.com>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
[tony@atomide.com: combined into one patch, updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
oard-igep0020.c
oard-ldp.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3stalker.c
oard-overo.c
oard-zoom-debugboard.c
bdacbce65492f54e02a97c23328ec4bbcc31554a 23-Mar-2012 Russ Dill <Russ.Dill@ti.com> ARM: OMAP2+: smsc911x: Remove regulator support from gmpc-smsc911x

Adding in support for regulators here creates several headaches.
- Boards that declare their own regulator cannot use this function.
- Multiple calls to this function require special handling.
- Boards that declare id's other than '0' need special handling.

Now that there is a simple regulator_register_fixed, we can push
this registration back into the board files.

Signed-off-by: Russ Dill <russ.dill@ti.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-smsc911x.c
a297068c1fa529c350e7923b85372ca3b38dcdc5 23-Mar-2012 Russ Dill <Russ.Dill@ti.com> ARM: OMAP2+: smsc911x: Remove unused rate calculation

Looking back into git history, this code was never used and was
probably left over from a copy/paste.

Signed-off-by: Russ Dill <russ.dill@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
oard-omap3stalker.c
a0dbf2a726e5387251a567c8531d9fd3e34d2dfb 23-Mar-2012 Russ Dill <Russ.Dill@ti.com> ARM: OMAP2+ smsc911x: Fix possible stale smsc911x flags

If this function is called the first time with flags set, and the
second time without flags set then the leftover flags from the first
called will be used rather than the desired default flags.

Signed-off-by: Russ Dill <russ.dill@ti.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-smsc911x.c
54da0784e24d955eab5f750a8c7c602aa8d4b4e3 23-Mar-2012 Russ Dill <Russ.Dill@ti.com> ARM: OMAP2+: smsc911x: Remove odd gpmc_cfg/board_data redirection

This seems to be a leftover from when gpmc-smsc911x.c was copied
from gpmc-smc91x.c.

Signed-off-by: Russ Dill <russ.dill@ti.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-smsc911x.c
e9dad875daa0728b49fb20c6ad22d88d2186eed6 03-Apr-2012 Tony Lindgren <tony@atomide.com> Merge branch 'misc_devel_3.4' of git://git.pwsan.com/linux-2.6 into fixes
6d008893e45ad5957a9a31afa00c4c6582504fe5 31-Mar-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: fix more fallout from 9f97da78bf (Disintegrate asm/system.h for ARM)

arch/arm/kernel/io.c: In function '_memcpy_toio':
arch/arm/kernel/io.c:29: error: implicit declaration of function 'outer_sync'
arch/arm/mach-omap2/omap_l3_noc.c: In function 'l3_interrupt_handler':
arch/arm/mach-omap2/omap_l3_noc.c:100: error: implicit declaration of function 'outer_sync'
kernel/irq/generic-chip.c: In function 'irq_gc_mask_disable_reg':
kernel/irq/generic-chip.c:45: error: implicit declaration of function 'outer_sync'
kernel/sched/rt.c: In function 'rt_set_overload':
kernel/sched/rt.c:248: error: implicit declaration of function 'outer_sync'
...

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
nclude/mach/barriers.h
a335750b9a039a9d4cd727cdccacfb90fd63c4e8 31-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux

Pull ACPI & Power Management changes from Len Brown:
- ACPI 5.0 after-ripples, ACPICA/Linux divergence cleanup
- cpuidle evolving, more ARM use
- thermal sub-system evolving, ditto
- assorted other PM bits

Fix up conflicts in various cpuidle implementations due to ARM cpuidle
cleanups (ARM at91 self-refresh and cpu idle code rewritten into
"standby" in asm conflicting with the consolidation of cpuidle time
keeping), trivial SH include file context conflict and RCU tracing fixes
in generic code.

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (77 commits)
ACPI throttling: fix endian bug in acpi_read_throttling_status()
Disable MCP limit exceeded messages from Intel IPS driver
ACPI video: Don't start video device until its associated input device has been allocated
ACPI video: Harden video bus adding.
ACPI: Add support for exposing BGRT data
ACPI: export acpi_kobj
ACPI: Fix logic for removing mappings in 'acpi_unmap'
CPER failed to handle generic error records with multiple sections
ACPI: Clean redundant codes in scan.c
ACPI: Fix unprotected smp_processor_id() in acpi_processor_cst_has_changed()
ACPI: consistently use should_use_kmap()
PNPACPI: Fix device ref leaking in acpi_pnp_match
ACPI: Fix use-after-free in acpi_map_lsapic
ACPI: processor_driver: add missing kfree
ACPI, APEI: Fix incorrect APEI register bit width check and usage
Update documentation for parameter *notrigger* in einj.txt
ACPI, APEI, EINJ, new parameter to control trigger action
ACPI, APEI, EINJ, limit the range of einj_param
ACPI, APEI, Fix ERST header length check
cpuidle: power_usage should be declared signed integer
...
4bde23f8751f388867766b0a62ed1ef8b7e01561 30-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull arm-soc fixes from Olof Johansson:
"This is a first pass of some of the merge window fallout for ARM
platforms.

Nothing controversial:
- A system.h fallout fix for OMAP
- PXA fixes for breakage caused by the regulator struct changes
- GPIO fixes for OMAP to properly deal with dynamic IRQ allocation
- A mismerge in our arm-soc tree of an lpc32xx change for networking
- A fix for USB setup on tegra
- An undo of __init annotation of display mux setup on OMAP that's
needed at runtime"

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: pxa: fix build issue on stargate2
ARM: pxa: fix build issue on cm-x300
ARM: pxa: fix build failure for regulator consumer in em-x270.c
ARM: LPC32xx: clock.c: Fix lpc-eth clock reference
ARM: OMAP: pm: fix compilation break
ARM: OMAP: Remove OMAP_GPIO_IRQ macro definition
drivers: input: Fix OMAP_GPIO_IRQ with gpio_to_irq() in ams_delta_serio_exit()
ARM: OMAP: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()
ARM: pxa: fix regulator related build fail in magician_defconfig
ARM: tegra: Fix device tree AUXDATA for USB/EHCI
ARM: OMAP2+: Remove __init from DSI mux functions
820d41cf0cd0e94a5661e093821e2e5c6b36a9d8 30-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: cleanups of io includes" from Olof Johansson:
"Rob Herring has done a sweeping change cleaning up all of the
mach/io.h includes, moving some of the oft-repeated macros to a common
location and removing a bunch of boiler plate. This is another step
closer to a common zImage for multiple platforms."

Fix up various fairly trivial conflicts (<mach/io.h> removal vs changes
around it, tegra localtimer.o is *still* gone, yadda-yadda).

* tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (29 commits)
ARM: tegra: Include assembler.h in sleep.S to fix build break
ARM: pxa: use common IOMEM definition
ARM: dma-mapping: convert ARCH_HAS_DMA_SET_COHERENT_MASK to kconfig symbol
ARM: __io abuse cleanup
ARM: create a common IOMEM definition
ARM: iop13xx: fix missing declaration of iop13xx_init_early
ARM: fix ioremap/iounmap for !CONFIG_MMU
ARM: kill off __mem_pci
ARM: remove bunch of now unused mach/io.h files
ARM: make mach/io.h include optional
ARM: clps711x: remove unneeded include of mach/io.h
ARM: dove: add explicit include of dove.h to addr-map.c
ARM: at91: add explicit include of hardware.h to uncompressor
ARM: ep93xx: clean-up mach/io.h
ARM: tegra: clean-up mach/io.h
ARM: orion5x: clean-up mach/io.h
ARM: davinci: remove unneeded mach/io.h include
[media] davinci: remove includes of mach/io.h
ARM: OMAP: Remove remaining includes for mach/io.h
ARM: msm: clean-up mach/io.h
...
a92e7023caf6c3a58b047a4c3fc9e4981b327bb8 29-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

From Tony Lindgren:
"This contains the updated gpio_to_irq patches from Tarun, and a trivial
build fix from Govindraj to #include <asm/system_misc.h> in pm.c.
The DSI mux patch is the same."

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP: pm: fix compilation break
ARM: OMAP: Remove OMAP_GPIO_IRQ macro definition
drivers: input: Fix OMAP_GPIO_IRQ with gpio_to_irq() in ams_delta_serio_exit()
ARM: OMAP: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()
ARM: OMAP2+: Remove __init from DSI mux functions
2533c2cfbff8f0ee53b8448d6362b54c272125aa 29-Mar-2012 Tony Lindgren <tony@atomide.com> Merge branch 'fixes-gpio-to-irq' into fixes

Conflicts:
arch/arm/mach-omap1/board-htcherald.c
arch/arm/mach-omap2/board-rx51-peripherals.c
arch/arm/plat-omap/include/plat/gpio.h
drivers/input/serio/ams_delta_serio.c
a2cb960f171228e17a28ff734289be60b75417c7 29-Mar-2012 Tony Lindgren <tony@atomide.com> Merge branch 'fix-dss-mux' into fixes
335aece5c502672fd0eb26ede5427ab14f4f7948 29-Mar-2012 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP: pm: fix compilation break

Fix the compilation break observed on latest mainline caused
by 9f97da78 (Disintegrate asm/system.h for ARM):

arch/arm/mach-omap1/pm.c: In function 'omap_pm_prepare':
arch/arm/mach-omap1/pm.c:587: error: implicit declaration of function 'disable_hlt'
arch/arm/mach-omap1/pm.c: In function 'omap_pm_finish':
arch/arm/mach-omap1/pm.c:624: error: implicit declaration of function 'enable_hlt'
arch/arm/mach-omap1/pm.c: In function 'omap_pm_init':
arch/arm/mach-omap1/pm.c:681: error: 'arm_pm_idle' undeclared (first use in this function)
...

arch/arm/mach-omap2/pm.c: In function 'omap_pm_begin':
arch/arm/mach-omap2/pm.c:239: error: implicit declaration of function 'disable_hlt'
arch/arm/mach-omap2/pm.c: In function 'omap_pm_end':
arch/arm/mach-omap2/pm.c:247: error: implicit declaration of function 'enable_hlt'

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
[tony@atomide.com: updated to fix omap1 too]
Signed-off-by: Tony Lindgren <tony@atomide.com>
m.c
46a0a5402f7b477bc98bf26596c2234f2ddbf473 29-Mar-2012 Tarun Kanti DebBarma <tarun.kanti@ti.com> ARM: OMAP: boards: Fix OMAP_GPIO_IRQ usage with gpio_to_irq()

The following commits change gpio-omap to use dynamic
IRQ allocation:

25db711 gpio/omap: Fix IRQ handling for SPARSE_IRQ
384ebe1 gpio/omap: Add DT support to GPIO driver

With dynamic allocation of IRQ the usage of OMAP_GPIO_IRQ
is no longer valid. We must be using gpio_to_irq() instead.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-4430sdp.c
oard-apollon.c
oard-devkit8000.c
oard-h4.c
oard-omap3evm.c
oard-omap4panda.c
oard-rx51-peripherals.c
oard-zoom-debugboard.c
oard-zoom-peripherals.c
ommon-board-devices.c
b5174fa3a7f4f8f150bfa3b917c92608953dfa0f 29-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'mmc-merge-for-3.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc

Pull MMC updates from Chris Ball:

Core:
* Support for MMC 4.5 Data Tag feature -- we tag REQ_META, so devices
that support Data Tag will provide increased throughput for metadata.
* Faster detection of card removal on I/O errors.

Drivers:
* dw_mmc now supports eMMC Power Off Notify, has PCI support, and
implements pre_req and post_req for asynchronous requests.
* omap_hsmmc now supports device tree.
* esdhc now has power management support.
* sdhci-tegra now supports Tegra30 devices.
* sdhci-spear now supports hibernation.
* tmio_mmc now supports using a GPIO for card detection.
* Intel PCH now supports 8-bit bus transfers.

* tag 'mmc-merge-for-3.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (53 commits)
mmc: sh_mmcif: simplify bitmask macros
mmc: sh_mobile_sdhi: support modular mmc-core with non-standard hotplug
mmc: sh_mobile_sdhi: add a callback for board specific init code
mmc: tmio: cosmetic: prettify the tmio_mmc_set_ios() function
mmc: sh_mobile_sdhi: do not manage PM clocks manually
mmc: tmio_mmc: remove unused sdio_irq_enabled flag
mmc: tmio_mmc: power status flag doesn't have to be exposed in platform data
mmc: sh_mobile_sdhi: pass card hotplug GPIO number to TMIO MMC
mmc: tmio_mmc: support the generic MMC GPIO card hotplug helper
mmc: tmio: calculate the native hotplug condition only once
mmc: simplify mmc_cd_gpio_request() by removing two parameters
mmc: sdhci-pci: allow 8-bit bus width for Intel PCH
mmc: sdhci: check interrupt flags in ISR again
mmc: sdhci-pci: Add MSI support
mmc: core: warn when card doesn't support HPI
mmc: davinci: Poll status for small size transfers
mmc: davinci: Eliminate spurious interrupts
mmc: omap_hsmmc: Avoid a regulator voltage change with dt
mmc: omap_hsmmc: Convert hsmmc driver to use device tree
mmc: sdhci-pci: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for Medfield SDIO
...
0195c00244dc2e9f522475868fa278c473ba7339 29-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system

Pull "Disintegrate and delete asm/system.h" from David Howells:
"Here are a bunch of patches to disintegrate asm/system.h into a set of
separate bits to relieve the problem of circular inclusion
dependencies.

I've built all the working defconfigs from all the arches that I can
and made sure that they don't break.

The reason for these patches is that I recently encountered a circular
dependency problem that came about when I produced some patches to
optimise get_order() by rewriting it to use ilog2().

This uses bitops - and on the SH arch asm/bitops.h drags in
asm-generic/get_order.h by a circuituous route involving asm/system.h.

The main difficulty seems to be asm/system.h. It holds a number of
low level bits with no/few dependencies that are commonly used (eg.
memory barriers) and a number of bits with more dependencies that
aren't used in many places (eg. switch_to()).

These patches break asm/system.h up into the following core pieces:

(1) asm/barrier.h

Move memory barriers here. This already done for MIPS and Alpha.

(2) asm/switch_to.h

Move switch_to() and related stuff here.

(3) asm/exec.h

Move arch_align_stack() here. Other process execution related bits
could perhaps go here from asm/processor.h.

(4) asm/cmpxchg.h

Move xchg() and cmpxchg() here as they're full word atomic ops and
frequently used by atomic_xchg() and atomic_cmpxchg().

(5) asm/bug.h

Move die() and related bits.

(6) asm/auxvec.h

Move AT_VECTOR_SIZE_ARCH here.

Other arch headers are created as needed on a per-arch basis."

Fixed up some conflicts from other header file cleanups and moving code
around that has happened in the meantime, so David's testing is somewhat
weakened by that. We'll find out anything that got broken and fix it..

* tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
Delete all instances of asm/system.h
Remove all #inclusions of asm/system.h
Add #includes needed to permit the removal of asm/system.h
Move all declarations of free_initmem() to linux/mm.h
Disintegrate asm/system.h for OpenRISC
Split arch_align_stack() out from asm-generic/system.h
Split the switch_to() wrapper out of asm-generic/system.h
Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
Create asm-generic/barrier.h
Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
Disintegrate asm/system.h for Xtensa
Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
Disintegrate asm/system.h for Tile
Disintegrate asm/system.h for Sparc
Disintegrate asm/system.h for SH
Disintegrate asm/system.h for Score
Disintegrate asm/system.h for S390
Disintegrate asm/system.h for PowerPC
Disintegrate asm/system.h for PA-RISC
Disintegrate asm/system.h for MN10300
...
30304e5a79d424eb2c8707b3ff0e9b8bf6ab3e8f 28-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'mfd_3.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6

Pull MFD changes from Samuel Ortiz:
- 4 new drivers: Freescale i.MX on-chip Anatop, Ricoh's RC5T583 and
TI's TPS65090 and TPS65217.
- New variants support (8420, 8520 ab9540), cleanups and bug fixes for
the abx500 and db8500 ST-E chipsets.
- Some minor fixes and update for the wm8994 from Mark.
- The beginning of a long term TWL cleanup effort coming from the TI
folks.
- Various fixes and cleanups for the s5m, TPS659xx, pm860x, and MAX8997
drivers.

Fix up trivial conflicts due to duplicate patches and header file
cleanups (<linux/device.h> removal etc).

* tag 'mfd_3.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (97 commits)
gpio/twl: Add DT support to gpio-twl4030 driver
gpio/twl: Allocate irq_desc dynamically for SPARSE_IRQ support
mfd: Detach twl6040 from the pmic mfd driver
mfd: Replace twl-* pr_ macros by the dev_ equivalent and do various cleanups
mfd: Micro-optimization on twl4030 IRQ handler
mfd: Make twl4030 SIH SPARSE_IRQ capable
mfd: Move twl-core IRQ allocation into twl[4030|6030]-irq files
mfd: Remove references already defineid in header file from twl-core
mfd: Remove unneeded header from twl-core
mfd: Make twl-core not depend on pdata->irq_base/end
ARM: OMAP2+: board-omap4-*: Do not use anymore TWL6030_IRQ_BASE in board files
mfd: Return twl6030_mmc_card_detect IRQ for board setup
Revert "mfd: Add platform data for MAX8997 haptic driver"
mfd: Add support for TPS65090
mfd: Add some da9052-i2c section annotations
mfd: Build rtc5t583 only if I2C config is selected to y.
mfd: Add anatop mfd driver
mfd: Fix compilation error in tps65910.h
mfd: Add 8420 variant to db8500-prcmu
mfd: Add 8520 PRCMU variant to db8500-prcmu
...
9f97da78bf018206fb623cd351d454af2f105fe0 28-Mar-2012 David Howells <dhowells@redhat.com> Disintegrate asm/system.h for ARM

Disintegrate asm/system.h for ARM.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Russell King <linux@arm.linux.org.uk>
cc: linux-arm-kernel@lists.infradead.org
oard-omap3touchbook.c
oard-rx51-peripherals.c
ux.c
map-mpuss-lowpower.c
m24xx.c
m34xx.c
m44xx.c
leep44xx.S
66f03c614c0902ccf7d6160459362a9352f33271 28-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: device tree work" from Arnd Bergmann:
"Most of these patches convert code from using static platform data to
describing the hardware in the device tree. This is only the first
half of the changes for v3.4 because a lot of patches for this topic
came in the last week before the merge window.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>"

Fix up trivial conflicts in arch/arm/mach-vexpress/{Kconfig,core.h}

* tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (86 commits)
Document: devicetree: add OF documents for arch-mmp
ARM: dts: append DTS file of pxa168
ARM: mmp: append OF support on pxa168
ARM: mmp: enable rtc clk in pxa168
i2c: pxa: add OF support
serial: pxa: add OF support
arm/dts: mt_ventoux: very basic support for TeeJet Mt.Ventoux board
ARM: OMAP2+: Remove extra ifdefs for board-generic
ARM: OMAP2+: Fix build error when only ARCH_OMAP2/3 or 4 is selected
ASoC: DT: Add digital microphone binding to PAZ00 board.
ARM: dt: Add ARM PMU to tegra*.dtsi
ARM: at91: at91sam9x5cm/dt: add leds support
ARM: at91: usb_a9g20/dt: add gpio-keys support
ARM: at91: at91sam9m10g45ek/dt: add gpio-keys support
ARM: at91: at91sam9m10g45ek/dt: add leds support
ARM: at91: usb_a9g20/dt: add leds support
ARM: at91/pio: add new PIO3 features
ARM: at91: add sam9_smc.o to at91sam9x5 build
ARM: at91/tc/clocksource: Add 32 bit variant to Timer Counter
ARM: at91/tc: add device tree support to atmel_tclib
...
34800598b2eebe061445216473b1e4c2ff5cba99 28-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: driver specific updates" from Arnd Bergmann:
"These are all specific to some driver. They are typically the
platform side of a change in the drivers directory, such as adding a
new driver or extending the interface to the platform. In cases where
there is no maintainer for the driver, or the maintainer prefers to
have the platform changes in the same branch as the driver changes,
the patches to the drivers are included as well.

A much smaller set of driver updates that depend on other branches
getting merged first will be sent later.

The new export of tegra_chip_uid conflicts with other changes in
fuse.c. In rtc-sa1100.c, the global removal of IRQF_DISABLED
conflicts with the cleanup of the interrupt handling of that driver.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>"

Fixed up aforementioned trivial conflicts.

* tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (94 commits)
ARM: SAMSUNG: change the name from s3c-sdhci to exynos4-sdhci
mmc: sdhci-s3c: add platform data for the second capability
ARM: SAMSUNG: support the second capability for samsung-soc
ARM: EXYNOS: add support DMA for EXYNOS4X12 SoC
ARM: EXYNOS: Add apb_pclk clkdev entry for mdma1
ARM: EXYNOS: Enable MDMA driver
regulator: Remove bq24022 regulator driver
rtc: sa1100: add OF support
pxa: magician/hx4700: Convert to gpio-regulator from bq24022
ARM: OMAP3+: SmartReflex: fix error handling
ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API
ARM: OMAP3+: SmartReflex: micro-optimization for sanity check
ARM: OMAP3+: SmartReflex: misc cleanups
ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument
ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata()
ARM: OMAP3+: hwmod: add SmartReflex IRQs
ARM: OMAP3+: SmartReflex: clear ERRCONFIG_VPBOUNDINTST only on a need
ARM: OMAP3+: SmartReflex: Fix status masking in ERRCONFIG register
ARM: OMAP3+: SmartReflex: Add a shutdown hook
ARM: OMAP3+: SmartReflex Class3: disable errorgen before disable VP
...

Conflicts:
arch/arm/mach-tegra/Makefile
arch/arm/mach-tegra/fuse.c
drivers/rtc/rtc-sa1100.c
1bfecd935849a45b6b47d9f011e1c278ff880512 28-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: board specific updates" from Arnd Bergmann/Olof Johansson:
"These changes are all specific to one board only. We're trying to
keep the number of board files low, but generally board level updates
are ok on platforms that are working on moving towards DT based
probing, which will eventually lead to removing them.

The board-ams-delta.c board file gets a conflict between the removal
of ams_delta_config and the addition of a lot of other data. The
Kconfig file has two changes in the same line, and in exynos, the
power domain cleanup conflicts with the addition of the image sensor
device.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[olof: Amended a fix for a mismerge to board-omap4panda.c]
Signed-off-by: Olof Johansson <olof@lixom.net>"

Fixed up some fairly trivial conflicts manually.

* tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (82 commits)
i.MX35-PDK: Add Camera support
ARM : mx35: 3ds-board: add framebuffer device
pxa/hx4700: Remove pcmcia platform_device structure
ARM: pxa/hx4700: Reduce sleep mode battery discharge by 35%
ARM: pxa/hx4700: Remove unwanted request for GPIO105
ARM: EXYNOS: support Exynos4210-bus Devfreq driver on Nuri board
ARM: EXYNOS: Register JPEG on nuri
ARM: EXYNOS: Register JPEG on universal_c210
ARM: S5PV210: Enable JPEG on SMDKV210
ARM: S5PV210: Add JPEG board definition
ARM: EXYNOS: Enable JPEG on Origen
ARM: EXYNOS: Enable JPEG on SMDKV310
ARM: EXYNOS: Add __init attribute to universal_camera_init()
ARM: EXYNOS: Add __init attribute to nuri_camera_init()
ARM: S5PV210: Enable FIMC on SMDKC110
ARM: S5PV210: Enable FIMC on SMDKV210
ARM: S5PV210: Enable MFC on SMDKC110
ARM: S5PV210: Enable MFC on SMDKV210
ARM: EXYNOS: Enable G2D on SMDKV310
ARM: tegra: update defconfig
...
281b05392fc2cb26209b4d85abaf4889ab1991f3 28-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: SoC specific updates" from Arnd Bergmann:
"These changes are all specific to an soc family or the code for one
soc. Lots of work for Tegra3 this time, but also a lot of other
platforms. There will be another (smaller) set of soc patches later
in the merge window for stuff that has dependencies on external trees
or that was sent just before the merge window opened.

The asoc tree added a few devices to the i.mx platform, which conflict
with other devices added in the same place here.

The tegra Makefile conflicts between a number of branches, mostly
because of changes regarding localtimer.c, which was removed in the
end.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>"

Fix up some trivial conflicts, including the mentioned Tegra Makefile.

* tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (51 commits)
ARM: EXYNOS: fix cycle count for periodic mode of clock event timers
ARM: EXYNOS: add support JPEG
ARM: EXYNOS: Add DMC1, allow PPMU access for DMC
ARM: SAMSUNG: Correct MIPI-CSIS io memory resource definition
ARM: SAMSUNG: fix __init attribute on regarding s3c_set_platdata()
ARM: SAMSUNG: Add __init attribute to samsung_bl_set()
ARM: S5PV210: Add usb otg phy control
ARM: S3C64XX: Add usb otg phy control
ARM: EXYNOS: Enable l2 configuration through device tree
ARM: EXYNOS: remove useless code to save/restore L2
ARM: EXYNOS: save L2 settings during bootup
ARM: S5P: add L2 early resume code
ARM: EXYNOS: Add support AFTR mode on EXYNOS4210
ARM: mx35: Setup the AIPS registers
ARM: mx5: Use common function for configuring AIPS
ARM: mx3: Setup AIPS registers
ARM: mx3: Let mx31 and mx35 enter in LPM mode in WFI
ARM: defconfig: imx_v6_v7: build in REGULATOR_FIXED_VOLTAGE
ARM: imx: update imx_v6_v7_defconfig
ARM: tegra: Demote EMC clock inconsistency BUG to WARN
...
48d554418d3bfbba5e9dc1ebdf352f1b1f3ff4ee 28-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: timer cleanup work" from Arnd Bergmann:
"These are split out from the generic soc and driver updates because
there was a lot of conflicting work by multiple people. Marc Zyngier
worked on simplifying the "localtimer" interfaces, and some of the
platforms are touching the same code as they move to device tree based
booting.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>"

* tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits)
ARM: tegra: select USB_ULPI if USB is selected
arm/tegra: pcie: fix return value of function
ARM: ux500: fix compilation after local timer rework
ARM: shmobile: remove additional __io() macro use
ARM: local timers: make the runtime registration interface mandatory
ARM: local timers: convert MSM to runtime registration interface
ARM: local timers: convert exynos to runtime registration interface
ARM: smp_twd: remove old local timer interface
ARM: imx6q: convert to twd_local_timer_register() interface
ARM: highbank: convert to twd_local_timer_register() interface
ARM: ux500: convert to twd_local_timer_register() interface
ARM: shmobile: convert to twd_local_timer_register() interface
ARM: tegra: convert to twd_local_timer_register() interface
ARM: plat-versatile: convert to twd_local_timer_register() interface
ARM: OMAP4: convert to twd_local_timer_register() interface
ARM: smp_twd: add device tree support
ARM: smp_twd: add runtime registration support
ARM: local timers: introduce a new registration interface
ARM: smp_twd: make local_timer_stop a symbol instead of a #define
ARM: mach-shmobile: default to no earlytimer
...
d61b7a572b292e2be409e13b4b3adf475f18fb29 28-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: global cleanups" from Arnd Bergmann:
"Quite a bit of code gets removed, and some stuff moved around, mostly
the old samsung s3c24xx stuff. There should be no functional changes
in this series otherwise. Some cleanups have dependencies on other
arm-soc branches and will be sent in the second round.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>"

Fixed up trivial conflicts mainly due to #include's being changes on
both sides.

* tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (121 commits)
ep93xx: Remove unnecessary includes of ep93xx-regs.h
ep93xx: Move EP93XX_SYSCON defines to SoC private header
ep93xx: Move crunch code to mach-ep93xx directory
ep93xx: Make syscon access functions private to SoC
ep93xx: Configure GPIO ports in core code
ep93xx: Move peripheral defines to local SoC header
ep93xx: Convert the watchdog driver into a platform device.
ep93xx: Use ioremap for backlight driver
ep93xx: Move GPIO defines to gpio-ep93xx.h
ep93xx: Don't use system controller defines in audio drivers
ep93xx: Move PHYS_BASE defines to local SoC header file
ARM: EXYNOS: Add clock register addresses for EXYNOS4X12 bus devfreq driver
ARM: EXYNOS: add clock registers for exynos4x12-cpufreq
PM / devfreq: update the name of EXYNOS clock registers that were omitted
PM / devfreq: update the name of EXYNOS clock register
ARM: EXYNOS: change the prefix S5P_ to EXYNOS4_ for clock
ARM: EXYNOS: use static declaration on regarding clock
ARM: EXYNOS: replace clock.c for other new EXYNOS SoCs
ARM: OMAP2+: Fix build error after merge
ARM: S3C24XX: remove call to s3c24xx_setup_clocks
...
c8bc5e39ac110acc88e41dd45d3f99956686f074 28-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull "ARM: Non-critical bug fixes" from Ardn Bergmann:
"Simple bug fixes that were not considered important enough for
inclusion into 3.3. One bug fix was originally intended for 3.3 but
accidentally got missed, but is not marked stable because it should
only get backported once later fixes also make it into v3.4.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>"

* tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (66 commits)
iomux-mx25.h slew rate adjusted for LCD __LD pins
ARM: davinci: DA850: move da850_register_pm to .init.text
ARM: davinci: cpufreq: fix compiler warning
ARM: OMAP2+: Fix build for omap4 only builds with missing include of linux/bug.h
ARM: OMAP2+: Fix section warnings for hsmmc_init_one
ARM: OMAP2+: Fix build issues with missing include of linux/bug.h
ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
ARM: OMAP3+: PM: VP: fix integer truncation error
ARM: OMAP2+: PM: fix wakeupgen warning when hotplug disabled
ARM: OMAP2+: PM: fix section mismatch with omap2_init_processor_devices()
ARM: OMAP2: Fix section warning for n8x0 when CONFIG_MMC_OMAP is not set
ARM: OMAP2+: Fix omap24xx_io_desc warning if SoC subtypes are not selected
ARM: OMAP1: Fix section mismatch for omap1_init_early()
ARM: OMAP1: Fix typo in lcd_dma.c
ARM: OMAP: mailbox: trivial whitespace fix
ARM: OMAP: Remove definition cpu_is_omap4430()
ARM: OMAP2+: included some headers twice
ARM: OMAP: clock.c: included linux/debugfs.h twice
ARM: OMAP: don't build hwspinlock in vain
ARM: OMAP2+: ads7846_init: put gpio_pendown into pdata if it's provided
...
a754a87ce8b17024358c1be8ee0232ef09a7055f 24-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge tag 'asoc-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into next/boards

The asoc branch that was already merged into v3.4 contains some
board-level changes that conflict with patches we already have
here, so pull in that branch to resolve the conflicts.

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

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[olof: Amended fix for mismerge as reported by Kevin Hilman]
Signed-off-by: Olof Johansson <olof@lixom.net>
d418ed87c4e3ecf45d42718c4ead91180997681f 19-Feb-2012 Daniel Mack <zonque@gmail.com> ARM: OMAP: hsmmc: add max_freq field

External circuitry like level shifters may limit the maximum operation
speed of the hsmmc controller. Add a field to struct omap2_hsmmc_info
so boards can adjust the setting on demand.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
smmc.c
smmc.h
56c10bf82c10588b743e75a13a7949e11b9fc942 24-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-armsoc' of git://git.linaro.org/people/rmk/linux-arm

Pull #1 ARM updates from Russell King:
"This one covers stuff which Arnd is waiting for me to push, as this is
shared between both our trees and probably other trees elsewhere.

Essentially, this contains:
- AMBA primecell device initializer updates - mostly shrinking the
size of the device declarations in platform code to something more
reasonable.
- Getting rid of the NO_IRQ crap from AMBA primecell stuff.
- Nicolas' idle cleanups. This in combination with the restart
cleanups from the last merge window results in a great many
mach/system.h files being deleted."

Yay: ~80 files, ~2000 lines deleted.

* 'for-armsoc' of git://git.linaro.org/people/rmk/linux-arm: (60 commits)
ARM: remove disable_fiq and arch_ret_to_user macros
ARM: make entry-macro.S depend on !MULTI_IRQ_HANDLER
ARM: rpc: make default fiq handler run-time installed
ARM: make arch_ret_to_user macro optional
ARM: amba: samsung: use common amba device initializers
ARM: amba: spear: use common amba device initializers
ARM: amba: nomadik: use common amba device initializers
ARM: amba: u300: use common amba device initializers
ARM: amba: lpc32xx: use common amba device initializers
ARM: amba: netx: use common amba device initializers
ARM: amba: bcmring: use common amba device initializers
ARM: amba: ep93xx: use common amba device initializers
ARM: amba: omap2: use common amba device initializers
ARM: amba: integrator: use common amba device initializers
ARM: amba: realview: get rid of private platform amba_device initializer
ARM: amba: versatile: get rid of private platform amba_device initializer
ARM: amba: vexpress: get rid of private platform amba_device initializer
ARM: amba: provide common initializers for static amba devices
ARM: amba: make use of -1 IRQs warn
ARM: amba: u300: get rid of NO_IRQ initializers
...
437538267b672f9320833907f1b5acbb2605f4be 23-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/linux-2.6

Pull fbdev updates for 3.4 from Florian Tobias Schandinat:
- drivers for Samsung Exynos MIPI DSI and display port
- i740fb to support those old Intel chips
- large updates to OMAP, viafb and sh_mobile_lcdcfb
- some updates to s3c-fb and udlfb, few patches to others

Fix up conflicts in drivers/video/udlfb.c due to Key Sievers' fix making
it in twice.

* tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/linux-2.6: (156 commits)
Revert "video:uvesafb: Fix oops that uvesafb try to execute NX-protected page"
OMAPDSS: register dss drivers in module init
video: pxafb: add clk_prepare/clk_unprepare calls
fbdev: bfin_adv7393fb: Drop needless include
fbdev: sh_mipi_dsi: add extra phyctrl for sh_mipi_dsi_info
fbdev: remove dependency of FB_SH_MOBILE_MERAM from FB_SH_MOBILE_LCDC
Revert "MAINTAINERS: add entry for exynos mipi display drivers"
fbdev: da8xx: add support for SP10Q010 display
fbdev: da8xx:: fix reporting of the display timing info
drivers/video/pvr2fb.c: ensure arguments to request_irq and free_irq are compatible
OMAPDSS: APPLY: fix clearing shadow dirty flag with manual update
fbdev: sh_mobile_meram: Implement system suspend/resume
fbdev: sh_mobile_meram: Remove unneeded sanity checks
fbdev: sh_mobile_meram: Don't perform update in register operation
arm: mach-shmobile: Constify sh_mobile_meram_cfg structures
fbdev: sh_mobile_lcdc: Don't store copy of platform data
fbdev: sh_mobile_meram: Remove unused sh_mobile_meram_icb_cfg fields
arm: mach-shmobile: Don't set MERAM ICB numbers in platform data
fbdev: sh_mobile_meram: Allocate ICBs automatically
fbdev: sh_mobile_meram: Use genalloc to manage MERAM allocation
...
7bfe0e66d5da32961f0060fc5d96b739b1ed64b9 23-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

Pull input subsystem updates from Dmitry Torokhov:
"- we finally merged driver for USB version of Synaptics touchpads
(I guess most commonly found in IBM/Lenovo keyboard/touchpad combo);

- a bunch of new drivers for embedded platforms (Cypress
touchscreens, DA9052 OnKey, MAX8997-haptic, Ilitek ILI210x
touchscreens, TI touchscreen);

- input core allows clients to specify desired clock source for
timestamps on input events (EVIOCSCLOCKID ioctl);

- input core allows querying state of all MT slots for given event
code via EVIOCGMTSLOTS ioctl;

- various driver fixes and improvements."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (45 commits)
Input: ili210x - add support for Ilitek ILI210x based touchscreens
Input: altera_ps2 - use of_match_ptr()
Input: synaptics_usb - switch to module_usb_driver()
Input: convert I2C drivers to use module_i2c_driver()
Input: convert SPI drivers to use module_spi_driver()
Input: omap4-keypad - move platform_data to <linux/platform_data>
Input: kxtj9 - who_am_i check value and initial data rate fixes
Input: add driver support for MAX8997-haptic
Input: tegra-kbc - revise device tree support
Input: of_keymap - add device tree bindings for simple key matrices
Input: wacom - fix physical size calculation for 3rd-gen Bamboo
Input: twl4030-vibra - really switch from #if to #ifdef
Input: hp680_ts_input - ensure arguments to request_irq and free_irq are compatible
Input: max8925_onkey - avoid accessing input device too early
Input: max8925_onkey - allow to be used as a wakeup source
Input: atmel-wm97xx - convert to dev_pm_ops
Input: atmel-wm97xx - set driver owner
Input: add cyttsp touchscreen maintainer entry
Input: cyttsp - remove useless checks in cyttsp_probe()
Input: usbtouchscreen - add support for Data Modul EasyTouch TP 72037
...
4ba7c3c3c6567210bf46b1ab3d089134170c2762 22-Mar-2012 Ming Lei <tom.leiming@gmail.com> ARM: OMAP3+: fix oops triggered in omap_prcm_register_chain_handler(v1)

This patch fixes the oops below[1].

Obviously, the count of "struct irq_chip_generic" instances to be
allocated and setup should be irq_setup->nr_regs instead of
irq_setup->nr_regs plus one, so just fix the iterator to avoid
the oops.

[1], oops log.

[ 1.790242] Unable to handle kernel NULL pointer dereference at virtual address 00000004
[ 1.798632] pgd = c0004000
[ 1.801638] [00000004] *pgd=00000000
[ 1.805400] Internal error: Oops: 805 [#1] PREEMPT SMP THUMB2
[ 1.811381] Modules linked in:
[ 1.814601] CPU: 1 Not tainted (3.3.0-next-20120320+ #733)
[ 1.820683] PC is at irq_setup_generic_chip+0x6a/0x84
[ 1.825951] LR is at irq_get_irq_data+0x7/0x8
[ 1.830508] pc : [<c006465e>] lr : [<c0063a03>] psr: 20000133
[ 1.830512] sp : ee04ff58 ip : 00000000 fp : 00000000
[ 1.842461] r10: 00000000 r9 : 00000000 r8 : 00000800
[ 1.847905] r7 : c064e260 r6 : 000001dc r5 : 00000001 r4 : ee0accc0
[ 1.854687] r3 : 00000002 r2 : 00000800 r1 : 000001dc r0 : 00000000
[ 1.861472] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA Thumb Segment kernel
[ 1.869234] Control: 50c5387d Table: 8000404a DAC: 00000015
[ 1.875215] Process swapper/0 (pid: 1, stack limit = 0xee04e2f8)
[ 1.881463] Stack: (0xee04ff58 to 0xee050000)
[ 1.886017] ff40: c061b668 00000008
[ 1.894497] ff60: c0682090 ee0accc0 00000003 c001c637 00000000 00000000 00000201 00000000
[ 1.902976] ff80: 00000004 c0473820 c0473800 c0459e8d c0680ac0 c000866d 00000004 00000004
[ 1.911455] ffa0: ee04ffa8 00000004 c047381c 00000004 c0473820 c0473800 c0680ac0 00000082
[ 1.919934] ffc0: c0489694 c045265f 00000004 00000004 c0452135 c000d105 00000033 00000000
[ 1.928413] ffe0: c04525b5 c000d111 00000033 00000000 00000000 c000d111 aaaaaaaa aaaaaaaa
[ 1.936912] [<c006465e>] (irq_setup_generic_chip+0x6a/0x84) from [<c001c637>] (omap_prcm_register_chain_handler+0x147/0x1a0)
[ 1.948516] [<c001c637>] (omap_prcm_register_chain_handler+0x147/0x1a0) from [<c000866d>] (do_one_initcall+0x65/0xf4)
[ 1.959500] [<c000866d>] (do_one_initcall+0x65/0xf4) from [<c045265f>] (kernel_init+0xab/0x138)
[ 1.968529] [<c045265f>] (kernel_init+0xab/0x138) from [<c000d111>] (kernel_thread_exit+0x1/0x6)
[ 1.977632] Code: f7ff f9d1 6b23 1af3 (6043) 086d
[ 1.982684] ---[ end trace 1b75b31a2719ed1c ]---
[ 1.987526] Kernel panic - not syncing: Attempted to kill init!
exitcode=0x0000000b

Acked-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
rm_common.c
9fa2df6b90786301b175e264f5fa9846aba81a65 16-Mar-2012 Nishanth Menon <nm@ti.com> ARM: OMAP2+: OPP: allow OPP enumeration to continue if device is not present

On platforms such as OMAP3, certain variants may not have IVA, SGX
or some specific component. We currently have a check to aid fixing
wrong population of OPP entries for issues such as typos. This however
causes a conflict with valid requirement where the SoC variant does
not actually have the module present.

So, reduce the severity of the print to a debug statement and skip
registering that specific OPP, but continue down the list.

Reported-by: Steve Sakoman <steve@sakoman.com>
Reported-by: Maximilian Schwerin <mvs@tigris.de>
Acked-by: Steve Sakoman <steve@sakoman.com>
Tested-by: Maximilian Schwerin <mvs@tigris.de>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pp.c
981798569b090543453baccbc0657fbcea311668 18-Mar-2012 Mark A. Greer <mgreer@animalcreek.com> arm: omap3: pm34xx.c: Replace printk() with appropriate pr_*()

Currently, pm34xx.c has a mix of printk() and pr_*() statements
so replace the printk() statements with the equivalent pr_*()
statements.

Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m34xx.c
ce229c5d79c03f09d4612dd2bcbff532fdc24e80 18-Mar-2012 Mark A. Greer <mgreer@animalcreek.com> arm: omap3: pm34xx.c: Fix omap3_pm_init() error out paths

It appears that the error paths were overlooked when the
omap3_pm_init() routine had the prcm chain handler code
added. Fix this by adding a goto target and reordering
the error handling code. Also fix how the irq argument
for free_irq() is determined.

Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
Acked-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m34xx.c
68523f4233de5f233478dde0a63047b4efb710b8 12-Mar-2012 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Workaround the OCP synchronisation issue with 32K synctimer.

On OMAP4, recently a synchronisation bug is discovered by hardware
team, which leads to incorrect timer value read from 32K sync timer
IP when the IP is comming out of idle.

The issue is due to the synchronization methodology used in the SYNCTIMER IP.
The value of the counter register in 32kHz domain is synchronized to the OCP
domain register only at count up event, and if the OCP clock is switched off,
the OCP register gets out of synch until the first count up event after the
clock is switched back -at the next falling edge of the 32kHz clock.

Further investigation revealed that it applies to gptimer1 and watchdog timer2
as well which may run on 32KHz. This patch fixes the issue for all the
applicable modules.

The BUG has not made it yet to the OMAP errata list and it is applicable to
OMAP1/2/3/4/5. OMAP1/2/3 it is taken care indirectly by autodeps.

By enabling static depedency of wakeup clockdomain with MPU, as soon as MPU
is woken up from lowpower state(idle) or whenever MPU is active, PRCM forces
the OCP clock to be running and allow the counter value to be updated properly
in the OCP clock domain.

The bug is going to fixed in future OMAP versions.

Reported-Tested-by: dave.long@linaro.org
[dave.long@linaro.org: Reported the oprofile time stamp issue with synctimer
and helped to test this patch]
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m44xx.c
b2094ef840697bc8ca5d17a83b7e30fad5f1e9fa 22-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull updates of sound stuff from Takashi Iwai:
"Here is the first big update chunk of sound stuff for 3.4-rc1.

In the common sound infrastructure, there are a few changes for
dynamic PCM support (used in ASoC) and a few clean-ups. Majority of
changes are found, as usual, in HD-audio and ASoC.

Some highlights of HD-audio changes:

- All the long-standing static quirk codes for Realtek codec were
finally removed by fixing and extending the Realtek auto-parser.

- The mute-LED control is standardized over all HD-audio codec
drivers using the extended vmaster hook.

- The vmaster slave mixer elements are initialized to 0dB as default
so that the user won't be annoyed by the silent output after
updates, e.g. due to the additions of new elements.

- Other many fix-ups for the misc HD-audio devices.

In the ASoC side, this is a very active release, including a quite a
few framework enhancements. Some highlights:

- Support for widgets not associated with a CODEC, an important part
of the dynamic PCM framework.

- A library factoring out the common code shared by dmaengine based
DMA drivers contributed by Lars-Peter Clausen. This will save a
lot of code and make it much easier to deploy enhancements to
dmaengine.

- Support for binary controls, used for providing runtime
configuration of algorithm coefficients.

- A new DAPM widget type for regulator supplies allowing drivers for
devices that can power down unused supplies while active to do
without any per-driver code.

- DAPM widgets for DAIs, initially giving a speed boost for playback
startup and shutdown and also the basis for CODEC<->CODEC DAI link
support.

- Support for specifying the number of significant bits on audio
interfaces, useful for allowing applications to know how much
effort to put into generating data for a larger sample format.

- Conversion of the FSI driver used on some SH processors to
DMAEngine.

- Conversion of EP93xx drivers to DMAEngine.

- New CODEC drivers for Maxim MAX9768 and Wolfson Microelectronics
WM2200.

- Move audmux driver from arc/arm to sound/soc

- McBSP move from arch/ to sound/ and updates

Also, a few small updates and fixes for other drivers like au88x0,
ymfpci, USB 6fire, USB usx2yaudio are included."

* tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (446 commits)
ASoC: wm8994: Provide VMID mode control and fix default sequence
ASoC: wm8994: Add missing break in resume
ASoC: wm_hubs: Don't actively manage LINEOUT_VMID_BUF
ASoC: pxa-ssp: atomically set stream active masks
ASoC: fsl: p1022ds: tell the WM8776 codec driver that it's the master
ASoC: Samsung: Added to support mono recording
ALSA: hda - Fix build with CONFIG_PM=n
ALSA: au88x0 - Avoid possible Oops at unbinding
ALSA: usb-audio - Fix build error by consitification of rate list
ASoC: core: Fix obscure leak of runtime array
ALSA: pcm - Avoid GFP_ATOMIC in snd_pcm_link()
ALSA: pcm: Constify the list in snd_pcm_hw_constraint_list
ASoC: wm8996: Add 44.1kHz support
ALSA: hda - Fix build of patch_sigmatel.c without CONFIG_SND_HDA_POWER_SAVE
ASoC: mx27vis-aic32x4: Convert it to platform driver
ALSA: hda - fix printing of high HDMI sample rates
ALSA: ymfpci - Fix legacy registers on S3/S4 resume
ALSA: control - Fixe a trailing white space error
ALSA: hda - Add expose_enum_ctl flag to snd_hda_add_vmaster_hook()
ALSA: hda - Add "Mute-LED Mode" enum control
...
9d4a4199e7029b4f1e8daa10b6839839a9fb89a7 02-Mar-2012 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: board-omap4-*: Do not use anymore TWL6030_IRQ_BASE in board files

With the introduction of dynamically allocated IRQ in the twl6030 driver,
the board files can no longer rely of static IRQ defines like before.

Retrieve the value dynamically allocated from the mmc -> twl6030 init
callback.

Note: The Panda board does not seems to use the card detect IRQ.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
oard-4430sdp.c
oard-omap4panda.c
c207f3a43194e108dda43dc9a1ce507335cff6b9 21-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux-2.6

Pull irq_domain support for all architectures from Grant Likely:
"Generialize powerpc's irq_host as irq_domain

This branch takes the PowerPC irq_host infrastructure (reverse mapping
from Linux IRQ numbers to hardware irq numbering), generalizes it,
renames it to irq_domain, and makes it available to all architectures.

Originally the plan has been to create an all-new irq_domain
implementation which addresses some of the powerpc shortcomings such
as not handling 1:1 mappings well, but doing that proved to be far
more difficult and invasive than generalizing the working code and
refactoring it in-place. So, this branch rips out the 'new'
irq_domain and replaces it with the modified powerpc version (in a
fully bisectable way of course). It converts all users over to the
new API and makes irq_domain selectable on any architecture.

No architecture is forced to enable irq_domain, but the infrastructure
is required for doing OpenFirmware style irq translations. It will
even work on SPARC even though SPARC has it's own mechanism for
translating irqs at boot time. MIPS, microblaze, embedded x86 and c6x
are converted too.

The resulting irq_domain code is probably still too verbose and can be
optimized more, but that can be done incrementally and is a task for
follow-on patches."

* tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux-2.6: (31 commits)
dt: fix twl4030 for non-dt compile on x86
mfd: twl-core: Add IRQ_DOMAIN dependency
devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
irq_domain: Centralize definition of irq_dispose_mapping()
irq_domain/mips: Allow irq_domain on MIPS
irq_domain/x86: Convert x86 (embedded) to use common irq_domain
ppc-6xx: fix build failure in flipper-pic.c and hlwd-pic.c
irq_domain/microblaze: Convert microblaze to use irq_domains
irq_domain/powerpc: Replace custom xlate functions with library functions
irq_domain/powerpc: constify irq_domain_ops
irq_domain/c6x: Use library of xlate functions
irq_domain/c6x: constify irq_domain structures
irq_domain/c6x: Convert c6x to use generic irq_domain support.
irq_domain: constify irq_domain_ops
irq_domain: Create common xlate functions that device drivers can use
irq_domain: Remove irq_domain_add_simple()
irq_domain: Remove 'new' irq_domain in favour of the ppc one
mfd: twl-core.c: Fix the number of interrupts managed by twl4030
of/address: add empty static inlines for !CONFIG_OF
irq_domain: Add support for base irq and hwirq in legacy mappings
...
2cbe23e3a432e3d09a849adb197c8fcc09e7391d 21-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'tegra/cleanups' into next/timer

Conflicts:
arch/arm/mach-tegra/Makefile
arch/arm/mach-vexpress/core.h

The tegra Makefile was changed in four different branches
in the same line. This merge should reduce the amount
of churn.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
d13e9261ac026f90cccac1e6de3978fb18d4af7b 20-Mar-2012 Robert Lee <rob.lee@linaro.org> ARM: omap: Consolidate OMAP4 time keeping and irq enable

Enable core cpuidle timekeeping and irq enabling and remove that
handling from this code.

Signed-off-by: Robert Lee <rob.lee@linaro.org>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Len Brown <len.brown@intel.com>
puidle44xx.c
6da45dce3ce4a1f1f2548c9ad9954d57ab0625b3 20-Mar-2012 Robert Lee <rob.lee@linaro.org> ARM: omap: Consolidate OMAP3 time keeping and irq enable

Use core cpuidle timekeeping and irqen wrapper and remove that
handling from this code.

Signed-off-by: Robert Lee <rob.lee@linaro.org>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Tested-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Len Brown <len.brown@intel.com>
puidle34xx.c
f907ab06bb021bcb91d39c8d1b36536ebdb318fa 20-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'next/fixes-non-critical' into next/drivers

Conflicts:
arch/arm/mach-lpc32xx/clock.c
arch/arm/mach-pxa/pxa25x.c
arch/arm/mach-pxa/pxa27x.c

The conflicts with pxa are non-obvious, we have multiple branches
adding and removing the same clock settings. According to
Haojian Zhuang, removing the sa1100 rtc dummy clock is the correct
fix here.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
44e8ba93cf330f075178e31759100f367313790a 20-Mar-2012 Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Merge commit 'v3.3' into fbdev-next
b2f1df8d2fc14bf7e6d9d967043d4b60c2efd8dc 19-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'renesas/timer' into next/timer

Conflicts:
arch/arm/mach-shmobile/timer.c

This resolves a nonobvious merge conflict between renesas
timer changes in the global timer changes with those
from the renesas soc branch and last minute bug fixes that
went into v3.3.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
489e7bece7f6859a7df484a4dce08fa51fb0d876 20-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'fixes' into next/fixes-non-critical

The one fix didn't make the cut for 3.3, so we're putting it
into v3.4. Tony tells me "There are more patches needed to make
multiple smsc91x instances work, but we need to hear from people
with such boards first. Then those can be tagged for stable.",
so we don't mark this patch stable yet.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
e8a30b251bcf1999bea1726b3fc7ae186f551a6b 20-Mar-2012 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP2+: Remove __init from DSI mux functions

Commit d1589f0912533e6cb2ac8fd6f1feb3d5989fe8cb (ARM: OMAP2+: Mark
omap_hsmmc_init and omap_mux related functions as __init) changed DSI
muxing functions to __init. This doesn't work, as the muxing functions
are used every time a DSI display is enabled or disabled.

This patch removes the __inits from DSI mux functions that were
accidentally marked as __init, and makes omap4_hdmi_mux_pads __init
like it should be.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
[tony@atomide.com: update comments, mark omap4_hdmi_mux_pads __init]
Signed-off-by: Tony Lindgren <tony@atomide.com>
isplay.c
0f1142a514e101076bc01de2f93b242693d0f16f 17-Mar-2012 Felipe Balbi <balbi@ti.com> Input: omap4-keypad - move platform_data to <linux/platform_data>

This patch allows us to drop the OMAP dependency from the OMAP4 keypad
driver.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
oard-4430sdp.c
evices.c
065319c229c76ded943a8a7cf55e1e6e1e55ae69 15-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'board-specific' of git://github.com/hzhuang1/linux into next/boards

* 'board-specific' of git://github.com/hzhuang1/linux:
pxa/hx4700: Remove pcmcia platform_device structure
ARM: pxa/hx4700: Reduce sleep mode battery discharge by 35%
ARM: pxa/hx4700: Remove unwanted request for GPIO105

(update to 3.3-rc7)

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
f82989bde1cfa5e2b4614d8e4896d795dae418d9 15-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'fixes' of git://gitorious.org/linux-davinci/linux-davinci into next/fixes-non-critical

* 'fixes' of git://gitorious.org/linux-davinci/linux-davinci: (2 commits)
ARM: davinci: DA850: move da850_register_pm to .init.text
ARM: davinci: cpufreq: fix compiler warning

(update to v3.3-rc7)

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
f4e2467bad53023589cbff18dd1ab6e0aa3f004c 15-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'ep93xx-for-arm-soc' of git://github.com/RyanMallon/linux-2.6 into next/cleanup

* 'ep93xx-for-arm-soc' of git://github.com/RyanMallon/linux-2.6:
ep93xx: Remove unnecessary includes of ep93xx-regs.h
ep93xx: Move EP93XX_SYSCON defines to SoC private header
ep93xx: Move crunch code to mach-ep93xx directory
ep93xx: Make syscon access functions private to SoC
ep93xx: Configure GPIO ports in core code
ep93xx: Move peripheral defines to local SoC header
ep93xx: Convert the watchdog driver into a platform device.
ep93xx: Use ioremap for backlight driver
ep93xx: Move GPIO defines to gpio-ep93xx.h
ep93xx: Don't use system controller defines in audio drivers
ep93xx: Move PHYS_BASE defines to local SoC header file

(update to v3.3-rc7)

Conflicts:
arch/arm/mach-s3c2440/common.h
695d82fae9160406acb9de204c471248abcc2a9f 15-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge tag 'imx25-iomux-ds' of git://git.pengutronix.de/git/imx/linux-2.6 into next/fixes-non-critical

* tag 'imx25-iomux-ds' of git://git.pengutronix.de/git/imx/linux-2.6:
iomux-mx25.h slew rate adjusted for LCD __LD pins

(update to v3.3-rc6)

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6f6f6a70295c6a4f89c7aca015c5db247a79d609 10-Mar-2012 Rob Herring <rob.herring@calxeda.com> ARM: create a common IOMEM definition

Several platforms create IOMEM defines for casting to 'void __iomem *',
and other platforms are incorrectly using __io() macro for the same
purpose. This creates a common definition and removes all the platform
specific versions. Rather than try to make linux/io.h and asm/io.h
assembly safe, the assembly version of IOMEM is moved into
asm/assembler.h.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ryan Mallon <rmallon@gmail.com>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Haojian Zhuang <haojian.zhuang@marvell.com>
Acked-by: David Brown <davidb@codeaurora.org>
Cc: Daniel Walker <dwalker@fifo99.com>
Cc: Bryan Huntsman <bryanh@codeaurora.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Viresh Kumar <viresh.kumar@st.com>
Cc: Rajeev Kumar <rajeev-dlh.kumar@st.com>
Cc: Colin Cross <ccross@android.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Stephen Warren <swarren@nvidia.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
lock3xxx_data.c
lock44xx_data.c
omap.h
ae0b82504e515fdb9bc23c0b770d2b30efd49dc9 14-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/renesas into next/soc

* 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/renesas: (234 commits)
ARM: shmobile: remove additional __io() macro use
ARM: mach-shmobile: default to no earlytimer
ARM: mach-shmobile: r8a7779 and Marzen timer rework
ARM: mach-shmobile: r8a7740 and Bonito timer rework
ARM: mach-shmobile: sh73a0, AG5EVM and Kota2 timer rework
ARM: mach-shmobile: sh7372, AP4EVB and Mackerel timer rework
ARM: mach-shmobile: sh7377 and G4EVM timer rework
ARM: mach-shmobile: sh7367 and G3EVM timer rework
ARM: mach-shmobile: add shmobile_earlytimer_init()
ARM: mach-shmobile: Move sh7372 AP4EVB external clk setup
ARM: mach-shmobile: Move sh7372 Mackerel external clk setup
ARM: mach-shmobile: rename clk_init() to shmobile_clk_init()
ARM: mach-shmobile: r8a7779 L2 cache support
ARM: mach-shmobile: r8a7779 map_io and init_early update
ARM: mach-shmobile: r8a7740 map_io and init_early update
ARM: mach-shmobile: sh73a0 map_io and init_early update
ARM: mach-shmobile: sh7372 map_io and init_early update
ARM: mach-shmobile: sh7377 map_io and init_early update
ARM: mach-shmobile: sh7367 map_io and init_early update
sh: remove clk_ops
...

(includes an update to v3.3-rc7)

Conflicts:
arch/arm/mach-omap2/id.c
e3643b77de143c5548ec93abd8aa68f4123295ea 14-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'next/cleanup-exynos-clock' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup

* 'next/cleanup-exynos-clock' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: EXYNOS: Add clock register addresses for EXYNOS4X12 bus devfreq driver
ARM: EXYNOS: add clock registers for exynos4x12-cpufreq
PM / devfreq: update the name of EXYNOS clock registers that were omitted
PM / devfreq: update the name of EXYNOS clock register
ARM: EXYNOS: change the prefix S5P_ to EXYNOS4_ for clock
ARM: EXYNOS: use static declaration on regarding clock
ARM: EXYNOS: replace clock.c for other new EXYNOS SoCs
(includes an update to v3.3-rc6)
5353ec2cd13deb4f70aef1dcd296cadaac3f780b 13-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'fix-smsc911x-regulator' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

From Tony Lindgren:

"Here's one more kernel panic fix that I dropped from last weeks
fixes as it was still being discussed.

This is a fix for the regression caused by fixing an earlier
regression for smsc911x fixed regulators :(

Turns out that we have more than one smsc911x on some boards,
and the earlier fix causes a kernel panic for board trying to
register second smsc911x instance, even if the second smsc911x
is on an add-on board that is not connected.

Note that the boards with second smsc911x will also need to be
patched later on to provide their own regulators."

* 'fix-smsc911x-regulator' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance
a45c983f85328be9d0540a6b8250609dbf16872c 10-Jan-2012 Marc Zyngier <marc.zyngier@arm.com> ARM: OMAP4: convert to twd_local_timer_register() interface

Add support for the new smp_twd runtime registration interface
to the OMAP4 platforms, and remove the old compile-time support.
Tested on Panda.

Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
akefile
imer-mpu.c
imer.c
3ead4679e579560f4b5370e4a2f4c00ae4f1988b 09-Mar-2012 Peter Ujfalusi <peter.ujfalusi@ti.com> ARM: OMAP: Remove CONFIG_OMAP_MCBSP references

The McBSP driver stack has been moved to ASoC. The CONFIG_OMAP_MCBSP will
be removed since the CONFIG_SND_OMAP_SOC_MCBSP will trigger to build the
McBSP (audio) drivers.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>
akefile
40c0764b18342f2e99e92779330cb4612a971420 08-Mar-2012 Peter Ujfalusi <peter.ujfalusi@ti.com> ARM: OMAP2+: McBSP: Correct CLKR/FSR clock source mux configuration

On OMAP2/3 McBSP1 port has 6 pin setup, while on OMAP4 the port is McBSP4.
Implement the CLKR/FSR clock mux selection for OMAP4, and make sure that
we add the correct callback for the correct port across supported OMAP
versions.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>
cbsp.c
20456242e8d13287b476264223caef7f1193741a 14-Feb-2012 Peter Ujfalusi <peter.ujfalusi@ti.com> ARM: OMAP: Do not register omap-mcbsp-dai device

The driver for omap-mcbsp-dai no longer exist since it has been merged with
the omap-mcbsp driver.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>
evices.c
45656b44f6d1968d838f3abcf3a264ee9fa2fc62 14-Feb-2012 Peter Ujfalusi <peter.ujfalusi@ti.com> ASoC: omap-mcbsp: Create a single driver for McBSP

The OMAP McBSP driver stack used to contain two different
drivers. One of them was used as kind low-level access to
the IP, while the other driver was the ASoC DAI driver.
There were global, shared structures, in different places,
the McBSP instances are reffered with id numbers (sometimes
0 based, in other cases 1 based id numbers).

Create one single driver for OMAP McBSP with name: omap-mcbsp.
Convert the old omap-mcbsp driver initially to be a library
for the omap-mcbsp DAI driver. With this change we can get rid
of all global variables, structures.

Further cleanup is coming...

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>
cbsp.c
0210dc4eafcfd1b38ac178ebf63627f359d6371d 25-Jan-2012 Peter Ujfalusi <peter.ujfalusi@ti.com> ARM: OMAP: mcbsp: Convert core driver to proper platform driver

Convert the plat-omap/mcbsp.c driver to be proper platform driver.
Remove the omap_mcbsp_init function call which was called from
mach-omap1/2/mcbsp.c to register the platform driver for the just
created platform device in the same function.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>
cbsp.c
0324e02a077de6bffff566fa43fd7b46f4b3ebd8 17-Feb-2012 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP4: panda: Correct cpu version check for 4430

The cpu_is_omap4430() macro always return with 0. Use the correct
cpu_is_omap443x() to check for Panda revision.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>
oard-omap4panda.c
553e322282655f213d131903ce7019aa25880273 12-Mar-2012 Tero Kristo <t-kristo@ti.com> ARM: OMAP4: prm: fix interrupt register offsets

Previous code used wrong instance for the interrupt register access.
Use the right one which is OCP_SOCKET.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rm44xx.c
387ca5bf4fe2297c93869b6f639afa8d849fb877 12-Mar-2012 Rajendra Nayak <rnayak@ti.com> ARM: OMAP: hwmod: Use sysc_fields->srst_shift and get rid of hardcoded SYSC_TYPE2_SOFTRESET_MASK

This is useful when we have broken type2 compliant IPs' where
the softreset shift is not the same as SYSC_TYPE2_SOFTRESET_SHIFT
and hence is overridden using sysc_fields->srst_shift.

We have at least one such instance now with onchip keypad on OMAP5
which has a different softreset shift as compared to other type2
IPs'.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Balaji TK <balajitk@ti.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Acked-by: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
c15a04338b5a6d4305d107a5b6c0cd43418b7f3e 11-Mar-2012 Kukjin Kim <kgene.kim@samsung.com> Merge branch 'next/cleanup-use-static' into next/cleanup-exynos-clock
c454f813501b94cd687bf3c5c0783f815a854905 10-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'board' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/boards

* 'board' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP: add minimal support for Nokia RM-696
ARM: OMAP: enable Bluetooth on the PandaBoard
ARM: OMAP: pandora: add support for backlight and poweroff
ARM: OMAP4: board-4430sdp: don't initialize value that is never used
ARM: OMAP3: cm-t3517: add EMAC support
ARM: OMAP: move generic EMAC init to separate file
ARM: OMAP3: RX-51: add explicit mux configuration of tsc2005 control gpios
ARM: OMAP: Add omap_reserve functionality

(includes sync-up to 3.3-rc6)
04cc7bc61c666eb090b51dc5d058b209d01d03be 10-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'sr' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers

* 'sr' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP3+: SmartReflex: fix error handling
ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API
ARM: OMAP3+: SmartReflex: micro-optimization for sanity check
ARM: OMAP3+: SmartReflex: misc cleanups
ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument
ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata()
ARM: OMAP3+: hwmod: add SmartReflex IRQs
ARM: OMAP3+: SmartReflex: clear ERRCONFIG_VPBOUNDINTST only on a need
ARM: OMAP3+: SmartReflex: Fix status masking in ERRCONFIG register
ARM: OMAP3+: SmartReflex: Add a shutdown hook
ARM: OMAP3+: SmartReflex Class3: disable errorgen before disable VP
ARM: OMAP3+: SmartReflex: fix err interrupt disable sequence
ARM: OMAP3+: SmartReflex: use voltage domain name in device attributes
ARM: OMAP2+: Fix devexit for smartreflex when CONFIG_HOTPLUG is not set
ARM: OMAP2+: Fix zoom LCD backlight if TWL_CORE is not selected
ARM: OMAP2+: Fix board_mux section type conflict when OMAP_MUX is not set
ARM: OMAP2+: Fix OMAP_HDQ_BASE build error
ARM: OMAP2+: Fix Kconfig dependencies for USB_ARCH_HAS_EHCI
ARM: OMAP2+: I2C: always compile I2C reset code, even if I2C driver is not built
cdc3df6f44f72c5924a16a47e1663c3fb0e57820 10-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'dt-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

* 'dt-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
arm/dts: mt_ventoux: very basic support for TeeJet Mt.Ventoux board
ARM: OMAP2+: Remove extra ifdefs for board-generic
ARM: OMAP2+: Fix build error when only ARCH_OMAP2/3 or 4 is selected
ARM: OMAP2+: board-generic: Use of_irq_init API
arm/dts: OMAP3: Add interrupt-controller bindings for INTC
ARM: OMAP2/3: intc: Add DT support for TI interrupt controller
86ca5b6fef2bf1aa77a62f29d844400e4fed8dde 10-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'uart' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

* 'uart' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: remove some orphan function declarations.
ARM: OMAP2+: UART: remove unused fields in omap_uart_state.
e65bc8918f75620f1668d321b048bfa336ccc0fa 10-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'cleanup-pm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

* 'cleanup-pm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: PM: share some suspend-related functions across OMAP2, 3, 4
ARM: OMAP2+: omap_device: call all suspend, resume callbacks when OMAP_DEVICE_NO_IDLE_ON_SUSPEND is set
ARM: OMAP: omap_device: remove omap_device_parent
ARM: OMAP2+: PM debug: fix the use of debugfs_create_* API
ARM: OMAP2+: PM: share clkdms_setup() across OMAP2, 3, 4
ARM: OMAP2+: PM: clean up omap_set_pwrdm_state()
ARM: OMAP3: PM: remove superfluous calls to pwrdm_clear_all_prev_pwrst()
ARM: OMAP: convert omap_device_build() and callers to __init
ARM: OMAP2+: Mark omap_hsmmc_init and omap_mux related functions as __init
ARM: OMAP2+: Split omap2_hsmmc_init() to properly support I2C GPIO pins
ARM: OMAP: omap_device: Expose omap_device_{alloc, delete, register}
ARM: OMAP: Fix build error when mmc_omap is built as module
ARM: OMAP: Fix kernel panic with HSMMC when twl4030_gpio is a module
74c46469a5f70a29ac961cfaa90a0422f1d09230 10-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'fixes-non-critical-part3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical

* 'fixes-non-critical-part3' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Fix build for omap4 only builds with missing include of linux/bug.h
ARM: OMAP2+: Fix section warnings for hsmmc_init_one
0cacaf51a0b3092fc84e5c8d483721baee67b60f 09-Mar-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'iommu-fixes-v3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

Pull two IOMMU fixes from Joerg Roedel:
"The first is an additional fix for the OMAP initialization order issue
and the second patch fixes a possible section mismatch which can lead
to a kernel crash in the AMD IOMMU driver when suspend/resume is used
and the compiler has not inlined the iommu_set_device_table function."

* tag 'iommu-fixes-v3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
x86/amd: iommu_set_device_table() must not be __init
ARM: OMAP: fix iommu, not mailbox
c66fcfa938d84d4661c77e9fe85312dece0133e8 08-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Fix module build errors with CONFIG_OMAP4_ERRATA_I688
ARM: OMAP: id: Add missing break statement in omap3xxx_check_revision
ARM: OMAP2+: Remove apply_uV constraints for fixed regulator
ARM: OMAP: irqs: Fix NR_IRQS value to handle PRCM interrupts
4647ca5761f5534470e98d06494403a2fd0d7b32 08-Mar-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix build for omap4 only builds with missing include of linux/bug.h

Found few more with randconfig generated .configs:

In file included from arch/arm/mach-omap2/prm-regbits-34xx.h:17,
from arch/arm/mach-omap2/vc.c:18:
arch/arm/mach-omap2/prm2xxx_3xxx.h: In function ‘omap2_prm_read_mod_reg’:
arch/arm/mach-omap2/prm2xxx_3xxx.h:239: error: implicit declaration of function ‘WARN’

In file included from arch/arm/mach-omap2/powerdomain44xx.c:22:
arch/arm/mach-omap2/prm2xxx_3xxx.h: In function ‘omap2_prm_read_mod_reg’:
arch/arm/mach-omap2/prm2xxx_3xxx.h:239: error: implicit declaration of function ‘WARN’

This is because omap2_prm functions are currently just stubs for
omap4 only builds.

Signed-off-by: Tony Lindgren <tony@atomide.com>
owerdomain44xx.c
c.c
990b07d952bff7116ba79e3c4ceeae5dd8d5ec3d 08-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'regulator' of git://github.com/hzhuang1/linux into next/drivers

* 'regulator' of git://github.com/hzhuang1/linux: (2 commits)
regulator: Remove bq24022 regulator driver
pxa: magician/hx4700: Convert to gpio-regulator from bq24022

(plus update to v3.3-rc6)
a58f67e70a6cad021ceebd1c8919b898dd5d5de3 08-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'dt' of git://github.com/hzhuang1/linux into next/dt

* 'dt' of git://github.com/hzhuang1/linux: (6 commits)
Document: devicetree: add OF documents for arch-mmp
ARM: dts: append DTS file of pxa168
ARM: mmp: append OF support on pxa168
ARM: mmp: enable rtc clk in pxa168
i2c: pxa: add OF support
serial: pxa: add OF support

(plus update to v3.3-rc6)
acf346084bca289a00020a5c29c23673b801b380 08-Mar-2012 Olof Johansson <olof@lixom.net> Merge tag 'imx35-imx5-aips-setup' of git://git.pengutronix.de/git/imx/linux-2.6 into next/soc

i.MX35/5 AIPS setup

Includes sync up to 3.3-rc6

* tag 'imx35-imx5-aips-setup' of git://git.pengutronix.de/git/imx/linux-2.6:
ARM: mx35: Setup the AIPS registers
ARM: mx5: Use common function for configuring AIPS
6028505c29dc89a3140df64a53d0d12038a87fed 08-Mar-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix section warnings for hsmmc_init_one

Otherwise we can get the following error depending on
the compiler:

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xafe0):
Section mismatch in reference from the function omap_hsmmc_init_one()
to the function .init.text:omap_hsmmc_pdata_init()
The function omap_hsmmc_init_one() references
the function __init omap_hsmmc_pdata_init().
This is often because omap_hsmmc_init_one lacks a __init
annotation or the annotation of omap_hsmmc_pdata_init is wrong.

Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
d9a5f4dd437ceb007e1f118e90ba5587a5e04d20 08-Mar-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix build issues with missing include of linux/bug.h

Otherwise we can get the following if bug.h is not included from kernel.h:

arch/arm/mach-omap2/powerdomain-common.c:
In function 'omap2_pwrdm_get_mem_bank_onstate_mask':
arch/arm/mach-omap2/powerdomain-common.c:64:3: error:
implicit declaration of function 'WARN_ON' [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
lkt_clksel.c
owerdomain-common.c
owerdomain2xxx_3xxx.c
owerdomains3xxx_data.c
269f6a93f6851b68848e67816a14a2ebf8a48c6b 08-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'fixes-non-critical-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical

* 'fixes-non-critical-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP3+: PM: VP: fix integer truncation error
ARM: OMAP2+: PM: fix wakeupgen warning when hotplug disabled
ARM: OMAP2+: PM: fix section mismatch with omap2_init_processor_devices()
ARM: OMAP2: Fix section warning for n8x0 when CONFIG_MMC_OMAP is not set
ARM: OMAP2+: Fix omap24xx_io_desc warning if SoC subtypes are not selected
ARM: OMAP1: Fix section mismatch for omap1_init_early()
ARM: OMAP1: Fix typo in lcd_dma.c
ARM: OMAP: mailbox: trivial whitespace fix
ARM: OMAP: Remove definition cpu_is_omap4430()
ARM: OMAP2+: included some headers twice
ARM: OMAP: clock.c: included linux/debugfs.h twice
ARM: OMAP: don't build hwspinlock in vain
ARM: OMAP2+: ads7846_init: put gpio_pendown into pdata if it's provided
ARM: omap: pandora: fix usbhs platform data
ARM: OMAP: sram: Add am33xx SRAM support (minimal)
ARM: OMAP2+: id: Add am33xx SoC type detection
ARM: OMAP2+: GPMC: Export gpmc_enable_hwecc and gpmc_calculate_ecc
ARM: OMAP: dmtimer: fix missing content/correction in low-power mode support
4d02be5a6550ebf09936802c2cb8d359ce1ab29c 07-Mar-2012 Olof Johansson <olof@lixom.net> Merge branch 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

* 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Fix build error after merge
2b43e4e5863fb41d85c3a6583fdeea2ebf3d2b50 03-Mar-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix build error after merge

Commit 9890ce44 (ARM: get rid of asm/irq.h in asm/prom.h)
removed include of asm/irq.h in asm/prom.h. This commit
together with recent omap cleanup to remove io.h causes
build breakage:

arrch/arm/mach-omap2/control.c: In function 'omap3_ctrl_write_boot_mode':
arch/arm/mach-omap2/control.c:238: error:
'OMAP343X_CTRL_BASE' undeclared (first use in this function)
...

Fix this by including hardware.h directly where needed
instead of relying on asm/irq.h in asm/prom.h.

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m2xxx_3xxx.c
ommon.c
ontrol.c
drc2xxx.c
4d5fc58dbe34b78157c05b319669bb3e064ba8bd 10-Feb-2012 Rob Herring <rob.herring@calxeda.com> ARM: remove bunch of now unused mach/io.h files

Now that many platforms don't need mach/io.h, remove the unused ones.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Acked-by: Pawel Moll <pawel.moll@arm.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
nclude/mach/io.h
bb60424af517d6e6148505fb5ef256caa91b5b43 01-Mar-2012 Kevin Hilman <khilman@ti.com> ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instance

commit e4b0b2cbbb (ARM: OMAP2+: gpmc-smsc911x: add required smsc911x
regulators) added regulators which are registered during
gpmc_smsc911x_init(). However, some platforms (OMAP3/Overo) have more
than one instance of the SMSC911x and result in attempting to register
the same regulator more than once which causes a panic().

Fix this by only registering the regulator when the platform_data id
field is zero, indicating its the first instance.

Cc: Matt Porter <mporter@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-smsc911x.c
3223d007a3f9ddbd68424adf628e740dd87c564f 06-Mar-2012 Yuan Jiangli <jlyuan@motorola.com> ARM: OMAP3+: PM: VP: fix integer truncation error

commit 2f34ce81b8c05c900e45bd88595cc154f7bb5957
(OMAP3: PM: Adding voltage driver support.)
introduced runtime computation of waittime to handle all potential
sys clocks available.

In the voltage processor, the SPMSUpdateWait is calculated based on
the slew rate and the voltage step (SMPSUpdateWait = slew rate *
Voltage Step). After the voltage processor receives the SMPS_Ack
signal, the Voltage Controller will wait for SMPSUpdateWait clock
cycles for the voltage to settle to the new value. For all
practical purposes, the waittime parameter is the OMAP hardware
translation of what the slew rate on the PMIC is.

As an example, with TPS62361 on OMAP4460,
step_size = 10000
slew_rate = 32000
sys_clk_rate = 38400

Our current computation results in the following:
= ((step_size / slew_rate) * sys_clk_rate) / 1000
= ((10000 / 32000) * 38400 / 1000
= 0

Fix the same using DIV_ROUND_UP as an extra wait clock cycle
is better than lesser clock cycle. For the above example, this
translates to:
= (10000 * 38400) / (1000 * 32000)
= 12

Acked-by: Jon Hunter <jon-hunter@ti.com>
[nm@ti.com: slightly better implementation]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Yuan Jiangli <jlyuan@motorola.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
p.c
bb1dbe7cfd62e35f6f25e94729458b9047e3f555 06-Mar-2012 Kevin Hilman <khilman@ti.com> ARM: OMAP2+: PM: fix wakeupgen warning when hotplug disabled

When CONFIG_HOTPLUG_CPU=n, there are unused functions in wakeupgen:

arch/arm/mach-omap2/omap-wakeupgen.c:181: warning: 'wakeupgen_irqmask_all' defined but not used

Fix this by moving all the functions only used when CONFIG_HOTPLUG_CPU=y
together and wrapping in an #ifdef.

No functional changes.

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map-wakeupgen.c
1f3b372b3c1018fad960015cbfdf8de9251d14db 06-Mar-2012 Kevin Hilman <khilman@ti.com> ARM: OMAP2+: PM: fix section mismatch with omap2_init_processor_devices()

Fix the below warning by making omap2_init_processor_devices() __init.
It is called by an __init function and calls only __init functions, so
it should also be init.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0x183c): Section mismatch in reference from the function omap2_init_processor_devices() to the function .init.text:_init_omap_device()
The function omap2_init_processor_devices() references
the function __init _init_omap_device().
This is often because omap2_init_processor_devices lacks a __init
annotation or the annotation of _init_omap_device is wrong.

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m.c
49b87c6db100cf9802be22a1b83a72cbcadaa76c 06-Mar-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Fix section warning for n8x0 when CONFIG_MMC_OMAP is not set

Otherwise we get:

arch/arm/mach-omap2/board-n8x0.c:39:12: warning:
'slot1_cover_open' defined but not used [-Wunused-variable]
arch/arm/mach-omap2/board-n8x0.c:40:12: warning:
'slot2_cover_open' defined but not used [-Wunused-variable]
arch/arm/mach-omap2/board-n8x0.c:41:23: warning:
'mmc_device' defined but not used [-Wunused-variable]

Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
e48f814e6366d36a0495f6aa2838a064304f6406 06-Mar-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix omap24xx_io_desc warning if SoC subtypes are not selected

Otherwise we get the following warning:

arch/arm/mach-omap2/io.c:53:24: warning:
'omap24xx_io_desc' defined but not used [-Wunused-variable]

Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
0ba86d7edea1f9f2d9497c31200910263e8b4128 06-Mar-2012 Tomi Valkeinen <tomi.valkeinen@ti.com> Merge commit 'v3.3-rc6'

Merge v3.3-rc6 to get the latest DSS and OMAP arch fixes.

Conflicts:
arch/arm/mach-omap1/board-innovator.c
drivers/video/omap2/dss/apply.c
31fc80a7a1c1df28ffb73a73b1e2c7f9d664435e 06-Mar-2012 Danny Kukawka <danny.kukawka@bisect.de> ARM: OMAP2+: included some headers twice

arch/arm/mach-omap2/: included some headers tiwce:
- arch/arm/mach-omap2/board-ldp.c: 'linux/gpio.h'
- arch/arm/mach-omap2/io.c: 'common.h'
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c: 'plat/i2c.h'

Remove the duplicates.

Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-ldp.c
o.c
map_hwmod_44xx_data.c
be89cd9db41d7e39e8bebc71aee86938ee675f9c 06-Mar-2012 Ohad Ben-Cohen <ohad@wizery.com> ARM: OMAP: don't build hwspinlock in vain

Cleanup: don't build mach-omap2/hwspinlock.c if the OMAP hwspinlock
driver isn't configured.

This will both shorten build time and avoid registering a device
which isn't needed.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
7db74d5e327197289f2eb83c13f8d1b565a21467 06-Mar-2012 Ilya Yanok <yanok@emcraft.com> ARM: OMAP2+: ads7846_init: put gpio_pendown into pdata if it's provided

If platform data is provided by the caller gpio_pendown is put into
unused static ads7846_config structure and effectively has no effect.
Of course caller can set gpio_pendown field in platform data himself
but it seems natural to do this in ads7846_init to remove duplication.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ommon-board-devices.c
17e22caccfcefc3f45ab5eaafe7279ada3b3fbd6 06-Mar-2012 Grazvydas Ignotas <notasas@gmail.com> ARM: omap: pandora: fix usbhs platform data

It turned out wrong OMAP HSUSB port was configured on pandora,
but still managed to work somehow. This was noticed after enabling
in-kernel mux, where USB muxing was causing other devices not to work,
because hsusb1 pins (instead of hsusb2) were wrongly remuxed, which
are used for other things on pandora.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
fb3cfb1ff9745e0c3aab92cc141c1b353839b0ab 06-Mar-2012 Afzal Mohammed <afzal@ti.com> ARM: OMAP2+: id: Add am33xx SoC type detection

Determine SoC type, i.e. whether GP or HS

Note: cpu_is_34xx() is true for am33xx also. Doing
cpu_is_am33xx() check after cpu_is_34xx() will not
achieve what we want due to the above reason.
Hence cpu_is_am33xx() is done before cpu_is_34xx()

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ontrol.h
d.c
f611b020e74a41fb6460a5d5ca085d0c361b8b2f 06-Mar-2012 Bernhard Walle <walle@corscience.de> ARM: OMAP2+: GPMC: Export gpmc_enable_hwecc and gpmc_calculate_ecc

To be able to compile kernel/drivers/mtd/nand/omap2.ko as module, that
two symbols need to be exported. Otherwise, I get following error
message

ERROR: "gpmc_calculate_ecc" [drivers/mtd/nand/omap2.ko] undefined!
ERROR: "gpmc_enable_hwecc" [drivers/mtd/nand/omap2.ko] undefined!

Signed-off-by: Bernhard Walle <walle@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
f558b275439a9d14a1e2a754484f81ecebf56764 06-Mar-2012 Tony Lindgren <tony@atomide.com> Revert "ARM: OMAP2+: Fix multiple randconfig errors with SOC_OMAP and SOC_OMAP_NOOP"

This reverts commit c295fb633e321a7df3b8846c4eaddc5da3e0aaed.

This makes existing .config files bloated by selecting in all
omaps as noted by Russell King - ARM Linux <linux@arm.linux.org.uk>.

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
1416408d31236dc2a80d269aa23ffa93aa01e833 02-Feb-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP2+: PM: share some suspend-related functions across OMAP2, 3, 4

The platform_suspend_ops can be shared across OMAP2, 3, and 4, along
with all of the functions referenced in that structure. This patch
shares them. It also removes the suspend_state file-scoped variable
in the OMAP2 and 3 PM code; it does not appear to be actually needed
by anything.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
[khilman@ti.com: minor rework needed due to rebase/merge with conflicting changes]
Signed-off-by: Kevin Hilman <khilman@ti.com>
m.c
m.h
m24xx.c
m34xx.c
m44xx.c
401606fd708885d28ce3c14a2a8fe612f8a6b50f 01-Feb-2012 Jean Pihet <jean.pihet@newoldbits.com> ARM: OMAP2+: PM debug: fix the use of debugfs_create_* API

Check the return code pointer value from debugfs_create_dir for error
or NULL.
Also added an additional check to prevent the creation of a 'suspend'
entry at the debugfs root in case a power domain directory cannot be
created.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m-debug.c
92206fd292da7632c039f6c4054bdaac08b030c0 02-Feb-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP2+: PM: share clkdms_setup() across OMAP2, 3, 4

clkdms_setup() is identical across OMAP2, 3, and 4, so share it.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m.c
m.h
m24xx.c
m34xx.c
m44xx.c
e68e8093ed570f9272665112d13d4c5811536680 30-Jan-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP2+: PM: clean up omap_set_pwrdm_state()

Clean up a few different parts of omap_set_pwrdm_state():

- Remove a superfluous call to pwrdm_state_switch(). Not needed
unless LOWPOWERSTATECHANGE is used, because the state switch code is
called by either clkdm_sleep() or clkdm_allow_idle().

- Add code to wait for the power state transition in the OMAP4+ low
power state change. This is speculative, so I would particularly
appreciate feedback on this part.

- Remove a superfluous call to pwrdm_read_pwrst().

- Update variable names to be more meaningful (hopefully) and precise.

- Fix an error path bug that would not place the clockdomain back into
hardware-supervised idle or sleep mode if the power state could not
be programmed.

The documentation for this function still needs major improvements;
that's left for a later patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Tested-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m.c
506c7d7931317813b3142f57d44bf113102a2a8f 30-Jan-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP3: PM: remove superfluous calls to pwrdm_clear_all_prev_pwrst()

Remove some superfluous calls to pwrdm_clear_all_prev_pwrst().
pwrdm_pre_transition(), which appears a few lines after these calls,
invokes pwrdm_clear_all_prev_pwrst() on each powerdomain -- there's no
need to do it twice.

N.B.: some of us have observed that accesses to the previous
powerstate registers seem to be quite slow. Although the writes
removed by this patch should be buffered by the write buffer, there is
a read to a PRM register immediately afterwards. That will block the
OMAP3 MPU until all of those writes complete. So this patch should
result in a minor performance improvement during idle entry.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Tero Kristo <t-kristo@ti.com>
[khilman@ti.com: removed a couple more for OMAP4]
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map-mpuss-lowpower.c
m34xx.c
015f1e4297ad32f83251f3f4cee2389ce5516e9e 06-Mar-2012 Kevin Hilman <khilman@ti.com> Merge remote-tracking branch 'omap/hsmmc' into for_3.4/cleanup/pm-base
cc4ad9072cce2bf0eeae1fb197e42612fbac1f15 02-Mar-2012 R Sricharan <r.sricharan@ti.com> ARM: OMAP2+: Fix module build errors with CONFIG_OMAP4_ERRATA_I688

While building modules with randconfig the below errors are observed.

ERROR: "omap_bus_sync" [drivers/watchdog/sp805_wdt.ko] undefined!
ERROR: "omap_bus_sync" [drivers/watchdog/dw_wdt.ko] undefined!
ERROR: "omap_bus_sync" [drivers/virtio/virtio_ring.ko] undefined!
ERROR: "omap_bus_sync" [drivers/video/sm501fb.ko] undefined!
ERROR: "omap_bus_sync" [drivers/usb/mon/usbmon.ko] undefined!
ERROR: "omap_bus_sync" [drivers/usb/host/sl811-hcd.ko] undefined!
ERROR: "omap_bus_sync" [drivers/usb/host/ohci-hcd.ko] undefined!
ERROR: "omap_bus_sync" [drivers/usb/host/isp1760.ko] undefined!
ERROR: "omap_bus_sync" [drivers/usb/host/isp1362-hcd.ko] undefined!
ERROR: "omap_bus_sync" [drivers/usb/host/isp116x-hcd.ko] undefined!
ERROR: "omap_bus_sync" [drivers/usb/core/usbcore.ko] undefined!
ERROR: "omap_bus_sync" [drivers/tty/serial/altera_uart.ko] undefined!
ERROR: "omap_bus_sync" [drivers/tty/serial/altera_jtaguart.ko] undefined!
ERROR: "omap_bus_sync" [drivers/tty/serial/8250/8250_dw.ko] undefined!
ERROR: "omap_bus_sync" [drivers/ssb/ssb.ko] undefined!
ERROR: "omap_bus_sync" [drivers/rtc/rtc-cmos.ko] undefined!
ERROR: "omap_bus_sync" [drivers/rtc/rtc-bq4802.ko] undefined!
ERROR: "omap_bus_sync" [drivers/mtd/nand/tmio_nand.ko] undefined!
ERROR: "omap_bus_sync" [drivers/mtd/nand/omap2.ko] undefined!

Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map4-common.c
6510e13ee28eaac27b219e9be15edb15a674a580 05-Mar-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Remove extra ifdefs for board-generic

We need just one ifdef for each ARCH_OMAP2/3/4.

Also remove the comment about i2c & twl driver as it's
pretty obvious that we still need some platform data
until drivers are converted to device tree.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-generic.c
75a57fe9cb77e3d3062127cb72d18314f00674d1 05-Mar-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix build error when only ARCH_OMAP2/3 or 4 is selected

Otherwise we'll get undefined reference to `gic_of_init' or
undefined reference to `omap_intc_of_init'.

This was caused by commit fbf75da733e82bb17a01e1b907b0e40d9c028823
(ARM: OMAP2+: board-generic: Use of_irq_init API).

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-generic.c
63371faf9198302c7ebd41e7fbe78eb6b57bba86 29-Feb-2012 Jean Pihet <jean.pihet@newoldbits.com> ARM: OMAP3+: SmartReflex: fix error handling

Fix the code to correctly use IS_ERR and PTR_ERR on the return
values pointers

Reported-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
54b28cdfcd8ffc491733f97378ba5816385803fc 29-Feb-2012 Jean Pihet <jean.pihet@newoldbits.com> ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API

The debugfs_create_* API returns a return code or NULL
in the return ptr in case of problem.
Fix the smartreflex code to take this into account.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
d617369219f136dc6e7923f573d826c7afb4b269 29-Feb-2012 Felipe Balbi <balbi@ti.com> ARM: OMAP3+: SmartReflex: micro-optimization for sanity check

val && (val != 1) == val > 1

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
4018bfebc6e704838f1a9f1d96110d9bd68ae0f9 29-Feb-2012 Felipe Balbi <balbi@ti.com> ARM: OMAP3+: SmartReflex: misc cleanups

There are no functional changes here, only misc cleanups in general:
- re-organize variable declarations,
- converting if {} else if {} else {} into switch statements,
- correct comments typos,
- add/remove white lines to improve readability,
- etc.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
1a21a680f1679c9648821f052abb5e77ad0f48af 29-Feb-2012 Felipe Balbi <balbi@ti.com> ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument

no functional changes, trivial patch.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
1079a8b2907007ca6d11081fc403fc198ac503c4 29-Feb-2012 Felipe Balbi <balbi@ti.com> ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata()

That's very useful to fetch the correct struct sr_info
from the PM handlers.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
d62bc78a65ed68ed05043d8e499672e2be7bb259 29-Feb-2012 Nishanth Menon <nm@ti.com> ARM: OMAP3+: hwmod: add SmartReflex IRQs

Add OMAP3 SmartReflex IRQs in hwmod structures. Without these IRQs
being registered the SmartReflex driver will be unable to get the
IRQ numbers to handle notifications.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map_hwmod_3xxx_data.c
cfec9c54f99ce6aa3e31c39ef6df749550ab49c1 29-Feb-2012 Nishanth Menon <nm@ti.com> ARM: OMAP3+: SmartReflex: clear ERRCONFIG_VPBOUNDINTST only on a need

The VPBOUNDINTST field of the ERRCONFIG register has an additional
functional meaning of force clearing the SR internal signal with VP
(sr_interruptz).
This can result in scenarios where the VP->SR protocol is violated
because the SR internal signal with VP is already high and VP will
never clear the vpirqclr signal.
Therefore during the next force update to reset to nominal voltage,
VP cannot pulse vpirqclr, so the PRCM HW cannot generate the tranxdone
IRQ and the situation is not recoverable until a cold reset is invoked.

To prevent this situation, check if status is set before clearing it
as this needs to be done only on a need basis.

Reported-by: Vincent Bour <v-bour@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
ade6ec056fd4acdf4826178eeb305ed263844532 29-Feb-2012 Nishanth Menon <nm@ti.com> ARM: OMAP3+: SmartReflex: Fix status masking in ERRCONFIG register

ERRCONFIG register has status bits that were intended not to
be destroyed by bad modification. We cleanup and simplify the
handling the status in the modify path.

Reported-by: Vincent Bour <v-bour@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
1f55bc1852e42f0d06d9eb66b3d3c15b01b62abe 01-Mar-2012 Nishanth Menon <nm@ti.com> ARM: OMAP3+: SmartReflex: Add a shutdown hook

SmartReflex fix for erratum ID i724.

Since OMAP's VP and PRM modules do not get reset by warm reset,
we should ensure that proper shutdown procedure is followed prior
to allowing the kernel to reboot back up.

Without this, Smartreflex module might be left active or
system might be caught in an indeterminate sequence when
software controlled reboot is triggered, leaving the next
reboot behavior to be unpredictable.

In the case of hardware controlled warm reset such as that
by watchdog timer, prevention of this scenario is not possible.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
ad54c3ddb472410f05083dbcf03fcec67ab7b2a5 29-Feb-2012 Nishanth Menon <nm@ti.com> ARM: OMAP3+: SmartReflex Class3: disable errorgen before disable VP

SmartReflex AVS Errorgen module supplies signals to Voltage
Processor. It is suggested that by disabling Errorgen module
before we disable VP, we might be able to ensure lesser
chances of race condition to occur in the system.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex-class3.c
martreflex.c
martreflex.h
74754cc5e047184588f35b3f9689a9c3e0599483 29-Feb-2012 Nishanth Menon <nm@ti.com> ARM: OMAP3+: SmartReflex: fix err interrupt disable sequence

sr_modify_mask takes mask, value as parameters, the usage
currently is value, mask which is wrong, as a result
vpboundint_st which was supposed to have been disabled,
does not get disabled.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
cea6b942124683305280962969599fed36f0ea7e 29-Feb-2012 Shweta Gulati <shweta.gulati@ti.com> ARM: OMAP3+: SmartReflex: use voltage domain name in device attributes

To set sr ntarget values for all volt_domain,
volt_table is retrieved by doing a look_up of 'vdd_name'
field from omap_hwmod but voltage domain pointer does not
belong to omap_hwmod and is not used anywhere else.
As a part of voltage layer and SR Layer clean up volt
pointer is removed from omap_hwmod and added in dev
attributes of SR. The value of the field must match
the voltage domain names for the binding to be effective.

Tested on OMAP3630 SDP, OMAP3530 Beagleboard and
OMAP4430 SDP Board.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
Acked by: Nishanth Menon <nm@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
martreflex.h
r_device.c
63fc5f3bb3d0ca9ab4767a801b518aa6335f87ad 05-Mar-2012 Aaro Koskinen <aaro.koskinen@nokia.com> ARM: OMAP: add minimal support for Nokia RM-696

Add minimal support for Nokia RM-696 board.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-rm680.c
65f19159ddc4ed902a6cc37b49f02f37e22ef5be 05-Mar-2012 Mircea Gherzan <mgherzan@gmail.com> ARM: OMAP: enable Bluetooth on the PandaBoard

The PandaBoard features a Texas Instruments WiLink7 Bluetooth
chip, supported by the "btwilink" driver.

Signed-off-by: Mircea Gherzan <mgherzan@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
7846e169e60206a1912c74b074f9c47d75baa847 05-Mar-2012 Grazvydas Ignotas <notasas@gmail.com> ARM: OMAP: pandora: add support for backlight and poweroff

Add platform data for drivers that recently appeared in kernel:
backlight and TWL4030 poweroff support.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
2534b4a429aa31037c29079c25506c43e71f8f9f 05-Mar-2012 Uwe Kleine-König <u.kleine-koenig@pengutronix.de> ARM: OMAP4: board-4430sdp: don't initialize value that is never used

sdp4430_spi_board_info.irq was initialized to ETH_KS8851_IRQ and in
omap_4430sdp_init() overwritten with gpio_to_irq(ETH_KS8851_IRQ) before
sdp4430_spi_board_info was registered. This is a bit confusing, so
better don't initialize .irq and document that it is set later.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
dedd5bd33900696f363b6169a41d7d585647d75f 05-Mar-2012 Igor Grinberg <grinberg@compulab.co.il> ARM: OMAP3: cm-t3517: add EMAC support

Add support for the EMAC Ethernet controller in the AM35xx SoC.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t3517.c
a8195ba87cc746bf765bd507d87a2945602c8adc 05-Mar-2012 Ilya Yanok <yanok@emcraft.com> ARM: OMAP: move generic EMAC init to separate file

AM35xx SoCs include DaVinci EMAC IP. Initialization code in
board-am3517evm.c is pretty board independent and will work for any
AM35xx based board so move this code to it's own file to be reused by
other boards.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
m35xx-emac.c
m35xx-emac.h
oard-am3517evm.c
d4860ebef4f7e45ebc37013d5008de85cc24a94e 05-Mar-2012 Vladimir Zapolskiy <vz@mleia.com> ARM: OMAP3: RX-51: add explicit mux configuration of tsc2005 control gpios

This change converts TSC2005 related GPIO requests to be done with
gpio_request_array() method and explicitly inits mux configuration for
these GPIOs.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
afbb1893ef49cc465d9b2b724c1f1838999f8dba 05-Mar-2012 Alex <alexg@meprolight.com> ARM: OMAP: Add omap_reserve functionality

This patch adds omap_reserve functionality to board-omap3logic.c

Signed-off-by: Alex Gershgorin <alexg@meprolight.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3logic.c
3a70b7e05f62d4e1bfd5744368ea1fd855b6e03c 05-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'depends/irqdomain' into next/drivers

This is needed in order for the tegra/soc-drivers branch
to work.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
134d12fae0bb8f3d60dc7440a9e1950bb5427167 03-Mar-2012 Ohad Ben-Cohen <ohad@wizery.com> ARM: OMAP: fix iommu, not mailbox

For some weird (freudian?) reason, commit 435792d "ARM: OMAP: make
iommu subsys_initcall to fix builtin omap3isp" unintentionally changed
the mailbox's initcall instead of the iommu's.

Fix that.

Reported-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Joerg Roedel <Joerg.Roedel@amd.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
ailbox.c
map-iommu.c
650d6e25cde82fda425995ba77ed4b0ad3be5b8d 05-Mar-2012 Takashi Iwai <tiwai@suse.de> Merge tag 'asoc-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into topic/asoc

This has been a very active release for ASoC, as well as the usual raft
of bugfixes and driver updates there's quite a few framework enhancements.
Most are either small or are laying the groundwork for user visible
features (especially dynamic PCM), the most directly visible change is
the dmaengine library. There's also a bunch of regmap API enhancements
pulled into the tree so that either the framework or drivers can take
advantage of the new features.

Changes include:

- Support for widgets not associated with a CODEC, an important part of
the dynamic PCM framework.

- A library factoring out the common code shared by dmaengine based DMA
drivers contributed by Lars-Peter Clausen. This will save a lot of
code and make it much easier to deploy enhancements to dmaengine.

- Support for binary controls, used for providing runtime configuration
of algorithm coefficients.

- A new DAPM widget type for regulator supplies allowing drivers for
devices that can power down unused supplies while active to do without
any per-driver code.

- DAPM widgets for DAIs, initially giving a speed boost for playback
startup and shutdown and also the basis for CODEC<->CODEC DAI link
support.

- Support for specifying the number of significant bits on audio
interfaces, useful for allowing applications to know how much effort to
put into generating data for a larger sample format.

- Conversion of the FSI driver used on some SH processors to DMAEngine.

- New CODEC drivers for Maxim MAX9768 and Wolfson Microelectronics WM2200.
6e1d521b9d1201214ec4a67a7e4360232be5f963 02-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge branches 'depends/irqdomain' and 'at91/base2+cleanup' into next/dt

These two branches are a dependency for the at91 device tree changes,
so we pull them in here. at91/base2+cleanup will get merged through
the arm-soc cleanup2 branch, while the irqdomain tree will be sent
by Grant before this one gets integrated.

Conflicts:
drivers/rtc/rtc-at91sam9.c

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1220547bfd7f7dd97f770a04b533323e5404b8e9 02-Mar-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'depends/omap/gpio/runtime-pm-cleanup' into next/cleanup

Conflicts:
arch/arm/mach-omap1/gpio16xx.c
drivers/gpio/gpio-omap.c

Merge in the runtime-pm-cleanup branch from the gpio tree into
next/cleanup, this resolves a nonobvious merge conflict between
the two branches. Both branches move parts of the gpio-omap
driver into platform code, this takes the superset of both
changes.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
c2d1355476b555b54c26d20962211fcf06b8c55f 23-Jan-2012 Vaibhav Hiremath <hvaibhav@ti.com> ARM: OMAP: id: Add missing break statement in omap3xxx_check_revision

Add missing break statement in the function omap3xxx_check_revision.

The commit id 4390f5b2cb1f56 [ARM: OMAP: TI814X: Add cpu type macros
and detection support], removed the 'break' statement from the function
omap3xxx_check_revision(), resulting into wrong omap/cpu_revision
initialization for AM335x devices.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
[tony@atomide.com: refreshed to apply after changes to cpu_rev]
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
a26d3c4fcd4bb875ae5adc32f27fab7a478bb00d 29-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

* 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Fix L4_EMU_34XX_BASE error after iomap changes
ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers
ARM: OMAP: Remove plat/io.h by splitting it into mach/io.h and mach/hardware.h
ARM: OMAP2+: Move most of plat/io.h into local iomap.h
ARM: OMAP1: Move most of plat/io.h into local iomap.h
ARM: OMAP1: Move 16xx GPIO system clock to platform init code
ARM: OMAP: Move omap_init_consistent_dma_size() to local common.h
ARM: OMAP2+: Move SDRC related functions from io.h into local common.h
ARM: OMAP2+: Drop DISPC L3 firewall code
ARM: OMAP2xxx: PM: remove obsolete timer disable code in the suspend path
ARM: OMAP: McSPI: Remove unused flag from struct omap2_mcspi_device_config

(update to latest rmk/for-arm-soc branch)

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
590d829a7cf882cf1a9d6fb7bdb247dc6b0993cb 29-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

* 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
arm/dts: Add support for TI OMAP3 EVM board
arm/dts: OMAP4: Update DTS file with new GIC bindings
arm/dts: OMAP3: Add i2c controller nodes
arm/dts: OMAP4: Add i2c controller nodes
ARM: OMAP2+: Set Kconfig dependencies for PROC_DEVICETREE
arm/dts: OMAP3&4: Remove the '0x' prefix for serial nodes
ARM: OMAP1: kconfig: Enable IRQ_DOMAIN by default for OMAP1 platforms
ARM: OMAP2+: pm: Do not init statically the SR and voltage layer with DT
ARM: OMAP2+: omap_device: Replace dev_warn by dev_dbg in omap_device_build_from_dt
ARM: OMAP2+: board-generic: Remove un-needed .atag_offset for DT_MACHINE
ARM: OMAP2+: kconfig: Enable devicetree by default for OMAP2+ systems
arm/dts: OMAP: Remove bootargs node from board files
b23f46c7471d0adcf81092b6702299562c4149c5 29-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

* 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: split omap2/3/4_check_revision function
ARM: OMAP2+: Make cpu_rev static global variable
c5f2ac92c69c64ea303a7b28b17143fbf601182d 29-Feb-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'fixes-3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Arnd Bergmann says:
"Another set of arm-soc bug fixes on top of v3.3-rc5. The few larger
bits are all for devices that still need to get set up in board code.

Only three platforms are in this set of fixes: omap2+, pxa and lpc32xx."

* tag 'fixes-3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (22 commits)
ARM: LPC32xx: serial.c: Fixed loop limit
ARM: LPC32xx: serial.c: HW bug workaround
ARM: LPC32xx: irq.c: Clear latched event
ARM: LPC32xx: Fix interrupt controller init
ARM: LPC32xx: Fix irq on GPI_28
ARM: OMAP2: fix mailbox init code
ARM: OMAP2+: gpmc-smsc911x: add required smsc911x regulators
ARM: OMAP1: Fix out-of-bounds array access for Innovator
OMAP3 EVM: remove out-of-bounds array access of gpio_leds
ARM: OMAP: Fix build error when mmc_omap is built as module
ARM: OMAP: Fix kernel panic with HSMMC when twl4030_gpio is a module
pxa/hx4700: add platform device and I2C info for AK4641 codec
arch/arm/mach-pxa/: included linux/gpio.h twice
arch/arm/mach-mmp/: some files include some headers twice
ARM: pxa: fix error handling in pxa2xx_drv_pcmcia_probe
ARM: pxa: fix including linux/gpio.h twice
ARM: pxa: fix mixed declarations and code in sharpsl_pm
ARM: pxa: fix wrong parsing gpio event on spitz
ARM: OMAP2+: usb-host: fix compile warning
ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback
...
7eca30aef7961e68ad74c0ef920546c2be7f6579 27-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'at91-3.4-base2+cleanup' of git://github.com/at91linux/linux-at91 into at91/staging/base2+cleanup

* 'at91-3.4-base2+cleanup' of git://github.com/at91linux/linux-at91: (20 commits)
ARM: at91: properly sort dtb files in Makefile.boot
ARM: at91: add at91sam9g25ek.dts in Makefile.boot
ARM: at91/board-dt: drop default console
Atmel: move console default platform_device to serial driver
ARM: at91: merge SRAM Memory banks thanks to mirroring
ARM: at91: finally drop at91_sys_read/write
ARM: at91/rtc-at91sam9: pass the GPBR to use via resources
ARM: at91:rtc/rtc-at91sam9: ioremap register bank
ARM: at91/rtc-at91sam9: each SoC can select the RTT device to use
ARM: at91/PMC: make register base soc independent
ARM: at91/PMC: move assignment out of printf
ARM: at91/pm_slowclock: add runtime detection of memory contoller
ARM: at91: make sdram/ddr register base soc independent
ARM: at91: move at91rm9200 sdramc defines to at91rm9200_sdramc.h
ARM: at91/pm_slowclock: function slow_clock() accepts parameters
ARM: at91/pm_slowclock: rename register to named define
ARM: at91/ST: remove not needed casts
ARM: at91: make ST (System Timer) soc independent
ARM: at91: make matrix register base soc independent
ARM: at91/at91x40: remove use of at91_sys_read/write

Based on top of the at91/9x5, rmk/for-armsoc, at91/device-board,
at91/pm_cleanup and at91/base.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1b35af54ee9cbbdd13fed53fd4acb0952ba522e1 29-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix L4_EMU_34XX_BASE error after iomap changes

With the introduction of iomap changes platform init code
fails for emu.c if CONFIG_OMAP3_EMU is selected:

arch/arm/mach-omap2/emu.c:35:8: error:
'L4_EMU_34XX_BASE' undeclared here (not in a function)

Signed-off-by: Tony Lindgren <tony@atomide.com>
mu.c
824e2dbb29eedb4afde9cb592a912f56038a5d1e 29-Feb-2012 Tony Lindgren <tony@atomide.com> Merge branch 'hsmmc' into fixes-non-critical
d867093d412c32e246570e6d07bd987b067d688d 28-Feb-2012 Rajendra Nayak <rnayak@ti.com> ARM: OMAP2+: Remove apply_uV constraints for fixed regulator

VUSB is a fixed regulator, so get rid of the apply_uV constraint
for it, which fixes the following error seen at boot on omap4
SDP and PANDA boards.

machine_constraints_voltage: VUSB: failed to apply 3300000uV constraint
twl_reg twl_reg.46: can't register VUSB, -22
twl_reg: probe of twl_reg.46 failed with error -22

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
wl-common.c
e9d69010996539b07caef1c9fa9a481e1df95e68 28-Feb-2012 Tony Lindgren <tony@atomide.com> Merge branch 'randconfig' into fixes-non-critical
d82ba9954b6b2c4ac91ec6f6f42be8c5215d0619 23-Feb-2012 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP4: dma: Correct CPU version check for dma_common_ch_end

CCDN is the last common channel register in all OMAP4 versions. Use
cpu_is_omap44xx() instead of the cpu_is_omap4430().
cpu_is_omap4430() returns 0 unconditionally. This causes that the
dma_common_ch_end register variable is not configured correctly on OMAP4, not
even for OMAP4430.
Because of this, registers between CCFN - CCDN will be not cleard in the
omap2_clear_dma function in OMAP4.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ma.c
82dfcbfe63500c80335d0cd5f91a35d4545a1fb2 22-Feb-2012 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP: Fix section mismatch warning for platform_cpu_die()

WARNING: vmlinux.o(.text+0x226d0):
Section mismatch in reference from the function
platform_cpu_die() to the function .cpuinit.text:omap4_hotplug_cpu()
The function platform_cpu_die() references
the function __cpuinit omap4_hotplug_cpu().
This is often because platform_cpu_die lacks a __cpuinit
annotation or the annotation of omap4_hotplug_cpu is wrong.

Thanks to Russell King for suggesting to use __ref instead of
the initial (and wrong) approach to use __cpuinit.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map-hotplug.c
ccdeed6281296977f67f57d048fdeec542428ce1 22-Feb-2012 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP: fix section mismatch warning for omap4_hotplug_cpu()

WARNING: arch/arm/mach-omap2/built-in.o(.text+0x8b80):
Section mismatch in reference from the function omap4_hotplug_cpu() to
the function .cpuinit.text:omap_secondary_startup()
The function omap4_hotplug_cpu() references
the function __cpuinit omap_secondary_startup().
This is often because omap4_hotplug_cpu lacks a __cpuinit
annotation or the annotation of omap_secondary_startup is wrong.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map-mpuss-lowpower.c
a5bee307ba7befc96a97915d6d45ffbe1e5f9a20 28-Feb-2012 Tony Lindgren <tony@atomide.com> Merge branch 'iomap' into cleanup
d5a74afd08738af84d51c353ac3ac200b06c51d7 28-Feb-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'iommu-fixes-v3.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

IOMMU fixes for Linux 3.3-rc5

All the fixes are for the OMAP IOMMU driver. The first patch is the
biggest one. It fixes the calls of the function omap_find_iovm_area() in
the omap-iommu-debug module which expects a 'struct device' parameter
since commit fabdbca instead of an omap_iommu handle. The
omap-iommu-debug code still passed the handle to the function which
caused a crash.

The second patch fixes a NULL pointer dereference in the OMAP code and
the third patch makes sure that the omap-iommu is initialized before the
omap-isp driver, which relies on the iommu. The last patch is only a
workaround until defered probing is implemented.

* tag 'iommu-fixes-v3.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
ARM: OMAP: make iommu subsys_initcall to fix builtin omap3isp
iommu/omap: fix NULL pointer dereference
iommu/omap: fix erroneous omap-iommu-debug API calls
fb0b82b32ce17564bc64cede50bf4a3204eecc60 28-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'board-specific' of git://github.com/hzhuang1/linux into next/boards

* 'board-specific' of git://github.com/hzhuang1/linux: (5 commits)
ARM: pxa: add dummy clock for pxa25x and pxa27x
ARM: mmp: append irq name of gpio device
pxa/hx4700: Fix PXA_GPIO_IRQ_BASE/IRQ_NUM values
pxa/hx4700: Add ASIC3 LED support
pxa/hx4700: Correct StrataFlash block size discovery

(update to v3.3-rc5)
4d8cfec692e988b844dcaeaeb76b5780b7ef9d28 28-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'cleanup-3.4' of git://github.com/hzhuang1/linux into next/cleanup

* 'cleanup-3.4' of git://github.com/hzhuang1/linux: (2 commits)
rtc: sa1100: remove verification code of alarm
rtc: sa1100: remove periodic code

(update to v3.3-rc5)
abf45ce84c4e36bd64aef20d7df9a79bd5e4b799 28-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'imx/defconfig' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc

* 'imx/defconfig' of git://git.linaro.org/people/shawnguo/linux-2.6: (2 commits)
ARM: defconfig: imx_v6_v7: build in REGULATOR_FIXED_VOLTAGE
ARM: imx: update imx_v6_v7_defconfig

(upadte to v3.3-rc5)
e0e5ce59dc7b2685516219fdf44f01a8d53e0228 28-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'imx/dt' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/dt

* 'imx/dt' of git://git.linaro.org/people/shawnguo/linux-2.6: (7 commits)
ARM: dts: imx6q-sabrelite: add vmmc-supply for usdhc
ARM: dts: imx6q-arm2: add vmmc-supply for usdhc
ARM: dts: imx51-babbage: update mc13892 device
ARM: dts: imx6q-sabrelite: add sgtl5000 audio codec
ARM: dts: imx6q-sabrelite: add 2p5v and 3p3v regulators
ARM i.MX5/6: Add dt support for generic boards
ARM: imx5: generate dtbs for imx5 boards

(update to Linux 3.3-rc5)
e135e4506c6d3e9b196890877a9a2815f71b04ac 28-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'imx/driver' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/drivers

* 'imx/driver' of git://git.linaro.org/people/shawnguo/linux-2.6: (3 commits)
ARM: imx6q: add cko1 clock
ARM: mxc: make imx_dma_is_general_purpose more generic for sdma
ARM: imx6: Rename DEBUG_IMX6Q_UART to UART4
f2273ecd9a7405b867522ce03d31a9fee80c2495 27-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'lpc32xx/fixes' of git://git.antcom.de/linux-2.6 into fixes

* 'lpc32xx/fixes' of git://git.antcom.de/linux-2.6: (5 commits)
ARM: LPC32xx: serial.c: Fixed loop limit
ARM: LPC32xx: serial.c: HW bug workaround
ARM: LPC32xx: irq.c: Clear latched event
ARM: LPC32xx: Fix interrupt controller init
ARM: LPC32xx: Fix irq on GPI_28

Update to Linux 3.3-rc5

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
a173fc693b25216c5c834978f4fafd731fd4ff94 27-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'kirkwood/board' into next/boards

* kirkwood/board: (2 commits)
ARM: kirkwood: convert uart0 to devicetree.
ARM: kirkwood: add dreamplug (fdt) support.

Series sent by email from Jason Cooper <jason@lakedaemon.net>
Update to Linux 3.3-rc3

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
96a3eab338c01e172745b1686c51c1be96ce9ead 27-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'imx-cleanup' of git://git.pengutronix.de/git/imx/linux-2.6 into next/cleanup

* 'imx-cleanup' of git://git.pengutronix.de/git/imx/linux-2.6: (247 commits)
ARM: Remove redundant ';' from avic_irq_set_priority()
ARM: mx3: Let mx31 and mx35 share the same CCM header file
ARM: plat-mxc: audmux-v1: Remove unneeded ifdef's

Update to v3.3-rc3

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
435792d93410f008120c4dbab148019a3cc31dbc 25-Feb-2012 Ohad Ben-Cohen <ohad@wizery.com> ARM: OMAP: make iommu subsys_initcall to fix builtin omap3isp

omap3isp depends on omap's iommu and will fail to probe if
initialized before it (which always happen if they are builtin).

Make omap's iommu subsys_initcall as an interim solution until
the probe deferral mechanism is merged.

Reported-by: James <angweiyang@gmail.com>
Debugged-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Cc: stable <stable@vger.kernel.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Hiroshi Doyu <hdoyu@nvidia.com>
Cc: Joerg Roedel <Joerg.Roedel@amd.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
ailbox.c
fbf75da733e82bb17a01e1b907b0e40d9c028823 21-Sep-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: board-generic: Use of_irq_init API

Use the of_irq_init API introduced in 3.2 to handle
interrupt-controller with DT.
Update the irq_match table to map the proper XXX_of_init
functions for INTC and GIC drivers.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
oard-generic.c
52fa212088b141dd05957dc4b7f06a893c8166ad 30-Nov-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2/3: intc: Add DT support for TI interrupt controller

Add a function to initialize the OMAP2/3 interrupt controller (INTC)
using a device tree node.

This version take advantage of the new irq_domain_add_legacy API.

Replace some printk() with the proper pr_ macro.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
ommon.h
rq.c
1f52299ec000e2161635b263d81ab92ea7f1f0a7 27-Feb-2012 Benoit Cousson <b-cousson@ti.com> Merge branch 'irqdomain/next' of git://git.secretlab.ca/git/linux-2.6 into for_3.4/dt_irq_domain2
ffd76d8be36da09f8456c55569c008f5aa93095e 25-Feb-2012 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.4/dts_updates' of git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt into dt
9cf793f9b8b1ba9414e2a7591b2e911885f85a27 20-Feb-2012 Kevin Hilman <khilman@ti.com> ARM: OMAP: convert omap_device_build() and callers to __init

Building omap_devices should only be done at init time, and since
omap_device_build() is using early_platform calls which are also
__init, this ensures that omap_device isn't trying to use functions
that disappear.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
pio.c
cbsp.c
m.c
r_device.c
d1589f0912533e6cb2ac8fd6f1feb3d5989fe8cb 20-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Mark omap_hsmmc_init and omap_mux related functions as __init

Now that omap hsmmc init is split into two functions, it's safe
to mark omap_hsmmc_init and omap_mux related functions to __init.

This basically reverts the following fixes for the case where
TWL was compiled as a module:

a98f77b (ARM: omap: fix section mismatch warning for sdp3430_twl_gpio_setup())
8930b4e (ARM: omap: fix section mismatch warnings in mux.c caused by hsmmc.c)

Additionally it fixes up the remaining section warnings for
all callers of omap_mux functions.

Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-flash.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
isplay.c
smmc.c
ux.c
acea7c7b81e8f67513aebade8cb99c7789c44d8c 24-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers

Drivers should no longer use omap_read/write functions
but instead use ioremap + read/write functions.

As some USB legacy code is still shared between omap1 and
omap2420, let's limit the omap_read/write to plat/usb.h.

Note that the long term fix is to update the drivers to
use ioremap and read/write functions. That can now be
done as a separate patch series that is limited to the
USB drivers.

Also make sure the legacy omap1-keypad.c driver builds
if selected for 2420 based systems.

Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ommon.h
o.c
2c799cef4d145af2182594a41cb5e5b42f2535c5 24-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP: Remove plat/io.h by splitting it into mach/io.h and mach/hardware.h

This is needed to minimize io.h so the SoC specific io.h
for ARMs can removed.

Note that minimal driver changes for DSS and RNG are needed to
include cpu.h for SoC detection macros.

Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Matt Mackall <mpm@selenic.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lkt2xxx_virt_prcm_set.c
lkt_dpll.c
lock2420_data.c
lock2430.c
lock2430_data.c
lock2xxx.c
lock3xxx.c
ommon.h
pmc-nand.c
pmc-onenand.c
nclude/mach/io.h
pp2420_data.c
pp2430_data.c
m24xx.c
leep34xx.S
ee0839c22cdda7f2e5f06e2d0351e2b49e0975ff 24-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Move most of plat/io.h into local iomap.h

There's no need to have these defines in plat/io.h.

Note that we now need to ifdef omap_read/write calls
as they will be available for omap1 only.

While at it, clean up the includes to group them like
they typically are grouped.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock2420_data.c
lock2430.c
lock2430_data.c
lock3xxx_data.c
lock44xx_data.c
m2xxx_3xxx.c
m44xx.c
minst44xx.c
ommon.c
ontrol.c
ontrol.h
evices.c
isplay.c
mu.c
o.c
omap.h
rq.c
map-smp.c
m24xx.c
rcm_mpu44xx.c
rm44xx.c
rminst44xx.c
dram-nokia.c
drc2xxx.c
leep24xx.S
leep34xx.S
ram242x.S
ram243x.S
ram34xx.S
a4f34197120be8edfe099bb6cde35740d299b6d1 24-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP: Move omap_init_consistent_dma_size() to local common.h

We don't want to keep it in io.h as we want to remove io.h
for omap2+ for the common zImage support.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ommon.h
258ee922d7a4b4a9cfb947ce0e24d89f1ef20eb5 24-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Move SDRC related functions from io.h into local common.h

These should be local to omap2/3/4.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ommon.h
645c56a75882830c0ba6e7461f07d099a9c87e69 24-Feb-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP2xxx: PM: remove obsolete timer disable code in the suspend path

Remove omap_{read,write}l() from the 24xx PM code. The clocksource
code should now handle what this was supposed to do.

Tested on N800 -- but it's hard to say whether this fixes anything.
OMAP24xx static suspend path is currently broken, and this patch
doesn't change that.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rob Herring <robherring2@gmail.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m24xx.c
0aac881246fb25d017617cd7be68e93326d51ce1 24-Feb-2012 Jarkko Nikula <jarkko.nikula@bitmer.com> ARM: OMAP: McSPI: Remove unused flag from struct omap2_mcspi_device_config

Flag single_channel in struct omap2_mcspi_device_config is not used
by drivers/spi/spi-omap2-mcspi.c so we may remove it from include/plat/mcspi.h
and affected board files.

Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
oard-n8x0.c
oard-rx51-peripherals.c
oard-zoom-display.c
ommon-board-devices.c
149f1d5c8d2fd6879cdf93ca70f1cb745e698a1e 23-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix devexit for smartreflex when CONFIG_HOTPLUG is not set

Otherwise we get:

`omap_sr_remove' referenced in section `.data' of arch/arm/mach-omap2/built-in.o:
defined in discarded section `.devexit.text' of arch/arm/mach-omap2/built-in.o

Signed-off-by: Tony Lindgren <tony@atomide.com>
martreflex.c
c295fb633e321a7df3b8846c4eaddc5da3e0aaed 24-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix multiple randconfig errors with SOC_OMAP and SOC_OMAP_NOOP

If we don't have ARCH_OMAP2, 3 or 4 selected randconfig will always
fail with multiple errors as the CPU and MACHINE are not set.

Fix this by changing arch/arm/Makefile to build mach-omap2 based on
ARCH_OMAP2PLUS. And let's introduce SOC_OMAP and SOC_OMAP_NOOP that
allow randconfig to generate buildable .config files.

Note that we can also remove few uncecssary ARCH_OMAP2PLUS lines
as they are all within if ARCH_OMAP2PLUS block.

Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
fdc24d4ba20499febb90ff17d3b75674026712f8 24-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'vexpress-dt-v3.3-rc4' of git://git.linaro.org/people/pawelmoll/linux into next/dt

* 'vexpress-dt-v3.3-rc4' of git://git.linaro.org/people/pawelmoll/linux: (573 commits)
ARM: vexpress: Add Device Tree for V2P-CA15 core tile (TC1 variant)
ARM: vexpress: Add Device Tree for V2P-CA9 core tile
ARM: vexpress: Add Device Tree for V2P-CA5s core tile
ARM: vexpress: Motherboard RS1 memory map support
ARM: vexpress: Add Device Tree support
ARM: vexpress: Use FDT data in platform SMP calls
ARM: versatile: Map local timers using Device Tree when possible
ARM: vexpress: Get rid of MMIO_P2V

This adds full device tree boot support for the versatile express
platform, as has been awaited for a long time.

Conflicts:
arch/arm/mach-vexpress/core.h

The definition of AMBA_DEVICE was removed in one branch, and the
definition of MMIO_P2V was removed in the other branch.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
38232f7bd112bba6dd65309a218f21d3171c84fd 23-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix zoom LCD backlight if TWL_CORE is not selected

Otherwise we get:

arch/arm/mach-omap2/board-zoom-display.c:64: undefined reference to `twl_i2c_read_u8'
arch/arm/mach-omap2/board-zoom-display.c:65: undefined reference to `twl_i2c_read_u8'
arch/arm/mach-omap2/board-zoom-display.c:84: undefined reference to `twl_i2c_write_u8'
arch/arm/mach-omap2/board-zoom-display.c:86: undefined reference to `twl_i2c_write_u8'
arch/arm/mach-omap2/board-zoom-display.c:91: undefined reference to `twl_i2c_write_u8'
arch/arm/mach-omap2/board-zoom-display.c:92: undefined reference to `twl_i2c_write_u8'
arch/arm/mach-omap2/board-zoom-display.c:72: undefined reference to `twl_i2c_write_u8'

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-display.c
cc4915d8a0bbe6825eb9fc2c687a0151441af7db 23-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix board_mux section type conflict when OMAP_MUX is not set

Otherwise we can get:

arch/arm/mach-omap2/mux.h:249:31: error: board_mux causes a section type conflict

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.h
e3a98fe11b296b833ac540fbc19f407c790fdc05 24-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix OMAP_HDQ_BASE build error

If CONFIG_SOC_OMAP3430 is not set and CONFIG_HDQ_MASTER_OMAP
is selected for w1 driver we get the following error:

arch/arm/mach-omap2/devices.c:662:13: error:
'OMAP_HDQ_BASE' undeclared here (not in a function)

Looks like OMAP_HDQ_BASE is valid for all omaps except
2420, so we can remove the ifdef and not register
the device on 2420.

Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
b2a5124e596e51619e4fbf72fde5baf84538285d 24-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix Kconfig dependencies for USB_ARCH_HAS_EHCI

Otherwise we get:

warning: (ARCH_OMAP3 && ARCH_OMAP4) selects USB_ARCH_HAS_EHCI
which has unmet direct dependencies (USB_SUPPORT)

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
ed8dfd22ea2533a1b169881c3de94be8daa0e297 24-Feb-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP2+: I2C: always compile I2C reset code, even if I2C driver is not built

During kernel init, we reset all IP blocks on the OMAP that we can,
even if there is no driver compiled for that IP block. Unlike most IP
blocks, the I2C block requires some extra programming for this to
work. This reset code is incorrectly omitted when the I2C driver is
deselected. In this circumstance, the build breaks. Fix by compiling
the I2C reset code unconditionally.

Problem reported by Russell King <linux@arm.linux.org.uk>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Russell King <linux@arm.linux.org.uk>
Tested-by: Shubhrajyoti <shubhrajyoti@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
655850ed7e3e90dcb5ae88ae63f75acbf5465213 23-Feb-2012 Ohad Ben-Cohen <ohad@wizery.com> ARM: OMAP2: fix mailbox init code

Fix this:

arch/arm/mach-omap2/mailbox.c: In function 'omap2_mbox_probe':
arch/arm/mach-omap2/mailbox.c:354: error: 'omap2_mboxes' undeclared (first use in this function)
arch/arm/mach-omap2/mailbox.c:354: error: (Each undeclared identifier is reported only once
arch/arm/mach-omap2/mailbox.c:354: error: for each function it appears in.)

Which happens on CONFIG_ARCH_OMAP2 && !CONFIG_SOC_OMAP2420, due to
missing omap2_mboxes declaration.

In addition, make sure we declare the right mailbox instances for 2430.

Reported-by: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Cc: Hiroshi Doyu <hdoyu@nvidia.com>
Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
e4b0b2cbbbaa085103229c03820755f20a64e581 23-Feb-2012 Matt Porter <mporter@ti.com> ARM: OMAP2+: gpmc-smsc911x: add required smsc911x regulators

This fixes smsc911x support on platforms using gpmc_smsc911x_init().

Commit c7e963f6888816 (net/smsc911x: Add regulator support) added
the requirement that platforms provide vdd33a and vddvario supplies.

Signed-off-by: Matt Porter <mporter@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-smsc911x.c
f0e41ab53d97aa991f9cb48ec474a22108c97527 19-Sep-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP2+: remove unneeded #include omapfb.h

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
o.c
61b80086a525c8a6081257ae40da5dee2bcaee16 22-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'entry-macro-cleanup' of git://sources.calxeda.com/kernel/linux into for-armsoc
2daa79ec2126f8e710391e9d8e8f0d31d7c91d5f 22-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'lpc32xx/drivers' into next/drivers

* lpc32xx/drivers: (566 commits)
ARM: LPC32xx: ADC support for mach-lpc32xx

Includes an update to Linux 3.3-rc4

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6b0d1abb354d2d6b991c051e7380bd484a05e61f 22-Feb-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm

A few more things this time around. The only thing warranting some
commentry is the modpost change, which allows folk building a Thumb2
enabled kernel to see section mismatch warnings. This is why many
weren't noticed with OMAP.

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
ARM/audit: include audit header and fix audit arch
ARM: OMAP: fix voltage domain build errors with PM_OPP disabled
ARM/PCI: Remove ARM's duplicate definition of 'pcibios_max_latency'
ARM: 7336/1: smp_twd: Don't register CPUFREQ notifiers if local timers are not initialised
ARM: 7327/1: need to include asm/system.h in asm/processor.h
ARM: 7326/2: PL330: fix null pointer dereference in pl330_chan_ctrl()
ARM: 7164/3: PL330: Fix the size of the dst_cache_ctrl field
ARM: 7325/1: fix v7 boot with lockdep enabled
ARM: 7324/1: modpost: Fix section warnings for ARM for many compilers
ARM: 7323/1: Do not allow ARM_LPAE on pre-ARMv7 architectures
230f984662d7e0e4a9597c665fd4f53130666e7d 04-Feb-2012 Rob Herring <rob.herring@calxeda.com> ARM: remove disable_fiq and arch_ret_to_user macros

Now that most platforms don't need disable_fiq and arch_ret_to_user
macros, we can remove the empty macros or empty entry-macro.S files.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Ryan Mallon <rmallon@gmail.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
nclude/mach/entry-macro.S
ebe8f7e59d0de3a97d264220deeffa90b8b14003 13-Feb-2012 Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> OMAP3 EVM: remove out-of-bounds array access of gpio_leds

Otherwise we can get the following warning on some compilers:

arch/arm/mach-omap2/board-omap3evm.c:384:11:
warning: array subscript is above array bounds

The omap3evm BSP enables a GPIO LED on the twl4030 chip. However,
the static gpio_leds array doesn't have an entry for it. This is
most likely a copy-and-paste error, because it has been in there
since the first commit of the omap3evm BSP (53c5ec31).

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[tony@atomide.com: updated comments with the warning]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
7cb034f8179dfc2889c1f2341566ee68f648a324 19-Feb-2012 NeilBrown <neilb@suse.de> ARM: OMAP2+: remove some orphan function declarations.

commit 2fd149645eb (ARM: OMAP2+: UART: Remove omap_uart_can_sleep and
add pm_qos) removed omap_uart_can_sleep and omap3_can_sleep, but not
their declarations. So remove those now.

Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Shubhrajyoti D <shubhrajyoti@ti.com>
[khilman@ti.com: minor changelog edits]
Signed-off-by: Kevin Hilman <khilman@ti.com>
m.h
867e9f8d105004de85335414ab09e99338617e03 19-Feb-2012 NeilBrown <neilb@suse.de> ARM: OMAP2+: UART: remove unused fields in omap_uart_state.

commit 2fd149645eb46d261 (ARM: OMAP2+: UART: Remove
omap_uart_can_sleep and add pm_qos) removed the last usage of
'can_sleep' but did not remove the field.

commit 8612bd22f3036974 (ARM: OMAP2+: UART: Avoid console uart idling
during bootup) removed the last non-trivial use of 'pdev'.

So remove these fields and the one trivial use.

Acked-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: NeilBrown <neilb@suse.de>
[khilman@ti.com: minor changelog edits]
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
3ddd4d0c629f3d013aa1ab24bb0546dfe342ff94 15-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: OMAP: fix voltage domain build errors with PM_OPP disabled

The voltage domain code wants the voltage tables, which are in the
opp*.c files. These files aren't built when PM_OPP is disabled,
causing the following build errors at link time:

twl-common.c:(.init.text+0x2e48): undefined reference to `omap34xx_vddmpu_volt_data'
twl-common.c:(.init.text+0x2e4c): undefined reference to `omap34xx_vddcore_volt_data'
twl-common.c:(.init.text+0x2e5c): undefined reference to `omap36xx_vddmpu_volt_data'
twl-common.c:(.init.text+0x2e60): undefined reference to `omap36xx_vddcore_volt_data'
twl-common.c:(.init.text+0x2830): undefined reference to `omap44xx_vdd_mpu_volt_data'
twl-common.c:(.init.text+0x283c): undefined reference to `omap44xx_vdd_iva_volt_data'
twl-common.c:(.init.text+0x2844): undefined reference to `omap44xx_vdd_core_volt_data'

Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
856c5403462419eff9a7891efeee7bddc2a08af6 20-Feb-2012 Tony Lindgren <tony@atomide.com> Merge branch 'fixes-mmc' into fixes
3b972bf06c22f5abfa6586a8baf50321cd825965 20-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Split omap2_hsmmc_init() to properly support I2C GPIO pins

Otherwise omap_device_build() and omap_mux related functions
can't be marked as __init when twl is build as a module.

If a board is using GPIO pins or regulators configured by an
external chip, such as TWL PMIC on I2C bus, the board must
mark those MMC controllers as deferred. Additionally both
omap_hsmmc_init() and omap_hsmmc_late_init() must be called
by the board.

For MMC controllers using internal GPIO pins for card
detect and regulators the slots don't need to be marked
deferred. In this case calling omap_hsmmc_init() is sufficient.

Only mark the MMC slots using gpio_cd or gpio_wd as deferred
as noted by Igor Grinberg <grinberg@compulab.co.il>.

Note that this patch does not change the behaviour for
board-4430sdp.c board-omap4panda.c. These boards wrongly
rely on the omap_hsmmc.c init function callback to configure
the PMIC GPIO interrupt lines on external chip. If the PMIC
interrupt lines are not configured during init, they will
fail.

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-4430sdp.c
oard-am3517evm.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
smmc.c
smmc.h
d517110243130965e2803cc2373d434bdaf6dafb 20-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP: Fix build error when mmc_omap is built as module

Otherwise we get the following error:

arch/arm/mach-omap2/built-in.o: In function `n8x0_mmc_callback':
twl-common.c:(.text+0x108a0): undefined reference to
`omap_mmc_notify_cover_event'

Fix this by warning about unusable MMC cover events.

The long term fix needs to change the MMC drivers to
register board specific callbacks directly with PMIC.

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
97899e555b76ce64222303bc8d46fda9d49eb14b 20-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP: Fix kernel panic with HSMMC when twl4030_gpio is a module

On some omaps twl4030_gpio has a callback to try to initialize
the MMC controller. If twl4030_gpio is compiled as a module,
bad things can happen because the callback function starts
calling functions that are supposed to be marked __init:

Kernel panic - not syncing: Attempted to kill the idle task!
twl4030_gpio twl4030_gpio: can't dispatch IRQs from modules
gpiochip_add: registered GPIOs 192 to 209 on device: twl4030
Unable to handle kernel paging request at virtual address b82a4c74
...

Additionally if this does not fail, warnings are produced
about trying to register the MMC multiple times.

Fix this by removing __init from omap_mux_get_by_name,
and add checks if omap2_hsmmc_init() is getting called more
than once.

Note that this will get fixed properly later on by splitting
omap2_hsmmc_init into two functions.

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
ux.c
be2874cb4e625716fa9758ad122084da7764cad0 19-Feb-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'fixes-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

These are the bug fixes that have accumulated since 3.3-rc3 in arm-soc.
The majority of them are regression fixes for stuff that broke during
the merge 3.3 window.

The notable ones are:

* The at91 ata drivers both broke because of an earlier cleanup patch that
some other patches were based on. Jean-Christophe decided to remove
the legacy at91_ide driver and fix the new-style at91-pata driver while
keeping the cleanup patch. I almost rejected the patches for being too
late and too big but in the end decided to accept them because they
fix a regression.

* A patch fixing build breakage from the sysdev-to-device conversion
colliding with other changes touches a number of mach-s3c files.

* b0654037 "ARM: orion: Fix Orion5x GPIO regression from MPP cleanup"
is a mechanical change that unfortunately touches a lot of lines
that should up in the diffstat.

* tag 'fixes-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
ARM: at91: drop ide driver in favor of the pata one
pata/at91: use newly introduced SMC accessors
ARM: at91: add accessor to manage SMC
ARM: at91:rtc/rtc-at91sam9: ioremap register bank
ARM: at91: USB AT91 gadget registration for module
ep93xx: fix build of vision_ep93xx.c
ARM: OMAP2xxx: PM: fix OMAP2xxx-specific UART idle bug in v3.3
ARM: orion: Fix USB phy for orion5x.
ARM: orion: Fix Orion5x GPIO regression from MPP cleanup
ARM: EXYNOS: Add cpu-offset property in gic device tree node
ARM: EXYNOS: Bring exynos4-dt up to date
ARM: OMAP3: cm-t35: fix section mismatch warning
ARM: OMAP2: Fix the OMAP2 only build break seen with 2011+ ARM tool-chains
ARM: tegra: paz00: fix wrong UART port on mini-pcie plug
ARM: tegra: paz00: fix wrong SD1 power gpio
i2c: tegra: Add devexit_p() for remove
ARM: EXYNOS: Correct M-5MOLS sensor clock frequency on Universal C210 board
ARM: EXYNOS: Correct framebuffer window size on Nuri board
ARM: SAMSUNG: Fix missing api-change from subsys_interface change
ARM: EXYNOS: Fix "warning: initialization from incompatible pointer type"
...
4d68c05ce11f4cdf6a6392f3a18dc6a985b4d0c4 18-Feb-2012 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.4/dt_base' of git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt into dt
b0ee4e394009f02a1d1b166091a19e8b842b4ea4 18-Feb-2012 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.3/fixes/pm' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into fixes
506d81ef31ece39c760e8c2b2071e6aa3b983b72 08-Dec-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: pm: Do not init statically the SR and voltage layer with DT

In the case of DT, the PMIC and SR initialization will be done using
a completely different mechanism.

Disable this part if a DT blob is available.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
m.c
6b783f7c5dde2648fa0bbe7fc8ac80d78699e67f 11-Jan-2012 Grant Likely <grant.likely@secretlab.ca> irq_domain: Remove irq_domain_add_simple()

irq_domain_add_simple() was a stop-gap measure until complete irq_domain
support was complete. This patch removes the irq_domain_add_simple()
interface.

This patch also drops the explicit irq_domain initialization performed
by the mach-versatile code because the versatile interrupt controller
already has irq_domain support built into it. This was a bug that was
hanging around quietly for a while, but with the full irq_domain which
actually verifies that irq_domain ranges are available it would cause
the registration to fail and the system wouldn't boot.

v4: Fixed number of irqs in mx5 gpio code
v2: Updated to pass in host_data pointer on irq_domain allocation.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Milton Miller <miltonm@bga.com>
Cc: Russell King <linux@arm.linux.org.uk>
Tested-by: Olof Johansson <olof@lixom.net>
oard-generic.c
0e02a8c1a5a5aea8b0fd8c16dd7d1ac2de641275 01-Dec-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: board-generic: Remove un-needed .atag_offset for DT_MACHINE

Some .atag_offset entries were wrongly added during a merge conflict
resolution in 3.3.
Remove them all, since DT boot does not use that attribute anymore.

Replace as well the #if... by #ifdef for consistency.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
oard-generic.c
abe763f2bccbc592d33a3a9c334acaefea022c0a 14-Feb-2012 Felipe Balbi <balbi@ti.com> ARM: OMAP2+: usb-host: fix compile warning

when commit 3528c58 (OMAP: omap_device: when
building return platform_device instead of
omap_device) started returning a platform_device
instead of a omap_device pointer when building
a device, it failed to convert all users introducing
a compile warning when building
arch/arm/mach-omap2/usb-host.c.

This patch fixes that warning.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-host.c
2ec1fc4e169acc0b8d6733ff028fd52e766773d9 02-Feb-2012 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback

arm_memblock_steal() is not suppose to be used outside ->reserve callback.
OMAP barrier errata code was using it outside reserve callback and hence
it was broken.

Move the allocation as part of ->reserve callback to fix the it.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
ommon.h
o.c
map4-common.c
03e4fd6eb25e6b46536ecdb0d1b7d33d46b15480 05-Feb-2012 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: cpuidle: Fix the C-state reporting to cpuidle governor.

OMAP4 cpuidle driver is reporting the state requested by governor
rather than the actually attempted one.

This is obviously misleading sysfs and powertop cpuidle statistics.
Fix it so that stats are reported correctly.

Reported-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[khilman@ti.com: minor changelog edits]
Signed-off-by: Kevin Hilman <khilman@ti.com>
puidle44xx.c
6369fd41fc6075a547394d95608ca7ff0e878698 09-Jan-2012 NeilBrown <neilb@suse.de> ARM: OMAP: add RCU locking to omap2_set_init_voltage.

opp_find_freq_ceil and opp_get_voltage are documented as requiring
rcu_lock to be held. So hold it.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m.c
88fa269bedc3ae0f67426ea7fe9d306103b7fb1c 13-Feb-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2xxx: PM: fix OMAP2xxx-specific UART idle bug in v3.3
ARM: OMAP3: cm-t35: fix section mismatch warning
ARM: OMAP2: Fix the OMAP2 only build break seen with 2011+ ARM tool-chains
ARM: OMAP2+: board-generic: Add missing handle_irq callbacks
b14a29982ad90853cd71370af41adfd0009d7aa0 13-Feb-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-fixes-warnings' of git://git.linaro.org/people/rmk/linux-arm

This set of changes are fixing various section mismatch warnings which
look to be completely valid. Primerily, those which are fixed are those
which can cause oopses by manipulation of driver binding via sysfs. For
example: calling code marked __init from driver probe __devinit
functions.

Some of these changes will be reworked at the next merge window when the
underlying reasons are sorted out. In the mean time, I think it's
important to have this fixed for correctness.

Also included in this set are fixes to various error messages in OMAP -
including making them gramatically correct, fixing a few spelling
errors, and more importantly, making them greppable by unwrapping them.

Tony Lindgren has acked all these patches, put them out for testing a
week ago, and I've tested them on the platforms I have.

* 'omap-fixes-warnings' of git://git.linaro.org/people/rmk/linux-arm:
ARM: omap: resolve nebulous 'Error setting wl12xx data'
ARM: omap: fix wrapped error messages in omap_hwmod.c
ARM: omap: fix section mismatch warnings in mux.c caused by hsmmc.c
ARM: omap: fix section mismatch warning for sdp3430_twl_gpio_setup()
ARM: omap: fix section mismatch error for omap_4430sdp_display_init()
ARM: omap: fix section mismatch warning for omap_secondary_startup()
ARM: omap: preemptively fix section mismatch in omap4_sdp4430_wifi_mux_init()
ARM: omap: fix section mismatch warning in mux.c
ARM: omap: fix section mismatch errors in TWL PMIC driver
ARM: omap: fix uninformative vc/i2c configuration error message
ARM: omap: fix vc.c PMIC error message
ARM: omap: fix prm44xx.c OMAP44XX_IRQ_PRCM build error
a269c2f5a5ad2b24a19fdd723363daf18394ec85 13-Feb-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-fixes-urgent' of git://git.linaro.org/people/rmk/linux-arm

This pull request covers the major oopsing issues with OMAP, caused by
the lack of the TWL driver. Even when the TWL driver is not built in,
we shouldn't oops.

* 'omap-fixes-urgent' of git://git.linaro.org/people/rmk/linux-arm:
ARM: omap: fix broken twl-core dependencies and ifdefs
ARM: omap: fix oops in drivers/video/omap2/dss/dpi.c
ARM: omap: fix oops in arch/arm/mach-omap2/vp.c when pmic is not found
70d669de7356f6476db454dd8d053cd9c674a0d5 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: resolve nebulous 'Error setting wl12xx data'

It's useful to print the error code when a called function fails so a
diagnosis of why it failed is possible. In this case, it fails because
we try to register some data for the wl12xx driver, but as the driver
is not configured, a stub function is used which simply returns -ENOSYS.

Let's do the simple thing for -rc and print the error code.

Also, the return code from platform_register_device() at each of these
sites was not being checked. Add some checking, and again print the
error code.

This should be fixed properly for the next merge window so we don't
issue error messages merely because a driver is not configured.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-4430sdp.c
oard-omap3evm.c
oard-omap4panda.c
oard-zoom-peripherals.c
4f8a428dac431e7bd09673b404769d87df948eef 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: fix wrapped error messages in omap_hwmod.c

While trying to debug my OMAP platforms, they emitted this message:

omap_hwmod: %s: enabled state can only be entered from initialized, idle, or disabled state

The following backtrace said it was from a function called '_enable',
which didn't provide much clue. Grepping didn't find it either.

The message is wrapped, so unwrap the message so grep can find it. Do
the same for three other messages in this file.

Acked-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map_hwmod.c
8930b4e3c31cf67140e6281879b28feac8381e29 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: fix section mismatch warnings in mux.c caused by hsmmc.c

The previous commit causes new section mismatch warnings:

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb30): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_gpio()
The function omap_init_hsmmc() references
the function __init omap_mux_init_gpio().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_gpio is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb4c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_gpio()
The function omap_init_hsmmc() references
the function __init omap_mux_init_gpio().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_gpio is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb60): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb6c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb78): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb90): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb9c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdba8): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbc0): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbcc): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbd8): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbf8): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc04): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc10): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc28): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc34): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc40): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc58): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc64): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc70): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc7c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
The function omap_init_hsmmc() references
the function __init omap_mux_init_signal().
This is often because omap_init_hsmmc lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

Again, as for omap2_hsmmc_init(), these functions are callable at
runtime via the gpio-twl4030.c driver, and so these can't be marked
__init.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ux.c
a98f77bb0a86914a39e3d0d001716965add5063e 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: fix section mismatch warning for sdp3430_twl_gpio_setup()

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xd0f0): Section mismatch in reference from the function sdp3430_twl_gpio_setup() to the function .init.text:omap2_hsmmc_init()
The function sdp3430_twl_gpio_setup() references
the function __init omap2_hsmmc_init().
This is often because sdp3430_twl_gpio_setup lacks a __init
annotation or the annotation of omap2_hsmmc_init is wrong.

sdp3430_twl_gpio_setup() is called via platform data from the
gpio-twl4030 module, which can be inserted and removed at runtime.
This makes sdp3430_twl_gpio_setup() callable at runtime, and prevents
it being marked with an __init annotation.

As it calls omap2_hsmmc_init() unconditionally, the only resolution to
this warning is to remove the __init markings from omap2_hsmmc_init()
and its called functions. This addresses the functions in hsmmc.c.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
smmc.c
e3958fe05d78643ec6c0e651747b59361553a840 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: fix section mismatch error for omap_4430sdp_display_init()

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xb798): Section mismatch in reference from the function omap_4430sdp_display_init() to the function .init.text:omap_display_init()
The function omap_4430sdp_display_init() references
the function __init omap_display_init().
This is often because omap_4430sdp_display_init lacks a __init
annotation or the annotation of omap_display_init is wrong.

Fix this by adding __init to omap_4430sdp_display_init().

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-4430sdp.c
45176f4cf7aa84da97c2c1e66569cb2e44cb97ce 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: fix section mismatch warning for omap_secondary_startup()

WARNING: vmlinux.o(.text+0x1c664): Section mismatch in reference from the function omap_secondary_startup() to the function .cpuinit.text:secondary_startup()
The function omap_secondary_startup() references
the function __cpuinit secondary_startup().
This is often because omap_secondary_startup lacks a __cpuinit
annotation or the annotation of secondary_startup is wrong.

Unfortunately, fixing this causes a new warning which is harder to
solve:

WARNING: arch/arm/mach-omap2/built-in.o(.text+0x5328): Section mismatch in reference from the function omap4_hotplug_cpu() to the function .cpuinit.text:omap_secondary_startup()
The function omap4_hotplug_cpu() references
the function __cpuinit omap_secondary_startup().
This is often because omap4_hotplug_cpu lacks a __cpuinit
annotation or the annotation of omap_secondary_startup is wrong.

because omap4_hotplug_cpu() is used by power management code as well,
which may not end up using omap_secondary_startup().

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-headsmp.S
d5de63f5f84d7def5e25a90e44234c58003876c1 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: preemptively fix section mismatch in omap4_sdp4430_wifi_mux_init()

Found by review.

omap4_sdp4430_wifi_mux_init() is called by an __init marked function,
and only calls omap_mux_init_gpio() and omap_mux_init_signal() which
are both also an __init marked functions.

The only reason this doesn't issue a warning is because the compiler
inlines omap4_sdp4430_wifi_mux_init() into omap4_sdp4430_wifi_init().

So, lets add the __init annotation to ensure this remains safe should
the compiler choose not to inline.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-4430sdp.c
27d8d3bf06c574b8bc88d1cf50ed3e3b2c40935b 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: fix section mismatch warning in mux.c

WARNING: arch/arm/mach-omap2/built-in.o(.text+0x15a4): Section mismatch in reference from the function omap_mux_init_signals() to the function .init.text:omap_mux_init_signal()
The function omap_mux_init_signals() references
the function __init omap_mux_init_signal().
This is often because omap_mux_init_signals lacks a __init
annotation or the annotation of omap_mux_init_signal is wrong.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ux.c
0bf68f53f164e169c2bc77f707338fc595b6ccfc 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: fix uninformative vc/i2c configuration error message

On my OMAP4 platform, I'm getting this error message repeated several
times at boot:

omap_vc_i2c_init: I2C config for all channels must match.
omap_vc_i2c_init: I2C config for all channels must match.

This doesn't help identify what the problem is. Fix this message to
be more informative:

omap_vc_i2c_init: I2C config for vdd_iva does not match other channels (0).
omap_vc_i2c_init: I2C config for vdd_mpu does not match other channels (0).

This allows us to identify which voltage domains have a problem, and
what the I2C configuration state (a boolean, i2c_high_speed) setting
being used actually is.

From this we find that omap4_core_pmic has i2c_high_speed false, but
omap4_iva_pmic and omap4_mpu_pmic both have it set true.

Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
c.c
2d5b4790b1e7cffb8987e535d4969d10b62f3163 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: fix vc.c PMIC error message

While testing on my OMAP3430 platform, this error message was emitted:

omap_vc_init_channel: PMIC info requried to configure vc forvdd_core not populated.Hence cannot initialize vc

Trying to find this message was difficult because it was wrapped across
several lines. It also mis-spells "required", doesn't read very well,
and has spaces lacking. Let's replace it with a more concise:

omap_vc_init_channel: No PMIC info for vdd_core

While we're here, fix a simple spelling error in a comment.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
c.c
e6fa35aa9c4e4a32e616d307986283c4070cff78 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: fix prm44xx.c OMAP44XX_IRQ_PRCM build error

When CONFIG_OF is disabled, the compile fails with:

arch/arm/mach-omap2/prm44xx.c:41: error: 'OMAP44XX_IRQ_PRCM' undeclared here (not in a function)

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
rm44xx.c
082f53c2f573c75a8f1610c587a43b6817e20f90 10-Feb-2012 Olof Johansson <olof@lixom.net> Merge branch 'for-arm-soc' of git://sources.calxeda.com/kernel/linux into next/soc

* 'for-arm-soc' of git://sources.calxeda.com/kernel/linux: (247 commits)
ARM: highbank: remove unused memory.h
ARM: highbank: enable sp804 based sched_clock
ARM: timer-sp: add sched_clock support
Linux 3.3-rc3
pcmcia: fix socket refcount decrementing on each resume
mm: fix UP THP spin_is_locked BUGs
drivers/leds/leds-lm3530.c: fix setting pltfm->als_vmax
mm: compaction: check for overlapping nodes during isolation for migration
nilfs2: avoid overflowing segment numbers in nilfs_ioctl_clean_segments()
ASoC: wm8994: Disable line output discharge prior to ramping VMID
ASoC: wm8994: Fix typo in VMID ramp setting
ALSA: oxygen, virtuoso: fix exchanged L/R volumes of aux and CD inputs
ALSA: usb-audio: add Edirol UM-3G support
checkpatch: Warn on code with 6+ tab indentation
ACPI: remove duplicated lines of merging problems with acpi_processor_add
ALSA: hda - add support for Uniwill ECS M31EI notebook
HID: wiimote: fix invalid power_supply_powers call
ALSA: hda - Fix error handling in patch_ca0132.c
target: Fix unsupported WRITE_SAME sense payload
iscsi: use IP_FREEBIND socket option
...
1e056dddabc1b7a909d1f992fefb1d5d5bc8ff0d 10-Feb-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP2xxx: PM: fix OMAP2xxx-specific UART idle bug in v3.3

On OMAP2420-based systems, the PM code ignores the state of the UART
functional clocks when determining what idle state to enter. This
breaks the serial port now that the UART driver's clock behavior can
be controlled via the PM autosuspend timeout.

To fix, remove the special-case idle handling for the UARTs in the
OMAP2420/2430 PM idle code added by commit
4af4016c53f52b26461b8030211f8427a58fa5ed ("OMAP3: PM: UART: disable
clocks when idle and off-mode support").

Tested on Nokia N800. This patch is a collaboration between Tony
Lindgren <tony@atomide.com> and Paul Walmsley <paul@pwsan.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m24xx.c
19e00f2f1d5273dbc52eab0ebc315cae3aa44b2a 09-Feb-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'tty-3.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty

Serial/TTY fixes for the 3.3-rc3 tree

Just a few new device ids, omap serial driver regression fixes, and a
build fix for the 8250 driver movement.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

* tag 'tty-3.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
tty: serial: omap-serial: wakeup latency constraint is in microseconds, not milliseconds
tty: serial: OMAP: block idle while the UART is transferring data in PIO mode
tty: serial: OMAP: use a 1-byte RX FIFO threshold in PIO mode
m32r: relocate drivers back out of 8250 dir
tty: fix a build failure on sparc
serial: samsung: Add support for EXYNOS5250
serial: samsung: Add support for EXYNOS4212 and EXYNOS4412
drivers/tty/vt/vt_ioctl.c: fix KDFONTOP 32bit compatibility layer
be4b0281956c5cae4f63f31f11d07625a6988766 26-Jan-2012 Paul Walmsley <paul@pwsan.com> tty: serial: OMAP: block idle while the UART is transferring data in PIO mode

Prevent OMAP UARTs from going idle while they are still transferring
data in PIO mode. This works around an oversight in the OMAP UART
hardware present in OMAP34xx and earlier: an idle UART won't send a
wakeup when the TX FIFO threshold is reached. This causes long delays
during data transmission when the MPU powerdomain enters a low-power
mode. The MPU interrupt controller is not able to respond to
interrupts when it's in a low-power state, so the TX buffer is not
refilled until another wakeup event occurs.

This fix changes the erratum i291 DMA idle workaround. Rather than
toggling between force-idle and no-idle, it will toggle between
smart-idle and no-idle. The important part of the workaround is the
no-idle part, so this shouldn't result in any change in behavior.

This fix should work on all OMAP UARTs. Future patches intended for
the 3.4 merge window will make this workaround conditional on a
"feature" flag, and will use the OMAP36xx+ TX event wakeup support.

Thanks to Kevin Hilman <khilman@ti.com> for mentioning the erratum i291
workaround, which led to the development of this approach.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Govindraj.R <govindraj.raja@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
erial.c
d980e0f8d858c6963d676013e976ff00ab7acb2b 07-Feb-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: fix oops in arch/arm/mach-omap2/vp.c when pmic is not found

When the PMIC is not found, voltdm->pmic will be NULL. vp.c's
initialization function tries to dereferences this, which causes an
oops:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT
Modules linked in:
CPU: 0 Not tainted (3.3.0-rc2+ #204)
PC is at omap_vp_init+0x5c/0x15c
LR is at omap_vp_init+0x58/0x15c
pc : [<c03db880>] lr : [<c03db87c>] psr: 60000013
sp : c181ff30 ip : c181ff68 fp : c181ff64
r10: c0407808 r9 : c040786c r8 : c0407814
r7 : c0026868 r6 : c00264fc r5 : c040ad6c r4 : 00000000
r3 : 00000040 r2 : 000032c8 r1 : 0000fa00 r0 : 000032c8
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c5387d Table: 80004019 DAC: 00000015
Process swapper (pid: 1, stack limit = 0xc181e2e8)
Stack: (0xc181ff30 to 0xc1820000)
ff20: c0381d00 c02e9c6d c0383582 c040786c
ff40: c040ad6c c00264fc c0026868 c0407814 00000000 c03d9de4 c181ff8c c181ff68
ff60: c03db448 c03db830 c02e982c c03fdfb8 c03fe004 c0039988 00000013 00000000
ff80: c181ff9c c181ff90 c03d9df8 c03db390 c181ffdc c181ffa0 c0008798 c03d9df0
ffa0: c181ffc4 c181ffb0 c0055a44 c0187050 c0039988 c03fdfb8 c03fe004 c0039988
ffc0: 00000013 00000000 00000000 00000000 c181fff4 c181ffe0 c03d1284 c0008708
ffe0: 00000000 c03d1208 00000000 c181fff8 c0039988 c03d1214 1077ce40 01f7ee08
Backtrace:
[<c03db824>] (omap_vp_init+0x0/0x15c) from [<c03db448>] (omap_voltage_late_init+0xc4/0xfc)
[<c03db384>] (omap_voltage_late_init+0x0/0xfc) from [<c03d9df8>] (omap2_common_pm_late_init+0x14/0x54)
r8:00000000 r7:00000013 r6:c0039988 r5:c03fe004 r4:c03fdfb8
[<c03d9de4>] (omap2_common_pm_late_init+0x0/0x54) from [<c0008798>] (do_one_initcall+0x9c/0x164)
[<c00086fc>] (do_one_initcall+0x0/0x164) from [<c03d1284>] (kernel_init+0x7c/0x120)
[<c03d1208>] (kernel_init+0x0/0x120) from [<c0039988>] (do_exit+0x0/0x2cc)
r5:c03d1208 r4:00000000
Code: e5ca300b e5900034 ebf69027 e5994024 (e5941000)
---[ end trace aed617dddaf32c3d ]---
Kernel panic - not syncing: Attempted to kill init!

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
p.c
3686396410e41d97356924b246aced7c86e29ca0 05-Feb-2012 Igor Grinberg <grinberg@compulab.co.il> ARM: OMAP3: cm-t35: fix section mismatch warning

WARNING: arch/arm/mach-omap2/built-in.o(.text+0xeae8):
Section mismatch in reference from the function cm_t35_init_usbh()
to the (unknown reference) .init.data:(unknown)
The function cm_t35_init_usbh() references
the (unknown reference) __initdata (unknown).
This is often because cm_t35_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>
oard-cm-t35.c
fef67c518349a4cd0eba6b38bde4afdc76538147 06-Feb-2012 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP2: Fix the OMAP2 only build break seen with 2011+ ARM tool-chains

With the latest Sourcery G++ Lite 2011.03-41 and latest linaro
tool-chains OMAP2 only build breaks with below error.

arch/arm/mach-omap2/omap-smc.S: Assembler messages:
arch/arm/mach-omap2/omap-smc.S:30: Error: selected processor does not support ARM mode `smc #0'
arch/arm/mach-omap2/omap-smc.S:53: Error: selected processor does not support ARM mode `smc #0'
arch/arm/mach-omap2/omap-smc.S:61: Error: selected processor does not support ARM mode `smc #0'
arch/arm/mach-omap2/omap-smc.S:69: Error: selected processor does not support ARM mode `smc #0'
arch/arm/mach-omap2/omap-smc.S:77: Error: selected processor does not support ARM mode `smc #0'
make[1]: *** [arch/arm/mach-omap2/omap-smc.o] Error 1

OMAP2 devices doesn't have the security support but the security support
was getting built because of OMAP2PLUS. Don't build security code for
OMAP2 devices.

While at it, fix the secure-common line in the Makefile to use tabs
instead of spaces.

Reported-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
2416dc85107bf862acde82ffb8b0c86193487fd5 08-Feb-2012 Tony Lindgren <tony@atomide.com> Merge branch 'fixes-dt' into fixes
98e96852480566333f6dacd3223f0be15df34d60 08-Feb-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'fbdev-fixes-for-3.3-1' of git://github.com/schandinat/linux-2.6

fbdev fixes for 3.3

It includes:
- compile fix for fsl-diu-fb
- fix for a suspend/resume issue in atmel_lcdfb
- fix for a suspend/resume issue in OMAP
- workaround for a hardware bug to avoid physical damage in OMAP
- really trivial dead code removal in intelfb

* tag 'fbdev-fixes-for-3.3-1' of git://github.com/schandinat/linux-2.6:
atmel_lcdfb: fix usage of CONTRAST_CTR in suspend/resume
intelfb: remove some dead code
drivers/video: compile fixes for fsl-diu-fb.c
OMAPDSS: HDMI: PHY burnout fix
OMAP: 4430SDP/Panda: add HDMI HPD gpio
OMAP: 4430SDP/Panda: setup HDMI GPIO muxes
OMAPDSS: remove wrong HDMI HPD muxing
OMAP: 4430SDP/Panda: rename HPD GPIO to CT_CP_HPD
OMAP: 4430SDP/Panda: use gpio_free_array to free HDMI gpios
OMAPDSS: use sync versions of pm_runtime_put
a5f17d1f4c2831b9b9bf8b1a537cdbac995d6e13 08-Feb-2012 Olof Johansson <olof@lixom.net> Merge tag 'v3.3-rc2' into depends/rmk/for-armsoc

There were conflicts between fixes going in after 3.3-rc1 and
Russell's stable arm-soc base branch. Resolving it in the dependency
branch so that each topic branch shares the same resolution.

Conflicts:
arch/arm/mach-at91/at91cap9.c
arch/arm/mach-at91/at91sam9g45.c
55b93c32520dc7ff0097db81db9b1e6b735951a9 29-Sep-2011 Tarun Kanti DebBarma <tarun.kanti@ti.com> gpio/omap: use pm-runtime framework

Call runtime pm APIs pm_runtime_get_sync() and pm_runtime_put()
for enabling/disabling clocks appropriately. Remove syscore_ops and
instead use SET_RUNTIME_PM_OPS macro.

There is no more need to call omap_device_disable_idle_on_suspend
since driver is PM runtime adapted now.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
d0d665a896c5b9a0aa60e8bac15c270cb59aa9e7 30-Aug-2011 Charulatha V <charu@ti.com> gpio/omap: remove bank->method & METHOD_* macros

The only bank->type (method) used in the OMAP GPIO driver is MPUIO type as they
need to be handled separately. Identify the same using a flag and remove all
METHOD_* macros.

mpuio_init() function is defined under #ifdefs. It is required only in case
of MPUIO bank type and only when PM operations are supported by it.
This is applicable only in case of OMAP16xx SoC's MPUIO GPIO bank type.
For all the other cases it is a dummy function. Hence clean up the same
and remove all the OMAP SoC specific #ifdefs.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
ae10f2336b9c0c8da73da2878eba684ab876eb8f 30-Aug-2011 Tarun Kanti DebBarma <tarun.kanti@ti.com> gpio/omap: remove hardcoded offsets in context save/restore

It is not required to use hard-coded offsets any more in context save and
restore functions and instead use the generic offsets which have been correctly
initialized during device registration.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
9ea14d8cbbf1c8fc941e8e8a12aa0a3edc5c336e 30-Aug-2011 Tarun Kanti DebBarma <tarun.kanti@ti.com> gpio/omap: use level/edge detect reg offsets

By adding level and edge detection register offsets and then initializing them
correctly according to OMAP versions during device registrations we can now remove
lot of revision checks in these functions.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
6ed87c5b66ca81996fae2dae6d1e702d66b9832b 13-Sep-2011 Tarun Kanti DebBarma <tarun.kanti@ti.com> gpio/omap: further cleanup using wkup_en register

Wakeup enable register offset initialized according to OMAP versions
during device registration. Use this to avoid version checks.
Starting with OMAP4, legacy registers should not be used in combination
with the updated regsiters. Use wkup_en register consistently for
all SoCs wherever applicable.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
c8eef65a2fc311f8edca47f2e4ac2cccb70eb192 02-May-2011 Charulatha V <charu@ti.com> gpio/omap: avoid cpu checks during module ena/disable

Remove cpu-is checks while enabling/disabling OMAP GPIO module during a gpio
request/free.

Signed-off-by: Charulatha V <charu@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
803a24343f94c3eaeed35e69efa12a576258ca70 05-May-2011 Charulatha V <charu@ti.com> gpio/omap: make non-wakeup GPIO part of pdata

Non-wakeup GPIOs are available only in OMAP2. Avoid cpu_is checks by making
non_wakeup_gpios as part of pdata.

Signed-off-by: Charulatha V <charu@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
60a3437dc9a61c7f4b199c2bac3dcc7b611b1178 29-Sep-2011 Tarun Kanti DebBarma <tarun.kanti@ti.com> gpio/omap: handle save/restore context in GPIO driver

Modify omap_gpio_prepare_for_idle() & omap_gpio_resume_after_idle() functions
to handle save context & restore context respectively in the OMAP GPIO driver
itself instead of calling these functions from pm specific files.
For this, in gpio_prepare_for_idle(), call *_get_context_loss_count() and in
gpio_resume_after_idle() call it again. If the count is different, do restore
context.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
m34xx.c
0cde8d03dd297fa8e7e88cedeb498d0ed5b7776d 05-May-2011 Charulatha V <charu@ti.com> gpio/omap: use flag to identify wakeup domain

In omap3, save/restore context is implemented for GPIO banks 2-6 as GPIO bank1
is in wakeup domain. Instead of identifying bank's power domain by bank id,
use 'loses_context' flag which is filled by pwrdm_can_ever_lose_context()
during dev_init.

For getting the powerdomain pointer, omap_hwmod_get_pwrdm() is used.
omap_device_get_pwrdm() could not be used as the pwrdm information needs to be
filled in pdata, whereas omap_device_get_pwrdm() could be used only after
omap_device_build() call.

Signed-off-by: Charulatha V <charu@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
03e128ca35e5da22e9e65ec8ab158ec0e905fdea 05-May-2011 Charulatha V <charu@ti.com> gpio/omap: remove dependency on gpio_bank_count

The gpio_bank_count is the count of number of GPIO devices in a SoC. Remove this
dependency from the driver by using list. Also remove the dependency on array of
pointers to gpio_bank struct of all GPIO devices.

Signed-off-by: Charulatha V <charu@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
4a81220a61d0cb67880078298485b68da87d8a34 29-Jan-2012 Olof Johansson <olof@lixom.net> Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: arch/arm/mach-omap2/smartreflex.c: add missing iounmap
ARM: OMAP2+: arch/arm/mach-omap2/devices.c: introduce missing kfree
ARM: OMAP: fix MMC2 loopback clock handling
ARM: OMAP: fix erroneous mmc2 clock change on mmc3 setup
ARM: OMAP2+: GPMC: fix device size setup
ARM: OMAP2+: timer: Fix crash due to wrong arg to __omap_dm_timer_read_counter
ARM: OMAP3: hwmod data: register dss hwmods after dss_core
ARM: OMAP2/3: PRM: fix missing plat/irqs.h build breakage
ARM: OMAP2+: io: fix compilation breakage on 2420-only configs
ARM: OMAP4: hwmod data: Add names for DMIC memory address space
ARM: OMAP3: hwmod data: add SYSC_HAS_ENAWAKEUP for dispc
ARM: OMAP2+: hwmod data: split omap2/3 dispc hwmod class
ARM: OMAP2: fix regulator warnings
ARM: OMAP2: fix omap3 touchbook kconfig warning
i2c: OMAP: Fix OMAP1 build error
cd3a2ba070804c519ada9f7afecc9a2d65546900 27-Jan-2012 Tony Lindgren <tony@atomide.com> Merge branch 'omap_fixes_a_3.3rc' of git://git.pwsan.com/linux-2.6 into fixes
14ea960164ecb25f7617eba33e7c7f9163e93e7c 12-Jan-2012 Julia Lawall <Julia.Lawall@lip6.fr> ARM: OMAP2+: arch/arm/mach-omap2/smartreflex.c: add missing iounmap

Add missing iounmap in error handling code, in a case where the function
already preforms iounmap on some other execution path.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e;
statement S,S1;
int ret;
@@
e = \(ioremap\|ioremap_nocache\)(...)
... when != iounmap(e)
if (<+...e...+>) S
... when any
when != iounmap(e)
*if (...)
{ ... when != iounmap(e)
return ...; }
... when any
iounmap(e);
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Tony Lindgren <tony@atomide.com>
martreflex.c
e0feca899c9785316ec67954f1a8e84102eaaca7 23-Dec-2011 Julia Lawall <julia@diku.dk> ARM: OMAP2+: arch/arm/mach-omap2/devices.c: introduce missing kfree

pdata needs to be freed before leaving the function in an error case.

A simplified version of the semantic match that finds the problem is as
follows: (http://coccinelle.lip6.fr)

// <smpl>
@r exists@
local idexpression x;
statement S;
identifier f1;
position p1,p2;
expression *ptr != NULL;
@@

x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
<... when != x
when != if (...) { <+...x...+> }
x->f1
...>
(
return \(0\|<+...x...+>\|ptr\);
|
return@p2 ...;
)

@script:python@
p1 << r.p1;
p2 << r.p2;
@@

print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
d82e5190da9057e31d6f0fe5771dfbe55ff9125f 12-Jan-2012 Grazvydas Ignotas <notasas@gmail.com> ARM: OMAP: fix MMC2 loopback clock handling

Currently MMC2 setup code can only enable loopback clock and
relies on reset value for boards that need to have it disabled.
This causes a problem with certain bootloaders that always enable
that clock, resulting with unwanted bootloader dependencies.

Fix this by making it disable the clock if board data says so.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
ffa1e4ede453cf92cfcd9f96f9140c21aeb319f7 18-Dec-2011 Grazvydas Ignotas <notasas@gmail.com> ARM: OMAP: fix erroneous mmc2 clock change on mmc3 setup

hsmmc23_before_set_reg() can set MMCSDIO2ADPCLKISEL bit, which
enables internal clock for MMC2. Currently this function is also called
by code handling MMC3, and if .internal_clock is set in platform data
(by default it currently is), it will set MMCSDIO2ADPCLKISEL for MMC2
instead of MMC3 (MMC3 doesn't have such bit so nothing actually needs to
be done). This breaks 2nd SD slot on pandora.

Fix this by changing hsmmc23_before_set_reg() to only handle MMC2.
Note that this removes .remux() call for MMC3, but no board currently
needs it and it's also not called for MMC4 and MMC5.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
8ef5d844cc3a644ea6f7665932a4307e9fad01fa 23-Jan-2012 Yegor Yefremov <yegor_sub1@visionsystems.de> ARM: OMAP2+: GPMC: fix device size setup

following statement can only change device size from 8-bit(0) to 16-bit(1),
but not vice versa:

regval |= GPMC_CONFIG1_DEVICESIZE(wval);

so as this field has 1 reserved bit, that could be used in future,
just clear both bits and then OR with the desired value

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
dbc3982ae286e934e71f0b44e78d14844a9ca83b 22-Jan-2012 Vaibhav Hiremath <hvaibhav@ti.com> ARM: OMAP2+: timer: Fix crash due to wrong arg to __omap_dm_timer_read_counter

Commit 2f0778af (ARM: 7205/2: sched_clock: allow sched_clock to be
selected at runtime) had a typo for the case when CONFIG_OMAP_32K_TIMER
is not set.

In dmtimer_read_sched_clock(), wrong argument was getting passed to
__omap_dm_timer_read_counter() function call; instead of "&clksrc",
we were passing "clksrc.io_base", which results into kernel crash.

To reproduce kernel crash, just disable the CONFIG_OMAP_32K_TIMER config
option (and DEBUG_LL) and build/boot the kernel.
This will use dmtimer as a kernel clocksource and lead to kernel
crash during boot -

[ 0.000000] OMAP clocksource: GPTIMER2 at 26000000 Hz
[ 0.000000] sched_clock: 32 bits at 26MHz, resolution 38ns, wraps every
165191ms
[ 0.000000] Unable to handle kernel paging request at virtual address
00030ef1
[ 0.000000] pgd = c0004000
[ 0.000000] [00030ef1] *pgd=00000000
[ 0.000000] Internal error: Oops: 5 [#1] SMP
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 Not tainted (3.3.0-rc1-11574-g0c76665-dirty #3)
[ 0.000000] PC is at dmtimer_read_sched_clock+0x18/0x4c
[ 0.000000] LR is at update_sched_clock+0x10/0x84
[ 0.000000] pc : [<c00243b8>] lr : [<c0018684>] psr: 200001d3
[ 0.000000] sp : c0641f38 ip : c0641e18 fp : 0000000a
[ 0.000000] r10: 151c3303 r9 : 00000026 r8 : 76276259
[ 0.000000] r7 : 00028547 r6 : c065ac80 r5 : 431bde82 r4 : c0655968
[ 0.000000] r3 : 00030ef1 r2 : fb032000 r1 : 00000028 r0 : 00000001

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer.c
dcf81c1af839b77b44404453ecae6e5ac5a75f05 26-Jan-2012 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'amba' into for-armsoc
e911ff17467248edcd8639243c0c1b1f933057d8 18-Dec-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: amba: omap2: use common amba device initializers

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
mu.c
3c90c98a1ebbb08d95700ce8a3b7bce6286607bd 08-Dec-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP4: omap4panda: Enable audio support

PandaBoard has twl6040 codec for audio.
Register the omap4-abe-twl6040 platform device.
Add platform data to enable the twl6040 codec.
Since there is a difference in audio between PandaBoard 4430
and PandaBoard ES (4460):
Use different name for the sound card:
"PandaBoard" for PandaBoard 4430
"PandaBoardES" for PandaBoard ES

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
CC: David Anders <x0132446@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
oard-omap4panda.c
a433ffabab2996637ac941b75a7b22ecb41ef1a4 07-Dec-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP4: 4430sdp: Register platform device for OMAP4 audio

To avoid breakage in audio support with the coming change
in ASoC machine driver (conversion to platfrom device).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
oard-4430sdp.c
c49d005b6cc8491fad5b24f82805be2d6bcbd3dd 17-Jan-2012 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAPDSS: HDMI: PHY burnout fix

A hardware bug in the OMAP4 HDMI PHY causes physical damage to the board
if the HDMI PHY is kept powered on when the cable is not connected.

This patch solves the problem by adding hot-plug-detection into the HDMI
IP driver. This is not a real HPD support in the sense that nobody else
than the IP driver gets to know about the HPD events, but is only meant
to fix the HW bug.

The strategy is simple: If the display device is turned off by the user,
the PHY power is set to OFF. When the display device is turned on by the
user, the PHY power is set either to LDOON or TXON, depending on whether
the HDMI cable is connected.

The reason to avoid PHY OFF when the display device is on, but the cable
is disconnected, is that when the PHY is turned OFF, the HDMI IP is not
"ticking" and thus the DISPC does not receive pixel clock from the HDMI
IP. This would, for example, prevent any VSYNCs from happening, and
would thus affect the users of omapdss. By using LDOON when the cable is
disconnected we'll avoid the HW bug, but keep the HDMI working as usual
from the user's point of view.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-4430sdp.c
oard-omap4panda.c
aa74274b464d4aa24703963ac89a0ee942d5d267 17-Jan-2012 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: 4430SDP/Panda: add HDMI HPD gpio

Both Panda and 4430SDP use GPIO 63 as HDMI hot-plug-detect. Configure
this GPIO in the board files.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
oard-omap4panda.c
78a1ad8f12db70b8b0a4548b90704de08ee216ce 17-Jan-2012 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: 4430SDP/Panda: setup HDMI GPIO muxes

The HDMI GPIO pins LS_OE and CT_CP_HPD are not currently configured.
This patch configures them as output pins.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
oard-omap4panda.c
7bb122d155f742fe2d79849090c825be7b4a247e 17-Jan-2012 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAPDSS: remove wrong HDMI HPD muxing

"hdmi_hpd" pin is muxed to INPUT and PULLUP, but the pin is not
currently used, and in the future when it is used, the pin is used as a
GPIO and is board specific, not an OMAP4 wide thing.

So remove the muxing for now.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
isplay.c
3932a32fcf5393f8be70ac99dc718ad7ad0a415b 17-Jan-2012 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: 4430SDP/Panda: rename HPD GPIO to CT_CP_HPD

The GPIO 60 on 4430sdp and Panda is not HPD GPIO, as currently marked in
the board files, but CT_CP_HPD, which is used to enable/disable HPD
functionality.

This patch renames the GPIO.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
oard-omap4panda.c
575753e3bea3b67eef8e454fb87f719e3f7da599 17-Jan-2012 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: 4430SDP/Panda: use gpio_free_array to free HDMI gpios

Instead of freeing the GPIOs individually, use gpio_free_array().

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
oard-omap4panda.c
1d2f56c84f100890476e62d83062cfe9965fc7b4 28-Dec-2011 Ilya Yanok <yanok@emcraft.com> ARM: OMAP3: hwmod data: register dss hwmods after dss_core

dss_core has to be initialized before any other DSS hwmod. Currently
this is broken as dss_core is listed in chip/revision specific hwmod
lists while other DSS hwmods are listed in common list which is
registered first.

This patch moves DSS hwmods (except for dss_core) to the separate list
which is registered last to ensure that dss_core is already registered.

This solves the problem with BUG() in L3 interrupt handler on boards
with DSS enabled in bootloader.

The long-term fix to this is to ensure modules are set up in dependency
order in the hwmod core code.

CC: Tomi Valkeinen <tomi.valkeinen@ti.com>
CC: Archit Taneja <archit@ti.com>
CC: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
[paul@pwsan.com: add notes that this is just a temporary workaround until
hwmod dependencies are added]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_3xxx_data.c
d19e8f2e44a34b2a461f67ce9d0cb5bd43197c1e 25-Jan-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP2/3: PRM: fix missing plat/irqs.h build breakage

Commit 22f51371f8c35869ed850f46aa76b6cc2b502110 ("ARM: OMAP3: pm: use
prcm chain handler") breaks the build on a 2420-only config, due to
a missing include for plat/irqs.h:

CC arch/arm/mach-omap2/prm2xxx_3xxx.o
arch/arm/mach-omap2/prm2xxx_3xxx.c:41:11: error: 'INT_34XX_PRCM_MPU_IRQ' undeclared here (not in a function)

Fix by explicitly including it.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tero Kristo <t-kristo@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
rm2xxx_3xxx.c
161107981df333955218bb0894f53b05b31da2ff 25-Jan-2012 Paul Walmsley <paul@pwsan.com> ARM: OMAP2+: io: fix compilation breakage on 2420-only configs

Commit 7b250aff1ce346b6c7bc0329a2350334d1c66525 ("ARM: OMAP: Avoid
cpu_is_omapxxxx usage until map_io is done") breaks the build on a
2420-only config on v3.3-rc1:

arch/arm/mach-omap2/built-in.o: In function `omap2430_init_early':
arch/arm/mach-omap2/io.c:406: undefined reference to `omap2_set_globals_243x'
arch/arm/mach-omap2/io.c:410: undefined reference to `omap243x_clockdomains_init'
arch/arm/mach-omap2/io.c:411: undefined reference to `omap2430_hwmod_init'

Fix by only compiling omap2420_init_early() when CONFIG_SOC_OMAP2420
is selected, and only compiling omap2430_init_early() when
CONFIG_SOC_OMAP2430 is selected.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
o.c
6af486e2b3d45efca7c680aa7ce3bacebe22d7aa 28-Nov-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> ARM: OMAP4: hwmod data: Add names for DMIC memory address space

To be able to get the memory resources by name from
the DMIC driver (for MPU and for DMA).

Without this patch, functionality that was working in 3.2 breaks in
3.3-rc1. This patch should have gone in as part of the 3.3 merge
window, but was inadvertently missed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[paul@pwsan.com: added commit message note]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
b0a85faf0bf11862a2a466daa1b7dc1d45527e64 23-Jan-2012 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP3: hwmod data: add SYSC_HAS_ENAWAKEUP for dispc

dispc's sysc_flags is missing SYSC_HAS_ENAWAKEUP flag. This seems to
cause SYNC_LOST errors from the DSS when the power management is
enabled.

This patch adds the missing SYSC_HAS_ENAWAKEUP flag. Note that there are
other flags missing also (clock activity, DSI's sysc flags), but as they
are not critical, they will be fixed in the next merge window.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_3xxx_data.c
1ac6d46e43a52a901dadde2a341204e9a1c9e147 23-Jan-2012 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP2+: hwmod data: split omap2/3 dispc hwmod class

Currently OMAP2 and 3 share the same omap_hwmod_class and
omap_hwmod_class_sysconfig for dispc. However, OMAP3 has sysconfig
bits that OMAP2 doesn't have, so we need to split those structs into
OMAP2 and OMAP3 specific versions.

This patch only splits the structs, without changing the contents.
This is a prerequisite for a subsequent fix.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
[paul@pwsan.com: added commit note]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2xxx_3xxx_ipblock_data.c
map_hwmod_2xxx_ipblock_data.c
map_hwmod_3xxx_data.c
a092f2b15399bb4d1aa4e83cffe775f0c946f323 20-Jan-2012 Will Deacon <will.deacon@arm.com> ARM: 7291/1: cache: assume 64-byte L1 cachelines for ARMv7 CPUs

To ensure correct alignment of cacheline-aligned data, the maximum
cacheline size needs to be known at compile time.

Since Cortex-A8 and Cortex-A15 have 64-byte cachelines (and it is likely
that there will be future ARMv7 implementations with the same line size)
then it makes sense to assume that CPU_V7 implies a 64-byte L1 cacheline
size. For CPUs with smaller caches, this will result in some harmless
padding but will help with single zImage work and avoid hitting subtle
bugs with misaligned data structures.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
config
a570067df9cc1b1821ca5255bbbe8adb67aca199 19-Dec-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: big removal of now unused arch_idle()

When this is the only content remaining in mach/system.h then the
whole file is removed.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-and-tested-by: Jamie Iles <jamie@jamieiles.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: David Brown <davidb@codeaurora.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
nclude/mach/system.h
rm_common.c
ae940913030386884f259eb4d95ac4d93b57144f 19-Dec-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: substitute arch_idle()

Now that all implementations of arch_idle() are equivalent to cpu_do_idle()
we can just use the later directly and stop including mach/system.h.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-and-tested-by: Jamie Iles <jamie@jamieiles.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
m44xx.c
0bcd24b0f414003c695e2ecf16b9ffa14d184f48 04-Jan-2012 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: OMAP: convert idle handlers from pm_idle to arm_pm_idle

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Tested-by: Tony Lindgren <tony@atomide.com>
m24xx.c
m34xx.c
m44xx.c
a075ccc6810dd2532d6bca548bd6e3b59105bd82 20-Jan-2012 Felipe Contreras <felipe.contreras@gmail.com> ARM: OMAP2: fix regulator warnings

warning: (MACH_OMAP_ZOOM2 && MACH_OMAP_ZOOM3 && MACH_OMAP_4430SDP &&
MACH_OMAP4_PANDA && TPS6105X) selects REGULATOR_FIXED_VOLTAGE
which has unmet direct dependencies (REGULATOR)

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
7080727c207f569751e94aaed7d94e873c69115f 20-Jan-2012 Felipe Contreras <felipe.contreras@gmail.com> ARM: OMAP2: fix omap3 touchbook kconfig warning

warning: (MACH_OMAP3_TOUCHBOOK && DRM_RADEON_KMS && DRM_I915 &&
STUB_POULSBO && FB_BACKLIGHT && USB_APPLEDISPLAY && FB_OLPC_DCON &&
ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP &&
ACPI_ASUS && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE
which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT)

A lot of boards need BACKLIGHT_CLASS_DEVICE for the framebuffers to
work, but it's not *needed* for the device itself. It might be nice to
enable it by default somewhoe if graphics stuff is enabled, but that's
another story.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
5405520d08b691bfa5bdad395ad72ecbc0979d3b 20-Jan-2012 Tony Lindgren <tony@atomide.com> Merge branch 'soc-part2' into soc
6e03db2ba17b5d32431b4c2012e6a41153318a90 17-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
ARM: OMAP3: fix build on !CONFIG_IOMMU_API
5b3fcfed35735af507be36a4c3f3bbeb9bc7bbf6 17-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'fixes' of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-arm

* 'fixes' of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-arm:
ARM: sa11x0: assabet: fix build warning
ARM: Add arm_memblock_steal() to allocate memory away from the kernel
ARM: 7275/1: LPAE: Check the CPU support for the long descriptor format
ARM: 7274/1: NUC900: Rename nuc900-audio platform device to nuc900-ac97
ARM: 7272/1: S3C24XX: Fix build error for missing <mach/system-reset.h>
ARM: 7271/1: Fix typo in conversion of ARCH_NR_GPIOS to Kconfig
1a51a0ce174ddc0b0c11b6a0dbd179d95020e80b 11-Jan-2012 Ohad Ben-Cohen <ohad@wizery.com> ARM: OMAP3: fix build on !CONFIG_IOMMU_API

omap3isp depends on CONFIG_IOMMU_API, so avoid registering its
device (and defining its configuration structs) on !CONFIG_IOMMU_API.

This is generally nice to have, but more importantly, it fixes:

arch/arm/plat-omap/include/plat/iommu.h: In function 'dev_to_omap_iommu':
arch/arm/plat-omap/include/plat/iommu.h:135: error: 'struct
dev_archdata' has no member named 'iommu'
arch/arm/mach-omap2/devices.c: In function 'omap3_init_camera':
arch/arm/mach-omap2/devices.c:222: error: 'struct dev_archdata' has no
member named 'iommu'
make[1]: *** [arch/arm/mach-omap2/devices.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Which happens because while setting up the omap3isp device we try
to access the (now nonexistent) iommu member of dev_archdata.

Compile tested with omap2plus_defconfig on today's:

commit e343a895a9f342f239c5e3c5ffc6c0b1707e6244
Merge: 06792c4 193a667
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Tue Jan 10 18:04:27 2012 -0800

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost

Reported-by: Govindraj Raja <govindraj.raja@ti.com>
Reported-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Joerg Roedel <Joerg.Roedel@amd.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
evices.c
51be08419dc86c72486ac556aa39bc01026a403d 15-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'fbdev-next' of git://github.com/schandinat/linux-2.6

* 'fbdev-next' of git://github.com/schandinat/linux-2.6: (175 commits)
module_param: make bool parameters really bool (drivers/video/i810)
Revert "atmel_lcdfb: Adjust HFP calculation so it matches the manual."
OMAPDSS: HDMI: Disable DDC internal pull up
OMAPDSS: HDMI: Move duplicate code from boardfile
OMAPDSS: add OrtusTech COM43H4M10XTC display support
OMAP: DSS2: Support for UMSH-8173MD TFT panel
ASoC: OMAP: HDMI: Move HDMI codec trigger function to generic HDMI driver
OMAPDSS: HDMI: Create function to enable HDMI audio
ASoC: OMAP: HDMI: Correct signature of ASoC functions
ASoC: OMAP: HDMI: Introduce driver data for audio codec
grvga: fix section mismatch warnings
video: s3c-fb: Don't keep device runtime active when open
video: s3c-fb: Hold runtime PM references when touching registers
video: s3c-fb: Take a runtime PM reference when unblanked
video: s3c-fb: Disable runtime PM in error paths from probe
video: s3c-fb: Use s3c_fb_enable() to enable the framebuffer
video: s3c-fb: Make runtime PM functional again
drivers/video: fsl-diu-fb: merge fsl_diu_alloc() into map_video_memory()
drivers/video: fsl-diu-fb: add default platform ops functions
drivers/video: fsl-diu-fb: remove broken reference count enabling the display
...
716a3dc20084da9b3ab17bd125005a5345e23e3b 13-Jan-2012 Russell King <rmk+kernel@arm.linux.org.uk> ARM: Add arm_memblock_steal() to allocate memory away from the kernel

Several platforms are now using the memblock_alloc+memblock_free+
memblock_remove trick to obtain memory which won't be mapped in the
kernel's page tables. Most platforms do this (correctly) in the
->reserve callback. However, OMAP has started to call these functions
outside of this callback, and this is extremely unsafe - memory will
not be unmapped, and could well be given out after memblock is no
longer responsible for its management.

So, provide arm_memblock_steal() to perform this function, and ensure
that it panic()s if it is used inappropriately. Convert everyone
over, including OMAP.

As a result, OMAP with OMAP4_ERRATA_I688 enabled will panic on boot
with this change. Mark this option as BROKEN and make it depend on
BROKEN. OMAP needs to be fixed, or 137d105d50 (ARM: OMAP4: Fix
errata i688 with MPU interconnect barriers.) reverted until such
time it can be fixed correctly.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
config
map-secure.c
map4-common.c
a429638cac1e5c656818a45aaff78df7b743004e 12-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (526 commits)
ASoC: twl6040 - Add method to query optimum PDM_DL1 gain
ALSA: hda - Fix the lost power-setup of seconary pins after PM resume
ALSA: usb-audio: add Yamaha MOX6/MOX8 support
ALSA: virtuoso: add S/PDIF input support for all Xonars
ALSA: ice1724 - Support for ooAoo SQ210a
ALSA: ice1724 - Allow card info based on model only
ALSA: ice1724 - Create capture pcm only for ADC-enabled configurations
ALSA: hdspm - Provide unique driver id based on card serial
ASoC: Dynamically allocate the rtd device for a non-empty release()
ASoC: Fix recursive dependency due to select ATMEL_SSC in SND_ATMEL_SOC_SSC
ALSA: hda - Fix the detection of "Loopback Mixing" control for VIA codecs
ALSA: hda - Return the error from get_wcaps_type() for invalid NIDs
ALSA: hda - Use auto-parser for HP laptops with cx20459 codec
ALSA: asihpi - Fix potential Oops in snd_asihpi_cmode_info()
ALSA: hdsp - Fix potential Oops in snd_hdsp_info_pref_sync_ref()
ALSA: hda/cirrus - support for iMac12,2 model
ASoC: cx20442: add bias control over a platform provided regulator
ALSA: usb-audio - Avoid flood of frame-active debug messages
ALSA: snd-usb-us122l: Delete calls to preempt_disable
mfd: Put WM8994 into cache only mode when suspending
...

Fix up trivial conflicts in:
- arch/arm/mach-s3c64xx/mach-crag6410.c:
renamed speyside_wm8962 to tobermory, added littlemill right
next to it
- drivers/base/regmap/{regcache.c,regmap.c}:
duplicate diff that had already come in with other changes in
the regmap tree
b24ca57e7625bc304e77bc429693ad32a691eb16 12-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.infradead.org/battery-2.6

* git://git.infradead.org/battery-2.6: (68 commits)
power_supply: Mark da9052 driver as broken
power_supply: Drop usage of nowarn variant of sysfs_create_link()
s3c_adc_battery: Average over more than one adc sample
power_supply: Add DA9052 battery driver
isp1704_charger: Fix missing check
jz4740-battery: Fix signedness bug
power_supply: Assume mains power by default
sbs-battery: Fix devicetree match table
ARM: rx51: Add bq27200 i2c board info
sbs-battery: Change power supply name
devicetree-bindings: Propagate bq20z75->sbs rename to dt bindings
devicetree-bindings: Add vendor entry for Smart Battery Systems
sbs-battery: Rename internals to new name
bq20z75: Rename to sbs-battery
wm97xx_battery: Use DEFINE_MUTEX() for work_lock
max8997_charger: Remove duplicate module.h
lp8727_charger: Some minor fixes for the header
lp8727_charger: Add header file
power_supply: Convert drivers/power/* to use module_platform_driver()
power_supply: Add "unknown" in power supply type
...
1c8106528aa6bf16b3f457de80df1cf7462a49a4 10-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (53 commits)
iommu/amd: Set IOTLB invalidation timeout
iommu/amd: Init stats for iommu=pt
iommu/amd: Remove unnecessary cache flushes in amd_iommu_resume
iommu/amd: Add invalidate-context call-back
iommu/amd: Add amd_iommu_device_info() function
iommu/amd: Adapt IOMMU driver to PCI register name changes
iommu/amd: Add invalid_ppr callback
iommu/amd: Implement notifiers for IOMMUv2
iommu/amd: Implement IO page-fault handler
iommu/amd: Add routines to bind/unbind a pasid
iommu/amd: Implement device aquisition code for IOMMUv2
iommu/amd: Add driver stub for AMD IOMMUv2 support
iommu/amd: Add stat counter for IOMMUv2 events
iommu/amd: Add device errata handling
iommu/amd: Add function to get IOMMUv2 domain for pdev
iommu/amd: Implement function to send PPR completions
iommu/amd: Implement functions to manage GCR3 table
iommu/amd: Implement IOMMUv2 TLB flushing routines
iommu/amd: Add support for IOMMUv2 domain mode
iommu/amd: Add amd_iommu_domain_direct_map function
...
b3c37522928b5452588fc202eaa0f11f6e339256 09-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

power management changes for omap and imx

A significant part of the changes for these two platforms went into
power management, so they are split out into a separate branch.

* tag 'pm' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (65 commits)
ARM: imx6: remove __CPUINIT annotation from v7_invalidate_l1
ARM: imx6: fix v7_invalidate_l1 by adding I-Cache invalidation
ARM: imx6q: resume PL310 only when CACHE_L2X0 defined
ARM: imx6q: build pm code only when CONFIG_PM selected
ARM: mx5: use generic irq chip pm interface for pm functions on
ARM: omap: pass minimal SoC/board data for UART from dt
arm/dts: Add minimal device tree support for omap2420 and omap2430
omap-serial: Add minimal device tree support
omap-serial: Use default clock speed (48Mhz) if not specified
omap-serial: Get rid of all pdev->id usage
ARM: OMAP2+: hwmod: Add a new flag to handle hwmods left enabled at init
ARM: OMAP4: PRM: use PRCM interrupt handler
ARM: OMAP3: pm: use prcm chain handler
ARM: OMAP: hwmod: add support for selecting mpu_irq for each wakeup pad
ARM: OMAP2+: mux: add support for PAD wakeup interrupts
ARM: OMAP: PRCM: add suspend prepare / finish support
ARM: OMAP: PRCM: add support for chain interrupt handler
ARM: OMAP3/4: PRM: add functions to read pending IRQs, PRM barrier
ARM: OMAP2+: hwmod: Add API to enable IO ring wakeup
ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list
...
2ac9d7aaccbd598b5bd19ac40761b723bb675442 09-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Driver specific changes

Again, a lot of platforms have changes in here: pxa, samsung, omap,
at91, imx, ...

* tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
ARM: sa1100: clean up of the clock support
ARM: pxa: add dummy clock for sa1100-rtc
RTC: sa1100: support sa1100, pxa and mmp soc families
RTC: sa1100: remove redundant code of setting alarm
RTC: sa1100: Clean out ost register
Input: zylonite-wm97xx - replace IRQ_GPIO() with gpio_to_irq()
pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
ARM: EXYNOS: Modified files for SPI consolidation work
ARM: S5P64X0: Enable SDHCI support
ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
ARM: S5P64X0: Add HSMMC setup for host Controller
ARM: EXYNOS: Add USB OHCI support to ORIGEN board
USB: Add Samsung Exynos OHCI diver
ARM: EXYNOS: Add USB OHCI support to SMDKV310 board
ARM: EXYNOS: Add USB OHCI device
net: macb: fix build break with !CONFIG_OF
i2c: tegra: Support DVC controller in device tree
i2c: tegra: Add __devinit/exit to probe/remove
net/at91_ether: use gpio_is_valid for phy IRQ line
ARM: at91/net: add macb ethernet controller in 9g45/9g20 DT
...
5ede3ceb7b2c2843e153a1803edbdc8c56655950 09-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

New feature development

This adds support for new features, and contains stuff from most
platforms. A number of these patches could have fit into other
branches, too, but were small enough not to cause too much
confusion here.

* tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
mfd/db8500-prcmu: remove support for early silicon revisions
ARM: ux500: fix the smp_twd clock calculation
ARM: ux500: remove support for early silicon revisions
ARM: ux500: update register files
ARM: ux500: register DB5500 PMU dynamically
ARM: ux500: update ASIC detection for U5500
ARM: ux500: support DB8520
ARM: picoxcell: implement watchdog restart
ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C
ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1
ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4
ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3
ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3
ARM: Orion: Remove address map info from all platform data structures
ARM: Orion: Get address map from plat-orion instead of via platform_data
ARM: Orion: mbus_dram_info consolidation
ARM: Orion: Consolidate the address map setup
ARM: Kirkwood: Add configuration for MPP12 as GPIO
ARM: Kirkwood: Recognize A1 revision of 6282 chip
ARM: ux500: update the MOP500 GPIO assignments
...
6d889d03ab1417645e76e129834f76204bae37c0 09-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Board-level changes

This adds and extends support for specific boards on a number of
ARM platforms: omap, imx, samsung, tegra, ...

* tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (49 commits)
Enable 32 bit flash support for iMX21ADS board
ARM: mx31pdk: Add MC13783 RTC support
iomux-mx25: configuration to support CSPI3 on CSI pins
MX1:apf9328: Add i2c support
mioa701: add newly available DoC G3 chip
arm/tegra: remove __initdata annotation from pinmux tables
arm/tegra: Use bus notifiers to trigger pinmux setup
arm/tegra: Refactor board-*-pinmux.c to share code
arm/tegra: Fix mistake in Trimslice's pinmux
arm/tegra: Rework Seaboard-vs-Ventana pinmux table
arm/tegra: Remove useless entries from ventana_pinmux[]
arm/tegra: PCIe: Remove include of mach/pinmux.h
arm/tegra: Harmony PCIe: Don't touch pinmux
arm/tegra: Add AUXDATA for tegra-pinmux and tegra-gpio
arm/tegra: Split Seaboard GPIO table to allow for Ventana
ARM: imx6q: generate imx6q dtb files
arm/imx6q: Rename Sabreauto to Armadillo2
arm/imx6q-sabrelite: add enet phy ksz9021rn fixup
arm/imx6: add imx6q sabrelite board support
dts/imx: rename uart labels to consistent with hw spec
...
7400c12eb069df781894a94dfa5c865f3fe3e2d4 09-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

SoC-level changes for tegra and omap

This adds support for the new tegra30 SoC, as well as small
changes to support minor variations of existing omap SoCs.

* tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (26 commits)
arm/tegra: Compile tegra_dt_init_irq only when CONFIG_OF
arm/tegra: Make MACH_TEGRA_DT depend on ARCH_TEGRA_2x_SOC
arm/tegra: Delete tegra_init_clock()
arm/tegra: Fix section mismatch errors in tegra30 pinmux
arm/tegra: Fix section mismatch errors in tegra20 pinmux
arm/tegra: refresh defconfig for tegra30
arm/tegra: add support for tegra30 based board cardhu
arm/tegra: implement support for tegra30
arm/tegra: pinmux tables and definitions for tegra30
arm/tegra: add new fields to struct tegra_pingroup_desc
arm/tegra: prepare pinmux code for multiple tegra variants
arm/tegra: rename tegra20 pinmux files
arm/tegra: generalize L2 cache initialization
arm/tegra: use PMC reset
arm/tegra: rename board-dt.c to board-dt-tegra20.c
arm/tegra: prepare early init for multiple tegra variants
arm/tegra: don't export clk_measure_input_freq
arm/tegra: prepare clock code for multiple tegra variants
arm/tegra: cleanup tegra20 support
arm/tegra: clk_get should not be fatal
...

Fix up trivial conflict in arch/arm/mach-tegra/board-dt-tegra20.c
57e964e1ae9bd4f699ae1074430bcf81a9a11377 09-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Non-critical bug fixes

Simple bug fixes that were not considered important enough for inclusion
into 3.2.

* tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
MAINTAINERS: update pxa and mmp
ARM: pxa: Include linux/export.h in balloon3.c
ARM: OMAP4: clock: Add CPU local timer clock node
ARM: OMAP4: hwmod: Don't wait for the idle status if modulemode is not supported
ARM: OMAP: AM3517/3505: fix crash on boot due to incorrect voltagedomain data
ARM: OMAP: hwmod data: fix the panic on Nokia RM-680 during boot
ARM: OMAP2+: DMA: Workaround for invalid destination position
ARM: OMAP2+: DMA: Workaround for invalid source position
55b81e6f2795484ea8edf5805c95c007cacfa736 09-Jan-2012 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

* 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (232 commits)
USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c
xhci: Clean up 32-bit build warnings.
USB: update documentation for usbmon
usb: usb-storage doesn't support dynamic id currently, the patch disables the feature to fix an oops
drivers/usb/class/cdc-acm.c: clear dangling pointer
drivers/usb/dwc3/dwc3-pci.c: introduce missing kfree
drivers/usb/host/isp1760-if.c: introduce missing kfree
usb: option: add ZD Incorporated HSPA modem
usb: ch9: fix up MaxStreams helper
USB: usb-skeleton.c: cleanup open_count
USB: usb-skeleton.c: fix open/disconnect race
xhci: Properly handle COMP_2ND_BW_ERR
USB: remove dead code from suspend/resume path
USB: add quirk for another camera
drivers: usb: wusbcore: Fix dependency for USB_WUSB
xhci: Better debugging for critical host errors.
xhci: Be less verbose during URB cancellation.
xhci: Remove debugging about ring structure allocation.
xhci: Remove debugging about toggling cycle bits.
xhci: Remove debugging for individual transfers.
...
421b759b86eb8a914cbbd11f6d09a74f411762c6 09-Jan-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'samsung/cleanup' into next/boards

Conflicts:
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-omap2/board-ti8168evm.c
arch/arm/mach-s3c64xx/Kconfig
arch/arm/mach-tegra/Makefile
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/common.c

Lots of relatively simple conflicts between the board
changes and stuff from the arm tree. This pulls in
the resolution from the samsung/cleanup tree, so we
don't get conflicting merges.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
dcf7ec5ee62a78123057a1e286c88ca739717409 09-Jan-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'samsung/driver' into next/drivers

Conflicts:
arch/arm/mach-mxs/include/mach/common.h

Pull in previous samsung conflict merges and do a trivial
merge of an mxs double-add conflict.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
00fb5430f547e411ab03385cfa548776aaac1c92 09-Jan-2012 Joerg Roedel <joerg.roedel@amd.com> Merge branches 'iommu/fixes', 'arm/omap' and 'x86/amd' into next

Conflicts:
drivers/pci/hotplug/acpiphp_glue.c
193984f43decedd2604547022e3a26249dc18b3e 08-Jan-2012 Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Merge branch 'for-florian' of git://gitorious.org/linux-omap-dss2/linux into fbdev-next
23c4c1c7b0dd2ebeb90bb6851478c0e80fe9e6b8 07-Jan-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'depends/rmk/for-linus' into next/soc

Conflicts:
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/common.c
d77711aaa17a7bb4d7fbf676b047051218c49e03 25-Nov-2011 Pali Rohár <pali.rohar@gmail.com> ARM: rx51: Add bq27200 i2c board info

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
oard-rx51-peripherals.c
7b9dd47136c07ffd883aff6926c7b281e4c1eea4 05-Jan-2012 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'restart' into for-linus

Conflicts:
arch/arm/mach-exynos/cpu.c

The changes to arch/arm/mach-exynos/cpu.c were moved to
mach-exynos/common.c.
2e0e943436912ffe0848ece58167edfe754edb96 05-Jan-2012 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'devel-stable' into for-linus

Conflicts:
arch/arm/kernel/setup.c
arch/arm/mach-shmobile/board-kota2.c
baa9588344d35d751d6e2b1677ec67e7b32d2878 05-Nov-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: restart: omap: use new restart hook

Hook these platforms restart code into the new restart hook rather
than using arch_reset().

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51.c
oard-ti8168evm.c
oard-zoom.c
ommon.h
rcm.c
4c5f830c4c9d4f19c1eef356c0cd322b46d695c9 05-Jan-2012 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'for-russell' of git://hansjkoch.de/git/linux-tcc into HEAD

Conflicts:
arch/arm/plat-omap/include/plat/common.h
9a9016832d2601a290db4dce6dd55552bdae5b1a 02-Jan-2012 Mythri P K <mythripk@ti.com> OMAPDSS: HDMI: Disable DDC internal pull up

Disables the internal pull resistor for SDA and SCL which are enabled by
default, as there are external pull up's in 4460 and 4430 ES2.3
SDP, Blaze and Panda Boards, It is done to avoid the EDID read failure.

Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
Signed-off-by: Mythri P K <mythripk@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-4430sdp.c
oard-omap4panda.c
isplay.c
ee9dfd82ff1317ac5c0147fe21508ad6d7df4cff 02-Jan-2012 Mythri P K <mythripk@ti.com> OMAPDSS: HDMI: Move duplicate code from boardfile

Move duplicate HDMI mux_init code from omap4 and panda board file
to display file.

Signed-off-by: Mythri P K <mythripk@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-4430sdp.c
oard-omap4panda.c
isplay.c
1fc3eb81100c3f3cd44e706e54390151b0f1ce74 03-Jan-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'imx/board' into next/boards

* imx/board: (4 commits)
Enable 32 bit flash support for iMX21ADS board
ARM: mx31pdk: Add MC13783 RTC support
iomux-mx25: configuration to support CSPI3 on CSI pins
MX1:apf9328: Add i2c support

Updated to v3.2-rc6, conflicts:
arch/arm/kernel/setup.c
5d3cb0ffdd0c8987dc17a2ef4529b246198ceb72 03-Jan-2012 Arnd Bergmann <arnd@arndb.de> Merge branch 'v3.2-rc7' into next/pm

Conflicts:
arch/arm/kernel/setup.c
arch/arm/mach-shmobile/board-kota2.c
9f9f265b0bd407233cfbc61acd64b90ff1da7ba4 27-Dec-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'omap/ehci' into next/drivers

* omap/ehci:
MFD: OMAP: USB: Runtime PM support
ARM: OMAP: USBHOST: Replace usbhs core driver APIs by Runtime pm APIs
ARM: OMAP: USB: device name change for the clk names of usbhs
ARM: OMAP: USB: register hwmods of usbhs
07b98403ee67838bbaded43bd687875b9d7f74e0 27-Dec-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'omap/hwmod' into next/drivers

This is needed as a dependency for omap/ehci.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3e61aa207f81525fb43996d60549d713d0c373ae 27-Dec-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'omap/hwmod' into next/devel

* omap/hwmod:
ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C
ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1
ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4
ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3
ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3
ARM: OMAP: hwmod data: fix the panic on Nokia RM-680 during boot
ARM: OMAP: hwmod data: fix iva and mailbox hwmods for OMAP 3
ARM: OMAP: rx51: fix USB
ARM: OMAP: mcbsp: Fix possible memory corruption
00ca4e4c8f72f2a67466a41b12714ed8c9e10f64 20-Dec-2011 Olof Johansson <olof@lixom.net> Merge branch 'fixes-hwmod-regression' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
4de34f3572882fd0a0e655cda494577c22663215 19-Dec-2011 Vaibhav Hiremath <hvaibhav@ti.com> ARM: OMAP2+: split omap2/3/4_check_revision function

We need to detect the SoC revision early, but the SoC
feature detection can be done later on. In order to allow
further clean-up later on, this patch separates the SoC
revision check from the SoC feature check.

This patch doesn't change functionality or behavior of the code
execution; it barely cleans up the code and splits into SoC
specific implementation for Rev ID and feature detection.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
o.c
50a01e6440020877c2f71bc5ac4d818d9b8f31c1 19-Dec-2011 Vaibhav Hiremath <hvaibhav@ti.com> ARM: OMAP2+: Make cpu_rev static global variable

As part of omap revision code cleanup, make cpu_rev
variable static global to the file (id.c). This is
needed so we can split the SoC detection from SoC
feature detection in the following patch. Also move
omap3_cpuinfo function a bit as that will be shared
by other omap3 like SoCs.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
df0bcfe0f811a73077c06f75e440397e89ba58a4 19-Dec-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'arm/common-kconfig-refactor+for-rmk' of git://git.linaro.org/people/dmart/linux-2.6-arm into devel-stable
c957445bf960047cf1e9d3aa764beb18f3fbb734 12-Dec-2011 Dave Martin <dave.martin@linaro.org> omap4: Unconditionally require l2x0 L2 cache controller support

If running in the Normal World on a TrustZone-enabled SoC, Linux
does not have complete control over the L2 cache controller
configuration. The kernel cannot work reliably on such platforms
without the l2x0 cache support code built in.

This patch unconditionally enables l2x0 support for the OMAP4 SoCs.

Thanks to Rob Herring for this suggestion. [1]

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2011-November/074495.html

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
config
3b55658aefbf82646a246f3c8a14b9b8a24198a9 07-Dec-2011 Dave Martin <dave.martin@linaro.org> ARM: SMP: Refactor Kconfig to be more maintainable

Making SMP depend on (huge list of MACH_ and ARCH_ configs) is
bothersome to maintain and likely to lead to merge conflicts.

This patch moves the knowledge of which platforms are SMP-capable
to the individual machines. To enable this, a new HAVE_SMP config
option is introduced to allow machines to indicate that they can
run in a SMP configuration.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
(for nomadik, ux500)
Acked-by: Tony Lindgren <tony@atomide.com>
(for omap)
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
(for exynos)
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
(for imx)
Acked-by: Olof Johansson <olof@lixom.net>
(for tegra)
config
ce5ea9f3767e8589521319cae2eb6e05c52bd056 29-Nov-2011 Dave Martin <dave.martin@linaro.org> ARM: l2x0/pl310: Refactor Kconfig to be more maintainable

Making CACHE_L2X0 depend on (huge list of MACH_ and ARCH_ configs)
is bothersome to maintain and likely to lead to merge conflicts.

This patch moves the knowledge of which platforms have a L2x0 or
PL310 cache controller to the individual machines. To enable this,
a new MIGHT_HAVE_CACHE_L2X0 config option is introduced to allow
machines to indicate that they may have such a cache controller
independently of each other.

Boards/SoCs which cannot reliably operate without the L2 cache
controller support will need to select CACHE_L2X0 directly from
their own Kconfigs instead. This applies to some TrustZone-enabled
boards where Linux runs in the Normal World, for example.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Acked-by: Anton Vorontsov <cbouatmailru@gmail.com>
(for cns3xxx)
Acked-by: Tony Lindgren <tony@atomide.com>
(for omap)
Acked-by: Shawn Guo <shawn.guo@linaro.org>
(for imx)
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
(for exynos)
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
(for imx)
Acked-by: Olof Johansson <olof@lixom.net>
(for tegra)
config
2f0778afac79bd8d226225556858a636931eeabc 15-Dec-2011 Marc Zyngier <Marc.Zyngier@arm.com> ARM: 7205/2: sched_clock: allow sched_clock to be selected at runtime

sched_clock() is yet another blocker on the road to the single
image. This patch implements an idea by Russell King:

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

Instead of asking the platform to implement both sched_clock()
itself and the rollover callback, simply register a read()
function, and let the ARM code care about sched_clock() itself,
the conversion to ns and the rollover. sched_clock() uses
this read() function as an indirection to the platform code.
If the platform doesn't provide a read(), the code falls back
to the jiffy counter (just like the default sched_clock).

This allow some simplifications and possibly some footprint gain
when multiple platforms are compiled in. Among the drawbacks,
the removal of the *_fixed_sched_clock optimization which could
negatively impact some platforms (sa1100, tegra, versatile
and omap).

Tested on 11MPCore, OMAP4 and Tegra.

Cc: Imre Kaloz <kaloz@openwrt.org>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Colin Cross <ccross@android.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Alessandro Rubini <rubini@unipv.it>
Cc: STEricsson <STEricsson_nomadik_linux@list.st.com>
Cc: Lennert Buytenhek <kernel@wantstofly.org>
Cc: Ben Dooks <ben-linux@fluff.org>
Tested-by: Jamie Iles <jamie@jamieiles.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Tested-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Krzysztof Halasa <khc@pm.waw.pl>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
imer.c
da76250e13256ec58f1b92256d847a7a8ebd9ce8 15-Dec-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP4: mcbsp: Enable FIFO usage

All McBSP instances on OMAP4 has 128 word long FIFO

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
cbsp.c
40c0591f0a349ec074357e05c6ab1a3bc951807c 01-Dec-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: kconfig: Enable devicetree by default for OMAP2+ systems

devicetree will become the mandatory boot method for OMAP2+.
In order to avoid cluttering the OMAP code with #ifdef CONFIG_OF,
select USE_OF by default for every OMAP2+ systems.

Enable PROC_DEVICETREE as well.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
0d42836cbb569d985af20f2538cfdb5b665d7cf9 17-Dec-2011 Tony Lindgren <tony@atomide.com> Merge branch 'usbhost_runtime_pm_14_devel_3.3' of git://git.pwsan.com/linux-2.6 into ehci
986b0c256b3b7920502969641a1cb6d2c525b750 17-Dec-2011 Tony Lindgren <tony@atomide.com> Merge branch 'hwmod_data_devel_3.3' of git://git.pwsan.com/linux-2.6 into hwmod
30c95692f62a40170833e87f3cd50fcbfe87c1a2 17-Dec-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: clock: Add CPU local timer clock node

Local timer clock is sourced from the CPU clock and hence changes
along with CPU clock. These per CPU local timers are used as
clock-events, so they need to be reconfigured on CPU frequency
change as part of CPUfreq governor.

Newly introduced clockevents_reconfigure() needs to know the
twd clock-rate. Provide a clock-node to make clk_get_rate() work
for TWD.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
[paul@pwsan.com: renamed clock node to 'mpu_periphclk' to indicate that this
is the Cortex-A9 MPCore subsystem clock PERIPHCLK (DDI 0407G); moved
clock and clkdev entries to match the autogenerated script output]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock44xx_data.c
bfc141e3a515008d85e57af39c9faa4d2bbc65e0 17-Dec-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP4: hwmod: Don't wait for the idle status if modulemode is not supported

If the module does not have any modulemode, the _disable_module function
will do nothing. There is then no point waiting for a idle status change.

It will remove the following warnings.

[ 0.331848] omap_hwmod: dmm: _wait_target_disable failed
[ 0.339935] omap_hwmod: emif_fw: _wait_target_disable failed
[ 0.348358] omap_hwmod: l3_main_1: _wait_target_disable failed
[ 0.356964] omap_hwmod: l3_main_2: _wait_target_disable failed
[ 0.365600] omap_hwmod: l4_abe: _wait_target_disable failed
[ 0.373931] omap_hwmod: l4_cfg: _wait_target_disable failed
[ 0.382263] omap_hwmod: l4_per: _wait_target_disable failed
[ 0.391113] omap_hwmod: l4_wkup: _wait_target_disable failed
[ 0.399536] omap_hwmod: dma_system: _wait_target_disable failed
[ 0.408325] omap_hwmod: dss_core: _wait_target_disable failed
[ 0.416839] omap_hwmod: dss_dispc: _wait_target_disable failed
[ 0.425445] omap_hwmod: dss_dsi1: _wait_target_disable failed
[ 0.433990] omap_hwmod: dss_dsi2: _wait_target_disable failed
[ 0.442504] omap_hwmod: dss_hdmi: _wait_target_disable failed
[ 0.451019] omap_hwmod: dss_rfbi: _wait_target_disable failed
[ 0.459564] omap_hwmod: dss_venc: _wait_target_disable failed
[ 0.489471] omap_hwmod: mailbox: _wait_target_disable failed
[ 0.505920] omap_hwmod: spinlock: _wait_target_disable failed

Note: For such module, the state is managed automatically by HW according
to clock domain transition. It is then not possible to wait for idle even
later in the _idle function since the status will change at clock domain
boundary.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: renamed fns to indicate that they are OMAP4-only; moved
_wait_target_disable() into _disable_module(), removing duplicate code]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod.c
ddf536d0d7e1f0b63a681c970888730a4437414d 17-Dec-2011 Paul Walmsley <paul@pwsan.com> ARM: OMAP: AM3517/3505: fix crash on boot due to incorrect voltagedomain data

AM3517/3505 chips don't have voltage controller and voltage processor
IP blocks. Trying to use OMAP34xx/36xx voltage domain data on these
chips causes a crash during boot:

omap_vc_init_channel: PMIC info requried to configure vc forvdd_core not populated.Hence cannot initialize vc
Unable to handle kernel NULL pointer dereference at virtual address 00000025
pgd = c0004000
[00000025] *pgd=00000000
Internal error: Oops: 5 [#1] SMP
Modules linked in:
CPU: 0 Tainted: G W (3.2.0-rc5-00006-g402ecf4 #304)
PC is at omap_vp_init+0x5c/0x14c
LR is at omap_vp_init+0x54/0x14c

Fix this by using very minimal voltage domain definitions for AM3517/3505.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oltagedomains3xxx_data.c
4a4de1d9b47156525ceb46c7faf6ae4042d90aa7 17-Dec-2011 Tony Lindgren <tony@atomide.com> Merge branch 'hwmod_data_fixes_3.2rc' of git://git.pwsan.com/linux-2.6 into fixes-hwmod
cf3c79de2b90711a32ce767f7fab2da05966db3c 14-Dec-2011 Rajendra Nayak <rnayak@ti.com> ARM: omap: pass minimal SoC/board data for UART from dt

Pass minimal data needed for console boot, from dt, for
OMAP4 panda/sdp and OMAP3 beagle boards, and get rid of the
static initialization from generic board file.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-generic.c
7f760f1abcd1a36b52776c90f6a601dd90f06ecb 16-Dec-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.3/uart/runtime-pm' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into uart

Conflicts:
arch/arm/mach-omap2/pm34xx.c
9d297f5ee1b92a84e2cd6c547c3ac1f893128359 16-Dec-2011 Tony Lindgren <tony@atomide.com> Merge branch 'tk_prm_chain_handler_devel_3.3' of git://git.pwsan.com/linux-2.6 into prcm

Conflicts:
arch/arm/mach-omap2/Makefile
aacf094128759cfb29a3ce88f92d08b79b74a4e8 16-Dec-2011 Rajendra Nayak <rnayak@ti.com> ARM: OMAP2+: hwmod: Add a new flag to handle hwmods left enabled at init

An hwmod with a 'HWMOD_INIT_NO_IDLE' flag set, is left in
enabled state by the hwmod framework post the initial setup.
Once a real user of the device (a driver) tries to enable it
at a later point, the hwmod framework throws a WARN() about
the device being already in enabled state.

Fix this by introducing a new internal flag '_HWMOD_SKIP_ENABLE' to
identify such devices/hwmods. When the device/hwmod is requested to be
enabled (the first time) by its driver/user, nothing except the
mux-enable is needed. The mux data is board specific and is
unavailable during initial enable() of the device, done by the
framework as part of setup().

A good example of a such a device is an UART used as debug console.
The UART module needs to be kept enabled through the boot, until the
UART driver takes control of it, for debug prints to appear on
the console.

Acked-by: Kevin Hilman <khilman@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: use a flag rather than a state; updated commit message;
edited some documentation]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod.c
2f31b51659c2d8315ea2888ba5b93076febe672b 16-Dec-2011 Tero Kristo <t-kristo@ti.com> ARM: OMAP4: PRM: use PRCM interrupt handler

Use the new PRCM interrupt handler code on OMAP4 systems.

The OMAP code will need to be converted to use sparse IRQs for this
to work. Until that time, the following message will appear on boot:

PRCM: failed to allocate irq descs: -12

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
[paul@pwsan.com: split this from a previous patch to this patch; call
omap4xxx_prcm_init() during init; write trivial commit log]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rm44xx.c
22f51371f8c35869ed850f46aa76b6cc2b502110 16-Dec-2011 Tero Kristo <t-kristo@ti.com> ARM: OMAP3: pm: use prcm chain handler

PM interrupt handling is now done through the PRCM chain handler. The
interrupt handling logic is also split in two parts, to serve IO and
WKUP events separately. This allows us to handle IO chain events in a
clean way.

Core event code is also changed in accordance to this, as PRCM
interrupt handling is done by independent handlers, and the core
handler should not clear the IO events anymore.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
[paul@pwsan.com: use pr_err(); combined with portions of earlier patches and
the "do not enable PRCM MPU interrupts manually" patch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m34xx.c
rm2xxx_3xxx.c
abc2d5456334d548328978d0b0d22c0e5d44cdcd 16-Dec-2011 Tero Kristo <t-kristo@ti.com> ARM: OMAP: hwmod: add support for selecting mpu_irq for each wakeup pad

By default all registered pads will trigger mpu_irqs[0]. Now there is
an API for selecting used mpu_irq on pad basis, which can be used to
trigger different irq handlers for different pads in the same hwmod.
Each pad that requires its interrupt to be re-routed this way must
have a separate call to omap_hwmod_pad_route_irq(hwmod, pad, irq).

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
[paul@pwsan.com: moved fn to omap_hwmod.c; separated fn from mux scan_wakeups
changes; added kerneldoc]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
13a3fe52f7525d7b327f1f6766826fe9668bd749 16-Dec-2011 Tero Kristo <t-kristo@ti.com> ARM: OMAP2+: mux: add support for PAD wakeup interrupts

OMAP mux now parses active wakeup events from pad registers and calls
corresponding hwmod ISRs once a wakeup is detected. This is
accomplished by registering an interrupt handler for PRCM IO event,
which is raised every time the HW detects wakeups.

[paul@pwsan.com: This patch is a merge of Govindraj R's "ARM: OMAP2+:
hwmod: Add API to check IO PAD wakeup status" patch, Tero Kristo's
"ARM: OMAP2+: mux: add support for PAD wakeup interrupts" patch, and
part of Tero's "ARM: OMAP: mux: add support for selecting mpu_irq for
each wakeup pad" patch.]

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Cc: Govindraj.R <govindraj.raja@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
[paul@pwsan.com: reduced indentation level; renamed omap_hwmod function;
improved function documentation; modified to iterate only through dynamic
pads; modified to skip pads where idle mode doesn't enable wakeups; split
patches]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
ux.c
91285b6fa296657d92dc2225100fb94aee869bf2 16-Dec-2011 Tero Kristo <t-kristo@ti.com> ARM: OMAP: PRCM: add suspend prepare / finish support

PRCM chain handler needs to disable forwarding of interrupts during
suspend, because runtime PM is disabled and most of the drivers
are potentially not able to handle interrupts coming at this time.

This patch masks all the PRCM interrupt events if a PRCM interrupt
occurs during suspend, but does not ack them. Once suspend finish
is called, all the masked events will be re-enabled, which causes
immediate PRCM interrupt and handles the postponed event.

The suspend prepare and complete callbacks will be called from
pm34xx.c / pm44xx.c files in the following patches.

The functions defined in this patch should eventually be moved to
suspend->prepare and suspend->finish driver hooks, once the PRCM
chain handler will be made as its own driver.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
[paul@pwsan.com: add kerneldoc, add omap_prcm_irq_setup.saved_mask, add fn
ptrs for save_and_clear_irqen() and restore_irqen()]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rcm-common.h
rm2xxx_3xxx.c
rm2xxx_3xxx.h
rm44xx.c
rm44xx.h
rm_common.c
0a84a91c37ada296ffe7147e73af99b5654628ec 16-Dec-2011 Tero Kristo <t-kristo@ti.com> ARM: OMAP: PRCM: add support for chain interrupt handler

Introduce a chained interrupt handler mechanism for the PRCM
interrupt, so that individual PRCM event can cleanly be handled by
handlers in separate drivers. We do this by introducing PRCM event
names, which are then matched to the particular PRCM interrupt bit
depending on the specific OMAP SoC being used.

PRCM interrupts have two priority levels, high or normal. High priority
is needed for IO event handling, so that we can be sure that IO events
are processed before other events. This reduces latency for IO event
customers and also prevents incorrect ack sequence on OMAP3.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Avinash.H.M <avinashhm@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Govindraj.R <govindraj.raja@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
[paul@pwsan.com: drop some dead code; use SoC-specific pending IRQ
detection; move code to prm_common.c; add lots of documentation;
remove saved_mask; add OCP barrier on ISR exit; improved error
handling; split out per-SoC initialization to a separate patch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
rcm-common.h
rm_common.c
26c98c561c02f3c08fd6182d16de0c2857d0644c 16-Dec-2011 Paul Walmsley <paul@pwsan.com> ARM: OMAP3/4: PRM: add functions to read pending IRQs, PRM barrier

Add PRM functions to test for pending PRM IRQs. This will be used in
a subsequent patch to implement the PRM interrupt handler on the MPU.

Add PRM functions to ensure that all outstanding writes from the MPU
to the PRM IP block have completed before continuing execution. This
will be used in a subsequent patch to ensure that all PRM interrupt
status bits are cleared in the hardware before exiting the ISR.
Normally we would not expose such a low-level function to other code.
But the current implementation of the PRM interrupt code, which uses
the generic IRQ chip code, doesn't give us a choice.

The pending PRM IRQ functions are based on code originally written by
Tero Kristo <t-kristo@ti.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tero Kristo <t-kristo@ti.com>
rm2xxx_3xxx.c
rm2xxx_3xxx.h
rm44xx.c
rm44xx.h
eceec00914e3a74b94eea832f9e829c3efcea9bc 16-Dec-2011 Govindraj R <govindraj.raja@ti.com> ARM: OMAP2+: hwmod: Add API to enable IO ring wakeup

Add API to enable IO pad wakeup capability based on mux pad and
wake_up enable flag available from hwmod_mux initialization.

Use the wakeup_enable flag and enable wakeup capability for the given
pads. Wakeup capability will be enabled/disabled during hwmod idle
transition based on whether wakeup_flag is set or cleared. If the
hwmod is currently idled, and any mux values were changed by
_set_idle_ioring_wakeup(), the SCM PADCTRL registers will be updated.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
[paul@pwsan.com: rearranged code to limit indentation; cleaned up
function documentation; removed unused non-static functions; modified
to search all hwmod pads, not just dynamic remuxing ones; modified to
update SCM regs if hwmod is currently idle and any pads have changed]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
96dc19fd03303ae1b9292d1f73aa8de597f4a183 16-Dec-2011 Paul Walmsley <paul@pwsan.com> ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list

omap_hwmod_mux() currently only iterates through the dynamic pad list.
This list currently only consists of pads with the
OMAP_DEVICE_MUX_REMUX flag set.

Subsequent patches in this series will cause hwmod mux entries with
the OMAP_DEVICE_MUX_WAKEUP flag set to be changed dynamically, to
control hwmod I/O ring wakeup. For this to work correctly, hwmod mux
entries with the OMAP_DEVICE_MUX_WAKEUP flag set must also be added to
the dynamic pad list. So this patch modifies omap_hwmod_mux_init() to
do so.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Tero Kristo <t-kristo@ti.com>
Cc: Govindraj R <govindraj.raja@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
ux.c
a6d3a6622ee459eb44952246214d658b474ea8eb 11-Oct-2011 Keshava Munegowda <Keshava_mgowda@ti.com> ARM: OMAP: USB: device name change for the clk names of usbhs

device name usbhs clocks are changed from
usbhs-omap.0 to usbhs_omap; this is because
in the hwmod registration the device name is set
as usbhs_omap; The redudant clock nodes are removed.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Reviewed-by: Partha Basak <parthab@india.ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
lock44xx_data.c
50b2a9bd1784c202a642fefa75ce787faf048801 11-Oct-2011 Keshava Munegowda <keshava_mgowda@ti.com> ARM: OMAP: USB: register hwmods of usbhs

The hwmod structure of usb_host_hs and usb_tll are
retrieved and registered with omap device

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Reviewed-by: Partha Basak <parthab@india.ti.com>
[paul@pwsan.com: this patch is merged with the understanding that the
authors will send patches for the next merge window to remove the
multiple hwmods-per-omap_device]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
sb-host.c
3e47dc6a2ee54ea8b566729f75e9fdb5dfe078b6 13-Dec-2011 Shubhrajyoti D <shubhrajyoti@ti.com> ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C

For I2C clockactivity field is added for OMAP3 and OMAP4 that defines how the
interface (OCP) and functional (system) clocks behave when the I2C module is
idle.

The configuration of the clock activity bit field (per TRM) is as follows:
0x0: Both clocks can be cut off
0x1: Only OCP clock must be kept active; system clock
can be cut off
0x3: Both clocks must be kept active
0x2: Only system clock must be kept active; OCP clock
can be cut off

The patch makes 0x2(CLOCKACT_TEST_ICLK) the default for OMAP3 and OMAP4.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
a52e2ab66d4a9305e1ba64d9b9d25754b6c70895 16-Dec-2011 Paul Walmsley <paul@pwsan.com> ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1

The HSMMC1/HSMMC2 host controllers on OMAP34xx and
OMAP3503/3515/3525/3530 chips at ES levels prior to 3.0 can't do multiple
block reads[1]. Mark the hwmod data appropriately.

Reported by Dave Hylands <dhylands@gmail.com> and Steve Sakoman
<sakoman@gmail.com>. Thanks to Steve Sakoman for further help
testing this patch.

1. See for example Advisory 2.1.1.128 "MMC: Multiple Block Read
Operation Issue" in _OMAP3530/3525/3515/3503 Silicon Errata_
Revision F (October 2010) (SPRZ278F), available from
http://focus.ti.com/lit/er/sprz278f/sprz278f.pdf

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Dave Hylands <dhylands@gmail.com>
Cc: Steve Sakoman <sakoman@gmail.com>
map_hwmod_3xxx_data.c
af88fa9aa77c5623983c29cb219d6d746cafc852 16-Dec-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4

Following 2 hwmod structures are added
1. usb_host_hs
The hwmod of usbhs with uhh, ehci and ohci base addresses
functional clock and ehci, ohci irqs

2. usb_tll_hs
hwmod of usbhs with the TLL base address and irq.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[keshava_mgowda@ti.com: rebased to kernel version 3.0, added workarounds for
hardware issues]
Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Reviewed-by: Partha Basak <parthab@india.ti.com>
[paul@pwsan.com: fixed multi-line comments, fixed whitespace, fixed S-o-b
notes, removed spurious TLL->L3 interface]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
de231388cb80a8ef3e779bbfa0564ba0157b7377 16-Dec-2011 Keshava Munegowda <keshava_mgowda@ti.com> ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3

Following 2 hwmod structures are added
1. usb_host_hs
The hwmod of usbhs with uhh, ehci and ohci base addresses
functional clock and ehci, ohci irqs

2. usb_tll_hs
hwmod of usbhs with the TLL base address and irq.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Reviewed-by: Partha Basak <parthab@india.ti.com>
[paul@pwsan.com: fixed whitespace; removed nonexistent TLL->L3 interface;
added master & slave for L4 CORE->TLL interface; skip registration on
3430ES1; fixed multiline comment style; updated to apply on Tony's cleanup
branch; rebased]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_3xxx_data.c
4bf90f6573d04845917dc0ac38170746f84c533c 18-Oct-2011 Kyle Manna <kyle.manna@fuel7.com> ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3

Add hwmod support to enable access to UART4 of the AM35xx series of
chips. The UART4 device referenced from the TRM will show up as ttyO3.

This was tested on an AM3505.

Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
map_hwmod_3xxx_data.c
rcm-common.h
91a36bdb3ada99ebf3a613a0dab2d741445ffd7f 16-Dec-2011 Aaro Koskinen <aaro.koskinen@nokia.com> ARM: OMAP: hwmod data: fix the panic on Nokia RM-680 during boot

Booting the Linux kernel on Nokia RM-680 board has been broken since
2.6.39 due to the following:

[ 0.217193] omap_hwmod: timer12: enabling
[ 0.221435] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa304010
[ 0.229431] Internal error: : 1028 [#1] SMP
[ 0.233825] Modules linked in:
[ 0.237060] CPU: 0 Not tainted (3.2.0-rc4-dirty #46)
[ 0.242645] PC is at _update_sysc_cache+0x2c/0x7c
[ 0.247589] LR is at _enable+0x1b0/0x2d8
[ 0.251708] pc : [<c0026108>] lr : [<c0026df4>] psr: 40000013
[ 0.251708] sp : ef831f40 ip : ef82f380 fp : c06ac0c0
[ 0.263702] r10: 00000000 r9 : c05dfb2c r8 : ef830000
[ 0.269165] r7 : c0027494 r6 : 00000000 r5 : 00000000 r4 : c06608b0
[ 0.276000] r3 : fa304000 r2 : 00000010 r1 : c0661e28 r0 : c06608b0
[ 0.282806] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 0.290405] Control: 10c5387d Table: 80004019 DAC: 00000017
[ 0.296417] Process swapper (pid: 1, stack limit = 0xef8302f8)
[ 0.302520] Stack: (0xef831f40 to 0xef832000)
[ 0.307098] 1f40: c06608b0 c0026df4 c06ad094 c0035120 00000001 c06608b0 00000000 c0027530
[ 0.315612] 1f60: c0027604 ef830000 c05dfb2c c06608b0 c0642ac0 c0025bf0 c0621234 c062120c
[ 0.324127] 1f80: c0621738 00000013 ef830000 c05dfb6c c0621234 c0008688 c062c880 c009eadc
[ 0.332641] 1fa0: 0000005f 00000000 c0621738 35390013 00000000 00000000 00000000 0000019a
[ 0.341156] 1fc0: c0681cf4 c0621234 c062120c c0621738 00000013 00000000 00000000 00000000
[ 0.349670] 1fe0: 00000000 c05d5298 00000000 c05d5200 c0014fa8 c0014fa8 ffff0000 ffff0000
[ 0.358184] [<c0026108>] (_update_sysc_cache+0x2c/0x7c) from [<c0026df4>] (_enable+0x1b0/0x2d8)
[ 0.367248] [<c0026df4>] (_enable+0x1b0/0x2d8) from [<c0027530>] (_setup+0x9c/0x170)
[ 0.375335] [<c0027530>] (_setup+0x9c/0x170) from [<c0025bf0>] (omap_hwmod_for_each+0x38/0x58)
[ 0.384307] [<c0025bf0>] (omap_hwmod_for_each+0x38/0x58) from [<c05dfb6c>] (omap_hwmod_setup_all+0x40/0xa0)
[ 0.394409] [<c05dfb6c>] (omap_hwmod_setup_all+0x40/0xa0) from [<c0008688>] (do_one_initcall+0x34/0x180)
[ 0.404296] [<c0008688>] (do_one_initcall+0x34/0x180) from [<c05d5298>] (kernel_init+0x98/0x144)
[ 0.413452] [<c05d5298>] (kernel_init+0x98/0x144) from [<c0014fa8>] (kernel_thread_exit+0x0/0x8)
[ 0.422576] Code: e3130c01 1590304c 0590304c 119320b2 (07932002)
[ 0.429046] ---[ end trace 1b75b31a2719ed1c ]---
[ 0.433959] Kernel panic - not syncing: Attempted to kill init!

Timer 12 is not necessarily available on non-GP devices (see e.g.
http://marc.info/?l=linux-omap&m=129433066521102&w=2), so it should be
registered only on GP OMAPs. With this change it's again possible to
boot RM-680 into the shell. Tested with 3.2-rc4.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
[paul@pwsan.com: changed subject line]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_3xxx_data.c
7c17c7701cf3c176dc245aeabecb3ae4b166618f 16-Dec-2011 Felipe Contreras <felipe.contreras@gmail.com> ARM: OMAP: hwmod data: fix iva and mailbox hwmods for OMAP 3

Seems the commit 7e89098 was overly aggressive in adding iva and mailbox
hwmods so now they are registered twice.

------------[ cut here ]------------
WARNING: at arch/arm/mach-omap2/omap_hwmod.c:1959 omap_hwmod_register+0x104/0x12c()
omap_hwmod: iva: _register returned -22
Modules linked in:
[<c0012aa4>] (unwind_backtrace+0x0/0xec) from [<c002f970>] (warn_slowpath_common+0x4c/0x64)
[<c002f970>] (warn_slowpath_common+0x4c/0x64) from [<c002fa08>] (warn_slowpath_fmt+0x2c/0x3c)
[<c002fa08>] (warn_slowpath_fmt+0x2c/0x3c) from [<c02fdb4c>] (omap_hwmod_register+0x104/0x12c)
[<c02fdb4c>] (omap_hwmod_register+0x104/0x12c) from [<c02fbb44>] (omap3_init_early+0x1c/0x28)
[<c02fbb44>] (omap3_init_early+0x1c/0x28) from [<c02f9580>] (setup_arch+0x6b8/0x7a4)
[<c02f9580>] (setup_arch+0x6b8/0x7a4) from [<c02f754c>] (start_kernel+0x6c/0x264)
[<c02f754c>] (start_kernel+0x6c/0x264) from [<80008040>] (0x80008040)
---[ end trace 1b75b31a2719ed1c ]---
------------[ cut here ]------------
WARNING: at arch/arm/mach-omap2/omap_hwmod.c:1959 omap_hwmod_register+0x104/0x12c()
omap_hwmod: mailbox: _register returned -22
Modules linked in:
[<c0012aa4>] (unwind_backtrace+0x0/0xec) from [<c002f970>] (warn_slowpath_common+0x4c/0x64)
[<c002f970>] (warn_slowpath_common+0x4c/0x64) from [<c002fa08>] (warn_slowpath_fmt+0x2c/0x3c)
[<c002fa08>] (warn_slowpath_fmt+0x2c/0x3c) from [<c02fdb4c>] (omap_hwmod_register+0x104/0x12c)
[<c02fdb4c>] (omap_hwmod_register+0x104/0x12c) from [<c02fbb44>] (omap3_init_early+0x1c/0x28)
[<c02fbb44>] (omap3_init_early+0x1c/0x28) from [<c02f9580>] (setup_arch+0x6b8/0x7a4)
[<c02f9580>] (setup_arch+0x6b8/0x7a4) from [<c02f754c>] (start_kernel+0x6c/0x264)
[<c02f754c>] (start_kernel+0x6c/0x264) from [<80008040>] (0x80008040)
---[ end trace 1b75b31a2719ed1d ]---

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_3xxx_data.c
2fd149645eb46d26130d7070c6de037dddf34880 09-Nov-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Remove omap_uart_can_sleep and add pm_qos

Omap_uart_can_sleep function blocks system wide low power state until
uart is active remove this func and add qos requests to prevent
MPU from transitioning.

Keep qos request to default value which will allow MPU to transition
and while uart baud rate is available calculate the latency value
from the baudrate and use the same to hold constraint while uart clocks
are enabled, and if uart is auto-idled the constraint is updated with
default constraint value allowing MPU to transition.

Qos requests are blocking notifier calls so put these requests to
work queue, also the driver uses irq_safe version of runtime API's
and callbacks can be called in interrupt disabled context.
So to avoid warn on slow path warning while using qos update
API's from runtime callbacks use the qos_work_queue.

During bootup the runtime_resume call backs might not be called and runtime
callback gets called only after uart is idled by setting the autosuspend
timeout. So qos_request from runtime resume callback might not activated during
boot if uart baudrate is calculated during bootup for console uart, so schedule
the qos_work queue once we calc_latency while configuring the uart port.

Flush and complete any pending qos jobs in work queue while suspending.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
Signed-off-by: Kevin Hilman <khilman@ti.com>
puidle34xx.c
m24xx.c
m34xx.c
erial.c
36fc2d15b120ef85be74c68b5ad74ac04fbefa8a 21-Sep-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Do not gate uart clocks if used for debug_prints

If OMAP UART is used as console uart and debug is enabled,
avoid gating of uart clocks to print all debug prints.

If uart clocks are gated then the debug prints from omap_device
framework or hwmod framework can cause uart to enter recursive
pm_runtime calls, which can cause a deadlock over power lock usage.

For example: Say, uart clocks are cut and we get a print from
omap_device_disable stating disabling uart clocks. This print
calls omap_uart driver console_write which will call runtime API
get_sync which means we enter from runtime API put context to
runtime API get context.

--> runtime put (take power lock)
--> print disabling uart clocks
--> call uart console write
--> call get_sync (try to take power lock)

Also any clock enable API call from uart driver should not call any uart
operation until clocks are enabled back. Like get_sync having debug print
calling uart console write even before clocks are enabled.

So to avoid these scenarios, identify from bootargs if OMAP_UART(ttyO) is used
in debug mode. If so, do not set device_may_wakeup. This will prevent
pm_runtime_enable in uart driver and will avoid uart clock gating.
Debug is enabled either by adding debug word in bootarg or by setting
loglevel=10

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
08f86b3eab9807e6d36de7e00025abad893ff557 18-Oct-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Avoid uart idling on suspend for no_console_suspend usecase

If no_console_suspend is used we have prevent uart idling during suspend
to provide debug prints.

Power domain hooks can idle uarts if left enabled during system wide suspend
so re-use the omap_device_disable_idle_on_suspend API's to ensure console_uart
is not idled during suspend.

omap_device_disable_idle_on_suspend API was used on all uarts since the uart
driver was not runtime adapted, now with runtime adaptation we can re-use this
API only for no_console_suspend use cases.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
8612bd22f30369745d0fda0d540aca39ab591cc5 07-Nov-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Avoid console uart idling during bootup

Omap-uart can be used as console uart to print early boot messages using
earlyprintk so for console uart prevent hwmod reset or idling during bootup.

Identify omap-uart used as console and avoid idling rather than preventing
all omap-uarts from idling during bootup. Update the comments for the same.

Remove the uart idling and enabling back using hwmod_idle/omap_device_enable
for all uarts that where left enabled from boot to set the hwmod framework
state machine right. This need not be taken care any more serial.c rather
can be handled within the hwmod framework.
Reference: http://www.spinics.net/lists/linux-omap/msg60300.html

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
969996a57fd2345a1141280dddcf9e10fa5f6690 18-Oct-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: remove temporary variable used to count uart instance

Reuse the num_uarts variable itself to count number of uarts.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
a9e210e0b7a344c0e44aa6bf6888176bbc635c42 09-Nov-2011 Jon Hunter <jon-hunter@ti.com> ARM: OMAP2+: UART: Make the RX_TIMEOUT for DMA configurable for each UART

When using DMA there are two timeouts defined. The first timeout,
rx_timeout, is really a polling rate in which software polls the
DMA status to see if the DMA has finished. This is necessary for
the RX side because we do not know how much data we will receive.
The secound timeout, RX_TIMEOUT, is a timeout after which the
DMA will be stopped if no more data is received. To make this
clearer, rename rx_timeout as rx_poll_rate and rename the
function serial_omap_rx_timeout() to serial_omap_rxdma_poll().

The OMAP-Serial driver defines an RX_TIMEOUT of 3 seconds that is
used to indicate when the DMA for UART can be stopped if no more
data is received. The value is a global definition that is applied
to all instances of the UART.

Each UART may be used for a different purpose and so the timeout
required may differ. Make this value configurable for each UART so
that this value can be optimised for power savings.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
c86845db77ce220f77e6645b18800744684946ac 09-Nov-2011 Deepak K <deepak.k@ti.com> ARM: OMAP2+: UART: Allow UART parameters to be configured from board file.

The following UART parameters are defined within the UART driver:

1). Whether the UART uses DMA (dma_enabled), by default set to 0
2). The size of dma buffer (set to 4096 bytes)
3). The time after which the dma should stop if no more data is received.
4). The auto suspend delay that will be passed for pm_runtime_autosuspend
where uart will be disabled after timeout

Different UARTs may be used for different purpose such as the console,
for interfacing bluetooth chip, for interfacing to a modem chip, etc.
Therefore, it is necessary to be able to customize the above settings
for a given board on a per UART basis.

This change allows these parameters to be configured from the board file
and allows the parameters to be configured for each UART independently.

If a board does not define its own custom parameters for the UARTs, then
use the default parameters in the structure "omap_serial_default_info".
The default parameters are defined to be the same as the current settings
in the UART driver to avoid breaking the UART for any cuurnelty supported
boards. By default, make all boards use the default UART parameters.

Signed-off-by: Deepak K <deepak.k@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
Signed-off-by: Kevin Hilman <khilman@ti.com>
oard-n8x0.c
erial.c
634bd6e4817cd6a7109be8d2eee5c578a283d1ee 07-Nov-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Remove old and unused clocks handling funcs

With runtime adaptation done remove clock_enable/disbale API's

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
62f3ec5fbd5fddce62b7a71adc04723a5eb903da 13-Oct-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Add wakeup mechanism for omap-uarts

From the runtime callbacks enable hwmod wakeups for uart which will
internally enable io-pad wakeups for uarts if they have rx-pad pins
set as wakeup capabale.

Use the io-ring wakeup mechanism after uart clock gating and leave
the PM_WKST set for uart to default reset values cleanup the
code in serial.c which was handling PM_WKST reg.
Irq_chaing(PRM_DRIVER) is used to wakeup uart after uart clocks are gated
using pad wakeup mechanism.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
94734749af794c080f6af6ac3ce8c1c13ee2dbbd 07-Nov-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Move errata handling from serial.c to omap-serial

Move the errata handling mechanism from serial.c to omap-serial file
and utilise the same func in driver file.

Errata i202, i291 are moved to be handled with omap-serial
Moving the errata macro from serial.c file to driver header file
as from on errata will be handled in driver file itself.
Corrected errata id from chapter reference 2.15 to errata id i291.

Removed errata and dma_enabled fields from omap_uart_state struct
as they are no more needed with errata handling done within omap-serial.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
ec3bebc6ec64aac23500e6b8ef5c0aaaeda735cf 11-Oct-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Get context loss count to context restore

Avoid unconditional context restore every time we gate uart
clocks. Check whether context loss happened based on which
we can context restore uart regs from uart_port structure.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
32212897eeb8c2b2b3c74dbd44d842963084d808 07-Nov-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Remove uart reset function.

Remove the uart reset function which is configuring the
TX empty irq which can now be handled within omap-serial driver.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
9f9ac1e84a24670eea1430040e0aef278b4daffa 07-Nov-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Remove context_save and move context restore to driver

Remove context save function from serial.c and move context restore
function to omap-serial. Remove all regs stored in omap_uart_state
for contex_save/restore, reg read write funcs used in context_save/restore,
io_addresses populated for read/write funcs.

Clock gating mechanism was done in serial.c and had no info on uart state
thus we needed context save and restore in serial.c
With runtime conversion and clock gating done within uart driver
context restore can be done from regs value available from uart_omap_port
structure.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
edd70ad757e9b336116433e6e62de79ae1dfef54 11-Oct-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Remove mapbase/membase fields from pdata.

The mapbase (start_address), membase(io_remap cookie) part of
pdata struct omap_uart_port_info are removed as this should be
derived within driver.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
7496ba309f2adbce74d917fbb8bd3da26222d49f 07-Nov-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Add default mux for all uarts.

Padconf wakeup is used to wakeup uart after uart fclks/iclks are gated.
Rx-Pad wakeup was done by writing to rx-pad offset value populated in
serial.c idle_init. Remove the direct reading and writing into rx pad.
Remove the padconf field part of omap_uart_state struct and pad offsets
populated.

Now with mux framework support we can use mux_utilities
along with hmwod framework to handle io-pad configuration and enable rx-pad
wake-up mechanism.

To avoid breaking any board support add default mux data for all uart's
if mux info is not passed from board file.
With the default pads populated in serial.c wakeup capability for
rx pads is set, this can be used to enable uart_rx io-pad wakeup from
hwmod framework. The pad values in 3430sdp/4430sdp/omap4panda board file
are same as the default pad values populated in serial.c. Remove pad values
from 3430sdp/4430sdp/omap4panda board file and use the default pads
from serial.c file.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
oard-3430sdp.c
oard-4430sdp.c
oard-omap4panda.c
erial.c
273558b3a0399e368d99da5b3daf1c0e11b93e06 13-Sep-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: Cleanup part of clock gating mechanism for uart

Currently we use a shared irq handler to identify uart activity and then
trigger a timer. By default the timeout value is zero and can be set or
modified from sysfs. If there was no uart activity for the period set
through sysfs, the timer will expire and call timer handler this will
set a flag can_sleep using which decision to gate uart clocks can be taken.

Since the clock gating mechanism is outside the uart driver, we currently
use this mechanism. In preparation to runtime implementation for omap-serial
driver we can cleanup this mechanism and use runtime API's to gate uart clocks.

Removes the following:
* timer related info from local uart_state struct
* the code used to set timeout value from sysfs.
* irqflags used to set shared irq handler.
* un-used function omap_uart_check_wakeup.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
8a60585159067f110075ef8ffda13abd94826daf 13-Sep-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: cleanup 8250 console driver support

We had been using traditional 8250 driver as uart console driver
prior to omap-serial driver. Since we have omap-serial driver
in mainline kernel for some time now it has been used as default
uart console driver on omap2+ platforms. Remove 8250 support for
omap-uarts.

Serial_in and serial_out override for 8250 serial driver is also
removed. Empty fifo read fix is already taken care with omap-serial
driver with data ready bit check from LSR reg before reading RX fifo.
Also waiting for THRE(transmit hold reg empty) is done with wait_for_xmitr
in omap-serial driver.

Serial_in/out overrides are not neceesary for omap-serial driver
and things that are taken with omap-serial driver are removed here.

Remove headers that were necessary to support 8250 support
and remove all config bindings done to keep 8250 backward compatibility
while adding omap-serial driver. Remove omap_uart_reset needed for
8250 autoconf.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
erial.c
8384c9749f8c31c6e1e64a63c8d50af7863ce657 09-Nov-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: UART: cleanup + remove uart pm specific API

In preparation to UART runtime conversion remove uart specific calls
from pm24xx/34xx files and their definition from serial.c
These func calls will no more be used with upcoming uart runtime design.

1.) omap_uart_prepare_suspend :- can be taken care with driver suspend hooks.
2.) omap_uart_enable_irqs :- Used to enable/disable uart irq's in suspend
path from PM code, this is removed as same is handled by
uart_suspend_port/uart_resume_port in omap-serial driver which will
do an port_shutdown on suspend freeing irq and port_startup on resume
enabling back irq.
3.) Remove prepare_idle/resume_idle calls used to gate uart clocks.
UART clocks can be gated within driver using runtime funcs
and be woken up using irq_chaining from omap_prm driver.
4.) Remove console_locking from idle path as clock gating is done withing
driver itself with runtime API. Remove is_suspending check used to acquire
console_lock.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m24xx.c
m34xx.c
erial.c
e5fe29c7198a1f6616286dfc8602a69da165cb3f 08-Dec-2011 Felipe Contreras <felipe.contreras@gmail.com> ARM: OMAP: rx51: fix USB

Commit 10299e2e4e3ed3b16503d4e04edd48b33083f4e2 (ARM: RX-51:
Enable isp1704 power on/off) added power management for isp1704.

However, the transceiver should be powered on by default,
otherwise USB doesn't work at all for networking during
boot.

All kernels after v3.0 are affected.

Cc: stable@kernel.org
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Reviewed-by: Sebastian Reichel <sre@debian.org>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
f36217f3a5b5b945619192c033c2785007931e49 13-Dec-2011 Ravi Babu <ravibabu@ti.com> ARM: OMAP: musb: Add support for ti816evm

Adding musb support in ti816 EVM board file.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Ravi Babu <ravibabu@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-ti8168evm.c
8f718d2414c2c13f7c886df1d1802ad0d32faaca 13-Dec-2011 Ajay Kumar Gupta <ajay.gupta@ti.com> ARM: OMAP: musb: Add ti81xx phy power function

Adding ti81xx_musb_phy_power() which will be used by musb driver through
its function pointer in board_data.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Ravi Babu <ravibabu@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_phy_internal.c
cada691f8675c36f738d41741a6ec5d966f39a10 13-Dec-2011 Ravi Babu <ravibabu@ti.com> ARM: OMAP: musb: Adding support for ti81xx

Added musb support for ti81xx platform which has two instances of musb
interface and uses CPPI4.1 DMA. The current patch set adds support for
single instance and in PIO mode only.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Ravi Babu <ravibabu@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-musb.c
a890b6760d975cdbdfcdf5753dab4c91059af9b1 13-Dec-2011 Hemant Pedanekar <hemantp@ti.com> ARM: OMAP: TI814X: Create board support and enable build for TI8148 EVM

This patch adds minimal support and build configuration for TI8148 EVM. Also
adds support for low level debugging on UART1 console on the EVM.

Note that existing TI8168 EVM file (board-ti8168evm.c) is updated with machine
info for TI8148 EVM.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-ti8168evm.c
95712de0ccd42d69623462e5d17cbd444f6fcccc 13-Dec-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> ARM: OMAP4: board-4430sdp: Register platform device for digimic codec

OMAP4 SDP/Blaze boards have onboard digital microphones.
Register the platform device for the dmic-codec to be
able to use the microphones.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
de9eb09726130dadc3e611c97fa2d753620662c1 13-Dec-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> ARM: OMAP4: devices: Register OMAP4 DMIC platform device

Add platform device registration for OMAP4 DMIC.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
ef211dc626beb47fc11d4aba27a8c1b20a4b3b4a 13-Dec-2011 Igor Dmitriev <ext-dmitriev.igor@nokia.com> ARM: OMAP3: sdram-nokia: add 200 MHz memory timings info

Add memory timing info regarding the 200 MHz memory in sdram-nokia.
Note that 100 MHz mode uses these same timings too.

Signed-off-by: Igor Dmitriev <ext-dmitriev.igor@nokia.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
[tony@atomide.com: updated comments for 100 MHz timings]
Signed-off-by: Tony Lindgren <tony@atomide.com>
dram-nokia.c
3dad5356aa47097cf67027cf0a07298b4f5baef6 13-Dec-2011 Aaro Koskinen <aaro.koskinen@nokia.com> ARM: OMAP3: rx51: enable tsc2005 touchscreen

Enable TSC2005 touchscreen driver on the RX-51 board by providing the
needed platform data.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Reviewed-by: Sebastian Reichel <sre@debian.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
b2404f4275badc719b8335420c97ae9380e01227 13-Dec-2011 Igor Grinberg <grinberg@compulab.co.il> ARM: OMAP3: cm-t35: fix mux mode for DSS pins

OMAP pin mux configuration API has been used incorrectly resulting
in wrong mux mode set for several DSS pins.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
039401f3efa890cd9974d8921c19359ac2084df3 13-Dec-2011 Igor Grinberg <grinberg@compulab.co.il> ARM: OMAP3: cm-t35: Add reset for USB hub

USB hub is not functional until is reset.
Reset the USB hub on SB-T35.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
[tony@atomide.com: updated subject]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
19ce643997c5b75df2410e9b632c2c29e6cf8ae2 13-Dec-2011 Igor Grinberg <grinberg@compulab.co.il> ARM: OMAP3: cm-t35: enable audio

TWL4030 audio codec is not being registered if no platform data is
supplied. Provide platform data for the TWL4030 audio codec.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
[tony@atomide.com: updated subject]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
cd1c683c5515c35368fef7072f30aab97ef064e5 13-Dec-2011 Igor Grinberg <grinberg@compulab.co.il> ARM: OMAP3: cm-t35: Use correct DSS regulator supply

cm-t35 DSS suplies are connected to VIO.
In fact, TPS65930 does not have VPLL2.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
[tony@atomide.com: updated subject]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
b74f149cc9f58583ec22ba5180d2b5d00920bfbe 13-Dec-2011 Igor Grinberg <grinberg@compulab.co.il> ARM: OMAP3: cm-t35: Add regulator for ads7846 touchscreen

ads7846 driver fails to find the regulator supply and
as a result the touchscreen is not working.
Fix this by adding a regulator supply for the ads7846 driver.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
[tony@atomide.com: updated subject]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
4390f5b2cb1f568c1d4b3e5bbf57158f6809627a 13-Dec-2011 Hemant Pedanekar <hemantp@ti.com> ARM: OMAP: TI814X: Add cpu type macros and detection support

This patch adds cpu type, macros for identification of TI814X device.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
[tony@atomide.com: left out CK_TI814X for now]
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock3xxx_data.c
d.c
a920360f038e976e7a86b002e209402da20e9147 13-Dec-2011 Hemant Pedanekar <hemantp@ti.com> ARM: OMAP: TI81XX: Prepare for addition of TI814X support

This patch updates existing macros, functions used for TI816X, to enable
addition of other SoCs belonging to TI81XX family (e.g., TI814X).

The approach taken is to use TI81XX/ti81xx for code/data going to be common
across all TI81XX devices.

cpu_is_ti81xx() is introduced to handle code common across TI81XX devices.

In addition, ti8168_evm_map_io() is now replaced with ti81xx_map_io() and moved
in mach-omap2/common.c as same will be used for TI814X and is not board
specific.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-ti8168evm.c
lock3xxx_data.c
ommon.c
ommon.h
ontrol.h
d.c
nclude/mach/debug-macro.S
o.c
rq.c
erial.c
ec023e46f7e86acb04fef5bdd1e9465f5fc39894 13-Dec-2011 Leonid Iziumtsev <x0153368@ti.com> ARM: OMAP: ID: Chip detection for OMAP4470

Add support for detection of the next chip in the OMAP4 family: OMAP4470 ES1.0

For more details on OMAP4470, visit:
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12869&contentId=123362

Signed-off-by: Leonid Iziumtsev <x0153368@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
55035c1524b5b48ac7d267167c4895f7831897ad 13-Dec-2011 David Anders <x0132446@ti.com> ARM: OMAP: id: add chip id recognition for omap4430 es2.3

allow for the omap4430 es2.3 revision to be recognized in the
omap4_check_revision() function.

most aspects of all omap4430 es2.x versions are identical, however
a number of small variations such as default pullup or pulldown
resistor configurations vary between revisions.

detailed information on silicon errata for omap4430 revisions can
be found at http://focus.ti.com/pdfs/wtbu/swpz009D.pdf

Signed-off-by: David Anders <x0132446@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
1e6cb146c39cdef1ffc340c13637fce2ba5575be 13-Dec-2011 Afzal Mohammed <afzal@ti.com> ARM: OMAP: am33xx: Update common OMAP machine specific sources

This patch updates the common machine specific source files for
support for AM33XX/AM335x with cpu type, macros for identification of
AM33XX/AM335X device.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
[tony@atomide.com: updated for map_io and common.h changes, dropped CK_AM33XX]
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock3xxx_data.c
ommon.c
ommon.h
d.c
o.c
erial.c
995411953604e3c973328dda8c7807e45aca0f2b 13-Dec-2011 Afzal Mohammed <afzal@ti.com> ARM: OMAP: am33xx: Update common omap platform files

This patch updates the common platform files with AM335X device
support (AM33XX family).

The approach taken in this patch is,
AM33XX device will be considered as OMAP3 variant, and a separate
SoC class created for AM33XX family of devices with a subclass type
for AM335X device, which is newly added device in the family.

This means, cpu_is_omap34xx(), cpu_is_am33xx() and cpu_is_am335x()
checks will return success on AM335X device.
A kernel config option CONFIG_SOC_OMAPAM33XX is added under OMAP3
to include support for AM33XX build.

Also, cpu_mask and RATE_IN_XXX flags have crossed 8 bit hence
struct clksel_rate.flags, struct prcm_config.flags and cpu_mask
are changed to u16 from u8.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Hemant Pedanekar <hemantp@ti.com>
[tony@atomide.com: left out CK_AM33XX for now]
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
lock.c
lock.h
pp2xxx.h
0c8551e5fa3833c6080542da662394817fea4616 12-Dec-2011 Jarkko Nikula <jarkko.nikula@bitmer.com> ARM: OMAP: mcbsp: Fix possible memory corruption

Commits 09d28d ("ARM: OMAP: mcbsp: Start generalize omap2_mcbsp_set_clks_src")
and 7bc0c4 ("ARM: OMAP: mcbsp: Start generalize signal muxing functions")
incorrectly set two struct omap_mcbsp_platform_data fields after
omap_device_build_ss and kfree calls.

Fix this by moving these pdata assignments before those calls.

Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Reported-by: NeilBrown <neilb@suse.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
9a35f8767a568bdbb21ba7c3276fdc5321e3960d 02-Oct-2011 Arnd Bergmann <arnd@arndb.de> usb: musb: allow building USB_MUSB_TUSB6010 as a module

Commit 1376d92f9 "usb: musb: allow musb and glue layers to be modules"
made the USB_MUSB_TUSB6010 option modular, but actually building
the driver as a module does not work, so various randconfig builds
actually fail. This changes all code that depends on the
option to also check for modular builds, and exports the necessary
symbols.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-n8x0.c
dd6facfc0ee3e5875b39a5f368af266395171996 09-Dec-2011 Vaibhav Hiremath <hvaibhav@ti.com> ARM: OMAP: hsmmc: Add support for AM3517EVM base-board MMC slot

Add support for base-board MMC slot

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Abhilash K V <abhilash.kv@ti.com>
[tony@atomide.com: updated subject]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
e89715a7e48d505f42813a4e3ee0f0efb49832ba 09-Dec-2011 Abhilash K V <abhilash.kv@ti.com> ARM: OMAP: hsmmc: Support for AM3517 MMC1 voltages

This patch fixes the following error message which appears
while intializing MMC1 on the AM3517 EVM base-board:
mmc0: host doesn't support card's voltages
mmc0: error -22 whilst initialising SD card
The ocr_mask, which enumerates the volatges supported by the
MMC card was not being indicated before, assuming that a separate
Vcc regulator maybe another controllable regulator driver would be
doing this. This patch statically specifies a subset of the voltages
supported by the MMC driver, which are provided by the current fixed
voltage regulator on AM3517 EVM.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Abhilash K V <abhilash.kv@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
a15164f13fb3f0f70849c2a099ff0af7b2924ba1 17-Nov-2011 Thomas Weber <weber@corscience.de> ARM: OMAP: hsmmc: Add support for non-OMAP pins

The Devkit8000 uses a TWL4030 pin for card detection.
Thats why the error:
_omap_mux_init_gpio: Could not set gpio192
occurs.

This patch checks that the pin is on OMAP before
calling omap_mux_init_gpio.

Signed-off-by: Thomas Weber <weber@corscience.de>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
e62245ba1caaf78d6fe2619266939c8e7caa150c 29-Nov-2011 Igor Grinberg <grinberg@compulab.co.il> ARM: OMAP: hsmmc: Add support for MMC 2 setup for AM35x

AM35x MMC 2 controller has internal clock loopback setting which cannot
be utilized without this patch and thus SDIO devices connected to this
controller and depend on this setting will fail to initialize.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
fac1d933f4691d59eb5f6ec02bb8eae8d5c68297 22-Nov-2011 Eliad Peller <eliad@wizery.com> ARM: OMAP: hsmmc: board-sdp4430: declare support for MMC_PM_KEEP_POWER

Declare support for keeping the power of the wlan chip
while suspended. this is needed for Wakeup-On-Wireless.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
6fdc75de7d0554134890d33a0a6f5e18c7503c01 22-Nov-2011 Eliad Peller <eliad@wizery.com> ARM: OMAP: hsmmc: add pm_caps field

Add pm_caps field to omap2_hsmmc_info and omap_mmc_slot_data
structs, so we will be able to indicate mmc pm capabilities
in the board file.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
smmc.h
ff819da44258ca12b9f60dfd589884106e5a3129 03-Sep-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP3: CPUidle: Make use of CPU PM notifiers

Save VFP CPU context using CPU PM notifier chain. VFP context
is lost when CPU hits OFF state.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
puidle34xx.c
98be0dde1957a1e47d42cf2c220bf52bacf81d6e 15-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: cpuidle: Switch to gptimer from twd in deeper C-states.

CPU local timer(TWD) stops when the CPU is transitioning into
deeper C-States. Since these timers are not wakeup capable, we
need the wakeup capable global timer to program the wakeup time
depending on the next timer expiry.

It can be handled by registering a global wakeup capable timer along
with local timers marked with (mis)feature flag CLOCK_EVT_FEAT_C3STOP.
Then notify the clock events layer from idle code using
CLOCK_EVT_NOTIFY_BROADCAST_ENTER/EXIT).

ARM local timers are already marked with C3STOP feature. Add the
notifiers to OMAP4 CPU idle code for the broadcast entry and exit.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
puidle44xx.c
98272660970a71e21ad1992f695f75b780de833c 16-Aug-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Add CPUidle support

Add OMAP4 CPUIDLE support. CPU1 is left with defualt idle and
the low power state for it is managed via cpu-hotplug.

This patch adds MPUSS low power states in cpuidle.

C1 - CPU0 ON + CPU1 ON + MPU ON
C2 - CPU0 OFF + CPU1 OFF + MPU CSWR
C3 - CPU0 OFF + CPU1 OFF + MPU OSWR

OMAP4460 onwards, MPUSS power domain doesn't support OFF state any more
anymore just like CORE power domain. The deepest state supported is OSWr.
Ofcourse when MPUSS and CORE PD transitions to OSWR along with device
off mode, even the memory contemts are lost which is as good as
the PD off state.

On OMAP4 because of hardware constraints, no low power states are
targeted when both CPUs are online and in SMP mode. The low power
states are attempted only when secondary CPU gets offline to OFF
through hotplug infrastructure.

Thanks to Nicole Chalhoub <n-chalhoub@ti.com> for doing exhaustive
C-state latency profiling.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
akefile
puidle44xx.c
m.h
m44xx.c
137d105d50f6e6c373c1aa759f59045e6239cf66 26-Jun-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Fix errata i688 with MPU interconnect barriers.

On OMAP4 SOC, intecronnects has many write buffers in the async bridges
and they need to be drained before CPU enters into standby state.

Patch 'OMAP4: PM: Add CPUX OFF mode support' added CPU PM support
but OMAP errata i688 (Async Bridge Corruption) needs to be taken
care to avoid issues like system freeze, CPU deadlocks, random
crashes with register accesses, synchronisation loss on initiators
operating on both interconnect port simultaneously.

As per the errata, if a data is stalled inside asynchronous bridge
because of back pressure, it may be accepted multiple times, creating
pointer misalignment that will corrupt next transfers on that data
path until next reset of the system (No recovery procedure once
the issue is hit, the path remains consistently broken).
Async bridge can be found on path between MPU to EMIF and
MPU to L3 interconnect. This situation can happen only when the
idle is initiated by a Master Request Disconnection (which is
trigged by software when executing WFI on CPU).

The work-around for this errata needs all the initiators
connected through async bridge must ensure that data path
is properly drained before issuing WFI. This condition will be
met if one Strongly ordered access is performed to the
target right before executing the WFI. In MPU case, L3 T2ASYNC
FIFO and DDR T2ASYNC FIFO needs to be drained. IO barrier ensure
that there is no synchronisation loss on initiators operating
on both interconnect port simultaneously.

Thanks to Russell for a tip to conver assembly function to
C fuction there by reducing 40 odd lines of code from the patch.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Richard Woodruff <r-woodruff2@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
config
nclude/mach/barriers.h
o.c
map4-common.c
leep44xx.S
49404dd09f5dc78c247c6044c60d7be7768a71bc 09-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Add power domain statistics support

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map-mpuss-lowpower.c
3ba2a7393e6be48ad7f545a743cd6f46325ba8fd 06-Jun-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Add MPUSS power domain OSWR support

This patch adds the MPUSS OSWR (Open Switch Retention) support. The MPUSS
OSWR configuration is as below.
- CPUx L1 and logic lost, MPUSS logic lost, L2 memory is retained

OMAP4460 onwards, MPUSS power domain doesn't support OFF state any more
anymore just like CORE power domain. The deepest state supported is OSWR.
On OMAP4430 secure devices too, MPUSS off mode can't be used because of
a bug which alters Ducati and Tesla states. Hence MPUSS off mode as an
independent state isn't supported on OMAP44XX devices.

Ofcourse when MPUSS power domain transitions to OSWR along
with device off mode, it eventually hits off state since memory
contents are lost.

Hence the MPUSS off mode independent state is not attempted without
device off mode. All the necessary infrastructure code for MPUSS
off mode is in place as part of this series.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
ommon.h
map-mpuss-lowpower.c
m44xx.c
5e94c6e33e7c4726ef09f46c267e9ca232c5148a 08-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Add L2X0 cache lowpower support

When MPUSS hits off-mode, L2 cache is lost. This patch adds L2X0
necessary maintenance operations and context restoration in the
low power code.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
nclude/mach/omap-secure.h
map-mpuss-lowpower.c
map4-sar-layout.h
leep44xx.S
0f3cf2ec81aeb4747624954bae2cc8decc48e12f 16-Jun-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Add WakeupGen and secure GIC low power support

Add WakeupGen and secure GIC low power support to save and restore
it's registers. WakeupGen Registers are saved to pre-defined SAR RAM layout
and the restore is automatically done by hardware(ROM code) while coming
out of MPUSS OSWR or Device off state. Secure GIC is saved using secure
API and restored by hardware like WakeupGen.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map-wakeupgen.c
map4-sar-layout.h
da82ce57a45ac2f295415ed487b9aec051db4f7f 25-Jul-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Remove un-used do_wfi() macro.

With OMAP4 suspend, idle and hotplug series, we no longer need
do_wfi() macro.

Remove the same.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
ommon.h
e44f9a7744de8e39eda0f544171efc6e4b1ed91c 16-Jun-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: suspend: Add MPUSS power domain RETENTION support

This patch adds MPUSS(MPU Sub System) power domain
CSWR(Close Switch Retention) support to system wide suspend.
For MPUSS power domain to hit retention(CSWR or OSWR), both
CPU0 and CPU1 power domains need to be in OFF or DORMANT state,
since CPU power domain CSWR is not supported by hardware

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map-mpuss-lowpower.c
m44xx.c
72826b9f8892957156e3d390b74d8bd5e0835d51 17-Jul-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Use custom omap_do_wfi() for default idle.

Default arch_idle() isn't good enough for OMAP4 because of aync bridge errata
and necessity of NOPs post WFI to avoid speculative prefetch aborts.
Hence Use OMAP4 custom omap_do_wfi() hook for default idle.

Later in the series, async bridge errata work-around patch updates the
omap_do_wfi() with necessary interconnects barriers.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m44xx.c
e97ca477e993da87769f967bd6f2602a7eab9715 16-Jun-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: CPU1 wakeup workaround from Low power modes

The SGI(Software Generated Interrupts) are not wakeup capable from
low power states. This is known limitation on OMAP4 and needs to be
worked around by using software forced clockdomain wake-up. CPU0 forces
the CPU1 clockdomain to software force wakeup.

More details can be found in OMAP4430 TRM - Version J
Section :
4.3.4.2 Power States of CPU0 and CPU1

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map-smp.c
b5b4f2881f619460fdb165111bac10a3dd8eebee 16-Jun-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Program CPU1 to hit OFF when off-lined

Program non-boot CPUs to hit lowest supported power state
when it is off-lined using cpu hotplug framework.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
ommon.h
map-hotplug.c
map-mpuss-lowpower.c
map-wakeupgen.c
a6e48358d15fec2f3f9e86a6d6fc62422141a3a9 04-Sep-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Remove __INIT from omap_secondary_startup() to re-use it for hotplug.

Remove the __INIT from omap_secondary_startup() so that it can
be re-used for CPU hotplug.

While at this, remove the un-used AUXBOOT register reference.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map-headsmp.S
b2b9762f76981c16a8768255284efeae7f27e4f1 16-Jun-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Add CPUX OFF mode support

This patch adds the CPU0 and CPU1 off mode support. CPUX close switch
retention (CSWR) is not supported by hardware design.

The CPUx OFF mode isn't supported on OMAP4430 ES1.0

CPUx sleep code is common for hotplug, suspend and CPUilde.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
akefile
ommon.h
nclude/mach/omap-secure.h
map-mpuss-lowpower.c
map-smp.c
map4-sar-layout.h
m44xx.c
leep44xx.S
fcf6efa3ffbc3cc19e7abe39e0b90f497df2fc42 16-Jun-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Add WakeupGen module as OMAP gic_arch_extn

OMAP WakeupGen is the interrupt controller extension used along
with ARM GIC to wake the CPU out from low power states on
external interrupts.

The WakeupGen unit is responsible for generating the wakeup event
from the incoming interrupts and enable bits. It is implemented
in the MPU always ON power domain. During normal operation,
WakeupGen delivers the external interrupts directly to the GIC.

WakeupGen specification has one restriction as per Veyron version 1.6.
It is SW responsibility to program interrupt enabling/disabling
coherently in the GIC and in the WakeupGen enable registers. That is, a
given interrupt for a given CPU is either enable at both GIC and WakeupGen,
or disable at both, but no mix. That's the reason the WakeupGen is
implemented as an extension of GIC.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
akefile
nclude/mach/omap-wakeupgen.h
map-wakeupgen.c
map4-common.c
259ee57a8cda5760dd3e803c5271a6327e1f38ac 06-Jun-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP: PM: Add support to allocate the memory for secure RAM

Allocate the memory to save secure ram context which needs
to be done when MPU is hitting OFF mode.

The ROM code expects a physical address to this memory
and hence use memblock APIs to reserve this memory as part
of .reserve() callback. Maximum size as per secure RAM requirements
is allocated.

To keep omap1 build working, omap-secure.h file is created
under plat-omap directory.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
nclude/mach/omap-secure.h
map-secure.c
ba9456ac9c72a7a5d4d59340aba4259351832521 06-Jun-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP: Add Secure HAL and monitor mode API infrastructure.

On OMAP secure/emulation devices, certain APIs are exported by secure
code. Add an infrastructure so that relevant operations on secure
devices can be implemented using it.

While at this, rename omap44xx-smc.S to omap-smc.S since the common APIs
can be used on other OMAP's too.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
akefile
nclude/mach/omap-secure.h
map-secure.c
map-smc.S
map44xx-smc.S
3c50729b3fa1cd8ca1f347e6caf1081204cf1a7c 05-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Initialise all the clockdomains to supported states

Initialise hardware supervised mode for all clockdomains if it's
supported. Initiate sleep transition for other clockdomains,
if they are not being used.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m44xx.c
361b02f3538bc5603a426ed3bb04129a8d7b9a67 11-Mar-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Avoid omap4_pm_init() on OMAP4430 ES1.0

On OMAP4430 ES1.0, Power Management features are not supported.
Avoid omap4_pm_init() on ES1.0 silicon so that we can continue
to use same kernel binary to boot on all OMAP4 silicons.

The ES1.0 boot failure with OMAP4 PM series was because of
the clockdomain initialisation code. Hardware supervised
clockdomain mode isn't functional for all clockdomains
on OMAP4430 ES1.0 silicon so avoid the same.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reported-by: Kevin Hilman <khilman@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m44xx.c
12f27826bdaf56b01cbdfc8bdeb577ebc106dee3 08-Mar-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Keep static dep between MPUSS-EMIF and MPUSS-L3/L4 and DUCATI-L3

As per OMAP4430 TRM, the dynamic dependency between MPUSS -> EMIF
and MPUSS -> L4PER/L3_* and DUCATI -> L3_* clockdomains is enable
by default. Refer register CM_MPU_DYNAMICDEP description for details.

But these dynamic dependencies doesn't work as expected. The hardware
recommendation is to enable static dependencies for above clockdomains.
Without this, system locks up or randomly crashes.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m44xx.c
501f0c751de06d8484b4279131c26f58bd49a69d 01-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: PM: Add SAR RAM support

This patch adds SAR RAM support on OMAP4430. SAR RAM used to save
and restore the HW context in low power modes.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
ommon.h
map4-common.c
map4-sar-layout.h
02afe8a7f23d562cec76743ae34c4735d2819345 03-Mar-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Export omap4_get_base*() rather than global address pointers

This patch exports APIs to get base address for GIC
distributor, CPU interface, SCU and PL310 L2 Cache which
are used in OMAP4 PM code.

This was suggested by Kevin Hilman <khilman@ti.com> during
OMAP4 PM code review.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
ommon.h
map-smp.c
map4-common.c
0db1803e4ee459fd261915a2f1b2c39bb34767eb 03-Mar-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Use WARN_ON() instead of BUG_ON() with graceful exit

OMAP4 L2X0 initialisation code uses BUG_ON() for the ioremap()
failure scenarios.

Use WARN_ON() instead and allow graceful function exits.

This was suggsted by Kevin Hilman <khilman@ti.com> during
OMAP4 PM code review.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map4-common.c
b755706cd726e5d465c28c2cd64c618419034981 07-Dec-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: board-generic: Add missing handle_irq callbacks

The following commit: 6b2f55d7851aa358d3a99cff344c560c4967f042,
is adding the support for the CONFIG_MULTI_IRQ_HANDLER but did
not update all the machine descriptors supported in the DT
board-generic.c file.
It thus break the DT boot on OMAP3 and OMAP4 boards.

Add the proper handle_irq callbacks for OMAP3 and OMAP4 generic
machine descriptors.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-generic.c
deee6d5359969a0ce4e2760cfd7b9f379bd5698a 06-Dec-2011 Tony Lindgren <tony@atomide.com> ARM: 7194/1: OMAP: Fix build after a merge between v3.2-rc4 and ARM restart changes

ARM restart changes needed changes to common.h to make it local.
This conflicted with v3.2-rc4 DSS related hwmod changes that
git mergetool was not able to handle.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
isplay.c
73829af71fdb8655e7ba4b5a2a6612ad34a75a11 06-Dec-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'vmalloc' of git://git.linaro.org/people/nico/linux into devel-stable
742eaa6a6e356a16788ce6530271de89bc4f8fb5 06-Dec-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into devel-stable

Conflicts:
arch/arm/common/gic.c
arch/arm/plat-omap/include/plat/common.h
ba8bb18a03f8c7508565c385576a5431a4ad804a 05-Dec-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: 7189/1: OMAP3: Fix build break in cpuidle34xx.c because of irq function

Fix the below build break by including common.h

arch/arm/mach-omap2/cpuidle34xx.c: In function 'omap3_enter_idle':
arch/arm/mach-omap2/cpuidle34xx.c:117: error: implicit declaration of function 'omap_irq_pending'
make[1]: *** [arch/arm/mach-omap2/cpuidle34xx.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
puidle34xx.c
f88f4dd868e59c0cf1d61d3465966d33e3309b07 05-Dec-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: 7188/1: OMAP2PLUS: Fix build error: 'omap2/omap3_intc_handle_irq' undeclared.

Fix the build break by adding the necessary irq functions to
common header.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ommon.h
608205c082eb4c1326b56fa1525a8106fa7a38c9 05-Dec-2011 Joerg Roedel <joerg.roedel@amd.com> Merge branch 'for-joerg' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/linux into arm/omap
c8eaab3b74f1326c989e1db8d7c0c14981556e4e 23-Sep-2011 Ohad Ben-Cohen <ohad@wizery.com> ARM: OMAP3: bind omap3isp_device to its iommu device

Bind OMAP3's isp device to the isp's dedicated iommu, by setting
the device's archdata iommu member.

This way omap3isp will be able to use the generic IOMMU API without
having to call any omap-specific binding method.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tony Lindgren <tony@atomide.com>
evices.c
d0e6b2236a26711939bfcdd97370fedcd526a191 15-Sep-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: big removal of now unused vmalloc.h files

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
nclude/mach/vmalloc.h
55135dfbf3dd83cb3e98deed8271b62d188404e1 24-Nov-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'fixes-dss' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
52f3a41e0aca5625fbd118ed57a4debb25817e99 23-Nov-2011 Tony Lindgren <tony@atomide.com> Merge branch 'fixes-v3.2-rc2' into fixes
8770b07c2dff3cec2c751b289ee690137c88ea54 23-Nov-2011 Govindraj.R <govindraj.raja@ti.com> ARM: OMAP2+: Fix Compilation error when omap_l3_noc built as module

Fix below compilation failure on mainline kernel 3.2-rc1
when omap_l3_noc.c is built as module.

arch/arm/mach-omap2/omap_l3_noc.c:240: error: expected ',' or ';' before 'MODULE_DEVICE_TABLE'

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_l3_noc.c
52a2396249478018ea2e83d962a347d38d8cccbe 23-Nov-2011 Thomas Weber <weber@corscience.de> ARM: OMAP2+: Remove empty io.h

The file arch/arm/mach-omap2/io.h is empty, so we can remove it.

Signed-off-by: Thomas Weber <weber@corscience.de>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.h
a8a6565c7615cab3608d75af95b5c8a3522cd7c4 23-Nov-2011 Ming Lei <tom.leiming@gmail.com> ARM: OMAP2: select ARM_AMBA if OMAP3_EMU is defined

This patch selects ARM_AMBA if OMAP3_EMU is defined because
OC_ETM depends on ARM_AMBA, so fix the link failure[1].

[1],
arch/arm/kernel/built-in.o: In function `etm_remove':
/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:609: undefined
reference to `amba_release_regions'
arch/arm/kernel/built-in.o: In function `etb_remove':
/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:409: undefined
reference to `amba_release_regions'
arch/arm/kernel/built-in.o: In function `etm_init':
/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:640: undefined
reference to `amba_driver_register'
/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:646: undefined
reference to `amba_driver_register'
/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:648: undefined
reference to `amba_driver_unregister'
arch/arm/kernel/built-in.o: In function `etm_probe':
/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:545: undefined
reference to `amba_request_regions'
/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:595: undefined
reference to `amba_release_regions'
arch/arm/kernel/built-in.o: In function `etb_probe':
/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:347: undefined
reference to `amba_request_regions'
/home/tom/git/omap/linux-2.6-omap/arch/arm/kernel/etm.c:392: undefined
reference to `amba_release_regions'
arch/arm/mach-omap2/built-in.o: In function `emu_init':
/home/tom/git/omap/linux-2.6-omap/arch/arm/mach-omap2/emu.c:62:
undefined reference to `amba_device_register'
/home/tom/git/omap/linux-2.6-omap/arch/arm/mach-omap2/emu.c:63:
undefined reference to `amba_device_register'
make: *** [.tmp_vmlinux1] Error 1
making modules

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
5a4f1844c2ba21f804d7729306d9b16eaeb724a8 23-Nov-2011 Felipe Balbi <balbi@ti.com> ARM: OMAP: smartreflex: fix IRQ handling bug

Fix a bug which has been on this driver since
it was added by the original commit 984aa6db
which would never clear IRQSTATUS bits.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
martreflex.c
46232a3622c6e33605906ee6690dfef372925f53 23-Nov-2011 Kevin Hilman <khilman@ti.com> ARM: OMAP: PM: only register TWL with voltage layer when device is present

Current code registers voltage layer details for TWL PMIC even when a TWL
has not been registered. Fix this to only register the TWL with voltage
layer when the TWL PMIC is initialized by board-level code.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
m.c
wl-common.c
wl-common.h
cc1b0765da6078b906772b79ff211b88cc0ae958 23-Nov-2011 sricharan <r.sricharan@ti.com> ARM: OMAP: hwmod: Fix the addr space, irq, dma count APIs

The address spaces, irqs and dma reqs count APIs return the
number of corresponding entries in a hwmod including a additional
null value or a -1 terminator in the structure introduced recently.
More information here:

- 212738a4: omap_hwmod: use a terminator record with omap_hwmod_mpu_irqs
arrays

- 78183f3f: omap_hwmod: use a null structure record to terminate
omap_hwmod_addr_space arrays

- bc614958: omap_hwmod: use a terminator record with omap_hwmod_dma_info
arrays

The issue with irqs and dma info was originally reported by Benoit Cousson.

The devices which have multiple hwmods and use device_build_ss are
broken with this, as their resources are populated with a extra null
value, subsequently the probe fails. So fix the API not to include
the array terminator in the count.

Reported-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimar@ti.com>
Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod.c
2d13ccaa8797d7e599f3792aed4b1e44b47f94a5 21-Nov-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'irqchip-consolidation' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into devel-stable

Conflicts:
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/include/mach/omap4-common.h
arch/arm/plat-omap/include/plat/irqs.h

The changes to omap4-common.h were moved to arch/arm/mach-omap2/common.h
and the other trivial conflicts resolved. The now empty ifdef in irqs.h
was also eliminated.
7146182c7f446903dea032fc992dca8d61c12750 14-Sep-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: plat-omap: remove arch specific special handling for ioremap

A generic version should replace this later.

As io.c has become nearly empty, omap_init_consistent_dma_size() is moved
into common.c so that io.c can be removed entirely.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Tested-by: Kevin Hilman <khilman@ti.com>
o.c
4e65331c6bb4a777bd61a4dac0daa9fc47777b63 10-Nov-2011 Tony Lindgren <tony@atomide.com> ARM: 7159/1: OMAP: Introduce local common.h files

As suggested by Russell King - ARM Linux <linux@arm.linux.org.uk>,
there's no need to keep local prototypes in non-local headers.

Add mach-omap1/common.h and mach-omap2/common.h and move the
local prototypes there from plat/common.h and mach/omap4-common.h.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51-peripherals.c
oard-rx51.c
oard-ti8168evm.c
oard-zoom-peripherals.c
oard-zoom.c
m2xxx_3xxx.c
m44xx.c
minst44xx.c
ommon.c
ommon.h
ontrol.c
2c.c
d.c
nclude/mach/omap4-common.h
o.c
map-hotplug.c
map-smp.c
map4-common.c
map_hwmod.c
m.c
m24xx.c
m34xx.c
m44xx.c
rcm.c
rcm_mpu44xx.c
rm2xxx_3xxx.c
rm44xx.c
rminst44xx.c
dram-nokia.c
drc.c
drc2xxx.c
erial.c
martreflex.c
imer.c
c3xxx_data.c
c44xx_data.c
oltage.c
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
p.c
p3xxx_data.c
p44xx_data.c
08d33b27f7063ba2b4a29f9e3a2dcb65f30dec0b 06-Sep-2011 Marc Zyngier <marc.zyngier@arm.com> ARM: GIC: Make MULTI_IRQ_HANDLER mandatory

Now that MULTI_IRQ_HANDLER is selected by all the in-tree
GIC users, make it mandatory and remove the unused macros.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
config
ab65be268adaae59da5b1306b425a7859f955669 15-Nov-2011 Marc Zyngier <marc.zyngier@arm.com> ARM: omap2plus: remove irq-related global base addresses

After the MULTI_IRQ_HANDLER conversion, a couple of global
variables can be removed.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
nclude/mach/omap4-common.h
o.c
rq.c
map4-common.c
6b2f55d7851aa358d3a99cff344c560c4967f042 06-Sep-2011 Marc Zyngier <marc.zyngier@arm.com> ARM: omap2plus: convert to CONFIG_MULTI_IRQ_HANDLER

Convert the omap2plus platforms to be using CONFIG_MULTI_IRQ_HANDLER.
Each machine is modified to provide either omap2_intc_handle_irq(),
omap3_intc_handle_irq() or gic_handle_irq().

This allows for a major cleanup, removing the MULTI_OMAP setup
from the interrupt path.

Tested on both Panda and IGEPv2 (single kernel image)

Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
config
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51.c
oard-zoom.c
nclude/mach/entry-macro.S
2db1499784da653f7e257d98fefdebc65fde7c40 06-Sep-2011 Marc Zyngier <marc.zyngier@arm.com> ARM: omap2/3: Add global omap2/3_intc_handle_irq() functions

Provide the OMAP2/3 IRQ code with low level handlers that can be used
by platforms using CONFIG_MULTI_IRQ_HANDLER. Though the handlers are
written in C, the compiled code looks very similar to its assembly
counterpart (at least with my gcc 4.4.1).

Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
rq.c
b923d40dd4211c4ef7d4efa2bd81b7ca1d8744c1 07-Oct-2011 Archit Taneja <archit@ti.com> ARM: OMAP2PLUS: DSS: Ensure DSS works correctly if display is enabled in bootloader

Resetting DISPC when a DISPC output is enabled causes the DSS to go into an
inconsistent state. Thus if the bootloader has enabled a display, the hwmod code
cannot reset the DISPC module just like that, but the outputs need to be
disabled first.

Add function dispc_disable_outputs() which disables all active overlay manager
and ensure all frame transfers are completed.

Modify omap_dss_reset() to call this function and clear DSS_CONTROL,
DSS_SDI_CONTROL and DSS_PLL_CONTROL so that DSS is in a clean state when the
DSS2 driver starts.

This resolves the hang issue(caused by a L3 error during boot) seen on the
beagle board C3, which has a factory bootloader that enables display. The issue
is resolved with this patch.

Thanks to Tomi and Sricharan for some additional testing.

Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Tested-by: R, Sricharan <r.sricharan@ti.com>
Signed-off-by: Archit Taneja <archit@ti.com>
[paul@pwsan.com: restructured code, removed omap_{read,write}l(), removed
cpu_is_omap*() calls and converted to dev_attr]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
isplay.c
isplay.h
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
map_hwmod_common_data.c
map_hwmod_common_data.h
13662dc5b177d68885695ef513dd4ae0e4d2a099 08-Nov-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP: HWMOD: Unify DSS resets for OMAPs

This patch adds a custom DSS reset function used on OMAPs from OMAP2
forward.

The function doesn't actually do a reset, it only waits for the reset to
complete. The reason for this is that on OMAP4 there is no possibility
to do a SW reset, and on OMAP2/3 doing a SW reset for dss_core resets
all the other DSS modules also, thus breaking the HWMOD model where
every DSS module is handled independently.

This fixes the problem with DSS reset on OMAP4, caused by the fact that
because there's no SW reset for dss_core on OMAP4, the HWMOD framework
doesn't try to reset dss_core and thus the DSS clocks were never enabled
at the same time. This causes causes the HWMOD reset to fail for
dss_dispc and dss_rfbi.

The common reset function will also allow us to fix another problem in
the future: before doing a reset we need to disable DSS outputs, which
are in some cases enabled by the bootloader, as otherwise DSS HW seems
to get more or less stuck, requiring a power reset to recover.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
[paul@pwsan.com: modified to build arch/arm/mach-omap2/display.o
unconditionally to avoid an error when !CONFIG_OMAP2_DSS]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
isplay.c
map_hwmod_2xxx_3xxx_ipblock_data.c
map_hwmod_44xx_data.c
3ce32676bb355420ceeda57b73dd84df0ff5ad6f 08-Nov-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP2/3: HWMOD: Add SYSS_HAS_RESET_STATUS for dss

OMAP2/3 dss_core has a reset status flag in sysstatus register. Add
SYSS_HAS_RESET_STATUS flag to HWMOD data so it can be used.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2xxx_3xxx_ipblock_data.c
4d0698d98f501b86d3bef38c46a54a702e0469a0 08-Nov-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP4: HWMOD: fix DSS clock data

The OMAP4 HWMOD data currently contains errors with DSS clocks:

dss_hdmi and dss_venc have their main_clks wrong. The clocks should be
dss_48mhz_clk and dss_tv_clk, respectively.

These problems were temporarily fixed with the DSS patches
9ede365aa6f74428a1f69c21ca1cf21213167576 ("HACK: OMAP: DSS2: clk hack
for OMAP2/3"), and df5d3ed23cf73ee0763a8963003bda9b69d9620f ("OMAP:
DSS2: HDMI: fix hdmi clock name"), which can be reverted after this
patch.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
37ad085527860397438f27c81a2cb13272378458 08-Nov-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP4: HWMOD: Add HWMOD_CONTROL_OPT_CLKS_IN_RESET for dss_core

DSS needs all DSS clocks to be enabled to be able to finish reset
properly. Before v3.1-rc1 the omapdss driver was managing clocks and
resets correctly. However, when omapdss started using runtime PM at
v3.1-rc1, the responsibility for the reset moved to HWMOD framework.

HWMOD framework does not currently enable all the DSS clocks when
resetting the DSS hardware. This causes the HWMOD frameworks boot-time
reset to fail, possibly leaving the DSS hardware in undefined state.

This patch sets HWMOD_CONTROL_OPT_CLKS_IN_RESET for dss_core. The flag
is actually not used on OMAP4, because dss_core hardware does not have
soft-reset functionality and thus the HWMOD framework never resets nor
waits for the reset to finish.

However, while the flag is not strictly needed currently, I think it
represents the HW correctly: all the DSS clocks should be enabled after
power-on to allow DSS hardware to finish its reset.

A custom reset function will be added in the following patches which
manages this correctly for OMAP4.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
4247878efca76143aa015ed1142652056052abb8 08-Nov-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP4: HWMOD: remove extra clocks

Remove the dss_dss_clk from dss_core's opt-clocks. dss_dss_clk already
defined as the dss main_clk, and thus is not needed as an opt-clock.

Remove opt-clocks for dss_dispc, as dispc only uses the main_clk.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
6c3d7e34d68ffae888d33bf364f447e0b415591f 08-Nov-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP3: HWMOD: fix DSS clock data

The OMAP3 HWMOD data currently contains these errors with DSS clocks:

- dss_rfbi is missing ick opt-clock, which is needed for RFBI to
calculate timings

- dss_dsi is missing ick and sys_clk

- dss_venc is missing dss_96m_fck opt-clock, which is required on
OMAP3430

- dss_venc's interface and main clocks are wrong, causing VENC to fail
to start

These problems were temporarily fixed with a DSS patch
9ede365aa6f74428a1f69c21ca1cf21213167576 ("HACK: OMAP: DSS2: clk hack
for OMAP2/3"), which can be reverted after this patch (and the similar
patches for other OMAPs).

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_3xxx_data.c
8c3105ca1a42783b13930fbd375484ec8c72e608 08-Nov-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP3: HWMOD: Fix DSS reset

DSS needs all DSS clocks to be enabled to be able to finish reset
properly. Before v3.1-rc1 the omapdss driver was managing clocks and
resets correctly. However, when omapdss started using runtime PM at
v3.1-rc1, the responsibility for the reset moved to HWMOD framework.

HWMOD framework does not currently enable all the DSS clocks when
resetting the DSS hardware. This hasn't caused any problems so far, but
we may just have been lucky.

dss_core's opt-clocks is also missing dss_96m_fck, which is a DSS clock
present only on OMAP3430, and thus required on OMAP3430 to finish the
reset.

This patch sets HWMOD_CONTROL_OPT_CLKS_IN_RESET and adds the dss_96m_fck
opt-clock for dss_core in OMAP3 HWMOD data, fixing the issue.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
[paul@pwsan.com: merged duplicate .flags fields]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_3xxx_data.c
b8ac10d8b75843c9ddd6aadf70a0cdf8aa783659 08-Nov-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP2xxx: HWMOD: fix DSS clock data

The OMAP2xxx HWMOD data currently contains two errors with DSS clocks:

- dss_rfbi is missing ick opt-clock, which is needed for RFBI to
calculate timings

- dss_venc's interface and main clocks are wrong, causing VENC to fail
to start

These problems were temporarily fixed with a DSS patch
9ede365aa6f74428a1f69c21ca1cf21213167576 ("HACK: OMAP: DSS2: clk hack
for OMAP2/3"), which can be reverted after this patch (and the similar
patches for other OMAPs).

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
1258ea596fe0422272525d9ec8a25b703de4623f 08-Nov-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP2xxx: HWMOD: Fix DSS reset

DSS needs all DSS clocks to be enabled to be able to finish reset
properly. Before v3.1-rc1 the omapdss driver was managing clocks and
resets correctly. However, when omapdss started using runtime PM at
v3.1-rc1, the responsibility for the reset moved to HWMOD framework.

HWMOD framework does not currently enable all the DSS clocks when
resetting the DSS hardware. This hasn't caused any problems so far, but
we may just have been lucky.

This patch sets HWMOD_CONTROL_OPT_CLKS_IN_RESET for dss_core in OMAP2xxx
HWMOD data, fixing the issue.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
[paul@pwsan.com: merged duplicate .flags fields]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
075cb105cb6dcda8a585989ebd4a71f0b3c33f3e 08-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (31 commits)
ARM: OMAP: Fix export.h or module.h includes
ARM: OMAP: omap_device: Include linux/export.h
ARM: OMAP2: Fix H4 matrix keyboard warning
ARM: OMAP1: Remove unused omap-alsa.h
ARM: OMAP1: Fix warnings about enabling 32 KiHz timer
ARM: OMAP2+: timer: Remove omap_device_pm_latency
ARM: OMAP2+: clock data: Remove redundant timer clkdev
ARM: OMAP: Devkit8000: Remove double omap_mux_init_gpio
ARM: OMAP: usb: musb: OMAP: Delete unused function
MAINTAINERS: Update linux-omap git repository
ARM: OMAP: change get_context_loss_count ret value to int
ARM: OMAP4: hsmmc: configure SDMMC1_DR0 properly
ARM: OMAP4: hsmmc: Fix Pbias configuration on regulator OFF
ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success
ARM: OMAP: dmtimer: Include linux/module.h
ARM: OMAP2+: l3-noc: Include linux/module.h
ARM: OMAP2+: devices: Fixes for McPDM
ARM: OMAP: Fix errors and warnings when building for one board
ARM: OMAP3: PM: restrict erratum i443 handling to OMAP3430 only
...
5698eb4eda657fd4a74612a65cd5d583f35a5bdb 08-Nov-2011 Kevin Hilman <khilman@ti.com> ARM: OMAP3: CPUidle: include <linux/export.h>

The CPUidle use THIS_MODULE, so needs <linux/export.h>

Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
puidle34xx.c
d30cc16c8e48368e0518f4975a78711e53e14a0f 07-Nov-2011 Tony Lindgren <tony@atomide.com> Merge branch 'fixes-modulesplit' into fixes
a1bcc1dcef8451b4291ea2a1b2677cb194102952 07-Nov-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP: Fix export.h or module.h includes

Commit 32aaeffbd4a7457bf2f7448b33b5946ff2a960eb (Merge branch
'modsplit-Oct31_2011'...) caused some build errors. Fix these
and make sure we always have export.h or module.h included
for MODULE_ and EXPORT_SYMBOL users:

$ grep -rl ^MODULE_ arch/arm/*omap*/*.c | xargs \
grep -L linux/module.h
arch/arm/mach-omap2/dsp.c
arch/arm/mach-omap2/mailbox.c
arch/arm/mach-omap2/omap-iommu.c
arch/arm/mach-omap2/smartreflex.c

Also check we either have export.h or module.h included
for the files exporting symbols:

$ grep -rl EXPORT_SYMBOL arch/arm/*omap*/*.c | xargs \
grep -L linux/export.h | xargs grep -L linux/module.h

Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sp.c
ailbox.c
map-iommu.c
martreflex.c
3c00303206c3a1ccd86579efdc90bc35f140962e 07-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
cpuidle: Single/Global registration of idle states
cpuidle: Split cpuidle_state structure and move per-cpu statistics fields
cpuidle: Remove CPUIDLE_FLAG_IGNORE and dev->prepare()
cpuidle: Move dev->last_residency update to driver enter routine; remove dev->last_state
ACPI: Fix CONFIG_ACPI_DOCK=n compiler warning
ACPI: Export FADT pm_profile integer value to userspace
thermal: Prevent polling from happening during system suspend
ACPI: Drop ACPI_NO_HARDWARE_INIT
ACPI atomicio: Convert width in bits to bytes in __acpi_ioremap_fast()
PNPACPI: Simplify disabled resource registration
ACPI: Fix possible recursive locking in hwregs.c
ACPI: use kstrdup()
mrst pmu: update comment
tools/power turbostat: less verbose debugging
32aaeffbd4a7457bf2f7448b33b5946ff2a960eb 07-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux

* 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
Revert "tracing: Include module.h in define_trace.h"
irq: don't put module.h into irq.h for tracking irqgen modules.
bluetooth: macroize two small inlines to avoid module.h
ip_vs.h: fix implicit use of module_get/module_put from module.h
nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
include: replace linux/module.h with "struct module" wherever possible
include: convert various register fcns to macros to avoid include chaining
crypto.h: remove unused crypto_tfm_alg_modname() inline
uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
pm_runtime.h: explicitly requires notifier.h
linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
miscdevice.h: fix up implicit use of lists and types
stop_machine.h: fix implicit use of smp.h for smp_processor_id
of: fix implicit use of errno.h in include/linux/of.h
of_platform.h: delete needless include <linux/module.h>
acpi: remove module.h include from platform/aclinux.h
miscdevice.h: delete unnecessary inclusion of module.h
device_cgroup.h: delete needless include <linux/module.h>
net: sch_generic remove redundant use of <linux/module.h>
net: inet_timewait_sock doesnt need <linux/module.h>
...

Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
- drivers/media/dvb/frontends/dibx000_common.c
- drivers/media/video/{mt9m111.c,ov6650.c}
- drivers/mfd/ab3550-core.c
- include/linux/dmaengine.h
46bcfad7a819bd17ac4e831b04405152d59784ab 28-Oct-2011 Deepthi Dharwar <deepthi@linux.vnet.ibm.com> cpuidle: Single/Global registration of idle states

This patch makes the cpuidle_states structure global (single copy)
instead of per-cpu. The statistics needed on per-cpu basis
by the governor are kept per-cpu. This simplifies the cpuidle
subsystem as state registration is done by single cpu only.
Having single copy of cpuidle_states saves memory. Rare case
of asymmetric C-states can be handled within the cpuidle driver
and architectures such as POWER do not have asymmetric C-states.

Having single/global registration of all the idle states,
dynamic C-state transitions on x86 are handled by
the boot cpu. Here, the boot cpu would disable all the devices,
re-populate the states and later enable all the devices,
irrespective of the cpu that would receive the notification first.

Reference:
https://lkml.org/lkml/2011/4/25/83

Signed-off-by: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
Signed-off-by: Trinabh Gupta <g.trinabh@gmail.com>
Tested-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Len Brown <len.brown@intel.com>
puidle34xx.c
4202735e8ab6ecfb0381631a0d0b58fefe0bd4e2 28-Oct-2011 Deepthi Dharwar <deepthi@linux.vnet.ibm.com> cpuidle: Split cpuidle_state structure and move per-cpu statistics fields

This is the first step towards global registration of cpuidle
states. The statistics used primarily by the governor are per-cpu
and have to be split from rest of the fields inside cpuidle_state,
which would be made global i.e. single copy. The driver_data field
is also per-cpu and moved.

Signed-off-by: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
Signed-off-by: Trinabh Gupta <g.trinabh@gmail.com>
Tested-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Len Brown <len.brown@intel.com>
puidle34xx.c
e978aa7d7d57d04eb5f88a7507c4fb98577def77 28-Oct-2011 Deepthi Dharwar <deepthi@linux.vnet.ibm.com> cpuidle: Move dev->last_residency update to driver enter routine; remove dev->last_state

Cpuidle governor only suggests the state to enter using the
governor->select() interface, but allows the low level driver to
override the recommended state. The actual entered state
may be different because of software or hardware demotion. Software
demotion is done by the back-end cpuidle driver and can be accounted
correctly. Current cpuidle code uses last_state field to capture the
actual state entered and based on that updates the statistics for the
state entered.

Ideally the driver enter routine should update the counters,
and it should return the state actually entered rather than the time
spent there. The generic cpuidle code should simply handle where
the counters live in the sysfs namespace, not updating the counters.

Reference:
https://lkml.org/lkml/2011/3/25/52

Signed-off-by: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
Signed-off-by: Trinabh Gupta <g.trinabh@gmail.com>
Tested-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Len Brown <len.brown@intel.com>
puidle34xx.c
41eb2d813f558900884e240c2f723e36c7bd151f 07-Oct-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Fix H4 matrix keyboard warning

Convert to use matrix keyboard to remove the warning
"Please update the board to use matrix-keypad driver".

Based on similar setup in palmtc.c. Note that this
patch is compile tested only because of lack of working
hardware.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
c16ae1e64e292054bc4c5a20724b40217bdc43dd 04-Oct-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: timer: Remove omap_device_pm_latency

Remove the structure since a default one is now available.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer.c
2847111cb1ea1a6e2b25e6a26cc76f88575bc0bd 04-Oct-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: clock data: Remove redundant timer clkdev

The commit 318c3e15cd55c73a26ae22a65a8183655b3003f9
added some "fck" clock alias to timer devices that are
not needed anymore since hwmod framework will create
them automatically.

A warning was added to highlight and thus fix the redundancy.

[ 0.616424] omap_timer.1: alias fck already exists
[ 0.621948] omap_timer.2: alias fck already exists
[ 0.627380] omap_timer.3: alias fck already exists
[ 0.632781] omap_timer.4: alias fck already exists
[ 0.638214] omap_timer.5: alias fck already exists
[ 0.643615] omap_timer.6: alias fck already exists
[ 0.649078] omap_timer.7: alias fck already exists
[ 0.654479] omap_timer.8: alias fck already exists
[ 0.659881] omap_timer.9: alias fck already exists
[ 0.665283] omap_timer.10: alias fck already exists
[ 0.670776] omap_timer.11: alias fck already exists

Remove all the clkdev entries for timer fck alias.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
lock44xx_data.c
e9614f35ba0f50d985fc27cbbafcb0346e1d4daa 06-Sep-2011 Thomas Weber <weber@corscience.de> ARM: OMAP: Devkit8000: Remove double omap_mux_init_gpio

Remove the init of card detect pin because
omap_mux_init_gpio() is called during hsmmc initialization
for the write protect and card detect pin.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
0eb3c0f5a43f7dd90c4109927752659f147237b7 06-Oct-2011 Bjarne Steinsbo <bsteinsbo@gmail.com> ARM: OMAP: usb: musb: OMAP: Delete unused function

Not in use anymore.

Signed-off-by: Bjarne Steinsbo <bsteinsbo@gmail.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-musb.c
fc01387302c01899e3cc67d3c81fd4287db9bab9 09-Jun-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> ARM: OMAP: change get_context_loss_count ret value to int

get_context_loss_count functions return context loss count as u32, and
zero means an error. However, zero is also returned when context has
never been lost and could also be returned when the context loss count
has wrapped and goes to zero.

Change the functions to return an int, with negative value meaning an
error.

OMAP HSMMC code uses omap_pm_get_dev_context_loss_count(), but as the
hsmmc code handles the returned value as an int, with negative value
meaning an error, this patch actually fixes hsmmc code also.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
[tony@atomide.com: updated to fix a warning with recent dmtimer changes]
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod.c
owerdomain.c
owerdomain.h
c862dd706759c48a8a45af140330544724f170f9 03-Oct-2011 Balaji T K <balajitk@ti.com> ARM: OMAP4: hsmmc: configure SDMMC1_DR0 properly

Fix the typo, instead it should be SDMMC1
USBC1 is not related to MMC1 I/Os

Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
ff2beb1d9f2fecc3f5c1d67bfec1183a5a476586 03-Oct-2011 Balaji T K <balajitk@ti.com> ARM: OMAP4: hsmmc: Fix Pbias configuration on regulator OFF

MMC1 data line IO's are powered down in before set regulator function.
IO's should not be powered ON when regulator is OFF.
Keep the IO's in power pown mode after regulator OFF otherwise VMODE_ERROR
interrupt is generated due to mismatch in input (regulator)
voltage and MMC IO drive voltage.
Delete incorrect comments which are not applicable for OMAP4.

Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Reported-by: Viswanath Puttagunta <vishp@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
ace9021698ef7d298e6d184ae2880b1cb3ebc4c7 06-Oct-2011 Paul Walmsley <paul@pwsan.com> ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list

Commit d6504acd2125984c61dce24727dd3842d0144015 ("OMAP2+: hwmod:
remove OMAP_CHIP*") tests the inverse condition of what it should be
testing for the return value from omap_hwmod_register(). This causes
several IP blocks to not be registered on several OMAP3 family devices.

Fixing that bug also unmasked another bug, originally reported by
Chase Maupin <chase.maupin@ti.com> and then subsequently by Abhilash K
V <abhilash.kv@ti.com>, which caused SmartReflex IP blocks to be
registered on SoCs that don't support them.

Thanks to Russell King - ARM Linux <linux@arm.linux.org.uk> for comments
on a previous version of the patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Chase Maupin <chase.maupin@ti.com>
Cc: Abhilash K V <abhilash.kv@ti.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_3xxx_data.c
d4fc7eb5c597c65739faa776783b2e28bf0d7296 02-Nov-2011 Axel Lin <axel.lin@gmail.com> ARM: OMAP2+: l3-noc: Include linux/module.h

Include linux/module.h to fix below build error:

CC arch/arm/mach-omap2/omap_l3_noc.o
arch/arm/mach-omap2/omap_l3_noc.c:240: error: expected ',' or ';' before 'MODULE_DEVICE_TABLE'
arch/arm/mach-omap2/omap_l3_noc.c:250: error: 'THIS_MODULE' undeclared here (not in a function)
make[1]: *** [arch/arm/mach-omap2/omap_l3_noc.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_l3_noc.c
927dbbb22c54347a0ba3a4eab2cbc46260afad32 03-Nov-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> ARM: OMAP2+: devices: Fixes for McPDM

Commit f718e2c034bf6ff872106344935006230764cb12 (ARM: OMAP2+: devices:
Remove all omap_device_pm_latency structures) removed these structures.
Commit 3528c58eb9e818b7821501afa2916eb12131994a (OMAP: omap_device:
when building return platform_device instead of omap_device) now
returns platform_device instead of omap_device.

Fix up the omap-mcpdm init function since this part comes via sound
tree, and there has been changes regarding to hwmod/omap_device_build.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
CC: Benoit Cousson <b-cousson@ti.com>
CC: Kevin Hilman <khilman@ti.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
c4e2d2457afd6da3ddee18c2a1befca287e029c7 13-Oct-2011 Sanjeev Premi <premi@ti.com> ARM: OMAP: Fix errors and warnings when building for one board

When customizing omap2plus_defconfig to build for only
one board (omap3evm), I came across these warnings and
errors (filenames truncated):

arch/arm/mach-omap2/board-generic.c:76:20: warning: 'omap4_init' defined but not used
arch/arm/mach-omap2/built-in.o: In function `omap2420_init_early':
arch/arm/mach-omap2/io.c:364: undefined reference to `omap2_set_globals_242x'
arch/arm/mach-omap2/io.c:366: undefined reference to `omap2xxx_voltagedomains_init'
arch/arm/mach-omap2/io.c:367: undefined reference to `omap242x_powerdomains_init'
arch/arm/mach-omap2/io.c:368: undefined reference to `omap242x_clockdomains_init'
arch/arm/mach-omap2/io.c:369: undefined reference to `omap2420_hwmod_init'
arch/arm/mach-omap2/built-in.o: In function `omap2430_init_early':
arch/arm/mach-omap2/io.c:376: undefined reference to `omap2_set_globals_243x'
arch/arm/mach-omap2/io.c:378: undefined reference to `omap2xxx_voltagedomains_init'
arch/arm/mach-omap2/io.c:379: undefined reference to `omap243x_powerdomains_init'
arch/arm/mach-omap2/io.c:380: undefined reference to `omap243x_clockdomains_init'
arch/arm/mach-omap2/io.c:381: undefined reference to `omap2430_hwmod_init'
arch/arm/mach-omap2/built-in.o: In function `omap4430_init_early':
arch/arm/mach-omap2/io.c:436: undefined reference to `omap2_set_globals_443x'
arch/arm/mach-omap2/io.c:438: undefined reference to `omap44xx_voltagedomains_init'
arch/arm/mach-omap2/io.c:439: undefined reference to `omap44xx_powerdomains_init'
arch/arm/mach-omap2/io.c:440: undefined reference to `omap44xx_clockdomains_init'
arch/arm/mach-omap2/io.c:441: undefined reference to `omap44xx_hwmod_init'

This patch fixes them.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Acked-by: Thomas Weber <weber@corscience.de>
[tony@atomide.com: updated to fix warnings for board-generic.c]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-generic.c
o.c
7fd92b56e5508fc3453ac9a65e11561178e86330 05-Nov-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.2/pm-cleanup-2' of git://github.com/khilman/linux-omap-pm into fixes
2cbb6160b56038aad0ce0b05bed7a75d6f086171 05-Nov-2011 Tony Lindgren <tony@atomide.com> Merge branch 'prcm_scm_misc_fixes_3.2' of git://git.pwsan.com/linux-2.6 into fixes
8f86f36284547fdd873769a5f190549f3ab69cca 05-Nov-2011 Tony Lindgren <tony@atomide.com> Merge branch 'omap_clock_fixes_3.2' of git://git.pwsan.com/linux-2.6 into fixes
a0a4194c943bc64dd7b6e26cccb036cb26b81363 03-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6

* 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6: (80 commits)
mfd: Fix missing abx500 header file updates
mfd: Add missing <linux/io.h> include to intel_msic
x86, mrst: add platform support for MSIC MFD driver
mfd: Expose TurnOnStatus in ab8500 sysfs
mfd: Remove support for early drop ab8500 chip
mfd: Add support for ab8500 v3.3
mfd: Add ab8500 interrupt disable hook
mfd: Convert db8500-prcmu panic() into pr_crit()
mfd: Refactor db8500-prcmu request_clock() function
mfd: Rename db8500-prcmu init function
mfd: Fix db5500-prcmu defines
mfd: db8500-prcmu voltage domain consumers additions
mfd: db8500-prcmu reset code retrieval
mfd: db8500-prcmu tweak for modem wakeup
mfd: Add db8500-pcmu watchdog accessor functions for watchdog
mfd: hwacc power state db8500-prcmu accessor
mfd: Add db8500-prcmu accessors for PLL and SGA clock
mfd: Move to the new db500 PRCMU API
mfd: Create a common interface for dbx500 PRCMU drivers
mfd: Initialize DB8500 PRCMU regs
...

Fix up trivial conflicts in
arch/arm/mach-imx/mach-mx31moboard.c
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-u300/include/mach/irqs.h
drivers/mfd/wm831x-spi.c
3f8ddb032afa729d4bad1bf2965d3ec068de6b72 03-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock:
hwspinlock: add MAINTAINERS entries
hwspinlock/omap: omap_hwspinlock_remove should be __devexit
hwspinlock/u8500: add hwspinlock driver
hwspinlock/core: register a bank of hwspinlocks in a single API call
hwspinlock/core: remove stubs for register/unregister
hwspinlock/core: use a mutex to protect the radix tree
hwspinlock/core/omap: fix id issues on multiple hwspinlock devices
hwspinlock/omap: simplify allocation scheme
hwspinlock/core: simplify 'owner' handling
hwspinlock/core: simplify Kconfig

Fix up trivial conflicts (addition of omap_hwspinlock_pdata, removal of
omap_spinlock_latency) in arch/arm/mach-omap2/hwspinlock.c

Also, do an "evil merge" to fix a compile error in omap_hsmmc.c which
for some reason was reported in the same email thread as the "please
pull hwspinlock changes".
994c0e992522c123298b4a91b72f5e67ba2d1123 02-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/soc' of git://git.linaro.org/people/arnd/arm-soc

* 'next/soc' of git://git.linaro.org/people/arnd/arm-soc: (21 commits)
MAINTAINERS: add ARM/FREESCALE IMX6 entry
arm/imx: merge i.MX3 and i.MX6
arm/imx6q: add suspend/resume support
arm/imx6q: add device tree machine support
arm/imx6q: add smp and cpu hotplug support
arm/imx6q: add core drivers clock, gpc, mmdc and src
arm/imx: add gic_handle_irq function
arm/imx6q: add core definitions and low-level debug uart
arm/imx6q: add device tree source
ARM: highbank: add suspend support
ARM: highbank: Add cpu hotplug support
ARM: highbank: add SMP support
MAINTAINERS: add Calxeda Highbank ARM platform
ARM: add Highbank core platform support
ARM: highbank: add devicetree source
ARM: l2x0: add empty l2x0_of_init
picoxcell: add a definition of VMALLOC_END
picoxcell: remove custom ioremap implementation
picoxcell: add the DTS for the PC7302 board
picoxcell: add the DTS for pc3x2 and pc3x3 devices
...

Fix up trivial conflicts in arch/arm/Kconfig, and some more header file
conflicts in arch/arm/mach-omap2/board-generic.c (as per an ealier merge
by Arnd).
81a3c10ce8a7fd5bf9a06bfc38bd417512911831 02-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/cleanup2' of git://git.linaro.org/people/arnd/arm-soc

* 'next/cleanup2' of git://git.linaro.org/people/arnd/arm-soc: (31 commits)
ARM: OMAP: Warn if omap_ioremap is called before SoC detection
ARM: OMAP: Move set_globals initialization to happen in init_early
ARM: OMAP: Map SRAM later on with ioremap_exec()
ARM: OMAP: Remove calls to SRAM allocations for framebuffer
ARM: OMAP: Avoid cpu_is_omapxxxx usage until map_io is done
ARM: OMAP1: Use generic map_io, init_early and init_irq
arm/dts: OMAP3+: Add mpu, dsp and iva nodes
arm/dts: OMAP4: Add a main ocp entry bound to l3-noc driver
ARM: OMAP2+: l3-noc: Add support for device-tree
ARM: OMAP2+: board-generic: Add i2c static init
ARM: OMAP2+: board-generic: Add DT support to generic board
arm/dts: Add support for OMAP3 Beagle board
arm/dts: Add initial device tree support for OMAP3 SoC
arm/dts: Add support for OMAP4 SDP board
arm/dts: Add support for OMAP4 PandaBoard
arm/dts: Add initial device tree support for OMAP4 SoC
ARM: OMAP: omap_device: Add a method to build an omap_device from a DT node
ARM: OMAP: omap_device: Add omap_device_[alloc|delete] for DT integration
of: Add helpers to get one string in multiple strings property
ARM: OMAP2+: devices: Remove all omap_device_pm_latency structures
...

Fix up trivial header file conflicts in arch/arm/mach-omap2/board-generic.c
cd9a0b6bd67ec372b0ef3cb2abe26974f888b956 02-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/pm' of git://git.linaro.org/people/arnd/arm-soc

* 'next/pm' of git://git.linaro.org/people/arnd/arm-soc: (66 commits)
ARM: CSR: PM: use outer_resume to resume L2 cache
ARM: CSR: call l2x0_of_init to init L2 cache of SiRFprimaII
ARM: OMAP: voltage: voltage layer present, even when CONFIG_PM=n
ARM: CSR: PM: add sleep entry for SiRFprimaII
ARM: CSR: PM: save/restore irq status in suspend cycle
ARM: CSR: PM: save/restore timer status in suspend cycle
OMAP4: PM: TWL6030: add cmd register
OMAP4: PM: TWL6030: fix ON/RET/OFF voltages
OMAP4: PM: TWL6030: address 0V conversions
OMAP4: PM: TWL6030: fix uv to voltage for >0x39
OMAP4: PM: TWL6030: fix voltage conversion formula
omap: voltage: add a stub header file for external/regulator use
OMAP2+: VC: more registers are per-channel starting with OMAP5
OMAP3+: voltage: update nominal voltage in voltdm_scale() not VC post-scale
OMAP3+: voltage: rename omap_voltage_get_nom_volt -> voltdm_get_voltage
OMAP3+: voltdm: final removal of omap_vdd_info
OMAP3+: voltage: move/rename curr_volt from vdd_info into struct voltagedomain
OMAP3+: voltage: rename scale and reset functions using voltdm_ prefix
OMAP3+: VP: combine setting init voltage into common function
OMAP3+: VP: remove unused omap_vp_get_curr_volt()
...

Fix up trivial conflict in arch/arm/mach-prima2/l2x0.c (code removal vs
edit)
ac5761a650d22dd7dfad4d417463a0981d2da0a4 02-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/timer' of git://git.linaro.org/people/arnd/arm-soc

* 'next/timer' of git://git.linaro.org/people/arnd/arm-soc:
clocksource: fixup ux500 build problems
ARM: omap: use __devexit_p in dmtimer driver
ARM: ux500: Reprogram timers upon resume
ARM: plat-nomadik: timer: Export reset functions
ARM: plat-nomadik: timer: Add support for periodic timers
ARM: ux500: Move timer code to separate file
ARM: ux500: add support for clocksource DBX500 PRCMU
clocksource: add DBX500 PRCMU Timer support
ARM: plat-nomadik: MTU sched_clock as an option
ARM: OMAP: dmtimer: add error handling to export APIs
ARM: OMAP: dmtimer: low-power mode support
ARM: OMAP: dmtimer: skip reserved timers
ARM: OMAP: dmtimer: pm_runtime support
ARM: OMAP: dmtimer: switch-over to platform device driver
ARM: OMAP: dmtimer: platform driver
ARM: OMAP2+: dmtimer: convert to platform devices
ARM: OMAP1: dmtimer: conversion to platform devices
ARM: OMAP2+: dmtimer: add device names to flck nodes
ARM: OMAP: Add support for dmtimer v2 ip
952414505f55afe5cd6dc004765076aa22b3ed7e 02-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc

* 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc: (125 commits)
ARM: mach-mxs: fix machines' initializers order
mmc: mxcmmc: explicitly includes mach/hardware.h
arm/imx: explicitly includes mach/hardware.h in pm-imx27.c
arm/imx: remove mx27_setup_weimcs() from mx27.h
arm/imx: explicitly includes mach/hardware.h in mach-kzm_arm11_01.c
arm/imx: remove mx31_setup_weimcs() from mx31.h
ARM: tegra: devices.c should include devices.h
ARM: tegra: cpu-tegra: unexport two functions
ARM: tegra: cpu-tegra: sparse type fix
ARM: tegra: dma: staticify some tables and functions
ARM: tegra: tegra2_clocks: don't export some tables
ARM: tegra: tegra_powergate_is_powered should be static
ARM: tegra: tegra_rtc_read_ms should be static
ARM: tegra: tegra_init_cache should be static
ARM: tegra: pcie: 0 -> NULL changes
ARM: tegra: pcie: include board.h
ARM: tegra: pcie: don't cast __iomem pointers
ARM: tegra: tegra2_clocks: 0 -> NULL changes
ARM: tegra: tegra2_clocks: don't cast __iomem pointers
ARM: tegra: timer: don't cast __iomem pointers
...

Fix up trivial conflicts in
arch/arm/mach-omap2/Makefile,
arch/arm/mach-u300/{Makefile.boot,core.c}
arch/arm/plat-{mxc,omap}/devices.c
68e24ba70465b82ad24e0774ceab5360180d4627 02-Nov-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/fixes' of git://git.linaro.org/people/arnd/arm-soc

* 'next/fixes' of git://git.linaro.org/people/arnd/arm-soc: (28 commits)
ARM: pxa/cm-x300: properly set bt_reset pin
ARM: mmp: rename SHEEVAD to GPLUGD
ARM: imx: Fix typo 'MACH_MX31_3DS_MXC_NAND_USE_BBT'
ARM: i.MX28: shift frac value in _CLK_SET_RATE
plat-mxc: iomux-v3.h: implicitly enable pull-up/down when that's desired
ARM: mx5: fix clock usage for suspend
ARM: pxa: use correct __iomem annotations
ARM: pxa: sharpsl pm needs SPI
ARM: pxa: centro and treo680 need palm27x
ARM: pxa: make pxafb_smart_*() empty when not enabled
ARM: pxa: select POWER_SUPPLY on raumfeld
ARM: pxa: pxa95x is incompatible with earlier pxa
ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ
ARM: pxa: pxa95x/saarb depends on pxa3xx code
ARM: pxa: allow selecting just one of TREO680/CENTRO
ARM: pxa: export symbols from pxa3xx-ulpi
ARM: pxa: make zylonite_pxa*_init declaration match code
ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available
ARM: at91: add defconfig for at91sam9g45 family
ARM: at91: remove dependency for Atmel PWM driver selector in Kconfig
...
884897e6a10a86de0e611a76f4bf3fd0068a672c 02-Nov-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'highbank/soc' into next/soc

Conflicts:
arch/arm/mach-mxs/include/mach/gpio.h
arch/arm/mach-omap2/board-generic.c
arch/arm/plat-mxc/include/mach/gpio.h
df80442d1ee2902c2e39f90f18160f2e08d14c06 01-Nov-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'depends/rmk/memory_h' into next/cleanup2

Theis resolves lots of simple conflicts between the omap
cleanup and the mach/memory.h removal series.

Conflicts:
arch/arm/mach-imx/mach-cpuimx27.c
arch/arm/mach-omap1/board-ams-delta.c
arch/arm/mach-omap1/board-generic.c
arch/arm/mach-omap1/board-h2.c
arch/arm/mach-omap1/board-h3.c
arch/arm/mach-omap1/board-nokia770.c
arch/arm/mach-omap1/board-osk.c
arch/arm/mach-omap1/board-palmte.c
arch/arm/mach-omap1/board-palmtt.c
arch/arm/mach-omap1/board-palmz71.c
arch/arm/mach-omap1/board-sx1.c
arch/arm/mach-omap1/board-voiceblue.c
arch/arm/mach-omap1/io.c
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/io.c
arch/arm/plat-omap/io.c

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
dc28094b905a872f8884f1f1c48ca86b3b78583a 31-Jul-2011 Paul Gortmaker <paul.gortmaker@windriver.com> arm: Add export.h to ARM specific files as required.

These files all make use of one of the EXPORT_SYMBOL variants
or the THIS_MODULE macro. So they will need <linux/export.h>

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
oard-omap3evm.c
m.c
rcm.c
sb-tusb6010.c
oltage.c
d44b28c49e7ab3baf280100ab86d8e7ef9204e45 31-Jul-2011 Paul Gortmaker <paul.gortmaker@windriver.com> arm: fix implicit memset/string.h usage in various arch/arm files

To fix things like this:

arch/arm/mach-omap2/usb-tusb6010.c:58: error: implicit declaration of function 'memset'
arch/arm/kernel/leds.c:40: error: implicit declaration of function 'strcspn'
arch/arm/kernel/leds.c:40: warning: incompatible implicit declaration of built-in function 'strcspn'
arch/arm/kernel/leds.c:45: error: implicit declaration of function 'strncmp'
arch/arm/kernel/leds.c:55: error: implicit declaration of function 'strlen'
arch/arm/kernel/leds.c:55: warning: incompatible implicit declaration of built-in function 'strlen'
arch/arm/mach-omap2/clockdomain.c:52: error: implicit declaration of function 'strcmp'

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
lockdomain.c
isplay.c
pmc-onenand.c
sb-tusb6010.c
5725aeae5ff2e39f3815bbef788ee326c9afea2c 31-Oct-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'depends/rmk/memory_h' into next/fixes

Fix up all conflicts between the memory.h cleanup and bug fixes.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3e965b176341b78620f7404fd8b7f9a0d061f8a2 31-Oct-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'next/fixes' into next/cleanup

Conflicts:
arch/arm/mach-mxs/include/mach/gpio.h
arch/arm/plat-mxc/include/mach/gpio.h
drivers/video/omap/lcd_apollon.c
drivers/video/omap/lcd_ldp.c
drivers/video/omap/lcd_overo.c
034ee299122c6b145d6d3cafb9ef5c329a4ab990 31-Oct-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'depends/omap2_dss' into next/cleanup

Omap cleanups conflicted with omap2_dss work in a nontrivial
way, this is the most logical fixup.

Conflicts:
arch/arm/mach-omap2/board-2430sdp.c
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-apollon.c
arch/arm/mach-omap2/board-h4.c
arch/arm/mach-omap2/board-ldp.c
arch/arm/mach-omap2/board-rx51.c

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
5839fec9d8db35b2b07359b18a77295418e239ad 31-Oct-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'depends/rmk/memory_h' into next/fixes

Fix up all conflicts between the memory.h cleanup and bug fixes.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
43872fa788060eef91ae437957e0a5e39f1c56fd 31-Oct-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'depends/rmk/gpio' into next/fixes

This sorts out merge conflicts with the arm/gpio branch that
already got merged into mainline Linux.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
09fa31a322c8f03871a741cd1d26e5ca04aacbbd 31-Oct-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'dt/gic' into highbank/soc

Conflicts:
arch/arm/Kconfig
08cab72f91c8b28ffabfd143119bccdd4a115ad7 31-Oct-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'dt/gic' into next/dt

Conflicts:
arch/arm/include/asm/localtimer.h
arch/arm/mach-msm/board-msm8x60.c
arch/arm/mach-omap2/board-generic.c
0cfdc724390fb9370f27bb9a133eadf69114dd21 30-Oct-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (33 commits)
iommu/core: Remove global iommu_ops and register_iommu
iommu/msm: Use bus_set_iommu instead of register_iommu
iommu/omap: Use bus_set_iommu instead of register_iommu
iommu/vt-d: Use bus_set_iommu instead of register_iommu
iommu/amd: Use bus_set_iommu instead of register_iommu
iommu/core: Use bus->iommu_ops in the iommu-api
iommu/core: Convert iommu_found to iommu_present
iommu/core: Add bus_type parameter to iommu_domain_alloc
Driver core: Add iommu_ops to bus_type
iommu/core: Define iommu_ops and register_iommu only with CONFIG_IOMMU_API
iommu/amd: Fix wrong shift direction
iommu/omap: always provide iommu debug code
iommu/core: let drivers know if an iommu fault handler isn't installed
iommu/core: export iommu_set_fault_handler()
iommu/omap: Fix build error with !IOMMU_SUPPORT
iommu/omap: Migrate to the generic fault report mechanism
iommu/core: Add fault reporting mechanism
iommu/core: Use PAGE_SIZE instead of hard-coded value
iommu/core: use the existing IS_ALIGNED macro
iommu/msm: ->unmap() should return order of unmapped page
...

Fixup trivial conflicts in drivers/iommu/Makefile: "move omap iommu to
dedicated iommu folder" vs "Rename the DMAR and INTR_REMAP config
options" just happened to touch lines next to each other.
acff987d94cbdb4049f3706bed1f1792f8ef6837 30-Oct-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'fbdev-next' of git://github.com/schandinat/linux-2.6

* 'fbdev-next' of git://github.com/schandinat/linux-2.6: (270 commits)
video: platinumfb: Add __devexit_p at necessary place
drivers/video: fsl-diu-fb: merge diu_pool into fsl_diu_data
drivers/video: fsl-diu-fb: merge diu_hw into fsl_diu_data
drivers/video: fsl-diu-fb: only DIU modes 0 and 1 are supported
drivers/video: fsl-diu-fb: remove unused panel operating mode support
drivers/video: fsl-diu-fb: use an enum for the AOI index
drivers/video: fsl-diu-fb: add several new video modes
drivers/video: fsl-diu-fb: remove broken screen blanking support
drivers/video: fsl-diu-fb: move some definitions out of the header file
drivers/video: fsl-diu-fb: fix some ioctls
video: da8xx-fb: Increased resolution configuration of revised LCDC IP
OMAPDSS: picodlp: add missing #include <linux/module.h>
fb: fix au1100fb bitrot.
mx3fb: fix NULL pointer dereference in screen blanking.
video: irq: Remove IRQF_DISABLED
smscufx: change edid data to u8 instead of char
OMAPDSS: DISPC: zorder support for DSS overlays
OMAPDSS: DISPC: VIDEO3 pipeline support
OMAPDSS/OMAP_VOUT: Fix incorrect OMAP3-alpha compatibility setting
video/omap: fix build dependencies
...

Fix up conflicts in:
- drivers/staging/xgifb/XGI_main_26.c
Changes to XGIfb_pan_var()
- drivers/video/omap/{lcd_apollon.c,lcd_ldp.c,lcd_overo.c}
Removed (or in the case of apollon.c, merged into the generic
DSS panel in drivers/video/omap2/displays/panel-generic-dpi.c)
36bc45e219f48b5ec45c5aa34bc13dbe80e10c10 30-Oct-2011 Arnd Bergmann <arnd@arndb.de> Merge branches 'depends/rmk/io', 'depends/rmk/l2x0' and 'depends/rmk/gpio' into highbank/soc
68d99b2c8efcb6ed3807a55569300c53b5f88be5 28-Oct-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (549 commits)
ALSA: hda - Fix ADC input-amp handling for Cx20549 codec
ALSA: hda - Keep EAPD turned on for old Conexant chips
ALSA: hda/realtek - Fix missing volume controls with ALC260
ASoC: wm8940: Properly set codec->dapm.bias_level
ALSA: hda - Fix pin-config for ASUS W90V
ALSA: hda - Fix surround/CLFE headphone and speaker pins order
ALSA: hda - Fix typo
ALSA: Update the sound git tree URL
ALSA: HDA: Add new revision for ALC662
ASoC: max98095: Convert codec->hw_write to snd_soc_write
ASoC: keep pointer to resource so it can be freed
ASoC: sgtl5000: Fix wrong mask in some snd_soc_update_bits calls
ASoC: wm8996: Fix wrong mask for setting WM8996_AIF_CLOCKING_2
ASoC: da7210: Add support for line out and DAC
ASoC: da7210: Add support for DAPM
ALSA: hda/realtek - Fix DAC assignments of multiple speakers
ASoC: Use SGTL5000_LINREG_VDDD_MASK instead of hardcoded mask value
ASoC: Set sgtl5000->ldo in ldo_regulator_register
ASoC: wm8996: Use SND_SOC_DAPM_AIF_OUT for AIF2 Capture
ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 Capture
...
1fdb24e969110fafea36d3b393bea438f702c87f 28-Oct-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm

* 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (178 commits)
ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET
ARM: gic, local timers: use the request_percpu_irq() interface
ARM: gic: consolidate PPI handling
ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H
ARM: mach-s5p64x0: remove mach/memory.h
ARM: mach-s3c64xx: remove mach/memory.h
ARM: plat-mxc: remove mach/memory.h
ARM: mach-prima2: remove mach/memory.h
ARM: mach-zynq: remove mach/memory.h
ARM: mach-bcmring: remove mach/memory.h
ARM: mach-davinci: remove mach/memory.h
ARM: mach-pxa: remove mach/memory.h
ARM: mach-ixp4xx: remove mach/memory.h
ARM: mach-h720x: remove mach/memory.h
ARM: mach-vt8500: remove mach/memory.h
ARM: mach-s5pc100: remove mach/memory.h
ARM: mach-tegra: remove mach/memory.h
ARM: plat-tcc: remove mach/memory.h
ARM: mach-mmp: remove mach/memory.h
ARM: mach-cns3xxx: remove mach/memory.h
...

Fix up mostly pretty trivial conflicts in:
- arch/arm/Kconfig
- arch/arm/include/asm/localtimer.h
- arch/arm/kernel/Makefile
- arch/arm/mach-shmobile/board-ap4evb.c
- arch/arm/mach-u300/core.c
- arch/arm/mm/dma-mapping.c
- arch/arm/mm/proc-v7.S
- arch/arm/plat-omap/Kconfig
largely due to some CONFIG option renaming (ie CONFIG_PM_SLEEP ->
CONFIG_ARM_CPU_SUSPEND for the arm-specific suspend code etc) and
addition of NEED_MACH_MEMORY_H next to HAVE_IDE.
ca90666287401b475d9e0becf85bd02f069f1de8 27-Oct-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'gpio' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm

* 'gpio' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (43 commits)
ARM: 7135/1: ep93xx: bring back missing <mach/gpio.h>
ARM: 7104/1: plat-pxa: break out GPIO driver specifics
ARM: 7103/1: plat-pxa: move PXA GPIO driver to GPIO subsystem
ARM: 7042/3: mach-ep93xx: break out GPIO driver specifics
ARM: 7101/1: arm/tegra: Replace <mach/gpio.h> with <mach/gpio-tegra.h>
ARM: 7094/1: arm/tegra: Move EN_VDD_1V05_GPIO to board-harmony.h
ARM: 7083/1: rewrite U300 GPIO to use gpiolib
ARM: 7074/1: gpio: davinci: eliminate unused variable warnings
ARM: 7063/1: Orion: gpio: add missing include of linux/types.h
ARM: 7055/1: arm/tegra: mach/gpio.h: include linux/types.h to fix build
ARM: 7054/1: arm/tegra: Delete custom gpio_to_irq, and irq_to_gpio
ARM: 7053/1: gpio/tegra: Implement gpio_chip.to_irq
ARM: 7052/1: gpio/tegra: Remove use of irq_to_gpio
ARM: 7057/1: mach-pnx4008: rename GPIO header
ARM: 7056/1: plat-nomadik: kill off <plat/gpio.h>
ARM: 7050/1: mach-sa1100: delete irq_to_gpio() function
ARM: 7049/1: mach-sa1100: move SA1100 GPIO driver to GPIO subsystem
ARM: 7045/1: mach-lpc32xx: break out GPIO driver specifics
ARM: 7044/1: mach-lpc32xx: move LPC32XX GPIO driver to GPIO subsystem
ARM: 7043/1: mach-ixp2000: rename GPIO header
...

Fix up trivial conflicts in arch/arm/mach-u300/Kconfig manually
1be025d3cb40cd295123af2c394f7229ef9b30ca 25-Oct-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

* 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (260 commits)
usb: renesas_usbhs: fixup inconsistent return from usbhs_pkt_push()
usb/isp1760: Allow to optionally trigger low-level chip reset via GPIOLIB.
USB: gadget: midi: memory leak in f_midi_bind_config()
USB: gadget: midi: fix range check in f_midi_out_open()
QE/FHCI: fixed the CONTROL bug
usb: renesas_usbhs: tidyup for smatch warnings
USB: Fix USB Kconfig dependency problem on 85xx/QoirQ platforms
EHCI: workaround for MosChip controller bug
usb: gadget: file_storage: fix race on unloading
USB: ftdi_sio.c: Use ftdi async_icount structure for TIOCMIWAIT, as in other drivers
USB: ftdi_sio.c:Fill MSR fields of the ftdi async_icount structure
USB: ftdi_sio.c: Fill LSR fields of the ftdi async_icount structure
USB: ftdi_sio.c:Fill TX field of the ftdi async_icount structure
USB: ftdi_sio.c: Fill the RX field of the ftdi async_icount structure
USB: ftdi_sio.c: Basic icount infrastructure for ftdi_sio
usb/isp1760: Let OF bindings depend on general CONFIG_OF instead of PPC_OF .
USB: ftdi_sio: Support TI/Luminary Micro Stellaris BD-ICDI Board
USB: Fix runtime wakeup on OHCI
xHCI/USB: Make xHCI driver have a BOS descriptor.
usb: gadget: add new usb gadget for ACM and mass storage
...
59e52534172d845ebffb0d7e85fc56fb7b857051 25-Oct-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)
MAINTAINERS: linux-m32r is moderated for non-subscribers
linux@lists.openrisc.net is moderated for non-subscribers
Drop default from "DM365 codec select" choice
parisc: Kconfig: cleanup Kernel page size default
Kconfig: remove redundant CONFIG_ prefix on two symbols
cris: remove arch/cris/arch-v32/lib/nand_init.S
microblaze: add missing CONFIG_ prefixes
h8300: drop puzzling Kconfig dependencies
MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers
tty: drop superfluous dependency in Kconfig
ARM: mxc: fix Kconfig typo 'i.MX51'
Fix file references in Kconfig files
aic7xxx: fix Kconfig references to READMEs
Fix file references in drivers/ide/
thinkpad_acpi: Fix printk typo 'bluestooth'
bcmring: drop commented out line in Kconfig
btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888'
doc: raw1394: Trivial typo fix
CIFS: Don't free volume_info->UNC until we are entirely done with it.
treewide: Correct spelling of successfully in comments
...
bdf4e9482360a3ddc1619efbd5d1c928ede8c3fa 25-Oct-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'misc' into for-linus

Conflicts:
arch/arm/mach-integrator/integrator_ap.c
06afb1a087d49ae0f676b2e5b9ffe5f4b3aba355 25-Oct-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branches 'arnd-randcfg-fixes', 'debug', 'io' (early part), 'l2x0', 'p2v', 'pgt' (early part) and 'smp' into for-linus
8a0a8e8e42a4e30a1fc4c40205fa790e264d00f3 02-Sep-2011 Arnd Bergmann <arnd@arndb.de> mfd: remove CONFIG_MFD_SUPPORT

We currently have two symbols to control compilation the MFD subsystem,
MFD_SUPPORT and MFD_CORE. The MFD_SUPPORT is actually not required
at all, it only hides the submenu when not set, with the effect that
Kconfig warns about missing dependencies when another driver selects
an MFD driver while MFD_SUPPORT is disabled. Turning the MFD submenu
back from menuconfig into a plain menu simplifies the Kconfig syntax
for those kinds of users and avoids the surprise when the menu
suddenly appears because another driver was enabled that selects this
symbol.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
config
cdcc966d48cd49159b8bfd07a588cef3036624e6 12-Aug-2011 Kyle Manna <kyle@kylemanna.com> arm: BeagleBoard: add support for the twl4030-madc

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
oard-omap3beagle.c
34471a9168c8bfd7f0d00989a7b0797ad27d585e 23-Oct-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'ppi-irq-core-for-rmk' of git://github.com/mzyngier/arm-platforms into devel-stable
292b293ceef2eda1f96f0c90b96e954d7bdabd1c 20-Jul-2011 Marc Zyngier <marc.zyngier@arm.com> ARM: gic: consolidate PPI handling

PPI handling is a bit of an odd beast. It uses its own low level
handling code and is hardwired to the local timers (hence lacking
a registration interface).

Instead, switch the low handling to the normal SPI handling code.
PPIs are handled by the handle_percpu_devid_irq flow.

This also allows the removal of some duplicated code.

Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: David Brown <davidb@codeaurora.org>
Cc: Bryan Huntsman <bryanh@codeaurora.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Acked-by: David Brown <davidb@codeaurora.org>
Tested-by: David Brown <davidb@codeaurora.org>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
nclude/mach/entry-macro.S
1abb4ba596a91a839f82e0c9c837b777d574e83d 21-Oct-2011 Joerg Roedel <joerg.roedel@amd.com> Merge branches 'amd/fixes', 'debug/dma-api', 'arm/omap', 'arm/msm', 'core', 'iommu/fault-reporting' and 'api/iommu-ops-per-bus' into next

Conflicts:
drivers/iommu/amd_iommu.c
drivers/iommu/iommu.c
a06f916b7a9b57447ceb875eb0a89f1a66b31bca 20-Oct-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: smp: fix clipping of number of CPUs

Rather than clipping the number of CPUs using the compile-time NR_CPUS
constant, use the runtime nr_cpu_ids value instead. This allows the
nr_cpus command line option to work as expected.

Cc: <stable@kernel.org>
Reported-by: Mark Salter <msalter@redhat.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-smp.c
8aca3ab5865f8cfbde841b6daf9442cc2279ced3 06-Oct-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP: Warn if omap_ioremap is called before SoC detection

We don't have cpu_is_omapxxxx SoC detection initialized until
SoC detection is initialized from init_early.

Note that with the common map_io we should no longer need
cpu_is_omapxxxx for ioremap.

Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
4c3cf90117f1f4906d5975aeccc5ffd414807fd2 05-Oct-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP: Move set_globals initialization to happen in init_early

Otherwise we can't do generic map_io as we currently rely on
static mappings that work only because of arch_ioremap.

Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-ti8168evm.c
ommon.c
ontrol.c
o.c
map-smp.c
rcm.c
drc.c
a66cb3454f220f49f900646ebdc76cb943319eb7 04-Oct-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP: Map SRAM later on with ioremap_exec()

This allows us to remove omap hacks for map_io.

Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
o.h
7b250aff1ce346b6c7bc0329a2350334d1c66525 05-Oct-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP: Avoid cpu_is_omapxxxx usage until map_io is done

This way we don't need to initialize SoC detection early
and can start using generic map_io.

Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
o.c
cefd3e71efca6f4ef7f06f1fc507771d76072741 18-Oct-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'mach_memory_h' of git://git.linaro.org/people/nico/linux into devel-stable
40c6d8aee40e373db75e6b0b4230fc8e8259d7a6 17-Aug-2011 Sascha Hauer <s.hauer@pengutronix.de> ARM: 7022/1: allow to detect conflicting zreladdrs

Boards used to specify zreladdr in their Makefile.boot with
zreladdr-y := x, so conflicting zreladdrs were silently overwritten.
This patch changes this to zreladdr-y += x, so that we end
up with multiple words in zreladdr in such a case. We can
detect this later and complain if necessary.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
akefile.boot
71f2c153755442c05d15cd025484f676a5f3541f 08-Oct-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'depends/rmk/devel-stable' into next/cleanup
3047454475adca98e30e00dfca21021a0de99d78 06-Oct-2011 Paul Walmsley <paul@pwsan.com> ARM: OMAP3: PM: restrict erratum i443 handling to OMAP3430 only

Based on the documents that I have here, there doesn't appear to be an
equivalent to erratum i443 for OMAP3630, so restrict this one to OMAP34xx
chips.

Also, explicitly restrict this erratum to EMU and HS devices.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m34xx.c
b02b917211d50ad5dc13e49c933ef916b10e0d00 07-Oct-2011 Paul Walmsley <paul@pwsan.com> ARM: OMAP3: PM: fix I/O wakeup and I/O chain clock control detection

The way that we detect which OMAP3 chips support I/O wakeup and
software I/O chain clock control is broken.

Currently, I/O wakeup is marked as present for all OMAP3 SoCs other
than the AM3505/3517. The TI81xx family of SoCs are at present
considered to be OMAP3 SoCs, but don't support I/O wakeup. To resolve
this, convert the existing blacklist approach to an explicit,
whitelist support, in which only SoCs which are known to support I/O
wakeup are listed. (At present, this only includes OMAP34xx,
OMAP3503, OMAP3515, OMAP3525, OMAP3530, and OMAP36xx.)

Also, the current code incorrectly detects the presence of a
software-controllable I/O chain clock on several chips that don't
support it. This results in writes to reserved bitfields, unnecessary
delays, and console messages on kernels running on those chips:

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

Convert this test to a feature test with a chip-by-chip whitelist.

Thanks to Dave Hylands <dhylands@gmail.com> for reporting this problem
and doing some testing to help isolate the cause. Thanks to Steve
Sakoman <sakoman@gmail.com> for catching a bug in the first version of
this patch. Thanks to Russell King <linux@arm.linux.org.uk> for
comments.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Dave Hylands <dhylands@gmail.com>
Cc: Steve Sakoman <sakoman@gmail.com>
Tested-by: Steve Sakoman <sakoman@gmail.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
Signed-off-by: Kevin Hilman <khilman@ti.com>
d.c
m34xx.c
ff2f8e5ffb23de6e2284f31651447cb80a4c9d1b 13-Sep-2011 Charulatha V <charu@ti.com> ARM: OMAP3: PM: fix pwrdm_post_transition call sequence

The context lost count is modified in omap_sram_idle() path when
pwrdm_post_transition() is called. But pwrdm_post_transition() is called
only after omap_gpio_resume_after_idle() is called. Correct this so that
context lost count is modified before calling omap_gpio_resume_after_idle().

This would be useful when OMAP GPIO save/restore context is called by
the OMAP GPIO driver itself.

Signed-off-by: Charulatha V <charu@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m34xx.c
7e89098cd63a188932043258d54688e965750e2c 07-Oct-2011 Abhilash K V <abhilash.kv@ti.com> ARM: OMAP: AM35x: remove hwmods that aren't generic

Removing modules iva, sr1_hwmod, sr2_hwmod, mailbox from
the base omap3xxx_hwmods list, so that they can be excluded
for am35x. This removes quite a few warnings on boot for AM35x.

Signed-off-by: Abhilash K V <abhilash.kv@ti.com>
[paul@pwsan.com: dropped 'mailbox class' comments; updated changelog]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_3xxx_data.c
46f8c3c7e95c0d30d95911e7975ddc4f93b3e237 07-Oct-2011 Archit Taneja <archit@ti.com> ARM: OMAP: ctrl: Fix CONTROL_DSIPHY register fields

Fix the shift and mask macros for DSIx_PPID fields in CONTROL_DSIPHY. The
OMAP4430 Public TRM vV has these fields mentioned correctly.

Signed-off-by: Archit Taneja <archit@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
nclude/mach/ctrl_module_pad_core_44xx.h
1194d7b82486ad967db65115559e9ad50a88ba57 07-Oct-2011 Jon Hunter <jon-hunter@ti.com> ARM: OMAP3+: Update DPLL Fint range for OMAP36xx and OMAP4xxx devices

The OMAP36xx and OMAP4xxx DPLLs have a different internal reference
clock frequency (fint) operating range than OMAP3430. Update the
dpll_test_fint() function to check for the correct frequency ranges
for OMAP36xx and OMAP4xxx.

For OMAP36xx and OMAP4xxx devices, DPLLs fint range is 0.5MHz to
2.5MHz for j-type DPLLs and otherwise it is 32KHz to 52MHz for all
other DPLLs.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lkt_dpll.c
cf2a82d7462e8c728260ee09e46c573fab2f89cf 07-Oct-2011 Jon Hunter <jon-hunter@ti.com> ARM: OMAP4: clock: Add missing clock divider for OCP_ABE_ICLK

The parent clock of the OCP_ABE_ICLK is the AESS_FCLK and the
parent clock of the AESS_FCLK is the ABE_FCLK...

ABE_FCLK --> AESS_FCLK --> OCP_ABE_ICLK

The AESS_FCLK and OCP_ABE_ICLK clocks both have dividers which
determine their operational frequency. However, the dividers for
the AESS_FCLK and OCP_ABE_ICLK are controlled via a single bit,
which is the CM1_ABE_AESS_CLKCTRL[24] bit. When this bit is set to
0, the AESS_FCLK divider is 1 and the OCP_ABE_ICLK divider is 2.
Similarly, when this bit is set to 1, the AESS_FCLK divider is 2
and the OCP_ABE_ICLK is 1.

The above relationship between the AESS_FCLK and OCP_ABE_ICLK
dividers ensure that the OCP_ABE_ICLK clock is always half the
frequency of the ABE_CLK...

OCP_ABE_ICLK = ABE_FCLK/2

The divider for the OCP_ABE_ICLK is currently missing so add a
divider that will ensure the OCP_ABE_ICLK frequency is always half
the ABE_FCLK frequency.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
52a3a4d4610cfad536b8ac94b9a2f5ebfa51c06b 07-Oct-2011 Paul Walmsley <paul@pwsan.com> ARM: OMAP4460: Clock: Adding support for 4460 specific clocks

OMAP4460 specific clocks are not getting added as the
cpu_is_omap44xx is choosing only OMAP4430 specific clock nodes.
Changing it to add to OMAP4460 specific clocks also.
This is clocks are required of temperature sensor.

Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Cc: paul@pwsan.com
[paul@pwsan.com: updated to apply]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
49642ac816a714f3037b7cd6401a46c8fe46e795 07-Oct-2011 Jon Hunter <jon-hunter@ti.com> ARM: OMAP3+: dpll: use DPLLs recalc function instead of omap2_get_dpll_rate

This is a continuation of Mike Turquette's patch "OMAP3+: use
DPLL's round_rate when setting rate".

omap3_noncore_dpll_set_rate() and omap3_noncore_dpll_enable() call
omap2_get_dpll_rate() explicitly. It may be necessary for some
DPLLs to use a different function and so use the DPLLs recalc()
function pointer instead.

An example is the DPLL_ABE on OMAP4 which can have a 4X multiplier
in addition to the usual MN multipler and dividers and therefore
uses a different round_rate and recalc function.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Cc: Mike Turquette <mturquette@ti.com>
Cc: Misael Lopez Cruz <misael.lopez@ti.com>
[paul@pwsan.com: merged this patch with Mike's "use clock's recalc in DPLL
handling" patch; also reported by Misael]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
pll3xxx.c
273a1ce9cf27ac3900325b59aa78cc07bb574e9e 07-Oct-2011 Mike Turquette <mturquette@ti.com> ARM: OMAP3+: dpll: assign clk rate from rounded rate during rate set

The rounded rate can differ from target rate, so to better reflect
reality set clk->rate equal to the rounded rate when setting DPLL frequency.
This avoids issues where the DPLL frequency is slightly different than what
debugfs clock tree reports using the old target rate.

An example of a clock that requires this is DPLL_ABE on OMAP4 which
can have a 4x multiplier on top of the usual MN dividers depending on
register settings. This requires a special round_rate function that
might yield a rate different from the initial target.

Signed-off-by: Mike Turquette <mturquette@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
pll3xxx.c
addf888c6945c6e3cff135e7e3bb72cc708d1ca4 07-Oct-2011 Mike Turquette <mturquette@ti.com> ARM: OMAP3+: dpll: use DPLL's round_rate when setting rate

omap3_noncore_dpll_set_rate uses omap2_dpll_round_rate explicitly. Instead
use the struct clk pointer's round_rate function to allow for DPLL's with
special needs.

An example of a clock that requires this is DPLL_ABE on OMAP4 which
can have a 4x multiplier on top of the usual MN dividers depending on
register settings. This requires a special round_rate function that
might yield a rate different from the initial target.

Signed-off-by: Mike Turquette <mturquette@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
[paul@pwsan.com: split rate assignment portion into a separate patch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
pll3xxx.c
a1900f2efe2d75e0fe5b871421a2f2de2fa68b4e 07-Oct-2011 Mike Turquette <mturquette@ti.com> ARM: OMAP4: clock: round_rate and recalc functions for DPLL_ABE

OMAP4 DPLL_ABE can enable a 4X multipler on top of the normal MN multipler
and divider. This is achieved by setting CM_CLKMODE_DPLL_ABE.DPLL_REGM4XEN
bit in CKGEN module of CM1. From the OMAP4 TRM:

Fdpll = Fref x 2 x (4 x M/(N+1)) in case REGM4XEN bit field is set (only
applicable to DPLL_ABE).

Add new round_rate() and recalc() functions for OMAP4, that check the
setting of REGM4XEN bit and handle this appropriately. The new functions
are a simple wrapper on top of the existing omap2_dpll_round_rate() and
omap2_dpll_get_rate() functions to handle the REGM4XEN bit.

The REGM4XEN bit is only implemented for the ABE DPLL on OMAP4 and so
only dpll_abe_ck uses omap4_dpll_regm4xen_round_rate() and
omap4_dpll_regm4xen_recalc() functions.

Signed-off-by: Mike Turquette <mturquette@ti.com>
Tested-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
[paul@pwsan.com: fixed attempt to return a negative from a fn returning
unsigned; pass along errors from omap2_dpll_round_rate();
added documentation; added Jon's S-o-b]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.h
lock44xx.h
lock44xx_data.c
pll44xx.c
476b679a5d785d1244f6b43ad26877acf278cd18 16-Aug-2011 Benoit Cousson <b-cousson@ti.com> arm/dts: OMAP3+: Add mpu, dsp and iva nodes

Add nodes for devices used by PM code (mpu, dsp, iva).

Add a cpus node as well as recommended in the DT spec.

Remove mpu, dsp, iva devices init if is populated.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Kevin Hilman <khilman@ti.com>
m.c
ad8dfac66fb1995014060302bda19a15bc62bd6d 12-Aug-2011 Benoit Cousson <b-cousson@ti.com> arm/dts: OMAP4: Add a main ocp entry bound to l3-noc driver

Used the main OCP node to add bindings with the l3_noc driver.
Remove l3_noc static device creation if DT is populated.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
evices.c
d039c5b9fb2315ef942944439da6f0fbaf2f1941 12-Aug-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: l3-noc: Add support for device-tree

Add device-tree support for the l3-noc driver.

Use platform_driver_register to defer the probing at device init
time.

Add documentation for the l3-noc bindings.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
map_l3_noc.c
a7cbb9b15d55dff0488b1a6d93929c2386d8632b 22-Sep-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: board-generic: Add i2c static init

Still needed to boot until the i2c & twl driver is adapted to
device-tree. Otherwise the voltage control code will try to
access the twl and crash.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
oard-generic.c
8d61649ddf6707d89fc10028f9d1bd1a2ea37b4f 20-Sep-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: board-generic: Add DT support to generic board

Re-cycle the original board-generic.c file to support Device Tree
for every OMAP2+ variants.

The current approach is an intermediate step before having only
one machine descriptor that will use some generic DT aware
functions.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
config
oard-generic.c
f718e2c034bf6ff872106344935006230764cb12 10-Aug-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: devices: Remove all omap_device_pm_latency structures

Remove all these duplicated structures since a default one is now
available.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
evices.c
isplay.c
ma.c
pio.c
smmc.c
wspinlock.c
cbsp.c
erial.c
r_device.c
sb-musb.c
766e7afc38754e4bdcbf948fa523af8999a6296f 16-Aug-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: pm: Remove static devices variable for mpu, dsp, iva and l3 PM

Since the device pointer is now retrieved using the hwmod name, remove
the static variables used to store the device pointers for DSP, MPU, IVA
and L3 devices for PM/DVFS usage.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m.c
0f7aa005c85917f114c376e937d88f5d941fb389 16-Aug-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: pm: Use hwmod name instead of dev pointer

Replace the struct device parameter of omap2_set_init_voltage
by the hwmod name. It will avoid having to store explicitely
the device pointer into a static variable.

Moreover, it will be a little bit more scalable if we introduce
new DVFS devices.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m.c
b1621fc80123e4f113c3dc1bc6dbad53ebd0c888 16-Aug-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP3: beagle-board: Use the omap_hwmod_name_get_dev API

Replace the multiple omap2_get_XXX_device APIs with the new
omap_hwmod_name_get_dev that uses the hwmod name to get the proper
device.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
oard-omap3beagle.c
c541c15fb5ab48c47bc9b90121538fd30d152f23 04-Oct-2011 Tony Lindgren <tony@atomide.com> Merge branches 'cleanup-part3', 'voltage', 'dmtimer' and 'l3' into dt-base
5c30cdfa41821dd89792600118cab5c02a5c322b 30-Sep-2011 Tapani Utriainen <tapani@technexion.com> ARM: OMAP: irq: loop counter fix in omap_init_irq()

Fixes bug where variable i was redundantly used for counting two nested loops.

Signed-off-by: Tapani Utriainen <tapani@technexion.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
a368f7764491a0116baff9963d22247d4d8f6f51 30-Sep-2011 Bjarne Steinsbo <bsteinsbo@gmail.com> ARM: OMAP4: Keyboard: Fix section mismatch in the board file

`keypad_pads' is referred to by `keypad_data' which is
not __initdata, so `keypad_pads' should not be __initdata either.

Signed-off-by: Bjarne Steinsbo <bsteinsbo@gmail.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
15e0d9e37c7fe9711b60f47221c394d45553ad8c 01-Oct-2011 Arnd Bergmann <arnd@arndb.de> ARM: pm: let platforms select cpu_suspend support

Support for the cpu_suspend functions is only built-in
when CONFIG_PM_SLEEP is enabled, but omap3/4, exynos4
and pxa always call cpu_suspend when CONFIG_PM is enabled.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
config
eff11ba9ebba475f2aedee74eebc459789f99ab6 30-Sep-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'for_3.2/voltage-cleanup' of git://gitorious.org/khilman/linux-omap-pm into omap/voltage
b8e111a74d281b70e88bd67fec48cfda4f9bdce2 30-Sep-2011 Axel Lin <axel.lin@gmail.com> ARM: OMAP: musb: Remove a redundant omap4430_phy_init call in usb_musb_init

Current code calls omap4430_phy_init() twice in usb_musb_init().
Calling omap4430_phy_init() once is enough.
This patch removes the first omap4430_phy_init() call, which using an
uninitialized pointer as parameter.

This patch elimates below build warning:
arch/arm/mach-omap2/usb-musb.c: In function 'usb_musb_init':
arch/arm/mach-omap2/usb-musb.c:141: warning: 'dev' may be used uninitialized in this function

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Bjarne Steinsbo <bsteinsbo@gmail.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-musb.c
bfd46a543f8f90bb197225900e355ce3c7daeb1f 30-Sep-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP: Fix i2c init for twl4030

Looks like 2600 kHz rate does not work reliably on 2430,
so just use the 100 kHz rate.

Otherwise the system often fails to boot properly with:

omap_i2c omap_i2c.2: timeout waiting for bus ready
omap_i2c omap_i2c.2: timeout waiting for bus ready
twl: i2c_write failed to transfer all messages
omap_i2c omap_i2c.2: timeout waiting for bus ready
twl: i2c_write failed to transfer all messages
omap_i2c omap_i2c.2: timeout waiting for bus ready
twl: i2c_write failed to transfer all messages
twl: clock init err [-110]
omap_i2c omap_i2c.2: timeout waiting for bus ready
twl: i2c_write failed to transfer all messages
TWL4030 Unable to unlock IDCODE registers --110

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
3696d303d6a39f916f9ace37d79e3db7937c68a7 30-Sep-2011 Bryan Buckley <bryan.buckley@ti.com> ARM: OMAP4: MMC: fix power and audio issue, decouple USBC1 from MMC1

Remove OMAP4_USBC1_ICUSB_PWRDNZ_MASK during enable/disable PWRDNZ mode for
MMC1_PBIAS and associated extended-drain MMC1 I/O cell. This is in accordance
with the control module programming guide. This fixes a bug where if trying to
use gpio_98 or gpio_99 and MMC1 at the same time the GPIO signal will be
affected by a changing SDMMC1_VDDS.

Software must keep MMC1_PBIAS cell and MMC1_IO cell PWRDNZ signals low whenever
SDMMC1_VDDS ramps up/down or changes for cell protection purposes.

MMC1 is based on SDMMC1_VDDS whereas USBC1 is based on SIM_VDDS therefore
they can operate independently.

Signed-off-by: Bryan Buckley <bryan.buckley@ti.com>
Acked-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Tested-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
da91e89fb2f582d75324a64fbf0b6aa91a5e6280 09-May-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: Apollon: Port the display driver to new DSS2

Port the old omapfb panel driver to DSS2. This patch changes the board
file only, the driver is ported in separate patch.

Cc: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-apollon.c
cbf1455bfc9fcec9b937c0d09bd49383334600be 09-May-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: H4: Port the display driver to new DSS2

Port the old omapfb panel driver to DSS2. This patch changes the board
file only, the driver is ported in separate patch.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-h4.c
14dd72d8542f2bbfd49a0e709b5966829b841c16 09-May-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: LDP: Port the display driver to new DSS2

Port the old omapfb panel driver to DSS2. This patch changes the board
file only, the driver is ported in separate patch.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Stanley Miao <stanley.miao@windriver.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-ldp.c
6e896ff9ff1c2afde8ec7a71b87539c07b337c5e 19-Apr-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: 2420SDP: Port the display driver to new DSS2

Port the old omapfb panel driver to DSS2. This patch changes the board
file only, the driver is ported in separate patch.

Cc: Hunyue Yau <hyau@mvista.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-2430sdp.c
1382f897e6136f504b227e27bec64842ed7bc150 19-Apr-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: omap3touchbook: Remove unused lcd stuff

board-omap3touchbook.c adds an LCD device, but the kernel doesn't
contain a driver for the device. So let's remove the unneeded LCD
device.

Cc: Gregoire Gentil <gregoire@gentil.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-omap3touchbook.c
cc93473525099f6e4c291d0f2383545cc92e50d0 19-Apr-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: RX51: Remove unused old omapfb stuff

RX51 uses the new DSS2 display driver, but the board file still
contained some code for the old omapfb driver. The old code can be
removed.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-rx51.c
bfdf7ab110293340afc9aba246e8b9ddb0f56145 03-Aug-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP4: 4430SDP: Add picodlp support to board file

An on-board projector named picodlp is available for OMAP4430 SDP.

Entry for this picodlp as a panel is being added in dss_devices array to
the board file. It needs 4 GPIO pins for interfacing with host
processor and these are defined and two of them are configured in board
file. Two GPIOs power_on and display_select are configured here.
picodlp also needs an i2c client over i2c controller-2 at address 0x1b.

Signed-off-by: Mayuresh Janorkar <mayur@ti.com>
Signed-off-by: Mythri P K <mythripk@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-4430sdp.c
12595d46bf0d361b7f96fb24c9dc7fe5ce82b3f7 06-Sep-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP4: 4430SDP: Add panel support to board file

4430SDP has two Taal DSI panels, connected to DSI 1 and DSI 2 modules.
The panels use a common PWM backlight, which will be implemented later
when the PWM driver has been improved to support the backlight.

Until the PWM driver has been improved, the following hack added to
arch/arm/mach-omap2/board-4430sdp.c can be used to set the backlight to
max:

static int omap_4430sdp_hack_backlight(void)
{
twl_i2c_write_u8(TWL_MODULE_PWM, 0x7f, LED_PWM2OFF);
twl_i2c_write_u8(TWL_MODULE_PWM, 0x7f, LED_PWM2ON);
twl_i2c_write_u8(TWL6030_MODULE_ID1, 0x30, TWL6030_TOGGLE3);
return 0;
}
late_initcall(omap_4430sdp_hack_backlight);

Signed-off-by: Archit Taneja <archit@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-4430sdp.c
4010c07c2307a8238ef4a742d4080de4a577575b 20-Sep-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: 4430SDP: Remove unneeded lcd config

4430SDP board file contains some unused old LCD configurations. They are
not used and can be removed.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-4430sdp.c
fcca719430086fb64b3586582646579f8ffaf47c 29-Aug-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: Add DDC i2c_bus_num to board files

Add i2c bus number for DVI output for boards with DVI output where the
i2c bus has been confirmed to be connected and working. The driver uses
this to detect if a panel is connected and to read EDID.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-igep0020.c
oard-omap3beagle.c
oard-omap4panda.c
oard-overo.c
870e1a73596244b22a56f69fe4b24458b38ce94b 09-Sep-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: stalker: Remove LCD device from board file

OMAP3 Stalker board has definitions for LCD, but uses the generic driver
without any information what kind of LCD it has. The board should use a
particular panel type from panel-generic-dpi driver, not the generic
one.

As I haven't gotten response the signer-off of stalker board about the
issue, this patch removes the LCD support from the board file. This will
allow us to clean up the panel-generic-dpi driver and make it support
only fixed size panels.

CC: Jason Lam <lzg@ema-tech.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-omap3stalker.c
1d7a8654e88885137ade1769c574467775fde27b 01-Sep-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: use dvi panel driver instead of generic-dpi

Multiple OMAP3/4 boards have a DVI framer output. This patch makes the
boards use the new panel-dvi driver, instead of the panel-generic-dpi
driver.

Separate drivers for fixed size panels and DVI framer gives us cleaner
driver code.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-3430sdp.c
oard-am3517evm.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3stalker.c
oard-omap4panda.c
oard-overo.c
8d88767a4377171752c22ac39bcb2b505eb751da 22-Aug-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: DSS2: HDMI: use default dividers

Use default regn and regm2 dividers in the hdmi driver if the board file
does not define them.

Cc: Mythri P K <mythripk@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-4430sdp.c
cc11aaf867e777dfa0f14d9bedead895f5e541b7 01-Sep-2011 Thomas Weber <weber@corscience.de> OMAP: Devkit8000: Change lcd driver to AT070TN83

Change lcd driver from generic to AT070TN83.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-devkit8000.c
dc35835c6f4bf3f15b68c723c9b7540cf11b9ad6 15-Jun-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: DSS2: Implement dsi_mux_pads for OMAP4

Implement dsi_mux_pads for OMAP4. On enable the function enables the DSI
pins and disables pull down. On disable the function disables the pins
and enables pull down.

It is unclear from the TRM whether the pull down is active if the pins
are disabled, so this implementation may leave the pins floating when
the DSI device is disabled.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
isplay.c
5bc416cba15f43c799fc02727c6d6887f3e35a4e 15-Jun-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: DSS2: DSI: Improve dsi_mux_pads parameters

dsi_mux_pads() needs to know about the DSI HW module and the DSI lanes
used. Split the function into two, enable and disable, which take
necessary arguments, and add empty implementations for both.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
isplay.c
4e6a0ab0f9d4c8062bd84f3fc95b175001d46ebf 03-Aug-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP4: TWL: Add common omapdss supplies

OMAP DSS normally gets power from VCXIO on OMAP4. Add configuration for
this into twl-common.c

Mark VCXIO as always_on, as VCXIO is used by multiple components,
including the MPU, and turning it off when DSS doesn't need it would
lead the device to halt.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
wl-common.c
7c68dd96d5a5eefe3ff6d9b94fc98fd9378aff1f 03-Aug-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: DSS2: Change DSI device naming

Currently, there are 2 differently named platform devices generated for
the 2 DSS DSI modules. In order to use the same driver, the dsi devices
should be 2 instances of the same platform device.

Change the platform device names from "omapdss_dsi1" and "omapdss_dsi2"
to omapdss_dsi", and set the device indices to 0 and 1.

Signed-off-by: Archit Taneja <archit@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-devkit8000.c
oard-omap3pandora.c
isplay.c
wl-common.c
be73246058737beec52ae232bcab7776332a9e06 27-Sep-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Remove custom init_irq for remaining boards

With SoC specific timers, board specific init_irq is
no longer needed. Earlier this was still needed to
initialize the gptimer12 on Beagle based boards.

Also convert board-h4.c to use omap2_init_irq accidentally
did not get converted earlier.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
oard-h4.c
oard-omap3beagle.c
oard-omap3stalker.c
oard-omap3touchbook.c
e990a4060fcb78a1576d36e7327db11c0d278a6b 26-Sep-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Use SoC specifc map_io

There's no longer any need for the board specific
map_io.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-4430sdp.c
oard-apollon.c
oard-h4.c
oard-n8x0.c
oard-omap4panda.c
oard-rm680.c
oard-rx51.c
35549ec3c3e67188a8d3eac0167e950c46688c96 23-Sep-2011 Benoit Cousson <b-cousson@ti.com> ARM: OMAP2+: Add SoC specific map_io functions

Add SoC specific map_io function to be used by the generic DT
board file. This is an intermediate step before having some
generic DT aware map_io function.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ommon.c
7bc0c4bac72375517d904e02c46da2a23e079e8b 26-Sep-2011 Jarkko Nikula <jarkko.nikula@bitmer.com> ARM: OMAP: mcbsp: Start generalize signal muxing functions

This generalizes the omap2_mcbsp1_mux_clkr_src and omap2_mcbsp1_mux_fsr_src
implementation between generic McBSP and OMAP2 specific McBSP code. These
functions are used to select source for CLKR and FSR signals on OMAP2+.

Start generalizing the code by implementing an optional mux_signal function
pointer in platform data that will implement the actual muxing and which is
called now from omap2_mcbsp1_mux_clkr_src and omap2_mcbsp1_mux_fsr_src.
These functions are to be removed later and cleanup the API so that
mux_signal gets its arguments directly from client code.

Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
09d28d2c19fe5c2d51b3133329584166dec89f86 26-Sep-2011 Jarkko Nikula <jarkko.nikula@bitmer.com> ARM: OMAP: mcbsp: Start generalize omap2_mcbsp_set_clks_src

This generalizes the omap2_mcbsp_set_clks_src implementation between generic
McBSP and OMAP2 specific McBSP code. Currently this function is used to
select either internal fclk or clks pin as a McBSP CLKS source on OMAP2+.

Implement generalization by having an optional set_clk_src function pointer
in platform data that is used to select parent for a given clock. Idea is to
pass higher level source clock name (later coming from client driver) that
platform specific code will map to platform specific clock name.

API cleanup between McBSP and client code comes later.

Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
1743d14fb6b428e52a9a0917d11d6eba9a110002 26-Sep-2011 Jarkko Nikula <jhnikula@gmail.com> ARM: OMAP: mcbsp: Move sidetone clock management to mach-omap2/mcbsp.c

Active sidetone requires that McBSP interface clock doesn't idle and there
is no mechanism in hwmod to turn autoidling on/off in runtime. McBSP2 and 3
in OMAP34xx share their interface clock with McBSP sidetone module and
that interface clock must be active when the sidetone is operating.

Sidetone has its own autoidle bit which should keep the interface clock
active but it is broken. Putting the McBSP core to no-idle mode when the
sidetone is active is no good either since it results to higher power
consumption when using the threshold based DMA transfers.

For making the McBSP code more generic, move this sidetone clock management
with fixme comments to mach-omap2/mcbsp.c and pass pointer to it via
platform data.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Paul Wamsley <paul@pwsan.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
88408230d2fe752ffca0f292b092642cc5c153f1 26-Sep-2011 Jarkko Nikula <jarkko.nikula@bitmer.com> ARM: OMAP: mcbsp: Make tranceiver configuration control register access generic

McBSP transmit and receive configuration control registers must be set up
for OMAP2430 and later. Replace is_omap tests in generic code with a new
feature flag has_ccr in platform data so that there is no need to change
code for any upcoming OMAP version.

Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
1a6458847dd25e7ade3d633e5a374b836e38b9ae 26-Sep-2011 Jarkko Nikula <jarkko.nikula@bitmer.com> ARM: OMAP: mcbsp: Make wakeup control generic

Currently wakeup control code is compiled only when CONFIG_ARCH_OMAP3 is
set even it should be available for CONFIG_ARCH_OMAP4 only builds also.

Fix this by making wakeup control generic so that it is executed whenever
new feature flag has_wakeup in platform data is set. Currently flag is set
for McBSP config types 3 and 4.

Remove also old comments about idle mode settings and HW bug workarounds
that were not updated during hwmod conversion.

Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
cdc71514a0f4f3e8c995f18d1119cef01a501dac 26-Sep-2011 Jarkko Nikula <jarkko.nikula@bitmer.com> ARM: OMAP: mcbsp: Implement generic register access

Register access can be made more generic by calculating register address
offsets runtime from common register definitions and by using reg_size and
reg_step variables that are passed via platform data. Common register
definitions are possible since McBSP registers are ordered similarly between
OMAP versions.

Remove also references to OMAP2+ specific config_type variable from generic
McBSP code since other variables and feature flags are better to carry needed
information from platform code.

Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
7743a087640cbb0b5d81ee8a73b7ffed468f7bb6 06-Jul-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: mach-omap2: remove mach/memory.h

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
nclude/mach/memory.h
fa808a1ba5f9d40ad47c31f63691b1ded03a46f8 01-Sep-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: mach-omap2: clean up debug-macro.S

This achieves two goals:

1) Get rid of omap_uart_v2p() and omap_uart_p2v() which were the last users
of PLAT_PHYS_OFFSET.

2) Remove the probing of the M bit in the CP15 control reg and make
the access to the .data variables completely position independent.

There is a catch though: the busyuart macro needs to know where the LSR
register is which might be at a different offset depending on the hardware.
Given that this macro is given only two registers and that one of them
must be preserved, the trick is to always pass the LSR register address
around, and deduce the base address for the THR register by masking out
the LSR offset in senduart instead.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Tested-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
nclude/mach/debug-macro.S
dd185456efce7f326c058fc12fd0df17bd8466eb 31-Aug-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: plat-omap: make OMAP_UART_INFO into a relative offset

This is the first step to remove PLAT_PHYS_OFFSET usage from the debug
UART code.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Tested-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
nclude/mach/debug-macro.S
639da5ee374ba8f070690bbd355ca30139ce145a 01-Sep-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: add an extra temp register to the low level debugging addruart macro

Some platforms (like OMAP not to name it) are doing rather complicated
hacks just to determine the base UART address to use. Let's give their
addruart macro some slack by providing an extra work register which will
allow for much needed cleanups.

This is basically a no-op as this commit is only adding the extra argument
to the macro but no one is using it yet.

Signed-off-by: nicolas Pitre <nicolas.pitre@linaro.org>
Reviewed-by: Kevin Hilman <khilman@ti.com>
nclude/mach/debug-macro.S
551a9fa9b1f01aa16f9007337b3cc12216c732fa 07-Sep-2011 sricharan <r.sricharan@ti.com> OMAP: Print Initiator name for l3 custom error.

The initiator id gets logged in the l3 target registers for custom error.
So print it to aid debugging.

Based on a internal patch by Devaraj Rangasamy <dev@ti.com>

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
map_l3_noc.c
map_l3_noc.h
6616aac66d798f3f185d90d9057e47abd7d3c9b3 22-Aug-2011 sricharan <r.sricharan@ti.com> OMAP: Fix sparse warnings in l3 error handler.

Fix below sparse warnings from the l3-noc and l3-smx error handlers
files.

arch/arm/mach-omap2/omap_l3_smx.h:209:22: warning: symbol 'omap3_l3_app_bases' was not declared. Should it be static?
arch/arm/mach-omap2/omap_l3_smx.h:308:22: warning: symbol 'omap3_l3_debug_bases' was not declared. Should it be static?
arch/arm/mach-omap2/omap_l3_smx.h:325:2: warning: incorrect type in initializer (different address spaces)
arch/arm/mach-omap2/omap_l3_smx.h:325:2: expected unsigned int [usertype] *
arch/arm/mach-omap2/omap_l3_smx.h:325:2: got unsigned int [noderef] [toplevel] <asn:2>*<noident>
arch/arm/mach-omap2/omap_l3_smx.h:326:2: warning: incorrect type in initializer (different address spaces)
arch/arm/mach-omap2/omap_l3_smx.h:326:2: expected unsigned int [usertype] *
arch/arm/mach-omap2/omap_l3_smx.h:326:2: got unsigned int [noderef] [toplevel] <asn:2>*<noident>
arch/arm/mach-omap2/omap_l3_smx.h:324:5: warning: symbol 'omap3_l3_bases' was not declared. Should it be static?
CC arch/arm/mach-omap2/omap_l3_smx.o
CHECK arch/arm/mach-omap2/omap_l3_noc.c
arch/arm/mach-omap2/omap_l3_noc.c:73:13: warning: symbol '__v' shadows an earlier one
arch/arm/mach-omap2/omap_l3_noc.c:73:13: originally declared here
arch/arm/mach-omap2/omap_l3_noc.c:83:20: warning: symbol '__v' shadows an earlier one
arch/arm/mach-omap2/omap_l3_noc.c:83:20: originally declared here
arch/arm/mach-omap2/omap_l3_noc.c:90:5: warning: symbol '__v' shadows an earlier one
arch/arm/mach-omap2/omap_l3_noc.c:90:5: originally declared here
arch/arm/mach-omap2/omap_l3_noc.h:39:5: warning: symbol 'l3_flagmux' was not declared. Should it be static?
arch/arm/mach-omap2/omap_l3_noc.h:46:5: warning: symbol 'l3_targ_inst_clk1' was not declared. Should it be static?
arch/arm/mach-omap2/omap_l3_noc.h:54:5: warning: symbol 'l3_targ_inst_clk2' was not declared. Should it be static?
arch/arm/mach-omap2/omap_l3_noc.h:75:5: warning: symbol 'l3_targ_inst_clk3' was not declared. Should it be static?
arch/arm/mach-omap2/omap_l3_noc.h:79:6: warning: symbol 'l3_targ_inst_name' was not declared. Should it be static?
arch/arm/mach-omap2/omap_l3_noc.h:112:5: warning: symbol 'l3_targ' was not declared. Should it be static?
arch/arm/mach-omap2/omap_l3_noc.c:72:11: warning: cast removes address space of expression
arch/arm/mach-omap2/omap_l3_noc.c:73:13: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-omap2/omap_l3_noc.c:73:13: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/omap_l3_noc.c:73:13: got unsigned int
arch/arm/mach-omap2/omap_l3_noc.c:83:20: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-omap2/omap_l3_noc.c:83:20: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/omap_l3_noc.c:83:20: got unsigned int
arch/arm/mach-omap2/omap_l3_noc.c:90:5: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-omap2/omap_l3_noc.c:90:5: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/omap_l3_noc.c:90:5: got unsigned int
arch/arm/mach-omap2/omap_l3_noc.c:96:5: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-omap2/omap_l3_noc.c:96:5: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/omap_l3_noc.c:96:5: got unsigned int
arch/arm/mach-omap2/omap_l3_noc.c:108:5: warning: incorrect type in argument 1 (different base types)
arch/arm/mach-omap2/omap_l3_noc.c:108:5: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/omap_l3_noc.c:108:5: got unsigned int

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reported-by: Paul Walmsley <paul@pwsan.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
map_l3_noc.c
map_l3_noc.h
map_l3_smx.h
ed0e352073ff86c876ff7820ad0b6bac123082b5 24-Aug-2011 sricharan <r.sricharan@ti.com> OMAP: Fix indentation issues in l3 error handler.

The indentation problems in the l3 noc and smx
error handler files are fixed.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reported-by: Paul Walmsley <paul@pwsan.com>
map_l3_noc.c
map_l3_noc.h
map_l3_smx.c
map_l3_smx.h
c1df2dcc90dc6f5110726e9bdcd2353db989c29d 29-Aug-2011 Todd Poynor <toddpoynor@google.com> OMAP: Fix a BUG in l3 error handler.

With the current sequence of registering the irq and
assigning it to the app_irq, debug_irq driver variables,
there can be corner cases where the pending irq gets
triggered immediately after registering, handler gets called
resulting in a crash. So changed this sequence.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
map_l3_noc.c
342fd144292a6b64ea869e4052eb250486c8f326 24-Aug-2011 Todd Poynor <toddpoynor@google.com> OMAP: Improve register access in L3 Error handler.

* Changed the way of accessing L3 target
registers from standard base rather
than relative to STDERRLOG_MAIN.

* Use ffs() to find error source from
the L3_FLAGMUX_REGERRn register.

* Remove extra l3_base[] entry.

* Modified L3 custom error message.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
map_l3_noc.c
map_l3_noc.h
map_l3_smx.c
map_l3_smx.h
7d33910262d2b4e36742985269456bd519b38d46 24-Sep-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.2/voltage-cleanup' of git://gitorious.org/khilman/linux-omap-pm into voltage
48b48fc996ad98bc7b7cf133882e08cd2331ae11 23-Sep-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.2/pm-cleanup' of git://gitorious.org/khilman/linux-omap-pm into cleanup
7a04c4cbf73953f1995a141534b7fe0c35828057 23-Sep-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.2/omap_device' of git://gitorious.org/khilman/linux-omap-pm into cleanup
d05e2ea8dcf5e30de3d5607abf44883ef17d589d 01-May-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP4: hwmod: enable mcpdm hwmod device.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Jorge Eduardo Candelaria
Signed-off-by: Margarita Olaya Cabrera
Signed-off-by: Liam Girdwood <lrg@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
d231f5cbac9edbf22e4358047f33c0a44194ac97 13-Feb-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP: McPDM: Convert McPDM device to omap_device

McPDM device is converted to omap device.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Jorge Eduardo Candelaria
Signed-off-by: Margarita Olaya Cabrera
Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
evices.c
b481113a8af65f49afed46d4c9132b7af9426684 20-Sep-2011 Tarun Kanti DebBarma <tarun.kanti@ti.com> ARM: OMAP: dmtimer: low-power mode support

Clock is enabled only when timer is started and disabled when the the timer
is stopped. Therefore before accessing registers in functions clock is enabled
and then disabled back at the end of access. Context save is done dynamically
whenever the registers are modified. Context restore is called when context is
lost.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[tony@atomide.com: updated to use revision instead of tidr]
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer.c
0dad9faeaeb0fa3524068a94e1745b91e5597c17 22-Sep-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP: dmtimer: skip reserved timers

Pass the reserved flag in pdata and use it. We can
now make sys_timer_reserved static to mach-omap2/timer.c.

Signed-off-by: Tony Lindgren <tony@atomide.com>
imer.c
3392cdd33a0419e3226910a08b8bdc43b56c95d0 20-Sep-2011 Tarun Kanti DebBarma <tarun.kanti@ti.com> ARM: OMAP: dmtimer: switch-over to platform device driver

Register timer devices by going through hwmod database using
hwmod API. The driver probes each of the registered devices.
Functionality which are already performed by hwmod framework
are removed from timer code. New set of timers present on
OMAP4 are now supported.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Acked-by: Cousson, Benoit <b-cousson@ti.com>
[tony@atomide.com: folded in spinlock changes, left out is_omap2]
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer.c
c345c8b09d7a131f3571af55341038054a79efbd 20-Sep-2011 Tarun Kanti DebBarma <tarun.kanti@ti.com> ARM: OMAP2+: dmtimer: convert to platform devices

Add routines to converts dmtimers to platform devices. The device data
is obtained from hwmod database of respective platform and is registered
to device model after successful binding to driver.
In addition, capability attribute of each of the timers is added in
hwmod database.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Thara Gopinath <thara@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Cousson, Benoit <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
imer.c
318c3e15cd55c73a26ae22a65a8183655b3003f9 20-Sep-2011 Tarun Kanti DebBarma <tarun.kanti@ti.com> ARM: OMAP2+: dmtimer: add device names to flck nodes

Add device name to OMAP2 dmtimer fclk nodes so that the fclk nodes can be
retrieved by doing a clk_get with the corresponding device pointers or
device names.

Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Thara Gopinath <thara@ti.com>
Acked-by: Cousson, Benoit <b-cousson@ti.com>
[tony@atomide.com: fixed typo in email address]
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
lock44xx_data.c
c3c1250e93a7ab1327a9fc49d2a22405672f4204 05-Sep-2011 Ohad Ben-Cohen <ohad@wizery.com> hwspinlock/core/omap: fix id issues on multiple hwspinlock devices

hwspinlock devices provide system-wide hardware locks that are used
by remote processors that have no other way to achieve synchronization.

To achieve that, each physical lock must have a system-wide id number
that is agreed upon, otherwise remote processors can't possibly assume
they're using the same hardware lock.

Usually boards have a single hwspinlock device, which provides several
hwspinlocks, and in this case, they can be trivially numbered 0 to
(num-of-locks - 1).

In case boards have several hwspinlocks devices, a different base id
should be used for each hwspinlock device (they can't all use 0 as
a starting id!).

While this is certainly not common, it's just plain wrong to just
silently use 0 as a base id whenever the hwspinlock driver is probed.

This patch provides a hwspinlock_pdata structure, that boards can use
to set a different base id for each of the hwspinlock devices they may
have, and demonstrates how to use it with the omap hwspinlock driver.

While we're at it, make sure the hwspinlock core prints an explicit
error message in case an hwspinlock is registered with an id number
that already exists; this will help users catch such base id issues.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Acked-by: Tony Lindgren <tony@atomide.com>
wspinlock.c
2edc7ba5e8fdba327e16d3d0086e831c5fe6f577 21-Sep-2011 Kevin Hilman <khilman@ti.com> ARM: OMAP: voltage: voltage layer present, even when CONFIG_PM=n

Even when CONFIG_PM=n, we try to scale the boot voltage to a sane,
known value using OPP table to find matching voltage based on boot
frequency. This should be done, even when CONFIG_PM=n to avoid
mis-configured bootloaders and/or boot voltage assumptions made by
boot loaders.

Also fixes various compile problems due to depenencies between voltage
domain and powerdomain code (also present when CONFIG_PM=n).

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kevin Hilman <khilman@ti.com>
akefile
oltage.h
0722d055ac2236da4e319d22a99c9f7e82dbdd5d 30-Aug-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> ASoC: tpa6130a2: Remove model_id from platform data

The model_id is no longer needed within the platform_data
for the TPA driver since the model of TPA specified
with the device name (tpa6130a2/tpa6140a2).

Also update rx51 (the only affected user) to use the device name rather
than platform data.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
oard-rx51-peripherals.c
f70cac8d9c7125f83048f8b3d1c60f5a041a165c 21-Sep-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'kprobes-test' of git://git.yxit.co.uk/linux into devel-stable
f8cf8e47fb87e3b27e63d36fc8d61b11273f37bc 21-Sep-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix missing inline functions for Makefile cleanup

Commit f41caddbe73f52a42f529d668ce47b4d693fd2c0 (omap2+: Use
Kconfig symbol in Makefile instead of obj-y) cleaned up the
omap2+ Makefile. However this did not account for the inline
functions that are now needed for board_flash_init and
board_nand_init.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-flash.c
oard-flash.h
ee17f1147f010898e97dea2524b2aa3bcd2447a4 17-Sep-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP: Add support for dmtimer v2 ip

The registers are slightly different between v1 and v2 ip that
is available in omap4 and later for some timers.

Add support for v2 ip by mapping the interrupt related registers
separately and adding func_base for the functional registers.

Also disable dmtimer driver features on omap4 for now as
those need the hwmod conversion series to deal with enabling
the timers properly in omap_dm_timer_init.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Tested-by: Hemant Pedanekar <hemantp@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer.c
dca2d0eb5917ff132d9be13f0afa9ae5d4e80580 13-Sep-2011 Kevin Hilman <khilman@ti.com> OMAP3: PM: fix UART handling when using no_console_suspend

During the idle/suspend path, we expect the console lock to be held so
that no console output is done during/after the UARTs are idled.

However, when using the no_console_suspend argument on the
command-line, the console driver does not take the console lock. This
allows the possibility of console activity after UARTs have been
disabled.

To fix, update the current is_suspending() to also check the
console_suspend_enabled flag.

Reported-by: Abhilash Koyamangalath <abhilash.kv@ti.com>
Tested-by: Abhilash Koyamangalath <abhilash.kv@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m34xx.c
d66b3fe436a296f102e8944247972fc0c17ddf26 21-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP: omap_device: decouple platform_device from omap_device

Rather than embedding a struct platform_device inside a struct
omap_device, decouple them, leaving only a pointer to the
platform_device inside the omap_device.

Use the arch-specific data field of the platform_device (pdev_archdata)
to add an omap_device pointer after the platform_device has been created.

Signed-off-by: Kevin Hilman <khilman@ti.com>
pp.c
9f8b6949d78f1306eef0edc14bc1fbcaf3e58ad0 01-Aug-2011 Kevin Hilman <khilman@ti.com> OMAP: omap_device: _disable_idle_on_suspend() takes platform_device pointer

Public omap_device functions need to take platform_device pointers,
conversion to omap_device pointers is done internal to the omap_device
layer.

Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
erial.c
3528c58eb9e818b7821501afa2916eb12131994a 21-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP: omap_device: when building return platform_device instead of omap_device

All of the device init and device driver interaction with omap_device
is done using platform_device pointers. To make this more explicit,
have omap_device return a platform_device pointer instead of an
omap_device pointer.

All current users of the omap_device pointer were only using it to get
at the platform_device pointer or struct device pointer, so fixing all
of the users was trivial.

This also makes it more difficult for device init code to directly
access members of struct omap_device, and allows for easier changing
of omap_device internals.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
evices.c
isplay.c
ma.c
pio.c
smmc.c
wspinlock.c
cbsp.c
m.c
erial.c
r_device.c
23618f7faa8fdac93d4823d0372f4101d642b8b1 16-Sep-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.2/voltage-cleanup' of git://gitorious.org/khilman/linux-omap-pm into voltage
ceb1c532ba6220900e61ec7073a9234661efa450 16-Sep-2011 Tony Lindgren <tony@atomide.com> Merge branch 'omap_chip_remove_cleanup_3.2' of git://git.pwsan.com/linux-2.6 into cleanup
ee7fbba63e334481049a7939b8071160824447d3 18-May-2011 Nishanth Menon <nm@ti.com> OMAP4: PM: TWL6030: add cmd register

Without the command register, ON/ONLP/RET/OFF voltages are
useless. and TWL will be unable to use these

Signed-off-by: Nishanth Menon <nm@ti.com>
map_twl.c
63f60a43e640c2f56be902c69503ea28d1010416 18-May-2011 Patrick Titiano <p-titiano@ti.com> OMAP4: PM: TWL6030: fix ON/RET/OFF voltages

According to latest OMAP4430 Data Manual v0.4 dated March 2011:
- Retention voltage shall be set to 0.83V. See tables 2.2, 2.4 and 2.6 in DM.
This allows saving a little more power in retention states.
- OPP100 IVA nominal voltage is 1.188V. See table 2.4 in DM.
This allows saving a little power when CPU wakes up until Smart-Reflex is
not yet resumed.

[nm@ti.com: ported to voltdm_c]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
map_twl.c
2aed5b9e8877237886453f138be7ecea224b32b0 18-May-2011 Nishanth Menon <nm@ti.com> OMAP4: PM: TWL6030: address 0V conversions

0V conversions should be mapped to 0 as it is meant to denote
off voltages.

Signed-off-by: Nishanth Menon <nm@ti.com>
map_twl.c
366494250b60af14fbab4d94d6bb1d1b6d17f10b 18-May-2011 Nishanth Menon <nm@ti.com> OMAP4: PM: TWL6030: fix uv to voltage for >0x39

using 1.35V as a check is not correct, we know that beyond 0x39,
voltages are non linear - hence use the conversion iff uV greater
than that for 0x39. For example, with 709mV as the smps offset,
the max linear is actually 1.41V(0x39vsel)!

Signed-off-by: Nishanth Menon <nm@ti.com>
map_twl.c
58e241f7be8dfbb19fa8f5bf8b2e56bb6d655752 18-May-2011 Patrick Titiano <p-titiano@ti.com> OMAP4: PM: TWL6030: fix voltage conversion formula

omap_twl_vsel_to_uv() and omap_twl_uv_to_vsel() functions used to convert
voltages to TWL6030 SMPS commands (a.k.a "vsel") implement incorrect conversion
formula.
It uses legacy OMAP3 formula, but OMAP4 Power IC has different offset and
voltage step:
- Voltage Step is now 12.66mV (instead of 12.5mV)
- Offset is either 607.7mV or 709mV depending on TWL6030 chip revision
(instead of 600mV)
This leads to setting voltages potentially higher than expected, and so
potentially some (limited) power overconsumption.

For reference, see formula and tables in section 8.5.2.3
"Output Voltage Selection (Standard Mode / Extended Mode with or without offset)"
in TWL6030 functional specifications document.

[nm@ti.com: ported to voltdm_c]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Patrick Titiano <p-titiano@ti.com>
map_twl.c
5876c940c0dee298e38fbf47ce67c9e220b0572c 21-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP2+: VC: more registers are per-channel starting with OMAP5

Starting with OMAP5, the following registers are per-channel and not
common to a all VC channels:

- SMPS I2C slave address
- SMPS voltage register address offset
- SMPS cmd/value register address offset
- VC channel configuration register

Move these from the channel-common struct into the per-channel struct
to support OMAP5.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
c.h
c3xxx_data.c
c44xx_data.c
6a62b78d9aa6661cae1a7d30b574daf435a14c47 19-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP3+: voltage: update nominal voltage in voltdm_scale() not VC post-scale

Currently, the nominal voltage is updated in the VC post-scale function
which is common to both scaling methods. However, this has readabiliy
problems as this update is not where it might be expected. Instead, move
the updated into voltdm_scale() upon a successful return of voltdm->scale()

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
oltage.c
d5c128289f5066a7c6bf27d6ba27a6ae425be757 16-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP3+: voltage: rename omap_voltage_get_nom_volt -> voltdm_get_voltage

Use preferred voltdm_ naming for getting current nominal voltage.

No functional changes.

Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex-class3.c
oltage.c
oltage.h
e32778804930ed3141ffc55242d88e086d71ac24 14-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP3+: voltdm: final removal of omap_vdd_info

Remove last remaining member (volt_data) from omap_vdd_info into
struct voltagedomain and removal remaining usage and reference to
omap_vdd_info.

Signed-off-by: Kevin Hilman <khilman@ti.com>
oltage.c
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
7590f608aacba64c42edd5a8d9560264b049f403 06-Apr-2011 Kevin Hilman <khilman@ti.com> OMAP3+: voltage: move/rename curr_volt from vdd_info into struct voltagedomain

Track current nominal voltage as part of struct voltagedomain instead
of omap_vdd_info, which will soon be removed.

Also renames field from curr_volt to nominal_volt.

No functional changes.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
oltage.c
oltage.h
5e5651be29d8bd08d0cc2bc617c43acff95e2229 06-Apr-2011 Kevin Hilman <khilman@ti.com> OMAP3+: voltage: rename scale and reset functions using voltdm_ prefix

Rename voltage scaling related functions to use voltdm_ prefix intead
of omap_voltage_, and cleanup kerneldoc comments in the process.

s/omap_voltage_scale_vdd/voltdm_scale/
s/omap_voltage_reset/voltdm_reset/

Also, in voltdm_reset() s/target_uvdc/target_volt/ to be consistent with
naming throughout the file.

No functional changes.

Signed-off-by: Kevin Hilman <khilman@ti.com>
m.c
martreflex-class3.c
oltage.c
oltage.h
b666b4767d3e6a23634b4d485c8511bd42d50023 16-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VP: combine setting init voltage into common function

combine VPCONFIG init voltage setup into common function and use from
both vp_enable and from vp_forceupdate_scale().

NOTE: this patch changes the sequence of when the initVDD bit is
cleared. The bit is now cleared immediately after it was written.
Since only the rising edge of this bit has any affect according to the
TRM, the exact timing of clearing of this bit should not have any
effect.

Signed-off-by: Kevin Hilman <khilman@ti.com>
p.c
cc6962dbab223ae51b47c8057d39d89ac6af0d35 16-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VP: remove unused omap_vp_get_curr_volt()

Signed-off-by: Kevin Hilman <khilman@ti.com>
p.c
p.h
8798c4ab56d8f726092870cb2cf15c5a7a0a93bf 19-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VP: update_errorgain(): return error if VP

Add check for valid VP in omap_vp_update_errorgain()

Signed-off-by: Kevin Hilman <khilman@ti.com>
p.c
bea30ed65fb2432097f362ce17042e22febcb616 28-May-2011 Todd Poynor <toddpoynor@google.com> OMAP: VP: Explicitly mask VPVOLTAGE field

Reading the VPVOLTAGE field of PRM_VP_*_VOLTAGE registers currently
relies on a u32 -> u8 conversion to mask off the FORCEUPDATEWAIT field
in the upper bits. Make this explicit using the mask symbol
already defined, added as a new field in struct omap_vp_common.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
p.c
p.h
p3xxx_data.c
p44xx_data.c
0f01565a353e06f1f1d7757b212c51e61c6fea58 14-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VP: move voltage scale function pointer into struct voltagedomain

Function pointer used for actual voltage scaling (e.g. VP force update
or VC bypass) is moved from omap_vdd_info into struct voltagedomain,
resulting in renames s/vdd->volt_scale/voltdm->scale/

No functional changes.

Signed-off-by: Kevin Hilman <khilman@ti.com>
oltage.c
oltage.h
667216d6a435a27f5aed64aa30de583ddccc58c8 05-Apr-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VP: remove omap_vp_runtime_data

Remove the "runtime" VP data in favor of direct programming of VP registers.
The VP is in the PRM, which is in the wakeup powerdomain, so there is no
need to keep the state dynamically.

Fixes to original version from Nishanth Menon <nm@ti.com>

Signed-off-by: Kevin Hilman <khilman@ti.com>
oltage.h
p.c
p.h
76ea7424f80350884b4d70ae54cfa51f7f9b2a48 06-Apr-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VP: create VP helper function for updating error gain

Create new helper function in VP layer for updating VP error gain.
Currently used during pre-scale for VP force update and VC bypass.

TODO: determine if this can be removed from the pre-scale path and
moved to VP enable path.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
p.c
p.h
6f56727383ca3233f40af5e792a08bf07b18f5fd 14-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VP: move timing calculation/config into VP init

Move VP timing calcluation (based on sys clock) and register programming
into VP init.

Signed-off-by: Kevin Hilman <khilman@ti.com>
oltage.c
p.c
0e2f3d9cb8f3c6464ac24c489fa713699c037dd4 05-Apr-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VP: move SoC-specific sys clock rate retreival late init

Add sys clock name and rate to struct voltage domain. SoC specific
voltagedomain init code initializes sys clock name. After clock
framework is initialized, voltage late init will then use use the
sys_clk rate to calculate the various timing that depend on that rate.

Signed-off-by: Kevin Hilman <khilman@ti.com>
oltage.c
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
0ec3041e91cf365a76c81b224e85d3c2574fec23 05-Apr-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VP: struct omap_vp_common: replace shift with __ffs(mask)

In struct omap_vp_common, the shift value can be derived from the mask
value by using __ffs(), so remove the shift value for the various
VPCONFIG bitfields, and use __ffs() in the code for the shift value.

While here, rename field names in kerneldoc comment to match actual
field names in structure. Also, cleanup indendentaion for other VP
register accesses in omap_vp_init().

No functional changes.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
oltage.c
p.c
p.h
p3xxx_data.c
p44xx_data.c
633ef8b7475a224b6be662d7c698cd705157064f 05-Apr-2011 Kevin Hilman <khilman@ti.com> OMAP3+: voltage: remove unneeded debugfs interface

Remove read-only debugfs interface to VP values. Most of the values
are init-time only and never change. Current voltage value should be
retreived from the (eventual) regulator framework interface to the
voltage domain.

Fixes to original version provided by Nishanth Menon <nm@ti.com>

Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
oltage.c
oltage.h
p.c
b7ea803e55769768d1eff3b32e4f99837fa6ddb5 05-Apr-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VP: cleanup: move VP instance into voltdm, misc. renames

- move VP instance struct from vdd_info into struct voltage domain
- remove _data suffix from structure name
- rename vp_ prefix from vp_common field: accesses are now vp->common
- move vp_enabled bool from vdd_info into VP instance
- remove remaining references to omap_vdd_info

No functional changes.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
oltage.c
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
p.c
p.h
p3xxx_data.c
p44xx_data.c
d7b0de2b46803062148345ae6a976c1e44a457b6 19-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VC: use last nominal voltage setting to get current_vsel

Instead of reading current vsel value from the VP's voltage register,
just use current nominal voltage translated into vsel via the PMIC.

Doing this allows VC bypass scaling to work even without a VP configured.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
8abc0b58fdb89124d8278f110f523b27c666d36c 03-Jun-2011 Kevin Hilman <khilman@ti.com> OMAP3+: PM: VC: handle mutant channel config for OMAP4 MPU channel

On OMAP3+, all VC channels have the the same bitfield ordering for all
VC channels, except the OMAP4 MPU channel. This appears to be a freak
accident as all other VC channel (including OMAP5) have the standard
configuration. Handle the mutant case by adding a per-channel flag
to signal the deformity and handle it during VC init.

Special thanks to Nishanth Menon <nm@ti.com> for finding this problem
and for proposing the initial solution.

Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
c.h
c44xx_data.c
f5395480f5088a86cc8594d29b5c2f07f6995c3d 31-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VC: make I2C config programmable with PMIC-specific settings

Remove hard-coded I2C configuration in favor of settings that can be
configured from PMIC-specific values. Currently only high-speed mode
and the master-code value are supported, since they were the only
fields currently used, but extending this is now trivial.

Thanks to Nishanth Menon <nm@ti.com> for reporting/fixing a sparse
problem and making omap_vc_i2c_init() static, as well as finding and
fixing a problem with the shift/mask of mcode.

Signed-off-by: Kevin Hilman <khilman@ti.com>
map_twl.c
c.c
c.h
c3xxx_data.c
c44xx_data.c
oltage.h
ce8ebe0dfb1f8713337cebf82499d3dced288328 30-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3+: voltage domain: move PMIC struct from vdd_info into struct voltagedomain

Move structure containing PMIC configurable settings into struct
voltagedomain. In the process, rename from omap_volt_pmic_info to
omap_voltdm_pmic (_info suffix is not helpful.)

No functional changes.

Signed-off-by: Kevin Hilman <khilman@ti.com>
map_twl.c
c.c
c.h
oltage.c
oltage.h
p.c
24d3194a2c9bc4d2315117915d4d22c395c07fd5 30-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VC: abstract out channel configuration

VC channel configuration is programmed based on settings coming from
the PMIC configuration.

Currently, the VC channel to PMIC mapping is a simple one-to-one
mapping. Whenever a VC channel parameter is configured (i2c slave
addres, PMIC register address, on/ret/off command), the corresponding
bits are enabled in the VC channel configuration register.

If necessary, the programmability of channel configuration settings
could be extended to board/PMIC files, however, because this patch
changes the channel configuration to be programmed based on existing
values from the PMIC settings, it may not be required.

Also note that starting with OMAP4, where there are more than 2
channels, one channel is identified as the "default" channel. When
any of the bits in the channel config for the other channels are zero,
it means to use the default channel. The OMAP4 TRM (at least through
NDA version Q) is wrong in describing which is the default channel.
The default channel on OMAP4 is MPU, not CORE as decribed in the TRM.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
c.h
c3xxx_data.c
c44xx_data.c
08d1c9a3e2dc7a285db7c689c42963d0f5271c1f 30-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VC: move on/onlp/ret/off command configuration into common init

Configuring the on/onlp/ret/off command values is common to OMAP3 & 4.
Move from OMAP3-only init into common VC init.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
5892bb1fc6430d086f5c2a4216f9ed00070e31ad 29-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VC: cleanup voltage setup time configuration

- add setup_time field to struct omap_vc_channel (init'd from PMIC data)
- use VC/VP register access helper for read/modify/write
- move VFSM structure from omap_vdd_info into struct voltagedomain
- remove redunant _data suffix from VFSM structures and variables
- remove voltsetup_shift, use ffs() on the mask value to find the shift

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
c.h
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
78614e0f8f32dca52beebaadfb53c2a3acf1604a 29-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VC bypass: use fields from VC struct instead of PMIC info

The PMIC configurable variables should be isolated to VC initialization.
The rest of the VC functions (like VC bypass) should use the i2c slave address
and voltage register address fields from struct omap_vc_channel.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
e4e021c5491537783f5f65a6defa92e6098a3658 09-Jun-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VC: cleanup PMIC register address configuration

- support both voltage register address and command register address
for each VC channel
- add fields for voltage register address (volra) and command register
address (cmdra) to struct omap_vc_channel
- use VC/VP register access read/modify/write helper
- remove volra_shift field (use __ffs(mask) for shift value)
- I2C addresses 10-bit, change size to u16

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
c.h
c3xxx_data.c
c44xx_data.c
oltage.h
ba112a4e86ba8f0f9546bd953374cde064b507ca 29-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3+: VC: cleanup i2c slave address configuration

- Add an i2c_slave_address field to the omap_vc_channel
- use VC/VP read/modify/write helper instead of open-coding
- remove smps_sa_shift, use __ffs(mask) for shift value
- I2C addresses 10-bit, change size to u16

Special thanks to Shweta Gulati <shweta.gulati@ti.com> for suggesting
the use of __ffs(x) instead of ffs(x) - 1.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
c.h
c3xxx_data.c
c44xx_data.c
oltage.h
4bcc475ebd06a04e1531254c27c6cf508ef8ebf9 28-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3+: voltage: convert to PRM register access functions

Convert VC/VP register access to use PRM VC/VP accessor functions. In
the process, move the read/write function pointers from vdd_info into
struct voltagedomain.

No functional changes.

Additional cleanup:
- remove prm_mod field from VC/VP data structures, the PRM register
access functions know which PRM module to use.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.c
c.h
c3xxx_data.c
c44xx_data.c
oltage.c
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
p.c
p.h
p3xxx_data.c
p44xx_data.c
4bb73adec43bbf63d39e1c2021de0aab0c60ea34 28-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: PRM: add register access functions for VC/VP

On OMAP3+, the voltage controller (VC) and voltage processor (VP) are
inside the PRM. Add some PRM helper functions for register access to
these module registers.

Thanks to Nishanth Menon for finding/fixing a sparse problem.

Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
rm2xxx_3xxx.c
rm2xxx_3xxx.h
rm44xx.c
rm44xx.h
842ec22852cf843558828e6f7a6da2bf72f341a5 28-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3+ VP: replace transaction done check/clear with VP ops

Replace the VP tranxdone check/clear with helper functions from the
PRM layer.

In the process, remove prm_irqst_* voltage structure fields for IRQ
status checking which are no longer needed.

Since these reads/writes of the IRQ status bits were the only PRM
accesses that were not to VC/VP registers, this allows the rest of the
register accesses in the VC/VP code to use VC/VP specific register
access functions (done in the following patch.)

Signed-off-by: Kevin Hilman <khilman@ti.com>
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
p.c
58aaa599a97308c0f4a68ef07039157807fa8324 28-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: add PRM VP functions for checking/clearing VP TX done status

Add SoC specific PRM VP helper functions for checking and clearing
the VP transaction done status.

Longer term, these events should be handled by the forthcoming PRCM
interrupt handler.

Signed-off-by: Kevin Hilman <khilman@ti.com>
rm2xxx_3xxx.c
rm2xxx_3xxx.h
rm44xx.c
rm44xx.h
p.h
p3xxx_data.c
p44xx_data.c
e74e44054f8297d60fbd2ed1d412d84055afee8c 22-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: VC: support PMICs with separate voltage and command registers

The VC layer can support PMICs with separate voltage and command
registers by putting the different registers in the PRM_VC_SMPS_VOL_RA
and PRCM_VC_SMPS_CMD_RA registers respectively.

The PMIC data must supply at least a voltage register address
(volt_reg_addr). The command register address (cmd_reg_addr) is
optional. If the PMIC data does not supply a separate command
register address, the VC will use the voltage register address for both.

Signed-off-by: Kevin Hilman <khilman@ti.com>
map_twl.c
c.c
oltage.h
01f48d308db1cfcfb0151d8d91153fd73e84ae40 21-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: voltage: split out voltage processor (VP) code into new layer

This patch is primarily a move of VP specific code from voltage.c into
its own code in vp.c and adds prototypes to vp.h

No functional changes, except debugfs...

VP debugfs moved to 'vp' subdir of <debugfs>/voltage/ and 'vp_'
prefixes removed from all debugfs filenames.

Signed-off-by: Kevin Hilman <khilman@ti.com>
akefile
oltage.c
oltage.h
p.c
p.h
4d47506a85a9f2e745dc63215594e9f799aff3dc 19-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP2+: voltage: enable VC bypass scale method when VC is initialized

VC is initialized first, set default scaling method to VC bypass.
If/when VP is initialized, default scaling method will be changed to
VP force-update.

Enabling VC bypass as default as soon as VC is initialized allows for
VC bypass scaling to work when no VP is configured/initialized for a
given voltage domain.

Signed-off-by: Kevin Hilman <khilman@ti.com>
oltage.c
d84adcf46b9c235d1f4975b72a8c2763dbfb0081 23-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: voltage: move VC into struct voltagedomain, misc. renames

Move the VC instance struct from omap_vdd_info into struct voltagedomain.
While moving, perform some misc. renames for readability.

No functional changes.

Summary of renames:
- rename omap_vc_instance to omap_vc_channel, since there is only
one instance of the VC IP and this actually represents channels
using TRM terminology.
- rename 'vc_common' field of VC channel which led to:
s/vc->vc_common/vc->common/
- remove redundant '_data' suffix
- OMAP3: vc1 --> vc_mpu, vc2 --> vc_core
- omap_vc_bypass_scale_voltage() -> omap_vc_bypass_scale()

Signed-off-by: Kevin Hilman <khilman@ti.com>

merge
c.c
c.h
c3xxx_data.c
c44xx_data.c
oltage.c
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
ccd5ca7787df8f1bd267b90f03a09c31c160ffe2 21-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: voltage: split voltage controller (VC) code into dedicated layer

As part of the voltage layer cleanup, split out VC specific code into
a dedicated VC layer. This patch primarily just moves VC code from
voltage.c into vc.c, and adds prototypes to vc.h.

No functional changes.

For readability, each function was given a local 'vc' pointer:

struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;

and a global replace of s/vdd->vc_data/vc/ was done.

Also vc_init was renamed to vc_init_channel to reflect that this is
per-VC channel initializtion.

Signed-off-by: Kevin Hilman <khilman@ti.com>
akefile
c.c
c.h
oltage.c
e69c22b1459068f15e56e48b4b6953cc3f566c79 17-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: voltage: keep track of powerdomains in each voltagedomain

When a powerdomain is registered and it has an associated voltage domain,
add the powerdomain to the voltagedomain using voltdm_add_pwrdm().

Also add voltagedomain iterator helper functions to iterate over all
registered voltagedomains and all powerdomains associated with a
voltagedomain.

Modeled after a similar relationship between clockdomains and powerdomains.

Signed-off-by: Kevin Hilman <khilman@ti.com>
owerdomain.c
owerdomain.h
oltage.c
oltage.h
048a7034f1044e69868df70bff32d8d67974e1b8 16-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: powerdomain: add voltage domain lookup during register

When a powerdomain is registered, lookup the voltage domain by name
and keep a pointer to the containing voltagedomain in the powerdomain
structure.

Modeled after similar method between powerdomain and clockdomain layers.

Signed-off-by: Kevin Hilman <khilman@ti.com>
owerdomain.c
owerdomain.h
oltage.h
7e1b94059cea39218071fdb78c4075b83d52e222 21-Mar-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: powerdomain data: add voltage domains

Add voltage domain name to indicate which voltagedomain each
powerdomain is in.

The fixed voltage domain like ldo_wakeup for emu and wkup power
domain is added too.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
[khilman@ti.com]: renamed wakeup domain: s/ldo_wakeup/wakeup/
Signed-off-by: Kevin Hilman <khilman@ti.com>
owerdomains44xx_data.c
oltagedomains44xx_data.c
da03ce65b5431245b9cd20db3edaaa6b9f5c8dc1 18-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3: powerdomain data: add voltage domains

Add voltage domain name to indicate which voltagedomain each
powerdomain is in.

Signed-off-by: Kevin Hilman <khilman@ti.com>
owerdomains2xxx_3xxx_data.c
owerdomains3xxx_data.c
aae030fa329307895eb935b057a72b12c6bd678b 24-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2: add voltage domains and connect to powerdomains

Create basic voltagedomains for OMAP2 and associate OMAP2 powerdomains
with the newly created voltage domains.

While here, update copyright on powerdomain data to 2011.

Signed-off-by: Kevin Hilman <khilman@ti.com>
akefile
o.c
owerdomain2xxx_3xxx.c
owerdomains2xxx_data.c
oltage.h
oltagedomains2xxx_data.c
8f1bec246c44d936a02cc6b781bfd9ba670d7e45 23-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: powerdomain: add voltagedomain to struct powerdomain

Each powerdomain is associated with a voltage domain. Add an entry to
struct powerdomain where the enclosing voltagedomain can be
referenced.

Modeled after similar relationship between clockdomains and powerdomains.

Signed-off-by: Kevin Hilman <khilman@ti.com>
owerdomain.h
37efca7e9deacf3c11bda82df5b7594f098daa69 24-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3+: voltage: add scalable flag to voltagedomain

Add a 'bool scalable' flag to the struct powerdomain and set it for
the scalable domains on OMAP3 and OMAP4.

Signed-off-by: Kevin Hilman <khilman@ti.com>
oltage.c
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
ace19ffa9a580c7b3d2a7cd4bb9fda6071394d25 23-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3: voltagedomain data: add wakeup domain

Add wakeup voltage domain so that the wakeup powerdomain can have an
associated powerdomain. Note that the scalable flat is not set for
the this voltagedomain, so it will not be fully initialized like
scalable voltage domains.

Signed-off-by: Kevin Hilman <khilman@ti.com>
oltagedomains3xxx_data.c
280a72750535aaf69833bda13ab8912aa5eb71e3 23-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP3: voltage: rename "mpu" voltagedomain to "mpu_iva"

This voltage domain (a.k.a. VDD1) contains both the MPU and the IVA, so
rename appropriately.

Also fixup any users of the "mpu" name to use "mpu_iva"

Signed-off-by: Kevin Hilman <khilman@ti.com>
map_hwmod_3xxx_data.c
map_twl.c
m.c
oltagedomains3xxx_data.c
81a604823797ddb3aaf2a78cc1c6a1fa8f4d200c 16-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: voltage: start towards a new voltagedomain layer

Start cleaning up the voltage layer to have a voltage domain layer
that resembles the structure of the existing clock and power domain
layers. To that end:

- move the 'struct voltagedomain' out of 'struct omap_vdd_info' to
become the primary data structure.

- convert any functions taking a pointer to struct omap_vdd_info into
functions taking a struct voltagedomain pointer.

- convert the register & initialize of voltage domains to look like
that of powerdomains

- convert omap_voltage_domain_lookup() to voltdm_lookup(), modeled
after the current powerdomain and clockdomain lookup functions.

- omap_voltage_late_init(): only configure VDD info when
the vdd_info struct is non-NULL

Signed-off-by: Kevin Hilman <khilman@ti.com>
o.c
map_twl.c
m.c
r_device.c
oltage.c
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
c39263c33f9c94443aa9fc4fc2b1f1191666fccd 17-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: voltage: move prm_irqst_reg from VP into voltage domain

The prm_irqst_reg is not part of the VP. Move it up into the common
voltage domain struct.

Signed-off-by: Kevin Hilman <khilman@ti.com>
oltage.c
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
p.h
p3xxx_data.c
p44xx_data.c
a7460daf15239563b3e7bb862580f90da78541bd 16-Mar-2011 Kevin Hilman <khilman@ti.com> OMAP2+: voltage: move PRCM mod offets into VC/VP structures

Eliminate need for global variables for the various PRM module offsets by
making them part of the VP/VC common structures

Eventually, these will likely be moved again, or more likely removed
when VP/VC code is isolated, but for now just getting rid of them as
global variabes so that the voltage domain initialization can be
cleaned up.

Signed-off-by: Kevin Hilman <khilman@ti.com>
c.h
c3xxx_data.c
c44xx_data.c
oltage.c
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
p.h
p3xxx_data.c
p44xx_data.c
e060c38434b2caa78efe7cedaff4191040b65a15 15-Sep-2011 Jiri Kosina <jkosina@suse.cz> Merge branch 'master' into for-next

Fast-forward merge with Linus to be able to merge patches
based on more recent version of the tree.
fb914ebff5d0c4cf4e9ff16974057e07f82805c7 23-Jun-2011 Vitaliy Ivanov <vitalivanov@gmail.com> treewide: typo 'interrrupt' word corrections.

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Vitaliy Ivanov <vitalivanov@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
martreflex.c
00c46b3069c1ee9aa31db3057e9224685af52efa 15-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP: id: remove OMAP_CHIP declarations, code

Now that all of the users of the OMAP_CHIP bitfield code have been converted
to use lists, the OMAP_CHIP code, data, and declarations can be removed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
d.c
d6504acd2125984c61dce24727dd3842d0144015 15-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: remove OMAP_CHIP*

At Tony's request, remove the OMAP_CHIP* flags from the hwmod data, and
replace it instead with chip family, variant, and ES level-specific lists
of hwmods to register.

Thanks to Gražvydas Ignotas <notasas@gmail.com> for finding a bug in the
AM3517/3505 support, and for other review comments.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Gražvydas Ignotas <notasas@gmail.com>
map_hwmod.c
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
8179488a36985d4929cf89be5d9171145a769511 14-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP: powerdomain: remove omap_chip bitmasks

At Tony's request, remove the omap_chip bitmasks from the powerdomain
definitions. Instead, initialize powerdomains based on one or more
lists that are applicable to a particular SoC family, variant, and
silicon revision.

Gražvydas Ignotas <notasas@gmail.com> found and reported a bug in a
related patch that also applied to this patch - thanks Gražvydas.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Gražvydas Ignotas <notasas@gmail.com>
o.c
owerdomain-common.c
owerdomain.c
owerdomain.h
owerdomains2xxx_3xxx_data.c
owerdomains2xxx_data.c
owerdomains3xxx_data.c
owerdomains44xx_data.c
129c65ee66a97fbf663f2f5fce26aacdc7348736 15-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP: powerdomain: split pwrdm_init() into two functions

In preparation for OMAP_CHIP() removal, split pwrdm_init() into three
functions. This allows some of them to be called multiple times: for
example, pwrdm_register_pwrdms() can be called once to register
powerdomains that are common to a group of SoCs, and once to register
powerdomains that are specific to a single SoC.

The appropriate order to call these functions - which is enforced
by the code - is:

1. pwrdm_register_platform_funcs()
2. pwrdm_register_pwrdms() (can be called multiple times)
3. pwrdm_complete_init()

Convert the OMAP2, 3, and 4 powerdomain init code to use these new
functions.

While here, improve documentation, and increase CodingStyle
conformance by shortening some local variable names.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
owerdomain.h
owerdomains2xxx_data.c
owerdomains3xxx_data.c
owerdomains44xx_data.c
a5ffef6af127721a813d70f87cd8cc348ea9d6ab 15-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP: clockdomain code/data: remove omap_chip bitmask from struct clockdomain

At Tony's request, remove the omap_chip bitmasks from the clockdomain
and clockdomain dependency definitions. Instead, initialize
clockdomains based on one or more lists that are applicable to a
particular SoC family, variant, and silicon revision.

Tony Lindgren <tony@atomide.com> found a bug in a previous version of this
patch - thanks Tony.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
akefile
lockdomain.c
lockdomain.h
lockdomain2xxx_3xxx.c
lockdomain44xx.c
lockdomains2420_data.c
lockdomains2430_data.c
lockdomains2xxx_3xxx_data.c
lockdomains3xxx_data.c
lockdomains44xx_data.c
o.c
08cb9703e2922db297d8f83ec110bde37823e021 15-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP: clockdomain: split clkdm_init()

In preparation for OMAP_CHIP() removal, split clkdm_init() into four
functions. This allows some of them to be called multiple times: for
example, clkdm_register_clkdms() can be called once to register
clockdomains that are common to a group of SoCs, and once to register
clockdomains that are specific to a single SoC.

The appropriate order to call these functions - which is enforced
by the code - is:

1. clkdm_register_platform_funcs()
2. clkdm_register_clkdms() (can be called multiple times)
3. clkdm_register_autodeps() (optional; deprecated)
4. clkdm_complete_init()

Convert the OMAP2, 3, and 4 clockdomain init code to use these new
functions.

While here, improve documentation, and increase CodingStyle
conformance by shortening some local variable names.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
lockdomain.h
lockdomains2xxx_3xxx_data.c
lockdomains44xx_data.c
3b32b7d62e9800579e591553875e5ff60be15546 14-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP3: id: remove duplicate code for testing SoC ES level

omap3_cpuinfo() contains essentially duplicated code from
omap3_check_revision(), just for the purpose of determining the chip ES level.
Set the cpu_rev char array pointer in omap3_check_revision() instead,
and drop the now-useless code from omap3_cpuinfo().

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Tested-by: Abhilash Koyamangalath <abhilash.kv@ti.com>
d.c
51ec811a292eba77c1df00d9d6416526b1ce7972 14-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP3: id: add fallthrough warning; fix some CodingStyle issues

Emit a warning to the console in omap3_check_revision() if that code
cannot determine what type of SoC the system is currently running on.

Remove some extra whitespace, remove some duplicate code, and
add an appropriate comment to a fallthrough case.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Hemant Pedanekar <hemantp@ti.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Tested-by: Abhilash Koyamangalath <abhilash.kv@ti.com>
d.c
9ed2ba7aa78ee35dda2cfc9a49b5cd4b2ae88500 14-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP3: id: use explicit omap_revision codes for 3505/3517 ES levels

Use explicit revision codes for OMAP/AM 3505/3517 ES levels, as the rest
of the OMAP2+ SoCs do in mach-omap2/cpu.c.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Tested-by: Abhilash Koyamangalath <abhilash.kv@ti.com>
d.c
91d92d6cc86c9390b891a96e12a452a644c3ad76 14-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP3: id: remove useless strcpy()s

omap3_cpuinfo() is filled with useless strcpy() calls; remove them.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Tested-by: Abhilash Koyamangalath <abhilash.kv@ti.com>
d.c
1f1b0353aa3ba5dfc35641452484ea4158ee3c9c 14-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP3: id: remove identification codes that only correspond to marketing names

The OMAP3505/AM3505 appears to be based on the same silicon as the
OMAP3517/AM3517, with some features disabled via eFuse bits. Follow
the same practice as OMAP3430 and identify these devices internally as
part of the OMAP3517/AM3517 family.

The OMAP3503/3515/3525/3530 chips appear to be based on the same silicon
as the OMAP3430, with some features disabled via eFuse bits. Identify
these devices internally as part of the OMAP3430 family.

Remove the old OMAP35XX_CLASS, which actually covered two very different
chip families. The OMAP3503/3515/3525/3530 chips will now be covered by
OMAP343X_CLASS, since the silicon appears to be identical. For the
OMAP3517/AM3517 family, create a new class, OMAP3517_CLASS.

Thanks to Tony Lindgren <tony@atomide.com> for some help with the second
revision of this patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Tested-by: Abhilash Koyamangalath <abhilash.kv@ti.com>
lock3xxx_data.c
d.c
b3c3dc22366b15350281b1c273adecd2b91e320f 09-Jul-2011 Felipe Balbi <balbi@ti.com> usb: musb: fix build breakage

This patch fixes the compilation brekage which
commits 208466dc ("usb: otg:OMAP4430: Powerdown
the internal PHY when USB is disabled") and
fb91cde4 ("usb: musb: OMAP4430: Power down
the PHY during board init") introduced when
building a OMAP2-only kernel.

LD .tmp_vmlinux1
arch/arm/mach-omap2/built-in.o:(.data+0x7ce0): undefined reference to
+`omap4430_phy_init'
arch/arm/mach-omap2/built-in.o:(.data+0x7ce4): undefined reference to
+`omap4430_phy_exit'
arch/arm/mach-omap2/built-in.o:(.data+0x7ce8): undefined reference to
+`omap4430_phy_power'
arch/arm/mach-omap2/built-in.o:(.data+0x7cec): undefined reference to
+`omap4430_phy_set_clk'
arch/arm/mach-omap2/built-in.o:(.data+0x7cf0): undefined reference to
+`omap4430_phy_suspend'
make: *** [.tmp_vmlinux1] Error 1

Reported-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
akefile
876355014ce3a7ba8ca299522b215365b4a3fb61 05-Sep-2011 Paul Walmsley <paul@pwsan.com> Merge branches 'non_hwmod_compliant_fix_3.1rc', 'omap3_clock_fixes_3.1rc', 'omap4_clock_fixes_3.1rc', 'missing_2430_musb_adds_terminator_fix_3.1rc' and 'pwrdm_clkdm_fixes_3.1rc' into prcm-fixes-a-3.1rc
10167873a415ba642aa2eee0c310ebd5a4633573 05-Sep-2011 Paul Walmsley <paul@pwsan.com> OMAP2430: hwmod: musb: add missing terminator to omap2430_usbhsotg_addrs[]

Add a missing array terminator to omap2430_usbhsotg_addrs[]. Without
this terminator, the omap_hwmod resource building code runs off the
end of the array, resulting in at least this error -- if not worse
behavior:

[ 0.578002] musb-omap2430: failed to claim resource 4
[ 0.583465] omap_device: musb-omap2430: build failed (-16)
[ 0.589294] Could not build omap_device for musb-omap2430 usb_otg_hs

This should have been part of commit
78183f3fdf76f422431a81852468be01b36db325 ("omap_hwmod: use a null
structure record to terminate omap_hwmod_addr_space arrays") but was
evidently missed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2430_data.c
e9a5190aa30d9d9eeead10a978609f46869bfe50 30-Aug-2011 Johan Hovold <jhovold@gmail.com> OMAP2+: PM: clean up error messages: replace printk with pr_err.

Also, clean up error messages by adding missing whitespace, fixing
capitalisations, removing double newlines, and reducing verbosity.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
[khilman@ti.com: minor changelog/subject edits]
Signed-off-by: Kevin Hilman <khilman@ti.com>
m.c
1e2d2df32b6902376bc79faf99f264273be056ce 30-Aug-2011 Johan Hovold <jhovold@gmail.com> OMAP2+: PM: fix typos in misc. comment and error messages

Fix misc. typos in various comment and error message.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
[khilman@ti.com: minor changelog/subject edits]
Signed-off-by: Kevin Hilman <khilman@ti.com>
m.c
12234f39a2067887802e799fd45c3c41dd26e187 08-Aug-2011 Michael Jones <michael.jones@matrix-vision.de> OMAP2: PM debug: remove leftover debug code

commit 20d5d5514981f9a68832bffb27a698545ecba77a (OMAP2: PM debug:
remove register dumping) left some code lying around which doesn't
do anything. Clean it up.

Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m24xx.c
6c32df437c7c5b1fc29d3ca29b0ff44f8dfafc56 17-Aug-2011 Ohad Ben-Cohen <ohad@wizery.com> omap: iommu: omapify 'struct iommu' and exposed API

Prepend 'omap_' to OMAP's 'struct iommu' and exposed API, to prevent
namespace pollution and generally to improve readability of the code
that still uses the driver directly.

Update the users as needed as well.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
ommu2.c
8f5b5a41ebc750ffcc2c410371b2b4998955709e 23-Aug-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP: Introduce SoC specific early_init

Introduce them for each omap variant and just make them all call
omap2_init_common_infrastructure for now. Do this for each board-*.c
file except for board-generic and board-omap3beagle as they use
the same machine ID for multiple SoCs.

No functional changes.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51.c
oard-ti8168evm.c
oard-zoom.c
o.c
a4ca9dbe44a167d63545c7ac2b5a36d7b0b415b6 23-Aug-2011 Tony Lindgren <tony@atomide.com> ARM: OMAP: Move omap2_init_common_devices out of init_early

There's no need to call omap2_init_common_devices from init_early.

It no longer does anything else except reprogram the memory timings
for some boards, so it's better to do it later so we have a chance
to get console messages if something goes wrong.

Move it to happen after omap_serial_init gets called. And while
patching it anyways, rename it to omap_sdrc_init as suggested by
Benoit Cousson <b-cousson@ti.com>.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51.c
oard-ti8168evm.c
oard-zoom.c
o.c
ad30a2bbdc20cf0111156e2aa6d2cc3e3c0d1893 23-Aug-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'atag_offset' of git://git.linaro.org/people/nico/linux into devel-stable
f41caddbe73f52a42f529d668ce47b4d693fd2c0 23-Aug-2011 Tony Lindgren <tony@atomide.com> omap2+: Use Kconfig symbol in Makefile instead of obj-y

As noted by Grant Likely <grant.likely@secretlab.ca>, omap2+ Makefile unnecessarily
repeats entries for common device init code instead of using Kconfig symbol.

Remove references to hsmmc.o and board-flash.o. Also omap_phy_internal.o
references can be removed once it has some Kconfig symbol to use.

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
e21757a05730f03f18fbfc528a919e0205aa6a61 23-Aug-2011 Paul Walmsley <paul@pwsan.com> OMAP3: clock: indicate that gpt12_fck and wdt1_fck are in the WKUP clockdomain

The oscillator that supplies GPT12_FCLK and WDT1_FCLK exists in the
WKUP powerdomain[1]. This resolves at least one boot-time warning:

omap_hwmod: gpt12_fck: missing clockdomain for gpt12_fck.

1. _OMAP34xx Multimedia High Security (HS) Device Silicon Revision 3.1.x
Security Addendum Version K (SWPU119K)_ Figure 3-29. August 2010.
lock3xxx_data.c
009426a0ebd0fc4a230ab2c2295dbc8f7ba7e8dd 03-Aug-2011 Jon Medhurst <tixy@yxit.co.uk> ARM: omap: Setup consistent dma size at boot time

Signed-off-by: Jon Medhurst <tixy@yxit.co.uk>
CC: Tony Lindgren <tony@atomide.com>
o.c
5e52b435b7bf0a884c8c4ad938180da6561ed5c0 06-Jul-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: mach-omap2: convert boot_params to atag_offset

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51.c
oard-ti8168evm.c
oard-zoom.c
450a37d2eca6ddf6ea8186f57a7531318df6e796 21-Aug-2011 Paul Walmsley <paul@pwsan.com> OMAP4: clock: fix compile warning

Fix the following compile warning:

arch/arm/mach-omap2/clock44xx_data.c: In function 'omap4xxx_clk_init':
arch/arm/mach-omap2/clock44xx_data.c:3371:6: warning: 'cpu_clkflg' may be used uninitialized in this function

The approach taken here is intended to work if omap4xxx_clk_init() is
converted into an initcall.

Thanks to Bjarne Steinsbo <bsteinsbo@gmail.com> for proposing another
approach.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Bjarne Steinsbo <bsteinsbo@gmail.com>
lock44xx_data.c
9c5f560173a466582d91bb06f4e3d2bafb0fee5c 20-Aug-2011 Paul Walmsley <paul@pwsan.com> OMAP4: clock: re-enable previous clockdomain enable/disable sequence

After commit 665d001338b494d6d62810aa99b4c0fa1a0884b9 ("OMAP2+: hwmod:
Follow the recommended PRCM module enable sequence"), device drivers
for OMAP IP blocks that do not use runtime PM can cause oopses or
kernel instability[1][2].

This is because those non-runtime PM drivers do not use the hwmod
code, which implements the correct IP block enable and disable
sequence.

Several options for dealing with this problem have been proposed:

1. Add a new field to the OMAP struct clk to mark clocks that are
currently used by non-runtime PM drivers. Modify the clock code to
use the old clockdomain sequence for these marked clocks. As
drivers are converted to use runtime PM, remove the annotation from
the clocks.

2. Similar to #1, but associate the flag with the struct omap_clk
instead.

3. Add IDLEST wait support to the OMAP4 clock code, similar to the way
it is implemented for OMAP2/3, and enable it in each struct clk
currently used by non-runtime PM drivers. As drivers are converted
to use runtime PM, remove the annotation from the clocks.

4. Do nothing; leave the problem to those responsible for the
unconverted drivers.

5. Re-enable clock-based clockdomain control in the OMAP4 clock code.
This would revert back to the behavior of Linux 3.0, simply with a
slightly longer module enable/disable latency.

Unfortunately, no approach seemed particularly good. Options 1
through 3 seemed unwise due to the following reasons:

A. The OMAP struct clks are intended primarily to describe hardware
clock nodes, and the intention is that no driver-specific data
should be stored there (applies to #1)

B. The resulting patch would have been quite large for the -rc series
(applies to #1, #2, #3)

C. The patch would have been a new, yet temporary hack; and similar fixes
have drawn negative comments in the recent past (see for example [3])

Option 4 is undesirable because commit
665d001338b494d6d62810aa99b4c0fa1a0884b9 ("OMAP2+: hwmod: Follow the
recommended PRCM module enable sequence") has resulted in a less
stable kernel; and kernel stability is more important than OMAP4 power
management.

Option 5 is the approach taken in this patch. This seemed to be the
least intrusive approach for 3.1-rc.

The approach in this patch was originally proposed by Ohad Ben-Cohen
<ohad@wizery.com>. I'm simply writing the commit message and passing
it along.

...

Thanks to Luciano Coelho <coelho@ti.com> for reporting the problem.
Thanks to Ohad Ben-Cohen <ohad@wizery.com> for tracking the problem
down, generating a temporary workaround, and proposing a patch to deal
with the problem. Thanks to Rajendra Nayak <rnayak@ti.com> for
proposing another patch to deal with the problem. Thanks to Felipe
Balbi <balbi@ti.com> for comments.

1. Coelho, Luciano <coelho@ti.com>. _Re: Oops on ehci_hcd when
booting 3.0.0-rc2 on panda_. Tue, 09 Aug 2011 14:26:08 +0300.
Posted to the <linux-omap@vger.kernel.org> mailing list. Available
from (among others)
http://www.spinics.net/linux/lists/linux-omap/msg55213.html

2. Munegowda, Keshava <keshava_mgowda@ti.com>. _Re: Oops on ehci_hcd
when booting 3.0.0-rc2 on panda_. Thu, 11 Aug 2011 13:51:05 +0530.
Posted to the <linux-omap@vger.kernel.org> mailing list. Available
from (among others)
http://www.spinics.net/linux/lists/linux-omap/msg55371.html

3. King, Russell <linux@arm.linux.org.uk>. _Re: [PATCH 5/8] OMAP4:
PM: TEMP: Prevent l3init from idling/force sleep_. Thu, 23 Jun
2011 16:22:49 +0100. Posted to the <linux-omap@vger.kernel.org>
mailing list. Available from (among others)
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg51392.html

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Luciano Coelho <coelho@ti.com>
Cc: Ohad Ben-Cohen <ohad@wizery.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
lock44xx_data.c
b1cbdb00da2ac00eb67fe277e563ff1f5093b4ba 20-Aug-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP: clockdomain: Wait for powerdomain to be ON when using clockdomain force wakeup

While using clockdomain force wakeup method, not waiting for powerdomain
to be effectively ON may end up locking the clockdomain FSM until a
next wakeup event occurs.

One such issue was seen on OMAP4430, where L4_PER was periodically
getting stuck in in-transition state when transitioning from from OSWR to ON.

This issue was reported and investigated by Patrick Titiano <p-titiano@ti.com>

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reported-by: Patrick Titiano <p-titiano@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
[paul@pwsan.com: updated to apply; added transition wait on clkdm_deny_idle();
remove two superfluous pwrdm_wait_transition() calls]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
m.c
c956b753e706f24d18a026f8efa4df3b1919fcc9 20-Aug-2011 Rajendra Nayak <rnayak@ti.com> OMAP: powerdomains: Make all powerdomain target states as ON at init

Program all powerdomain target state as ON; this is to prevent domains
from hitting low power states (if bootloader has target states set to
something other than ON) and potentially even losing context while PM
is not fully initialized, which can cause the system to crash. The PM
late init code can then program the desired target state for all the
power domains.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[paul@pwsan.com: dropped comment typo hunk; fixed comment indent and moved
to kerneldoc; moved code to pwrdm_init(); changed pwrdm_init() argument name
to prevent clash; cleaned up patch description]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
e9d0b97eef235eccc3df9ddb9895b35c53a8aaa2 10-Aug-2011 Hemant Pedanekar <hemantp@ti.com> omap: timer: Set dmtimer used as clocksource in autoreload mode

If CONFIG_OMAP_32K_TIMER is not selected and dmtimer is used as clocksource, the
timer stops counting once overflow occurs as it was not set in autoreload mode.
This results into timekeeping failure: for example, 'sleep 1' at the shell after
the timer counter overflow would hang.

This patch sets up autoreload when starting the clocksource timer which fixes
the above issue.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer.c
133e6b55b1e8cf48418b4aa44aa7441d4cce86a0 09-Aug-2011 Johan Hovold <jhovold@gmail.com> OMAP3: am3517crane: remove NULL board_mux from board file

Since 7203f8a48bb63015ebe58a6f2a38aec1cb208b9d (arm: mach-omap2: remove
NULL board_mux from board files) NULL board_mux is defined in mux.h.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517crane.c
dccb3b0eb6924b54a8f30672979fdc28e164d997 06-Aug-2011 Thomas Meyer <thomas@m3y3r.de> arm: mach-omap2: mux: use kstrdup()

Use kstrdup rather than duplicating its implementation

The semantic patch that makes this output is available
in scripts/coccinelle/api/kstrdup.cocci.

More information about semantic patching is available at
http://coccinelle.lip6.fr/

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
58cf5e7fd5554735901dc855f5d4c16c59331dd5 10-Aug-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.1/pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into fixes
c9a48c2aac235f7a7e31fb7214a33afcd0da26b7 10-Aug-2011 Paul Walmsley <paul@pwsan.com> OMAP: hwmod: fix build break on non-OMAP4 multi-OMAP2 builds

Builds for multi-OMAP2 (e.g., OMAP2420 with OMAP2430) with
CONFIG_ARCH_OMAP4=n fail with the following errors:

arch/arm/mach-omap2/built-in.o: In function `_enable_module':
arch/arm/mach-omap2/omap_hwmod.c:701: undefined reference to `omap4_cminst_module_enable'
arch/arm/mach-omap2/built-in.o: In function `_disable_module':
arch/arm/mach-omap2/omap_hwmod.c:726: undefined reference to `omap4_cminst_module_disable'
arch/arm/mach-omap2/built-in.o: In function `_wait_target_disable':
arch/arm/mach-omap2/omap_hwmod.c:1179: undefined reference to `omap4_cminst_wait_module_idle'

This is probably due to the preprocessor directives in
arch/arm/plat-omap/include/plat/cpu.h that convert some cpu_is_omap*()
expressions from preprocessor directives into something that is only
resolvable during runtime, if multiple OMAP2 build targets are
selected.

Thanks to Tony Lindgren <tony@atomide.com> for reporting.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
minst44xx.h
d12d1fcafa8115602a8ce0c4a9256c7d3abdb5e1 09-Aug-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP: Fix linking error in twl-common.c for OMAP2/3/4 only builds

Commit b22f954 (OMAP4: Move common twl6030 configuration to twl-common)
caused compile failures for code for OMAP arch which is not selected by
the config.

Fixes issues like:
With CONFIG_ARCH_OMAP3=y and CONFIG_ARCH_OMAP4=n, I'm getting this:

arch/arm/mach-omap2/built-in.o:(.data+0xf99c): undefined reference to `omap4430_phy_init'
arch/arm/mach-omap2/built-in.o:(.data+0xf9a0): undefined reference to `omap4430_phy_exit'
arch/arm/mach-omap2/built-in.o:(.data+0xf9a4): undefined reference to `omap4430_phy_power'
arch/arm/mach-omap2/built-in.o:(.data+0xf9a8): undefined reference to `omap4430_phy_set_clk'
arch/arm/mach-omap2/built-in.o:(.data+0xf9ac): undefined reference to `omap4430_phy_suspend'

Fix the problem by moving the code to ifdef sections for omap3 and omap4.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
wl-common.c
2f8163baada3dbd0ce891c35bc59ae46e773487a 26-Jul-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: gpio: convert includes of mach/gpio.h and asm/gpio.h to linux/gpio.h

Convert arch/arm includes of mach/gpio.h and asm/gpio.h to linux/gpio.h
before we start consolidating the individual platform implementations
of the gpio header files.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-generic.c
oard-h4.c
oard-ldp.c
evices.c
98333b3dda1e490b02304a6a6643c294d4e520c3 22-Jul-2011 Colin Cross <ccross@google.com> OMAP2+: PM: SmartReflex: use put_sync_suspend for IRQ-safe disabling

omap_sr_disable_reset_volt is called with irqs off in omapx_enter_sleep,
as part of idle sequence, this eventually calls sr_disable and
pm_runtime_put_sync. pm_runtime_put_sync calls rpm_idle, which will
enable interrupts in order to call the callback. In this short interval
when interrupts are enabled, scenarios such as the following can occur:
while interrupts are enabled, the timer interrupt that is supposed to
wake the device out of idle occurs and is acked, so when the CPU finally
goes to off, the timer is already gone, missing a wakeup event.

Further, as the documentation for runtime states:"
However, subsystems can use the pm_runtime_irq_safe() helper function
to tell the PM core that a device's ->runtime_suspend() and ->runtime_resume()
callbacks should be invoked in atomic context with interrupts disabled
(->runtime_idle() is still invoked the default way)."

Hence, replace pm_runtime_put_sync with pm_runtime_put_sync_suspend
to invoke the suspend handler and shut off the fclk for SmartReflex
module instead of using the idle handler in interrupt disabled context.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Colin Cross <ccross@google.com>
[khilman@ti.com: minor Subject edits]
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
8c7f65943dfb93c2583f935f20ec39e8559d93d3 21-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP3: beagle: don't touch omap_device internals

Board code should not touch omap_device internals. To get the MPU/IVA devices,
use existing APIs: omap2_get_mpu_device(), omap2_get_iva_device().

Signed-off-by: Kevin Hilman <khilman@ti.com>
oard-omap3beagle.c
e13d8f383985b7ab8c859c1fa327e9b3d201894e 09-Jul-2011 Nishanth Menon <nm@ti.com> OMAP3+: SR: ensure pm-runtime callbacks can be invoked with IRQs disabled

SmartReflex should be disabled while entering low power mode due to
a) SmartReflex values are not defined for retention voltage, further
b) with SmartReflex enabled, if CPU enters lower c-states, FSM will try
to bump the voltage to current OPP's voltage for which it has entered c-state;
hence SmartReflex needs to be disabled for MPU, CORE and IVA voltage
domains in idle path before enabling auto retention voltage achievement
on the device.

However, since the current pm_runtime setup for SmartReflex devices are
setup to allow callbacks to be invoked with interrupts enabled, calling
SmartReflex enable/disable from other contexts such as idle paths
where preemption is disabled causes warnings such as the following
indicating of a potential race.
[ 82.023895] [<c04d079c>] (__irq_svc+0x3c/0x120) from [<c04d0484>] (_raw_spin_unlock_irq+0x28/0x2c)
[ 82.023895] [<c04d0484>] (_raw_spin_unlock_irq+0x28/0x2c) from [<c0323234>] (rpm_callback+0x4c/0x68)
[ 82.023956] [<c0323234>] (rpm_callback+0x4c/0x68) from [<c0323f7c>] (rpm_resume+0x338/0x53c)
[ 82.023956] [<c0323f7c>] (rpm_resume+0x338/0x53c) from [<c03243f4>] (__pm_runtime_resume+0x48/0x60)
[ 82.023986] [<c03243f4>] (__pm_runtime_resume+0x48/0x60) from [<c008aee0>] (sr_enable+0xa8/0x19c)
[ 82.023986] [<c008aee0>] (sr_enable+0xa8/0x19c) from [<c008b2fc>] (omap_sr_enable+0x50/0x90)
[ 82.024017] [<c008b2fc>] (omap_sr_enable+0x50/0x90) from [<c00888c0>] (omap4_enter_sleep+0x138/0x168)

Instead, we use pm_runtime_irq_safe to tell the PM core that callbacks can be
invoked in interrupt disabled contexts.

Acked-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
[khilman@ti.com: minor changelog edits]
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
44e51b29228cdd30bb8f54a42eb34ea0674d5f96 12-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP2+: Kconfig: don't select PM in OMAP2PLUS_TYPICAL

CONFIG_PM is no longer a user-selectable Kconfig option. Rather it is
automatically enabled if either CONFIG_SUSPEND or CONFIG_RUNTIME_PM is
enabled, so having a 'select PM' here is redunant when 'select
CONFIG_PM_RUNTIME' is present.

Signed-off-by: Kevin Hilman <khilman@ti.com>
config
965e32b18d6b6bbcb79f4a7308fc8bdb4d03e813 01-Aug-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-3.1-rc1' of git://gitorious.org/linux-omap-dss2/linux

* 'for-3.1-rc1' of git://gitorious.org/linux-omap-dss2/linux: (31 commits)
OMAP: DSS2: HDMI: fix hdmi clock name
HACK: OMAP: DSS2: clk hack for OMAP2/3
OMAP: DSS2: DSS: Fix context save/restore
OMAP: DSS2: DISPC: Fix context save/restore
OMAP: DSS2: Remove ctx loss count from dss.c
OMAP: DSS2: Remove unused code from display.c
OMAP: DSS2: DISPC: remove finegrained clk enables/disables
OMAP: DSS2: Remove unused opt_clock_available
OMAP: DSS2: Use PM runtime & HWMOD support
OMAP: DSS2: Remove CONFIG_OMAP2_DSS_SLEEP_BEFORE_RESET
OMAP: DSS2: Remove core_dump_clocks
OMAP: DSS2: DPI: remove unneeded SYSCK enable/disable
OMAP: DSS2: Use omap_pm_get_dev_context_loss_count to get ctx loss count
OMAP: DSS2: rewrite use of context_loss_count
OMAP: DSS2: Remove clk optimization at dss init
OMAP: DSS2: Fix init and unit sequence
OMAP: DSS2: Clean up probe for DSS & DSI
OMAP: DSS2: Handle dpll4_m4_ck in dss_get/put_clocks
OMAP: DSS2: Fix FIFO threshold and burst size for OMAP4
OMAP: DSS2: DSI: sync when disabling a display
...
664a41b8a91bf78a01a751e15175e0008977685a 30-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (430 commits)
[media] ir-mce_kbd-decoder: include module.h for its facilities
[media] ov5642: include module.h for its facilities
[media] em28xx: Fix DVB-C maxsize for em2884
[media] tda18271c2dd: Fix saw filter configuration for DVB-C @6MHz
[media] v4l: mt9v032: Fix Bayer pattern
[media] V4L: mt9m111: rewrite set_pixfmt
[media] V4L: mt9m111: fix missing return value check mt9m111_reg_clear
[media] V4L: initial driver for ov5642 CMOS sensor
[media] V4L: sh_mobile_ceu_camera: fix Oops when USERPTR mapping fails
[media] V4L: soc-camera: remove soc-camera bus and devices on it
[media] V4L: soc-camera: un-export the soc-camera bus
[media] V4L: sh_mobile_csi2: switch away from using the soc-camera bus notifier
[media] V4L: add media bus configuration subdev operations
[media] V4L: soc-camera: group struct field initialisations together
[media] V4L: soc-camera: remove now unused soc-camera specific PM hooks
[media] V4L: pxa-camera: switch to using standard PM hooks
[media] NetUP Dual DVB-T/C CI RF: force card hardware revision by module param
[media] Don't OOPS if videobuf_dvb_get_frontend return NULL
[media] NetUP Dual DVB-T/C CI RF: load firmware according card revision
[media] omap3isp: Support configurable HS/VS polarities
...

Fix up conflicts:
- arch/arm/mach-omap2/board-rx51-peripherals.c:
cleanup regulator supply definitions in mach-omap2
vs
OMAP3: RX-51: define vdds_csib regulator supply
- drivers/staging/tm6000/tm6000-alsa.c (trivial)
75ccf268d504070b70b6d964b06e2f0626856b5a 03-May-2011 Kalle Jokiniemi <kalle.jokiniemi@nokia.com> [media] OMAP3: RX-51: define vdds_csib regulator supply

The RX-51 uses the CSIb IO complex for camera operation. The
board file is missing definition for the regulator supplying
the CSIb complex, so this is added for better power
management.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
oard-rx51-peripherals.c
b0189cd087aa82bd23277cb5c8960ab030e13e5c 27-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/devel2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc

* 'next/devel2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (47 commits)
OMAP: Add debugfs node to show the summary of all clocks
OMAP2+: hwmod: Follow the recommended PRCM module enable sequence
OMAP2+: clock: allow per-SoC clock init code to prevent clockdomain calls from clock code
OMAP2+: clockdomain: Add per clkdm lock to prevent concurrent state programming
OMAP2+: PM: idle clkdms only if already in idle
OMAP2+: clockdomain: add clkdm_in_hwsup()
OMAP2+: clockdomain: Add 2 APIs to control clockdomain from hwmod framework
OMAP: clockdomain: Remove redundant call to pwrdm_wait_transition()
OMAP4: hwmod: Introduce the module control in hwmod control
OMAP4: cm: Add two new APIs for modulemode control
OMAP4: hwmod data: Add modulemode entry in omap_hwmod structure
OMAP4: hwmod data: Add PRM context register offset
OMAP4: prm: Remove deprecated functions
OMAP4: prm: Replace warm reset API with the offset based version
OMAP4: hwmod: Replace RSTCTRL absolute address with offset macros
OMAP: hwmod: Wait the idle status to be disabled
OMAP4: hwmod: Replace CLKCTRL absolute address with offset macros
OMAP2+: hwmod: Init clkdm field at boot time
OMAP4: hwmod data: Add clock domain attribute
OMAP4: clock data: Add missing divider selection for auxclks
...
2d86a3f04e345b03d5e429bfe14985ce26bff4dc 27-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/board' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc

* 'next/board' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:
ARM: S3C64XX: Configure backup battery charger on Cragganmore
ARM: S3C64XX: Fix WM8915 IRQ polarity on Cragganmore
ARM: S3C64XX: Configure supplies for all Cragganmore regulators
ARM: S3C64XX: Refresh Cragganmore support
ARM: S3C64XX: Initial support for Wolfson/Simtec Cragganmore/Banff
OMAP4: Keyboard: Mux changes in the board file
omap: blaze: add mmc5/wl1283 device support
omap: 4430SDP: Register the card detect GPIO properly
arm: omap3: cm-t35: add support for cm-t3730
OMAP3: beagle: add support for beagleboard xM revision C
OMAP3: rx-51: Add full regulator definitions
omap: rx51: Platform support for lp5523 led chip
3960ef326a1838971466193ffa008ff37c1d978d 27-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc

* 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:
ARM: Consolidate the clkdev header files
ARM: set vga memory base at run-time
ARM: convert PCI defines to variables
ARM: pci: make pcibios_assign_all_busses use pci_has_flag
ARM: remove unnecessary mach/hardware.h includes
pci: move microblaze and powerpc pci flag functions into asm-generic
powerpc: rename ppc_pci_*_flags to pci_*_flags

Fix up conflicts in arch/microblaze/include/asm/pci-bridge.h
62c9072bee2272232d0ed92dc8148c48c1f10f8e 27-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc

* 'next/fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (24 commits)
ASoC: omap: McBSP: fix build breakage on OMAP1
OMAP: hwmod: fix the i2c-reset timeout during bootup
I2C: OMAP2+: add correct functionality flags to all omap2plus i2c dev_attr
I2C: OMAP2+: Tag all OMAP2+ hwmod defintions with I2C IP revision
I2C: OMAP1/OMAP2+: create omap I2C functionality flags for each cpu_... test
I2C: OMAP2+: Introduce I2C IP versioning constants
I2C: OMAP2+: increase omap_i2c_dev_attr flags from u8 to u32
I2C: OMAP2+: Set hwmod flags to only allow 16-bit accesses to i2c
OMAP4: hwmod data: Change DSS main_clk scheme
OMAP4: powerdomain data: Remove unsupported MPU powerdomain state
OMAP4: clock data: Keep GPMC clocks always enabled and hardware managed
OMAP4: powerdomain data: Fix core mem states and missing cefuse flag
OMAP2+: PM: Initialise sleep_switch to a non-valid value
OMAP4: hwmod data: Modify DSS opt clocks
OMAP4: iommu: fix clock name
omap: iovmm: s/sg_dma_len(sg)/sg->length/
omap: iommu: fix pte programming
arm: omap3: cm-t35: fix slow path warning
arm: omap3: cm-t35: minor comments fixes
omap: ZOOM: QUART: Request reset GPIO
...
4b30b6f23a1a59cda29cc12566eb4f32a22a8069 27-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc

* 'next/soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:
MAINTAINERS: add maintainer of CSR SiRFprimaII machine
ARM: CSR: initializing L2 cache
ARM: CSR: mapping early DEBUG_LL uart
ARM: CSR: Adding CSR SiRFprimaII board support
OMAP4: clocks: Update the clock tree with 4460 clock nodes
OMAP4: PRCM: OMAP4460 specific PRM and CM register bitshifts
OMAP4: ID: add omap_has_feature for max freq supported
OMAP: ID: introduce chip detection for OMAP4460
ARM: Xilinx: merge board file into main platform code
ARM: Xilinx: Adding Xilinx board support

Fix up conflicts in arch/arm/mach-omap2/cm-regbits-44xx.h
f549953c15deab4c54708b39af86d4edecc6cddc 26-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

* 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (115 commits)
EHCI: fix direction handling for interrupt data toggles
USB: serial: add IDs for WinChipHead USB->RS232 adapter
USB: OHCI: fix another regression for NVIDIA controllers
usb: gadget: m66592-udc: add pullup function
usb: gadget: m66592-udc: add function for external controller
usb: gadget: r8a66597-udc: add pullup function
usb: renesas_usbhs: support multi driver
usb: renesas_usbhs: inaccessible pipe is not an error
usb: renesas_usbhs: care buff alignment when dma handler
USB: PL2303: correctly handle baudrates above 115200
usb: r8a66597-hcd: fixup USB_PORT_STAT_C_SUSPEND shift
usb: renesas_usbhs: compile/config are rescued
usb: renesas_usbhs: fixup comment-out
usb: update email address in ohci-sh and r8a66597-hcd
usb: r8a66597-hcd: add function for external controller
EHCI: only power off port if over-current is active
USB: mon: Allow to use usbmon without debugfs
USB: EHCI: go back to using the system clock for QH unlinks
ehci: add pci quirk for Ordissimo and RM Slate 100 too
ehci: refactor pci quirk to use standard dmi_check_system method
...

Fix up trivial conflicts in Documentation/feature-removal-schedule.txt
ae4c42e4e4d76d003f8ca551fe1aef93ff9a4b21 25-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'next/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc

* 'next/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc: (133 commits)
ARM: EXYNOS4: Change devname for FIMD clkdev
ARM: S3C64XX: Cleanup mach/regs-fb.h from mach-s3c64xx
ARM: S5PV210: Cleanup mach/regs-fb.h from mach-s5pv210
ARM: S5PC100: Cleanup mach/regs-fb.h from mach-s5pc100
ARM: S3C24XX: Use generic s3c_set_platdata for devices
ARM: S3C64XX: Use generic s3c_set_platdata for OneNAND
ARM: SAMSUNG: Use generic s3c_set_platdata for NAND
ARM: SAMSUNG: Use generic s3c_set_platdata for USB OHCI
ARM: SAMSUNG: Use generic s3c_set_platdata for HWMON
ARM: SAMSUNG: Use generic s3c_set_platdata for FB
ARM: SAMSUNG: Use generic s3c_set_platdata for TS
ARM: S3C64XX: Add PWM backlight support on SMDK6410
ARM: S5P64X0: Add PWM backlight support on SMDK6450
ARM: S5P64X0: Add PWM backlight support on SMDK6440
ARM: S5PC100: Add PWM backlight support on SMDKC100
ARM: S5PV210: Add PWM backlight support on SMDKV210
ARM: EXYNOS4: Add PWM backlight support on SMDKC210
ARM: EXYNOS4: Add PWM backlight support on SMDKV310
ARM: SAMSUNG: Create a common infrastructure for PWM backlight support
clocksource: convert 32-bit down counting clocksource on S5PV210/S5P64X0
...

Fix up trivial conflict in arch/arm/mach-imx/mach-scb9328.c
6d9f29dd62142a173b54c0a5645fbdfb296f1316 25-May-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: DSS2: Remove unused code from display.c

oh_core variable is no longer used, so it and its initialization can be
removed.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
isplay.c
aea4eb9590c6fa36e1b68b9cf5c3e4ddea402812 27-May-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: DSS2: Remove unused opt_clock_available

opt_clock_available() is no longer needed, so remove it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
isplay.c
700dee78dcf7665ca63122049793a96f05d4b3e3 23-May-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: DSS2: Use omap_pm_get_dev_context_loss_count to get ctx loss count

Initialize get_context_loss_count in the DSS board data to
omap_pm_get_dev_context_loss_count, so that omapdss driver can use it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
isplay.c
aac927c93bb353375c74779491e217427cc4d3a9 23-May-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: DSS2: rewrite use of context_loss_count

The function to get device's context loss count has changed from

omap_pm_get_last_off_on_transaction_id() to
omap_pm_get_dev_context_loss_count()

Change name of the function pointer in omapdss.h accordingly, and use
the term "context loss count" instead of "context id" in the code.

Restructure the context loss count functions to handle errors properly,
and ensure that context is always considered lost if an error happens.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
isplay.c
b6844e8f64920cdee620157252169ba63afb0c89 24-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (237 commits)
ARM: 7004/1: fix traps.h compile warnings
ARM: 6998/2: kernel: use proper memory barriers for bitops
ARM: 6997/1: ep93xx: increase NR_BANKS to 16 for support of 128MB RAM
ARM: Fix build errors caused by adding generic macros
ARM: CPU hotplug: ensure we migrate all IRQs off a downed CPU
ARM: CPU hotplug: pass in proper affinity mask on IRQ migration
ARM: GIC: avoid routing interrupts to offline CPUs
ARM: CPU hotplug: fix abuse of irqdesc->node
ARM: 6981/2: mmci: adjust calculation of f_min
ARM: 7000/1: LPAE: Use long long printk format for displaying the pud
ARM: 6999/1: head, zImage: Always Enter the kernel in ARM state
ARM: btc: avoid invalidating the branch target cache on kernel TLB maintanence
ARM: ARM_DMA_ZONE_SIZE is no more
ARM: mach-shark: move ARM_DMA_ZONE_SIZE to mdesc->dma_zone_size
ARM: mach-sa1100: move ARM_DMA_ZONE_SIZE to mdesc->dma_zone_size
ARM: mach-realview: move from ARM_DMA_ZONE_SIZE to mdesc->dma_zone_size
ARM: mach-pxa: move from ARM_DMA_ZONE_SIZE to mdesc->dma_zone_size
ARM: mach-ixp4xx: move from ARM_DMA_ZONE_SIZE to mdesc->dma_zone_size
ARM: mach-h720x: move from ARM_DMA_ZONE_SIZE to mdesc->dma_zone_size
ARM: mach-davinci: move from ARM_DMA_ZONE_SIZE to mdesc->dma_zone_size
...
431bf99d26157d56689e5de65bd27ce9f077fc3f 23-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (51 commits)
PM: Improve error code of pm_notifier_call_chain()
PM: Add "RTC" to PM trace time stamps to avoid confusion
PM / Suspend: Export suspend_set_ops, suspend_valid_only_mem
PM / Suspend: Add .suspend_again() callback to suspend_ops
PM / OPP: Introduce function to free cpufreq table
ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active
PM / Domains: Take .power_off() error code into account
ARM / shmobile: Use genpd_queue_power_off_work()
ARM / shmobile: Use pm_genpd_poweroff_unused()
PM / Domains: Introduce function to power off all unused PM domains
OMAP: PM: disable idle on suspend for GPIO and UART
OMAP: PM: omap_device: add API to disable idle on suspend
OMAP: PM: omap_device: add system PM methods for PM domain handling
OMAP: PM: omap_device: conditionally use PM domain runtime helpers
PM / Runtime: Add new helper function: pm_runtime_status_suspended()
PM / Domains: Queue up power off work only if it is not pending
PM / Domains: Improve handling of wakeup devices during system suspend
PM / Domains: Do not restore all devices on power off error
PM / Domains: Allow callbacks to execute all runtime PM helpers
PM / Domains: Do not execute device callbacks under locks
...
06f365acef5ca54fd5708a0d853c4a89609536f1 23-Jul-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branches 'btc', 'dma', 'entry', 'fixes', 'linker-layout', 'misc', 'mmci', 'suspend' and 'vfp' into for-next
c7c8518498e82591d7784452f5674c3aeb4d079c 22-Jul-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6

* 'gpio/next' of git://git.secretlab.ca/git/linux-2.6: (61 commits)
gpio/mxc/mxs: fix build error introduced by the irq_gc_ack() renaming
mcp23s08: add i2c support
mcp23s08: isolate spi specific parts
mcp23s08: get rid of setup/teardown callbacks
gpio/tegra: dt: add binding for gpio polarity
mcp23s08: remove unused work queue
gpio/da9052: remove a redundant assignment for gpio->da9052
gpio/mxc: add device tree probe support
ARM: mxc: use ARCH_NR_GPIOS to define gpio number
gpio/mxc: get rid of the uses of cpu_is_mx()
gpio/mxc: add missing initialization of basic_mmio_gpio shadow variables
gpio: Move mpc5200 gpio driver to drivers/gpio
GPIO: DA9052 GPIO module v3
gpio/tegra: Use engineering names in DT compatible property
of/gpio: Add new method for getting gpios under different property names
gpio/dt: Refine GPIO device tree binding
gpio/ml-ioh: fix off-by-one for displaying variable i in dev_err
gpio/pca953x: Deprecate meaningless device-tree bindings
gpio/pca953x: Remove dynamic platform data pointer
gpio/pca953x: Fix IRQ support.
...
5ddac6bc1c4bfcbf645d18668a5033ca257a8ea7 21-Jul-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'next-samsung-board' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/board
ab2a0e0d135490729e384c1826d118f92e88cae8 21-Jul-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'next-samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup
aa3831cf9d29cfeaebd8c2169378b74111364487 18-Jul-2011 Kyungmin Park <kyungmin.park@samsung.com> ARM: Consolidate the clkdev header files

Now most of ARM machines has the alsmot same __clk_get/put() macro

So place it at the arch/arm/include/asm/clkdev.h and remove the reduntant header files

But some machines don't have the same form as above. It can use the machince specific clkdev file by HAVE_MACH_CLKDEV config

Now there are only 3 caese.

1) define the clk structure with clkdev macro => Need to move clk structure to proper header file

arch/arm/mach-versatile/include/mach/clkdev.h
arch/arm/mach-realview/include/mach/clkdev.h
arch/arm/mach-vexpress/include/mach/clkdev.h
arch/arm/mach-integrator/include/mach/clkdev.h

2) export the __clk_get/put function at clock.c

arch/arm/mach-shmobile/include/mach/clkdev.h

3) demuxing the clk source
arch/arm/mach-u300/include/mach/clkdev.h

Acked-by: Viresh Kumar <viresh.kumar@st.com>
Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
nclude/mach/clkdev.h
bc574e190d3fbed37d724e33a16aee326d6f2ac4 17-Jul-2011 Arnd Bergmann <arnd@arndb.de> Merge branches 'omap/prcm' and 'omap/mfd' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc into next/devel-2
7ae033cc0dfce68d8e0c83aca60837cf2bf0d2e6 15-Jul-2011 Rafael J. Wysocki <rjw@sisk.pl> Merge branch 'pm-runtime' into for-linus

* pm-runtime:
OMAP: PM: disable idle on suspend for GPIO and UART
OMAP: PM: omap_device: add API to disable idle on suspend
OMAP: PM: omap_device: add system PM methods for PM domain handling
OMAP: PM: omap_device: conditionally use PM domain runtime helpers
PM / Runtime: Add new helper function: pm_runtime_status_suspended()
PM / Runtime: Consistent utilization of deferred_resume
PM / Runtime: Prevent runtime_resume from racing with probe
PM / Runtime: Replace "run-time" with "runtime" in documentation
PM / Runtime: Improve documentation of enable, disable and barrier
PM: Limit race conditions between runtime PM and system sleep (v2)
PCI / PM: Detect early wakeup in pci_pm_prepare()
PM / Runtime: Return special error code if runtime PM is disabled
PM / Runtime: Update documentation of interactions with system sleep
c8c9fda5069456eb9e0e403c19764b2e257802e1 12-Jul-2011 Kevin Hilman <khilman@ti.com> OMAP: PM: disable idle on suspend for GPIO and UART

Until these drivers are runtime PM converted, their device power
states are managed by calling custom driver hooks late in the
idle/suspend path. Therefore, do not let the suspend/resume core code
automatically idle these devices since they will be managed manually
by the OMAP PM core very late in the idle/suspend path.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
pio.c
erial.c
c2fda22207e2977d0b80eac58a9004b6f8beed6d 11-Jul-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'fixes-part-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into omap/fixes
1ad920556f32a5a127397ca461d1a1faaf22c4e0 10-Jul-2011 Tony Lindgren <tony@atomide.com> Merge branch 'cleanup-part-2' into devel-board

Conflicts:
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-rx51-peripherals.c
db47cccebd74e575963bc80cc5ac926399388a21 10-Jul-2011 Paul Walmsley <paul@pwsan.com> Merge branches 'omap4_clockdomain_hwmod_3.1', 'clock_debugfs_a_3.1', 'omap4_clock_auxclk_3.1' and 'omap_device_a_3.1' into prcm-devel-3.1
665d001338b494d6d62810aa99b4c0fa1a0884b9 10-Jul-2011 Rajendra Nayak <rnayak@ti.com> OMAP2+: hwmod: Follow the recommended PRCM module enable sequence

On OMAP4, the PRCM recommended sequence for enabling
a module after power-on-reset is:
-1- Force clkdm to SW_WKUP
-2- Enabling the clocks
-3- Configure desired module mode to "enable" or "auto"
-4- Wait for the desired module idle status to be FUNC
-5- Program clkdm in HW_AUTO(if supported)

This sequence applies to all older OMAPs' as well,
however since they use autodeps, it makes sure that
no clkdm is in IDLE, and hence not requiring a force
SW_WKUP when a module is being enabled.

OMAP4 does not need to support autodeps, because
of the dyanamic dependency feature, wherein
the HW takes care of waking up a clockdomain from
idle and hence the module, whenever an interconnect
access happens to the given module.

Implementing the sequence for OMAP4 requires
the clockdomain handling that is currently done in
clock framework to be done as part of hwmod framework
since the step -4- above to "Wait for the desired
module idle status to be FUNC" is done as part of
hwmod framework.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[b-cousson@ti.com: Adapt it to the new clkdm hwmod attribute and API]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
[paul@pwsan.com: dropped mach-omap2/clock.c changes; modified to only
call the clockdomain code if oh->clkdm is set; disable clock->clockdomain
interaction on OMAP4]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
map_hwmod.c
12706c542574ea0127a13815efe59ca9ba6d88d7 10-Jul-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: clock: allow per-SoC clock init code to prevent clockdomain calls from clock code

The OMAP2/3 clock code was written to notify the clockdomain code when
the first clock in a clockdomain is enabled and when the last enabled
clock in a clockdomain is disabled. OMAP4 requires a different
approach: the hwmod code needs to signal the clockdomain code when to
force-enable and auto-idle a clockdomain during the IP block enable
process. The current conjecture is that once that hwmod sequence is
implemented, it will no longer be necessary for the clock code to call
into the clockdomain code for "optional clocks" on OMAP4.

Add a static flag to the OMAP2+ clock code, clkdm_control, that by
default preserves the OMAP2/3 behavior. Also add a function,
omap2_clk_disable_clkdm_control(), intended to be called from OMAP4
and beyond clock initcalls, that disables the old behavior.

Part of this patch was originally based on a patch by Rajendra Nayak
<rnayak@ti.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock.c
lock.h
555e74ea08bfc04a0136f976cbaa200addf1ba87 10-Jul-2011 Rajendra Nayak <rnayak@ti.com> OMAP2+: clockdomain: Add per clkdm lock to prevent concurrent state programming

Since the clkdm state programming is now done from within the hwmod
framework (which uses a per-hwmod lock) instead of the being done
from the clock framework (which used a global lock), there is now a
need to have per-clkdm locking to prevent races between different
hwmods/modules belonging to the same clock domain concurrently
programming the clkdm state.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
lockdomain.h
lockdomain2xxx_3xxx.c
lockdomain44xx.c
b86cfb52a145d8ddad66b98c39c6764f3883cd5a 10-Jul-2011 Rajendra Nayak <rnayak@ti.com> OMAP2+: PM: idle clkdms only if already in idle

The omap_set_pwrdm_state function forces clockdomains
to idle, without checking the existing idle state
programmed, instead based solely on the HW capability
of the clockdomain to support idle.
This is wrong and the clockdomains should be idled
post a state_switch *only* if idle transitions on the
clockdomain were already enabled.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m.c
32a363c0f5b44cb4e9adfe238dfc4efa9270f7ae 10-Jul-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: clockdomain: add clkdm_in_hwsup()

Add a new function, clkdm_in_hwsup(), that returns true if a clockdomain
is configured for hardware-supervised idle. It does not actually read the
hardware; rather, it checks an internal flag in the struct clockdomain, which
is changed when the clockdomain is switched in and out of hardware-supervised
idle. This should be safe, since all changes to the idle mode should
pass through the clockdomain code.

Based on a set of patches by Rajendra Nayak <rnayak@ti.com> which do
the same thing by checking the hardware bits. This approach should be
faster and more compact.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Todd Poynor <toddpoynor@google.com>
Cc: Benoît Cousson <b-cousson@ti.com>
lockdomain.c
lockdomain.h
113a74137f5c85f2c7914e78350f70247ef9447c 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP2+: clockdomain: Add 2 APIs to control clockdomain from hwmod framework

Duplicate the existing API for clockdomain enable from clock to enable
a clock domain from hwmod framework.
This will be needed when the hwmod framework will move from the current
clock centric approach to the module based approach.

These APIs are returning 0 for the moment for OMAP2 and OMAP3 until
their hwmods are updated with the clksm attribute.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
lockdomain.h
a5122ff8ceb2b1f207965a3608d3da3af832e513 10-Jul-2011 Vaibhav Bedia <vaibhav.bedia@ti.com> OMAP: clockdomain: Remove redundant call to pwrdm_wait_transition()

The call to pwrdm_wait_transition() in clkdm_clk_enable()
is redundant since the function pwrdm_clkdm_state_switch()
which is called next also does the same thing.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
45c38252d76a96e6e0e05f982ca44096191a8eea 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod: Introduce the module control in hwmod control

Take advantage of the explicit modulemode control to fix
the way parents clocks are managed.
A module must be disabled before any parents are disabled.
That programming model was not possible with the previous
implementation that was considering a modulemode as a leaf
clock node managed by the clock fmwk.
This was leading to bad crash upon disable when the parent
clock was gated before the module completed its transition
to idle.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
288d6a161819ee99b3a6e2972c5b0d9ede22c553 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: cm: Add two new APIs for modulemode control

In OMAP4, a new programming model based on module control instead
of clock control was introduced.
Expose two APIs to allow the upper layer (omap_hwmod) to control
the module mode independently of the parent clocks management.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: renamed 'omap4_cm_' fns to 'omap4_cminst_'; cleaned up
kerneldoc]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
minst44xx.c
minst44xx.h
03fdefe53a3f057760751d958209f0c5507c8e40 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add modulemode entry in omap_hwmod structure

Add a new field to provide the mode supported by the module.
The mode will control the way mandatory clocks are managed by the PRCM.

0 : Module is temporarily disabled by SW. OCP access to module are stalled.
Can be used to change timing parameter of GPMC module.
1 : Module is managed automatically by HW according to clock domain
transition. A clock domain sleep transition put module into idle.
A wakeup domain transition put it back into function.
If CLKTRCTRL=3, any OCP access to module is always granted.
Module clocks may be gated according to the clock domain state.
2 : Module is explicitly enabled. Interface clock (if not used for
functions) may be gated according to the clock domain state.
Functional clocks are guarantied to stay present. As long as
in this configuration, power domain sleep transition cannot happen.

Some modules will have a modulemode initialized at 1 (HWCTRL) by default.
This is the case for interconnect and simple module like GPIO, WDT, MAILBOX.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
27bb00b58e04e5d8442335f694f2a1b6c31b184d 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add PRM context register offset

Add a 'context_offs' entry in the prcm.omap4 structure to all
IPs when applicable.
The offset will be used to retrieve the per module context lost
information now available on OMAP4.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
ad53ebb725b5c8dce529cb8cb172d5e8c9bb7bda 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: prm: Remove deprecated functions

The new prminst_xxx accessors based on partition and offset
is now used, so removed all the previous prcm_xxx accessors.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: remove fn prototypes also]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rm44xx.c
rm44xx.h
e54433f10d67f8e2cf786e8173281f1caeda1959 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: prm: Replace warm reset API with the offset based version

The warm reset function was still using the obsolete API.
Replace it by the new one and move the file to the proper c file.

Change the function names to stick to the file convention as
suggested by Paul Walmsley <paul@pwsan.com>:
prm_xxx -> prminst_xxx

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rcm.c
rm44xx.c
rm44xx.h
rminst44xx.c
rminst44xx.h
eaac329dfa6d3a4025242bf34d33aa3cb9df9f9f 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod: Replace RSTCTRL absolute address with offset macros

The RSTCTRL register was accessed using an absolute address.
The usage of hardcoded macros to calculate virtual address from physical
one should be avoided as much as possible.
The usage of an offset will allow future improvement like migration from
the current architecture code toward a module driver.

Update prm_xxx accessors, move definition to the proper header file and
update copyrights.
Change the s16 register offset parameter to u16.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: use '_prminst_' in function names that are part of the
prminst44xx.c file]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
map_hwmod_44xx_data.c
rm44xx.c
rm44xx.h
rminst44xx.c
rminst44xx.h
11b10341bd12c87a8409c69cdcd7ee898400842f 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Wait the idle status to be disabled

It is mandatory to wait for a module to be in disabled state before
potentially disabling source clock or re-asserting a reset.

omap_hwmod_idle and omap_hwmod_shutdown does not wait for
the module to be fully idle.

Add a cm_xxx accessor to wait the clkctrl idle status to be disabled.
Fix hwmod_[idle|shutdown] to use this API.

Based on Rajendra's initial patch.

Please note that most interconnects hwmod will return one timeout because
it is impossible for them to be in idle since the processor is accessing
the registers though the interconnect.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Todd Poynor <toddpoynor@google.com>
[paul@pwsan.com: move cpu_is_*() tests to the top of _wait_target_disable();
incorporate some feedback from Todd]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
minst44xx.c
minst44xx.h
map_hwmod.c
d0f0631ddc61026dca71b5b679803000d70fde50 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod: Replace CLKCTRL absolute address with offset macros

The CLKCTRL register was accessed using an absolute address.
The usage of hardcoded macros to calculate virtual address from physical
one should be avoided as much as possible.
The usage of a offset will allow future improvement like migration from
the current architecture code toward a module driver.

Update cm_xxx accessor, move definition to the proper header file and
update copyrights.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Todd Poynor <toddpoynor@google.com>
[paul@pwsan.com: renamed 'omap4_cm_' fns to 'omap4_cminst_'; removed empty
fn prototype section from cm44xx.h; incorporated comments from Todd;
documented some functions]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m44xx.h
minst44xx.c
minst44xx.h
map_hwmod.c
map_hwmod_44xx_data.c
6ae769973adf1325115d0dfe3fec17e26cbacd81 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP2+: hwmod: Init clkdm field at boot time

At boot time, lookup the clkdm_name to get the clkdm
structure pointer for further usage.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
a5322c6f3a3b0a81347c57de2f3a86b851b49bcf 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add clock domain attribute

In OMAP PRCM terminology, the clock domain is defined as a group of IPs
that share some clocks and most of the time an interface clock.
Every IP does belong to a clockdomain.
For the moment the clock domain attribute is affected to a clock node.
The issue with that approach, is that a clock might or not belong to a
clock domain. Moreover during module transition, it is up to a module
to handle properly the clock domain state and not to a clock node.

Create a clkdm_name attribute to provide this information per hwmod.

Populate this attribute for every OMAP4 hwmod entries.

Future cleanup series with remove that information from the OMAP4 clock
when it is relevant.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: fix the mpuss_clkdm name]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomains44xx_data.c
map_hwmod_44xx_data.c
ad03f1cb2d44257afa63a2171e84daad931c48cb 10-Jul-2011 Rajendra Nayak <rnayak@ti.com> OMAP4: clock data: Add missing divider selection for auxclks

On OMAP4 the auxclk nodes (part of SCRM) support both
divider as well as parent selection.
Supporting this requires splitting the existing nodes
(which support only parent selection) into two nodes,
one for parent and another for divider selection.
The nodes for parent selection are named auxclk*_src_ck
and the ones for divider selection as auxclk*_ck.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[b-cousson@ti.com: Rebase on top of clock cleanup
and autogen alignement]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
bf1e0776cf5e4ef2622de3a4b63f84175b5b48ab 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP: omap_device: Create clkdev entry for hwmod main_clk

Extend the existing function to create clkdev for every optional
clocks to add a well one "fck" alias for the main_clk of the
omap_hwmod.
It will allow to remove these static clkdev entries from the
clockXXX_data.c file.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Todd Poynor <toddpoynor@google.com>
[paul@pwsan.com: remove all of the "fck" role clkdev aliases from the
clock data files; fixed error message]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
lock44xx_data.c
c84584139aaeef7631df152e13cbf319d8e55950 10-Jul-2011 Paul Walmsley <paul@pwsan.com> Merge branches 'powerdomain_fixes_3.1', 'hardware_workarounds_3.1', 'hwmod_dss_fix_3.1' and 'i2c_fixes_3.1' into prcm-fixes-3.1
6d3c55fd4f0f94a9455d30df9414ddb0f755f402 10-Jul-2011 Avinash.H.M <avinashhm@ti.com> OMAP: hwmod: fix the i2c-reset timeout during bootup

The sequence of _ocp_softreset doesn't work for i2c. The i2c module has a
special sequence to reset the module. The sequence is
- Disable the I2C.
- Write to SOFTRESET bit.
- Enable the I2C.
- Poll on the RESETDONE bit.
The sequence is implemented as a function and the i2c_class is updated with
the correct 'reset' pointer. omap_hwmod_softreset function is implemented
which triggers the softreset by writing into sysconfig register. On following
this sequence, i2c module resets properly and timeouts are not seen.

Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Avinash.H.M <avinashhm@ti.com>
[paul@pwsan.com: combined this patch with a patch to remove
HWMOD_INIT_NO_RESET from the 44xx hwmod flags; change register
offset conditional code to use the IP block revision; minor code
cleanup]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2c.c
map_hwmod.c
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
4d4441a6221ca3a30290045b7b696e5134646449 10-Jul-2011 Andy Green <andy@warmcat.com> 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>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
db791a75299bb6212ec984bdbe4ab581dbc07902 10-Jul-2011 Andy Green <andy@warmcat.com> 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>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
3e6005221138bcfc08f1a35b6f9e43b53330e851 10-Jul-2011 Andy Green <andy@warmcat.com> 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>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
da7cdfac1b0c58d6863532dd3b432c3fbc034978 10-Jul-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP4: hwmod data: Change DSS main_clk scheme

Currently using pm_runtime with DSS requires the DSS driver to enable
the DSS functional clock before calling pm_runtime_get(). That makes it
impossible to use pm_runtime in DSS as it is meant to be used, with
pm_runtime callbacks.

This patch changes the hwmod database for OMAP4 so that enabling the
hwmod via pm_runtime will also enable the DSS functional clock, allowing
us to use pm_runtime properly in DSS driver.

The DSS HWMOD side is not really correct, not before nor after this
patch, and getting DSS to retention will probably not work currently.
However, it is not supported in the mainline kernel anyway, so this
won't break anything.

So this patch allows us to write the pm_runtime adaptation for the DSS
driver the way it should be done, and the HWMOD/PM side can be fixed
later.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
a57341f780660800e1463eaedb80ed152ad6b5de 10-Jul-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: powerdomain data: Remove unsupported MPU powerdomain state

On OMAP4430 devices, because of boot ROM code bug, MPU OFF state can't
be attempted independently. When coming out of MPU OFF state, ROM code
disables the clocks of IVAHD, TESLA which is not desirable. Hence the
MPU OFF state is not usable on OMAP4430 devices.

OMAP4460 onwards, MPU OFF state will be descoped completely because
the DDR firewall falls in MPU power domain. When the MPU hit OFF state,
DDR won't be accessible for other initiators. The deepest state supported
is open switch retention (OSWR) just like CORE and PER PD on OMAP4430.

So in summary MPU power domain OFF state is not supported on OMAP4
and onwards designs. Thanks to new PRCM design, device off mode can
still be achieved with power domains hitting OSWR state.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[b-cousson@ti.com: Fix changelog typos]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomains44xx_data.c
93cac2ad0f9459422d0af79b6937d6e83ed3aec9 10-Jul-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: clock data: Keep GPMC clocks always enabled and hardware managed

On OMAP4, CPU accesses on unmapped addresses are redirected to GPMC by
L3 interconnect. Because of CPU speculative nature, such accesses are
possible which can lead to indirect access to GPMC and if it's clock is
not running, it can result in hang/abort on the platform.

Above makes access to GPMC unpredictable during the execution, so it's
module mode needs to be kept under hardware control instead of software
control.
Since the auto gating is supported for GPMC, there isn't any power impact
because of this change.

The issue was un-covered with security middleware running along with HLOS.
In this case GPMC had a valid MMU descriptor on secure side where as HLOS
didn't map the GMPC because it isn't being used.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[b-cousson@ti.com: Update subject and fix typos in the changelog]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
9a2a3603cf1c57ed21adb045a771405ab27335c1 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: powerdomain data: Fix core mem states and missing cefuse flag

Since ES2.0, the core ocmram does not support a different state
than the main power domain anymore during both ON and RET power
domain state.
Since PM is not supported at all in ES1.0, update the common
structure.

LOWPOWERSTATECHANGE is supported by the cefuse power domain but
the flag was missing.
Add the PWRDM_HAS_LOWPOWERSTATECHANGE in flags field.

Update the TI copyright date to 2011.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
[paul@pwsan.com: moved the indentation changes to a different patch set]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomains44xx_data.c
6349b96b439515e1100cd98f27ff55a262f558a3 10-Jul-2011 Rajendra Nayak <rnayak@ti.com> OMAP2+: PM: Initialise sleep_switch to a non-valid value

sleep_switch which is initialised to 0 in omap_set_pwrdm_state
happens to be a valid sleep_switch type (FORCEWAKEUP_SWITCH)
which are defined as:

#define FORCEWAKEUP_SWITCH 0
#define LOWPOWERSTATE_SWITCH 1

This causes the function to wrongly program some clock domains
even when the Powerdomain is in ON state.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m.c
3a23aafcde66f6327bda0a6423586dfd8d694eb4 10-Jul-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP4: hwmod data: Modify DSS opt clocks

Add missing DSS optional clocks to HWMOD data for OMAP4xxx.

Add HWMOD_CONTROL_OPT_CLKS_IN_RESET flag for dispc to fix dispc reset.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
[b-cousson@ti.com: Remove a comment and update the subject]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
[paul@pwsan.com: removed DSS "fck" role and some clkdev aliases at Tomi's
request]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
map_hwmod_44xx_data.c
c402c0d9dfa8d4fb54dd98fc12525f39d0f29bfe 10-Jul-2011 Paul Walmsley <paul@pwsan.com> Merge branches 'dmtimer_precleanup_3.1', 'hwmod_core_cleanup_a_3.1', 'combine_common_hwmod_3.1', 'omap4_hwmod_data_cleanup_a_3.1', 'clock_cleanup_a_3.1', 'prcm_cleanup_a_3.1', 'omap_pm_cleanup_3.1' and 'omap_device_cleanup_3.1' into prcm-cleanup-3.1
571078aa3485073964b611493eee480b5dc3c084 10-Jul-2011 Jon Hunter <jon-hunter@ti.com> OMAP4: clock data: Remove UNIPRO clock nodes

UNIPRO was removed from OMAP4 devices from ES2.0 onwards.
Since this IP was anyway non-functional and not supported,
it is best to remove it completely.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
[b-cousson@ti.com: Update the changelog]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: split PRCM header file changes into a separate patch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
de474535763c1a5c50cb26f34ec60f10aebc53fe 10-Jul-2011 Jon Hunter <jon-hunter@ti.com> OMAP4: clock data: Remove McASP2, McASP3 and MMC6 clocks

McASP2, 3 and MMC6 modules are not present in the OMAP4 family.
Remove the fclk and the clksel related to these nodes.
Rename the references that were potentially re-used in order nodes.

Remove related macros in prcm header files.

Update TI copyright date.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
[b-cousson@ti.com: Update the patch according to autogen output]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: split PRCM data changes into a separate patch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
3c95b707caf3504b37b11d2662bde77e1618d481 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: clockdomain data: Fix data order and wrong name

MPUSS was renamed MPU and L3_D2D D2D.
The rename will slightly change the order of the structure
and thus generate some structures moves.

Add a comment and remove a comma.

Update Copyright for TI and Nokia and add back Paul
in the author list.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomains44xx_data.c
a3b90ad8d1fb0ddaa6964d83886283ae3e338cea 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: prcm_mpu: Fix indent in few macros

Some maros were not well aligned. Re-align them.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rcm_mpu44xx.h
7b342a8d4c310b5cc153b35ea80aab03ddf2e6da 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: cm: Remove RESTORE macros to avoid access from SW

The restore part of the CM is an alias of some regular registers
used only during the SAR restore to facilate the dma to write
a contiguous set of registers.
The registers should never be used by the SW, only the original
register have to be used.

Remove them from cmX_44xx.h files to avoid anybody to use them by
mistake.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m-regbits-44xx.h
m1_44xx.h
m2_44xx.h
0fef658331354138d422500509d6e006d9f070d6 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: powerdomain data: Fix indentation

Indent flags to be aligned with other fields.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
[paul@pwsan.com: split this patch from an earlier patch by Benoît;
edited commit message]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomains44xx_data.c
631af17cafae308d04d864d6250997cededb3467 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: prm: Remove wrong clockdomain offsets

The following commit introduced new macros to define an offset
per clock domain in an instance.

commit e4156ee52fe617c2c2d80b5db993ff4bf07d7c3c

OMAP4: CM instances: add clockdomain register offsets

The PRM contains only two clock controls management entities:
EMU and WKUP.
Remove the other ones.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rm44xx.h
ad98a18b3ffa15761e6b3b4a944d4ef37f5ec2c5 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: prcm: Fix errors in few defines name

A couple of macros were wrongly changed during the _MOD to _INST
rename done in the following commit:

OMAP4: PRCM: rename _MOD macros to _INST
cdb54c4457d68994da7c2e16907adfbfc130060d

Fix them to their original name.

Some CM and PRM instances were not well aligned. Align them.

Remove one blank line in cm2_44xx.h to align the output with
the other (cm1_44xx.h, prm44xx.h) files.

Update header copyright date.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m1_44xx.h
m2_44xx.h
rm44xx.h
628479a8ea5d32ef26ba0b4eb26f8d6712a574ec 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: clock data: Fix max mult and div for USB DPLL

The DPLL USB can generate higher speed (x2) than the regular ones.
The max multiplication value is then twice the previous value.

Fix both max_mult and max_div with that correct values.

Change the max_div variable type to u16 to allow storing up to 256.

Replace as well the define with the value to avoid
unneeded indirection and provide a better readability.

Remove the defines that become useless.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx.h
lock44xx_data.c
7ecd4228b48192890220e1fd1b39c8bd2988aa80 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: clock data: Re-order some clock nodes and structure fields

A couple of fieds were edited manually and thus do not stick
to the template used by the generator and by other structures.

Move them to the correct location.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
[paul@pwsan.com: dropped the UNIPRO changes since those will be removed
in a later patch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
6629f3c47006dd00db0b87ce02a55a16ecacfbbf 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: clock data: Remove usb_host_fs clkdev with NULL dev

usb_host_fs_fck does have a clkdev mapping with "usbhs-omap.0"
and "fs_fck" alias used by the driver.
The entry with NULL dev is thus not needed anymore.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Felipe Balbi <balbi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
962519e07e44bdeb381fdc7689361a144fe3491c 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: clock data: Add sddiv to USB DPLL

The USB DPLL is a J-Type DPLL with the sddiv extra parameter. Add it
in USB DPLL.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
[paul@pwsan.com: dropped UNIPRO change since it is removed in a later patch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
7e69ed974259b42c4f87a44222415dbb7472898d 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Align interconnect format with regular modules

The interconnect modules were using a slightly different layout than
the regular modules.
Align the layout for better consitency.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
00fe610b7a699780e956756be91ba60343302e49 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Fix bad alignement

Fix .prcm alignement and usb_otg_hs class and hwmod structures.

Add a couple of more potential hwmods in the comment.
Remove hsi, since it is already included in the data.

Remove one blank line.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
7ecc5373fe5788b993820eb0bc0e4b7c282147e2 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Remove un-needed parens

A couple of parens were added around some flags.

Remove them, since they are not needed and not used
for any other hwmods.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
9b4021befe59e53454d2fe0a4d22e269f1e843b1 10-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Fix L3 interconnect data order and alignement

Change the position of the ocp_if structure to match the template.

Remove unneeded comma at the end of address space flag field.

Remove USER_SDMA since this ocp link is only from the l3_main_1
path that is accessible only from the MPU in that case and not
the SDMA.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
273b9465bc68d4f4bcdedc34411b231e26b48416 10-Jul-2011 Paul Walmsley <paul@pwsan.com> omap_hwmod: share identical omap_hwmod_class, omap_hwmod_class_sysconfig arrays

To reduce kernel source file data duplication, share struct
omap_hwmod_class and omap_hwmod_class_sysconfig arrays across OMAP2xxx
and 3xxx hwmod data files.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_2xxx_3xxx_ipblock_data.c
map_hwmod_2xxx_ipblock_data.c
map_hwmod_3xxx_data.c
map_hwmod_common_data.h
d826ebfa49aeb8a8f4d216165e5e00826741ad9c 10-Jul-2011 Paul Walmsley <paul@pwsan.com> omap_hwmod: share identical omap_hwmod_dma_info arrays

To reduce kernel source file data duplication, share struct
omap_hwmod_dma_info arrays across OMAP2xxx and 3xxx hwmod data files.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_2xxx_3xxx_ipblock_data.c
map_hwmod_2xxx_ipblock_data.c
map_hwmod_3xxx_data.c
map_hwmod_common_data.c
map_hwmod_common_data.h
bc6149587b309e3231e5ac7138b84197813e17ec 10-Jul-2011 Paul Walmsley <paul@pwsan.com> omap_hwmod: use a terminator record with omap_hwmod_dma_info arrays

Previously, struct omap_hwmod_dma_info arrays were unterminated; and
users of these arrays used the ARRAY_SIZE() macro to determine the
length of the array. However, ARRAY_SIZE() only works when the array
is in the same scope as the macro user.

So far this hasn't been a problem. However, to reduce duplicated
data, a subsequent patch will move common data to a separate, shared
file. When this is done, ARRAY_SIZE() will no longer be usable.

This patch removes ARRAY_SIZE() usage for struct omap_hwmod_dma_info
arrays and uses a sentinel value (irq == -1) as the array terminator
instead.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
0d619a89998d308c48d06b033eccb7374c456f12 10-Jul-2011 Paul Walmsley <paul@pwsan.com> omap_hwmod: share identical omap_hwmod_mpu_irqs arrays

To reduce kernel source file data duplication, share struct
omap_hwmod_mpu_irqs arrays across OMAP2xxx and 3xxx hwmod data files.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_2xxx_3xxx_ipblock_data.c
map_hwmod_2xxx_ipblock_data.c
map_hwmod_3xxx_data.c
map_hwmod_common_data.h
212738a4499d278254ed6fdb400e3b4be4cb1de2 10-Jul-2011 Paul Walmsley <paul@pwsan.com> omap_hwmod: use a terminator record with omap_hwmod_mpu_irqs arrays

Previously, struct omap_hwmod_mpu_irqs arrays were unterminated; and
users of these arrays used the ARRAY_SIZE() macro to determine the
length of the array. However, ARRAY_SIZE() only works when the array
is in the same scope as the macro user.

So far this hasn't been a problem. However, to reduce duplicated
data, a subsequent patch will move common data to a separate, shared
file. When this is done, ARRAY_SIZE() will no longer be usable.

This patch removes ARRAY_SIZE() usage for struct omap_hwmod_mpu_irqs
arrays and uses a sentinel value (irq == -1) as the array terminator
instead.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
ded11383fc14a7483cf30700ffc253caf37c9933 10-Jul-2011 Paul Walmsley <paul@pwsan.com> omap_hwmod: share identical omap_hwmod_addr_space arrays

To reduce kernel source file data duplication, share struct
omap_hwmod_addr_space arrays across OMAP2xxx and 3xxx hwmod data
files.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_2xxx_3xxx_interconnect_data.c
map_hwmod_2xxx_interconnect_data.c
map_hwmod_3xxx_data.c
map_hwmod_common_data.h
78183f3fdf76f422431a81852468be01b36db325 10-Jul-2011 Paul Walmsley <paul@pwsan.com> omap_hwmod: use a null structure record to terminate omap_hwmod_addr_space arrays

Previously, struct omap_hwmod_addr_space arrays were unterminated; and
users of these arrays used the ARRAY_SIZE() macro to determine the
length of the array. However, ARRAY_SIZE() only works when the array
is in the same scope as the macro user.

So far this hasn't been a problem. However, to reduce duplicated
data, a subsequent patch will move common data to a separate, shared
file. When this is done, ARRAY_SIZE() will no longer be usable.

This patch removes ARRAY_SIZE() usage for struct omap_hwmod_addr_space
arrays and uses a null structure member as the array terminator
instead.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
34617e2a4d331fdd8172077d8c70a0421fc136e6 01-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Move pr_debug to improve the readability

Move the pr_debug at the top of the function
to trace the entry even if the first test is failing.
That help understanding that we entered the function
but failed in it.

Move the _enable last part out of the test to reduce
indentation and improve readability.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
6652271a2556c086c04658dce16de2947e849ffd 01-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Add warnings if enable failed

Change the debug into warning to check what IPs are failing.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
31f62866c578b3d47ef7810b336e9e193b90167f 01-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP2+: hwmod: Fix the HW reset management

The HW reset must be de-assert after the clocks are enabled
but before waiting for the target to be ready. Otherwise the
reset might not work properly since the clock is not running
to proceed the reset.

De-assert the reset after _enable_clocks and before
_wait_target_ready.
Re-assert it only when the clocks are disabled.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
d24bcaa3fa711f7dd9c4aacf3c58083cf666418f 01-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP2+: hwmod: Remove _populate_mpu_rt_base warning

It is perfectly valid for some hwmod to not have any
register target address for sysconfig. This is especially
true for interconnect hwmods.
Remove the warning.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
1fe741139be5acfe3758b53cdbf0b5e3d26db3fe 01-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP2+: hwmod: Do not write the enawakeup bit if SYSC_HAS_ENAWAKEUP is not set

The Type 2 type of IPs will not have any enawakeup bit in their sysconfig.
Writing to that bit will instead trigger a softreset.
Check the flag to write this bit only if the module supports it.

Reported-by: Miguel Vadillo <vadillo@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
6481c73c22613660a5b791d2b4d0faf60508d731 01-Jul-2011 Miguel Vadillo <vadillo@ti.com> OMAP2+: hwmod: Enable module in shutdown to access sysconfig

When calling the shutdown, the module may be already in idle.
Accessing the sysconfig register will then lead to a crash.
In that case, re-enable the module in order to allow the access
to the sysconfig register.

Signed-off-by: Miguel Vadillo <vadillo@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
c614ebf6f73de8e6d0481c4b3b962b649166fee9 01-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add MSTANDBY_SMART_WKUP flag

Add the flag to every IPs that support it to allow the
framework to enable it instead of the SMART_STANDBY default
mode.
Without that, an IP with busmaster capability will not
be able to wakeup the interconnect at all.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
724019b0137acf2ea43e5ca854798851f5ebf51f 01-Jul-2011 Benoit Cousson <b-cousson@ti.com> OMAP2+: hwmod: Fix smart-standby + wakeup support

The commit 86009eb326afde34ffdc5648cd344aa86b8d58d4 was adding
the wakeup support for new OMAP4 IPs. This support is incomplete for
busmaster IPs that need as well to use smart-standby with wakeup.

This new standbymode is suported on HSI and USB_HOST_FS for the moment.

Add the new MSTANDBY_SMART_WKUP flag to mark the IPs that support this
capability.

Enable this new mode when applicable in _enable_wakeup, _disable_wakeup,
_enable_sysc and _idle_sysc.

The omap_hwmod_44xx_data.c will have to be updated to add this new flag.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Djamil Elaidi <d-elaidi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
ecba3287b4121dcf3ca7607fe71c205913edec06 08-Jul-2011 Arnd Bergmann <arnd@arndb.de> Merge branch 'cleanup-part-2' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into omap/cleanup
257d643d7d7cd81075b6dee88cfba14f773805c7 02-Jul-2011 Rajendra Nayak <rnayak@ti.com> OMAP4: clocks: Update the clock tree with 4460 clock nodes

Add the new clock nodes (bandgap_ts_fclk, div_ts_ck) for omap4460.
Handle these nodes using the clock flags (CK_*).

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock44xx_data.c
6b54b4991289762887a572785e296d15adbc1550 02-Jul-2011 Rajendra Nayak <rnayak@ti.com> OMAP4: PRCM: OMAP4460 specific PRM and CM register bitshifts

This patch adds additional register bitshifts for
registers added in OMAP4460 platform.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
[tony@atomide.com: updated to apply on cleanup patches]
Signed-off-by: Tony Lindgren <tony@atomide.com>
m-regbits-44xx.h
rm-regbits-44xx.h
cc0170b2d929b8a31fec3da66a132822a99f550b 02-Jul-2011 Aneesh V <aneesh@ti.com> OMAP4: ID: add omap_has_feature for max freq supported

Macros for identifying the max frequency supported by various
OMAP4 variants - Expanding along the lines of OMAP3's feature
handling.

[nm@ti.com: minor fixes for checks that should only for 443x|446x]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Aneesh V <aneesh@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
fa54dccddc8f4a53c223d53c56c54c61ea7d2623 02-Jul-2011 Aneesh V <aneesh@ti.com> OMAP: ID: introduce chip detection for OMAP4460

Add support for detecting the latest in the OMAP4 family: OMAP4460
Among other changes, the new chip also can support 1.5GHz A9s,
1080p stereoscopic 3D and 12 MP stereo (dual camera). In addition,
we have changes to OPPs supported, clock tree etc, hence having a
chip detection is required.

For more details on OMAP4460, see Highlights:
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?contentId=53243&navigationId=12843&templateId=6123

Public TRM is available here as usual:
http://focus.ti.com/general/docs/wtbu/wtbudocumentcenter.tsp?templateId=6123&navigationId=12667

[nm@ti.com: cleanups and introduction of ramp system]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Aneesh V <aneesh@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
[tony@atomide.com: updated to not use CHIP_IS_OMAP44XX]
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
7fa22bd5460bb2021729fa5a1012c60b9b3a56e2 07-Jul-2011 Stephen Boyd <sboyd@codeaurora.org> ARM: 6993/1: platsmp: Allow secondary cpu hotplug with maxcpus=1

If an ARM system has multiple cpus in the same socket and the
kernel is booted with maxcpus=1, secondary cpus are possible but
not present due to how platform_smp_prepare_cpus() is called.
Since most typical ARM processors don't actually support physical
hotplug, initialize the present map to be equal to the possible
map in generic ARM SMP code. Also, always call
platform_smp_prepare_cpus() as long as max_cpus is non-zero (0
means no SMP) to allow platform code to do any SMP setup.

After applying this patch it's possible to boot an ARM system
with maxcpus=1 on the command line and then hotplug in secondary
cpus via sysfs. This is more in line with how x86 does things.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: David Brown <davidb@codeaurora.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-smp.c
f67df6c670a8fcd3f63728afa2314e7eca653bd7 05-Jul-2011 Shubhrajyoti Datta <shubhrajyoti@ti.com> OMAP4: Keyboard: Mux changes in the board file

The mux settings for keypad are done for omap4430sdp in
board file.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
[tony@atomide.com: improved formatting a bit]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
evices.c
6de8bae86c0459a881cead6735cd6971334cadd3 05-Jul-2011 Vishal Mahaveer <vishalm@ti.com> omap: blaze: add mmc5/wl1283 device support

Add MMC5 support on BLAZE, which has the wl1283 device hardwired to.

The wl1283 is a 4-wire, 1.8V, embedded SDIO WLAN device with an external IRQ line,
and power-controlled by a GPIO-based fixed regulator.

Based on the patch for zoom by Ohad Ben-Cohen <ohad@wizery.com>

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
[tony@atomide.com: improved formatting a bit]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
27a69d709e63efc23df18cc411fa341749de750e 05-Jul-2011 Silesh C V <silesh@ti.com> omap: 4430SDP: Register the card detect GPIO properly

Without this the HSMMC driver takes GPIO 0 to be the card detect gpio
and requests/configures it. This will give rise to issues when another
driver needs to use GPIO 0. On 4430SDP, the card detection is through
TWL 6030.

Signed-off-by: Silesh C V <silesh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
c31469747854a1f1dcfd81a8fb1d9865c3ee58b9 05-Jul-2011 Igor Grinberg <grinberg@compulab.co.il> arm: omap3: cm-t35: add support for cm-t3730

cm-t3730 is basically the same board as cm-t35,
but has AM/DM3730 SoC assembled and therefore some changes are required.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Mike Rapoport <mike@compulab.co.il>
[tony@atomide.com: updated for init_irq cleanup as noted by khilman@ti.com]
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-cm-t35.c
5fe8b4c19dc24e3bb873daf9e96a2439a83bbd79 05-Jul-2011 Joel A Fernandes <joelagnel@ti.com> OMAP3: beagle: add support for beagleboard xM revision C

OMAP3: beagle: add support for beagleboard xM revision C

The USB enable GPIO has been in beagleboard xM revision C.
The USER button has been moved since beagleboard xM.
Also, board specific initialization has been moved to beagle_config struct
and initialized in omap3_beagle_init_rev. Default values in struct are for xMC.

Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Acked-by: Jason Kridner <jkridner@beagleboard.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
094fc5593174e48366804484e2070f178a5317cb 05-Jul-2011 Kalle Jokiniemi <kalle.jokiniemi@nokia.com> 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>
oard-rx51-peripherals.c
eeada9e89ff72cfb66e46d682bb3b8acdc0d95bd 05-Jul-2011 Ameya Palande <ameya.palande@nokia.com> 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>
oard-rx51-peripherals.c
1a4cdecec7d639ba2891195dc3f5917fb70653db 12-Feb-2011 Misael Lopez Cruz <misael.lopez@ti.com> OMAP4: SDP4430: Add twl6040 codec platform support

Configure, and enable the twl6040 codec on SDP4430.

Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
87b25c1bab0489c8a8ff0c59ad3c5d9182d5327e 01-Jun-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP4: SDP4430: Add twl6040 vibrator platform support

Add twl4030_vibra platform data, and the needed regulators
for twl6040 vibrator.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
4ae6df5e1018796ce260be59b2c603bd0f9faa94 31-May-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> MFD: twl4030-audio: Rename platform data

Allign the platform data names for twl4030 audio submodule:
twl4030_audio_data: for the core MFD driver
twl4030_codec_data: for ASoC codec driver
twl4030_vibra_data: for the input/ForceFeedback driver

To avoid breakage, change all depending drivers, files
to use the new types.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
oard-rx51-peripherals.c
oard-zoom-peripherals.c
wl-common.c
b252b0efb605b92a2f5d118e294d088d89cfd286 07-Jun-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP3: Move common regulator configuration to twl-common

Some regulator config can be moved out from board files,
since they are close to identical.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
wl-common.c
wl-common.h
827ed9aef2f13000d58616384ea6a22497e787b6 07-Jun-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP3: Move common twl configuration to twl-common

Reduce the amount of duplicated code by moving the common
configuration for twl4030/5030/tpsxx to the twl-common file.
Use the omap3_pmic_get_config function from board files to
properly configure the PMIC with the common fields.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
oard-rm680.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
wl-common.c
wl-common.h
b22f954bae35be115a10c6426dc070f7d652b32e 07-Jun-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP4: Move common twl6030 configuration to twl-common

Reduce the amount of duplicated code by moving the common
configuration for TWL6030 (on OMAP4 platform) to the
twl-common file.
Use the omap4_pmic_get_config function from board files to
properly configure the PMIC with the common fields.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
oard-omap4panda.c
wl-common.c
wl-common.h
a53b8e3b995f8b7c8a8c4ef5aa367958e46139b3 04-Jun-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> OMAP: New twl-common for common TWL configuration

Introduce a new file, which will be used to configure
common pmic (TWL) devices, regulators, and TWL audio.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
akefile
ommon-board-devices.c
ommon-board-devices.h
wl-common.c
wl-common.h
fdcc205fb9ba006bcd37f72e1b1b904704257351 04-Jul-2011 Tony Lindgren <tony@atomide.com> Merge branch 'iommu-for-tony' of git://github.com/ohadbc/omap-iommu into devel-fixes
fee17d4fdf70050e84fab3eb9d8eeb8d1daad242 15-Jun-2011 Ohad Ben-Cohen <ohad@wizery.com> OMAP4: iommu: fix clock name

0e43327 "OMAP4: clock: Fix clock names and align with hwmod names"
renamed ducati_ick to ipu_fck.

Update OMAP4's iommu_device accordingly, so that omap_iommu_probe
doesn't break when calling clk_get.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
map-iommu.c
7e20b6f39aef541d890eba1fdf493f33b39d29e4 05-May-2011 Suman Anna <s-anna@ti.com> omap: iommu: fix pte programming

Fix the pte programming to set the page attributes correctly
by replacing the bitwise check with an explicit values check.

Otherwise, 16MB entries will be erroneously programmed like
4KB entries, which is not what the hardware expects.

Signed-off-by: Suman Anna <s-anna@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
ommu2.c
be741de16f1148ecf0fcdd1f438945c939e6ea38 04-Jul-2011 Igor Grinberg <grinberg@compulab.co.il> arm: omap3: cm-t35: fix slow path warning

Fix warning issued by gpio_set_value() call with TPS gpios.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
d12c2e2890e20e65fbaa4b6c5ddbaa66fb843308 04-Jul-2011 Igor Grinberg <grinberg@compulab.co.il> arm: omap3: cm-t35: minor comments fixes

Update authors and copyright, remove Free S/W Foundation postal address,
fix offsets of NAND partitions in comments.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
4e9642528cf5d8b5dee5818d796a4535b1748554 04-Jul-2011 Charulatha V <charu@ti.com> omap: 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>
oard-zoom-debugboard.c
e47c3c0c105a87837019535b3d9502ec40b4db43 04-Jul-2011 Daniel Mack <zonque@gmail.com> omap: Overo: remove duplicate call to overo_ads7846_init()

overo_ads7846_init() is already called from overo_spi_init(), and
calling it twice is not only unnecessary but causes a warning as
"reg-fixed-voltage.1" is already added to the device tree.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-overo.c
5e4698fc4406b8603913a2eff44b7c44c5924ea4 04-Jul-2011 Silesh C V <silesh@ti.com> omap: HSMMC: Fix GPIO muxing

Use generic gpio call to check the validity of the gpio. Note that
this includes gpio 0 also which was missing before.

Signed-off-by: Silesh C V <silesh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
f6281f6684d613948e7b9f0bd956488bb33993ab 04-Jul-2011 Julia Lawall <julia@diku.dk> arch/arm/mach-omap2/clock.c: add missing clk_put

Add missing call to clk_put.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
expression e1,e2;
statement S;
@@

e1 = clk_get@p1(...);
... when != e1 = e2
when != clk_put(e1)
when any
if (...) { ... when != clk_put(e1)
when != if (...) { ... clk_put(e1) ... }
* return@p3 ...;
} else S
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
07ad6ab3d79ede41cd8a69499e81df7b405635d2 04-Jul-2011 Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> omap: drop __initdata tags from static struct platform_device declarations

Pointers to statically declared platform device structures which are
registered with platform_device_register() are then used during run time
to access these structure members, for example from platform_uevent()
and much more. Therefore, these structures should never be placed inside
sections which are dropped after boot. Fix platform devices incorrectly
tagged with __initdata which happen to exist inside OMAP sub-trees.

This bug has exhibited itself on my ARM/OMAP1 based Amstrad Delta
videophone after commit 6d3163ce86dd386b4f7bda80241d7fea2bc0bb1d, "mm:
check if any page in a pageblock is reserved before marking it
MIGRATE_RESERVE", resulting in reading from several
/sys/device/platform/*/uevent files always ending up with segmentation
faults.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Felipe Balbi <balbi@ti.com>
Cc: Varadarajan, Charulatha <charu@ti.com>
Cc: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
29cb3cd208dd0e4471bb80bec4facc49ceb199fa 02-Jul-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: pm: allow suspend finisher to return error codes

There are SoCs where attempting to enter a low power state is ignored,
and the CPU continues executing instructions with all state preserved.
It is over-complex at that point to disable the MMU just to call the
resume path.

Instead, allow the suspend finisher to return error codes to abort
suspend in this circumstance, where the cpu_suspend internals will then
unwind the saved state on the stack. Also omit the tlb flush as no
changes to the page tables will have happened.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m34xx.c
ded1ddbf92ee2c8f04af7fe805e1074be5d41f7f 27-Jun-2011 Felipe Balbi <balbi@ti.com> usb: musb: omap: always create musb device

there's no point in not creating that device
always. It's simpler to always create, than to
keep changing that stupid ifdef.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sb-musb.c
13340b2a1ef64891572c10927e5626e2b6a81b64 30-Jun-2011 Arnd Bergmann <arnd@arndb.de> omap2+: fix build regression

board-generic.c now contains a reference to omap3_timer, but depends
only on ARCH_OMAP2, not on ARCH_OMAP3, which controls that symbol.
omap2_timer seems to be more appropriate anyway, so use that instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-generic.c
cbe263497def23befb6f475977661bae5d1f82e4 30-Jun-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: pm: omap3: move saving of the auxiliary control registers to C

Move the saving of the auxiliary control registers into C; there's
no need for this to be in assembly code. This results in less
assembly code to deal with in OMAP.

Kevin tested full-chip retention and off on 3430/n900, 3530/Overo and
3630/Zoom3.

Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m.h
m34xx.c
leep34xx.S
46e130d298a384b677426e19faec311749ff2677 29-Jun-2011 Jean Pihet <j-pihet@ti.com> ARM: pm: omap3: run the ASM sleep code from DDR

Most of the ASM sleep code (in arch/arm/mach-omap2/sleep34xx.S)
is copied to internal SRAM at boot and after wake-up from CORE OFF
mode. However only a small part of the code really needs to run from
internal SRAM.

This fix lets most of the ASM idle code run from the DDR in order to
minimize the SRAM usage and the overhead in the code copy.

The only pieces of code that are mandatory in SRAM are:
- the i443 erratum WA,
- the i581 erratum WA,
- the security extension code.

SRAM usage:
- original code:
. 560 bytes for omap3_sram_configure_core_dpll (used by DVFS),
. 852 bytes for omap_sram_idle (used by suspend/resume in RETention),
. 124 bytes for es3_sdrc_fix (used by suspend/resume in OFF mode on ES3.x),
. 108 bytes for save_secure_ram_context (used on HS parts only).

With this fix the usage for suspend/resume in RETention goes down 288
bytes, so the gain in SRAM usage for suspend/resume is 564 bytes.

Also fixed the SRAM initialization sequence to avoid an unnecessary
copy to SRAM at boot time and for readability.

Tested on Beagleboard (ES2.x) in idle with full RET and OFF modes.

Kevin Hilman tested retention and off on 3430/n900, 3530/Overo and
3630/Zoom3

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m.h
m34xx.c
leep34xx.S
48cb1258e8b0f8c81cfb699b42326c5b2147b3f8 29-Jun-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.1/pm-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into devel-cleanup

Conflicts:
arch/arm/mach-omap2/pm-debug.c
arch/arm/mach-omap2/pm.h
332acd9e534e0bc8713d2cb90dd2d4d5f2485401 29-Jun-2011 Tony Lindgren <tony@atomide.com> Merge branch 'devel-timer' into devel-cleanup
d19f579aae74d6df9276e244716cedd96895d566 28-Jun-2011 Peter Ujfalusi <peter.ujfalusi@ti.com> omap: board-omap3evm: Fix compilation error

Fix compilation error introduced with 786b01a8c1db0c0decca55d660a2a3ebd7cfb26b
(cleanup regulator supply definitions in mach-omap2).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
7a559c7882db55c7a40dab19ea43ad747a51185a 03-Jun-2011 Grazvydas Ignotas <notasas@gmail.com> omap: cleanup NAND platform data

omap_nand_platform_data fields 'options', 'gpio_irq', 'nand_setup' and
'dma_channel' are never referenced by the NAND driver, yet various
board files are initializing those fields. This is both incorrect and
confusing, so remove them. This allows to get rid of a global
variable in gpmc-nand.c.

This also corrects an issue where some boards are trying to pass NAND
16bit flag through .options, but the driver is using .devsize instead
and ignoring .options.

Finally, .dev_ready is treated as a flag by the driver, so make it bool
instead of a function pointer.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
oard-cm-t3517.c
oard-flash.c
ommon-board-devices.c
pmc-nand.c
b6fcd313c9db4f4c4feaf9d5d48b293d5fa27061 26-Jun-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: entry: remove unused irq_prio_table macro

Platforms provide an empty irq_prio_table macro, and as nothing uses
this macro, it can simply be removed.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
nclude/mach/entry-macro.S
0f622e8cae379ee17e1ffe867336b74c5b16f958 30-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: Rename timer-gp.c into timer.c to combine timer init functions

We can keep everything sys_timer and gptimer.c related code in
timer.c as the code will be very minimal.

Later on we can also remove timer-mpu.c, as it can be called from
omap4_timer_init function.

This allows us to get rid of confusing existing files. We currently
have timer-gp.c, timer-mpu.c, and patches have been posted to add
dmtimer.c. There's no need to have these multiple files, we can
put everything into timer.c.

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
imer-gp.c
imer.c
0c336dc5ec492886620d4afdc252c63f32adbd0e 30-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: Remove omap2_gp_clockevent_set_gptimer

This is no longer needed as we now just set the desired
.timer in MACHINE_START. We can now also remove timer-gp.h.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
oard-4430sdp.c
oard-devkit8000.c
oard-omap3beagle.c
oard-omap3logic.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
imer-gp.c
imer-gp.h
3d05a3e80c44cb792fc8194fd9abdb431dea5420 30-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: Use dmtimer macros for clocksource

Use dmtimer macros for clocksource. As with the clockevent,
this allows us to initialize the rest of dmtimer code later on.

Note that eventually we will be initializing the timesource
from init_early so sched_clock will work properly for
CONFIG_PRINTK_TIME.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
imer-gp.c
11a0186f3ef6aa6a9b8b81f5a501b6063fa47500 30-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: Reserve clocksource and timesource and initialize dmtimer later

There's no need to initialize the dmtimer framework early.
Just mark the clocksource and timesource as reserved, and
initialize dmtimer with an arch_initcall.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
imer-gp.c
ec3cdb5baedf6bb3852c531426c1e95a13671dff 16-Jun-2011 Sanjeev Premi <premi@ti.com> OMAP2+: PM: fix section mismatch in pm_dbg_init()

Fix the section mismatch warning:

WARNING: vmlinux.o(.text+0x21118): Section mismatch
in reference from the function pm_dbg_init() to the
function .init.text:pwrdms_setup()
The function pm_dbg_init() references
the function __init pwrdms_setup().
This is often because pm_dbg_init lacks a __init
annotation or the annotation of pwrdms_setup is wrong.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m-debug.c
59bec58373bc8324a2ee7d7355fe8499c8f6f602 27-May-2011 Kevin Hilman <khilman@ti.com> OMAP3: PM debug: remove register dumping

Remove OMAP3-specific register dumping feature from PM debug layer.
This is removed because:

- it's ugly
- it's OMAP3-specific, and will obviously not scale to OMAP4+
- userspace /dev/mem-based tools (like omapconf) can do this much better

Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m-debug.c
m.h
2c74a0cefa463a7a483b07ba4d2ea8e4ec7b996c 22-Jun-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: pm: hide 1st and 2nd arguments to cpu_suspend from platform code

The first and second arguments shouldn't concern platform code, so
hide them from each platforms caller.

Tested-by: Kevin Hilman <khilman@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m34xx.c
14c79bbed7e06135bcbccb2b92c19df7115b4502 24-Jun-2011 Kevin Hilman <khilman@ti.com> ARM: pm: omap34xx: remove get_*_restore_pointer functions, directly use entry points

Upon return from off-mode, the ROM code jumps to a restore function
saved in the scratchpad. Based on SoC revision or errata, this
restore entry point is different. Current code uses some helper
functions in sleep34xx.S (get_*_restore_pointer) to get the restore
function entry point.

When returning from off-mode, this code is executed from SDRAM, so
there's no reason to use these helper functions when using the SDRAM
entry points directly would work just fine.

This patch uses ENTRY/ENDPROC to create "real" entry points for these
functions, and uses those values directly when writing the scratchpad.

Tested all three entry points
- restore_es3: 3430/n900
- restore_3630: 3630/Zoom3
- restore: 3530/Overo

Suggested-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ontrol.c
ontrol.h
leep34xx.S
076f2cc449188b7d3d4866730afa3ac7be3e6640 22-Jun-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: pm: omap34xx: convert to generic suspend/resume support

Convert omap34xx to use the generic CPU suspend/resume support, rather
than implementing its own version. Tested on 3430 LDP.

Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m34xx.c
leep34xx.S
2637ce30e145557bf89ebcf35b2d78e729e16e5a 22-Jun-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: pm: omap34xx: remove misleading comment and use of r9

The code alludes to r9 being used to indicate what was lost over the
suspend/resume transition. However, although r9 is set, it is never
actually used.

Also, the comments before the code (which refer to the value of r9)
and the comments against the assignment of r9 contradict each other,
so just remove them to avoid confusion.

Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
leep34xx.S
857c1b81f8dd2e2a97d859d7e53dd955e2ab55af 22-Jun-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: pm: omap34xx: no need to save all registers in sleep34xx.S

The ABI allows called functions to corrupt r0-r3 and ip (r12). So
its pointless saving these registers in the suspend code - the
calling function will expect them to be corrupted and so won't rely
on their contents after resume.

Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
leep34xx.S
20d5d5514981f9a68832bffb27a698545ecba77a 26-May-2011 Kevin Hilman <khilman@ti.com> OMAP2: PM debug: remove register dumping

Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m-debug.c
m.h
m24xx.c
3a7b7bdd24286a9cfce9dda5d2b7324dfc2e3b31 26-May-2011 Kevin Hilman <khilman@ti.com> OMAP3: PM debug: remove sleep_while_idle feature

Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
currently available as an OMAP-specific debugfs entry.

This duplicates existing ARM-generic functionality available as a
boot-time option using the boot cmdline option 'hohlt'.

If runtime configuration of this is needed, then adding a debugfs
entry for the ARM-generic hlt/nohlt interface should be added.

Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m-debug.c
m.h
m34xx.c
442155adc0989148e800923f4b4b191ce2120c6a 13-Feb-2011 Nishanth Menon <nm@ti.com> OMAP3+: SR: fix cosmetic indentation

Error label case seems to have a 2 tab indentation when just 1 is
necessary.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
ac77a6f7a9352d10c4942c24c8fbf61ee54ea196 14-Feb-2011 Nishanth Menon <nm@ti.com> OMAP3+: SR: enable/disable SR only on need

Since we already know the state of the autocomp enablement, we can
see if the requested state is different from the current state and
enable/disable SR only on the need basis.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
1279ba5916f6635610c639186be84afaef831fb3 13-Feb-2011 Nishanth Menon <nm@ti.com> OMAP3+: SR: disable interrupt by default

We will enable and disable interrupt on a need basis in the class
driver. We need to keep the IRQ disabled by default else the
forceupdate or vcbypass events could trigger events that we don't
need/expect to handle.

This is a preparation for SmartReflex AVS class drivers such as
class 2 and class 1.5 which would need to use interrupts. Existing
SmartReflex AVS class 3 driver does not require to use interrupts
and is not impacted by this change.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
7a89afa8cfb2cb614d0b8912f19ee98124feeb51 13-Feb-2011 Nishanth Menon <nm@ti.com> OMAP3+: SR: make notify independent of class

Interrupt notification mechanism of SmartReflex can be used by the
choice of implementation of the class driver. For example, Class 2 and
Class 1.5 of SmartReflex can both use the interrupt notification to
identify the transition of voltage or other events.

Hence, the actual class does not matter for notifier. Let the class
driver's handling decide how it should be used. SmartReflex driver
should provide just the primitives.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
98e182a26bbbf5575457622337684ef61493e864 30-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: Remove gptimer_wakeup for now

This removes the support for setting the wake-up timer for debugging.

Later on we can reserve gptimer1 for PM code only and have similar
functionality.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
m-debug.c
m.h
m34xx.c
imer-gp.c
aa56188998942dfd1d6d85484c87f79268508bba 30-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: Use dmtimer macros for clockevent

This patch makes timer-gp.c to use only a subset of dmtimer
functions without the need to initialize dmtimer code early.

Also note that now with the inline functions, timer_set_next_event
becomes more efficient in the lines of assembly code.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
imer-gp.c
e74984e46e899c22137a385869fb4f3ae756e3df 30-Mar-2011 Tony Lindgren <tony@atomide.com> omap: Set separate timer init functions to avoid cpu_is_omap tests

This is needed for the following patches so we can initialize the
rest of the hardware timers later on.

As with the init_irq calls, there's no need to do cpu_is_omap calls
during the timer init as we only care about the major omap generation.
This means that we can initialize the sys_timer with the .timer
entries alone.

Note that for now we just set stubs for the various sys_timer entries
that will get populated in a later patch. The following patches will
also remove the omap_dm_timer_init calls and change the init for the
rest of the hardware timers to happen with an arch_initcall.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51.c
oard-ti8168evm.c
oard-zoom.c
imer-gp.c
e5ff4440cf5206fbb99d9a354ed9024eb3da047d 22-Apr-2011 Kevin Hilman <khilman@ti.com> gpio/omap: cleanup show revision, remove cpu_is checks, display only once

Remove cpu_is_* checks from gpio_show_revision() by passing in the
revision address offset from platform data. SoCs with no revision
register (15xx, 7xx, and all MPUIOs) use -1 (actually, USHRT_MAX) to
signify no register.

While here, all GPIO banks are assumed to be the same revision, so fix
show_revision() to only show the revision for the first bank it finds.
This removes duplicate GPIO revision prints during boot.

Thanks to Charulatha V <charu@ti.com> for finding/fixing a few -1s
that were missed in the original patch.

Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
9942da0e4b037a852b230208410141768d473deb 22-Apr-2011 Kevin Hilman <khilman@ti.com> gpio/omap: debounce remove SoC specific registers, use pdata

Use register offsets passed in from pdata for accessing debounce registers.

Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
28f3b5a073b6dbafbb78cae65b22ea90547d7a87 21-Apr-2011 Kevin Hilman <khilman@ti.com> gpio/omap: conslidate enable/disable of GPIO IRQs, remove ifdefs

Cleanup GPIO IRQ enable/disable handling by removing SoC-specific

Also split enable/disable IRQ into separate functions for better
readability and also facilitate potentially moving to generic irq_chip
in the future.

Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
eef4bec7bf2fa9953f6b8f371d5914d014f45d40 21-Apr-2011 Kevin Hilman <khilman@ti.com> gpio/omap: consolidate IRQ status handling, remove #ifdefs

Cleanup IRQ status handling by passing IRQ status register offsets
via platform data.

Cleans up clearing of GPIO IRQ status and GPIO ISR handler.

Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
fa87931acb8203a1f40a3c637863ad238f70cd40 21-Apr-2011 Kevin Hilman <khilman@ti.com> gpio/omap: consolidate direction, input, output, remove #ifdefs

Add register offset fields to GPIO platform_data for registers.

This patch adds registers that control direction, input and output
data. Using these register offsets in the common driver allows
removal of #ifdefs and greatly improves readability.

Also create dedicated data out functions: one for banks with dedicated
set/clear registers, and another for banks with a single mask
register.

Signed-off-by: Kevin Hilman <khilman@ti.com>
pio.c
741e3a89dee8a17aa9373975d51f130a65e1683d 17-May-2011 Tony Lindgren <tony@atomide.com> omap: Use separate init_irq functions to avoid cpu_is_omap tests early

This allows us to remove cpu_is_omap calls from init_irq functions.
There should not be any need for cpu_is_omap calls as at this point.
During the timer init we only care about SoC generation, and not about
subrevisions.

The main reason for the patch is that we want to initialize only
minimal omap specific code from the init_early call.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
oard-rm680.c
oard-rx51.c
oard-ti8168evm.c
oard-zoom.c
o.c
rq.c
map4-common.c
b8ce9fb8e18af7466e0b915bb5979322cdace322 14-Jun-2011 Tony Lindgren <tony@atomide.com> Merge branch 'fixes-v3.0-rc3' into devel-fixes
fd4a0286cecd3b1e15771e02bc36bd8494a4a1d8 06-Jun-2011 Oleg Drokin <green@linuxhacker.ru> Remove old-style supply.dev assignments common in hsmmc init

CC: Mark Brown <broonie@opensource.wolfsonmicro.com>
CC: Mike Rapoport <mike@compulab.co.il>
CC: Nishant Kamat <nskamat@ti.com>
CC: Steve Sakoman <steve@sakoman.com>
CC: Felipe Balbi <balbi@ti.com>
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
oard-zoom-peripherals.c
786b01a8c1db0c0decca55d660a2a3ebd7cfb26b 06-Jun-2011 Oleg Drokin <green@linuxhacker.ru> cleanup regulator supply definitions in mach-omap2

to use REGULATOR_SUPPLY arrays.

CC: Mark Brown <broonie@opensource.wolfsonmicro.com>
CC: Mike Rapoport <mike@compulab.co.il>
CC: Nishant Kamat <nskamat@ti.com>
CC: Steve Sakoman <steve@sakoman.com>
CC: Felipe Balbi <balbi@ti.com>
CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
CC: peter.barada@logicpd.com
Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
c8e0bf95fc01d6e2ca585fe08010800b6c56e823 13-Jun-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_3.0/pm-fixes' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into fixes
9d5ae7cd6cb9ead43336fec1094184d1dc740fbd 03-Jun-2011 Grazvydas Ignotas <notasas@gmail.com> omap: pandora: fix NAND support

Commit d5ce2b65 "omap3630: nand: fix device size to work in polled mode"
changed values for .devsize in nand platform data, now we have to pass
NAND_BUSWIDTH_16 instead of '1' to select 16bit NAND.

Update pandora's platform data accordingly, also specify appropriate
transfer type.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
c8fb13d04ad0d08772f637bee873e620fcc064c2 27-May-2011 Russell King <rmk+kernel@arm.linux.org.uk> OMAP: PM debug: fix section mismatch warnings

WARNING: arch/arm/mach-omap2/built-in.o(.text+0x423c): Section mismatch in reference from the function pm_dbg_regset_init() to the function .init.text:pm_dbg_init()
The function pm_dbg_regset_init() references
the function __init pm_dbg_init().
This is often because pm_dbg_regset_init lacks a __init
annotation or the annotation of pm_dbg_init is wrong.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m-debug.c
1fcecf281b99f9ca262ae7fbc3703c421be5c857 01-Jun-2011 Balaji T K <balajitk@ti.com> 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>
smmc.c
1704bf15deb6de20f8f4272c8d8232b36bbc7484 30-May-2011 Igor Grinberg <grinberg@compulab.co.il> 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>
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-omap3beagle.c
oard-omap3pandora.c
oard-omap3touchbook.c
oard-overo.c
ommon-board-devices.h
4998b245732572b027eef6b7221d80da0a3486e9 04-May-2011 Shubhrajyoti D <shubhrajyoti@ti.com> 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>
map_hwmod_44xx_data.c
5e2ffc308a3aa44a318452fccae7b23a029eeeb8 31-May-2011 Tasslehoff Kjappfot <tasskjapp@gmail.com> 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>
oard-omap3beagle.c
e2a346a2a054f702fd76f328ff747b9ad9264a4c 05-Apr-2011 Alexander Holler <holler@ahsoftware.de> 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>
oard-omap3beagle.c
c0ad4fac5011c5534c45011ee8dee2b3de256663 31-May-2011 Jarkko Nikula <jhnikula@gmail.com> 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>
oard-rx51-peripherals.c
2827411e25d7da7913463474606fe624404b2339 31-May-2011 Jarkko Nikula <jhnikula@gmail.com> 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>
oard-rx51-peripherals.c
b1c1df7a7d50bf94de89704e963467bc94b1fef9 30-May-2011 Balaji T K <balajitk@ti.com> 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>
oard-4430sdp.c
smmc.c
smmc.h
e68273baf30390e9c907831b47384085c7f664d5 04-May-2011 Igor Grinberg <grinberg@compulab.co.il> 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>
ommon-board-devices.c
03b562d7859c6d7c640f071b422d521146471d6d 26-May-2011 Todd Poynor <toddpoynor@google.com> 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>
map_phy_internal.c
21a42c92750446008dc0847a78aba5459e3b6b5a 04-May-2011 Colin Cross <ccross@android.com> 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>
oard-4430sdp.c
oard-omap4panda.c
ux.h
ux44xx.c
d4ff6121b44081601206980cafcd6ed3ecb367b6 31-May-2011 Colin Cross <ccross@android.com> 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>
ux.c
1499f2dbafafe844e485ff8945f60cd9f3d5cbd9 07-May-2011 Rabin Vincent <rabin@rab.in> 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>
evices.c
30ebad9d756a0b2c97c6c4ca6c5e6b799e3b64da 01-Jun-2011 Govindraj.R <govindraj.raja@ti.com> 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>
ux.c
map_hwmod.c
026fe79d75c3a7a257ca72250f46b472835784c9 30-May-2011 Igor Grinberg <grinberg@compulab.co.il> 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>
oard-cm-t3517.c
89c4705ed58a9e6faa7649eb561aead79bb77b3f 30-May-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> 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>
oard-3430sdp.c
oard-4430sdp.c
oard-omap4panda.c
oard-zoom-display.c
f9fa1bb9d7a3c9537d6abd4ad47c58fe27862625 31-May-2011 Axel Lin <axel.lin@gmail.com> 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>
oard-2430sdp.c
oard-apollon.c
oard-omap3pandora.c
oard-overo.c
ea0ca3a843babd50c22dfbb5cf2d9a14df821b2b 27-May-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.infradead.org/battery-2.6

* git://git.infradead.org/battery-2.6:
PXA: Use dev_pm_ops in z2_battery
ds2760_battery: Fix rated capacity of the hx4700 1800mAh battery
ds2760_battery: Fix indexing of the 4 active full EEPROM registers
power: Make test_power driver more dynamic.
bq27x00_battery: Name of cycle count property
max8903_charger: Add GENERIC_HARDIRQS as a dependency (fixes S390 build)
ARM: RX-51: Enable isp1704 power on/off
isp1704_charger: Allow board specific powering routine
gpio-charger: Add gpio_charger_resume
power_supply: Add driver for MAX8903 charger
9f1912c48ce829d24789e3e5d499de0d44d3306a 26-May-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6

* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (57 commits)
regulator: Fix 88pm8607.c printk format warning
input: Add support for Qualcomm PMIC8XXX power key
input: Add Qualcomm pm8xxx keypad controller driver
mfd: Add omap-usbhs runtime PM support
mfd: Fix ASIC3 SD Host Controller Configuration size
mfd: Fix omap_usbhs_alloc_children error handling
mfd: Fix omap usbhs crash when rmmoding ehci or ohci
mfd: Add ASIC3 LED support
leds: Add ASIC3 LED support
mfd: Update twl4030-code maintainer e-mail address
mfd: Correct the name and bitmask for ab8500-gpadc BTempPullUp
mfd: Add manual ab8500-gpadc batt temp activation for AB8500 3.0
mfd: Provide ab8500-core enumerators for chip cuts
mfd: Check twl4030-power remove script error condition after i2cwrite
mfd: Fix twl6030 irq definitions
mfd: Add phoenix lite (twl6025) support to twl6030
mfd: Avoid to use constraint name in 88pm860x regulator driver
mfd: Remove checking on max8925 regulator[0]
mfd: Remove unused parameter from 88pm860x API
mfd: Avoid to allocate 88pm860x static platform data
...
829ae2732998e628d762b97627e4e5cc6c1b5625 26-May-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (33 commits)
OMAP3: PM: Boot message is not an error, and not helpful, remove it
OMAP3: cpuidle: change the power domains modes determination logic
OMAP3: cpuidle: code rework for improved readability
OMAP3: cpuidle: re-organize the C-states data
OMAP3: clean-up mach specific cpuidle data structures
OMAP3 cpuidle: remove useless SDP specific timings
usb: otg: OMAP4430: Powerdown the internal PHY when USB is disabled
usb: otg: OMAP4430: Fixing the omap4430_phy_init function
usb: musb: am35x: fix compile error when building am35x
usb: musb: OMAP4430: Power down the PHY during board init
omap: drop board-igep0030.c
omap: igep0020: add support for IGEP3
omap: igep0020: minor refactoring
omap: igep0020: name refactoring for future merge with IGEP3
omap: Remove support for omap2evm
arm: omap2plus: GPIO cleanup
omap: musb: introduce default board config
omap: move detection of NAND CS to common-board-devices
omap: use common initialization for PMIC i2c bus
omap: consolidate touch screen initialization among different boards
...
d7ac829fa30d44d6553a0ead41f47bb92ee4d73e 14-Apr-2011 Lesly A M <leslyam@ti.com> mfd: Modifying the twl4030-power macro name Main_Ref to all caps

Modifying the macro name Main_Ref to all caps(MAIN_REF).

Suggested by Nishanth Menon <nm@ti.com>

Signed-off-by: Lesly A M <leslyam@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: David Derrick <dderrick@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
oard-rx51-peripherals.c
9b28b11e2a648f07c8481b9666ccf1c088e1ab74 24-May-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.40/pm-cleanup' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
b7679ab3f70482ff4b75a8c735c8224ebedb6020 24-May-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for-tony' of master.kernel.org:/pub/scm/linux/kernel/git/balbi/usb into omap-for-linus
a6b5825aa703714523a745a8e050b9d6105f6704 24-May-2011 Paul Mundt <lethal@linux-sh.org> Merge branch 'for-paul' of git://gitorious.org/linux-omap-dss2/linux

Conflicts:
drivers/video/omap2/dss/dsi.c
drivers/video/omap2/dss/dss_features.c
drivers/video/omap2/dss/dss_features.h

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
42cd71bf1e3a081b3150018bbf448cb6c8a844a5 24-May-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (137 commits)
ARM: bcmring: convert to use sp804 clockevents
ARM: bcmring: convert to sp804 clocksource
ARM: 6912/1: bcmring: Add clkdev table in init_early
clockevents: ARM sp804: obtain sp804 timer rate via clks
clockevents: ARM sp804: allow clockevent name to be specified
clocksource: ARM sp804: obtain sp804 timer rate via clks
clocksource: ARM sp804: allow clocksource name to be specified
clocksource: convert OMAP1 to 32-bit down counting clocksource
clocksource: convert MXS timrotv2 to 32-bit down counting clocksource
clocksource: convert SPEAr platforms 16-bit up counting clocksource
clocksource: convert Integrator/AP 16-bit down counting clocksource
clocksource: convert W90x900 24-bit down counting clocksource
clocksource: convert ARM 32-bit down counting clocksources
clocksource: convert ARM 32-bit up counting clocksources
clocksource: add common mmio clocksource
ARM: update sa1100 to reflect PXA updates
ARM: omap1: convert to using readl/writel instead of volatile struct
ARM: omap1: delete useless interrupt handler
ARM: s5p: consolidate selection of timer register
ARM: 6939/1: fix missing 'cpu_relax()' declaration
...
9a55d9752d8abfc62f1ab05ccc790d22a0c8e7c0 23-May-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'devel-stable' into for-linus

Conflicts:
arch/arm/Kconfig
arch/arm/mach-ns9xxx/include/mach/uncompress.h
4b60e5f90dec4ae251386f20464336369e962e9c 23-May-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branches 'consolidate-clksrc', 'consolidate-flash', 'consolidate-generic', 'consolidate-smp', 'consolidate-stmp' and 'consolidate-zones' into consolidate
57d19e80f459dd845fb3cfeba8e6df8471bac142 23-May-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
b43: fix comment typo reqest -> request
Haavard Skinnemoen has left Atmel
cris: typo in mach-fs Makefile
Kconfig: fix copy/paste-ism for dell-wmi-aio driver
doc: timers-howto: fix a typo ("unsgined")
perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c
md, raid5: Fix spelling error in comment ('Ofcourse' --> 'Of course').
treewide: fix a few typos in comments
regulator: change debug statement be consistent with the style of the rest
Revert "arm: mach-u300/gpio: Fix mem_region resource size miscalculations"
audit: acquire creds selectively to reduce atomic op overhead
rtlwifi: don't touch with treewide double semicolon removal
treewide: cleanup continuations and remove logging message whitespace
ath9k_hw: don't touch with treewide double semicolon removal
include/linux/leds-regulator.h: fix syntax in example code
tty: fix typo in descripton of tty_termios_encode_baud_rate
xtensa: remove obsolete BKL kernel option from defconfig
m68k: fix comment typo 'occcured'
arch:Kconfig.locks Remove unused config option.
treewide: remove extra semicolons
...
0f7b332f9777819a39a3b325690379a7efef89d1 03-Apr-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: consolidate SMP cross call implementation

Rather than having each platform class provide a mach/smp.h header for
smp_cross_call(), arrange for them to register the function with the
core ARM SMP code instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-smp.c
99aa18278e867574d72201b806f82ace07d4804b 18-May-2011 Sanjeev Premi <premi@ti.com> OMAP3: PM: Boot message is not an error, and not helpful, remove it

It shows up on the console despite using "silent" in the bootargs, and
it's really just noise in the boot log since PM init is always called.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Cc: jhnikula@gmail.com
[khilman@ti.com: minor changelog edits]
Signed-off-by: Kevin Hilman <khilman@ti.com>
m34xx.c
04908918191f7926ec7af99890fb4ddb3b769c13 09-May-2011 Jean Pihet <j-pihet@ti.com> OMAP3: cpuidle: change the power domains modes determination logic

The achievable power modes of the power domains in cpuidle
depends on the system wide 'enable_off_mode' knob in debugfs.
Upon changing enable_off_mode, do not change the C-states
'valid' field but instead dynamically restrict the power modes
when entering idle.

The C-states 'valid' field is just used to enable/disable some
C-states at init and shall not be changed later on.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
puidle34xx.c
m.h
m34xx.c
c6cd91de1cb4694f2dfcc7df831e276fffdffffc 09-May-2011 Jean Pihet <j-pihet@ti.com> OMAP3: cpuidle: code rework for improved readability

- fix single and multi-lines comments format
- removed the omap3_idle_bm_check function and replaced the test
in omap3_enter_idle_bm by the equivalent code
- re-organize omap3_enter_idle_bm code path, assign local variables
only when needed
- reword some comments

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
puidle34xx.c
badc303a862ba6c5fd3d324f5332db07877f8159 09-May-2011 Jean Pihet <j-pihet@ti.com> OMAP3: cpuidle: re-organize the C-states data

The current implementation defines an internal structure and a
C-states array. Using those structures is redundant to the
structs used by the cpuidle framework.

This patch provides a clean-up of the internal struct, removes the
internal C-states array, stores the data using the existing cpuidle
per C-state struct and registers the mach specific data to cpuidle
C-state driver_data (accessed using cpuidle_[gs]et_statedata).
Also removes unused macros, fields and code and compacts the repeating
code using an inline helper function.

The result is more compact and more readable code as well as
reduced data RAM usage.

Also retain C1 as the only always valid C-state and system safe state.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
puidle34xx.c
866ba0ef967c693dae952afafcb1582a390a82a0 09-May-2011 Jean Pihet <j-pihet@ti.com> OMAP3: clean-up mach specific cpuidle data structures

- sleep_latency and wake_latency are not used, replace them by
exit_latency which is used by cpuidle. exit_latency simply is
the sum of sleep_latency and wake_latency,
- replace threshold by target_residency,
- changed the OMAP3 specific cpuidle code accordingly,
- changed the OMAP3 board code accordingly.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
oard-rx51.c
puidle34xx.c
m.h
90d231f7673e20acc4f8b5c3effb5c12098179a7 29-Apr-2011 Jean Pihet <j-pihet@ti.com> OMAP3 cpuidle: remove useless SDP specific timings

The cpuidle states settings can be overriden by some board-
specific settings, by calling omap3_pm_init_cpuidle.
Remove the 3430SDP specific states settings registration
since the figures are identical to the default ones (in cpuidle34xx.c).

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
oard-3430sdp.c
208466dc10083e734a8af71d10f923ee4bff950c 24-Mar-2011 Hema HK <hemahk@ti.com> usb: otg: OMAP4430: Powerdown the internal PHY when USB is disabled

Powerdown the internal UTMI PHY when USB is not enabled. This will
allow the OMAP core domain to transition to retention and offmode.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-musb.c
8cfc67f0740cede2a6aec94b8513285d00c46d5f 24-Mar-2011 Hema HK <hemahk@ti.com> usb: otg: OMAP4430: Fixing the omap4430_phy_init function

omap4430_phy_init() function can be called with no device pointer,
to powerdown the PHY during board init when USB is disabled.
Fix the function accordingly.

Signed-off-by: Hema HK <hemahk@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
map_phy_internal.c
a6d28523dbe6dc5bf3fc6a9078a69de6873c511e 01-May-2011 Felipe Balbi <balbi@ti.com> usb: musb: am35x: fix compile error when building am35x

am35x_musb_set_mode() was redefined. Fix it.

Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-am3517evm.c
map_phy_internal.c
1f15848807c20762017da29fa1dac64fb67b8128 28-Feb-2011 Hema HK <hemahk@ti.com> usb: musb: OMAP4430: Power down the PHY during board init

Powerdown the internal PHY during board init for OMAP44xx.
So that when musb is disabled core transition to retention/off
is not blocked.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-musb.c
290c748725c170ed9a02522959ae67f528eefe98 17-May-2011 Rafael J. Wysocki <rjw@sisk.pl> Merge branch 'power-domains' into for-linus

* power-domains:
PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset
PM: Revert "driver core: platform_bus: allow runtime override of dev_pm_ops"
OMAP1 / PM: Use generic clock manipulation routines for runtime PM
PM / Runtime: Generic clock manipulation rountines for runtime PM (v6)
PM / Runtime: Add subsystem data field to struct dev_pm_info
OMAP2+ / PM: move runtime PM implementation to use device power domains
PM / Platform: Use generic runtime PM callbacks directly
shmobile: Use power domains for platform runtime PM
PM: Export platform bus type's default PM callbacks
PM: Make power domain callbacks take precedence over subsystem ones
b08827f4c7a5020855abe0f9b1a316f11275b76b 17-May-2011 Tony Lindgren <tony@atomide.com> Merge branches 'devel-fixes', 'devel-cleanup' and 'devel-genirq' into for-next
7be13ad0ce518c03cf4852f69e8a9746be2edb03 12-May-2011 Mike Rapoport <mike@compulab.co.il> omap: drop board-igep0030.c

since it is merged into board-igep0020.c

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-igep0030.c
2a60997a538cf60a3b5ebcfa2b9909c868e7aa20 12-May-2011 Mike Rapoport <mike@compulab.co.il> omap: igep0020: add support for IGEP3

Add IGEP3 machine support to board-igep0020

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Acked-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
0d4ab9a58ff6d29e84b6f29a5084323f0374ef6a 12-May-2011 Mike Rapoport <mike@compulab.co.il> omap: igep0020: minor refactoring

to allow easy addition of IGEP3

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Acked-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
fdfb03ba375e34b8aaee22a501eb59c92b43726b 12-May-2011 Mike Rapoport <mike@compulab.co.il> omap: igep0020: name refactoring for future merge with IGEP3

IGEP2 and IGEP3 boards are very similar and can be merged into one file.
Start refactoring with changing igep2 to igep where applicable.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Acked-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
f29251ff532ca1124d14a03b040ba097edc6e9c0 16-May-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'devel-genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel-stable
667a11facee70c0bd15cf07946fba71236490e07 16-May-2011 Tony Lindgren <tony@atomide.com> arm: omap2/3: Use generic irq chip

Use generic irq chip for omap2 & 3.

Note that this patch also leaves out the spurious IRQ warning
for omap3.

This warning should no longer be needed as the interrupt handlers
for various devices have implemented the necessayr read-back of
the posted write.

Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
5fd2a84ab3c8b87176e25db1d98c5cc34043a669 09-May-2011 Avinash H.M <avinashhm@ti.com> OMAP3: set the core dpll clk rate in its set_rate function

The debug l3_ick/rate is not displaying the actual rate of the clock in
hardware. This is because, the core dpll set_rate function doesn't update the
clk.rate. After fixing, the l3_ick/rate is displaying proper values.

Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
Signed-off-by: Avinash.H.M <avinashhm@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Wamsley <paul@pwsan.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lkt34xx_dpll3m2.c
bc593f5d787d0a015539e21868302fb44a47c3e3 03-May-2011 Igor Grinberg <grinberg@compulab.co.il> arm: omap2plus: GPIO cleanup

use gpio_request_<one|array>() instead of multiple gpiolib calls,
remove unneeded variables, etc.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-igep0020.c
oard-igep0030.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rx51-peripherals.c
oard-rx51-video.c
oard-zoom-debugboard.c
oard-zoom-display.c
oard-zoom-peripherals.c
pmc-smc91x.c
pmc-smsc911x.c
sb-tusb6010.c
179e045369a36c67d590463548749cacc53c9d85 18-Apr-2011 Archit Taneja <archit@ti.com> OMAP2PLUS: DSS2: Clean up omap_display_init()

Currently, omap_display_init() maintains arrays for hwmod name(oh_name) and the
correspnding platform_device name(dev_name) needed by omap_device_build().
A variable oh_count keeps a track of the number of devices to build from oh_name
based on what omap revision it is.

Clean this up by maintaining an array of omap_dss_hwmod_data struct which is
defined for each omap revision as suggested by Tomi Valkeinen. Assign the
corresponding omap_dss_hwmod_data array struct to the pointer curr_dss_hwmod in
omap_display_init().

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
isplay.c
6cb07b256af233965663d6dfc329d7df3dcae786 12-Apr-2011 Archit Taneja <archit@ti.com> OMAP: DSS2: HDMI: Use dss_device clock configuration for HDMI PLL parameters

Move some of the configurable HDMI PLL parameters to dssdev.clock struct.
Cleanup the function hdmi_compute_pll() by using the parameters defined in the
board file and do some cosmetic modifications.

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-4430sdp.c
f8ae2f08d2c4574ca5c3923d2463ef106b116c2a 10-May-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: DSS2: Move panel-generic-dpi.h to include/video/

arch/arm/plat-omap/include/plat/panel-generic-dpi.h is an include for
the OMAP DSS panel driver for generic DPI displays. A more logical place
for it is in include/video.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-3430sdp.c
oard-am3517evm.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3stalker.c
oard-omap4panda.c
oard-overo.c
a0b38cc4d35e095f14ab0f486135f8a619ebfc14 11-May-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: DSS2: Move display.h to include/video/

arch/arm/plat-omap/include/plat/display.h is an include for the OMAP DSS
driver. A more logical place for it is in include/video.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-3430sdp.c
oard-4430sdp.c
oard-am3517evm.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap4panda.c
oard-overo.c
oard-rx51-video.c
oard-zoom-display.c
isplay.c
nclude/mach/board-zoom.h
70f23fd66bc821a0e99647f70a809e277cc93c4c 10-May-2011 Justin P. Mattock <justinmattock@gmail.com> treewide: fix a few typos in comments

- kenrel -> kernel
- whetehr -> whether
- ttt -> tt
- sss -> ss

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
ontrol.h
9e18630b689d658d65bf59508bfec084f61ff5c6 27-Apr-2011 Mike Rapoport <mike@compulab.co.il> omap: musb: introduce default board config

Most boards use exactly the same configuration for musb initialization.
Create a default that can be shared amount different boards.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-igep0030.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
oard-rm680.c
oard-zoom-peripherals.c
sb-musb.c
9a3f39ff36e11ea6b6c8b5f90337a864cb7e81f6 25-Apr-2011 Mike Rapoport <mike@compulab.co.il> omap: move detection of NAND CS to common-board-devices

and reduce amount of copy/paste

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
CC: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
oard-omap3beagle.c
oard-omap3touchbook.c
oard-overo.c
ommon-board-devices.c
ommon-board-devices.h
fbd8071c188e3053fb318d78214e54d4615d93f2 25-Apr-2011 Mike Rapoport <mike@compulab.co.il> omap: use common initialization for PMIC i2c bus

Introduce omap_pmic_init that registers i2c bus and PMIC device on that
bus and add omap2/3/4 wrappers for common cases.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-4430sdp.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-igep0030.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
ommon-board-devices.c
ommon-board-devices.h
96974a249b0cf3537f49115a59be67e2c54f315c 25-Apr-2011 Mike Rapoport <mike@compulab.co.il> omap: consolidate touch screen initialization among different boards

Add common-board-devices.c that will contain the code for peripheral
devices initializatoin shared between multiple boards.
Start small with touchscreen initialization.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-3430sdp.c
oard-cm-t35.c
oard-devkit8000.c
oard-ldp.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
ommon-board-devices.c
ommon-board-devices.h
d14f81741f4ca5c96f52eff0210c8da0b0997d6f 27-Apr-2011 Nishanth Menon <nm@ti.com> OMAP3+: voltage: remove spurious pr_notice for debugfs

cat of debugfs entry for vp_volt provides voltage. The additional pr_notice
is just spam on console and provides no additional information.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oltage.c
34549009a1a48e9212508aa32a90281e682c52b1 27-Apr-2011 Nishanth Menon <nm@ti.com> OMAP4: PM: remove redundant #ifdef CONFIG_PM

pm44xx.c is built only when CONFIG_PM is setup,
remove redundant CONFIG_PM check.

This also fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=25022

Reported-by: Martin Etti <ettl.martin@gmx.de>

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m44xx.c
283a1c1f276d879ab8bafec8ec9f8fca03f159bb 26-Apr-2011 Aaro Koskinen <aaro.koskinen@nokia.com> OMAP3+: smartreflex: delete debugfs entries on probe error

Delete created debugfs entries if probe fails.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
833d78fc58774738a6fe7175794b9a9b251afa88 26-Apr-2011 Aaro Koskinen <aaro.koskinen@nokia.com> OMAP3+: smartreflex: delete instance from sr_list on probe error

If the probe fails, the node should be deleted from sr_list.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
0c49cc167c6365a1a514b1e44d7fa8378ff16c4c 26-Apr-2011 Aaro Koskinen <aaro.koskinen@nokia.com> OMAP3+: smartreflex: fix ioremap leak on probe error

Add missing iounmap() to error paths.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
da9e7392f4b0c295a47ec7def38629959eb51ff2 26-Apr-2011 Aaro Koskinen <aaro.koskinen@nokia.com> OMAP3+: smartreflex: request the memory region

We are releasing the memory region, but never actually request it.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
0bf6e2eca2a32fc6ea69eb499313234476a526d7 26-Apr-2011 Aaro Koskinen <aaro.koskinen@nokia.com> OMAP3+: smartreflex: fix sr_late_init() error path in probe

sr_late_init() will take care of freeing the resources.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
35f7b961054021fd89b73a15988f10d38da71beb 18-Apr-2011 omar ramirez <omar.ramirez@ti.com> OMAP3/4: l3: minor cleanup for parenthesis and extra spaces

Removing extra lines, spaces and unneeded parenthesis.
Collapsing an if statement to detect the type of error.

l3_smx:
- Fixing the message printed on error.

So now: looks like:
"No Error Error seen..." "No Error seen..."
"In-Band Error Error seen..." "In-Band Error seen..."

Other messages are self explanatory, no "Error" added to them.
(E.g.: "Address Hole seen...")

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_l3_noc.c
map_l3_smx.c
7529b703869d59e799a0c0eb4f3df7a418f7dc99 18-Apr-2011 omar ramirez <omar.ramirez@ti.com> OMAP3/4: l3: fix omap3_l3_probe error path

l3_smx:
- Add missing free_irq and remove an empty goto label.

l3_noc:
- If kzalloc fails driver shouldn't continue with a NULL pointer.
- Add missing free_irq and remove empty goto labels.
- Safe to assume that if we reached the end point of execution
without errors, then return value is 0, so replacing instead
another goto.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_l3_noc.c
map_l3_smx.c
11383a9bcc213cd2b55e2aef863ef2a8b3d7b62c 26-Apr-2011 Igor Grinberg <grinberg@compulab.co.il> arm: omap: gpmc-smsc911x: minor style fixes

replace "printk(KERN_ERR" by "pr_err("
and fix needlessly multi-lined #ifdef

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-smsc911x.c
638080c37ae08fd0c44cec13d7948ca5385ae851 29-Apr-2011 Kevin Hilman <khilman@ti.com> OMAP2+ / PM: move runtime PM implementation to use device power domains

In commit 7538e3db6e015e890825fbd9f8659952896ddd5b (PM: add support
for device power domains) a better way for handling platform-specific
power hooks was introduced.

Rather than using the platform_bus dev_pm_ops overrides
(platform_bus_set_pm_ops()), this patch moves the OMAP runtime PM
implementation over to using device power domains.

Since OMAP is the only user of platform_bus_set_pm_ops(), that
interface can be removed (and will be in a forthcoming patch.)

[rjw: Rebased on top of a previous change modifying the handling of
power domains by the PM core so that power domain callbacks take
precendence over subsystem-level PM callbacks.]

Signed-off-by: Kevin Hilman <khilman@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
akefile
m_bus.c
3b1fb2ffecbc869d6a680b0c3a1118dc4aba1d47 27-Apr-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_tony_a_2.6.39rc' of git://git.pwsan.com/linux-2.6 into devel-fixes
3f126087ee143775961947b39416aad03044c988 26-Apr-2011 Nishanth Menon <nm@ti.com> OMAP3+: voltage: remove initial voltage

Blindly setting 1.2V in the initial structure may not even match the
default voltages stored in the voltage table which are supported for
the domain. For example, OMAP3430 core domain does not use 1.2V and
ends up generating a warning on the first transition.

Further, since omap2_set_init_voltage is called as part of the pm
framework's initialization sequence to configure the voltage required
for the current OPP, the call does(and has to) setup the system
voltage(curr_volt as a result) using the right mechanisms appropriate
for the system at that point of time. This also overrides
initialization we are currently doing in voltage.c making it
redundant. So, remove the wrong and redundant initialization.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oltage.c
919686458fabc67a13ffa412f9e5a8fed46d10b8 26-Apr-2011 Shweta Gulati <shweta.gulati@ti.com> OMAP4: Intialize IVA Device in addition to DSP device.

OMAP4 has two different Devices IVA and DSP. DSP is bound
with IVA for DVFS. The registration of IVA dev in API
'omap2_init_processor_devices' was missing. Init dev for
'iva_dev' is added.

This also fixes the following error seen during boot as
omap2_set_init_voltage can now find the iva device

omap2_set_init_voltage: Invalid parameters!
omap2_set_init_voltage: Unable to put vdd_iva to its init voltage

Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m.c
26a064d5246e8ac51241d6ec2792aebf24f3b41a 26-Apr-2011 Felipe Contreras <felipe.contreras@gmail.com> omap: rx51: mark reserved memory earlier

So that omap_vram_set_sdram_vram() is called before
omap_vram_reserve_sdram_memblock().

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51.c
bc16b3777ec3749c086a17f81c99f8643f4a6576 26-Apr-2011 omar ramirez <omar.ramirez@ti.com> OMAP3: l3: fix for "irq 10: nobody cared" message

If an error occurs in the L3 on any other initiator than MPU,
the interrupt goes unhandled given that the 'base' register
was calculated with the initialized err_source value (which
coincidentally points to MPU) and not with the actual source
of the error.

Removed parenthesis that are not needed for the touched lines.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_l3_smx.c
6ba5932ca4b610d036cb89d0ce2a465d06504c4d 26-Apr-2011 Oskar Andero <oskar.andero@sonyericsson.com> arm: omap2: enable smc instruction for sleep34xx

This fixes broken build when using binutils 2.21.

Signed-off-by: Oskar Andero <oskar.andero@sonyericsson.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
f95440ca5bdd3ed3e31c2fbad07b9056b31ad18c 05-Apr-2011 Avinash.H.M <avinashhm@ti.com> OMAP2/3: hwmod: fix gpio-reset timeouts seen during bootup.

GPIO module expects the debounce clocks to be enabled during reset. It doesn't
reset properly and timeouts are seen, if this clock isn't enabled during
reset. Add the HWMOD_CONTROL_OPT_CLKS_IN_RESET flags to the GPIO HWMODs, with
which the debounce clocks are enabled during reset.

Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Avinash.H.M <avinashhm@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
a8ae645c014bc01090367de84f7601ad11628971 13-Apr-2011 Eduardo Valentin <eduardo.valentin@ti.com> OMAP3: PM: Do not rely on ROM code to restore CM_AUTOIDLE_PLL.AUTO_PERIPH_DPLL

As per OMAP3 erratum (i671), ROM code adds extra latencies while
restoring CM_AUTOIDLE_PLL register, if AUTO_PERIPH_DPLL is equal to 1.

This patch stores 0's in scratchpad content area corresponding to
AUTO_PERIPH_DPLL, to prevent ROM code to try to lock per DPLL, since
it won't respect proper programing scheme.

This register is then stored in prcm context. The saving and restore
is now done by kernel side.

Here follow the erratum description

DESCRIPTION

After OFF mode transition, among many restorations, the ROM Code restores the
CM_AUTOIDLE_PLL register, and after that, it tries to relock the PER DPLL.

In case the restoration data stored in scratchpad memory contains a field
CM_AUTOIDLE_PLL.AUTO_PERIPH_DPLL = 1, then the way the ROM Code restores and
locks the PER DPLL does not respect the PER DPLL programming scheme.

In that case, the DPLL might not lock. Meanwhile, when trying to lock the PER
DPLL, the ROM Code does not hang. Only extra latencies are introduced at
wake-up.

WORKAROUND

When saving the context-restore structure in scratchpad memory, in order to
respect the PER DPLL programming scheme, it is advised to store 0 in the
CM_AUTOIDLE_PLL.AUTO_PERIPH_DPLL field of the saved structure.

After wake-up, the application should store in CM_AUTOIDLE_PLL register the
right desired value.

Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m2xxx_3xxx.c
ontrol.c
8bc2e98bcb280009cb0f85ce64e5f79b1669f9ff 13-Apr-2011 Eduardo Valentin <eduardo.valentin@ti.com> OMAP2+: PM: Fix the saving of CM_AUTOIDLE_PLL register on scratchpad area

The saving of CCR.CM_AUTOIDLE_PLL is done in scratchpad area.

However, in current code, the saving is done for CM_AUTOIDLE2_PLL
(offset 0x34) instead of CM_AUTOIDLE_PLL (offset 0x30).

This patch changes the code to save the correct register.

Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
ontrol.c
2df122f52fd31c327e0aa05caf6017ecd7867d5f 04-Apr-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP4: clock data: Change DSS clock aliases

DSS driver has used fck and ick clocks on OMAP2/3 to get DSS HW up and
running, and also to get the pixel clock's source clock rate from the
fck.

On OMAP4 the clock data is set up in a different way, as there's no ick,
dss_fck points to a fake clock which just affects DSS's MODULEMODE, and
dss_dss_clk if the DSS_FCK.

>From DSS driver's point of view the dss_fck sounds like an ick, and
dss_dss_clk is the fck. While this is not entirely correct from HW point
of view, especially for the ick, configuring the clock aliases that way
makes DSS "just work" with OMAP4's clock setup.

In the (hopefully near) future DSS driver will be reworked to use
pm_runtime support which should clean up the clock code.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
21b42731e6ab1ccbbe9ad1b639c5d78eecad8432 17-Apr-2011 Mike Rapoport <mike@compulab.co.il> omap: convert boards that use SMSC911x to use gpmc-smsc911x

Convert boards that use SMSC911x to use gpmc-smsc911x.
Also allocate struct platform_device dynamically.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
[tony@atomide.com: folded in a fix from Igor Grindberg]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
oard-igep0020.c
oard-ldp.c
oard-omap3evm.c
oard-omap3stalker.c
oard-overo.c
oard-zoom-debugboard.c
pmc-smsc911x.c
f0949f73a75093fb86d6554101bd79046633a297 17-Apr-2011 Mike Rapoport <mike@compulab.co.il> omap: gpmc-smsc911x: always set irq flags to IORESOURCE_IRQ_LOWLEVEL

SMSC911x devices attached to OMAP GPMC always use low level irqs.
Setting the appropriate flag in the irq resourse strucure allows using
.flags field in the omap_smsc911x_platform_data for driver specific
flags

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3logic.c
pmc-smsc911x.c
10299e2e4e3ed3b16503d4e04edd48b33083f4e2 29-Mar-2011 Kalle Jokiniemi <kalle.jokiniemi@nokia.com> ARM: RX-51: Enable isp1704 power on/off

The isp1704 usb tranceiver is used for charging and can be
disabled when not in use. Provide the powering routine to
the driver via platform data.

Also changed the indent of ".name" variable in rx51_charger_device
definition to use tabs same way as the new ".dev" variable indent.
Put this in the same patch since the indent fix is only needed
when there are multiple members in the struct definition.

Loosely based on earlier patches from Heikki Krogerus in
Nokia N900 maemo kernel.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Acked-By: Heikki Krogerus <heikki.krogerus@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
oard-rx51-peripherals.c
1286eeb2fd22ddb4c56390f957e854ec06bab9fd 19-Apr-2011 Benoit Cousson <b-cousson@ti.com> OMAP2+: hwmod data: Fix wrong dma_system end address

OMAP2420, 2430 and 3xxx were using the OMAP4 end address
that unfortunately is not located at the same base address.
Moreover the OMAP4 size was set to 256 instead of 4096.

Change all .pa_end to set them to .pa_start + 0xfff

Cc: "G, Manjunath Kondaiah" <manjugk@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Reported-by: Michael Fillinger <m-fillinger@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
43b3e1898206a1e385c9cb06f6040ea83a58b638 04-Apr-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: 6860/1: OMAP4: Move the privately used SMP boot functions to OMAP specific header.

Header files in arch/arm/*/include/mach included from
arch/arm/include/asm/*.h are there to provide necessary definitions for
either the rest of the kernel or the ARM specific parts. They shouldn't
be polluted with *any* platform private stuff which is not absolutely
necessary to satisfy the rest of the kernel.

Hence move the OMAP specific SMP boot functions to different header
instead of keeping them in 'plat/smp.h' which gets included indirectly
by linux/smp.h

The patch is outcome of the discussion in below thread:
http://www.spinics.net/lists/arm-kernel/msg120363.html

Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
nclude/mach/omap4-common.h
25985edcedea6396277003854657b5f3cb31a628 31-Mar-2011 Lucas De Marchi <lucas.demarchi@profusion.mobi> Fix common misspellings

Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
oard-igep0020.c
oard-igep0030.c
lockdomain.c
lockdomain.h
puidle34xx.c
evices.c
ma.c
pio.c
smmc.c
cbsp.c
ux.c
ux2430.h
map_hwmod_2430_data.c
map_phy_internal.c
map_twl.c
owerdomain.c
owerdomain.h
owerdomains3xxx_data.c
martreflex.c
oltage.c
f38c02f3b338651e145aac2889ba976baf6b28b3 24-Mar-2011 Thomas Gleixner <tglx@linutronix.de> arm: Fold irq_set_chip/irq_set_handler

Use irq_set_chip_and_handler() instead. Converted with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
rq.c
6845664a6a7d443f03883db59d10749d38d98b8e 24-Mar-2011 Thomas Gleixner <tglx@linutronix.de> arm: Cleanup the irq namespace

Convert to the new function names. Automated with coccinelle.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
pmc.c
rq.c
17c6dd8144924e3c71930636091704da6d043536 28-Mar-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
hwspinlock: depend on OMAP4
ARM: OMAP2+: Fix warnings for GPMC interrupt
OMAP4: PandaBoard: remove unused power regulators
arm: mach-omap2: omap_l3_smx: fix irq handler setup
arm: mach-omap2: devices: fix omap3_l3_init() return value
76d21c563569bcea6bc67d65cc2c460cff643058 24-Mar-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (442 commits)
[media] videobuf2-dma-contig: make cookie() return a pointer to dma_addr_t
[media] sh_mobile_ceu_camera: Do not call vb2's mem_ops directly
[media] V4L: soc-camera: explicitly require V4L2_BUF_TYPE_VIDEO_CAPTURE
[media] v4l: soc-camera: Store negotiated buffer settings
[media] rc: interim support for 32-bit NEC-ish scancodes
[media] mceusb: topseed 0x0011 needs gen3 init for tx to work
[media] lirc_zilog: error out if buffer read bytes != chunk size
[media] lirc: silence some compile warnings
[media] hdpvr: use same polling interval as other OS
[media] ir-kbd-i2c: pass device code w/key in hauppauge case
[media] rc/keymaps: Remove the obsolete rc-rc5-tv keymap
[media] remove the old RC_MAP_HAUPPAUGE_NEW RC map
[media] rc/keymaps: Rename Hauppauge table as rc-hauppauge
[media] rc-rc5-hauppauge-new: Fix Hauppauge Grey mapping
[media] rc-rc5-hauppauge-new: Add support for the old Black RC
[media] rc-rc5-hauppauge-new: Add the old control to the table
[media] rc-winfast: Fix the keycode tables
[media] a800: Fix a few wrong IR key assignments
[media] opera1: Use multimedia keys instead of an app-specific mapping
[media] dw2102: Use multimedia keys instead of an app-specific mapping
...

Fix up trivial conflicts (remove/modify and some real conflicts) in:
arch/arm/mach-omap2/devices.c
drivers/staging/Kconfig
drivers/staging/Makefile
drivers/staging/dabusb/dabusb.c
drivers/staging/dabusb/dabusb.h
drivers/staging/easycap/easycap_ioctl.c
drivers/staging/usbvideo/usbvideo.c
drivers/staging/usbvideo/vicam.c
a6a1d6485e77f28c11cdf943a3ed2a3fd83ac727 24-Mar-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6

* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (90 commits)
mfd: Push byte swaps out of wm8994 bulk read path
mfd: Rename ab8500 gpadc header
mfd: Constify WM8994 write path
mfd: Push byte swap out of WM8994 bulk I/O
mfd: Avoid copying data in WM8994 I2C write
mfd: Remove copy from WM831x I2C write function
mfd: Staticise WM8994 PM ops
regulator: Add a subdriver for TI TPS6105x regulator portions v2
mfd: Add a core driver for TI TPS61050/TPS61052 chips v2
gpio: Add Tunnel Creek support to sch_gpio
mfd: Add Tunnel Creek support to lpc_sch
pci_ids: Add Intel Tunnel Creek LPC Bridge device ID.
regulator: MAX8997/8966 support
mfd: Add WM8994 bulk register write operation
mfd: Append additional read write on 88pm860x
mfd: Adopt mfd_data in 88pm860x input driver
mfd: Adopt mfd_data in 88pm860x regulator
mfd: Adopt mfd_data in 88pm860x led
mfd: Adopt mfd_data in 88pm860x backlight
mfd: Fix MAX8997 Kconfig entry typos
...
4cc4d24efce4672f9b0e7fa27963770ae602998f 24-Mar-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6: (140 commits)
MAINTAINERS: de-orphan fbdev.
MAINTAINERS: Add file pattern for fb dt bindings.
video: Move sm501fb devicetree binding documentation to a better place.
fbcon: fix situation where fbcon gets deinitialised and can't reinit.
video, sm501: add OF binding to support SM501
video, sm501: add edid and commandline support
video, sm501: add I/O functions for use on powerpc
video: Fix EDID macros H_SYNC_WIDTH and H_SYNC_OFFSET
fbcon: Bugfix soft cursor detection in Tile Blitting
video: add missing framebuffer_release in error path
video: metronomefb: add __devexit_p around reference to metronomefb_remove
video: hecubafb: add __devexit_p around reference to hecubafb_remove
drivers:video:aty:radeon_base Fix typo occationally to occasionally
atmel_lcdfb: add fb_blank function
atmel_lcdfb: implement inverted contrast pwm
video: s3c-fb: return proper error if clk_get fails
uvesafb,vesafb: create WC or WB PAT-entries
video: ffb: fix ffb_probe error path
radeonfb: Let hwmon driver probe the "monid" I2C bus
fbdev: sh_mobile_lcdc: checking NULL instead of IS_ERR()
...
2f284c846331fa44be1300a3c2c3e85800268a00 24-Mar-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (35 commits)
ARM: Update (and cut down) mach-types
ARM: 6771/1: vexpress: add support for multiple core tiles
ARM: 6797/1: hw_breakpoint: Fix newlines in WARNings
ARM: 6751/1: vexpress: select applicable errata workarounds in Kconfig
ARM: 6753/1: omap4: Enable ARM local timers with OMAP4430 es1.0 exception
ARM: 6759/1: smp: Select local timers vs broadcast timer support runtime
ARM: pgtable: add pud-level code
ARM: 6673/1: LPAE: use phys_addr_t instead of unsigned long for start of membanks
ARM: Use long long format when printing meminfo physical addresses
ARM: integrator: add Integrator/CP sched_clock support
ARM: realview/vexpress: consolidate SMP bringup code
ARM: realview/vexpress: consolidate localtimer support
ARM: integrator/versatile: consolidate FPGA IRQ handling code
ARM: rationalize versatile family Kconfig/Makefile
ARM: realview: remove old AMBA device DMA definitions
ARM: versatile: remove old AMBA device DMA definitions
ARM: vexpress: use new init_early for clock tree and sched_clock init
ARM: realview: use new init_early for clock tree and sched_clock init
ARM: versatile: use new init_early for clock tree and sched_clock init
ARM: integrator: use new init_early for clock tree init
...
8af1b0d72f7b65f0ed34f0b2c5d1774fabca24a2 10-Feb-2011 Balaji T K <balajitk@ti.com> OMAP4: add clk32kg data to omap4panda and blaze board file

In Blaze and Panda, 32KHz clock - CLK32KG to WLAN is supplied
from Phoenix TWL6030.
Add CLK32KG platform data to blaze and omap4panda board file.

Signed-off-by: Balaji T K <balajitk@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
oard-4430sdp.c
oard-omap4panda.c
cfe2cde6d33f15994ad34466ac4a08f5bb348948 15-Nov-2010 Sergio Aguirre <saaguirre@ti.com> [media] omap2: Fix camera resources for multiomap

Make sure the kernel can be compiled with both OMAP2 and OMAP3 camera
support linked in, and give public symbols proper omap2/omap3 prefixes.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
evices.c
a11f6706ca4473c2df3f72a306d9b9fee6512a33 14-Dec-2009 Laurent Pinchart <laurent.pinchart@ideasonboard.com> [media] omap3: Add function to register omap3isp platform device structure

The omap3isp platform device requires platform data. Instead of
registering the device in omap2_init_devices(), export an
omap3_init_camera() function to fill the device structure with the
platform data pointer and register the device.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
evices.c
evices.h
837c83283daa5ae3831c4dff6bdb75e26aeab4b0 15-Nov-2010 Sergio Aguirre <saaguirre@ti.com> [media] omap3: Remove unusued ISP CBUFF resource

The ISP CBUFF module isn't use, its resource isn't needed.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
evices.c
6817a69a030b0a815e57470cf5d2e3b577cdcba9 02-Feb-2010 Tuukka Toivonen <tuukkat76@gmail.com> [media] ARM: OMAP3: Update Camera ISP definitions for OMAP3630

Add new/changed base address definitions and resources for
OMAP3630 ISP.

The OMAP3430 CSI2PHY block is same as the OMAP3630 CSIPHY2
block. But the later name is chosen as it gives more symmetry
to the names.

Signed-off-by: Tuukka Toivonen <tuukkat76@gmail.com>
Signed-off-by: Vimarsh Zutshi <vimarsh.zutshi@gmail.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
evices.c
da49252fb0392d8196833ef3da92e48fb371f8d7 22-Mar-2011 Paul Mundt <lethal@linux-sh.org> Merge branch 'for-paul' of git://gitorious.org/linux-omap-dss2/linux

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

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
196f020fbbb83d246960548e73a40fd08f3e7866 20-Mar-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branches 'fixes', 'pgt-next' and 'versatile' into devel
77aded2f523c6540f71b1f549373dd8046329a6b 19-Mar-2011 Balaji T K <balajitk@ti.com> ARM: OMAP2+: Fix warnings for GPMC interrupt

Commit db97eb7dfe13f6c04f0a0e77c32e2691f563ab8b
(omap: gpmc: enable irq mode in gpmc) enabled interrupts for
GPMC (General Purpose Memory Controller). However, looks like
this patch only works on omap3. Fix the issues to avoid warnings
on omap4 during the boot.

GPMC: number of chip select is 8, CS0 to CS7. One less IRQ
allocated throws below warning at boot:

[ 0.429290] Trying to install type control for IRQ409
[ 0.429290] Trying to set irq flags for IRQ409

Resolve following warning messages in boot when irq chip is not set:

[ 0.429229] Trying to install interrupt handler for IRQ402
[ 0.429229] Trying to install interrupt handler for IRQ403
[ 0.429229] Trying to install interrupt handler for IRQ404
[ 0.429260] Trying to install interrupt handler for IRQ405
[ 0.429260] Trying to install interrupt handler for IRQ406
[ 0.429260] Trying to install interrupt handler for IRQ407
[ 0.429290] Trying to install interrupt handler for IRQ408

Resolve following warning in OMAP4:
[ 0.429290] gpmc: irq-20 could not claim: err -22

Signed-off-by: Balaji T K <balajitk@ti.com>
[tony@atomide.com: combined patches into one, updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
8b8e2ef328c3378c74fb4347f66df8e58feeaf46 19-Mar-2011 David Anders <x0132446@ti.com> OMAP4: PandaBoard: remove unused power regulators

the pandaboard does not use the VUSIM or VAUX1 power regulators on the TWL6030
and are left floating. if the VUSIM and VAUX1 power regulators are initilized,
noise on the unloaded regulators generates an overcurrent interrupt causing the
system to power down. this patch removes the initialization of the unused power
regulators of VUSIM and VAUX1.

Signed-off-by: David Anders <x0132446@ti.com>
Acked-by: Andy Green <andy.green@linaro.org>
Acked-by: Anand Gadiyar <gadiyar@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
18a81019b851dae83f7df3e72064de706788ff25 19-Mar-2011 Aaro Koskinen <aaro.koskinen@nokia.com> arm: mach-omap2: omap_l3_smx: fix irq handler setup

The handler function may be called from the point it is registered.
Since the handler inspects IRQ numbers, we must set them up before
registration.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_l3_smx.c
36133869c4b5b70e6acf6ff7ce25df526a6d5cae 19-Mar-2011 Aaro Koskinen <aaro.koskinen@nokia.com> arm: mach-omap2: devices: fix omap3_l3_init() return value

Fix the return value for the successful case.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
b295d6e593e02168fdafc5db11464b6d51cf239d 14-Mar-2011 Murthy, Raghuveer <raghuveer.murthy@ti.com> OMAP4: PandaBoard: Adding DVI support

Adding DVI support to OMAP4 PandaBoard.

PandaBoard uses TFP410 DVI Framer chip
http://focus.ti.com/lit/ds/symlink/tfp410.pdf

The TFP410 gets its power enable and display data over GPIO lines muxed
in from OMAP4430. PandaBoard supports other LCD displays through
expansion
connectors, following board rework. This will disable the DVI interface.
However, the existing mux settings remain the same

PandaBoard additionally supports display over HDMI interface. It is
mutually exclusive to display over DVI. Hence the mux settings need to
be
configured seperately, as and when HDMI is enabled

Also, I2C3 bus used for reading EDID data from DVI Monitors is
registered here. Since the design is similar to BeagleBoard, the code
for the same is taken from the kernel.org commit e3333f48dd5cb21
(omap: Adding beagle i2c eeprom driver to read EDID)

Reviewed-by: Manjunath G Kondaiah <manjugk@ti.com>
Reviewed-by: Anand Gadiyar <gadiyar@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Raghuveer Murthy <raghuveer.murthy@ti.com>
[tomi.valkeinen@ti.com: fixed conflicts with HDMI]
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-omap4panda.c
0df0914d414a504b975f3cc66ace0c16ef55b7f3 18-Mar-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (258 commits)
omap: zoom: host should not pull up wl1271's irq line
arm: plat-omap: iommu: fix request_mem_region() error path
OMAP2+: Common CPU DIE ID reading code reads wrong registers for OMAP4430
omap4: mux: Remove duplicate mux modes
omap: iovmm: don't check 'da' to set IOVMF_DA_FIXED flag
omap: iovmm: disallow mapping NULL address when IOVMF_DA_ANON is set
omap2+: mux: Fix compile when CONFIG_OMAP_MUX is not selected
omap4: board-omap4panda: Initialise the serial pads
omap3: board-3430sdp: Initialise the serial pads
omap4: board-4430sdp: Initialise the serial pads
omap2+: mux: Add macro for configuring static with omap_hwmod_mux_init
omap2+: mux: Remove the use of IDLE flag
omap2+: Add separate list for dynamic pads to mux
perf: add OMAP support for the new power events
OMAP4: Add IVA OPP enteries.
OMAP4: Update Voltage Rail Values for MPU, IVA and CORE
OMAP4: Enable 800 MHz and 1 GHz MPU-OPP
OMAP3+: OPP: Replace voltage values with Macros
OMAP3: wdtimer: Fix CORE idle transition
Watchdog: omap_wdt: add fine grain runtime-pm
...

Fix up various conflicts in
- arch/arm/mach-omap2/board-omap3evm.c
- arch/arm/mach-omap2/clock3xxx_data.c
- arch/arm/mach-omap2/usb-musb.c
- arch/arm/plat-omap/include/plat/usb.h
- drivers/usb/musb/musb_core.h
16d8775700f1815076f879719ce14b33f50a3171 17-Mar-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (91 commits)
ARM: 6806/1: irq: introduce entry and exit functions for chained handlers
ARM: 6781/1: Thumb-2: Work around buggy Thumb-2 short branch relocations in gas
ARM: 6747/1: P2V: Thumb2 support
ARM: 6798/1: aout-core: zero thread debug registers in a.out core dump
ARM: 6796/1: Footbridge: Fix I/O mappings for NOMMU mode
ARM: 6784/1: errata: no automatic Store Buffer drain on Cortex-A9
ARM: 6772/1: errata: possible fault MMU translations following an ASID switch
ARM: 6776/1: mach-ux500: activate fix for errata 753970
ARM: 6794/1: SPEAr: Append UL to device address macros.
ARM: 6793/1: SPEAr: Remove unused *_SIZE macros from spear*.h files
ARM: 6792/1: SPEAr: Replace SIZE macro's with SZ_4K macros
ARM: 6791/1: SPEAr3xx: Declare device structures after shirq code
ARM: 6790/1: SPEAr: Clock Framework: Rename usbd clock and align apb_clk entry
ARM: 6789/1: SPEAr3xx: Rename sdio to sdhci
ARM: 6788/1: SPEAr: Include mach/hardware.h instead of mach/spear.h
ARM: 6787/1: SPEAr: Reorder #includes in .h & .c files.
ARM: 6681/1: SPEAr: add debugfs support to clk API
ARM: 6703/1: SPEAr: update clk API support
ARM: 6679/1: SPEAr: make clk API functions more generic
ARM: 6737/1: SPEAr: formalized timer support
...
05e34754518b6a90d5c392790c032575fab12d66 17-Mar-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'p2v' into devel

Conflicts:
arch/arm/kernel/module.c
arch/arm/mach-s5pv210/sleep.S
1f0090a1eaa1b750a2fc5c99c91b790d5322a1fd 17-Mar-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'misc' into devel

Conflicts:
arch/arm/Kconfig
2472f3c8d8fc18b25b2cf1574c036e238187c0ff 17-Mar-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branches 'at91', 'ep93xx', 'errata', 'footbridge', 'fncpy', 'gemini', 'irqdata', 'pm', 'sh', 'smp', 'spear', 'ux500' and 'via' into devel
971f115a50afbe409825c9f3399d5a3b9aca4381 16-Mar-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

* 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (172 commits)
USB: Add support for SuperSpeed isoc endpoints
xhci: Clean up cycle bit math used during stalls.
xhci: Fix cycle bit calculation during stall handling.
xhci: Update internal dequeue pointers after stalls.
USB: Disable auto-suspend for USB 3.0 hubs.
USB: Remove bogus USB_PORT_STAT_SUPER_SPEED symbol.
xhci: Return canceled URBs immediately when host is halted.
xhci: Fixes for suspend/resume of shared HCDs.
xhci: Fix re-init on power loss after resume.
xhci: Make roothub functions deal with device removal.
xhci: Limit roothub ports to 15 USB3 & 31 USB2 ports.
xhci: Return a USB 3.0 hub descriptor for USB3 roothub.
xhci: Register second xHCI roothub.
xhci: Change xhci_find_slot_id_by_port() API.
xhci: Refactor bus suspend state into a struct.
xhci: Index with a port array instead of PORTSC addresses.
USB: Set usb_hcd->state and flags for shared roothubs.
usb: Make core allocate resources per PCI-device.
usb: Store bus type in usb_hcd, not in driver flags.
usb: Change usb_hcd->bandwidth_mutex to a pointer.
...
17c84ef1e1265fad787d4082bd40a63eb6f3eeb1 15-Mar-2011 K, Mythri P <mythripk@ti.com> OMAP4: HDMI: Add HDMI structure in the board file for OMAP4 PANDA

Adding board file structure for display which adds the display
structure with HDMI as the default driver when the display init
is called.
HDMI GPIO configurations are also done in this file.

Signed-off-by: Mythri P K <mythripk@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-omap4panda.c
0425b48b3f24b0b2b1f9b4f24fd491b70a8f911c 08-Mar-2011 Mythri P K <mythripk@ti.com> OMAP4: HDMI: Add HDMI structure in the board file for OMAP4 SDP

Adding board file structure for display which adds the display
structure with HDMI as the default driver when the display init
is called.
HDMI GPIO configurations are also done in this file.

Signed-off-by: Mythri P K <mythripk@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-4430sdp.c
05f689400ea5fa3d71af82f910c8b140f87ad1f3 14-Mar-2011 Tony Lindgren <tony@atomide.com> Merge branches 'devel-mux' and 'devel-misc' into omap-for-linus
02b7b94ee98a0a463195d148e5c5885a218ee16f 14-Mar-2011 Ohad Ben-Cohen <ohad@wizery.com> omap: zoom: host should not pull up wl1271's irq line

The wl1271's irq line is completely controlled by the 1271 device, and
the host does not not need to pull it up.

While there's no functional effect, letting the host pull this line up is
just redundant, and wastes power.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom.c
b235e007831dbf57710e59cd4a120e2f374eecb9 12-Mar-2011 Andy Green <andy@warmcat.com> OMAP2+: Common CPU DIE ID reading code reads wrong registers for OMAP4430

This adapts the register offsets used to read the CPU DIE ID registers
when run on 44XX so they match what is in the OMAP4430 Reference Manual
page 269

Signed-off-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
17fe12c5a7bd674c1e6dca9cf1e250f9cd7b96b1 11-Mar-2011 Tony Lindgren <tony@atomide.com> omap4: mux: Remove duplicate mux modes

Remove duplicate mux modes to make the binary smaller:

text data bss dec hex filename
9378 24472 0 33850 843a mux44xx.o
9378 19104 0 28482 6f42 mux44xx.o

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux44xx.c
c7ecea24e26037fdfe9cbe83c9821689336f70d5 11-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: mux: Fix compile when CONFIG_OMAP_MUX is not selected

Fix compile when CONFIG_OMAP_MUX is not selected

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
573efc2babf76422ebc5b373562a4c40d715b88e 11-Mar-2011 R Sricharan <r.sricharan@ti.com> omap4: board-omap4panda: Initialise the serial pads

Use the mux framework to initialise the serial pads.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
626dda8a4e17bb2b0f16dd8db5173f20f48d2d22 11-Mar-2011 R Sricharan <r.sricharan@ti.com> omap3: board-3430sdp: Initialise the serial pads

Use the mux framework to initialise the serial pads.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
dae335265561bf6ade66be494888a24b6419e345 11-Mar-2011 R Sricharan <r.sricharan@ti.com> omap4: board-4430sdp: Initialise the serial pads

Use the mux framework to initialise the serial pads.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
8aee6039465c9887af6a4babfa5b52f8bc96b43d 11-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: mux: Add macro for configuring static with omap_hwmod_mux_init

Add macro for defining static pins in the board file.

We can now start implementing pin multiplexing in the platform init
code for devices that call omap_hwmod_mux_init. Currently that is
only implemented for serial.c.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.h
86c79bf45f380c6efd907e95f993146b2b975232 11-Mar-2011 R Sricharan <r.sricharan@ti.com> omap2+: mux: Remove the use of IDLE flag

Currently OMAP_DEVICE_PAD_IDLE flag is used to mux pins
dynamically. This can be simplified by using the enabled
state variable of each pad. This also fixes the issue of
the static pads not getting muxed after idling and
disable/enable state transitions.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
ux.h
029268e4c124a38b11ae965849ea2dfef724a568 11-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: Add separate list for dynamic pads to mux

This avoids going through the list unnecessarily when
idling devices for runtime PM.

Based on an earlier patch by sricharan <r.sricharan@ti.com>.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
ux.h
map_hwmod.c
0d9596958d0be59e6bb373b5e6bc0729cbba5110 11-Mar-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.39/pm-integration' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
a2358a7bc35e388978fc2f7f6b071a0fd27d78c1 11-Mar-2011 Tony Lindgren <tony@atomide.com> Merge branch 'integration-2.6.39-for-tony' of git://git.pwsan.com/linux-integration into omap-for-linus

Conflicts:
arch/arm/mach-omap2/pm34xx.c
5e7c58dc8d9b7f31d418cf98c6a8cad84b86f510 03-Mar-2011 Jean Pihet <jean.pihet@newoldbits.com> perf: add OMAP support for the new power events

The patch adds the new power management trace points for
the OMAP architecture.

The trace points are for:
- default idle handler. Since the cpuidle framework is
instrumented in the generic way there is no need to
add trace points in the OMAP specific cpuidle handler;
- SoC clocks changes (enable, disable, set_rate),
- power domain states: the desired target state and -if different-
the actually hit state.

Because of the generic nature of the changes, OMAP3 and OMAP4 are supported.

Tested on OMAP3 with suspend/resume, cpuidle, basic DVFS.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
lock.c
m34xx.c
owerdomain.c
a271e58cfbe345f71d39ebbae063ad2d68892470 05-Mar-2011 Shweta Gulati <shweta.gulati@ti.com> OMAP4: Add IVA OPP enteries.

This Patch adds OPP enteries for IVA in OMAP4 OPP Table

Tested on OMAP4430 SDP Board.

Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pp4xxx_data.c
d9a2012d32922ef235106469caff3e79dd9e6f09 10-Mar-2011 Shweta Gulati <shweta.gulati@ti.com> OMAP4: Update Voltage Rail Values for MPU, IVA and CORE

Update MPU, IVA and CORE voltage Rail values obtained from
OMAP4430 Data Manual Operating Condition Addendum_v0.4.

Tested on OMAP4430 SDP Board.

Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pp4xxx_data.c
273032f7822fe4fb0b585219385a744732e86707 05-Mar-2011 Shweta Gulati <shweta.gulati@ti.com> OMAP4: Enable 800 MHz and 1 GHz MPU-OPP

Almost all OMAP4 boards support OPP 800 MHz and OPP 1 GHz.
Enable them in OPP Table. For small minority of boards which use
OMAP4430-800 MHz device OPP 1GHz is not supported,
OPP 1GHz should be disabled from board file.

Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pp4xxx_data.c
15f13e23e818c9de81003f37430eb648abae9107 05-Mar-2011 Vishwanath BS <vishwanath.bs@ti.com> OMAP3+: OPP: Replace voltage values with Macros

Since all voltage data is now centralized in oppxxx_data.c, we can replace
the values in the opp table with the macros used for voltage values.

This will avoid opp table and voltage layer having conflicting values.

Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pp3xxx_data.c
pp4xxx_data.c
cce18a947967ed028e5301bce84cbaff395489a6 10-Mar-2011 Steve Sakoman <steve@sakoman.com> OMAP: Add gpio-keys support for Overo

This patch adds support for the standard push buttons available on
Overo expansion boards.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-overo.c
7c94f68d7b490c7787c6b97c5b2d6d56d57b071c 10-Mar-2011 Steve Sakoman <steve@sakoman.com> OMAP: Add gpio-leds support for Overo

This patch adds support for the standard LEDs on the Overo COM and expansion boards

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-overo.c
ca0a6a6473f69f1773c97755840587262d841883 05-Mar-2011 Steve Sakoman <steve@sakoman.com> omap: overo: Add regulator for ads7846

The ads7846 driver now requires a regulator. This patch adds the
necessary regulator to the overo board file. Without it, the
following error occurs (and the touchscreen will not function):

ads7846 spi1.0: unable to get regulator: -19

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-overo.c
7b12d7b66bac4ff51aeea0029734b7a921cbe817 05-Mar-2011 Steve Sakoman <steve@sakoman.com> OMAP: DSS2: Add DSS2 support for Overo

This patch adds DSS2 support for DVI, S-video, the 480x272 Samsung
LTE430WQ-F0C panel, and the 320x240 LG.Philips LB035Q02 panel.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-overo.c
fd4b34f60736a20c5acd81cbb3083a0c60ae058e 01-Mar-2011 Semwal, Sumit <sumit.semwal@ti.com> OMAP2PLUS:DSS2: add opt_clock_available in pdata

Provide a function in pdata to allow dss submodules to check if a given
clock is available on a platform as an optional clock.

Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
(based on implementation from Senthil)

Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
isplay.c
affe360d13e54b415cde2f11cee02369b4ed54bd 23-Feb-2011 archit taneja <archit@ti.com> OMAP: DSS2: Have separate irq handlers for DISPC and DSI

Currently, the core DSS platform device requests for an irq line for OMAP2 and
OMAP3. Make DISPC and DSI platform devices request for a shared IRQ line.

On OMAP3, the logical OR of DSI and DISPC interrupt lines goes to the MPU. There
is a register DSS_IRQSTATUS which tells if the interrupt came from DISPC or DSI.

On OMAP2, there is no DSI, only DISPC interrupts goto the MPU. There is no
DSS_IRQSTATUS register.

Hence, it makes more sense to have separate irq handlers corresponding to the
DSS sub modules instead of having a common handler.

Since on OMAP3 the logical OR of the lines goes to MPU, the irq line is shared
among the IRQ handlers.

The hwmod irq info has been removed for DSS to DISPC and DSI for OMAP2 and OMAP3
hwmod databases. The Probes of DISPC and DSI now request for irq handlers.

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
545376e734a6b0a4c66efb7616724ae4dbb2e57a 27-Jan-2011 Mayuresh Janorkar <mayur@ti.com> OMAP4: DSS2: Add hwmod device names for OMAP4.

Add hwmod device names for OMAP4; this enables device build for omap4 dss
hwmod IPs.

Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Mayuresh Janorkar <mayur@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
isplay.c
f38190d61fe378d8eaf21b160c22e78b3b925747 31-Jan-2011 Sumit Semwal <sumit.semwal@ti.com> OMAP4: DSS2: clocks: Add ick as dummy clock

DSS code uses ick as one of the clocks in clk_get/clk_put. OMAP4 clock database
doesn't have ick for DSS, so adding ick as dummy clock.

This is needed for backward compatibility with OMAP2/3.

Once pm_runtime* APIs get introduced in DSS, this will be revisited.

Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
lock44xx_data.c
872462cdfc74e7b93c09870128d9bb436d4e9804 31-Jan-2011 Sumit Semwal <sumit.semwal@ti.com> OMAP2PLUS: clocks: Align DSS clock names and roles

Currently, clock database has <dev, clock-name> tuples for DSS2. Because of
this, the clock names are different across different OMAP platforms.

This patch aligns the DSS2 clock names and roles across OMAP 2420, 2430, 3xxx,
44xx platforms in the clock databases, hwmod databases for opt-clocks, and DSS
clock handling.

This ensures that clk_get/put/enable/disable APIs in DSS can use uniform role
names.

Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
lock44xx_data.c
map_hwmod_3xxx_data.c
c8aac01b7bd1109795586db11ea7f12ab1e2d163 24-Jan-2011 Senthilvadivu Guruswamy <svadivu@ti.com> OMAP2, 3: DSS2: DSI: create platform_driver, move init, exit to driver

Hwmod adaptation design requires each of the DSS HW IP to be a platform driver.
So a platform_driver for DSI is created and init exit methods are moved from core.c
to its driver probe,remove. pdev member has to be maintained by its own drivers.

Also, vdds_dsi regulator handling is copied to dsi.c, since vdds_dsi regulator is
needed by dpi_init() too. Board files are updated accordingly to add 2 instances of
vdds_dsi regulator.

DSI platform driver is registered from inside omap_dss_probe, in the order desired.

Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-3430sdp.c
oard-devkit8000.c
oard-igep0020.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-zoom-peripherals.c
30ea50c9f5166a375b4dc0109d18a5d21bab5711 24-Jan-2011 Senthilvadivu Guruswamy <svadivu@ti.com> OMAP2, 3: DSS2: VENC: create platform_driver, move init, exit to driver

Hwmod adaptation design requires each of the DSS HW IP to be a platform driver.
So a platform_driver for VENC is created and init exit methods are moved from core.c
to its driver probe,remove. pdev member has to be maintained by its own drivers.

Also, venc_vdda_dac reading is moved to venc.c.

VENC platform driver is registered from inside omap_dss_probe, in the order desired.

Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-3430sdp.c
oard-cm-t35.c
oard-devkit8000.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
8b9cb3a8f39d0864c925c5cd5c2c54cfd85ad551 24-Jan-2011 Senthilvadivu Guruswamy <svadivu@ti.com> OMAP2, 3: DSS2: Move clocks from core driver to dss driver

All clock management is moved to dss platform driver. clk_get/put APIs use
dss device instead of core platform device.

Hwmod adaptation design requires each of the DSS HW IP to be a platform driver.
So the device name is changed from omapdss to omapdss_dss in 2420, 2430,
3xxx clock database files. Now the core driver "omapdss" only takes care
of panel registration with the custom bus.
core driver also uses the clk_enable() / clk_disable() APIs exposed by DSS for
clock management.
DSS driver would do clock management of clocks needed by DISPC, RFBI, DSI, VENC

TODO: The clock content would be adapted to omap_hwmod in a seperate series.

Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
cf07f5316215972e987c63b0a75a922c89813781 24-Jan-2011 Senthilvadivu Guruswamy <svadivu@ti.com> OMAP2,3: DSS2: Build omap_device for each DSS HWIP

Looks up the hwmod database for each of the given DSS HW IP and builds
omap_device which inturn does the platform device register for each of DSS HW IP

Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
isplay.c
e7a12b6406a478b5c9085091b5015cb3e1683958 24-Feb-2011 Tomi Valkeinen <tomi.valkeinen@ti.com> OMAP: 3430SDP: Remove unused vdda_dac supply

Remove extra vdda_dac supply definition. It was a leftover from conflict
resolution.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-3430sdp.c
a08572ae529b1e8de12393eeced661feae8fd44c 11-Mar-2011 Paul Walmsley <paul@pwsan.com> Merge remote branch 'remotes/origin/voltage_split_2.6.39' into tmp-integration-2.6.39-20110310-024

Conflicts:
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
2d403fe03070b541cc93cfa915f6e6c592cf231c 11-Mar-2011 Paul Walmsley <paul@pwsan.com> Merge remote branch 'remotes/origin/hwmod_a_2.6.39' into tmp-integration-2.6.39-20110310-024

Conflicts:
arch/arm/mach-omap2/omap_hwmod_2430_data.c
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
arch/arm/plat-omap/include/plat/omap_hwmod.h
21ace5452ce3327f0d11f85b0c33dfcd0d20fdb2 11-Mar-2011 Paul Walmsley <paul@pwsan.com> Merge remote branches 'remotes/origin/pwrdm_clkdm_b_2.6.39', 'remotes/origin/pwrdm_add_can_lose_context_fns_2.6.39', 'remotes/origin/omap_device_a_2.6.39', 'remotes/origin/mmc_a_2.6.39', 'remotes/origin/hwmod_b_2.6.39', 'remotes/origin/dmtimer_a_2.6.39', 'remotes/origin/pwrdm_clkdm_a_2.6.39', 'remotes/origin/clkdm_statdep_omap4_2.6.39', 'remotes/origin/clk_a_2.6.39', 'remotes/origin/clk_autoidle_a_2.6.39', 'remotes/origin/clk_autoidle_b_2.6.39', 'remotes/origin/clk_b_2.6.39', 'remotes/origin/clk_clkdm_a_2.6.39', 'remotes/origin/misc_a_2.6.39', 'remotes/origin/for_2.6.39/omap3_hwmod_data' and 'remotes/origin/wdtimer_a_2.6.39' into tmp-integration-2.6.39-20110310-024
2f4dd595f6d60ec3ccbb68def73df457970cf671 11-Mar-2011 Paul Walmsley <paul@pwsan.com> OMAP3: wdtimer: Fix CORE idle transition

The HW superwised smart idle for wdtimer in OMAP3 prevents
CORE power domain idle transitions. Disable it by swithing
to SW supervised transitions.

This could be a hardware bug in the OMAP3 wdtimer2 block.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
map_hwmod_3xxx_data.c
c0718df4d666cc5fd8837ac93c82995a17bfdbf5 11-Mar-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: voltage: reorganize, split code from data

This is a first pass at reorganizing mach-omap2/voltage.c:

- Separate almost all of the data from the code of mach-omap2/voltage.c.
The code remains in mach-omap2/voltage.c. The data goes into one
of several places, depending on what type of data it is:

- Silicon process/validation data: mach-omap2/opp*_data.c
- VC (Voltage Controller) data: mach-omap2/vc*_data.c
- VP (Voltage Processor) data: mach-omap2/vp*_data.c
- Voltage domain data: mach-omap2/voltagedomains*_data.c

The ultimate goal is for all this data to be autogenerated, the same
way we autogenerate the rest of our data.

- Separate VC and VP common data from VDD-specific VC and VP data.

- Separate common voltage.c code from SoC-specific code; reuse common code.

- Reorganize structures to avoid unnecessary memory loss due to unpacked
fields.

There is much left to be done. VC code and VP code should be separated out
into vc*.c and vp*.c files. Many fields in the existing structures are
superfluous, and should be removed. Some code in voltage.c seems to be
duplicated; that code should be moved into functions of its own. Proper
voltage domain code should be created, as was done with the powerdomain
and clockdomains, and powerdomains should reference voltagedomains.

Thanks to Shweta Gulati <shweta.gulati@ti.com> for comments. Thanks
to Rajendra Nayak <rnayak@ti.com> for finding and fixing some bugs
that prevented OMAP4 from booting:

https://patchwork.kernel.org/patch/587311/

His patch has been folded into this one to avoid breaking OMAP4
between patches. Thanks also to Kevin Hilman <khilman@ti.com> for
finding and fixing a compile problem when !CONFIG_PM:

http://www.spinics.net/lists/arm-kernel/msg118067.html

His patch has also been folded into this one to avoid breaking
!CONFIG_PM builds.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Shweta Gulati <shweta.gulati@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
akefile
map_opp_data.h
pp3xxx_data.c
pp4xxx_data.c
c.h
c3xxx_data.c
c44xx_data.c
oltage.c
oltage.h
oltagedomains3xxx_data.c
oltagedomains44xx_data.c
p.h
p3xxx_data.c
p44xx_data.c
94a06b74e724caabcf0464c81527cfbcae0c8aff 11-Mar-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.39/pm-misc' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
9062511097683b4422f023d181b4a8b2db1a7a72 23-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP3: PM: Clear the SCTLR C bit in asm code to prevent data cache allocation

On the newer ARM processors like CortexA8, CortexA9, the caches can be
speculatively loaded while they are getting flushed.

Clear the SCTLR C bit to prevent further data cache allocation as
part of cache clean routine

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
leep34xx.S
46f557cb453b9f3b6dc36b8179c2c36932a2ea64 23-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP3: PM: Remove un-necessary cp15 registers form low power cpu context

The current code saves few un-necessary registers which are read-only or
write-only, unused CP15 registers.

Remove them and keep only necessary CP15 registers part of
low power context save/restore.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
leep34xx.S
c9749a352383d4d2d25eb28062afd1a7eee115b7 23-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP3: PM: Allow the cache clean when L1 is lost.

When L1 cache is suppose to be lost, it needs to be cleaned before
entrering to the low power mode.

While at this, also fix few comments and remove un-necessary
clean_l2 lable.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
leep34xx.S
8409d57bc342536ffe96acc7cd6c7575d98d3edb 23-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP3: PM: Fix the MMU on sequence in the asm code

Add necessary barriers after enabling MMU. Also use the sane way to
load pc and jump to it instead of executing ldma first up.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
leep34xx.S
4444d712fd5b31f2348b57eaa2bbdc5e68c4e1b6 23-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP3: PM: Use ARMv7 supported instructions instead of legacy CP15 ones

On ARMv7 dsb, dmb instructions are supported and can be used directly
instead of their cp15 equivalnet. Also remove the opcodes for smc
and use the available instruction directly in OMAP3 low power asm code

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
leep34xx.S
42924355204bd83d799bd151211ae6e014982849 10-Mar-2011 Tony Lindgren <tony@atomide.com> omap: Fix H4 init_irq to not call h4_init_flash

There should be no reason to call h4_init_flash this
early. It causes problems as things are not yet initialized.

Tested-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
570b54c7fae65b65320d5a7d4b2249c86eeaa497 10-Mar-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: clockdomain: add flag that will block autodeps from being added for a clockdomain

Add a new clockdomain flag, CLKDM_NO_AUTODEPS, which, when marked on a
clockdomain, will prevent "autodeps" from being associated with the
clockdomain. ("Autodeps" are sleep dependencies and wakeup
dependencies from/to processor modules that are automatically added to
a clockdomain when it is in hardware-supervised idle mode. They are
deprecated -- a relic from the old CDP trees -- but are still in use
for OMAP3.)

Also, prevent the hwmod code from adding or removing initiator
dependencies for clockdomains with this flag set.

This patch should allow others to test which clockdomains actually
still need autodeps.

Thanks to Kevin Hilman <khilman@ti.com> for noting that the original
version should also modify the hwmod code.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
lockdomain.c
lockdomain.h
map_hwmod.c
9599217a06da5f5a95794ca9192c14317d441187 10-Mar-2011 Kishon Vijay Abraham I <kishon@ti.com> OMAP2+: hwmod: add API to handle autoidle mode

Create a new API that forms a wrapper to _set_module_autoidle()
to modify the AUTOIDLE bit.

This API is intended to be used by drivers that requires direct
manipulation of the AUTOIDLE bits in SYSCONFIG register.
McBSP driver requires autoidle bit to be enabled/disabled while
using sidetone feature.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: restrict the hwmod states that the autoidle bit can be changed
in; changed function name; dropped "int" from "unsigned int long"]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
43b01643355672a266b95c4719f47cd1abac4680 10-Mar-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: allow board files to prevent devices from being reset upon init

Some boards can't tolerate IP blocks being reset when they are initialized.
Michael Büsch cites a case with the Nokia N810:

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

To allow such boards to continue working normally, allow board file
maintainers to mark IP blocks to prevent them from being reset upon
init. This is done via a hwmod function, omap_hwmod_no_setup_reset().

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Michael Buesch <mb@bu3sch.de>
map_hwmod.c
cc1226e7635011c7dd1e786770ed51ee751800f2 04-Mar-2011 omar ramirez <omar.ramirez@ti.com> OMAP2+: hwmod: use status bit info for reset line

On OMAP2 and OMAP3 the reset ctrl shift doesn't match the
status bit, as it does on OMAP4, when handling the reset lines.

This patch adds a new member in the reset info structure, so now it
can be added as part of hwmod data, and checked accordingly for
OMAP2 or 3; otherwise, there could be cases when the shift masks
doesn't match both of the registers, and a successful reset might
throw an error message or vice versa.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
[paul@pwsan.com: added a warning if st_shift used on OMAP4; renamed 'r'
variable; improved some documentation]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
rm2xxx_3xxx.c
rm2xxx_3xxx.h
09c35f2fee8a8633dde7b8b588b1cb496eb220a1 16-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP2+: hwmod: Fix what _init_clock returns

_init_clock always returns 0 and does
not propogate the error (in case of failure)
back to the caller, causing _init_clocks to
fail silently.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
d73d65fab1c29c3c0f9736aed9cb55ea53843b00 03-Mar-2011 Avinash.H.M <avinashhm@ti.com> omap: hwmod: add syss reset done flags to omap2, omap3 hwmods

Some of the omap2, omap3 peripherals support software reset. This
can be done through the softreset bit in sysconfig register.
The reset status can be checked through resetdone bit of
sysstatus register. syss_has_reset_status is added to the hwmod
database of peripherals which have resetdone bit in sysstatus register.

Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Reviewed-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Avinash.H.M <avinashhm@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
8985b63d072413f0446fd2d0d654795f2d683323 03-Mar-2011 Tarun Kanti DebBarma <tarun.kanti@ti.com> OMAP2+: hwmod: fix incorrect computation of autoidle_mask

Autoidle is a single bit, TIOCP_CFG[0], setting on OMAP1/2/3/4 platforms.
In _set_module_autoidle() I am seeing 0x3 value where the mask is computed.
This should be 0x1.

v2:
(1) Modified the subject.
(2) Modified the description with further specific information.

Baseline:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

Tested Info:
Boot tested on OMAP 1/2/3/4.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
478f478bc1a58f97f09fd2048488bafdfa9d8fce 25-Feb-2011 Benoit Cousson <b-cousson@ti.com> OMAP3: hwmod data: Remove masters port links for interconnects.

Master ports from interconnect are generating some annoying circular
references that become tricky to handle if we have to dynamically
remove some IP on some variant platforms.
Since they are not used for the moment, and since we can still build
that relation using the reverse relation (slave port from the IP
toward master port of the interconnect), let remove them for the
moment like it is done on OMAP4.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
map_hwmod_3xxx_data.c
b9ccf8afe2d2eafe18f90d2925f8464313fe0b56 10-Mar-2011 Benoit Cousson <b-cousson@ti.com> OMAP3: hwmod data: Fix incorrect SmartReflex -> L4 CORE interconnect links

Commit d34427267186827dfd62bd8cf726601fffb22534 ("OMAP3: PM: Adding
smartreflex hwmod data") added data that claims that the L4 CORE has
two slave interfaces that originate from the SmartReflex modules,
omap3_l4_core__sr1 and omap3_l4_core__sr2. But as those two data
structure records show, it's L4 CORE that has a master port towards
SR1 and SR2.
Move the incorrect data from slaves list to master list.

Based on a path by Paul Walmsley <paul@pwsan.com>

https://patchwork.kernel.org/patch/623171/

That is based on a patch by Benoît Cousson <b-cousson@ti.com>:

https://patchwork.kernel.org/patch/590561/

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Thara Gopinath <thara@ti.com>
map_hwmod_3xxx_data.c
b481cea34bb41f3731567c8c1be0625bf80d20b7 10-Mar-2011 Felipe Balbi <balbi@ti.com> OMAP: clock: fix compile warning

if building kernels without OMAP2 support, we
will see a warning such as:

arch/arm/mach-omap2/io.c: In function 'omap2_init_common_infrastructure':
arch/arm/mach-omap2/io.c:389:3: warning: statement with no effect
arch/arm/mach-omap2/io.c:391:3: warning: statement with no effect

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2xxx.h
b1ace38094c4926255343a81faba8fb4faf59a45 17-Feb-2011 Anand S Sawant <sawant@ti.com> OMAP2+: smartreflex: remove SR debug directory in omap_sr_remove()

omap_sr_probe() creates the smartreflex debug directory and its
underlying nvalue debug directory. These directories are removed in
omap_sr_remove().

Basic smartreflex functionality tested on OMAP3630 Zoom3 & OMAP4430 SDP

Signed-off-by: Anand S Sawant <sawant@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
dd31394779aa288eb6b9c42672ffcb6d05d6c414 04-Mar-2011 Dave Martin <dave.martin@linaro.org> ARM: omap3: Thumb-2 compatibility for sleep34xx.S

* Build unconditionally as ARM for correct interoperation with
OMAP firmware.

* Fix an out-of-range ADR when building for ARM.

* Remove deprecated PC-relative stores.

* Add the required ENDPROC() directive for each ENTRY().

* .align before data words.

* Handle non-interworking return from v7_flush_dcache_all.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Kevin Hilman <khilman@ti.com>
leep34xx.S
ef7a87d34064eb87866d02547ee67060e5e49eb9 04-Mar-2011 Dave Martin <dave.martin@linaro.org> ARM: omap3: Thumb-2 compatibility for sram34xx.S

* Build unconditionally as ARM for correct interoperation with
OMAP firmware.

* Remove deprecated PC-relative stores

* Add the required ENDPROC() directive for each ENTRY().

* .align before data words

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Tested-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
ram34xx.S
76d500182061dcc7508e6b829af097348fa7d804 04-Mar-2011 Dave Martin <dave.martin@linaro.org> ARM: omap3: Remove hand-encoded SMC instructions

For various reasons, Linux now only officially supports being built
with tools which are new enough to understand the SMC instruction.

Replacing the hand-encoded instructions when the mnemonic also
allows for correct assembly in Thumb-2 (otherwise, the result is
random data in the middle of the code).

The Makefile already ensures that this file is built with a high
enough gcc -march= flag (armv7-a).

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
leep34xx.S
f96bdfa0d036393741fce303ea98abb44452d042 04-Mar-2011 Dave Martin <dave.martin@linaro.org> ARM: omap4: Convert END() to ENDPROC() for correct linkage with CONFIG_THUMB2_KERNEL

Code marked with ENTRY() also needs a matching ENDPROC() directive,
in order to ensure that the type and instruction set of the
symbol are correctly annotated.

ENDPROC() tags the affected symbol as a function symbol, which will
ensure that link-time fixups don't accidentally switch to the
wrong instruction set.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map-headsmp.S
map44xx-smc.S
85243a762457f7891ae525df39ad44323b3eeea6 04-Mar-2011 Dave Martin <dave.martin@linaro.org> ARM: omap4: Provide do_wfi() for Thumb-2

For CONFIG_THUMB2_KERNEL, the existing definition of do_wfi() will
insert invalid code into the instruction stream.

Any assembler which can assemble Thumb-2 is guaranteed to accept
the "wfi" mnemonic, so for the Thumb-2 case, just use the mnemonic.

The ARM case is left as-is.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Kevin Hilman <khilman@ti.com>
nclude/mach/omap4-common.h
2de0baefaa7f2fad221bba6049e389e39990e2f0 25-Feb-2011 Sanjeev Premi <premi@ti.com> OMAP3: PM: Initialize IVA only if available

IVA device is not present in many OMAP3 variants.

This patch ensures that initialization is tied to
the presence of IVA on the device.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m.c
4071318983ff2dead7fd2caf85498bcd8956d93e 15-Feb-2011 Thara Gopinath <thara@ti.com> OMAP3: PM: Set/clear T2 bit for Smartreflex on TWL

Voltage control on TWL can be done using VMODE/I2C1/I2C_SR.
Since almost all platforms use I2C_SR on omap3, omap3_twl_init by
default expects that OMAP's I2C_SR is plugged in to TWL's I2C
and calls omap3_twl_set_sr_bit. On platforms where I2C_SR is not connected,
the board files are expected to call omap3_twl_set_sr_bit(false) to
ensure that I2C_SR path is not set for voltage control and prevent
the default behavior of omap3_twl_init.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Kevin Hilman <khilman@ti.com>
map_twl.c
m.h
8c5ca4d29bf44eb4eb004683ca745742040c7486 11-Feb-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> omap3: cpuidle: Add description field to each C-state.

Add a description field to each idle C-state. This helps to give
better data with PowerTop and one don't have to refer to the code
to link what Cx means from system point of view while analysing
PowerTop data.

No functional change.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
puidle34xx.c
261bfb286eab32aa6129f48d2b2d24f20825757b 11-Feb-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> omap3: pm: Use exported set_cr() instead of a custom one.

Remove the custom restore_control_register() and use the exported
set_cr() instead to set the system control register(SCTRL) value.

No functional change.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m34xx.c
51d070afd6f927752c76a0cc537c73737578bb93 27-Jan-2011 Paul Walmsley <paul@pwsan.com> OMAP2/3: PM: remove unnecessary wakeup/sleep dependency clear

The OMAP2 and OMAP3 PM code clears clockdomain wakeup and sleep
dependencies. This is unnecessary after commit
6f7f63cc9adf3192e6fcac4e8bed5cc10fd924aa ("OMAP clockdomain:
initialize clockdomain registers when the clockdomain layer starts")
which clears these dependencies during clockdomain init.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m24xx.c
m34xx.c
df93bd76b61639fe9093ccbfc5d1a4bfb744ec47 21-Jan-2011 Kevin Hilman <khilman@ti.com> OMAP2+: remove unused UART base addresses from omap_globals

Now that omap_hwmod + omap_device is used for OMAP UART device and
driver code, we no longer need the UART physical addresses in
omap_globals.

Note that the #defines for the base addresses are still left in
<plat/serial.h> since they are used by DEBUG_LL and uncompress code.

Build tested for OMAP1 (omap1_defconfig) and OMAP2+ (omap2plus_defconfig)

Signed-off-by: Kevin Hilman <khilman@ti.com>
ommon.c
5c56f32e80ac8ea9878a0a5eb9ca99c703e953ab 19-Jan-2011 Vasiliy Kulikov <segoon@openwall.com> OMAP: PM: SmartReflex: fix potential NULL dereference

kzalloc() may fail, if so return -ENOMEM. Also Walter Harms suggested
to use kasprintf() instead of kzalloc+strcpy+strcat.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
8743410d4971c5510a7d09293f5f3f89d8081059 07-Jan-2011 Nishanth Menon <nm@ti.com> OMAP3: beagle xm: enable up to 800MHz OPP

OMP3630 silicon can enable higher frequencies only depending on the board
characteristics meeting the recommended standards, and has to be selectively
toggled.

Beagle XM uses 3730 variant and the board design allows enabling 800MHz and
1GHz OPPs. However, We need Smart reflex class 1.5 and ABB to enable 1GHz
safely. For the moment, we tweak the default table to allow for 800Mhz OPP
usage.

Reported-by: Koen Kooi <koen@beagleboard.org>
Tested-by: Koen Kooi <koen@beagleboard.org>

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
oard-omap3beagle.c
eb05ead90ddb2a4e51d34f6c25f01c2e0653da59 05-Jan-2011 Menon, Nishanth <nm@ti.com> OMAP3|4: OPP: make omapx_opp_init non-static

omap3 and omap4 opp_init should be made non-static to allow
for platform specific opp table tweaking. making these static
conflicts with the definition in pm.h(global) as well.
we include pm.h as well to ensure that there are no such prototype
conflicts with actual implementation in the future.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
pp3xxx_data.c
pp4xxx_data.c
e16b41bfd5efaa1f9521449f1f0e341ebec73398 31-Jan-2011 Ricardo Salveti de Araujo <ricardo.salveti@canonical.com> OMAP3630: PM: don't warn the user with a trace in case of PM34XX_ERRATUM

In case in user has a OMAP3630 < ES1.2 the kernel should warn the user
about the ERRATUM, but using pr_warn instead of WARN_ON is already
enough, as there is nothing else the user can do besides changing the
board.

Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
puidle34xx.c
m34xx.c
0dde52a9f5330eec240660191a94b51bd911ffcd 09-Mar-2011 Tony Lindgren <tony@atomide.com> Merge branch 'omap-l3-for-next' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into omap-for-linus
c39bee8ac4aca750c85609ba0847599b36feb693 04-Mar-2011 Paul Walmsley <paul@pwsan.com> OMAP2/3: VENC hwmod: add OCPIF_SWSUP_IDLE flag to interface

According to the hwmod interface data, the DSS submodule "VENC" uses a
clock, "dss_54m_fck"/"dss_tv_fck", which the PRCM cannot autoidle. By
default, the hwmod code assumes that interface clocks can be autoidled
by the PRCM. When the interface clock can't be autoidled by the PRCM,
those interfaces must be marked with the OCPIF_SWSUP_IDLE flag.
Otherwise, the "interface clock" will always have a non-zero use
count, and the device won't enter idle. This problem was observed on
N8x0.

Fix the immediate problem by marking the VENC interface with the
OCPIF_SWSUP_IDLE flag. But it's not clear that
"dss_54m_fck"/"dss_tv_fck" is really the correct interface clock for
VENC. It may be that the VENC interface should use a
hardware-autoidling interface clock. This is the situation on OMAP4,
which uses "l3_div_ck" as the VENC interface clock, which can be
autoidled by the PRCM. Clarification from TI is needed.

Problem found and patch tested on N8x0 by Tony Lindgren
<tony@atomide.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Senthilvadivu Guruswamy <svadivu@ti.com>
Cc: Sumit Semwal <sumit.semwal@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
2722e56de60390969cf118933842b3f2f3c8d6b8 07-Mar-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: l3: Introduce l3-interconnect error handling driver

The driver provides the information regarding the ocp errors
that gets logged in the interconnect. The error information
gives the detail regarding the target that was attempted
to be accessed and its corresponding address.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
akefile
map_l3_noc.c
map_l3_noc.h
a4dc616ae321b5007fba0700fbd39ef13ced750b 09-Mar-2011 sricharan <r.sricharan@ti.com> OMAP4: Initialise the l3 device with the hwmod data.

The l3 interconnect device is build with all the data required
to handle the error logging. The data is extracted from the
hwmod data base.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: sricharan <r.sricharan@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
evices.c
c464523488063f240652c445fcae2ca8a0eb2647 07-Feb-2011 sricharan <r.sricharan@ti.com> OMAP4: hwmod_data: Add address space and irq in L3 hwmod.

Add the address spaces, irqs of the l3 interconnect to the
hwmod data. The hwmod change is aligned with Benoit Cousson.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: sricharan <r.sricharan@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
map_hwmod_44xx_data.c
e2fa61d409195550b3b05b213d7715bc67b0e855 07-Mar-2011 Felipe Balbi <balbi@ti.com> OMAP3: l3: Introduce l3-interconnect error handling driver

The driver provides the information regarding the ocp errors
that gets logged in the interconnect.The error info provides
the details regarding the master or the target that
generated the error, type of error and the corresponding address.
The stack dump is also provided.

Signed-off-by: sricharan <r.sricharan@ti.com>
[r.sricharan@ti.com: Enhacements, major cleanup and made it functional]
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[santosh.shilimkar@ti.com: Driver design changes as per OMAP4 version]
Signed-off-by: Felipe Balbi <balbi@ti.com>
[balbi@ti.com: Initial version of the driver]
Acked-by: Benoit Cousson <b-cousson@ti.com>
akefile
map_l3_smx.c
map_l3_smx.h
0abcf6185eb87b9e00a821513802e56200378a6a 08-Feb-2011 sricharan <r.sricharan@ti.com> OMAP3: devices: Initialise the l3 device with the hwmod data.

The l3 interconnect device is build with all the data required
to handle the error logging. The data is extracted from the
hwmod database.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
evices.c
4bb194dc9471c79caa1952ecdb31148074ac1abf 08-Feb-2011 sricharan <r.sricharan@ti.com> OMAP3: hwmod_data: Add address space and irq in L3 hwmod.

Add the address spaces, irqs of the l3 interconnect to the
hwmod data. The hwmod changes are aligned with Benoit Cousson.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
map_hwmod_3xxx_data.c
4bdb157749a0da065e532f2f46040c178075b06f 22-Feb-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: 6755/1: omap4: l2x0: Populate set_debug() function and enable Errata 727915

Populate the l2x0 set_debug function pointer with OMAP secure call
and enable the PL310 Errata 727915

This patch has dependency on the earlier patch
ARM: l2x0: Errata fix for flush by Way operation can cause data
corruption

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
config
map4-common.c
0640b436e410290193f554dcfd777bcdeee59697 08-Mar-2011 Abhilash Vadakkepat Koyamangalath <x0151633@psplinux051.india.ti.com> audio : AM3517 : Adding i2c info for AIC23 codec

The i2c_board_info entry supporting AIC23 codec was added into
the i2c2 bus.

Signed-off-by: Abhilash K V <abhilash.kv@ti.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
8c810e7e14457d97706d4c6de4bb4847e3715d1b 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2xxx: clock data: clean up some comments

Minor cleanup of some clock data comments. No functional changes.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2420_data.c
lock2430_data.c
a4fc92748e969b1312f283b0d1baf657329f2907 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2xxx: clock: fix clockdomains on gpt7_ick, 2430 mmchs2_fck clocks

Add a clockdomain to the GPTIMER7 interface and 2430 HSMMC2 functional
clocks - both were previously missing them.

Also, the 2430 mmchs1_fck is in core_l3_clkdm, but should be in
core_l4_clkdm; fix this.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2420_data.c
lock2430_data.c
691abf525d3d215f2e4eab7a015ef2b6375c58a5 11-Feb-2011 Sanjeev Premi <premi@ti.com> omap2/3: clockdomains: fix compile-time warnings

This patch fixes these warnings when building kernel for OMAP3EVM
only.

CC arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.o
arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c:95: warning:
'dsp_24xx_wkdeps' defined but not used
arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c:119: warning:
'mpu_24xx_wkdeps' defined but not used
arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c:147: warning:
'core_24xx_wkdeps' defined but not used

The problem should be noticed when building for other OMAP3
platforms (only) as well.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomains2xxx_3xxx_data.c
224113969dc9cc7a55f69da4dde5dc3fd1bbeb76 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2xxx: clock: remove dsp_irate_ick

After commit 81b34fbecbfbf24ed95c2d80d5cb14149652408f ("OMAP2 clock:
split OMAP2420, OMAP2430 clock data into their own files"), it's
possible to remove dsp_irate_ick from the OMAP2420 and OMAP2430 clock
files. It was originally only needed due to a 2420/2430 clock tree difference,
and now that the data is in separate files, it's superfluous.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.h
lock2420_data.c
lock2430_data.c
lock_common_data.c
241d3a8dca239610d3d991bf58d4fe38c2d86fd5 16-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: clock: remove the DPLL rate tolerance code

Remove the DPLL rate tolerance code that is called during rate
rounding. As far as I know, this code is never used, since it's been
more important for callers of the DPLL round_rate()/set_rate()
functions to obtain an exact rate than it is to save a relatively
small amount of power.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lkt_dpll.c
lock.h
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
19c1c0ce9ddc45fe8f84b6cf12ba9dbecd7b1aa1 16-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2xxx: clock: fix interface clocks and clockdomains for modules in the WKUP domain

The parent of the interface clocks for GPTIMER1, MPU_WDT,
SYNCTIMER_32K, SCM, WDT1, and the ICR (2430 only) were all listed as
being l4_ck. This isn't accurate; these modules exist inside the WKUP
domain, and the interface clock to these modules runs at the SYS_CLK
rate rather than the CORE L4 rate.

So, create a new clock "wu_l4_ick", similar to the OMAP3
"wkup_l4_ick", that serves as the parent for these clocks.

Also, these clocks were listed as existing inside core_l4_clkdm;
wkup_clkdm is probably more accurate.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2420_data.c
lock2430_data.c
3f9cfd3a47a07c93ff00a1a4ca067ada87e4076a 16-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2xxx: clock: fix low-frequency oscillator clock rate

The OMAP2420/2430 external 32-kHz low-frequency oscillator is a 32768
Hz oscillator, not a 32,000 Hz oscillator[1][2]. Fix this in the clock
tree.

Signed-off-by: Paul Walmsley <paul@pwsan.com>

1. OMAP2420/22 Multimedia Processor Data Manual, Version P [SWPS019P],
section 5.1.4 "External 32-kHz CMOS Clock" (note that it refers to
a "32.768-kHz" clock; this presumably should be "32.768-KHz")

2. OMAP2430 Multimedia Processor ES2.1 Data Manual, Version V [SWPS023V],
section 5.1.4 "External 32-kHz CMOS Clock" (note that it refers to
a "32.768-kHz" clock; this presumably should be "32.768-KHz")
lock2420_data.c
lock2430_data.c
a1fed577ddc0ca0ec7cf5e5ee033fe3df4192ebd 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2xxx: clock: fix parents for L3-derived clocks

Several clocks are listed as having the core L4 clock as their parent,
when they are actually derived from the L3 clock. Fix these.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2420_data.c
lock2430_data.c
e1d6f4729e9fd46efa1029b6e806bb8b6c24e776 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP: voltage: move plat/voltage.h to mach-omap2/voltage.h

At this point in time, there's no reason for this header file to be in
plat-omap/include/plat/voltage.h. It should not be included by device
drivers, and the code that uses it is currently all under mach-omap2/.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_twl.c
m.c
martreflex.h
r_device.c
oltage.c
oltage.h
7328ff4d72401835fa1aadfb9e574a2133bd952b 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP: smartreflex: move plat/smartreflex.h to mach-omap2/smartreflex.h

There's no reason for this header file to be in
plat-omap/include/plat/smartreflex.h. The hardware devices are in
OMAP2+ SoCs only. Leaving this header file in plat-omap causes
problems due to cross-dependencies with other header files that should
live in mach-omap2/.

Thanks to Benoît Cousson <b-cousson@ti.com> for suggesting the removal
of the smartreflex.h include from the OMAP3xxx hwmod data.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
map_hwmod_3xxx_data.c
martreflex-class3.c
martreflex.c
martreflex.h
r_device.c
4ef70c0694bf428d9f1d4722edaffa1dc5fa39e1 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2/3: PM: remove manual CM_AUTOIDLE bit setting in mach-omap2/pm*xx.c

These CM_AUTOIDLE bits are now set by the clock code via the common PM
code in mach-omap2/pm.c.

N.B.: The pm24xx.c code that this patch removes didn't ensure that the
CM_AUTOIDLE bits were set for several 2430-only modules, such as
GPIO5, MDM_INTC, MMCHS1/2, the modem oscillator clock, and USBHS.
Similarly, the pm34xx.c code that this patch removes didn't ensure
that the CM_AUTOIDLE bits were set for USIM and the AM3517 UART4.
Those cases should now be handled.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
m24xx.c
m34xx.c
ec538e30f7eded2c4af8d9184619a3de65bc378e 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP3: clock: use autoidle clkops for all autoidle-controllable interface clocks

Mark each interface clock with a corresponding CM_AUTOIDLE bit with
a clkops that has the allow_idle/deny_idle function pointers populated.
This allows the OMAP clock framework to enable and disable autoidle for
these clocks.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
lock34xx.c
lock34xx.h
lock3517.c
lock3xxx_data.c
a1d5562315a1e911c8448b7fac33c966f9cb6294 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2430: clock: use autoidle clkops for all autoidle-controllable interface clocks

Mark each interface clock with a corresponding CM_AUTOIDLE bit with
a clkops that has the allow_idle/deny_idle function pointers populated.
This allows the OMAP clock framework to enable and disable autoidle for
these clocks.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
lock2430_data.c
e892b2528b8dc9eef8ca3f9af7b5b650b4e90bea 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2430/3xxx: clock: add modem clock autoidle support

OMAP2430 and OMAP3xxx have modem autoidle bits that are actually
attached to clocks with CM_FCLKEN bits; add the code and data to
handle these.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
lkt_iclk.c
lock.h
6ae690da1b6315f34ab7312bd2a02d49a606ccf7 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2420: clock: use autoidle clkops for all autoidle-controllable interface clocks

Mark each interface clock with a corresponding CM_AUTOIDLE bit with
a clkops that has the allow_idle/deny_idle function pointers populated.
This allows the OMAP clock framework to enable and disable autoidle for
these clocks.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
lock2420_data.c
m-regbits-24xx.h
a56d9ea865e42a6bf6393fc3d3a143553dbf68c5 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2420: clock: add sdrc_ick

Add sdrc_ick to the OMAP2420 clock data so the clock code can control
the CM_AUTOIDLE bit associated with this clock.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
lock2420_data.c
m-regbits-24xx.h
530e544fdadb934470c5c2b0e8d60c3d5386c161 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: clock: add interface clock type code with autoidle support

Add interface clock type code with autoidle enable/disable support.
The clkops structures created in this file will be used for all
OMAP2/3 interface clocks with autoidle support. They will enable the
clock framework to control interface clock autoidle directly.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
akefile
lkt_iclk.c
lock.h
cc1d230cfbc1622be4bf16568f468054be8c5d2e 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: clock: comment that osc_ck/osc_sys_ck should use clockfw autoidle control

Place some comments in the OMAP oscillator clock control code to note that
its autoidle mode should eventually be controlled via the new OMAP clockfw
autoidle control interface.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
lkt2xxx_osc.c
92618ff8b025419960e2e845983f0f49b0cb57a9 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2xxx: clock: add clockfw autoidle support for APLLs

OMAP2xxx devices have two on-chip APLLs. These APLLs can
automatically enter idle when not in use. Connect the APLL autoidle
code to the clock code, so that the clock framework can handle this
process. As part of this patch, remove the code in mach-omap2/pm24xx.c
that previously handled APLL autoidle control.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
lkt2xxx_apll.c
m2xxx_3xxx.c
m2xxx_3xxx.h
m24xx.c
0fd0c21be71293d8a54d9075b18b5a25a1868057 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2: clock: add DPLL autoidle support

Add the necessary code and data to allow the clock framework to enable
and disable the OMAP2 DPLL autoidle state. This is so the direct
register access can be moved out of the mach-omap2/pm24xx.c code, and other
code that needs to control this (e.g., CPUIdle) can do so via an API.
As part of this patch, remove the pm24xx.c code that formerly wrote
directly to the autoidle bits.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
akefile
lkt2xxx_dpll.c
lock.h
lock2420_data.c
lock2430_data.c
m2xxx_3xxx.c
m2xxx_3xxx.h
m24xx.c
694606c4ef54f596bfb2a7c1d4de8ac0e096a636 08-Mar-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: powerdomain: add pwrdm_can_ever_lose_context()

Some drivers wish to know whether the device that they control can
ever lose context, for example, when the device's enclosing
powerdomain loses power. They can use this information to determine
whether it is necessary to save and restore device context, or whether
it can be skipped. Implement the powerdomain portion of this by
adding the function pwrdm_can_ever_lose_context(). This is not for
use directly from driver code, but instead is intended to be called
from driver-subarch integration code (i.e., arch/arm/*omap* code).

Currently, the result from this function should be passed into the
driver code via struct platform_data, but at some point this should
be part of some common or OMAP-specific device code.

While here, update file copyrights.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
owerdomain.h
4cb49fec12e219ec174e04157f71c00f63eb4ce4 08-Mar-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: powerdomain: fix bank power state bitfields

The bank power state bitfields in the powerdomain data are
encoded incorrectly. These fields are intended to be bitfields,
representing a set of power states that the memory banks support.
However, when only one power state was supported by a given bank,
the field was incorrectly set to the bit shift -- not the mask.
While here, update some file copyrights.

The OMAP4 autogeneration scripts have been updated accordingly.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
owerdomains2xxx_3xxx_data.c
owerdomains2xxx_data.c
owerdomains3xxx_data.c
owerdomains44xx_data.c
cad7a34b3afcd02e8e6bef5007e4b12f6cc8ec24 08-Mar-2011 Paul Walmsley <paul@pwsan.com> OMAP2/3: WKUP powerdomain: mark as being always on

Mark the WKUP powerdomain as being always on -- at least, as long as the
chip has power. This will be used to enable the powerdomain code to
determine whether a given powerdomain is ever able to power off. While
here, update the file copyright.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomains2xxx_3xxx_data.c
09173b589d547c002b6a2b560e150c4d7bb56c99 16-Feb-2011 Anand Gadiyar <gadiyar@ti.com> arm: omap4: 4430sdp: drop ehci support

Most revisions of the OMAP4 Blaze/SDP platform do not have
the EHCI signals routed by default. The pads are routed
for the alternate HSI functionality instead, and explicit
board modifications are needed to route the signals to
the USB PHY on the board.

Also, turning on the PHY connected to the EHCI port causes
a board reboot during bootup due to an unintended short
on the rails - this affects many initial revisions of the
board, and needs a minor board mod to fix (or as a
workaround, one should not attempt to power on the
USB PHY).

Given that these boards need explicit board mods to even
get EHCI working (separate from the accidental short above),
we should not attempt to enable EHCI by default.

So drop the EHCI support from the board files for the
Blaze/SDP platforms.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Keshava Munegowda <keshava_mgowda@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
oard-4430sdp.c
cd97bb003276a66b2174e5dc589748e5c4bc357e 04-Mar-2011 Benoit Cousson <b-cousson@ti.com> Revert "OMAP4: hwmod data: Prevent timer1 to be reset and idle during init"

The following commit: 38698be:
OMAP2+: clockevent: set up GPTIMER clockevent hwmod right before timer init

Fixed properly the issue with early init for the timer1

So reverts commit 3b03b58dab847883e6b9a431558c7d8e43fa94c6 that is now
generated a warning at boot time.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
077f8ec889bb1eb26a7128fdbc75922755ed2320 03-Mar-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.38/pm-fixes' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into devel-fixes
525a11381bcad9a7f55d0bac9c8676fe71819002 02-Mar-2011 Hari Kanigeri <h-kanigeri2@ti.com> omap: mailbox: resolve hang issue

omap4 interrupt disable bits is different. On rx kfifo full, the mbox rx
interrupts wasn't getting disabled, and this is causing the rcm stress tests
to hang.

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Armando Uribe <x0095078@ti.com>
Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
b2833a0578453449dce1b8b8e54f67a544c5e37f 03-Mar-2011 Tony Lindgren <tony@atomide.com> Merge branches 'devel-iommu-mailbox', 'devel-mcbsp', 'devel-board' and 'devel-hsmmc' into omap-for-linus

Conflicts:
arch/arm/mach-omap2/omap_hwmod_44xx_data.c
12d7d4e0ed8fecf7f74c89483b55b300be6e5901 03-Mar-2011 Tony Lindgren <tony@atomide.com> Merge branch 'devel-cleanup' into omap-for-linus

Conflicts:
arch/arm/mach-omap2/timer-gp.c
6a58baf8f222f60cded29770ff9a0f6f6c100b64 02-Mar-2011 Ilkka Koskinen <ilkka.koskinen@nokia.com> omap: Remove unnecessary twl4030_codec_audio settings from board files

twl4030_codec_audio and twl4030_codec_vibra_data has unused field.
In order to remove it, corresponding settings needs to be removed
from board files.

Signed-off-by: Ilkka Koskinen <ilkka.koskinen@nokia.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-devkit8000.c
oard-igep0020.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
oard-zoom-peripherals.c
b7a834cc7d08276bf080077b3499d88f73e303ba 25-Feb-2011 Ilkka Koskinen <ilkka.koskinen@nokia.com> omap: rx51: Add support for vibra

Add support for vibra

Signed-off-by: Ilkka Koskinen <ilkka.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
ec179ea5361cdd34bf4e6d6bdfe02d6f4d6901b2 25-Feb-2011 Guy Eilam <guy@wizery.com> omap: panda: Add TI-ST driver support

Added the KIM (Kernel initialization module for the
Shared Transport driver) device entry in the board file

Only the Blutooth enable GPIO is set for now

Signed-off-by: Guy Eilam <guy@wizery.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
f463effebefb26f1dffb92d10725e938f4497bef 24-Feb-2011 Tony Lindgren <Nayak> ldp: Fix regulator mapping for ads7846 TS controller

On the OMAP3430LDP board, the ads7846 touchscreen controller
is powered by VAUX1 regulator (supplying 3.0v).
Fix this mapping in the board file, and hence prevent
the ads7846 driver init to fail with the below error..

ads7846 spi1.0: unable to get regulator: -19

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-ldp.c
b3329a33b5a3902e65c5517f41c374f5adb060e1 15-Feb-2011 Shweta Gulati <shweta.gulati@ti.com> OMAP2+: PM: SmartReflex: fix memory leaks in Smartreflex driver

This Patch frees all the dynamically allocated memory
which couldn't have been released in some error hitting cases.

Signed-off-by: Shweta Gulati <shweta.gulati@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
865212abb5268d56ab5e1035426bbeebba01138e 07-Feb-2011 Aaro Koskinen <aaro.koskinen@nokia.com> arm: mach-omap2: smartreflex: fix another memory leak

Temporary strings with volt_* file names should be released after the
debugfs entries are created. While at it, also simplify the string
allocation, and use just snprintf() to create the name.

The patch eliminates kmemleak reports with the following stack trace
(multiple objects depending on HW):

unreferenced object 0xcedbc5a0 (size 64):
comm "swapper", pid 1, jiffies 4294929375 (age 423.734s)
hex dump (first 32 bytes):
76 6f 6c 74 5f 39 37 35 30 30 30 00 00 00 00 00 volt_975000.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<c012fee0>] create_object+0x104/0x208
[<c012dbc8>] kmem_cache_alloc_trace+0xf0/0x17c
[<c0013f64>] omap_sr_probe+0x314/0x420
[<c02a1724>] platform_drv_probe+0x18/0x1c
[<c02a088c>] driver_probe_device+0xc8/0x188
[<c02a09b4>] __driver_attach+0x68/0x8c
[<c02a00ac>] bus_for_each_dev+0x44/0x74
[<c029f9e0>] bus_add_driver+0xa0/0x228
[<c02a0cac>] driver_register+0xa8/0x130
[<c02a1b2c>] platform_driver_probe+0x18/0x8c
[<c0013c1c>] sr_init+0x40/0x74
[<c005a554>] do_one_initcall+0xc8/0x1a0
[<c00084f4>] kernel_init+0x150/0x218
[<c0065d64>] kernel_thread_exit+0x0/0x8
[<ffffffff>] 0xffffffff

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
3ed4566ed2146ff8ac1cbaf2babdf04e50b66648 25-Feb-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: powerdomain: Use intended PWRSTS_* flags instead of values

IVAHD and ABE power domain logic state is populated using directly
value instead of the capability flags.

Fix the same.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[paul@pwsan.com: updated to apply at a different point on the tree]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomains44xx_data.c
1a9f5e89d67855385ed42b7b71167e2d3a39507a 08-Feb-2011 Benoit Cousson <b-cousson@ti.com> omap4: clockdomain: Fix the CPUx domain name

The register naming convention for clock domain control inside
power domain instance is:
OMAPXXXX_<partition>_<power_domain>_<clock_domain>_CDOFFS

Both CPU0 and CPU1 use MPU as clock domain name instead of CPU0
and CPU1.

Change the name to stick to the convention.
The autogen scripts are updated accordingly.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomains44xx_data.c
rcm_mpu44xx.h
0005ae73cfe44ee42d0be12a12cc82bf982f518e 28-Feb-2011 Kishore Kadiyala <kishore.kadiyala@ti.com> OMAP: hsmmc: Rename the device and driver

Modifying the device & driver name from "mmci-omap-hs" to
"omap_hsmmc".

Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Acked-by: Benoit Cousson<b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-4430sdp.c
oard-devkit8000.c
oard-igep0020.c
oard-igep0030.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap4panda.c
oard-rm680.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
lock2430_data.c
lock3xxx_data.c
lock44xx_data.c
smmc.c
4621d5f8cb435b1ba74efe6e0a7125febb40186b 28-Feb-2011 Kishore Kadiyala <kishore.kadiyala@ti.com> OMAP: adapt hsmmc to hwmod framework

OMAP2420 platform consists of mmc block as in omap1 and not the
hsmmc block as present in omap2430, omap3, omap4 platforms.
Removing all base address macro defines except keeping one for OMAP2420 and
adapting only hsmmc device registration and driver to hwmod framework.

Changes involves:
1) Remove controller reset in devices.c which is taken care of
by hwmod framework.
2) Using omap-device layer to register device and utilizing data from
hwmod data file for base address, dma channel number, Irq_number,
device attribute.
3) Update the driver to use dev_attr to find whether controller
supports dual volt cards

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Reviewed-by: Balaji T K <balajitk@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
CC: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
smmc.c
d8d0a61c658e252de3077f6076f13423642caf67 28-Feb-2011 Kishore Kadiyala <kishore.kadiyala@ti.com> OMAP: hsmmc: Move mux configuration to hsmmc.c

Moving the definition of mux setting API from devices.c to hsmmc.c
and renaming it from "omap2_mmc_mux" to "omap_hsmmc_mux".
Also calling "omap_hsmmc_mux" from omap2_hsmmc_init.

Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Cc: Chris Ball <cjb@laptop.org
Cc: Tony Lindgren <tony@atomide.com
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
smmc.c
6ab8946f672497a55625d2106250d2923125fdfb 01-Mar-2011 Kishore Kadiyala <kishore.kadiyala@ti.com> OMAP: hwmod data: Add dev_attr and use in the host driver

Add a device attribute to hwmod data of omap2430, omap3, omap4.
Currently the device attribute holds information regarding dual volt MMC card
support by the controller which will be later passed to the host driver via
platform data.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Acked-by: Benoit Cousson<b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
17203bdaf2fd0cda6ac941a7b3fb8416c57303c7 01-Mar-2011 Anand Gadiyar <gadiyar@ti.com> OMAP4: hwmod data: enable HSMMC

Enabling hsmmc hwmod for OMAP4

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Acked-by: Benoit Cousson<b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
b163605e3f2051e0cbd378d46a91cab2563b7ebf 01-Mar-2011 Paul Walmsley <paul@pwsan.com> OMAP3: hwmod data: Add HSMMC

Update the omap3 hwmod data with the HSMMC info.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_3xxx_data.c
rcm-common.h
bce06f375644f8b28fbc1d261699fdfe459733ad 01-Mar-2011 Paul Walmsley <paul@pwsan.com> OMAP2430: hwmod data: Add HSMMC

Update the omap2430 hwmod data with the HSMMC info.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2430_data.c
e08016d0f4fcfe038a402071ada3073c6ca8d62d 01-Mar-2011 Anand Gadiyar <gadiyar@ti.com> omap: mmc: split out init for 2420

The MMC controller on the OMAP2420 is different from those
on the OMAP2430, OMAP3 and OMAP4 families - all of the latter
are identical. The one on the OMAP2420 is closer to that
on OMAP1 chips.

Currently, the n8x0 is the only OMAP2420 platform supported
in mainline which registers the MMC controller. Upcoming
changes to register the controllers using hwmod data are
potentially invasive. To reduce the risk, separate out the
2420 controller registration from the common init function
and update its only user. Also seperating out mux settings
for OMAP2420.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Chris Ball <cjb@laptop.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
evices.c
53689ac1b677532be666a779e24b0ac9bd266354 01-Mar-2011 Keshava Munegowda <keshava_mgowda@ti.com> arm: omap: usb: clock entries for omap3 and omap4

The devices of clocks are set to usbhs, so that
only usbhs common driver can invoke these clocks.
The dummy per port clocks are added to omap3
clock data base. This helps to invoke common
clock get APIs for omap3 and omap4.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
lock3xxx_data.c
lock44xx_data.c
3b68ae73d8afa925807ebaae7eb14e2afd43f5b5 01-Mar-2011 Keshava Munegowda <keshava_mgowda@ti.com> arm: omap: usb: cleanup ehci and ohci resources and devices

The prototype and defination of functions usb_ehci_init and
usb_ohci_init are removed. The ehci and ohci devices are
removed since usbhs device contains both ehci and ohci details.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-host.c
9e64bb1e9f0613093b3e34ac5402fcfef0dcc35a 01-Mar-2011 Keshava Munegowda <keshava_mgowda@ti.com> arm: omap: usb: Invoke usbhs core device initialization

The usbhs intialization is invoked by all omap3 and omap4
variant board files.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-igep0020.c
oard-igep0030.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-zoom.c
2236396d4d23828a0875a4d447103d0ab48aed0b 01-Mar-2011 Keshava Munegowda <keshava_mgowda@ti.com> arm: omap: usb: usbhs core device initialization

A new usbhs platform device is defined;
this device will be the parent device of ehci and
ohci platform devices. the usbhs_init function
is defined which does the usbhs device initialization
and I/O mux of ehci and ohci.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-host.c
181b250cf53233a7a7c6d7e1e9df402506712e93 01-Mar-2011 Keshava Munegowda <keshava_mgowda@ti.com> arm: omap: usb: create common enums and structures for ehci and ohci

Create the ehci and ohci specific platform data structures.
The port enum values are made common for both ehci and ohci.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-igep0020.c
oard-igep0030.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-zoom.c
sb-host.c
a8480ea0bedbf049423a4caa9b09d371614c07dc 01-Mar-2011 Felipe Balbi <balbi@ti.com> arm: omap2: usb: rename usb-ehci.c to usb-host.c

We already have both EHCI and OHCI there, so let's
rename to be sure everybody will understand the entire
USB HOST functionality is setup on this file.

Signed-off-by: Felipe Balbi <balbi@ti.com>
akefile
sb-ehci.c
sb-host.c
a9031e5f0b82225ea676d729d68beb6c69799a67 01-Mar-2011 Felipe Balbi <balbi@ti.com> arm: omap: usb: host: add names to resources

add names to EHCI and OHCI resources. That will help us
identify the resource correctly when moving to a setup
where OHCI and EHCI play well together.

Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-ehci.c
fb91cde49c327ff957c55d91805bc6abda59b311 28-Feb-2011 Hema HK <hemahk@ti.com> usb: musb: OMAP4430: Power down the PHY during board init

Powerdown the internal PHY during board init for OMAP44xx.
So that when musb is disabled core transition to retention/off
is not blocked.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-musb.c
8c59ef38119102ccd2a8db6f19a8864a7c8d4e73 28-Feb-2011 Hema HK <hemahk@ti.com> usb: otg: OMAP4430: Save/restore the context

Add the context save/restore for the control module register
used for OMAP4430 musb with UTMI embedded PHY interface.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
map_phy_internal.c
aca6ad073ea820776bf5bdb87cf82eace35042c8 27-Feb-2011 Eyal Reizer <eyalr@ti.com> omap: omap3evm: add support for the WL12xx WLAN module to the omap3evm

This patch is again current omap-for-linus branch

Adds platform initialization for working with the WLAN module
attached to the omap3evm.
The patch includes MMC2 initialization, SDIO and control pins
muxing and platform device registration.

Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
38698bef545403a334cf92153874bd06dc22cc66 23-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: clockevent: set up GPTIMER clockevent hwmod right before timer init

Set up the GPTIMER hwmod used for the clockevent source immediately
before it is used. This avoids the need to set up all of the hwmods
until the boot process is further along. (In general, we want to defer
as much as possible until late in the boot process.)

This second version fixes a bug pointed out by Santosh Shilimkar
<santosh.shilimkar@ti.com>, that would cause the kernel to use an
incorrect timer hwmod name if the selected GPTIMER was not 1 or 12 -
thanks Santosh. Also, Tarun Kanti DebBarma <tarun.kanti@ti.com>
pointed out that the original patch did not apply cleanly; this has
now been fixed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Tarun Kanti DebBarma <tarun.kanti@ti.com>
imer-gp.c
a2debdbd1ad896a410019c9cf30785cad15930fc 23-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: add ability to setup individual hwmods

Add omap_hwmod_setup_one(), which is intended for use early in boot to
selectively setup the hwmods needed for system clocksources and
clockevents, and any other hwmod that is needed in early boot.
omap_hwmod_setup_all() can then be called later in the boot process.
The point is to minimize the amount of code that needs to be run
early.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
map_hwmod.c
48d54f3fd20b435311f295b3bca3570096a2ac83 23-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: ignore attempts to re-setup a hwmod

Previously, if a hwmod had already been set up, and the code attempted
to set up the hwmod again, an error would be returned. This is not
really useful behavior if we wish to allow the OMAP core code to setup
the hwmods needed for the Linux clocksources and clockevents before
the rest of the hwmods are setup. So, instead of generating errors,
just ignore the attempt to re-setup the hwmod.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
map_hwmod.c
569edd705cc4e81a9129b5557f1fb259e21418a9 23-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: find MPU initiator hwmod during in _register()

Move the code that looks for the MPU initiator hwmod to run during
the individual hwmod _register() function. (Previously, it ran after
all hwmods were registered in the omap_hwmod_late_init() function.)

This is done so code can late-initialize a few individual hwmods --
for example, for the system timer -- before the entire set of hwmods is
initialized later in boot via omap_hwmod_late_init().

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
map_hwmod.c
550c8092c55c22db8f843bad070fd1731292a75e 28-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: rename some init functions

Rename omap_hwmod_init() to omap_hwmod_register(). Rename
omap_hwmod_late_init() to omap_hwmod_setup_all(). Also change all of
the callers to reflect the new names. While here, update some
copyrights.

Suggested by Tony Lindgren <tony@atomide.com>.

N.B. The comment in mach-omap2/serial.c may no longer be correct, given
recent changes in init order.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
map_hwmod.c
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
erial.c
bac1a0f0bbf0b11b23fe714826f29fc9aeb35855 23-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: allow multiple calls to omap_hwmod_init()

There's no longer any reason why we should prevent multiple
calls to omap_hwmod_init(). It is now simply used to register an
array of hwmods.

This should allow a subset of hwmods (e.g., hwmods
handling the system clocksource and clockevents) to be registered
earlier than the remaining mass of hwmods.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
map_hwmod.c
ce722d269ff85ab11aa680784bcc6eff06e3e3ea 23-Feb-2011 Thara Gopinath <thara@ti.com> OMAP3: hwmod data: add dmtimer

Add dmtimer data.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
map_hwmod_3xxx_data.c
b6b582291fbe8cca987c8823c87ee4a62b24f105 23-Feb-2011 Thara Gopinath <thara@ti.com> OMAP2430: hwmod data: add dmtimer

Add dmtimer data.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
map_hwmod_2430_data.c
eddb12624d9a8087f1f8f1a2812f840c5e8191ac 23-Feb-2011 Thara Gopinath <thara@ti.com> OMAP2420: hwmod data: add dmtimer

Add dmtimer data.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
map_hwmod_2420_data.c
c6461f5c5970833cf28c5096cdfc7a095eb3bbb5 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: clock: disable autoidle on all clocks during clock init

Disable autoidle on all clocks during clock framework initialization.
(If CONFIG_PM is set, autoidle is re-enabled for all clocks later in
the boot process.)

The principle behind this patch, and some similar patches, is that the
kernel should start with all power management features disabled.
Later in the boot process, the PM code, if compiled in with CONFIG_PM,
enables or re-enables power management features.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
lock2420_data.c
lock2430_data.c
lock3xxx.c
lock3xxx_data.c
lock44xx_data.c
70db8a6273692fdf5226c007c9882a10b3203963 25-Feb-2011 Rajendra Nayak <rnayak@ti.com> omap4: dpll: Enable auto gate control for all MX postdividers

Enable hardware gate control for all dpll MX and X2 postdividers.
This requires the allow_idle/deny_idle functions to be
populated for all clock nodes (mx/x2 post dividers) in
clkops.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.h
lock44xx_data.c
pll44xx.c
97f678989afe5dd1584a0877dfd8b0d2e124b73a 25-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP4: DPLL: Add dpll api to control GATE_CTRL

On OMAP4, the dpll post divider outputs (MX outputs)
along with clockout_x2 output provide a way to allow/deny
hardware level autogating.
Allowing autoidle would mean that the hw would autogate
this clock when there is no dependency for it.
Denying idle would mean that this clock output will be
forced to stay enabled.

Add dpll api's to read/allow/deny idle control
for these dpll mx postdividers.

NOTE: The gatectrl bit set to 0 allows gatectrl,
and the bit set to 1 denies gatectrl.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: moved OMAP4-specific DPLL control code to
mach-omap2/dpll44xx.c; added some documentation for CLOCK_CLKOUTX2]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
lock.h
pll44xx.c
b80b956dc56c6a3cb77b97e2abff48fb7ebc2119 25-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: clock: autoidle as many clocks as possible if CONFIG_OMAP_RESET_CLOCKS

Attempt to enable autoidle for as many clocks as possible in the
OMAP2+-common CONFIG_OMAP_RESET_CLOCKS code. Currently, this only
enables DPLL autoidle for OMAP3/4 DPLLs; but future patches will
enable autoidle for other clocks and the OMAP2 DPLL/APLLs.

In the long run, we should probably get rid of
CONFIG_OMAP_RESET_CLOCKS, and unconditionally run the code that it
selects. Otherwise, the state of the clock tree won't match the
hardware state - this could result in clocks being enabled or disabled
unpredictably.

Based on a patch by Rajendra Nayak <rnayak@ti.com> that did this in
the pm34xx.c/pm44xx.c code.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
m34xx.c
6c6f5a7437955cec637c00ab1d09b8f70fc0ab3a 25-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP3/4: DPLL: Add allow_idle/deny_idle support for all DPLL's

All OMAP3/4 dpll's support hardware level autogating.
Populate allow_idle/deny_idle function pointers for all
DPLL's in clkops.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.c
lock.h
lock3xxx_data.c
lock44xx_data.c
5a2926b8805bc697d47a243dbf2f20de68abe14c 25-Feb-2011 Rajendra Nayak <rnayak@ti.com> omap3: dpll: Populate clkops for dpll1_ck

DPLL1 on omap3 is very similar to the rest of
the non-core dpll's.
Hence populate clkops_omap3_noncore_dpll_ops
as the clkops for it, instead of the
currently populated clkops_null.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
6c52f32dcf1d76a95bda3a12d6be9a3102a2693c 25-Feb-2011 Rajendra Nayak <rnayak@ti.com> omap: clock: Check for enable/disable ops support

Check if enable/disable operations are supported for a given
clock node before attempting to call them.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.c
5f8662ba3da6e410eb771b5d8751a1e02d87513f 25-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP4: clockdomain: Remove pr_errs' stating unsupported wkdep

Now that wkup and sleep dependencies are supported (in the
form of static deps) for OMAP4, remove all instances of
pr_errs' stating dependencies are still unsupported
on OMAP4.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
15b08d930f0b1a65a20e042046bd99ed7f75556b 25-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP4: clockdomain: Add wkup/sleep dependency support

Add OMAP4 platform specific implementation to support clkdm
wkup and sleep dependencies a.k.a static dependencies.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: removed comment about PRM; zero-prefixed STATICDEP
register offset; fixed loop termination condition in
omap4_clkdm_clear_all_wkup_sleep_deps(); thanks to Kevin Hilman for finding
and helping fix this bug]
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain44xx.c
m44xx.h
04eb7773d803bd0a8249c5bba37f81c496253ea1 25-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP4: CM: Add CM accesor api for bitwise control

Add new OMAP4 CM accesor apis to set/clear and read
bitfields (based on mask) from CM registers.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
minst44xx.c
minst44xx.h
514c5948b2b5a3f9f9ebc344fc03073f3bd481b4 25-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP4: clockdomain: Add clkdm static dependency srcs

OMAP4 supports static dependencies and dynamic dependencies
between clock domains. Static dependencies imply both
wakeup as well as sleep dependencies.
Generate all clockdomain static dependency sources.
(Dynamic dependency sources are hardwired and
cannot to controlled from software).

The autogen scripts are updated to generate the contents
of this patch.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomains44xx_data.c
4da71ae607fc657075286abd2774041ff4d00fe5 26-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP: clockdomain: Arch specific funcs for clkdm_clk_enable/disable

Define the following architecture specific funtions for omap2/3/4
.clkdm_clk_enable
.clkdm_clk_disable

Convert the platform-independent framework to call these functions.
Also rename the api's by removing the omap2_ preamble.
Hence call omap2_clkdm_k_enable as clkdm_clk_enable and
omap2_clkdm_clk_disable as clkdm_clk_disable.a

Remove unused functions (_enable/_disable_hwsup) and unsed
headers from clockdomain.c file.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.c
lockdomain.c
lockdomain.h
lockdomain2xxx_3xxx.c
lockdomain44xx.c
5cd1937b6d5990fe5d5287d925f05afd38e9fb02 26-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP: clockdomain: Arch specific funcs for hwsup control of clkdm

Define the following architecture specific funtions for omap2/3/4
.clkdm_allow_idle
.clkdm_deny_idle

Convert the platform-independent framework to call these functions.
Also rename the api's by removing the omap2_ preamble.
Hence call omap2_clkdm_allow_idle as clkdm_allow_idle and
omap2_clkdm_deny_idle as clkdm_deny_idle.

Make the _clkdm_add_autodeps and _clkdm_del_autodeps as non-static
so they can be accessed from OMAP2/3 platform specific code.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
lockdomain.h
lockdomain2xxx_3xxx.c
lockdomain44xx.c
puidle34xx.c
m.c
m24xx.c
m34xx.c
68b921ad7f35e0323ce0d9fe94e5701a112f257c 26-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP: clockdomain: Arch specific funcs for sleep/wakeup of clkdm

Define the following architecture specific funtions for omap2/3/4
.clkdm_sleep
.clkdm_wakeup

Convert the platform-independent framework to call these functions.
Also rename the api's by removing the omap2_ preamble.
Hence call omap2_clkdm_wakeup as clkdm_wakeup and
omap2_clkdm_sleep as clkdm_sleep.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: fixed omap3_clkdm_clear_all_sleepdeps() and
omap2_clkdm_clear_all_wkdeps() to test against the correct
loop termination condition; thanks to Kevin Hilman for finding and
helping fix]
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
lockdomain.c
lockdomain.h
lockdomain2xxx_3xxx.c
lockdomain44xx.c
lockdomains44xx_data.c
m.c
m24xx.c
m34xx.c
4aef7a2a5aad52b60ac1a2f3cee055b8271b70d5 26-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP: clockdomain: Arch specific funcs to handle deps

Define the following architecture specific funtions for omap2/3
.clkdm_add_wkdep
.clkdm_del_wkdep
.clkdm_read_wkdep
.clkdm_clear_all_wkdeps
.clkdm_add_sleepdep
.clkdm_del_sleepdep
.clkdm_read_sleepdep
.clkdm_clear_all_sleepdeps

Convert the platform-independent framework to call these functions.
With this also move the clkdm lookups for all wkdep_srcs and
sleepdep_srcs at clkdm_init.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: fixed loop termination conditions in omap*_clkdm_clear_all_*();
thanks to Kevin Hilman for finding and helping fix those bugs; also
avoid re-resolving clockdomains during init; abstracted out clkdm_dep walk]
Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
lockdomain.c
lockdomain.h
lockdomain2xxx_3xxx.c
lockdomains2xxx_3xxx_data.c
o.c
32d4034eea9c5c2b2edc365e1a0787c8f5b84c3c 26-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP: clockdomain: Infrastructure to put arch specific code

Put infrastructure in place, so arch specific func pointers
can be hooked up to the platform-independent part of the
framework.
This is in preparation of splitting the clockdomain framework into
platform-independent part (for all omaps) and platform-specific
parts.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
lockdomain.h
lockdomains2xxx_3xxx_data.c
lockdomains44xx_data.c
3673d1ef5dc94d8b942c33fe1895a0ff52efbc3c 26-Feb-2011 Rajendra Nayak <rnayak@ti.com> OMAP: powerdomain: remove unused func declaration

Trivial fix to remove the unused function declaration
from the powerdomain header.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.h
02fa9f0451ac639a687bfc145eefe58703ff220e 25-Feb-2011 Tony Lindgren <tony@atomide.com> Merge branch 'patches_for_2.6.38rc' of git://git.pwsan.com/linux-2.6 into devel-fixes
51c404b2c514930e98e81e0b9294f19892a4f871 04-Feb-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: prcm: Fix the CPUx clockdomain offsets

CPU0 and CPU1 clockdomain is at the offset of 0x18 from the LPRM base.
The header file has set it wrongly to 0x0. Offset 0x0 is for CPUx power
domain control register

Fix the same.

The autogen scripts is fixed thanks to Benoit Cousson

With the old value, the clockdomain code would access the
*_PWRSTCTRL.POWERSTATE field when it thought it was accessing the
*_CLKSTCTRL.CLKTRCTRL field. In the worst case, this could cause
system power management to behave incorrectly.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: added second paragraph to commit message]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rcm_mpu44xx.h
e41cccfe794d188b0ae7f17f01692bcbc0e0dc87 24-Feb-2011 Tony Lindgren <tony@atomide.com> omap2+: Minimize board specific init_early calls

We should only call init_common_infrastructure and
init_common_devices from init_early.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-generic.c
oard-h4.c
oard-ldp.c
oard-omap3evm.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
oard-rx51.c
oard-ti8168evm.c
e0530460f6bc268b446040f1973d427d21f042d9 24-Feb-2011 Radek Pilař (Mrkva) <mrkva@mrkva.eu> OMAP3 Touchbook: fix board initialization

init_early hook runs too early for omap3_mux_init(), so the board
won't boot. Moved to init_machine, then it works just fine.

Signed-off-by: Radek Pilar <mrkva@mrkva.eu>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3touchbook.c
589541c0bfb1426ad39c7b59c0372346bcf84229 21-Feb-2011 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Add SI4713 FM transmitter

Add SI4713 FM transmitter supplies, platform data and setup to RX-51/N900.
It is connected to line output signals of TLV320AIC34 codec A part.
Driver can be either built-in or a module. It can be tuned with v4l2-ctl
from ivtv-utils. Following examples illustrate the use of it:

v4l2-ctl -d /dev/radio0 --set-ctrl=mute=0 (power up)
v4l2-ctl -d /dev/radio0 -f 107900 (tune 107.9 MHz)

v4l2-ctl -d /dev/radio0 --set-ctrl=mute=1 (power down)

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
bd061715392ccd72a398577615e856175d2b7b2b 25-Feb-2011 Tony Lindgren <tony@atomide.com> omap: Fix compile if MTD_NAND_OMAP2 is not selected

Fix compile if MTD_NAND_OMAP2 is not selected

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-flash.c
d594f1f31afe13edd8c02f3854a65cc58cfb3b74 16-Feb-2011 David Cohen <dacohen@gmail.com> omap: IOMMU: add support to callback during fault handling

Add support to register an isr for IOMMU fault situations and adapt it
to allow such (*isr)() to be used as fault callback. Drivers using IOMMU
module might want to be informed when errors happen in order to debug it
or react.

Signed-off-by: David Cohen <dacohen@gmail.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ommu2.c
92e753d7984db36f0a3c0bbf0f377da114768775 16-Feb-2011 David Cohen <dacohen@gmail.com> OMAP2+: IOMMU: don't print fault warning on specific layer

IOMMU upper layer and user are responsible to handle a fault and to
define whether it will end up as an error or not. OMAP2+ specific
layer should not print anything in such case.

Signed-off-by: David Cohen <dacohen@gmail.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ommu2.c
9504ba64f014cfd50a64106e49c8ba729522db5b 24-Feb-2011 Kishon Vijay Abraham I <kishon@ti.com> OMAP: McBSP: APIs to pass DMA params from McBSP driver to client drivers

After McBSP driver is hwmod adapted, the information about the hw would be
obtained from the hwmod database by the mcbsp driver. Since DMA programming is
handled by the client driver, APIs are provided to pass the DMA channel number
and base address of data register required by the client driver for DMA
programming.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
e95496d4acadd0b72c4947be61e8d44700fdaae7 24-Feb-2011 Kishon Vijay Abraham I <kishon@ti.com> OMAP: McBSP: Add pm runtime support

Add pm runtime support for McBSP driver.
Reference to fclk is not removed because it is required when the
functional clock is switched from one source to another.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
64bcbd33c7c70d0aea4e614212a2568321a0396b 24-Feb-2011 Kishon Vijay Abraham I <kishon@ti.com> OMAP2+: McBSP: hwmod adaptation for McBSP

Modify OMAP2+ McBSP to use omap hwmod framework APIs

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
8b1906f12a60d377b11d8a3dd256ce0a0ef6c614 24-Feb-2011 Kishon Vijay Abraham I <kishon@ti.com> OMAP3: hwmod: add dev_attr for McBSP sidetone

Since the sidetone block is tightly coupled to the mcbsp, sidetone information
is directly added to mcbsp2 & 3 hwmod dev_attr.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_3xxx_data.c
cb7e9ded3240d717d1d24812d33b3ef2c98c084e 24-Feb-2011 Kishon Vijay Abraham I <kishon@ti.com> OMAP4: hwmod: Naming of address space

Added a name to address space belonging to SDMA and MPU facilitating
the driver to get the address space info by name. Added a revision
member inorder to facilitate the driver to differentiate between
mcbsp in different omap.
Also added a platform_get_irq in probe to get irq number by index since
from OMAP4, there will be a single irq line.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
dc48e5fc782f8d447aae2e82ba7453ddcf32c617 24-Feb-2011 Charulatha V <charu@ti.com> OMAP3: hwmod data: Add McBSP

Add McBSP hwmod data for OMAP3.

Added a revision member inorder to facilitate the driver to
differentiate between mcbsp in different omap.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_3xxx_data.c
37801b3df60a000cc1d65ea8b472e841dc93ea75 24-Feb-2011 Charulatha V <charu@ti.com> OMAP2430: hwmod data: Add McBSP

Add McBSP hwmod data for OMAP2430.

Added a revision member inorder to facilitate the driver to
differentiate between mcbsp in different omap.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2430_data.c
3cb72fa4fed52437484a699ba78ad926ff4483c5 24-Feb-2011 Charulatha V <charu@ti.com> OMAP2420: hwmod data: Add McBSP

Add McBSP hwmod data for OMAP2420.

Also add macros in prcm-common.h for idlest bit of OMAP24XX McBSP devices

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2420_data.c
rcm-common.h
3cf32bba8ca0e0052ca41d74d455a5805b7fea85 24-Feb-2011 Kishon Vijay Abraham I <kishon@ti.com> OMAP: McBSP: Convert McBSP to platform device model

Implement McBSP as platform device and add support for
registering through platform device layer using resource
structures.

Later in this patch series, OMAP2+ McBSP driver would be modified to
use hwmod framework after populating the omap2+ hwmod database.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
cd5038024d6c92fbe4bf67af91eea5c6fb24a192 24-Feb-2011 Kishon Vijay Abraham I <kishon@ti.com> OMAP: hwmod: allow hwmod to provide address space accessible from SDMA

Adds support for resource API to get address space info other than just MPU.
The drivers can now use platform_get_resource_byname() to get resource of
type 'IORESOURCE_MEM' by name.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod.c
82d2a5db5296834a4317e554f57b8883d7abb86d 24-Feb-2011 Omar Ramirez Luna <omar.ramirez@ti.com> OMAP: mailbox: use runtime pm for clk and sysc handling

Use runtime pm APIs to enable/disable mailbox clocks and
to configure SYSC register.

Based on the patch sent by Felipe Contreras:
https://patchwork.kernel.org/patch/101662/

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
69dbf857c80e9697621ecb0d4323385999449663 24-Feb-2011 Felipe Contreras <felipe.contreras@gmail.com> OMAP: mailbox: build device using omap_device/omap_hwmod

Remove static platform_device and resource data within
omap mailbox driver; use the one defined in the hwmod
database along with omap_device framework for device
build and registration.

Add device latency functions to be used, so clock can be
enabled and sysconfig is configured.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
ailbox.c
0f9dfdd3d76d356250595cde200efe7c07dec0a1 24-Feb-2011 Felipe Contreras <felipe.contreras@gmail.com> OMAP3: hwmod data: add mailbox data

Mailbox hwmod data for omap3.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_3xxx_data.c
fca1ab55f9a9f7e862a03a68c2b5577c15c344df 24-Feb-2011 Omar Ramirez Luna <omar.ramirez@ti.com> OMAP2: hwmod data: add mailbox data

Mailbox hwmod data for omap2430 and 2420.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
cbc9438075ca9dee3f39a2e7310f81c304b40359 23-Feb-2011 Paul Walmsley <paul@pwsan.com> OMAP2+: clocksource: fix crash on boot when !CONFIG_OMAP_32K_TIMER


OMAP2+ kernels built without CONFIG_OMAP_32K_TIMER crash on boot after the
2.6.38 sched_clock changes:

[ 0.000000] OMAP clockevent source: GPTIMER1 at 13000000 Hz
[ 0.000000] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 0.000000] pgd = c0004000
[ 0.000000] [00000000] *pgd=00000000
[ 0.000000] Internal error: Oops: 80000005 [#1] SMP
[ 0.000000] last sysfs file:
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 Not tainted (2.6.38-rc5-00057-g04aa67d #152)
[ 0.000000] PC is at 0x0
[ 0.000000] LR is at sched_clock_poll+0x2c/0x3c

Without CONFIG_OMAP_32K_TIMER, the kernel has an clockevent and
clocksource resolution about three orders of magnitude higher than
with CONFIG_OMAP_32K_TIMER set. The tradeoff is that the lowest
power consumption states are not available.

Fix by calling init_sched_clock() from the GPTIMER clocksource init code.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer-gp.c
7cab8713b1ed0dab08ad6458f92a40b7ff4be619 23-Feb-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for-tony' of git://gitorious.org/linux-omap-dss2/linux into omap-for-linus

Conflicts:
arch/arm/mach-omap2/board-3430sdp.c
c3bbcf5dc3a0bee9db8f82cd7d10eedf02a3b5f5 23-Feb-2011 Tony Lindgren <tony@atomide.com> Merge branches 'devel-cleanup', 'devel-omap4', 'devel-board' and 'devel-nand' into omap-for-linus
07787a85c0c664d434b522c8bdf7cdc636a16e75 22-Feb-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: 6753/1: omap4: Enable ARM local timers with OMAP4430 es1.0 exception

On OMAP4430 ES1.0 the local timers are gated by security. Enable the
CONFIG_LOCAL_TIMERS for omap2plus build and handle the OMAP4430 es1.0
exception case.

This patch has dependency on the first patch in this series.
ARM: smp: Select local timers vs dummy timer support runtime

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
config
imer-mpu.c
af90f10d3826525306c96d423df240210640cb72 23-Feb-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: 6759/1: smp: Select local timers vs broadcast timer support runtime

The current code support of dummy timers in absence of local
timer is compile time. This is an attempt to convert it to runtime
so that on few SOC version if the local timers aren't supported
kernel can switch to dummy timers. OMAP4430 ES1.0 does suffer from
this limitation.

This patch should not have any functional impact on affected
files.

Cc: Daniel Walker <dwalker@codeaurora.org>
Cc: Bryan Huntsman <bryanh@codeaurora.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Colin Cross <ccross@android.com>
Cc: Erik Gilling <konkers@android.com>
Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: David Brown <davidb@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
imer-mpu.c
d5e13227c32f12de3afb2e26a86bc9f3e5aaf7b6 22-Feb-2011 Senthilvadivu Guruswamy <svadivu@ti.com> OMAP2, 3: DSS2: board files: replace platform_device_register with omap_display_init()

This patch updated board files to replace platform_device_register or
platform_add_devices of DSS with omap_display_init(). This moves away
registration of DSS from board files into a common place.

Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-3430sdp.c
oard-am3517evm.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-rx51-video.c
oard-zoom-display.c
b7ee79abcc1bd549eadf5a9852657058e6ecca47 24-Jan-2011 Sumit Semwal <sumit.semwal@ti.com> OMAP2, 3: DSS2: Create new file display.c for central dss driver registration.

A new file display.c is introduced for display driver init, which adds a function
omap_display_init to do the DSS driver registration. This is the first step in moving
away registration of DSS from board files into a common place.

Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
akefile
isplay.c
1dde9732d543f30d4297e8b74329c5ce797b5d16 24-Jan-2011 Senthilvadivu Guruswamy <svadivu@ti.com> OMAP2, 3: DSS2: Use Regulator init with driver name

Use driver name in regulator inits needed for display instead of using device
structure name.

Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
oard-3430sdp.c
oard-cm-t35.c
oard-igep0020.c
oard-omap3evm.c
oard-omap3stalker.c
e04d9e1e4825cb3f6cfc238d7357ef084952eab1 24-Jan-2011 Senthilvadivu Guruswamy <svadivu@ti.com> OMAP3: hwmod data: add DSS DISPC RFBI DSI VENC

Hwmod needs database of all IPs in a system. This patch generates the hwmod
database for Display Sub System applicable for OMAP3430 and
OMAP36xx. DSS is also considered as an IP as DISPC, RFBI and named as dss_core.
For all the IP modules in DSS, same clock is needed for enabling. Hwmod sees
DSS IPs as independent IPs, so same clock has to be repeated for .main_clk in
each IP.

This patch defines separate hwmod databases for OMAP3430ES1 and (OMAP3430ES2 and
OMAP36xx) as OMAP3430ES1 does not have IDLEST bit to poll on for dss IP, and also
the firewall regions are different between 3430es1 and later.

Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
map_hwmod_3xxx_data.c
de56dbb6c1f8de1f54b09111eb50d8f9b8b073b2 22-Feb-2011 Senthilvadivu Guruswamy <svadivu@ti.com> OMAP2430: hwmod data: add DSS DISPC RFBI VENC

Hwmod needs database of all IPs in a system. This patch generates the hwmod
database for OMAP2430 Display Sub System. Since DSS is also considered as an
IP as DISPC, RFBI, name it as dss_core.

Acked-by: Benoit Cousson <b-cousson@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
map_hwmod_2430_data.c
996746ca127d722c279325552cdcc48b20079a61 22-Feb-2011 Senthilvadivu Guruswamy <svadivu@ti.com> OMAP2420: hwmod data: add DSS DISPC RFBI VENC

Hwmod needs database of all IPs in a system. This patch generates the hwmod
database for OMAP2420 Display Sub System,. Since DSS is also considered as an
IP as DISPC, RFBI, name it as dss_core.

Acked-by: Benoit Cousson <b-cousson@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
map_hwmod_2420_data.c
ea68c00e2623bb5b001c2117a4dcca4754781b4e 23-Feb-2011 John Ogness <john.ogness@linutronix.de> OMAP2/3: clock: fix fint calculation for DPLL_FREQSEL

In OMAP35X TRM Rev 2010-05 Figure 7-18 "DPLL With EMI Reduction
Feature", it is shown that the internal frequency is calculated by
CLK_IN/(N+1). However, the value passed to _dpll_test_fint() is
already "N+1" since Linux is using the values to divide by. In the
technical reference manual, "N" is referring to the divider's register
value (0-127).

During power management testing, it was observed that programming the
wrong jitter correction value can cause the system to become unstable
and eventually crash.

Signed-off-by: John Ogness <john.ogness@linutronix.de>
[paul@pwsan.com: added second paragraph to commit message]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lkt_dpll.c
04aa67dec63b61c1a8b9b6d001262250f1a92130 22-Feb-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for-tony' of git://gitorious.org/usb/usb into omap-for-linus

Conflicts:
arch/arm/mach-omap2/omap_hwmod_2430_data.c
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
3b03b58dab847883e6b9a431558c7d8e43fa94c6 22-Feb-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Prevent timer1 to be reset and idle during init

Since the timer1 is now started before the hwmod_init, we cannot
reset it and idle it anymore.

Add the appropriate flags to prevent the hwmod framework to do that.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
7715db5aeca09d853be4f2eb0bc688a970220621 15-Feb-2011 Kishore Kadiyala <kishore.kadiyala@ti.com> OMAP: hsmmc: Enable MMC4 and MMC5 on OMAP4 platforms

OMAP4 supports up to 5 MMC controllers, but only 3 of these were
initialized. MMC5 is used by wl12xx chip. So initialize MMC4 and MMC5.

Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Panduranga Mallireddy <panduranga_mallireddy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
b17e0979113b7b75bb3f73e2243d156f91698edb 15-Feb-2011 Panduranga Mallireddy <panduranga_mallireddy@ti.com> omap: panda: add mmc5/wl1271 device support

Add MMC5 support on PANDA, which has the wl1271 device hardwired to.

The wl1271 is a 4-wire, 1.8V, embedded SDIO WLAN device with an
external IRQ line, and power-controlled by a GPIO-based fixed regulator.

Based on the patch for mmc3/wl1271 device support for zoom by Ohad
Ben-Cohen <ohad@wizery.com>
Signed-off-by: Panduranga Mallireddy <panduranga_mallireddy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
edc840613c0fff590cad2deafdeffe6ea51405f7 15-Feb-2011 Panduranga Mallireddy <panduranga_mallireddy@ti.com> omap: panda: add fixed regulator device for wlan

Add a fixed regulator vmmc device to enable power control
of the wl1271 wlan device.

Based on the patch for zoom by Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Panduranga Mallireddy <panduranga_mallireddy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
cdc43482713d0af97d30d9b5d3c53b18fcec5d35 15-Feb-2011 Panduranga Mallireddy <panduranga_mallireddy@ti.com> omap: select REGULATOR_FIXED_VOLTAGE by default for panda and sdp4430

Power to the wl12xx wlan device is controlled by a fixed regulator.
Boards that have the wl12xx should select REGULATOR_FIXED_VOLTAGE.
Signed-off-by: Panduranga Mallireddy <panduranga_mallireddy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
66e171a3e8ed9179b2754831ae138e8fc251e4c7 15-Feb-2011 Panduranga Mallireddy <panduranga_mallireddy@ti.com> omap: panda: wlan board muxing

Add board muxing to support the wlan wl1271 chip that is
hardwired to mmc5 (fifth mmc controller) on the PANDA.

Based on the wlan board muxing for zoom3 by Ohad Ben-Cohen
<ohadb@ti.com>
Signed-off-by: Panduranga Mallireddy <panduranga_mallireddy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
d3f02fc3409824ff9b29bc23e60e76da768a1205 07-Feb-2011 Balaji T K <balajitk@ti.com> OMAP2: add regulator for MMC1

Signed-off-by: Balaji T K <balajitk@ti.com>
Tested-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
530a5a50168e5e14ba2fedd5e66796156b1df565 07-Feb-2011 Balaji T K <balajitk@ti.com> OMAP4: Fix -EINVAL for vana, vcxio, vdac

Fixed regulators in twl6030 do not have set_voltage hook.
Regulator core returns -22 if set_voltage is NULL and apply_uV is set
while applying the constraint to set voltage resulting in failure during probe
of these regulators.
Do not set apply_uV for fixed regulators which don't have set_voltage.

machine_constraints_voltage: VANA: failed to apply 2100000uV constraint
twl_reg twl_reg.43: can't register VANA, -22
twl_reg: probe of twl_reg.43 failed with error -22
machine_constraints_voltage: VCXIO: failed to apply 1800000uV constraint
twl_reg twl_reg.44: can't register VCXIO, -22
twl_reg: probe of twl_reg.44 failed with error -22
machine_constraints_voltage: VDAC: failed to apply 1800000uV constraint
twl_reg twl_reg.45: can't register VDAC, -22
twl_reg: probe of twl_reg.45 failed with error -22

Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
oard-omap4panda.c
73a92aa4f1d6786eaa5b4e637eee648db0dfd7a7 03-Feb-2011 Rajendra Nayak <rnayak@ti.com> omap3sdp: clean regulator supply mapping in board file

clean the regulator supply mapping data in the 3430sdp
board file (which is spread all over) by moving all
of them together.
Also use the REGULATOR_SUPPLY macro and remove instances
of mapping dev pointers at run time.
Additonally define all regulator_consumer_supply as
array's and use ARRAY_SIZE macro to define
num_consumer_supplies.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
905a74d9a0452b15bb4087a0ea48d017430e4e23 18-Feb-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add rev and dev_attr fields in McSPI

- Add a rev attribute to identify various McSPI IP version.
- Add a dev_attr structure to provide the number of chipselect
supported by the instance.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
ee896e348cf6f323a00e4ee52e6386f515f86cee 16-Feb-2011 Hema HK <hemahk@ti.com> usb: otg: OMAP4430: Introducing suspend function for power management

Introduced the suspend/resume function for the OMAP4430 internal PHY.
This will be used by the twl6030-usb transceiver driver.
Moved the clock enable/disable function calls and power on/off of the PHY
code from power on/off functions to suspend/resume function.

Pass the suspend function through board data for OMAP4430sdp and OMAP4panda.
This will be used by the twl6030-usb transceiver driver.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-4430sdp.c
oard-omap4panda.c
map_phy_internal.c
e49c4d27ab5ffd0d8707685af9ca2866a95660e8 17-Feb-2011 Nishant Kamat <nskamat@ti.com> omap: Add chip id recognition for OMAP4 ES2.1 and ES2.2

Allow OMAP4 ES2.1 and ES2.2 revisions to be recognized in the
omap4_check_revision() function.

Mainly, ES2.1 has fixes that allow LPDDR to be used at 100% OPP (400MHz).
ES2.2 additionally has a couple of power management fixes (to reduce
leakage), an I2C1 SDA line state fix, and a floating point write
corruption fix (cortex erratum).

Even though the current mainline support doesn't need to distinguish
between ES2.X versions, it's still useful to know the correct silicon
rev when issues are reported. Moreover, these id checks can be used by
power management code that selects suitable OPPs considering the
memory speed limitation on ES2.0.

For details about the silicon errata on OMAP4430, refer
http://focus.ti.com/pdfs/wtbu/SWPZ009A_OMAP4430_Errata_Public_vA.pdf

Signed-off-by: Nishant Kamat <nskamat@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
adc5430b473db2842a96fcce1ffbd43049757d3b 15-Feb-2011 Sanjeev Premi <premi@ti.com> omap3: flash: use pr_err instead of printk

Change all occurences of printf() to pr_err().
Includes minor formatting changes as result of
this change.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-flash.c
f69eefd18d5201cd512c862a4bd27b8e8febd20b 15-Feb-2011 Sanjeev Premi <premi@ti.com> omap3: fix minor typos

This patch fixes typos that were remaining after
the file and functions were renamed.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-flash.c
5714b7ed6b3e3c00c0d4719bb66757e64c30ecf6 07-Feb-2011 Adrian Hunter <adrian.hunter@nokia.com> OMAP: OneNAND: let boards determine OneNAND frequency

OneNAND version ID may not give the highest frequency
supported and some OneNAND's have setup times that are
clock dependent. Let the board provide that information.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-onenand.c
3ad2d861362031dac8b2bba78a8f4c575300948f 07-Feb-2011 Adrian Hunter <adrian.hunter@nokia.com> OMAP: OneNAND: determine frequency in one place

OneNAND frequency is determined when calculating
GPMC timings. Return that value instead of determining it
again in the OMAP OneNAND driver.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-onenand.c
1435ca0fc1a269f9496343e24223a0fc430aff7a 07-Feb-2011 Adrian Hunter <adrian.hunter@nokia.com> OMAP: OneNAND: fix 104MHz support

104MHz needs a latency of 8 clock cycles and the VHF
flag must be set. Also t_rdyo is specified as
"not applicable" so pick a lower value, and force at
least 1 clk between AVD High to OE Low.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-onenand.c
4b087ff8572c7e7095787ca14aa72e39c80859bd 03-Feb-2011 Rajendra Nayak <rnayak@ti.com> omap3sdp: Fix regulator mapping for ads7846 TS controller

On the OMAP3430SDP board, the ads7846 touchscreen controller
is powered by VAUX3 regulator (supplying 2.8v).
Fix this mapping in the board file, and hence prevent
the ads7846 driver init to fail with the below error..

ads7846 spi1.0: unable to get regulator: -19

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
f3d73f362d689a1d044e77964864f0a8ea0217f3 28-Jan-2011 Sukumar Ghorai <s-ghorai@ti.com> omap3: nand: ecc layout select from board file

This patch makes it possible to select sw or hw (different layout options)
ecc scheme supported by omap nand driver.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-flash.c
317379a975c07fe63bc4f86dabd668df96ff3df2 28-Jan-2011 Sukumar Ghorai <s-ghorai@ti.com> omap3: nand: configurable fifo threshold to gain the throughput

Configure the FIFO THREASHOLD value different for read and write to keep busy
both filling and to drain out of FIFO at reading and writing.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
4e070376165a9b7f245fada77645b81352c6ec78 28-Jan-2011 Sukumar Ghorai <s-ghorai@ti.com> omap3: nand: prefetch in irq mode support

This patch enable prefetch-irq mode for nand transfer(read, write)

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-flash.c
db97eb7dfe13f6c04f0a0e77c32e2691f563ab8b 28-Jan-2011 Sukumar Ghorai <s-ghorai@ti.com> omap: gpmc: enable irq mode in gpmc

add support the irq mode in GPMC.
gpmc_init() function move after omap_init_irq() as it has dependecy on irq.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
o.c
d5ce2b6592c49935462cba7317fa67fe8ee474ec 28-Jan-2011 Sukumar Ghorai <s-ghorai@ti.com> omap3630: nand: fix device size to work in polled mode

zoom3 and 3630-sdp having the x16 nand device.
This patch configure gpmc as x16 and select the currect function in driver
for polled mode (without prefetch enable) transfer.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-3630sdp.c
oard-flash.c
oard-flash.h
oard-ldp.c
oard-zoom.c
pmc-nand.c
5b7de4547b388d3949620e21d072e35b6f2638fa 04-Feb-2011 Tony Lindgren <tony@atomide.com> ARM: 6651/1: omap: Fix DEBUG_LL code for p2v changes

These are needed for CONFIG_ARM_PATCH_PHYS_VIRT to work.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
nclude/mach/debug-macro.S
854c122f54d0074afb9e9a8f2ab7d6258c1f218f 25-Jan-2011 Vaibhav Hiremath <hvaibhav@ti.com> OMAP3EVM: Set TSC wakeup option in pad config

Set OMAP_PIN_OFF_WAKEUPENABLE to enable the wake-up
functionality from touchscreen controller.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
42fc8cab020c4d848a969b7c0a80b591c35bb263 25-Jan-2011 Vaibhav Hiremath <hvaibhav@ti.com> OMAP3EVM: Made backlight GPIO default state to off

If you choose default output to DVI, the LCD backlight used to
stay on, since panel->disable function never gets called.

So, during init put backlight GPIO to off state and the driver
code will decide which output to enable.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
904c545c22dc4926e73c5c869efed0ca6a778bda 25-Jan-2011 Vaibhav Hiremath <hvaibhav@ti.com> AM/DM37x: DSS mux configuration for >Rev-B processor cards

To support higher resolution (e.g 720P@60), on OMAP36x (AM/DM37x)
DSS data bus has been muxed with sys_boot pins.

DSS[18-23] => DSS[0-5]
sys_boot[0,1 3-5] => DSS[18-23]

EVM revision >=RevB adopt this mux changes, which is going to ship outside.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
410491d408ee98a31c6eeff5072ae0c13e0a2324 25-Jan-2011 Vaibhav Hiremath <hvaibhav@ti.com> OMAP3EVM: Add vio regulator supply required for ads7846 TSC driver

Add vio regulator supply, needed for ads7846 touchscreen controller
driver.

Tested on OMAP3 (ES3.1 Si) RevG version of EVM.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
f186e9b24f84e771124c6ee47e19dac5de35f987 25-Jan-2011 Vaibhav Hiremath <hvaibhav@ti.com> omap3evm: Change TWL related gpio API's to gpio*_cansleep

Since TWL GPIO's can go into sleep, and using normal
gpio_get/set_value() API will lead to kernel dump (WARN_ON()).
So replacing standard gpio_get/set_value() to
gpio_get/set_value_cansleep().

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Reviewed-by: Charulatha V <charu@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
9bc64b89cd730a09b02c66af730229e0abc9e2bb 24-Jan-2011 Vaibhav Hiremath <hvaibhav@ti.com> OMAP3EVM: Reset the smsc911x ethernet controller in board_init

With addition of hwmod support to gpio, the ethernet controller
goes undetected for OMAP35xEVM. So explicitly assert the reset signal to
ethernet controller smsc911x -

- GPIO7 (>=RevG version of EVM's)
- GPIO64 (<=RevD version of EVM's)

Tested this patch on RevG version of EVM with ES3.1 Si.

This patch is based on intial version from Charulatha V, reference
to original discussion -
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg35784.html

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
741927f753a41c644840589a382a1d3500f86206 27-Jan-2011 Eyal Reizer <eyalr@ti.com> omap3evm: add support for the WL12xx WLAN module to the AM/DM3xx Evaluation Module

Adds platform initialization for working with the WLAN module attached to the evaluation module.
The patch includes MMC2 initialization, SDIO and control pins muxing and platform device registration

Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
59556765cd30467ff64a391906ad8eb68f886ad3 27-Dec-2010 Syed Rafiuddin <rafiuddin.syed@ti.com> OMAP4: keypad: Add the board support

-Add the platform changes for the keypad driver
-Register keyboard device with hwmod framework.

Signed-off-by: Syed Rafiuddin <rafiuddin.syed@ti.com>
Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
evices.c
df7ffd317d36d36095c26bb57b3dd405274048e5 17-Feb-2011 Tony Lindgren <tony@atomide.com> Merge branches 'devel-hwspinlock' and 'devel-mcspi' into omap-for-linus
1a5d81905aec1536783fb6ab875f31910f449941 02-Feb-2011 Charulatha V <charu@ti.com> OMAP: devices: Modify McSPI device to adapt to hwmod framework

Cleans up all base address definitions for omap_mcspi
and adapts the device registration and driver to hwmod framework.
Changes involves:
1) Removing all base address macro defines.
2) Using omap-device layer to register device and utilizing data from
hwmod data file for base address, dma channel number, Irq_number,
device attribute(number of chipselect).
3) Appending base address with pdata reg_offset for omap4 boards.
For omap4 all regs used in driver deviate with reg_offset_macros
defined with an value of 0x100. So pass this offset through pdata
and append the same to base address retrieved from hwmod data file
and we are not mapping *_HL_* regs which are not used in driver.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Reviewed-by: Partha Basak <p-basak2@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
0f616a4e17ea244f882056656964b792edde8364 17-Feb-2011 Charulatha V <charu@ti.com> OMAP3: hwmod data: Add McSPI

Update omap3 hwmod data file with McSPI info.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_3xxx_data.c
7f904c78d65e5cff8d9e76567797a7a7fe2fd774 17-Feb-2011 Charulatha V <charu@ti.com> OMAP2430: hwmod data: Add McSPI

Update the 2430 hwmod data file with McSPI info.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2430_data.c
617871deacea4e1a5713dd37564dc94a392d80c3 17-Feb-2011 Charulatha V <charu@ti.com> OMAP2420: hwmod data: Add McSPI

Update the omap2420 hwmod data with the McSPI info.
Add a device attribute structure which will be used
for passing number of chipselects from hwmod data.
Add revision macros to be passed from rev field from
hwmod.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2420_data.c
7bb412a64281c599dcf00af2eed61ea997b282c2 17-Feb-2011 Simon Que <sque@ti.com> omap: add hwspinlock device

Build and register an hwspinlock platform device.

Although only OMAP4 supports the hardware spinlock module (for now),
it is still safe to run this initcall on all omaps, because hwmod lookup
will simply fail on hwspinlock-less platforms.

Signed-off-by: Simon Que <sque@ti.com>
Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
wspinlock.c
d9e45731debd83e2b249be349993595907dddeae 17-Feb-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.39/omap4_hwmod_data' of git://gitorious.org/omap-pm/linux into omap-for-linus
5844c4ead25f53a1fa92a4a8f0e363f9b6b87aea 17-Feb-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add USBOTG

OMAP4 hwmod data structures are populated with base address, L3 and L4
interface clocks, IRQs and sysconfig register details.

As per OMAP USBOTG specification, need to configure the USBOTG
to smart idle/standby or no idle/standby during data transfer and
force idle/standby when not in use to support retention and offmode.
By setting HWMOD_SWSUP_SIDLE and HWMOD_SWSUP_MSTANDBY flags,framework
will take care of configuring to no idle/standby when module is enabled
and force idle/standby when idled.

Signed-off-by: Cousson, Benoit <b-cousson@ti.com>
Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
[b-cousson@ti.com: Fix position, opt_clk, and author]
map_hwmod_44xx_data.c
407a6888f7362cb3dabe69ea6d9dcf3c750dc56a 15-Feb-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add AESS, McPDM, bandgap, counter_32k, MMC, KBD, ISS & IPU

Add more hwmod structures but keep them commented out for the moment
until the driver adaptation to hwmod / omap_device is done.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
map_hwmod_44xx_data.c
4ddff4932b31b8f21d1c57155ca5d4088693ce4b 31-Jan-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add McBSP

Add mcbsp data including a revision member in hwmod_class in
order to provide mcbsp revision information in different omap.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
[b-cousson@ti.com: Remove the mcbsp4 memory name, re-order
properly the structures]
map_hwmod_44xx_data.c
8ca476da04e452a01d984dd5b5333b3a562207a7 25-Jan-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add DMIC

Add HWMOD entries for the OMAP DMIC. The HWMOD entires define the system
resource requirements for the driver such as DMA addresses, channels,
and IRQ's. Placing this information in the HWMOD database allows for
more generic drivers to be written and having the specific implementation
details defined in HWMOD.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: David Lambert <dlambert@ti.com>
[b-cousson@ti.com: Change the wrong hwmod name,
add missing flag and re-order structures]
map_hwmod_44xx_data.c
ec5df927a8f3d3eca9514c9a9ad6db830ae20acc 02-Feb-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add mailbox

Mailbox hwmod data for omap4.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
[b-cousson@ti.com: Re-order the structures
and remove the irq line name]
map_hwmod_44xx_data.c
d63bd74fbb5fb2161d9cb90cd7a93a2c5db47c63 27-Jan-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add DSS, DISPC, DSI1&2, RFBI, HDMI and VENC

Add dss, dispc, dsi1, dsi2, hdmi, rfbi and venc hwmods.
In OMAP4 there are severals IPs that can be reached by differents
interconnect paths depending of the access initiator (MPU vs. SDMA).
In the case of the DSS, both L3 direct path and L4 CFG path can be
used to access all the DSS IPs. The two ocp_ip already exists to support
the two address spaces.

+------------+-- L3_MAIN --+ MPU
IP | |
+-- L4_CFG --+

L3 main address range is specified first, since it is used by default.
dss is also considered as an IP as dispc, rfbi, and named as dss_core.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Mayuresh Janorkar <mayur@ti.com>
Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
[b-cousson@ti.com: Re-organize structures to match file
convention and remove irq entry from dss_hwmod]
map_hwmod_44xx_data.c
35d1a66a9cc03167ff5266e5fcb0dea639123d84 11-Feb-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add timer

Add the data for the 11 timers IPs.
OMAP4 contains two differents IP variants for the timers:
- 8 x regular timer (3, 4, 5, 6, 7, 8, 9 & 11)
- 3 x 1ms timer (1, 2 & 10)

The regular timers registers programming model was changed due to the
adaptation to the new IP interface. Unfortunately the 1ms version
still use the previous programming model. The driver will have
to take care of theses differences.

Please note that the capability and the partitioning is also
different depending of the instance.
- timer 1 is inside the wakeup domain
- timers 5, 6, 7 & 8 are inside in the ABE (audio backend)
- timers 2, 3, 4, 9, 10 & 11 are inside the PER power domain

The timer was previously named gptimerX or dmtimerX, it is
now simply named timerX.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
[b-cousson@ti.com: Fix alignement in class attribute,
re-order flags and update the changelog]
map_hwmod_44xx_data.c
9bcbd7f0d577b3f6d5742188563457a083b8ae7f 02-Feb-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add McSPI

Update omap4 hwmod file with McSPI info.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Reviewed-by: Kevin Hilman <khilman@ti.com>
map_hwmod_44xx_data.c
18a26892d62d2786c2b259ba4605ee10bba0ba13 16-Feb-2011 Hema HK <hemahk@ti.com> OMAP2+: musb: hwmod adaptation for musb registration

Using omap_device_build API instead of platform_device_register for
OMAP2430,OMAP3xxx, OMAP4430 and AM35x musb device registration.
The device specific resources defined in centralized
database will be used.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-musb.c
273ff8c3bc04cf358c131f49ee7a11efa7ec73d7 16-Feb-2011 Hema HK <hemahk@ti.com> AM35xx: hwmod data: Add USBOTG

AM35xx hwmod data structures are populated for USBOTG with base address,
L3 and L4 interface clocks and IRQ.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
map_hwmod_3xxx_data.c
870ea2b8e750f40fe5681b902ce0d5445297e610 16-Feb-2011 Hema HK <hemahk@ti.com> OMAP3xxx: hwmod data: Add USBOTG

OMAP3 hwmod data structures are populated for USBOTG with base address,
L3 and L4 interface clocks, IRQs and sysconfig register details.
This is applicable for OMAP3430 amd OMAP3630.

As per OMAP USBOTG specification, need to configure the USBOTG
to smart idle/standby or no idle/standby during data transfer and
force idle/standby when not in use to support retention and offmode.
By setting HWMOD_SWSUP_SIDLE and HWMOD_SWSUP_MSTANDBY flags, framework
will take care of configuring to no idle/standby when module is enabled
and force idle/standby when idled.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
map_hwmod_3xxx_data.c
44d02acf54114e4d5c905b6b1a6473a7d302312d 16-Feb-2011 Hema HK <hemahk@ti.com> OMAP2430: hwmod data: Add USBOTG

OMAP2430 hwmod data structures are populated with base address, L3 and L4
interface clocks, IRQs and sysconfig register details.

As per OMAP USBOTG specification, need to configure the USBOTG
to smart idle/standby or no idle/standby during data transfer and
force idle/standby when not in use to support retention and off-mode.
By setting HWMOD_SWSUP_SIDLE and HWMOD_SWSUP_MSTANDBY flags, framework
will take care of configuring to no idle/standby when module is enabled
and force idle/standby when suspended.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
map_hwmod_2430_data.c
1dbea0f5e23b6c647db72fa4a048cb7140625e13 16-Feb-2011 Anand Gadiyar <gadiyar@ti.com> arm: omap4: 4430sdp: drop ehci support

Most revisions of the OMAP4 Blaze/SDP platform do not have
the EHCI signals routed by default. The pads are routed
for the alternate HSI functionality instead, and explicit
board modifications are needed to route the signals to
the USB PHY on the board.

Also, turning on the PHY connected to the EHCI port causes
a board reboot during bootup due to an unintended short
on the rails - this affects many initial revisions of the
board, and needs a minor board mod to fix (or as a
workaround, one should not attempt to power on the
USB PHY).

Given that these boards need explicit board mods to even
get EHCI working (separate from the accidental short above),
we should not attempt to enable EHCI by default.

So drop the EHCI support from the board files for the
Blaze/SDP platforms.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Keshava Munegowda <keshava_mgowda@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-4430sdp.c
2aae4221eebf926ad1058546e2cb81dae8f3e696 16-Feb-2011 Anand Gadiyar <gadiyar@ti.com> arm: omap4: usb: explicitly configure MUSB pads

Use the mux framework APIs to explicitly configure
the MUSB pads. The MUSB controller in OMAP4 can use
either the old ULPI interface, or the new internal PHY.
Configure the pads accordingly.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-musb.c
fe5a4901c20c09b4380b7d4a0197efb6489c4ce8 16-Feb-2011 Hema HK <hemahk@ti.com> usb: musb: AM35x: moving internal phy functions out of usb_musb.c file

Moved all the board specific internal PHY functions out of usb_musb.c file
as this file is shared between the OMAP2+ and AM35xx platforms.
There exists a file which has the functions specific to internal PHY
used for OMAP4 platform. Moved all phy specific functions to this file
and passing these functions through board data in the board file.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
akefile
oard-am3517evm.c
map_phy_internal.c
sb-musb.c
d11c217f1a8f9ea2b2c89b8a533396482a36e8c0 02-Feb-2011 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add hwspinlock

Add hwspinlock hwmod data for OMAP4 chip

Signed-off-by: Cousson, Benoit <b-cousson@ti.com>
Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Cc: Paul Walmsley <paul@pwsan.com>
[b-cousson@ti.com: Move the data to keep the original
order and add missing SIDLE_SMART_WKUP flag]
map_hwmod_44xx_data.c
405505c2b7b9f8a2d2b90e9e7fb4590b059e15dd 16-Jan-2011 Felipe Balbi <balbi@ti.com> arm: omap2: clksel: fix compile warningOrganization: Texas Instruments\n

Fix the following compile warning:
arch/arm/mach-omap2/clkt_clksel.c: In function '_get_div_and_fieldval':
arch/arm/mach-omap2/clkt_clksel.c:100:35: warning: 'max_clkr' may be
used uninitialized in this function

Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lkt_clksel.c
9238b6d8e800f01f5cb42cc8e3e7b850ca49e83e 16-Feb-2011 Tony Lindgren <tony@atomide.com> Merge branches 'devel-cleanup', 'devel-board', 'devel-early-init' and 'devel-ti816x' into omap-for-linus
e811d3272dbed154b8c56a37392bb1d23c9bd71e 16-Feb-2011 Tony Lindgren <tony@atomide.com> TI816X: Update to use init_early

Update to use init_early

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-ti8168evm.c
4d887a250d6294d4e17851da46d6eab4de83c91e 15-Feb-2011 Hemant Pedanekar <hemantp@ti.com> TI816X: Add low level debug support

This patch adds support for low level debugging on TI816X boards. Currently the
support for UART3 console on TI816X EVM is added.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/debug-macro.S
2c87fb2e644d9141c8723a44a320bb5850790b67 15-Feb-2011 Hemant Pedanekar <hemantp@ti.com> TI816X: Create board support and enable build for TI816X EVM

This patch adds minimal support and build configuration for TI816X EVM.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-ti8168evm.c
01001712c96f82e6317b1e09729d8fc4bcc66957 16-Feb-2011 Hemant Pedanekar <hemantp@ti.com> TI816X: Update common OMAP machine specific sources

This patch updates the common machine specific source files with support for
TI816X.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock3xxx_data.c
ommon.c
ontrol.h
d.c
nclude/mach/entry-macro.S
o.c
rq.c
erial.c
4bd7be22f4b25fc87e236a29da3a625621699074 16-Feb-2011 Hemant Pedanekar <hemantp@ti.com> TI816X: Update common omap platform files

This patch updates the common platform files with TI816X support.

The approach taken in this patch is to add TI816X as part of OMAP3 variant where
the cpu class is considered as OMAP34XX and the type is TI816X. This means, both
cpu_is_omap34xx() and cpu_is_ti816x() checks return success on TI816X.

A kernel config option CONFIG_SOC_OMAPTI816X is added under OMAP3 to include
support for TI816X build.

Signed-off-by: Hemant Pedanekar <hemantp@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
e7c7d760859e78a4f47e7be647df683491e420fb 15-Feb-2011 Tony Lindgren <tony@atomide.com> omap: hwmod: Populate _mpu_rt_va later on in omap_hwmod_late_init

Otherwise ioremap can fail with early_init patch unless we have
a static mapping for everything.

Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod.c
3e16f92536334ccb464ed88cf4d8cc0dd43da106 15-Feb-2011 Tony Lindgren <tony@atomide.com> omap2+: Fix omap_serial_early_init to work with init_early hook

The new init_early hook happens at the end of setup_arch,
which is too early for kzalloc. However, there's no need
to call omap_serial_early_init that early, so fix this
by setting it up as a core_initcall.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Tested-by: Kevin Hilman <khilman@ti.com>
o.c
erial.c
44dc046e93eb98d41048954f700b1927f7e288ed 15-Feb-2011 Tony Lindgren <tony@atomide.com> omap2+: Make omap_hwmod_late_init into core_initcall

Otherwise things will fail with early_init changes.

Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
map_hwmod.c
3dc3bad6f1b316d79d9d1d596a590b5097cb3dc4 15-Feb-2011 Russell King - ARM Linux <linux@arm.linux.org.uk> ARM: OMAP2: use early init hook

Move non-mapping and non-irq initialization code out of .map_io and
.init_irq respectively into the new init_early hook.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-igep0030.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51.c
oard-zoom.c
eca83258f1d81575576ca553075c641849150f23 11-Feb-2011 Kevin Hilman <khilman@ti.com> OMAP2420: mailbox: fix IVA vs DSP IRQ numbering

The IRQ numbering for the IVA and DSP mailboxes was switched due
to the wrong ordering in the OMAP2 mbox list. Switch the ordering
so DSP is first and matches all the other SoCs.

Tested on OMAP2420/n810.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
1232a185ddd500b61b8dc389ad1a357e6b425548 04-Feb-2011 Vasiliy Kulikov <segoon@openwall.com> mach-omap2: smartreflex: world-writable debugfs voltage files

Don't allow everybody to change voltage settings.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
martreflex.c
f9fbe47cc1487ba1a5f543a315f8a59bc77c1a68 04-Feb-2011 Vasiliy Kulikov <segoon@openwall.com> mach-omap2: pm: world-writable debugfs timer files

Don't allow all users to change timer settings.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m-debug.c
9b12771ad243541ad28e651f40cc9c7905ee32c3 04-Feb-2011 Vasiliy Kulikov <segoon@openwall.com> mach-omap2: mux: world-writable debugfs files

Do not create mux debugfs files as world-writable.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
b6338bdc8305b27688a7feb8689e4ccfd42f0292 02-Feb-2011 Jean Pihet <j-pihet@ti.com> ARM: 6649/1: omap: use fncpy to copy the PM code functions to SRAM

The new fncpy API is better suited* for copying some
code to SRAM at runtime. This patch changes the ad-hoc
code to the more generic fncpy API.

*: 1. fncpy ensures that the thumb mode bit is propagated,
2. fncpy provides the security of type safety between the
original function and the sram function pointer.

Tested OK on OMAP3 in low power modes (RET/OFF)
using omap2plus_defconfig with !CONFIG_THUMB2_KERNEL.
Compile tested on OMAP1/2 using omap1_defconfig.

Boot tested on OMAP1 & OMAP2
Tested OK with suspend/resume on OMAP2420/n810

Boots fine on osk5912 and n800

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Dave Martin <dave.martin@linaro.org>
Tested-by: Kevin Hilman <khilman@ti.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m.h
leep24xx.S
leep34xx.S
ram242x.S
ram243x.S
ram34xx.S
ed2af92bc3adf7f5c09edef64cf4383b3d60b070 05-Jan-2011 Ming Lei <tom.leiming@gmail.com> arm: omap4: panda: remove usb_nop_xceiv_register(v1)

Panda uses both twl6030 otg phy(vbus, id) and internal
phy(data lines, DP/DM), so removes usb_nop_xceiv_register to make
twl6030 otg driver working since current otg code only supports
one global transceiver. Otherwise, musb doesn't work without
the remove.

Reviewd-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
daf7aabcc14b3d63d8f134ca181e8b66f047e2d6 20-Jan-2011 Thomas Weber <weber@corscience.de> OMAP3: Devkit8000: Change lcd power pin

This patch fixes a wrongly used lcd enable pin.

The Devkit8000 uses twl4030_ledA configured as output gpio only for
the lcd enable line. twl4030_gpio.1 is used through the generic
gpio functions while ledA is used via low level twl4030 calls.

This patch removes the low level calls and use the generic gpio functions
for initialization and use of ledA. This patch also fixes a bug where the
lcd would not power down when blanking.

Further this patch fixes an indentation issue. The comment line uses
eight whitespace and is replaced with a hard tab.

gpio_request + gpio_direction_output are replaced with gpio_request_one.
The return value of gpio_request_one is used to set the value of the
gpio to -EINVAL when unsuccessful, so that gpio_is_valid can detect the
unsuccessful request. But already successful requested gpios are not freed.

Reported-by: Daniel Morsing <daniel.morsing@gmail.com>
Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
9d47e309015b8d5ab32851cd0216e4b96b6407e4 28-Jan-2011 Aaro Koskinen <Aaro.Koskinen@nokia.com> arm: mach-omap2: mux: free allocated memory on error exit

Free allocated memory on error exit.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
713f25cec6331fca414aefb2ab5b20d88c610a2f 01-Feb-2011 Aaro Koskinen <Aaro.Koskinen@nokia.com> arm: mach-omap2: board-rm680: fix rm680_vemmc regulator constraints

With the commit 757902513019e6ee469791ff76f954b19ca8d036 (regulator:
Factor out voltage set operation into a separate function) fixed voltage
regulator setup will fail if there are voltage constraints defined. This
made MMC unusable on this board. Fix by just deleting those redundant
constraints.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Reviewed-by: Jarkko Nikula <jhnikula@gmail.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rm680.c
112258b1d215a16d575dc6ace344a0bb7196c19c 31-Jan-2011 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.38/pm-fixes' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into devel-fixes
8353584eae4af8f37e5a23b63ed816c79185a9c9 30-Jan-2011 Stefan Weil <weil@mail.berlios.de> OMAP: PM: SmartReflex: Fix possible null pointer read access

These errors were found by cppcheck:
arch/arm/mach-omap2/smartreflex.c:784: error: Possible null pointer dereference: sr_info
arch/arm/mach-omap2/smartreflex.c:799: error: Possible null pointer dereference: sr_info

Both conditional statements are executed when sr_info == NULL,
so accessing sr_info->voltdm would fail.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-omap@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
720bc782249015a30438516cee5c4be180a3f675 30-Jan-2011 Stefan Weil <weil@mail.berlios.de> OMAP: PM: SmartReflex: Fix possible memory leak

sr_info was allocated and needs a kfree before returning.

This error was reported by cppcheck:
arch/arm/mach-omap2/smartreflex.c:837: error: Memory leak: sr_info

To: Tony Lindgren <tony@atomide.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-omap@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Acked-by: Shweta Gulati <shweta.gulati@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
62270119867131d6d11fe018f1fafcf0fa2933e3 28-Jan-2011 Aaro Koskinen <aaro.koskinen@nokia.com> arm: mach-omap2: voltage: debugfs: fix memory leak

The temporary string holding the directory name to be created should
be released.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
oltage.c
ee54dba9c360944b34e06478c05c6f283bf64eda 28-Jan-2011 Russell King - ARM Linux <linux@arm.linux.org.uk> ARM: OMAP: Allow platforms to hook reset cleanly

This adds a clean method to allow platforms to hook into the reset
code if they require to.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rcm.c
ee23b93dff539b82fd9e225e5235ee6d2fb01346 28-Jan-2011 Felipe Balbi <balbi@ti.com> arm: omap2: irq: fix compile warning:

Fix the following compile warning:
arch/arm/mach-omap2/irq.c:64:31: warning: 'intc_context' defined but not
used

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
59b479e0985f0b795d68331d6443a7f89c47768d 28-Jan-2011 Tony Lindgren <tony@atomide.com> omap: Start using CONFIG_SOC_OMAP

We want to have just CONFIG_ARCH_OMAP2, 3 and 4. The rest
are nowadays just subcategories of these.

Search and replace the following:

ARCH_OMAP2420 SOC_OMAP2420
ARCH_OMAP2430 SOC_OMAP2430
ARCH_OMAP3430 SOC_OMAP3430

No functional changes.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Thomas Weber <weber@corscience.de>
Acked-by: Sourav Poddar <sourav.poddar@ti.com>
config
akefile
lock2xxx.h
lockdomains2xxx_3xxx_data.c
ommon.c
evices.c
o.c
ailbox.c
cbsp.c
pp2xxx.h
owerdomains2xxx_data.c
0e6d8cad448bde3d846961bb43db15daae94562e 27-Jan-2011 Julia Lawall <julia@diku.dk> arch/arm/mach-omap2/dma.c: Convert IS_ERR result to PTR_ERR

This code elsewhere returns a negative constant to an indicate an error,
while IS_ERR returns the result of a >= operation.

The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x;
@@

if (...) { ...
- return IS_ERR(x);
+ return PTR_ERR(x);
}
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ma.c
afb7d7099e27f30caf69b3ce80a4cb86612a0b87 17-Jan-2011 Felipe Balbi <balbi@ti.com> arm: omap2: mux: fix compile warning

Commit 8419fdbaf2118a0a169441be82f09f7be93a5ca1
(omap2+: Add omap_mux_get_by_name) introduced the following
compile warning:

arch/arm/mach-omap2/mux.c: In function '_omap_mux_get_by_name':
arch/arm/mach-omap2/mux.c:163:17: warning: 'found_mode' may be used
uninitialized in this function

Signed-off-by: Felipe Balbi <balbi@ti.com>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
9f9605c2eda9679e6f63c605cbd9cbf6a9a7f3fa 07-Jan-2011 Russell King <rmk+kernel@arm.linux.org.uk> omap2+: Fix unused variable warning for omap_irq_base

Commit 5d190c40100793a6dfc37bf325677c10f3c80edf
(omap2+: Initialize omap_irq_base for entry-macro.S from
platform code) simplified the handling of omap_irq_base
for multi-omap builds. However, this patch also introduced
a build warning for !MULTI_OMAP2 builds:

arch/arm/mach-omap2/io.c: In function 'omap_irq_base_init':
arch/arm/mach-omap2/io.c:322: warning: unused variable 'omap_irq_base'

Fix this by removing the ifdef. Also simplify things further
by moving omap_irq_base out of entry-macro.S.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/entry-macro.S
o.c
617fcc98020bbc9492cacdef40423b758c02a9df 26-Jan-2011 Kevin Hilman <khilman@ti.com> OMAP3: PM: fix save secure RAM to restore MPU power state

Currently, on HS/EMU devices, MPU power state forced to on during PM
init by the save secure RAM code. Rather than forcing the state of
MPU powerdomain to on, simply read the current value and restore it
after the ROM code has run.

This only affects the !CPUidle case since when CPUidle is enabled, the
MPU power state is dynamically changed by CPUidle. In the !CPUidle
case, MPU power state is initialized once at init and never touched.

Acked-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m34xx.c
ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff 26-Jan-2011 Torben Hohn <torbenh@gmx.de> console: rename acquire/release_console_sem() to console_lock/unlock()

The -rt patches change the console_semaphore to console_mutex. As a
result, a quite large chunk of the patches changes all
acquire/release_console_sem() to acquire/release_console_mutex()

This commit makes things use more neutral function names which dont make
implications about the underlying lock.

The only real change is the return value of console_trylock which is
inverted from try_acquire_console_sem()

This patch also paves the way to switching console_sem from a semaphore to
a mutex.

[akpm@linux-foundation.org: coding-style fixes]
[akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert]
Signed-off-by: Torben Hohn <torbenh@gmx.de>
Cc: Thomas Gleixner <tglx@tglx.de>
Cc: Greg KH <gregkh@suse.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
m24xx.c
m34xx.c
erial.c
28693ec01d0229b9e2a2ebe38ef8faa5e151b440 24-Jan-2011 Julia Lawall <julia@diku.dk> OMAP: PM: SmartReflex: Add missing IS_ERR test

Function _sr_lookup, defined in the same file, returns ERR_PTR not NULL in
an error case.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
identifier f;
@@
f(...) { ... return ERR_PTR(...); }

@@
identifier r.f, fld;
expression x;
statement S1,S2;
@@
x = f(...)
... when != IS_ERR(x)
(
if (IS_ERR(x) ||...) S1 else S2
|
*x->fld
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Kevin Hilman <khilman@ti.com>
martreflex.c
35a78fa48678926464138aab3a4dede4503befb5 19-Jan-2011 Daniel Morsing <daniel.morsing@gmail.com> OMAP3: Devkit8000: Fix tps65930 pullup/pulldown configuration

gpio7 on the tps65930 is used as an output on the devkit8000 and
gpio1 is not connected. Remove gpio7 and change gpio1 to pulldown

Signed-off-by: Daniel Morsing <daniel.morsing@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
2216b436ed8788f1a6d51b136ed1421956aa18e0 13-Jan-2011 Igor Grinberg <grinberg@compulab.co.il> arm: omap3: cm-t3517: minor comment fix

offsets in the comment were wrong - fix this.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t3517.c
fec5568cbcf3b5d701d2adf9a22f0110bcc6eb33 13-Jan-2011 Igor Grinberg <grinberg@compulab.co.il> arm: omap3: cm-t3517: rtc fix

Fix rtc gpios and mux

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t3517.c
bc9fcaf3697bb4f4a7cda14d31ea4c647a6b9030 17-Jan-2011 Felipe Balbi <balbi@ti.com> OMAP: PRCM: remove duplicated headers

A few headers are included twice, remove them.

Found the following errors using make includecheck:
arch/arm/mach-omap2/clock44xx_data.c: prm44xx.h is
included more than once.
arch/arm/mach-omap2/clockdomains44xx_data.c: cm1_44xx.h
is included more than once.
arch/arm/mach-omap2/clockdomains44xx_data.c: cm2_44xx.h
is included more than once.
arch/arm/mach-omap2/powerdomain2xxx_3xxx.c: prm-regbits-34xx.h
is included more than once.

Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Felipe Balbi <balbi@ti.com>
[paul@pwsan.com: dropped lists from patch cc:s; tweaked subject line]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
lockdomains44xx_data.c
owerdomain2xxx_3xxx.c
56bc78d414aa79bce42836df6efe9b9bef92a59d 17-Jan-2011 Paul Walmsley <paul@pwsan.com> OMAP4: clockdomain: bypass unimplemented wake-up dependency functions on OMAP4

Commit 56a6a19dffda6b75cef8d4183c7c6ff650025cbd ("omap2plus: prm:
Trvial build break fix for undefined reference to
'omap2_prm_read_mod_reg'") generates a lot of warnings on boot since
clockdomain functions that manipulate wake-up dependencies are not
implemented yet on OMAP4 for 2.6.38. This patch bypasses the OMAP2/3
functions on OMAP4, which in turn avoids the warnings when the
functions would attempt to call the underlying OMAP2/3 PRCM functions.
A one-line warning is still logged from the clockdomain code that the
OMAP4 wake-up dependency code is not yet implemented.

A clockdomain wake-up and sleep dependency implementation for OMAP4
from Rajendra should be possible to merge during the 2.6.39 merge
window:

http://www.mail-archive.com/linux-omap@vger.kernel.org/msg41748.html

http://www.mail-archive.com/linux-omap@vger.kernel.org/msg42222.html

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
d8328f3b85f34c0dc5866f10bf6e7842fb511d62 16-Jan-2011 Paul Walmsley <paul@pwsan.com> OMAP: counter_32k: init clocksource as part of machine timer init

After commit dc548fbbd2ecd0fc3b02301d551e5f8e19ae58fd ("ARM: omap: convert
sched_clock() to use new infrastructure"), OMAPs that use the 32KiHz
"synchronization timer" as their clocksource crash during boot:

[ 0.000000] OMAP clockevent source: GPTIMER1 at 32768 Hz
[ 0.000000] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 0.000000] pgd = c0004000
[ 0.000000] [00000000] *pgd=00000000
[ 0.000000] Internal error: Oops: 80000005 [#1] SMP
[ 0.000000] last sysfs file:
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 Tainted: G W (2.6.37-07734-g2467802 #7)
[ 0.000000] PC is at 0x0
[ 0.000000] LR is at sched_clock_poll+0x2c/0x3c
[ 0.000000] pc : [<00000000>] lr : [<c0060b74>] psr: 600001d3
[ 0.000000] sp : c058bfd0 ip : c058a000 fp : 00000000
[ 0.000000] r10: 00000000 r9 : 411fc092 r8 : 800330c8
[ 0.000000] r7 : c05a08e0 r6 : c0034c48 r5 : c05ffc40 r4 : c0034c4c
[ 0.000000] r3 : c05ffe6c r2 : c05a0bc0 r1 : c059f098 r0 : 00000000
[ 0.000000] Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
[ 0.000000] Control: 10c53c7f Table: 8000404a DAC: 00000017

This is due to the recent ARM init_sched_clock() changes and the late
initialization of the counter_32k clock source. More information here:

http://marc.info/?l=linux-omap&m=129513468605208&w=2

Fix by initializing the counter_32k clocksource during the machine timer
initialization.

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tested-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
imer-gp.c
16c1020362083b320868c0deef492249089c3cd3 15-Jan-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm: (161 commits)
ARM: pxa: fix building issue of missing physmap.h
ARM: mmp: PXA910 drive strength FAST using wrong value
ARM: mmp: MMP2 drive strength FAST using wrong value
ARM: pxa: fix recursive calls in pxa_low_gpio_chip
AT91: Support for gsia18s board
AT91: Acme Systems FOX Board G20 board files
AT91: board-sam9m10g45ek.c: Remove duplicate inclusion of mach/hardware.h
ARM: pxa: fix suspend/resume array index miscalculation
ARM: pxa: use cpu_has_ipr() consistently in irq.c
ARM: pxa: remove unused variable in clock-pxa3xx.c
ARM: pxa: fix warning in zeus.c
ARM: sa1111: fix typo in sa1111_retrigger_lowirq()
ARM mxs: clkdev related compile fixes
ARM i.MX mx31_3ds: Fix MC13783 regulator names
ARM: plat-stmp3xxx: irq_data conversion.
ARM: plat-spear: irq_data conversion.
ARM: plat-orion: irq_data conversion.
ARM: plat-omap: irq_data conversion.
ARM: plat-nomadik: irq_data conversion.
ARM: plat-mxc: irq_data conversion.
...

Fix up trivial conflict in arch/arm/plat-omap/gpio.c (Lennert
Buytenhek's irq_data conversion clashing with some omap irq updates)
ec08bdb148767f1193f5f3028749ed865ac27181 14-Jan-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (27 commits)
omap4: Fix ULPI PHY init for ES1.0 SDP
omap3: beaglexm: fix power on of DVI
omap3: igep3: Add omap_reserve functionality
omap3: beaglexm: fix DVI reset GPIO
omap3: beaglexm: fix EHCI power up GPIO dir
omap3: igep2: Add keypad support
omap3: igep3: Fix IGEP module second MMC channel power supply
omap3: igep3: Add USB EHCI support for IGEP module
omap3: clocks: Fix build error 'CK_3430ES2' undeclared here
arm: omap4: pandaboard: turn on PHY reference clock at init
omap2plus: prm: Trvial build break fix for undefined reference to 'omap2_prm_read_mod_reg'
omap2plus: voltage: Trivial linking fix for 'EINVAL' undeclared
omap2plus: voltage: Trivial linking fix 'undefined reference'
omap2plus: voltage: Trivial warning fix 'no return statement'
omap2plus: clockdomain: Trivial fix for build break because of clktrctrl_mask
arm: omap: gpio: don't access irq_desc array directly
omap2+: pm_bus: make functions used as pointers as static
OMAP: GPIO: fix _set_gpio_triggering() for OMAP2+
OMAP2+: TWL: include pm header for init protos
OMAP2+: TWL: make conversion routines static
...

Fix up conflicts in arch/arm/mach-omap2/board-omap3beagle.c ("DVI reset
GPIO" vs "use generic DPI panel driver")
dc8e7e3ec60bd5ef7868aa88755e9d4c948dc5cc 14-Jan-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6

* 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:
cpuidle/x86/perf: fix power:cpu_idle double end events and throw cpu_idle events from the cpuidle layer
intel_idle: open broadcast clock event
cpuidle: CPUIDLE_FLAG_CHECK_BM is omap3_idle specific
cpuidle: CPUIDLE_FLAG_TLB_FLUSHED is specific to intel_idle
cpuidle: delete unused CPUIDLE_FLAG_SHALLOW, BALANCED, DEEP definitions
SH, cpuidle: delete use of NOP CPUIDLE_FLAGS_SHALLOW
cpuidle: delete NOP CPUIDLE_FLAG_POLL
ACPI: processor_idle: delete use of NOP CPUIDLE_FLAGs
cpuidle: Rename X86 specific idle poll state[0] from C0 to POLL
ACPI, intel_idle: Cleanup idle= internal variables
cpuidle: Make cpuidle_enable_device() call poll_idle_init()
intel_idle: update Sandy Bridge core C-state residency targets
d33a6291c1c577ff2272edab7416a0f7308e1cef 13-Jan-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6: (29 commits)
video: move SH_MIPI_DSI/SH_LCD_MIPI_DSI to the top of menu
fbdev: Implement simple blanking in pseudocolor modes for vt8500lcdfb
video: imx: Update the manufacturer's name
nuc900fb: don't treat NULL clk as an error
s3c2410fb: don't treat NULL clk as an error
video: tidy up modedb formatting.
video: matroxfb: Correct video option in comments and kernel config help.
fbdev: sh_mobile_hdmi: simplify pointer handling
fbdev: sh_mobile_hdmi: framebuffer notifiers have to be registered
fbdev: sh_mobile_hdmi: add command line option to use the preferred EDID mode
OMAP: DSS2: Introduce omap_channel as an omap_dss_device parameter, add new overlay manager.
OMAP: DSS2: Use dss_features to handle DISPC bits removed on OMAP4
OMAP: DSS2: LCD2 Channel Changes for DISPC
OMAP: DSS2: Change remaining DISPC functions for new omap_channel argument
OMAP: DSS2: Introduce omap_channel argument to DISPC functions used by interface drivers
OMAP: DSS2: Represent DISPC register defines with channel as parameter
OMAP: DSS2: Add dss_features for omap4 and overlay manager related features
OMAP: DSS2: Clean up DISPC color mode validation checks
OMAP: DSS2: Add back authors of panel-generic.c based drivers
OMAP: DSS2: remove generic DPI panel driver duplicated panel drivers
...
008d23e4852d78bb2618f2035f8b2110b6a6b968 13-Jan-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial

* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
Documentation/trace/events.txt: Remove obsolete sched_signal_send.
writeback: fix global_dirty_limits comment runtime -> real-time
ppc: fix comment typo singal -> signal
drivers: fix comment typo diable -> disable.
m68k: fix comment typo diable -> disable.
wireless: comment typo fix diable -> disable.
media: comment typo fix diable -> disable.
remove doc for obsolete dynamic-printk kernel-parameter
remove extraneous 'is' from Documentation/iostats.txt
Fix spelling milisec -> ms in snd_ps3 module parameter description
Fix spelling mistakes in comments
Revert conflicting V4L changes
i7core_edac: fix typos in comments
mm/rmap.c: fix comment
sound, ca0106: Fix assignment to 'channel'.
hrtimer: fix a typo in comment
init/Kconfig: fix typo
anon_inodes: fix wrong function name in comment
fix comment typos concerning "consistent"
poll: fix a typo in comment
...

Fix up trivial conflicts in:
- drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)
- fs/ext4/ext4.h

Also fix missed 'diabled' typo in drivers/net/bnx2x/bnx2x.h while at it.
df303477bd06d5453a4d8a69fb1ecf24c5ca5e48 29-Nov-2010 Lennert Buytenhek <buytenh@wantstofly.org> ARM: omap2: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
rq.c
7d4ca85a53bab1f6f9911411be38e0486a11187a 12-Jan-2011 Tony Lindgren <tony@atomide.com> omap4: Fix ULPI PHY init for ES1.0 SDP

Commit 6aa85a5ae610106d89e50c7e1f760c56d12f9bc4 (omap4: 4430sdp:
enable the ehci port on 4430SDP) added code to enable EHCI
support on 4430sdp board.

Looks like the ULPI pin does not seem to be muxed properly on ES1.0
SDP and this causes the system to reboot when the ULPI PHY is
enabled.

Fix this by muxing the pin, this is the same setting for
both ES1.0 and ES2.0. Also add checking for gpio_request.

Cc: Keshava Munegowda <keshava_mgowda@ti.com
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
56dbed129df3fdd4caf9018b6e7599ee258a5420 13-Jan-2011 Len Brown <len.brown@intel.com> Merge branch 'linus' into idle-test
5392083748a340f68052c0b83a7ce28b10324972 12-Jan-2011 Len Brown <len.brown@intel.com> cpuidle: CPUIDLE_FLAG_CHECK_BM is omap3_idle specific

Signed-off-by: Len Brown <len.brown@intel.com>
puidle34xx.c
1bd9ef198498e3e00c9d78a1566338f7ea2e4bb5 12-Jan-2011 Koen Kooi <koen@beagleboard.org> omap3: beaglexm: fix power on of DVI

TFP410 DVI chip is used to provide display out.
This chip is controlled by 2 lines:
LDO which supplies the power is controlled over gpio + 2
and the enable of the chip itself is done over gpio + 1
NOTE: the LDO is necessary for LED, serial blocks as well.

gpio + 1 was used to sense USB overcurrent in vanilla beagle.

Without this fix, the display would not function as the LDO
remains shut down.

[nm@ti.com: split up, added descriptive changelogs]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Koen Kooi <koen@beagleboard.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
0f7e2aaa03ea3f2393d3446c686036ce51298d3e 11-Jan-2011 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: igep3: Add omap_reserve functionality

This patch adds omap_reserve functionality to board-igep0030.c.

This patch is in similar lines to commit id 71ee7dad9b6991, from
Russell king

Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0030.c
f8362d215549c66066f78e67c033dd370ae50322 11-Jan-2011 Koen Kooi <koen@beagleboard.org> omap3: beaglexm: fix DVI reset GPIO

GPIO reset line for Beagle XM is different from vanilla beagle
so we populate it as part of gpio update routine.

This in part fixes the issue of display not functioning on beagle XM
platform.

[nm@ti.com: split up, added descriptive changelogs]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Koen Kooi <koen@beagleboard.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
68fc3e152c9f99323e2a4917967725aec5281b32 11-Jan-2011 Koen Kooi <koen@beagleboard.org> omap3: beaglexm: fix EHCI power up GPIO dir

EHCI enable power pin is inverted (active high) in comparison
to vanilla beagle which is active low. Handle this case conditionally.

Without this fix, Beagle XM 4 port EHCI will not function and no
networking will be available

[nm@ti.com: split up, added descriptive changelogs]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Koen Kooi <koen@beagleboard.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
e9ab3207310e8acfa3a5cd8cbb44860f69270bfd 10-Jan-2011 Paul Mundt <lethal@linux-sh.org> Merge branch 'for-paul-38-rebased' of git://gitorious.org/linux-omap-dss2/linux
18cbc7d94c1248fdc850ef6bac1cd8e22ef0738f 10-Jan-2011 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: igep2: Add keypad support

Support twl4030 keypad and gpio keys on IGEP v2.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
a271c6cd209674118e5ec221de922bc59c0c9454 10-Jan-2011 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: igep3: Fix IGEP module second MMC channel power supply

The second MMC channel (used by the WLAN/BT module) is not linked to
power regulator. This causes the WLAN/BT module to fail being detected if
CONFIG_REGULATOR_DUMMY is not set.

This patch adds the two regulators that actually feed the WLAN/BT module
(1v8 from the TWL4030 VIO LDO, and a fixed 3v3). With that patch, the
second channel is properly detected.

Also change vmmc1 to use symbolic names instead of direct device
reference.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Acked-by: Marc Zyngier <maz@misterjones.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0030.c
7b0d4b71f5b17f22914bc6b2e36c4cd7cdc56a28 10-Jan-2011 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: igep3: Add USB EHCI support for IGEP module

The OMAP3 IGEP module has one EHCI interface on board using
USB2HS port. GPIO183 is used as PHY reset.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0030.c
274353674dd0337bdeeaee08a9f2047777b07ab0 10-Jan-2011 Tony Lindgren <tony@atomide.com> Merge branch 'ehci-omap-clock' into omap-fixes
d7cd5c73cec2dfa9f259a2adcf802c9f8fcc125f 09-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> omap3: clocks: Fix build error 'CK_3430ES2' undeclared here

At latest mainline commit 0c21e3aaf6a, omap2plus build is broken. This
patch is trivial fix for the missed usb clock node for CK_3430ES2PLUS
flag update.

CHK include/generated/compile.h
CC arch/arm/mach-omap2/clock3xxx_data.o
arch/arm/mach-omap2/clock3xxx_data.c:3289: error: 'CK_3430ES2' undeclared
here (not in a function)
make[1]: *** [arch/arm/mach-omap2/clock3xxx_data.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
[tony@atomide.com: updated mask to include CK_36XX]
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock3xxx_data.c
1740d483ba4d79f9fa6984dccd7152b6b208f1bf 10-Jan-2011 Anand Gadiyar <gadiyar@ti.com> arm: omap4: pandaboard: turn on PHY reference clock at init

The SMSC 3320 USB PHY on the OMAP4 Pandaboard needs a 19.2 MHz
reference clock. This clock is provided from the OMAP4's fref_clk3
pad.

Recent changes to clock44xx_data.c made the clock framework aware
of the existence of these fref_clk[i] lines. If the option
CONFIG_OMAP_RESET_CLOCKS is enabled in the kernel, then the
clock framework will turn these clocks off during bootup.

Explicitly request and keep this clock enabled at init for the
Pandaboard, so that the PHY receives this clock at all times.

Reported-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
89747c9141cd750a610974d93f71492922b8cbd7 17-Nov-2010 Bryan Wu <bryan.wu@canonical.com> OMAP: use generic DPI panel driver in board files

Still keep sharp_ls_panel, since the sharp_ls_panel driver contains blacklight
control driver code which will be moved out later. Then we can use generic DPI
driver for sharp_ls_panel.

Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
Acked-by: Archit Taneja <archit@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
oard-3430sdp.c
oard-am3517evm.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3stalker.c
ed3f90954654a5d9d07b30d39434392a644602fb 15-Nov-2010 Kishore Y <kishore.y@ti.com> OMAP3: Enable display on ZOOM2/3/3630SDP

Enable Display on zoom2, zoom3 and 3630sdp boards.

Signed-off-by: Mukund Mittal <mmittal@ti.com>
Signed-off-by: Kishore Y <kishore.y@ti.com>
Signed-off-by: Samreen <samreen@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
oard-3630sdp.c
oard-zoom.c
a64903357596c64f3848d448033eb5cc7563c00d 15-Nov-2010 Kishore Y <kishore.y@ti.com> OMAP3: ZOOM2/3/3630SDP: Add display board file for OMAP3

Board-zoom-display.c added as a common file for display functionality
on boards zoom2, zoom3 and 3630sdp.

Signed-off-by: Mukund Mittal <mmittal@ti.com>
Signed-off-by: Kishore Y <kishore.y@ti.com>
Signed-off-by: Rajkumar N <rajkumar.nagarajan@ti.com>
Signed-off-by: Samreen <samreen@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
akefile
oard-zoom-display.c
oard-zoom-peripherals.c
nclude/mach/board-zoom.h
56a6a19dffda6b75cef8d4183c7c6ff650025cbd 04-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> omap2plus: prm: Trvial build break fix for undefined reference to 'omap2_prm_read_mod_reg'

omap2plus_defocnfig build breaks when customised with only ARCH_OMAP4
selected. This is because common files make references to the functions
which are defined only for omap2xxx and omap3xxx.

LD .tmp_vmlinux1
arch/arm/mach-omap2/built-in.o: In function `pm_dbg_regset_store':
arch/arm/mach-omap2/pm-debug.c:335: undefined reference to `omap2_prm_read_mod_reg'
arch/arm/mach-omap2/built-in.o: In function `omap2_pm_dump':
arch/arm/mach-omap2/pm-debug.c:121: undefined reference to `omap2_prm_read_mod_reg'
arch/arm/mach-omap2/pm-debug.c:123: undefined reference to `omap2_prm_read_mod_reg'
arch/arm/mach-omap2/pm-debug.c:124: undefined reference to `omap2_prm_read_mod_reg'
arch/arm/mach-omap2/pm-debug.c:125: undefined reference to `omap2_prm_read_mod_reg'
arch/arm/mach-omap2/built-in.o: In function `omap_prcm_arch_reset':
arch/arm/mach-omap2/prcm.c:106: undefined reference to `omap2_prm_set_mod_reg_bits'
arch/arm/mach-omap2/prcm.c:108: undefined reference to `omap2_prm_read_mod_reg'
arch/arm/mach-omap2/built-in.o: In function `omap_prcm_get_reset_sources':
arch/arm/mach-omap2/prcm.c:53: undefined reference to `omap2_prm_read_mod_reg'
arch/arm/mach-omap2/built-in.o: In function `clkdm_clear_all_wkdeps':
arch/arm/mach-omap2/clockdomain.c:545: undefined reference to `omap2_prm_clear_mod_reg_bits'
arch/arm/mach-omap2/built-in.o: In function `clkdm_del_wkdep':
arch/arm/mach-omap2/clockdomain.c:475: undefined reference to `omap2_prm_clear_mod_reg_bits'
arch/arm/mach-omap2/built-in.o: In function `clkdm_read_wkdep':
arch/arm/mach-omap2/clockdomain.c:511: undefined reference to `omap2_prm_read_mod_bits_shift'
arch/arm/mach-omap2/built-in.o: In function `clkdm_add_wkdep':
arch/arm/mach-omap2/clockdomain.c:440: undefined reference to `omap2_prm_set_mod_reg_bits'
make: *** [.tmp_vmlinux1] Error 1

This patch adds stubs for these functions so that build continues to work.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
rm2xxx_3xxx.h
302991379c2940975cd9c6dc377abe0b522b5010 05-Jan-2011 Santosh Shilimkar <santosh.shilimkar@ti.com> omap2plus: clockdomain: Trivial fix for build break because of clktrctrl_mask

struct clockdomain member clktrctrl_mask is available for only for OMAP2
and OMAP3 architectures. Technially it is also used only for these archs
but this breaks the build with custom OMAP4 configuration.

CC arch/arm/mach-omap2/clockdomain.o
arch/arm/mach-omap2/clockdomain.c: In function '_enable_hwsup':
arch/arm/mach-omap2/clockdomain.c:251: error: 'struct clockdomain' has no member named 'clktrctrl_mask'
arch/arm/mach-omap2/clockdomain.c:254: error: 'struct clockdomain' has no member named 'clktrctrl_mask'
arch/arm/mach-omap2/clockdomain.c: In function '_disable_hwsup':
arch/arm/mach-omap2/clockdomain.c:277: error: 'struct clockdomain' has no member named 'clktrctrl_mask'
arch/arm/mach-omap2/clockdomain.c:280: error: 'struct clockdomain' has no member named 'clktrctrl_mask'
arch/arm/mach-omap2/clockdomain.c: In function 'omap2_clkdm_sleep':
arch/arm/mach-omap2/clockdomain.c:744: error: 'struct clockdomain' has no member named 'clktrctrl_mask'
arch/arm/mach-omap2/clockdomain.c: In function 'omap2_clkdm_wakeup':
arch/arm/mach-omap2/clockdomain.c:789: error: 'struct clockdomain' has no member named 'clktrctrl_mask'
arch/arm/mach-omap2/clockdomain.c: In function 'omap2_clkdm_clk_enable':
arch/arm/mach-omap2/clockdomain.c:922: error: 'struct clockdomain' has no member named 'clktrctrl_mask'
arch/arm/mach-omap2/clockdomain.c:926: error: 'struct clockdomain' has no member named 'clktrctrl_mask'
arch/arm/mach-omap2/clockdomain.c: In function 'omap2_clkdm_clk_disable':
arch/arm/mach-omap2/clockdomain.c:994: error: 'struct clockdomain' has no member named 'clktrctrl_mask'
arch/arm/mach-omap2/clockdomain.c:998: error: 'struct clockdomain' has no member named 'clktrctrl_mask'
make[1]: *** [arch/arm/mach-omap2/clockdomain.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Fix the build break by dropping the #ifdef as suggested by Paul Walmsley

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
lockdomain.h
b97c374d8a44292c601146783aac61f3d5d1f46f 04-Jan-2011 Nishanth Menon <nm@ti.com> omap2+: pm_bus: make functions used as pointers as static

omap_pm_runtime_suspend and omap_pm_runtime_resume are used
as function pointers and does not really need to be exposed
to the world.

Fixes sparse warnings:
arch/arm/mach-omap2/pm_bus.c:23:5: warning: symbol 'omap_pm_runtime_suspend' was not declared. Should it be static?
arch/arm/mach-omap2/pm_bus.c:40:5: warning: symbol 'omap_pm_runtime_resume' was not declared. Should it be static?

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
m_bus.c
dda0aea7ba5a902982cb65a7f7ec1b5c8e7b6923 03-Jan-2011 Nishanth Menon <nm@ti.com> OMAP2+: TWL: include pm header for init protos

twl_init functions are declared in pm.h and used in pm.c
pm.h header defining the protos need to be included to
ensure that omap_twl.c has consistent function definition.
This fixes sparse warning:
arch/arm/mach-omap2/omap_twl.c:237:12: warning: symbol 'omap4_twl_init' was not declared. Should it be static?
arch/arm/mach-omap2/omap_twl.c:256:12: warning: symbol 'omap3_twl_init' was not declared. Should it be static?

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map_twl.c
c84ff1cc48fa41ea1b86f76f61dd4767f1adb0cd 03-Jan-2011 Nishanth Menon <nm@ti.com> OMAP2+: TWL: make conversion routines static

The uv_to_vsel, vsel_to_uv functions don't need to be exposed to the
world as they are used as function pointers. make them static.

Fixes sparse warnings:
arch/arm/mach-omap2/omap_twl.c:63:15: warning: symbol 'twl4030_vsel_to_uv' was not declared. Should it be static?
arch/arm/mach-omap2/omap_twl.c:68:4: warning: symbol 'twl4030_uv_to_vsel' was not declared. Should it be static?
arch/arm/mach-omap2/omap_twl.c:73:15: warning: symbol 'twl6030_vsel_to_uv' was not declared. Should it be static?
arch/arm/mach-omap2/omap_twl.c:105:4: warning: symbol 'twl6030_uv_to_vsel' was not declared. Should it be static?

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
map_twl.c
d0eadf6d10923a46609b682bb12657fdfc1afc18 03-Jan-2011 Nishanth Menon <nm@ti.com> OMAP3+: sr_device: include pm header

omap_enable_smartreflex_on_init is meant to be used by boards
which would like to have SR enabled by default on the platform, while
omap_devinit_smartreflex is used by pm code, the protos are defined
in pm.h. This header should be included to ensure that sr_device
function definitions match the prototypes.

including pm.h fixes the sparse warnings (with CONFIG_OMAP_SMARTREFLEX=y):
arch/arm/mach-omap2/sr_device.c:138:13: warning: symbol 'omap_enable_smartreflex_on_init' was not declared. Should it be static?
arch/arm/mach-omap2/sr_device.c:143:12: warning: symbol 'omap_devinit_smartreflex' was not declared. Should it be static?

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
r_device.c
3e5b08cbbf78bedd316904ab0cf3b27119433ee5 07-Jan-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

* 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (144 commits)
USB: add support for Dream Cheeky DL100B Webmail Notifier (1d34:0004)
USB: serial: ftdi_sio: add support for TIOCSERGETLSR
USB: ehci-mxc: Setup portsc register prior to accessing OTG viewport
USB: atmel_usba_udc: fix freeing irq in usba_udc_remove()
usb: ehci-omap: fix tll channel enable mask
usb: ohci-omap3: fix trivial typo
USB: gadget: ci13xxx: don't assume that PAGE_SIZE is 4096
USB: gadget: ci13xxx: fix complete() callback for no_interrupt rq's
USB: gadget: update ci13xxx to work with g_ether
USB: gadgets: ci13xxx: fix probing of compiled-in gadget drivers
Revert "USB: musb: pm: don't rely fully on clock support"
Revert "USB: musb: blackfin: pm: make it work"
USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path
USB: uas: Ensure we only bind to a UAS interface
USB: uas: Rename sense pipe and sense urb to status pipe and status urb
USB: uas: Use kzalloc instead of kmalloc
USB: uas: Fix up the Sense IU
usb: musb: core: kill unneeded #include's
DA8xx: assign name to MUSB IRQ resource
usb: gadget: g_ncm added
...

Manually fix up trivial conflicts in USB Kconfig changes in:
arch/arm/mach-omap2/Kconfig
arch/sh/Kconfig
drivers/usb/Kconfig
drivers/usb/host/ehci-hcd.c
and annoying chip clock data conflicts in:
arch/arm/mach-omap2/clock3xxx_data.c
arch/arm/mach-omap2/clock44xx_data.c
a9b365bdc328bd66e97087d0dba0b9a3d9eb1ac6 07-Jan-2011 Nishanth Menon <nm@ti.com> omap2+: wdt: trivial sparse fixes

omap2_wd_timer_disable is declared in wdtimer.h and used by hwmod
function pointers for usage, the header inclusion is necessary
to ensure that the prototype and function remains consistent.
omap_wdt_latency is passed as a pointer and does not need global scope

Fixes sparse warnings:
arch/arm/mach-omap2/devices.c:981:31: warning: symbol 'omap_wdt_latency' was not declared. Should it be static?
arch/arm/mach-omap2/wd_timer.c:27:5: warning: symbol 'omap2_wd_timer_disable' was not declared. Should it be static?

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
d_timer.c
2393608aede2380afc3fa8815197363f01f328ad 07-Jan-2011 Nishanth Menon <nm@ti.com> omap3: igep3: make igep3_flash_init static

igep3_flash_init is not used beyond the scope of the file, make it
static instead.

Fixes sparse warning:
arch/arm/mach-omap2/board-igep0030.c:106:13: warning: symbol 'igep3_flash_init' was not declared. Should it be static?

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0030.c
0ce3bb7208b5bf7de2d869a881372b60cc37362c 07-Jan-2011 Nishanth Menon <nm@ti.com> omap3: zoom: use static for pointer passing

omap_zoom_wlan_data and zoom2_set_hs_extmute are not used beyond
the scope of zoom-peripherals directly, instead pointers are used.
make them static instead.

Fixes sparse warnings:
arch/arm/mach-omap2/board-zoom-peripherals.c:193:29: warning: symbol 'omap_zoom_wlan_data' was not declared. Should it be static?
arch/arm/mach-omap2/board-zoom-peripherals.c:245:6: warning: symbol 'zoom2_set_hs_extmute' was not declared. Should it be static?

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-peripherals.c
bcb52693a49994f435fad5f8d4277fbb125f3452 07-Jan-2011 Nishanth Menon <nm@ti.com> omap3|4: mux: make local structures static

Mux data is passed by pointers to mux.c from the SoC specific
mux file, these variables dont really need to be global scope.

This fixes the following sparse warnings:
arch/arm/mach-omap2/mux44xx.c:547:29: warning: symbol 'omap4_core_cbl_ball' was not declared. Should it be static?
arch/arm/mach-omap2/mux44xx.c:1265:29: warning: symbol 'omap4_core_cbs_ball' was not declared. Should it be static?
arch/arm/mach-omap2/mux44xx.c:1549:29: warning: symbol 'omap4_wkup_cbl_cbs_ball' was not declared. Should it be static?

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux34xx.c
ux44xx.c
3083314238afb593b598dca4bab4bb6ae09a6c82 07-Jan-2011 Aaro Koskinen <Aaro.Koskinen@nokia.com> arm: mach-omap2: mux: fix buffer overrun

memcpy() copies 8 bytes too much (omap_mux_entry vs. omap_mux). Correct
by replacing memcpy() with struct assignment, which is safer.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
01539ba2a706ab7d35fc0667dff919ade7f87d63 07-Jan-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (243 commits)
omap2: Make OMAP2PLUS select OMAP_DM_TIMER
OMAP4: hwmod data: Fix alignment and end of line in structurefields
OMAP4: hwmod data: Move the DMA structures
OMAP4: hwmod data: Move the smartreflex structures
OMAP4: hwmod data: Fix missing SIDLE_SMART_WKUP in smartreflexsysc
arm: omap: tusb6010: add name for MUSB IRQ
arm: omap: craneboard: Add USB EHCI support
omap2+: Initialize serial port for dynamic remuxing for n8x0
omap2+: Add struct omap_board_data and use it for platform level serial init
omap2+: Allow hwmod state changes to mux pads based on the state changes
omap2+: Add support for hwmod specific muxing of devices
omap2+: Add omap_mux_get_by_name
OMAP2: PM: fix compile error when !CONFIG_SUSPEND
MAINTAINERS: OMAP: hwmod: update hwmod code, data maintainership
OMAP4: Smartreflex framework extensions
OMAP4: hwmod: Add inital data for smartreflex modules.
OMAP4: PM: Program correct init voltages for scalable VDDs
OMAP4: Adding voltage driver support
OMAP4: Register voltage PMIC parameters with the voltage layer
OMAP3: PM: Program correct init voltages for VDD1 and VDD2
...

Fix up trivial conflict in arch/arm/plat-omap/Kconfig
3c0cb7c31c206aaedb967e44b98442bbeb17a6c4 07-Jan-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (416 commits)
ARM: DMA: add support for DMA debugging
ARM: PL011: add DMA burst threshold support for ST variants
ARM: PL011: Add support for transmit DMA
ARM: PL011: Ensure IRQs are disabled in UART interrupt handler
ARM: PL011: Separate hardware FIFO size from TTY FIFO size
ARM: PL011: Allow better handling of vendor data
ARM: PL011: Ensure error flags are clear at startup
ARM: PL011: include revision number in boot-time port printk
ARM: vexpress: add sched_clock() for Versatile Express
ARM i.MX53: Make MX53 EVK bootable
ARM i.MX53: Some bug fix about MX53 MSL code
ARM: 6607/1: sa1100: Update platform device registration
ARM: 6606/1: sa1100: Fix platform device registration
ARM i.MX51: rename IPU irqs
ARM i.MX51: Add ipu clock support
ARM: imx/mx27_3ds: Add PMIC support
ARM: DMA: Replace page_to_dma()/dma_to_page() with pfn_to_dma()/dma_to_pfn()
mx51: fix usb clock support
MX51: Add support for usb host 2
arch/arm/plat-mxc/ehci.c: fix errors/typos
...
4073723acb9cdcdbe4df9c0e0c376c65d1697e43 06-Jan-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'misc' into devel

Conflicts:
arch/arm/Kconfig
arch/arm/common/Makefile
arch/arm/kernel/Makefile
arch/arm/kernel/smp.c
4ec3eb13634529c0bc7466658d84d0bbe3244aea 06-Jan-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'smp' into misc

Conflicts:
arch/arm/kernel/entry-armv.S
arch/arm/mm/ioremap.c
58daf18cdcab550262a5f4681e1f1e073e21965a 05-Jan-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'clksrc' into devel

Conflicts:
arch/arm/mach-vexpress/v2m.c
arch/arm/plat-omap/counter_32k.c
arch/arm/plat-versatile/Makefile
31edf274f9aff1ccd39934a0b2fce38f4405c656 05-Jan-2011 Russell King <rmk+kernel@arm.linux.org.uk> Merge branches 'ftrace', 'gic', 'io', 'kexec', 'mod', 'sa11x0', 'sh' and 'versatile' into devel
17f7f4d9fcce8f1b75b5f735569309dee7665968 27-Dec-2010 David S. Miller <davem@davemloft.net> Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

Conflicts:
net/ipv4/fib_frontend.c
fe13471c4b546e07ddbaf5fb2209b50c14b99b20 23-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Fix alignment and end of line in structurefields

In order to be fully aligned with the Python generator output,
change a couple of fields.

- Add tab in class structures to align attributes
- Add a comma at the end of the following line to simplify
the generation by having always the same eol:
".pre_shutdown = &omap2_wd_timer_disable,"
- Add a blank line before the first entry of the
omap44xx_hwmods array.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Tested-by: G, Manjunath Kondaiah <manjugk@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
d7cf5f33fc68573d7bb9d4fc244ea1a3ed0b011b 23-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Move the DMA structures

The merge of the DMA series on top of the already modified
omap_hwmod_data_44xx.c put the dma_system structures at
the wrong position in the file.
Re-order it properly.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Tested-by: G, Manjunath Kondaiah <manjugk@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
1f6a717f1c000bb6184fe09c5ae99bad5965cadf 23-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Move the smartreflex structures

The merge of the SR series on top of the already modified
omap_hwmod_data_44xx.c moved the smartreflex structures at the wrong
position in the file.
- Re-order the structures properly.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Thara Gopinath <thara@ti.com>
Tested-by: G, Manjunath Kondaiah <manjugk@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
4d218826ad9ba5ab0b2d7e0a2b14f2a1e48a5e0b 23-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Fix missing SIDLE_SMART_WKUP in smartreflexsysc

Add the missing SIDLE_SMART_WKUP flag in idlemodes field of
the smartreflex sysconfig structure.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Thara Gopinath <thara@ti.com>
Tested-by: G, Manjunath Kondaiah <manjugk@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
6ec1e077e36c5469a6f901ca9abbd9bd5d23e6ae 23-Dec-2010 Felipe Balbi <balbi@ti.com> arm: omap: tusb6010: add name for MUSB IRQ

commit fcf173e4511193b1efeccb0f22a8c641b464353b
(add names for IRQs in structure resource)
forgot to take care of tusb6010 making it
fail to probe due to a missing resource.

Fix it.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-tusb6010.c
840b929680c0d79f5248724d1b6b6d3f2ca3159e 23-Dec-2010 Srinath <srinath@mistralsolutions.com> arm: omap: craneboard: Add USB EHCI support

AM3517/05 Craneboard has one EHCI interface on board using port1.

GPIO35 is used as power enable.
GPIO38 is used as port1 PHY reset.

History:
http://marc.info/?l=linux-omap&w=2&r=1&s=Craneboard%253A%2BAdd%2BUSB%2BEHCI%2Bsupport&q=b

Signed-off-by: Srinath <srinath@mistralsolutions.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517crane.c
0b50c691f93a973136dc821ef11372ffdfae9646 23-Dec-2010 Tony Lindgren <tony@atomide.com> omap2+: Initialize serial port for dynamic remuxing for n8x0

Use omap_serial_init_port so we can let the serial code handle the
remuxing of the RX pads. Note that this patch alone is not enough
and additional GPIO related patches are needed.

Only initialize uart3_rx_irrx pin, the other uart pins can be
stay static.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
40e44399301b6dbd997408a184140b79b77f632d 23-Dec-2010 Tony Lindgren <tony@atomide.com> omap2+: Add struct omap_board_data and use it for platform level serial init

This is needed to pass board specific data such as pads used to the
platform level driver init code.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.h
erial.c
8d9af88f55be89fa4c897ded3204ef12c947731e 23-Dec-2010 Tony Lindgren <tony@atomide.com> omap2+: Allow hwmod state changes to mux pads based on the state changes

Allow hwmod state changes to mux pads based on the state changes.

By default, only enable and disable the pads. In some rare cases
dynamic remuxing for the idles states is needed, this can be done
by passing the enable, idle, and off pads from board-*.c file along
with OMAP_DEVICE_PAD_REMUX flag.

Thanks to Paul Walmsley <paul@booyaka.com> for the comments on the
hwmod related changes.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
ux.h
map_hwmod.c
9796b323b5a1940f9ec62c3a6cf7e442bf540d53 23-Dec-2010 Tony Lindgren <tony@atomide.com> omap2+: Add support for hwmod specific muxing of devices

This allows adding hwmod specific pads dynamically during the
platform device init.

Note that we don't currently have the hwmod specific signals
listed in the hwmod data, but struct omap_hwmod_mux_info will
make that possible if necessary.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
ux.h
8419fdbaf2118a0a169441be82f09f7be93a5ca1 23-Dec-2010 Tony Lindgren <tony@atomide.com> omap2+: Add omap_mux_get_by_name

Do this by splitting _omap_mux_init_signal as it already has most
of the necessary features.

Based on an earlier patch by Dan Murphy <dmurphy@ti.com>.

Cc: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
05fad3e72e98e57274b8930a08f8b476048f5022 23-Dec-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2: PM: fix compile error when !CONFIG_SUSPEND

When CONFIG_SUSPEND is not enabled, none of the system PM methods are
used, so do not compile them in.

Thanks to Charles Manning for reporting the problem and proposing
an initial patch.

Reported-by: Charles Manning <manningc2@actrix.gen.nz>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m24xx.c
1c4655651f1377297425525b250b2e4b5462015b 23-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-sr' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
8437c25e78c3af2b31bf6c8942494e34e267f446 13-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: omap: update clock source registration

In d7e81c2 (clocksource: Add clocksource_register_hz/khz interface) new
interfaces were added which simplify (and optimize) the selection of the
divisor shift/mult constants. Switch over to using this new interface.

Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
imer-gp.c
b35cecf978e33bf8f4be0f36ffe00fe10f381c4a 17-Aug-2010 Thara Gopinath <thara@ti.com> OMAP4: Smartreflex framework extensions

This patch extends the smartreflex framework to support
OMAP4. The changes are minor like compiling smartreflex Kconfig
option for OMAP4 also, and a couple of OMAP4 checks in
the smartreflex framework.

The change in sr_device.c where new logic has to be introduced
for reading the efuse registers is due to the fact that in OMAP4
the efuse registers are 24 bit aligned. A __raw_readl will
fail for non-32 bit aligned address and hence the 8-bit read
and shift.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
martreflex.c
r_device.c
fb200cfb2330b959eabc94e2f2c15717ce8466af 17-Aug-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod: Add inital data for smartreflex modules.

This patch adds the hwmod details for OMAP4 smartreflex modules.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_44xx_data.c
1376ee1d191b32d0be6d2956f1a6f3dd63251e2e 29-May-2010 Thara Gopinath <thara@ti.com> OMAP4: PM: Program correct init voltages for scalable VDDs

By default the system boots up at nominal voltage for every
voltage domain in the system. This patch puts vdd_mpu, vdd_iva
and vdd_core to the correct boot up voltage as per the opp tables
specified. This patch implements this by matching the rate of
the main clock of the voltage domain with the opp table and
picking up the correct voltage.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.c
bd38107b565a41d994aa22db0962ffcc34ebef02 10-Dec-2010 Thara Gopinath <thara@ti.com> OMAP4: Adding voltage driver support

OMAP4 has three scalable voltage domains vdd_mpu, vdd_iva
and vdd_core. This patch adds the voltage tables and other
configurable voltage processor and voltage controller
settings to control these three scalable domains in OMAP4.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
ontrol.h
oltage.c
7bc3ed9ae632b9c94d3721d555d3452e24ca8ee3 10-Dec-2010 Thara Gopinath <thara@ti.com> OMAP4: Register voltage PMIC parameters with the voltage layer

TWL6030 is the power IC used along with OMAP4 in OMAP4 SDPs,
blaze boards and panda boards. This patch registers the OMAP4
PMIC specific information with the voltage layer.
This also involves implementing a different formula for
voltage to vsel and vsel to voltage calculations from
TWL4030.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_twl.c
m.c
m.h
1482d8be5525eccdec6286677d40af29da03a30c 29-May-2010 Thara Gopinath <thara@ti.com> OMAP3: PM: Program correct init voltages for VDD1 and VDD2

By default the system boots up at nominal voltage for every
voltage domain in the system. This patch puts VDD1 and VDD2
to the correct boot up voltage as per the opp tables specified.
This patch implements this by matching the rate of the main clock
of the voltage domain with the opp table and picking up the correct
voltage.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.c
077fceca3a5db69791d64723ffba1caad2f03a08 27-Oct-2010 Thara Gopinath <thara@ti.com> OMAP3: PM: Adding debug support to Voltage and Smartreflex drivers

This patch adds debug support to the voltage and smartreflex drivers.
This means a whole bunch of voltage processor and smartreflex
parameters are now visible through the pm debugfs.
The voltage parameters can be viewed at
/debug/voltage/vdd_<x>/<parameter>
and the smartreflex parameters can be viewed at
/debug/voltage/vdd_<x>/smartreflex/<parameter>

Also smartreflex n-target values are now exposed out at
/debug/voltage/vdd_<x>/smartreflex/nvalue/<voltage>

This is a read-write interface which means user has the
flexibility to change the n-target values for any opp.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
martreflex.c
oltage.c
fbc319f67660ede23cc22f3af5df559693f8062e 10-Dec-2010 Thara Gopinath <thara@ti.com> OMAP3: PM: Register TWL4030 pmic info with the voltage driver.

This patch registers the TWL4030 PMIC specific informtion
with the voltage driver. Failing this patch the voltage driver
is unware of the formula to use for vsel to voltage and vice versa
conversion and lot of other PMIC dependent parameters.

This file is based on the arch/arm/plat-omap opp_twl_tpl.c file
by Paul Walmsley. The original file is replaced by this file.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
map_twl.c
m.c
m.h
fa765823a3cbb9ce1b13ce2832109a50d899c471 29-May-2010 Thara Gopinath <thara@ti.com> OMAP3: PM: Adding smartreflex class3 driver

Smartreflex Class3 implementation continuously monitors
silicon performance and instructs the Voltage Processors
to increase or decrease the voltage.
This patch adds smartreflex class 3 driver. This driver hooks
up with the generic smartreflex driver smartreflex.c to abstract
out class specific implementations out of the generic driver.

Class3 driver is chosen as the default class driver for smartreflex.
If any other class driver needs to be implemented, the init of that
driver should be called from the board file. That way the new class driver
will over-ride the Class3 driver.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
martreflex-class3.c
d34427267186827dfd62bd8cf726601fffb22534 29-May-2010 Thara Gopinath <thara@ti.com> OMAP3: PM: Adding smartreflex hwmod data

This patch adds the smartreflex hwmod data for OMAP3430
and OMAP3630.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_3xxx_data.c
0c0a5d61ed9319e7e666990a7888f3b00868ac20 29-May-2010 Thara Gopinath <thara@ti.com> OMAP3: PM: Adding smartreflex device file.

This patch adds support for device registration of various
smartreflex module present in the system. This patch introduces
the platform data for smartreflex devices which include
the efused n-target vaules, a parameter to indicate
whether smartreflex autocompensation needs to be
enabled on init or not. An API
omap_enable_smartreflex_on_init is provided for the
board files to enable smartreflex autocompensation during
system boot up.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
m.c
m.h
r_device.c
984aa6dbf4ca5be806fee217311c9cc68e8f2e88 29-May-2010 Thara Gopinath <thara@ti.com> OMAP3: PM: Adding smartreflex driver support.

SmartReflex modules do adaptive voltage control for real-time
voltage adjustments. With Smartreflex the power supply voltage
can be adapted to the silicon performance(manufacturing process,
temperature induced performance, age induced performance etc).

There are differnet classes of smartreflex implementation.
Class-0: Manufacturing Test Calibration
Class-1: Boot-Time Software Calibration
Class-2: Continuous Software Calibration
Class-3: Continuous Hardware Calibration
Class-4: Fully Integrated Power Management

OMAP3 has two smartreflex modules one associated with VDD MPU and the
other associated with VDD CORE.
This patch adds support for smartreflex driver. The driver is designed
for Class-1 , Class-2 and Class-3 support and is a platform driver.
Smartreflex driver can be enabled through a Kconfig option
"SmartReflex support" under "System type"->"TI OMAP implementations" menu.

Smartreflex autocompensation feature can be enabled runtime through
a debug fs option.
To enable smartreflex autocompensation feature
echo 1 > /debug/voltage/vdd_<X>/smartreflex/autocomp
To disable smartreflex autocompensation feature
echo 0 > /debug/voltage/vdd_<X>/smartreflex/autocomp

where X can be mpu, core , iva etc.

This patch contains code originally in linux omap pm branch.
Major contributors to this driver are
Lesly A M, Rajendra Nayak, Kalle Jokiniemi, Paul Walmsley,
Nishant Menon, Kevin Hilman.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
martreflex.c
2f34ce81b8c05c900e45bd88595cc154f7bb5957 29-May-2010 Thara Gopinath <thara@ti.com> OMAP3: PM: Adding voltage driver support.

This patch adds voltage driver support for OMAP3. The driver
allows configuring the voltage controller and voltage
processors during init and exports APIs to enable/disable
voltage processors, scale voltage and reset voltage.
The driver maintains the global voltage table on a per
VDD basis which contains the various voltages supported by the
VDD along with per voltage dependent data like smartreflex
efuse offset, errminlimit and voltage processor errorgain.
The driver also allows the voltage parameters dependent on the
PMIC to be passed from the PMIC file through an API.
The driver allows scaling of VDD voltages either through
"vc bypass method" or through "vp forceupdate method" the
choice being configurable through the board file.

This patch contains code originally in linux omap pm branch
smartreflex driver. Major contributors to this driver are
Lesly A M, Rajendra Nayak, Kalle Jokiniemi, Paul Walmsley,
Nishant Menon, Kevin Hilman. The separation of PMIC parameters
into a separate structure which can be populated from
the PMIC file is based on the work of Lun Chang from Motorola
in an internal tree.

Signed-off-by: Thara Gopinath <thara@ti.com>
[khilman: fixed link error for OMAP2-only defconfig]
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
ontrol.h
m.c
oltage.c
808601b75804475c9022f6375e76b7c62c99a10a 22-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branch 'integration-2.6.38-for-tony' of git://git.pwsan.com/linux-2.6 into omap-for-linus
c10abbb26513f4ccff89c4d80912cb4d36fcd3e8 22-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branches 'devel-gpmc' and 'devel-misc' into omap-for-linus
da1f026b532ce944d74461497dc6d8c16456466e 20-Dec-2010 Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Keyboard: omap-keypad: use matrix_keypad.h

Most keypad drivers make use of the <linux/input/matrix_keypad.h>
defined macros, structures and inline functions.

Convert omap-keypad driver to use those as well, as suggested by a
compile time warning, hardcoded into the OMAP <palt/keypad.h>.

Created against linux-2.6.37-rc5.
Tested on Amstrad Delta.
Compile tested with omap1_defconfig and omap2plus_defconfig shrinked to
board-h4.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Reviewed-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
4e012e5f246d4da924b14d453452fd0838d4e03b 22-Dec-2010 Arno Steffen <arno.steffen@googlemail.com> OMAP3: fix typo in OMAP3_IVA_MASK

OMAP3_IVA_MASK should use OMAP3_IVA_SHIFT instead of OMAP3_SGX_SHIFT

Signed-off-by: Arno Steffen <arno.steffen@googlemail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ontrol.h
6d38c4b4f1df70f953633c27ebcdc2712e9039bc 21-Dec-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Remove tvout code that plays with gpio 40

Commit 60d24ee "Added video data to support tvout on rx51" added code that
tries to assign gpio 40 as OMAP DSS reset_gpio for tvout. This is wrong
since this gpio has nothing to do with OMAP DSS but it is used to control
one switch that selects is the audio jack connected to tvout or audio
circuitry.

This switch is already supported by the RX51 ASoC driver so there is no need
to control it elsewhere. Switch is contolled with ALSA control
'Jack Function' and tvout can be selected with following example:

amixer -D hw:0 set 'Jack Function' 'TV-OUT'

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Srikar <ext-srikar.1.bhavanarayana@nokia.com>
Acked-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-video.c
31bbb4f035c13a73d1ebc2626663971723cbd28f 21-Dec-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Add vdda_dac supply for tvout

Commmit 60d24ee "Added video data to support tvout on rx51" broke the DSS
on RX51/N900 since it added DSS VENC support but a patch adding needed
supply is missing from tree and no framebuffers are initialized.

This patch is basically cleaned up version of original one:
http://marc.info/?l=linux-omap&m=129070041402418&w=2

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Srikar <ext-srikar.1.bhavanarayana@nokia.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
b5b9945b2b139ca922b49062053f34486ca64cca 21-Dec-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Cleanup vdds_sdi supply construction

It is much more cleaner to use REGULATOR_SUPPLY macro and a device name
instead of having a reference to rx51_display_device.dev with #if defined()
guards.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
4b7bd364700d9ac8372eff48832062b936d0793b 22-Dec-2010 Jiri Kosina <jkosina@suse.cz> Merge branch 'master' into for-next

Conflicts:
MAINTAINERS
arch/arm/mach-omap2/pm24xx.c
drivers/scsi/bfa/bfa_fcpim.c

Needed to update to apply fixes for which the old branch was too
outdated.
f17f9726c27c3921e00a5750e85070e6dd7e1ff7 09-Dec-2010 Jon Hunter <jon-hunter@ti.com> OMAP4: clock data: Add missing fixed divisors

The following OMAP4 clocks have the following fixed divisors that
determine the frequency at which these clocks operate. These
dividers are defined by the PRCM specification and without these
dividers the rates of the below clocks are calculated incorrectly.
This may cause internal peripherals using these clocks to operate
at the wrong frequency.

- abe_24m_fclk (freq = divided-by-8)
- ddrphy_ck (freq = parent divided-by-2)
- dll_clk_div_ck (freq = parent divided-by-2)
- per_hs_clk_div_ck (freq = parent divided-by-2)
- usb_hs_clk_div_ck (freq = parent divided-by-3)
- func_12m_fclk (freq = parent divided-by-16)
- func_24m_clk (freq = parent divided-by-4)
- func_24mc_fclk (freq = parent divided-by-8)
- func_48mc_fclk (freq = divided-by-4)
- lp_clk_div_ck (freq = divided-by-16)
- per_abe_24m_fclk (freq = divided-by-4)

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock44xx_data.c
9bf8391846db849509a6aa6f1f0659843ca30662 05-Oct-2010 Vishwanath BS <vishwanath.bs@ti.com> OMAP3: SDRC: Add comments on Errata i520 for Global SW reset

This patch adds comments on precaution to be taken if Global Warm reset is
used as the means to trigger system reset.

Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
[paul@pwsan.com: fixed typos, one mentioned by Sanjeev]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
rcm.c
60a0e5d972bad6927b63aede7a1cfe758b8251ad 22-Dec-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: clock data: Keep L3INSTR clock domain modulemode under HW control

L3INSTR clock domain is read only register and its reset value is
HW_AUTO. The modules withing this clock domain needs to be kept under
hardware control.

MODULEMODE:
- 0x0: Module is disable by software. Any INTRCONN access to module
results in an error, except if resulting from a module wakeup
(asynchronous wakeup).
- 0x1: Module is managed automatically by hardware according to
clock domain transition. A clock domain sleep transition put
module into idle. A wakeup domain transition put it back
into function. If CLKTRCTRL=3, any INTRCONN access to module
is always granted. Module clocks may be gated according to
the clock domain state.

This patch keeps CM_L3INSTR_L3_3_CLKCTRL, CM_L3INSTR_L3_INSTR_CLKCTRL
and CM_L3INSTR_INTRCONN_WP1_CLKCTRL module mode under hardware control
by using ENABLE_ON_INIT flag.

Without this the OMAP4 device OFF mode SAR restore phase aborts during
interconnect register restore phase. This can be also handled by doing
explicit a clock enable and disable in the low power code since there
is no direct module associated with it. But that seems not necessary
since the clock domain is under HW control.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
80f093657371b3ebb1d05354a698088bf7b21c15 22-Dec-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: powerdomain: Remove L3INIT_PD OFF state

On OMAP4, there is an issue when L3INIT transitions to OFF mode without
device OFF. The SAR restore mechanism will not get triggered without
wakeup from device OFF and hence the USB host and USB TLL context
will not be restored.

Hardware team recommended to remove the OFF state support for L3INIT_PD
since there is no power impact. It will be removed on next OMAP revision
(OMAP4440 and beyond).

Hence this patch removed the OFF state from L3INIT_PD. The deepest
state supported on L3INIT_PD is OSWR just like CORE_PD and PER_PD

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[b-cousson@ti.com: update the changelog with next OMAP info]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomains44xx_data.c
474e7aeb6a5ac78071cc9b841889fcf026524e97 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: powerdomain: l4per pwrdm does not support OFF

The l4per power domain in ES2.0 does support only RET and ON states.
The previous ES1.0 HW database was wrong and thus fixed on ES2.
Change the pwrsts field to reflect that.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomains44xx_data.c
33de32b3ebcb4f7f77f10a1b42493352f00c6a30 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: PM: Do not assume clkdm supports hw transitions

omap_set_pwrdm_state today assumes a clkdm supports hw_auto
transitions and hence leaves some which do not support this
in sw wkup state preventing low power transitions.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m.c
71a488dbcc4acbc9b845491a368b30ecd7484089 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: PM: Use the low-power state change feature on OMAP4

For pwrdm's which support LOWPOWERSTATECHANGE, do not try waking
up the domain to put it back to deeper sleep state.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m.c
6081dc348f122cdb76093b2fc6cf5742c968cb69 22-Dec-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP: PM noop: implement context loss count for non-omap_devices

For devices which have not (yet) been converted to use omap_device,
implement the context loss counter using the "brutal method" as
originally proposed by Paul Walmsley[1].

The dummy context loss counter is incremented every time it is
checked, but only when off-mode is enabled. When off-mode is
disabled, the dummy counter stops incrementing.

Tested on 36xx/Zoom3 using MMC driver, which is currently the
only in-tree user of this API.

This patch should be reverted after all devices are converted to using
omap_device.

[1] http://marc.info/?l=linux-omap&m=129176260000626&w=2

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[paul@pwsan.com: fixed compile warning; fixed to compile on OMAP1]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m-debug.c
c80705aa7074045e7431ed2ebeb0f7d5773615ab 22-Dec-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP: PM: implement context loss count APIs

Implement OMAP PM layer omap_pm_get_dev_context_loss_count() API by
creating similar APIs at the omap_device and omap_hwmod levels. The
omap_hwmod level call is the layer with access to the powerdomain
core, so it is the place where the powerdomain is queried to get the
context loss count.

The new APIs return an unsigned value that can wrap as the
context-loss count grows. However, the wrapping is not important as
the role of this function is to determine context loss by checking for
any difference in subsequent calls to this function.

Note that these APIs at each level can return zero when no context
loss is detected, or on errors. This is to avoid returning error
codes which could potentially be mistaken for large context loss
counters.

NOTE: only works for devices which have been converted to use
omap_device/omap_hwmod.

Longer term, we could possibly remove this API from the OMAP PM layer,
and instead directly use the omap_device level API.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
7f595674e08b8b4d3faf64a19bccc95445d7ed35 22-Dec-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2+: powerdomain: add API to get context loss count

Add new powerdomain API

u32 pwrdm_get_context_loss_count(struct powerdomain *pwrdm)

for checking how many times the powerdomain has lost context. The
loss count is the sum of the powerdomain off-mode counter, the
logic off counter and the per-bank memory off counter.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[paul@pwsan.com: removed bogus return value on error; improved kerneldoc;
tweaked commit message]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
owerdomain.h
0a01aa211da8530dc6a3ff3a725f2edd3464c46f 22-Dec-2010 Hari Kanigeri <h-kanigeri2@ti.com> OMAP4: clocks: add dummy clock for mailbox

In omap4, there is no explicit configuration register to enable mailbox clocks.
Defining dummy clock for mailbox clock module to keep the mailbox driver
backward compatible with previous omaps.

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Acked-by: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
a36795c1278112af2a78f93c99b7586cb7e2a0a2 22-Dec-2010 Jon Hunter <jon-hunter@ti.com> OMAP: clock: fix configuration of J-Type DPLLs to work for OMAP3 and OMAP4

J-Type DPLLs have additional configuration parameters that need to
be programmed when setting the multipler and divider for the DPLL.
These parameters being the sigma delta divider (SD_DIV) for the DPLL
and the digital controlled oscillator (DCO) to be used by the DPLL.

The current code is implemented specifically to configure the
OMAP3630 PER J-Type DPLL. The OMAP4430 USB DPLL is also a J-Type DPLL
and so this code needs to be updated to work for both OMAP3 and OMAP4
devices and any other future devices that have J-TYPE DPLLs.

For the OMAP3630 PER DPLL both the SD_DIV and DCO paramenters are
used but for the OMAP4430 USB DPLL only the SD_DIV field is used.
The current implementation will only program the SD_DIV and DCO
fields if the DPLL has both and hence this does not work for
OMAP4430.

In order to make the code more generic add two new fields to the
dpll_data structure for the SD_DIV field and DCO field bit-masks
and only program these fields if the masks are defined for a specific
DPLL. This simplifies the code and allows us to remove the flag
DPLL_NO_DCO_SEL.

Tested on OMAP36xx Zoom3 and OMAP4 Blaze.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
[paul@pwsan.com: removed explicit inlining and added '_' prefix on lookup_*()
functions; added testing info to commit message; added 35xx comments back in]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.h
lock3xxx_data.c
lock44xx_data.c
pll3xxx.c
b183aaf7274245bb0241d81176cb6b06a3b01ca6 22-Dec-2010 Charulatha V <charu@ti.com> OMAP3: clock: Update clock domain name for mcspi fck

Update clock3xxx_data for mcspi1-4 with appropriate clock domain name.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
7cffa6b888c77e9386a6b886ef10bc57aac464ec 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add SIDLE_SMART_WKUP modes to several IPs

uart, gpio, wd_timer and i2c does support the new smart-idle with wakeup
added in OMAP4.

Add the flag to allow the hwmod core to enable this mode when applicable.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
map_hwmod_44xx_data.c
86009eb326afde34ffdc5648cd344aa86b8d58d4 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP2+: hwmod: Add wakeup support for new OMAP4 IPs

The new OMAP4 IPs introduced a new idle mode named smart-idle with wakeup.

This new idlemode replaces the enawakeup for the new IPs but seems to
coexist as well for some legacy IPs (UART, GPIO, MCSPI...)

Add the new SIDLE_SMART_WKUP flag to mark the IPs that support this
capability.
The omap_hwmod_44xx_data.c will have to be updated to add this new flag.

Enable this new mode when applicable in _enable_wakeup, _enable_sysc and
_idle_sysc.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Tested-by: Sebastien Guiriec <s-guiriec@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
map_hwmod.c
f2dd7e09db3e18e4c053810b72fe026685d9bf0c 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP2+: hwmod: Disable clocks when hwmod enable fails

In cases where a module (hwmod) does not become accesible on enabling
the main clocks (can happen if there are external clocks needed
for the module to become accesible), make sure the clocks are not
left enabled.
This ensures that when the requisite external dependencies are met
a omap_hwmod_enable and omap_hwmod_idle/shutdown would rightly enable
and disable clocks using clk framework. Leaving the clocks enabled in
the error case causes additional usecounting at the clock framework
level leaving the clock enabled forever.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
ce35b2446945c506cb02960eab2072f56efdf1c0 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP2+: hwmod: Remove omap_hwmod_mutex

The hwmod list will be built are init time and never
be modified at runtime. There is no need anymore to protect
the list from concurrent accesses using a mutex.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
01592df95049a6f3d4abb0571ae1c7cb6e9d1cd7 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP2+: hwmod: Mark functions used only during initialization with __init

_register, _find_mpu_port_index and _find_mpu_rt_base are static APIs
that will be used only during the omap_hwmod initialization phase.
There is no need to keep them for runtime.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
0102b62789af5aed92cea4cf7f36afaa1ab12c72 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP2+: hwmod: Make omap_hwmod_register private and remove omap_hwmod_unregister

Do not allow omap_hwmod_register to be used outside the core
hwmod code. An omap_hwmod should be registered only at init time.
Remove the omap_hwmod_unregister that is not used today since the
hwmod list will be built once at init time and never be modified
at runtime.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
50ebb7772c8975086dbfc3d21be74dd806650df4 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP2430: hwmod data: Use common dev_attr for i2c1 and i2c2

Since i2c1 and i2c2 are using the same data, remove the two previous
instances and use a common i2c_dev_attr one.

Moreover, that will fix the following warning:
arch/arm/mach-omap2/omap_hwmod_2430_data.c:485:
warning: 'i2c_dev_attr' defined but not used

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Charulatha V <charu@ti.com>
map_hwmod_2430_data.c
5a7ddcbdaf1bb7603422fb6188156ccc39711b0f 22-Dec-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2+: omap_hwmod: fix wakeup enable/disable for consistency

In the omap_hwmod core, most of the SYSCONFIG register helper
functions do not directly write the register, but instead just modify
a value passed in.

This patch converts the _enable_wakeup() and _disable_wakeup() helper
functions to take a value argument and only modify it instead of
actually writing the register. This makes the wakeup helpers
consistent with the other helper functions and avoids unintentional
problems like the following.

This problem was found after discovering that GPIO wakeups were no
longer functional. The root cause was that the ENAWAKEUP bit of the
SYSCONFIG register was being unintentionaly overwritten, leaving
wakeups disabled after the following two commits were combined:

commit: 9980ce53c97392a3dbdc9d1ac3e455d79b4167ed
OMAP: hwmod: Enable module wakeup if in smartidle

commit: 78f26e872f77b6312273216de1a8f836c6f2e143
OMAP: hwmod: Set autoidle after smartidle during _sysc_enable

There resulting in code in _enable_sysc() was this:

/*
* XXX The clock framework should handle this, by
* calling into this code. But this must wait until the
* clock structures are tagged with omap_hwmod entries
*/
if ((oh->flags & HWMOD_SET_DEFAULT_CLOCKACT) &&
(sf & SYSC_HAS_CLOCKACTIVITY))
_set_clockactivity(oh, oh->class->sysc->clockact, &v);

_write_sysconfig(v, oh);

so here, 'v' has wakeups disabled.

/* If slave is in SMARTIDLE, also enable wakeup */
if ((sf & SYSC_HAS_SIDLEMODE) && !(oh->flags & HWMOD_SWSUP_SIDLE))
_enable_wakeup(oh);

Here wakeup is enabled in the SYSCONFIG register (but 'v' is not updated)

/*
* Set the autoidle bit only after setting the smartidle bit
* Setting this will not have any impact on the other modules.
*/
if (sf & SYSC_HAS_AUTOIDLE) {
idlemode = (oh->flags & HWMOD_NO_OCP_AUTOIDLE) ?
0 : 1;
_set_module_autoidle(oh, idlemode, &v);
_write_sysconfig(v, oh);
}

And here, SYSCONFIG is updated again using 'v', which does not have
wakeups enabled, resulting in ENAWAKEUP being cleared.

Special thanks to Benoit Cousson for pointing out that wakeups were
supposed to be automatically enabled when a hwmod is enabled, and thus
helping target the root cause of this problem.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
b399bca897802db3f342b6f3032a19ab8f2af99b 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod & clock data: Fix GPIO opt_clks and ocp_if iclk

Fix opt clocks name in clock framework and hwmod.

Add the missing iclk in the ocp_if structure.

Add the HWMOD_CONTROL_OPT_CLKS_IN_RESET flag to ensure
the the GPIO optional clock is enable during reset.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Tested-by: Charulatha V <charu@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock44xx_data.c
map_hwmod_44xx_data.c
8f25bdc55d619bdd469a90b82743248680422507 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add IVA and DSP

Add IVA and DSP hwmods in order to allow the pm code to
initialize properly the processors devices during
omap2_init_processor_devices.

It will avoid the following warnings.
_init_omap_device: could not find omap_hwmod for iva
_init_omap_device: could not find omap_hwmod for dsp

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_44xx_data.c
659fa8222c0ca1061d74cb3282614c017f415fe5 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Fix missing address in DMM and EMIF_FW

The DMM is a piece of interconnect that need to be configured properly
for the tiler functionnality. It thus exposes some configuration registers
that were missing previously.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_44xx_data.c
0cfe8751bbb8703bc77beb031eb6f4edf3d601d3 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add SYSS_HAS_RESET_STATUS flag

Update the data for GPIO, UART, WD_TIMER and I2C in order to
support the new reset status flag introduce in the following
commit:
commit 2cb068149c365f1c2b10f2ece6786139527dcc16
OMAP: hwmod: Fix softreset status check for some new OMAP4 IPs

Without this flag properly set, the reset is done, but the hwmod
core code will not wait for the reset completion to continue its
excecution.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Tested-by: Charulatha V <charu@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Govindraj.R <govindraj.raja@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_44xx_data.c
3b54baad8a79cc252e9d6a5ccc796b4c8b2b7173 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Fix hwmod entries order

The original OMAP4 hwmod data files is fully generated from HW
database. But since the file is introduced incrementaly along
with driver that uses the data, it has to be splitted by the driver
owner and then re-merged by the maintainer.
Because of the similarity of the data, git is completely lost
during such merge and thus the data does not look like the original one
at the end.

Re-order properly the structures to stay in sync with original data set.
This makes it much easier to diff the autogenerated script output with
what's in mainline, see differences, and generate patches for those
diffs. The goal is to stay in sync with the autogenerated data from now
on.

Add a comment that does contain all the IPs that can have a hwmod, but
do not have it in the file for the moment. It gives a good indication
of the progress.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: updated to apply against current core integration branch,
commit message slightly amplified; fixed opt_clks_cnt whitespace]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Govindraj.R <govindraj.raja@ti.com>
Cc: Charulatha V <charu@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_44xx_data.c
1124d2f9186ec9e42e1c3f78c20199ba2cb597e2 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3: SRAM: add comment about crashes during a TLB miss

Some users were observing crashes during the execution of CORE DVFS
code from OCM RAM -- a locally-modified copy of the linux-omap code.
Richard Woodruff tracked this down to a DTLB miss which had been
inadvertently and intermittently caused by the local modifications.
(The TLB miss caused the ARM MMU to attempt to walk the page tables
stored in SDRAM, which was not possible since SDRAM is off-line for a
portion of the CORE DVFS OCM RAM code.)

Add a note to the OMAP2 & OMAP3 CORE DVFS SRAM code to warn others that
changes may result in crashes here if they are not carefully tested.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Jon Hunter <jon-hunter@ti.com>
Cc: Nishanth Menon <nm@ti.com>
ram242x.S
ram243x.S
ram34xx.S
f1f4b7703f8fd165ece458ae97ebddb2b62b2ce3 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP3: clock: fix incorrect rate display when switching MPU rate at boot

The OMAP3 clock code contains some legacy code to allow the MPU rate
to be specified as a kernel command line parameter. If the 'mpurate'
parameter is specified, the kernel will attempt to switch the MPU rate
to this rate during boot. As part of this process, a short message
"Switched to new clocking rate" is generated -- and in this message,
the "Core" clock rate and "MPU" clock rate are transposed.

This patch ensures that the clock rates are displayed in the correct
order.

Thanks to Bruno Guerin <br.guerin@free.fr> for reporting this bug and
proposing a fix. Thanks to Richard Woodruff <r-woodruff2@ti.com> for
reviewing the problem and passing the report on.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Bruno Guerin <br.guerin@free.fr>
Cc: Richard Woodruff <r-woodruff2@ti.com>
lock3xxx.c
553d239aadc75bee70c7858ac4548d073cb3daff 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP3: clock: clarify usage of struct clksel_rate.flags and struct omap_clk.cpu

Clarify the usage of the struct omap_clk.cpu flags (e.g., CK_*) to use
bits only for individual SoC variants (e.g., CK_3430ES1, CK_3505,
etc.). Superset flags, such as CK_3XXX or CK_AM35XX, are now defined
as disjunctions of individual SoC variant flags. This simplifies the
definition and use of these flags. struct omap_clk record definitions
can now simply specify the bitmask of actual SoCs that the records are
valid for. The clock init code can simply set a single CPU type mask
bit for the SoC that is currently in use, and test against that,
rather than needing to set some combination of flags.

Similarly, clarify the use of struct clksel_rate.flags. The bit
allocated for RATE_IN_3XXX has been reassigned, and RATE_IN_3XXX has
been defined as a disjunction of the 34xx and 36xx rate flags. The
advantages are the same as the above.

Clarify the usage of struct omap_clk.cpu flags such as CK_34XX to only
apply to the SoCs that they name, e.g., OMAP34xx chips. The previous
practice caused significantly different SoCs, such as OMAP36xx, to be
included in CK_34XX. In my opinion, this is much more intuitive.

Similarly, clarify the use of struct clksel_rate.flags, such that
RATE_IN_3430ES2PLUS now only applies to 34xx chips with ES level >= 2
- it does not apply to OMAP36xx.

...

At some point, it probably makes sense to collapse the CK_* and
RATE_IN_* flags together into a single bitfield, and possibly use the
existing CHIP_IS_OMAP* flags for platform detection.

...

This all seems to work fine on OMAP34xx and OMAP36xx Beagle. Not sure
if it works on Sitara or the TI816X, unfortunately I don't have any
here to test with.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
d4521f6731756c82a76d3e791c3ec2d28b38f97e 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: fix dss2_fck recalc to use clksel

dss2_fck is a clksel clock, and therefore its rate should be recalculated
with the clksel mechanism. This was working in early 2009, but was one of
the casualties of the big OMAP clock merge between 2.6.29 and 2.6.30.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2420_data.c
lock2430_data.c
cb13459b38c8f2e99df4923d2a71ce6db99f2436 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: clock data: Export control to enable/disable CORE/PER M3 clocks

The CORE and PER M3 post dividers are different from the rest of the
DPLL post dividers as in they go to SCRM, and are used
there to export clocks for instance used by external sensor.

There is no automatic HW dependency in PRCM to manage them. Hence these
two clocks (dpll post dividers) should be managed by SW and explicitly
enabled/disabled.

Add control in clock framework to handle that.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
e0cb70c565acffb210ffa2a4590637d1844d13c5 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: clock data: Add SCRM auxiliary clock nodes

Add support for auxiliary clocks nodes which are part of SCRM.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
768ab94f8b2b16a23fa10900430c10ec44f2643e 22-Dec-2010 Jonathan Bergsagel <jbergsagel@ti.com> OMAP4: clock data: Add missing fields in iva_hsd_byp_clk_mux_ck

Add register address, mask and link to the clksel structure that
were missing in the IVA DPLL mux clock node.

Signed-off-by: Jonathan Bergsagel <jbergsagel@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock44xx_data.c
032b5a7e3aa7dca8a13a79ff6a59232d307552a3 22-Dec-2010 Thara Gopinath <thara@ti.com> OMAP4: clock data: Add missing DPLL x2 clock nodes

This patch extends the OMAP4 clock data to include
various x2 clock nodes between DPLL and HS dividers as the
clock framework skips a x2 while calculating the dpll locked
frequency.

The clock database extensions are autogenerated using
the scripts maintained by Benoit Cousson.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Thara Gopinath <thara@ti.com>
[paul@pwsan.com: fixed merge conflicts against v2.6.37-rc5; dropped
dpll_mpu_x2_ck on advice from Benoît]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock44xx_data.c
ae4b4fc1bb59ad8802800a8103a6519acadcc9cf 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP3: clock data: Add "wkup_clkdm" in sr1_fck and sr2_fck

The smartreflex modules belong to an ALWON_FCLK clock domain that
does not have any SW control. The gating of that interface clock
is triggered by a transition of the WKUP clock domain to idle.

Attach both smartreflex instances on OMAP3 to the WKUP clock domain.

The missing clock domain field in srX_fck clock nodes was reported by
Kevin during the discussion about smartreflex on OMAP3:
https://patchwork.kernel.org/patch/199342/

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
lock3xxx_data.c
d9b98f5f9e20389c43370539ef3de4aba7cf1d79 22-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: clock data: Add control for pad_clks_ck and slimbus_clk

The gating of pad_clks and slimbus_ck is controlled by the PRCM, but
since the clock source is external, this is the SW responsability
to gate / un-gate it when the mcpdm or slimbus module need to be used.
There is no autogating possible with such external clock.

Add SW control to enable / disable this SW gating in the pad_clks_ck
and slimbus_clk clock node.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Sebastien Guiriec <s-guiriec@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock44xx_data.c
596efe4792c50163578578bd4fe470f97652aad7 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP3: control/PM: move padconf save code to mach-omap2/control.c

Move the padconf save code from pm34xx.c to the System Control Module
code in mach-omap2/control.c. This is part of the general push to
move direct register access from middle-layer core code to low-level
core code, so the middle-layer code can be abstracted to work on
multiple platforms and cleaned up.

In the medium-to-long term, this code should be called by the mux
layer code, not the PM idle code. This is because, according to the
TRM, saving the padconf only needs to be done when the padconf
changes[1].

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tony Lindgren <tony@atomide.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>

1. OMAP34xx Multimedia Device Silicon Revision 3.1.x [Rev. ZH] [SWPU222H]
Section 4.11.4 "Device Off-Mode Sequences"
ontrol.c
ontrol.h
m34xx.c
72e06d087204f3bc9acf281717b90ebf0b9731f7 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: powerdomain: move header file from plat-omap to mach-omap2

The OMAP powerdomain code and data is all OMAP2+-specific. This seems
unlikely to change any time soon. Move plat-omap/include/plat/powerdomain.h
to mach-omap2/powerdomain.h. The primary point of doing this is to remove
the temptation for unrelated upper-layer code to access powerdomain code
and data directly.

As part of this process, remove the references to powerdomain data
from the GPIO "driver" and the OMAP PM no-op layer, both in plat-omap.
Change the DSPBridge code to point to the new location for the
powerdomain headers. The DSPBridge code should not be including the
powerdomain headers; these should be removed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
Cc: Felipe Contreras <felipe.contreras@gmail.com>
Cc: Greg Kroah-Hartman <greg@kroah.com>
lockdomain.c
lockdomain.h
puidle34xx.c
o.c
map_hwmod.c
m-debug.c
m.c
m.h
m24xx.c
m34xx.c
m44xx.c
owerdomain-common.c
owerdomain.c
owerdomain.h
owerdomain2xxx_3xxx.c
owerdomain44xx.c
owerdomains.h
owerdomains2xxx_3xxx_data.c
owerdomains2xxx_3xxx_data.h
owerdomains2xxx_data.c
owerdomains3xxx_data.c
owerdomains44xx_data.c
1540f214065982e6cbc6b8da1fe65a15e358f7c5 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: clockdomain: move header file from plat-omap to mach-omap2

The OMAP clockdomain code and data is all OMAP2+-specific. This seems
unlikely to change any time soon. Move plat-omap/include/plat/clockdomain.h
to mach-omap2/clockdomain.h. The primary point of doing this is to remove
the temptation for unrelated upper-layer code to access clockdomain code
and data directly.

DSPBridge also uses the clockdomain headers for some reason, so,
modify it also. The DSPBridge code should not be including the
clockdomain headers; these should be removed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
Cc: Felipe Contreras <felipe.contreras@gmail.com>
Cc: Greg Kroah-Hartman <greg@kroah.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
lock.c
lockdomain.c
lockdomain.h
lockdomains2xxx_3xxx_data.c
lockdomains44xx_data.c
puidle34xx.c
o.c
map_hwmod.c
m-debug.c
m.c
m24xx.c
m34xx.c
owerdomain.c
55ae35073b1c76f24c3736cf797c40d9932b19aa 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3: clockdomain: remove unneeded .clkstctrl_reg, remove some direct CM register accesses

Reverse some of the effects of commit
84c0c39aec31a09571fc08a752a2f4da0fe9fcf2 ("ARM: OMAP4: PM: Make OMAP3
Clock-domain framework compatible for OMAP4"). On OMAP2/3, the
CM_CLKSTCTRL register is at a constant offset from the powerdomain's
CM instance.

Also, remove some of the direct CM register access from the
clockdomain code, moving it to the OMAP2/3 CM code instead. The
intention here is to simplify the clockdomain code. (The long-term
goal is to move all direct CM register access across the OMAP core
code to the appropriate cm*.c file.)

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
lockdomain.c
lockdomains2xxx_3xxx_data.c
m-regbits-24xx.h
m2xxx_3xxx.c
m2xxx_3xxx.h
bd2122ca358fbd5c8e94869ae731a0951b36c757 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP4: clockdomains: add OMAP4 PRCM data and OMAP4 support

Add PRCM partition, CM instance register address offset, and clockdomain
register address offset to each OMAP4 struct clockdomain record. Add OMAP4
clockdomain code to use this new data to access registers properly.

While here, clean up some nearby clockdomain code to allocate auto variables
in my recollection of Linus's preferred style.

The autogeneration scripts have been updated.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
lockdomain.c
lockdomains44xx_data.c
m-regbits-34xx.h
minst44xx.c
minst44xx.h
e4156ee52fe617c2c2d80b5db993ff4bf07d7c3c 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP4: CM instances: add clockdomain register offsets

In OMAP4 CM instances, some registers (CM_CLKSTCTRL, CM_STATICDEP,
CM_DYNAMICDEP, and the module-specific registers underneath) are
organized by clockdomain. Add the clockdomain offset macros to the
appropriate PRCM module header files.

This data was almost completely autogenerated from the TI hardware
database; the autogeneration scripts have been updated.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
m1_44xx.h
m2_44xx.h
rcm_mpu44xx.h
rm44xx.h
b170fbe1f9f1aa38773b1bcf064ab65951ce739d 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: clockdomains: split the clkdm hwsup enable/disable function

Split _omap2_clkdm_set_hwsup() into _disable_hwsup() and _enable_hwsup().

While here, also document that the autodeps are deprecated and that they
should be removed at the earliest opportunity.

The documentation has been fixed for _{enable,disable}_hwsup(), thanks
to Kevin Hilman <khilman@deeprootsystems.com> for pointing out that those
functions still had placeholder documentation in an earlier patch revision.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
lockdomain.c
a64bb9cda8b12f599766c7dfe81770d2082a133a 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP4: powerdomains: add PRCM partition data; use OMAP4 PRM functions

OMAP4 powerdomain control registers are split between the PRM hardware
module and the PRCM_MPU local PRCM. Add this PRCM partition
information to each OMAP4 powerdomain record, and convert the OMAP4
powerdomain function implementations to use the OMAP4 PRM instance
functions.

Also fixes a potential null pointer dereference of pwrdm->name.

The autogeneration scripts have been updated.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
owerdomain.c
owerdomain44xx.c
owerdomains44xx_data.c
c4d7e58fb52c632d8e33cd23a4917d7a7f8302ac 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3: PRM/CM: prefix OMAP2 PRM/CM functions with "omap2_"

Now that OMAP4-specific PRCM functions have been added, distinguish the
existing OMAP2/3-specific PRCM functions by prefixing them with "omap2_".

This patch should not result in any functional change.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Jarkko Nikula <jhnikula@gmail.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
lkt2xxx_apll.c
lkt2xxx_dpllcore.c
lkt2xxx_virt_prcm_set.c
lockdomain.c
m2xxx_3xxx.c
m2xxx_3xxx.h
ontrol.c
sp.c
m-debug.c
m24xx.c
m34xx.c
owerdomain2xxx_3xxx.c
owerdomain44xx.c
rcm.c
rm2xxx_3xxx.c
rm2xxx_3xxx.h
drc2xxx.c
erial.c
dac9a77120e2724e22696f06f3ecb4838da1e3e4 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP4: PRCM: move global reset function for OMAP4 to an OMAP4-specific file

Move the OMAP4 global software reset function to the OMAP4-specific
prm44xx.c file, where it belongs. Part of the long-term process of
moving all of the direct PRCM register writes into lower-layer code.

Also add OCP barriers on OMAP2/3/4 to reduce the chance that the MPU
will continue executing while the system is supposed to be resetting
itself.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
rcm.c
rm44xx.c
rm44xx.h
2ace831ffc8feaffb8bc03da89ff43d948efdc97 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP4: PRCM: add OMAP4-specific accessor/mutator functions

In some ways, the OMAP4 PRCM register layout is quite different than
the OMAP2/3 PRCM register layout. For example, on OMAP2/3, from a
register layout point of view, all CM instances were located in the CM
subsystem, and all PRM instances were located in the PRM subsystem.
OMAP4 changes this. Now, for example, some CM instances, such as
WKUP_CM and EMU_CM, are located in the system PRM subsystem. And a
"local PRCM" exists for the MPU - this PRCM combines registers that
would normally appear in both CM and PRM instances, but uses its own
register layout which matches neither the OMAP2/3 PRCM layout nor the
OMAP4 PRCM layout.

To try to deal with this, introduce some new functions, omap4_cminst*
and omap4_prminst*. The former is to be used when writing to a CM
instance register (no matter what subsystem or hardware module it
exists in), and the latter, similarly, with PRM instance registers.
To determine which "PRCM partition" to write to, the functions take a
PRCM instance ID argument. Subsequent patches add these partition IDs
to the OMAP4 powerdomain and clockdomain definitions.

As far as I can see, there's really no good way to handle these types
of register access inconsistencies. This patch seemed like the least
bad approach.

Moving forward, the long-term goal is to remove all direct PRCM
register access from the PM code. PRCM register access should go
through layers such as the powerdomain and clockdomain code that can
hide the details of how to interact with the specific hardware
variant.

While here, rename cm4xxx.c to cm44xx.c to match the naming convention
of the other OMAP4 PRCM files.

Thanks to Santosh Shilimkar <santosh.shilimkar@ti.com>, Rajendra Nayak
<rnayak@ti.com>, and Benoît Cousson <b-cousson@ti.com> for some comments.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
akefile
m1_44xx.h
m2_44xx.h
m44xx.c
m4xxx.c
minst44xx.c
minst44xx.h
rcm.c
rcm44xx.h
rcm_mpu44xx.c
rcm_mpu44xx.h
rm44xx.c
rm44xx.h
rminst44xx.c
rminst44xx.h
f0611a5c220e50dec65041b10bd2fe9484f061a6 21-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP3: PRM/CM: separate CM context save/restore; remove PRM context save/restore

The OMAP3 PRM module is in the WKUP powerdomain, which is always
powered when the chip is powered, so it shouldn't be necessary to save
and restore those PRM registers. Remove the PRM register save/restore
code, which should save several microseconds during off-mode
entry/exit, since PRM register accesses are relatively slow.

While doing so, move the CM register save/restore code into
CM-specific code. The CM module has been distinct from the PRM module
since 2430.

This patch includes some minor changes to pm34xx.c.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Tero Kristo <tero.kristo@nokia.com>
Cc: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
m2xxx_3xxx.c
m2xxx_3xxx.h
m34xx.c
rcm.c
rm2xxx_3xxx.c
59fb659b065f52fcc2deed293cfbfc58f890376c 21-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3: PRCM: split OMAP2/3-specific PRCM code into OMAP2/3-specific files

In preparation for adding OMAP4-specific PRCM accessor/mutator
functions, split the existing OMAP2/3 PRCM code into OMAP2/3-specific
files. Most of what was in mach-omap2/{cm,prm}.{c,h} has now been
moved into mach-omap2/{cm,prm}2xxx_3xxx.{c,h}, since it was
OMAP2xxx/3xxx-specific.

This process also requires the #includes in each of these files to be
changed to reference the new file name. As part of doing so, add some
comments into plat-omap/sram.c and plat-omap/mcbsp.c, which use
"sideways includes", to indicate that these users of the PRM/CM includes
should not be doing so.

Thanks to Felipe Contreras <felipe.contreras@gmail.com> for comments on this
patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Jarkko Nikula <jhnikula@gmail.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
Acked-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Cc: Felipe Contreras <felipe.contreras@gmail.com>
Acked-by: Felipe Contreras <felipe.contreras@gmail.com>
Cc: Greg Kroah-Hartman <greg@kroah.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
akefile
lkt2xxx_apll.c
lkt2xxx_dpllcore.c
lkt2xxx_osc.c
lkt2xxx_sys.c
lkt2xxx_virt_prcm_set.c
lkt_dpll.c
lock.c
lock2420_data.c
lock2430.c
lock2430_data.c
lock34xx.c
lock3517.c
lock3xxx.c
lock3xxx_data.c
lock44xx_data.c
lockdomain.c
lockdomains2xxx_3xxx_data.c
lockdomains44xx_data.c
m-regbits-24xx.h
m-regbits-34xx.h
m-regbits-44xx.h
m.c
m.h
m2xxx_3xxx.c
m2xxx_3xxx.h
m44xx.h
m4xxx.c
ontrol.c
pll3xxx.c
sp.c
map_hwmod.c
m-debug.c
m24xx.c
m34xx.c
owerdomain.c
owerdomain44xx.c
owerdomains2xxx_data.c
owerdomains3xxx_data.c
owerdomains44xx_data.c
rcm-common.h
rcm.c
rm-regbits-24xx.h
rm-regbits-34xx.h
rm-regbits-44xx.h
rm.h
rm2xxx_3xxx.c
rm2xxx_3xxx.h
rm44xx.h
drc.c
drc2xxx.c
erial.c
leep34xx.S
ram242x.S
ram243x.S
ram34xx.S
cdb54c4457d68994da7c2e16907adfbfc130060d 21-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP4: PRCM: rename _MOD macros to _INST

Back in the OMAP2/3 PRCM interface days, the macros that referred to
the offsets of individual PRM/CM instances from the top of the PRM/CM
hardware modules were incorrectly suffixed with "_MOD". (They should
have been suffixed with something like "_INST" or "_INSTANCE".) These
days, now that we have better contact with the OMAP hardware people,
we know that this naming is wrong. And in fact in OMAP4, there are
actual hardware module offsets inside the instances, so the incorrect
naming gets confusing very quickly for anyone who knows the hardware.

Fix this naming for OMAP4, before things get too far along, by
changing "_MOD" to "_INST" on the end of these macros. So, for
example, OMAP4430_CM2_INSTR_MOD becomes OMAP4430_CM2_INSTR_INST.

This unfortunately creates quite a large diff, but it is a
straightforward rename. This patch should not result in any
functional changes.

The autogeneration scripts have been updated accordingly.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
m1_44xx.h
m2_44xx.h
owerdomains44xx_data.c
rcm.c
rcm_mpu44xx.h
rm44xx.h
0f318fd52d7e251c5f48416c3e7156acc680d81c 21-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: PRCM: Add SCRM header file

Add the header file with scrm registers absolute address, offset
and bitfields.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: renamed OMAP4_SCRM to OMAP4_SCRM_BASE]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
crm44xx.h
d198b514bd9e94930ee0b9ca1cad0a51f5e29608 21-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP4: PRCM: reorganize existing OMAP4 PRCM header files

Split the existing cm44xx.h file into cm1_44xx.h and cm2_44xx.h files
so they match their underlying OMAP hardware modules. Add clockdomain
offset information.

Add header files for the MPU local PRCM, prcm_mpu44xx.h, and for the
SCRM, scrm44xx.h. SCRM register offsets still need to be added; TI
should do this.

Move the "_MOD" macros out of the prcm-common.h header file, into the
header file of the hardware module that they belong to. For example,
OMAP4430_PRM_*_MOD macros have been moved into the prm44xx.h header.

Adjust #includes of all files that used the old PRCM header file names
to point to the new filenames.

The autogeneration scripts have been updated accordingly.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
lock44xx_data.c
lockdomains44xx_data.c
m.h
m1_44xx.h
m2_44xx.h
m44xx.h
map_hwmod.c
map_hwmod_44xx_data.c
owerdomain.c
owerdomain44xx.c
owerdomains44xx_data.c
rcm-common.h
rcm.c
rcm_mpu44xx.h
rm.h
rm44xx.c
rm44xx.h
f5f9d132d1c212bf3828c7926d95f79e0c20d243 21-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP3: control/PRCM: move CONTROL_PADCONF_SYS_NIRQ save/restore to SCM code

For some reason, the PRCM context save/restore code also saves and
restores a single System Control Module register,
CONTROL_PADCONF_SYS_NIRQ. This is probably just an error -- the
register should be handled by SCM code -- so this patch moves it
there.

If this register really does need to be saved and restored before the
rest of the PRCM registers, the code to do so should live in the SCM
code, and the PM code should call this separate function. This
register pertains to devices with a stacked modem, so this patch is
unlikely to affect most OMAP devices out there.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
ontrol.c
rcm.c
166353bd75587a2158d713af1b9489a79e0ce297 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP3: control/PRCM: add omap3_ctrl_write_boot_mode()

Get rid of the open-coded scratchpad write in mach-omap2/prcm.c and
replace it with an actual API, omap3_ctrl_write_boot_mode(). While
there, get rid of the gratuitous omap_writel().

There's not much documentation available for what should wind up in
the scratchpad here, so more documentation would be appreciated.
Also, at some point, we should formalize our treatment of the scratchpad;
right now, accesses to the scratchpad are not well-documented.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
ontrol.c
ontrol.h
rcm.c
dc0b3a701499bb7727314d7a9c764f7486db4802 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: clockdomains: move clockdomain static data to .c files

Static data should be declared in .c files, not .h files. It should be
possible to #include .h files at any point without creating multiple
copies of the same data.

We converted the clock data to .c files some time ago. This patch does
the same for the clockdomain data.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
akefile
lockdomains.h
lockdomains2xxx_3xxx_data.c
lockdomains44xx.h
lockdomains44xx_data.c
o.c
6e01478ae8a4322c9a2b2d6efed50196265ed5f2 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: powerdomains: move powerdomain static data to .c files

Static data should be declared in .c files, not .h files. It should be
possible to #include .h files at any point without creating multiple
copies of the same data.

We converted the clock data to .c files some time ago. This patch does
the same for the powerdomain data.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
akefile
o.c
owerdomain2xxx_3xxx.c
owerdomain44xx.c
owerdomains.h
owerdomains24xx.h
owerdomains2xxx_3xxx_data.c
owerdomains2xxx_3xxx_data.h
owerdomains2xxx_data.c
owerdomains34xx.h
owerdomains3xxx_data.c
owerdomains44xx.h
owerdomains44xx_data.c
owerdomains_data.c
4b4f62c4672805466652a785070cc2ac8a398e16 22-Dec-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: powerdomain: Add pwrdm_clear_all_prev_pwrst

Like OMAP3, OMAP4430 ES2 has additional bitfields in PWRSTST register
which help identify the previous power state entered by the
powerdomain. Add pwrdm_clear_all_prev_pwrst to the OMAP4 powerdomains
implementation to support this.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: clarified commit message]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
owerdomain44xx.c
9b7fc907d9378f86eb6b823bbe84ec9ed584b091 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP: powerdomain: Arch specific funcs for mem control

Define the following architecture specific funtions for omap2/3/4
.pwrdm_set_mem_onst
.pwrdm_set_mem_retst
.pwrdm_read_mem_pwrst
.pwrdm_read_prev_mem_pwrst
.pwrdm_read_mem_retst
.pwrdm_clear_all_prev_pwrst
.pwrdm_enable_hdwr_sar
.pwrdm_disable_hdwr_sar
.pwrdm_wait_transition
.pwrdm_set_lowpwrstchange

Convert the platform-independent framework to call these functions.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: rearranged Makefile changes]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
akefile
owerdomain-common.c
owerdomain.c
owerdomain2xxx_3xxx.c
owerdomain44xx.c
owerdomains.h
12627578523d2d9396cae76b1dad0ed3dccf1730 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP: powerdomain: Arch specific funcs for logic control

Define the following architecture specific funtions for omap2/3/4
.pwrdm_set_logic_retst
.pwrdm_read_logic_pwrst
.pwrdm_read_prev_logic_pwrst
.pwrdm_read_logic_retst

Convert the platform-independent framework to call these functions.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
owerdomain.c
owerdomain2xxx_3xxx.c
owerdomain44xx.c
f327e07b0ef9c60a6018799c9f04de10101d8e5a 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP: powerdomain: Arch specific funcs for state control

Define the following architecture specific funtions for omap2/3/4
.pwrdm_set_next_pwrst
.pwrdm_read_next_pwrst
.pwrdm_read_pwrst
.pwrdm_read_prev_pwrst

Convert the platform-independent framework to call these functions.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: remove remaining static allocations in powerdomains.h file;
remove path in file header comments, rearranged Makefile changes]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
akefile
owerdomain.c
owerdomain2xxx_3xxx.c
owerdomain44xx.c
owerdomains.h
owerdomains_data.c
3b1e8b21fcbd686445f0bb42f84701b4621cdec6 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP: powerdomain: Infrastructure to put arch specific code

Put infrastructure in place, so arch specific func pointers
can be hooked up to the platform-independent part of the
framework.
This is in preparation of splitting the powerdomain framework into
platform-independent part (for all omaps) and platform-specific
parts.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
owerdomain.c
owerdomains_data.c
74bea6b9881f4b32f6c0379e46d2f5e16fd34a07 22-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP: powerdomain: Move static allocations from powerdomains.h to a .c file

powerdomains.h header today has only static definitions. Adding any
function declarations into it and including it in multiple source file
is expected to cause issues. Hence move all the static definitions
from powerdomains.h file into powerdomains_data.c file.

Also, create a new powerdomain section of the mach-omap2/Makefile, and
rearrange the prcm-common part of the Makefile, now that the
powerdomain code is in its own Makefile section.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: rearrange Makefile changes, tweaked commit message]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
akefile
lockdomains.h
o.c
owerdomains.h
owerdomains_data.c
ff2516fbef20ed9edd9cc2fc8b8b48d5cb5a932f 21-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: wd_timer: disable on boot via hwmod postsetup mechanism

The OMAP watchdog timer IP blocks require a specific set of register
writes to occur before they will be disabled[1], even if the device
clocks appear to be disabled in the CM_*CLKEN registers. In the MPU
watchdog case, failure to execute this reset sequence will eventually
cause the watchdog to reset the OMAP unexpectedly.

Previously, the code to disable this watchdog was manually called from
mach-omap2/devices.c during device initialization. This causes the
watchdog to be unconditionally disabled for a portion of kernel
initialization. This should be controllable by the board-*.c files,
since some system integrators will want full watchdog coverage of
kernel initialization. Also, the watchdog disable code was not
connected to the hwmod shutdown code. This means that calling
omap_hwmod_shutdown() will not, in fact, disable the watchdog, and the
goal of omap_hwmod_shutdown() is to be able to shutdown any on-chip
OMAP device.

To resolve the latter problem, populate the pre_shutdown pointer in
the watchdog timer hwmod classes with a function that executes the
watchdog shutdown sequence. This allows the hwmod code to fully
disable the watchdog.

Then, to allow some board files to support watchdog coverage
throughout kernel initialization, add common code to mach-omap2/io.c
to cause the MPU watchdog to be disabled on boot unless a board file
specifically requests it to remain enabled. Board files can do this
by changing the watchdog timer hwmod's postsetup state between the
omap2_init_common_infrastructure() and omap2_init_common_devices()
function calls.

1. OMAP34xx Multimedia Device Silicon Revision 3.1.x Rev. ZH
[SWPU222H], Section 16.4.3.6, "Start/Stop Sequence for WDTs (Using
WDTi.WSPR Register)"

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Charulatha Varadarajan <charu@ti.com>
evices.c
o.c
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_44xx_data.c
d_timer.c
81fbc5ef9b22df2e2198dd0c530719a263a8d1c5 22-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: wd_timer: separate watchdog disable code from the rest of mach-omap2/devices.c

Split the wd_timer disable code out into its own file,
mach-omap2/wd_timer.c; it belongs in its own file rather than
cluttering up devices.c.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Charulatha Varadarajan <charu@ti.com>
akefile
evices.c
d_timer.c
d_timer.h
233cbe5b94096f95ba7bca2162d63275b0b90b5b 14-Dec-2010 Rajendra Nayak <rnayak@ti.com> OMAP2+: hwmod: Update the sysc_cache in case module context is lost

Do not skip the sysc programming in the hmwod framework based
on the cached value alone, since at times the module might have lost
context (due to the Powerdomain in which the module belongs
transitions to either Open Switch RET or OFF).

Identifying if a module has lost context requires atleast one
register read, and since a register read has more latency than
a write, it makes sense to do a blind write always.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
map_hwmod.c
dc6d1cda044b24c3d9f8e4af0431887ebe3488ef 14-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: upgrade per-hwmod mutex to a spinlock

Change the per-hwmod mutex to a spinlock. (The per-hwmod lock
serializes most post-initialization hwmod operations such as enable,
idle, and shutdown.) Spinlocks are needed, because in some cases,
hwmods must be enabled from timer interrupt disabled-context, such as
an ISR. The current use-case that is driving this is the OMAP GPIO
block ISR: it can trigger interrupts even with its clocks disabled,
but these clocks are needed for register accesses in the ISR to succeed.

This patch also effectively reverts commit
848240223c35fcc71c424ad51a8e8aef42d3879c - this patch makes
_omap_hwmod_enable() and _omap_hwmod_init() static, renames them back
to _enable() and _idle(), and changes their callers to call the
spinlocking versions. Previously, since omap_hwmod_{enable,init}()
attempted to take mutexes, these functions could not be called while
the timer interrupt was disabled; but now that the functions use
spinlocks and save and restore the IRQ state, it is appropriate to
call them directly.

Kevin Hilman <khilman@deeprootsystems.com> originally proposed this
patch - thanks Kevin.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Benoît Cousson <b-cousson@ti.com>
map_hwmod.c
erial.c
bd36179eec2827cd60b4a8c6e180cc030c74a4ec 14-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: add support for per-class custom device reset functions

The standard omap_hwmod.c _reset() code relies on an IP block's
OCP_SYSCONFIG.SOFTRESET register bit to reset the IP block. This
works for most IP blocks on the chip, but unfortunately not all. For
example, initiator-only IP blocks often don't have any MPU-accessible
OCP-header registers, and therefore the MPU can't write to any
OCP_SYSCONFIG registers in that block. Other IP blocks, such as the
IVA and I2C, require a specialized reset sequence.

Since we need to be able to reset these IP blocks as well, allow
custom IP block reset functions to be passed into the hwmod code via a
per-hwmod-class reset function pointer, struct omap_hwmod_class.reset.
If .reset is non-null, then the hwmod _reset() code will call the custom
function instead of the standard OCP SOFTRESET-based code.

As part of this change, rename most of the existing _reset() function
code to _ocp_softreset(), to indicate more clearly that it does not work
for all cases.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Paul Hunt <hunt@ti.com>
Cc: Stanley Liu <stanley_liu@ti.com>
map_hwmod.c
2092e5ccf89db09ebde94e9aabd3c86d5fa05c6c 14-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: add postsetup state

Allow board files and OMAP core code to control the state that some or
all of the hwmods end up in at the end of _setup() (called by
omap_hwmod_late_init() ). Reimplement the old skip_setup_idle code in
terms of this new postsetup state code.

There are two use-cases for this patch: the !CONFIG_PM_RUNTIME case,
in which all IP blocks should stay enabled after _setup() finishes;
and the MPU watchdog case, in which the watchdog IP block should enter
idle if watchdog coverage of kernel initialization is desired, and
should be disabled otherwise.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Charulatha Varadarajan <charu@ti.com>
o.c
map_hwmod.c
e4dc8f507c3066d6fcece988d99b6d766c46af85 14-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod: allow custom pre-shutdown functions

Some OMAP IP blocks, such as the watchdog timers, cannot be completely
shut down via the standard hwmod shutdown mechanism. This patch
enables the hwmod data files to supply a pointer to a custom
pre-shutdown function via the struct omap_hwmod_class.pre_shutdown
function pointer. If the struct omap_hwmod_class.pre_shutdown
function pointer is non-null, the function will be executed before the
existing hwmod shutdown code runs.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
map_hwmod.c
4805734bcc5a6b28b527a13a5c1603a2912c9f48 21-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: io: split omap2_init_common_hw()

Split omap2_init_common_hw() into two functions. The first,
omap2_init_common_infrastructure(), initializes the hwmod code and
data, the OMAP PM code, and the clock code and data. The second,
omap2_init_common_devices(), handles any other early device
initialization that, for whatever reason, has not been or cannot be
moved to initcalls or early platform devices.

This patch is required for the hwmod postsetup patch, which allows
board files to change the state that hwmods should be placed into at
the conclusion of the hwmod _setup() function. For example, for a
board whose creators wish to ensure watchdog coverage across the
entire kernel boot process, code to change the watchdog's postsetup
state will be added in the board-*.c file between the
omap2_init_common_infrastructure() and omap2_init_common_devices() function
calls.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-igep0030.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rm680.c
oard-rx51.c
oard-zoom.c
o.c
5b59cc2fc2ff90369d6aa7862caaba3cf45b5075 21-Dec-2010 Raghuveer Murthy <raghuveer.murthy@ti.com> OMAP4: Pandaboard: Fix MMC card detect gpio line

commit bf56f0a6668cd (2.6.37-rc1), from Nishanth Menon attempted
to fix card detection for PandaBoard, unfortunately, the fix missed
to initialize .gpio_cd member of omap2_hsmmc_info. This results
in a default value of '0', which is a valid GPIO line.
On PandaBoard, the side effect of this is that GPIO line 0 controls
the powering TFP410 DVI chip, and without the fix DVI chip is
inadvertently powered.

Tested-by: David Anders <x0132446@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Raghuveer Murthy <raghuveer.murthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
d858addf10a00e663e438d7607f18496d30f1d1b 21-Dec-2010 Daniel Morsing <daniel.morsing@gmail.com> OMAP2: Devkit8000: Use _cansleep GPIO functions for displayreset lines

The display reset lines are connected to a TPS65930 which may sleep
when changing GPIO values. Use the appropriate function to silence
a nasty warning from gpiolib.

Signed-off-by: Daniel Morsing <daniel.morsing@gmail.com>
Acked-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
b9e7683bbca638967a56e5d7fd4035a947109621 22-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-opp' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
bb3613aa34a81a5e2f1227ccdb801fde04a7da10 22-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-next' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
6971071cdda79cad5f53ba390e466d696e7e9006 22-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branch 'devel-dma' into omap-for-linus
bb1c9034b3ce7f29d3d178a87b42b767611d6574 18-Dec-2010 Jean Pihet <j-pihet@ti.com> OMAP3: ASM sleep code format rework

Cosmetic fixes to the code:
- white spaces and tabs,
- alignement,
- comments rephrase and typos,
- multi-line comments

Tested on N900 and Beagleboard with full RET and OFF modes,
using cpuidle and suspend.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
leep34xx.S
8352129166b8270253a746f336a4429b349b023d 18-Dec-2010 Jean Pihet <j-pihet@ti.com> OMAP3: add comments for low power code errata

Errata covered:
- 1.157 & 1.185
- i443
- i581

Tested on N900 and Beagleboard with full RET and OFF modes,
using cpuidle and suspend.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
leep34xx.S
f7dfe3d8a98b7c4869c09826e3a65663cb9c71be 18-Dec-2010 Jean Pihet <j-pihet@ti.com> OMAP3: rework of the ASM sleep code execution paths

- Reworked and simplified the execution paths for better
readability and to avoid duplication of code,
- Added comments on the entry and exit points and the interaction
with the ROM code for OFF mode restore,
- Reworked the existing comments for better readability.

Tested on N900 and Beagleboard with full RET and OFF modes,
using cpuidle and suspend.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ontrol.c
leep34xx.S
1e81bc015a444e0f908451642b0197199d0c6fa4 18-Dec-2010 Jean Pihet <j-pihet@ti.com> OMAP3: re-organize the ASM sleep code

Organize the code in the following sections:
- register access macros,
- API functions,
- internal functions.

Tested on N900 and Beagleboard with full RET and OFF modes,
using cpuidle and suspend.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
leep34xx.S
fe360e1c8693bca175338da4c53078b0be807c52 18-Dec-2010 Jean Pihet <j-pihet@ti.com> OMAP3: remove hardcoded values from the ASM sleep code

Using macros from existing include files for registers addresses.

Tested on N900 and Beagleboard with full RET and OFF modes,
using cpuidle and suspend.

Based on original patch from Vishwa.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Cc: Vishwanath BS <vishwanath.bs@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ontrol.h
leep34xx.S
b4b36fd94e4ca99b3258ff24c2c58cdde67085e0 18-Dec-2010 Jean Pihet <j-pihet@ti.com> OMAP2+: use global values for the SRAM PA addresses

The SRAM PA addresses are locally defined and used at
different places, i.e. SRAM management code and idle sleep code.

The macros are now defined at a centralized place, for
easier maintenance.

Tested on N900 and Beagleboard with full RET and OFF modes,
using cpuidle and suspend.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon<nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
drc.h
leep34xx.S
d3cdfd2a15d87d040a5f553231b979fbc28b98e7 18-Dec-2010 Jean Pihet <j-pihet@ti.com> OMAP3: remove unused code from the ASM sleep code

Remove unused code:
- macros,
- variables,
- unused semaphore locking API. This API shall be added back
when needed,
- infinite loops for debug.

Tested on N900 and Beagleboard with full RET and OFF modes,
using cpuidle and suspend.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Tested-by: Nishanth Menon<nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.h
leep34xx.S
cc1b6028878646a2419b27e5f590b5e9fe01dc3d 20-Dec-2010 Eduardo Valentin <eduardo.valentin@nokia.com> OMAP3630: PM: Erratum i583: disable coreoff if < ES1.2

Limitation i583: Self_Refresh Exit issue after OFF mode

Issue:
When device is waking up from OFF mode, then SDRC state machine sends
inappropriate sequence violating JEDEC standards.

Impact:
OMAP3630 < ES1.2 is impacted as follows depending on the platform:
CS0: for 38.4MHz as internal sysclk, DDR content seen to be stable, while
for all other sysclk frequencies, varied levels of instability
seen based on varied parameters.
CS1: impacted

This patch takes option #3 as recommended by the Silicon erratum:
Avoid core power domain transitioning to OFF mode. Power consumption
impact is expected in this case.
To do this, we route core OFF requests to RET request on the impacted
revisions of silicon.

Acked-by: Jean Pihet <j-pihet@ti.com>

[nm@ti.com: rebased the code to 2.6.37-rc2- short circuit code changed a bit]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
m.h
m34xx.c
80723c3fe457a5d29c178da4ac72983f47b37ed7 20-Dec-2010 Nishanth Menon <nm@ti.com> OMAP3: PM: make omap3_cpuidle_update_states independent of enable_off_mode

Currently omap3_cpuidle_update_states makes whole sale decision
on which C states to update based on enable_off_mode variable
Instead, achieve the same functionality by independently providing
mpu and core deepest states the system is allowed to achieve and
update the idle states accordingly.

Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
[khilman: fixed additional user of this API in OMAP CPUidle driver]
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
m.h
m34xx.c
c4236d2e7913d18d058a018f0d19473eb6a11a3c 20-Dec-2010 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP3630: PM: Disable L2 cache while invalidating L2 cache

While coming out of MPU OSWR/OFF states, L2 controller is reseted.
The reset behavior is implementation specific as per ARMv7 TRM and
hence $L2 needs to be invalidated before it's use. Since the
AUXCTRL register is also reconfigured, disable L2 cache before
invalidating it and re-enables it afterwards. This is as per
Cortex-A8 ARM documentation.
Currently this is identified as being needed on OMAP3630 as the
disable/enable is done from "public side" while, on OMAP3430, this
is done in the "secure side".

Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tony Lindgren <tony@atomide.com>

Acked-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>

[nm@ti.com: ported to 2.6.37-rc2, added hooks to enable the logic only on 3630]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.h
m34xx.c
leep34xx.S
458e999eb14a301d4176783c8fcb277f5d009b4e 20-Dec-2010 Nishanth Menon <nm@ti.com> OMAP3630: PM: Erratum i608: disable RTA

Erratum id: i608
RTA (Retention Till Access) feature is not supported and leads to device
stability issues when enabled. This impacts modules with embedded memories
on OMAP3630

Workaround is to disable RTA on boot and coming out of core off.
For disabling RTA coming out of off mode, we do this by overriding the
restore pointer for 3630 as the first point of entry before caches are
touched and is common for GP and HS devices. To disable earlier than
this could be possible by modifying the PPA for HS devices, but not for
GP devices.

Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tony Lindgren <tony@atomide.com>

Acked-by: Jean Pihet <j-pihet@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>

[ambresh@ti.com: co-developer]
Signed-off-by: Ambresh K <ambresh@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ontrol.c
ontrol.h
m.h
m34xx.c
leep34xx.S
8cdfd83473d9b408b924b5d32777ac3fddd251ff 20-Dec-2010 Nishanth Menon <nm@ti.com> OMAP3: pm: introduce errata handling

Introduce errata handling for OMAP3. This patch introduces
errata variable and stub for initialization which will be
filled up by follow-on patches.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.h
m34xx.c
9d93b8a2c8c78972f0a3d15a820288dbb3968bf2 20-Dec-2010 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP3: PM: Erratum i581 support: dll kick strategy

Erratum i581 impacts OMAP3 platforms.
PRCM DPLL control FSM removes SDRC_IDLEREQ before DPLL3 locks causing
the DPLL not to be locked at times.

IMPORTANT:
*) This is not a complete workaround implementation as recommended
by the silicon erratum. This is a support logic for detecting lockups and
attempting to recover where possible and is known to provide stability
in multiple platforms.
*) This code is mostly important for inactive and retention. The ROM code
waits for the maximum DLL lock time when resuming from off mode. So for
off mode this code isn't really needed.
*) counters are introduced here for eventual export to userspace once the
cleanups are completed.

This should eventually get refactored as part of cleanups to sleep34xx.S

Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tony Lindgren <tony@atomide.com>

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
leep34xx.S
0bd40535365c318e331f5e872030a710d5746167 20-Dec-2010 Richard Woodruff <r-woodruff2@ti.com> OMAP3: PM: Update clean_l2 to use v7_flush_dcache_all

Analysis in TI kernel with ETM showed that using cache mapped flush
in kernel instead of SO mapped flush cost drops by 65% (3.39mS down
to 1.17mS) for clean_l2 which is used during sleep sequences.
Overall:
- speed up
- unfortunately there isn't a good alternative flush method today
- code reduction and less maintenance and potential bug in
unmaintained code

This also fixes the bug with the clean_l2 function usage.

Reported-by: Tony Lindgren <tony@atomide.com>

Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tony Lindgren <tony@atomide.com>

Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>

[nm@ti.com: ported rkw's proposal to 2.6.37-rc2]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
leep34xx.S
53da4ce23809ca33405001b0ae117e60b7feced1 09-Dec-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: remove OPP interfaces from OMAP PM layer

With new OPP layer, OPP users will access OPP API directly instead of
using OMAP PM layer, so remove all notions of OPPs from the OMAP PM
layer.

Acked-by: Paul Walmsley <paul@pwsan.com>

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
o.c
f5a6422d4e0e85a9c7f5522d3321254bfdfa7f04 09-Dec-2010 Nishanth Menon <nm@ti.com> omap4: opp: add OPP table data

This patch adds OPP tables for OMAP4. New file has been added to keep
the OMAP4 opp tables and the registration of these tables with the
generic opp framework by OMAP SoC OPP interface.

Based on:
http://dev.omapzoom.org/?p=santosh/kernel-omap4-base.git;a=blob;f=arch/arm/mach-omap2/opp44xx_data.c;h=252e3d0cb6050a64f390b9311c1c4977d74f762a;hb=refs/heads/omap4_next

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
config
akefile
pp4xxx_data.c
m.h
fd1478cd61624479c89e35602925459d74505ff3 09-Dec-2010 Nishanth Menon <nm@ti.com> omap: opp: add OMAP3 OPP table data and common init

Add OPP data for OMAP34xx and OMAP36xx and initialization functions
to populate OPP tables based on current SoC.
introduce an OMAP generic opp initialization routine which OMAP3
and OMAP4+ SoCs can use to register their OPP definitions.

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
config
akefile
map_opp_data.h
pp.c
pp3xxx_data.c
m.h
1cbbe37ac5c78fb59ce02f639d6c4f69b610cf5e 20-Dec-2010 Thara Gopinath <thara@ti.com> OMAP: pm.c correct the initcall for an early init.

omap2_common_pm_init is the API where generic system devices like
mpu, l3 etc get initialized. This has to happen really early on
during the boot and not at a later time. This is especially important
with the new opp changes as these devices need to be built before the
opp tables init happen. Today both are device initcalls and it works
just because of the order of compilation. Making this postcore_initcall
is ideal because the omap device layer init happens as a core_initcall
and typically rest of the driver/device inits are arch_initcall or
something lower.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.c
c166381d4013fd32512f124c237f4213ae9888e9 09-Dec-2010 Jean Pihet <j-pihet@ti.com> OMAP2+: disable idle early in the suspend sequence

Some bad interaction between the idle and the suspend paths has been
identified: the idle code is called during the suspend enter and exit
sequences. This could cause corruption or lock-up of resources.

The solution is to move the calls to disable_hlt at the very beginning
of the suspend sequence (ex. in omap3_pm_begin instead of
omap3_pm_prepare), and the call to enable_hlt at the very end of
the suspend sequence (ex. in omap3_pm_end instead of omap3_pm_finish).

Tested with RET and OFF on Beagle and OMAP3EVM.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m24xx.c
m34xx.c
m44xx.c
4931445b94f49672028b81ace9d4eee8ddf19ab2 09-Dec-2010 Adrian Hunter <adrian.hunter@nokia.com> OMAP2/3: OneNAND: add 104MHz support

Add GPMC timings for 104MHz OneNAND.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-onenand.c
a3551f5b0c3ca7aaa053e554e3ee766983b5d713 09-Dec-2010 Adrian Hunter <adrian.hunter@nokia.com> OMAP2/3: GPMC: put sync_clk value in picoseconds instead of nanoseconds

The calculations done with sync_clk are anyway in picoseconds
and switching to picoseconds allows sync_clk values that are
not a whole number of nanoseconds - which is sometimes the
case.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-nand.c
pmc-onenand.c
pmc.c
sb-tusb6010.c
4584acc3ee236424b5d0b52f143d980cae3c2be5 21-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branches 'devel-iommu-mailbox' and 'devel-l2x0' into omap-for-linus
f0c61d3d3c319def8feebb99682ae0223a41dffe 18-Dec-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Switch rx51_tpa6130a2_data __initdata to__initdata_or_module

If the TPA6130 is compiled as module the id and power_gpio values are
arbitrary at module probing time since the rx51_tpa6130a2_data was marked as
__initdata. Fix this by using __initdata_or_module. Then __initdata is
defined only if the kernel is built without CONFIG_MODULES and omitted
otherwise.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
f861fc1766888858db6abd57adae3af7abc286ca 19-Dec-2010 Grazvydas Ignotas <notasas@gmail.com> omap: pandora: fix wifi support

After commit ed919b0 "mmc: sdio: fix runtime PM anomalies by introducing
MMC_CAP_POWER_OFF_CARD" it is required to specify MMC_CAP_POWER_OFF_CARD
to have runtime PM support. As the wl1251 driver expects card to be
powered down when it's not used, wifi will no longer work after interface
is brought down at least once without functioning runtime PM.

Fix this by declaring MMC_CAP_POWER_OFF_CARD for MMC3.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
d920e52020bcad791b12137deea341665160b974 18-Dec-2010 Raghuveer Murthy <raghuveer.murthy@ti.com> OMAP4: Pandaboard: Add omap_reserve functionality

This patch adds omap_reserve functionality to board-omap4panda.c.
Helps in the reserving boot time memory in SDRAM, used here for
framebuffer allocation.

This patch is in similar lines to commit id 71ee7dad9b6991, from
Russell king

Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Raghuveer Murthy <raghuveer.murthy@ti.com>
[tony@atomide.com: fixed to be before .map_io as pointed out by Russell King]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
f389f4cb46e69fe2cea81e21fd01efc4daf07c8e 18-Dec-2010 Hemanth V <hemanthv@ti.com> omap4: Add platform changes for PWM LED

Register TWL6030 PWM, which is used as charging LED

Signed-off-by: Hemanth V <hemanthv@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
d048aca2e2e023204c10ca6b705642c1de54d95c 18-Dec-2010 Hemanth V <hemanthv@ti.com> omap4: Add platform changes for Ambient Light sensor

Register BH1780GLI Ambient light sensor, which is an I2C device
for 4430SDP board.

Signed-off-by: Hemanth V <hemanthv@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
70e77760639625e6ec4564c262552e6002eb5ba6 18-Dec-2010 Laurent Pinchart <laurent.pinchart@ideasonboard.com> omap3: igepv2: LED gpio-led:green:d1 is active low

Make sure the LED is turned off at boot time, and configure the GPIO LED
device as active low.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
62d8e9e2613032c6c8397b554b5f789131bb3d60 18-Dec-2010 Laurent Pinchart <laurent.pinchart@ideasonboard.com> omap3: igepv2: Don't call gpio_set_value right aftergpio_direction_output

gpio_direction_output() has a value argument, there's no need to call
gpio_set_value() explicitly right after.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
da07c0cff295d887427ad2519e452ee3c27e47ff 21-Dec-2010 Marc Zyngier <maz@misterjones.org> Fix IGEPv2 second MMC channel power supply

Commit 72f381ba056 (omap3: Remove VMMC2 regulator on IGEP v2)
removed an unused regulator entry, but left the second MMC channel
(used by the Libertas WLAN module) without link to power regulator.
This causes the SDIO module to fail being detected.

This patch adds the two regulators that actually feed the WLAN module
(1v8 from the TWL4030 VIO LDO, and a fixed 3v3). With that patch, the
second channel is properly detected. Details of the power supply
implementation were kindly provided by Enric Balletbo i Serra.

Also change vmmc1 to use symbolic names instead of direct device
reference.

Tested on an IGEPv2 Rev-B.

Signed-off-by: Marc Zyngier <maz@misterjones.org>
Acked-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
cd303e1712e3ebdf174bb378bb8df851eac2701a 21-Dec-2010 Anand Gadiyar <gadiyar@ti.com> omap2430: hwmod: remove stray declaration

Patch "OMAP2xxx: hwmod: add I2C hwmods for OMAP2420, 2430"
in linux-next as of 20101203 introduced the following build
warning - fix this by removing the stray i2c_dev_attr.

arch/arm/mach-omap2/omap_hwmod_2430_data.c:483: warning: 'i2c_dev_attr' defined but not used

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2430_data.c
60d24eeda7c7e3b0551f5a349224c7cc721206bd 21-Dec-2010 Srikar <ext-srikar.1.bhavanarayana@nokia.com> Added video data to support tvout on rx51

To support tvout on rx51,added Intilization data,
tvout as display device and enabled venc through gpio
on rx51

Signed-off-by: Srikar <ext-srikar.1.bhavanarayana@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-video.c
caeeb4aadfbff8d8efbb055594c0459cff94adad 21-Dec-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Add supplies and data for codec b part ofTLV320AIC34

Upcoming ASoC core and tlv320aic3x changes makes possible to take b part of
TLV320AIC34 into use on RX51/N900. Prepare to this by adding virtual supplies
and platform data for b part of the codec.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
91db7b2985555bd0456ad30440dd615c985fc9c6 21-Dec-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Remove extra tlv320aic3x.h inclusion

Remove second tlv320aic3x.h inclusion that came along the commit f0fba2a
"ASoC: multi-component - ASoC Multi-Component Support".

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
5690597fc648c92b94771993a56c7e4f614874bf 21-Dec-2010 Aaro Koskinen <Aaro.Koskinen@nokia.com> arm: mach-omap2: Kconfig: fix incorrect option

There is no MFD config option, MFD_SUPPORT should be selected instead.
This will prevent build errors when trying out different configurations.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
434c23a7ef48763fd8d4adfb0edebb4237770f9d 21-Dec-2010 Aaro Koskinen <Aaro.Koskinen@nokia.com> arm: mach-omap2: hsmmc_reset: fix clk_get() error handling

clk_get() return value should be checked with IS_ERR(). Furthermore,
clocks should be put and disabled properly.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
f31cc9622d75c1c6f041d786698daa425c0425c2 21-Dec-2010 G, Manjunath Kondaiah <manjugk@ti.com> OMAP: DMA: Convert DMA library into platform driver

Convert DMA library into DMA platform driver and make use of
platform data provided by hwmod data base for OMAP2+ onwards.

For OMAP1 processors, the DMA driver in mach-omap uses resource
structures for getting platform data.

Thanks to Tony Lindgren <tony@atomide.com> for fixing various
omap1 issues and testing the same on OSK5912 board.

Signed-off-by: G, Manjunath Kondaiah <manjugk@ti.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
ma.c
59de3cf1ce9a961ba9ab657707727db2111e72fa 21-Dec-2010 G, Manjunath Kondaiah <manjugk@ti.com> OMAP2+: DMA: hwmod: Device registration

Prepare OMAP2+ DMA to use hwmod infrastructure so that DMA can register
as platform device.

Signed-off-by: G, Manjunath Kondaiah <manjugk@ti.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ma.c
531ce0d57caf7e49073608873de6976558fd7e4f 21-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: add system DMA

Add OMAP4 DMA hwmod data. In addition to original dma hwmod data,
the following changes are added.

1. DMA device attributes structure is introduced for diffenrenciating
OMAP cpu's based on DMA features.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: G, Manjunath Kondaiah <manjugk@ti.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
01438ab6a49b63ef02b2eb44b63345a09792f982 21-Dec-2010 G, Manjunath Kondaiah <manjugk@ti.com> OMAP3: hwmod data: add system DMA

Add OMAP3 DMA hwmod data

Signed-off-by: G, Manjunath Kondaiah <manjugk@ti.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_3xxx_data.c
82cbd1aebafd126f40a8ed0725a6feb6ed710576 21-Dec-2010 G, Manjunath Kondaiah <manjugk@ti.com> OMAP2430: hwmod data: add system DMA

Add OMAP2430 DMA hwmod data and also add required
DMA device attributes.

Signed-off-by: G, Manjunath Kondaiah <manjugk@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2430_data.c
745685df95961ebbf0bcafcf28f31217a75070ae 21-Dec-2010 G, Manjunath Kondaiah <manjugk@ti.com> OMAP2420: hwmod data: add system DMA

Add OMAP2420 DMA hwmod data and also add required
DMA device attributes.

Signed-off-by: G, Manjunath Kondaiah <manjugk@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2420_data.c
f7bb0d9ab29e3159e22c3bfc843bd37c7d3c91a0 09-Dec-2010 Benoit Cousson <b-cousson@ti.com> I2C: i2c-omap: Change device name: i2c_omap -> omap_i2c

The convention for omap device naming is omap_XXX.

Rename the device and driver name in order to stick
to this naming convention.

Change device name in clock nodes as well.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Ben Dooks <ben-i2c@fluff.org>
Acked-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
lock44xx_data.c
bbc81fd4327f9ed4480b05981e38acd48b1d184a 30-Nov-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: CPU hotplug: remove bug checks in platform_cpu_die()

platform_cpu_die() is entered from the CPU's own idle thread, which
can not be migrated to other CPUs. Moreover, the 'cpu' argument
comes from the thread info, which will always be the 'current'
CPU. So remove this useless bug check.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-hotplug.c
3c030beabf937b1d3b4ecaedfd1fb2f1e2aa0c70 30-Nov-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: CPU hotplug: move cpu_killed completion to core code

We always need to wait for the dying CPU to reach a safe state before
taking it down, irrespective of the requirements of the platform.
Move the completion code into the ARM SMP hotplug code rather than
having each platform re-implement this.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-hotplug.c
2c0136dba4e43b0916ccc9ecc7f11e6d6b73f046 03-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: SMP: consolidate trace_hardirqs_off() into common SMP code

All platforms call trace_hardirqs_off() in their secondary startup code,
so move this into the core SMP code - it doesn't need to be in the
per-platform code.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-smp.c
05c74a6cbcfb416286a947668ba32f63d99fe74a 03-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: SMP: consolidate the common parts of smp_prepare_cpus()

There is a certain amount of smp_prepare_cpus() which doesn't belong
in the platform support code - that is, code which is invariant to the
SMP implementation. Move this code into arch/arm/kernel/smp.c, and
add a platform_ prefix to the original function.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-smp.c
fd778f0ad7dda1108281410ddca0d07936256d3c 02-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: SMP: get rid of get_core_count()

We don't need this small function as well as scu_get_core_count()

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-smp.c
8975b6c0fdd57e061f4d1040163778ceaf340ad8 03-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: SMP: Clean up ncores sanity checks

scu_get_core_count() never returns zero cores, so we don't need to
check and correct if ncores is zero.

Tegra was missing the check against NR_CPUS, leading to a potential
bitfield overflow if this becomes the case.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-smp.c
bbc3d14e9aca023bb98e580aa1c9350af8effdb1 03-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: SMP: move CPU number sanity checks to smp_init_cpus()

Ensure that the number of CPUs is sanity checked before setting
the number of possible CPUs. This avoids any chance of overflowing
the cpu_possible bitmap.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-smp.c
b89cd71a159b5edca4c429687e4af01708eb1b26 19-Nov-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: l2x0: Enable early BRESP bit

The AXI protocol specifies that the write response can only
be sent back to an AXI master when the last write data has been
accepted. This optimization enables the PL310 to send the write
response of certain write transactions as soon as the store buffer
accepts the write address. This behavior is not compatible with
the AXI protocol and is disabled by default. You enable this
optimization by setting the Early BRESP Enable bit in the
Auxiliary Control Register (bit [30]).

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Mans Rullgard <mans@mansr.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map4-common.c
b0f20ff9d7e347c284ea7718597c978a2969ad7b 19-Nov-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: l2x0: Set share override bit

Clearing bit 22 in the PL310 Auxiliary Control register (shared
attribute override enable) has the side effect of transforming Normal
Shared Non-cacheable reads into Cacheable no-allocate reads.

Coherent DMA buffers in Linux always have a Cacheable alias via the
kernel linear mapping and the processor can speculatively load cache
lines into the PL310 controller. With bit 22 cleared, Non-cacheable
reads would unexpectedly hit such cache lines leading to buffer
corruption

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map4-common.c
11e0264046e00544eb044fafc27125babd105e41 19-Nov-2010 Mans Rullgard <mans@mansr.com> omap4: l2x0: enable instruction and data prefetching

Enabling L2 prefetching improves performance as shown on Panda
ES2.1 board with mem test, and it has measurable impact on
performances. I think we should consider it, even though it damages
"writes" a bit. (rebased to k.org)
Usually the prefetch is used at both levels together L1 + L2, however,
to enable the CP15 prefetch engines, these are under security, and on
GP devices, we cannot enable it(e.g. on PandaBoard). However, just
enabling PL310 prefetch seems to provide performance improvement,
as shown in the data below (from Ubuntu) and would be a great thing
to pull in.

What prefetch does is enable automatic next line prefetching. With this
enabled, whenever the PL310 receives a cachable read request, it
automatically prefetches the following cache line as well.

Measurement Data:
==
STOCK 10.10 WITHOUT PATCH

========================
~# ./memspeed
size 8388608 8192k 8M
offset 8388608, 0
buffers 0x2aaad000 0x2b2ad000
copy libc 133 MB/s
copy Android v5 273 MB/s
copy Android NEON 235 MB/s
copy INT32 116 MB/s
copy ASM ARM 187 MB/s
copy ASM VLDM 64 204 MB/s
copy ASM VLDM 128 173 MB/s
copy ASM VLD1 216 MB/s
read ASM ARM 286 MB/s
read ASM VLDM 242 MB/s
read ASM VLD1 286 MB/s
write libc 1947 MB/s
write ASM ARM 1943 MB/s
write ASM VSTM 1942 MB/s
write ASM VST1 1935 MB/s

10.10 + PATCH
=============
~# ./memspeed
size 8388608 8192k 8M
offset 8388608, 0
buffers 0x2ab17000 0x2b317000
copy libc 129 MB/s
copy Android v5 256 MB/s
copy Android NEON 356 MB/s
copy INT32 127 MB/s
copy ASM ARM 321 MB/s
copy ASM VLDM 64 337 MB/s
copy ASM VLDM 128 321 MB/s
copy ASM VLD1 350 MB/s
read ASM ARM 496 MB/s
read ASM VLDM 470 MB/s
read ASM VLD1 488 MB/s
write libc 1701 MB/s
write ASM ARM 1682 MB/s
write ASM VSTM 1693 MB/s
write ASM VST1 1681 MB/s

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map4-common.c
1773e60a816b28f4084810f96e9195aaaa7fb8c3 19-Nov-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: l2x0: Construct the AUXCTRL value using defines

This patch removes the hardcoded value of auxctrl value and
construct it using bitfields

Bit 25 is reserved and is always set to 1. Same value
of this bit is retained in this patch

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map4-common.c
fe297dde5ae8f8bf67d3a87759289a99b48ecb2c 01-Dec-2010 John Rigby <john.rigby@linaro.org> OMAP4: enable smc instruction in new assembler versions

New assemblers need -march=armv7-a+sec on command line or
.arch_extension sec inline to enable use of the smc instruction.

This patch uses as-instr to check the latter to conditionally
enable the former in AFLAGS for files that use smc.

Checked on both old and new binutils to verify that it does
not break old versions.

Signed-off-by: John Rigby <john.rigby@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
1a6b59232bbaf612265e364c9e06ba1d15bbe7e0 08-Dec-2010 Bryan Wu <bryan.wu@canonical.com> omap: kill all section mismatch warning for omap2plus_defconfig

This patch will kill following section mismatch warnings:

WARNING: vmlinux.o(.text+0x24a00): Section mismatch in reference from the function zoom_twl_gpio_setup() to the (unknown reference) .init.data:(unknown)
The function zoom_twl_gpio_setup() references
the (unknown reference) __initdata (unknown).
This is often because zoom_twl_gpio_setup lacks a __initdata
annotation or the annotation of (unknown) is wrong.

WARNING: vmlinux.o(.text+0x24bfc): Section mismatch in reference from the function cm_t35_twl_gpio_setup() to the (unknown reference) .init.data:(unknown)
The function cm_t35_twl_gpio_setup() references
the (unknown reference) __initdata (unknown).
This is often because cm_t35_twl_gpio_setup lacks a __initdata
annotation or the annotation of (unknown) is wrong.

WARNING: vmlinux.o(.data+0x1d3e0): Section mismatch in reference from the variable h4_config to the (unknown reference) .init.data:(unknown)
The variable h4_config references
the (unknown reference) __initdata (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1dc08): Section mismatch in reference from the variable sdp2430_config to the (unknown reference) .init.data:(unknown)
The variable sdp2430_config references
the (unknown reference) __initdata (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1e1d8): Section mismatch in reference from the variable apollon_config to the (unknown reference) .init.data:(unknown)
The variable apollon_config references
the (unknown reference) __initdata (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-apollon.c
oard-cm-t35.c
oard-h4.c
oard-zoom-peripherals.c
7c50152f0851e44ef7491546a29fddbbea47735b 24-Nov-2010 Ohad Ben-Cohen <ohad@wizery.com> omap: boards w/ wl12xx should select REGULATOR_FIXED_VOLTAGE

Power to the wl12xx wlan device is controlled by a fixed regulator.

Boards that have the wl12xx should select REGULATOR_FIXED_VOLTAGE so
users will not be baffled.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
447b8da5d78ac8f2815a7824c0eb4ad66ba3e11e 17-Nov-2010 Jean Pihet <jean.pihet@newoldbits.com> OMAP3: add comments for erratas i540 and i478 workarounds

Add comments and IDs for the following erratas:
- i540: MPU cannot exit from Standby,
- i478: Unexpected Cold-Reset is generated when device is coming
back from OFF mode

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
owerdomains34xx.h
fea83f6a9b0a90fefca16ac3534e308f6c34144b 18-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branch 'devel-board' into omap-for-linus
2d200665c37f544f648d77a05a06ab63328f0d3a 18-Dec-2010 Aaro Koskinen <aaro.koskinen@nokia.com> arm: omap: add minimal support for RM-680

Add minimal support for Nokia RM-680 board.

Tested with omap2plus_defconfig.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
[tony@atomide.com: updated to remove omap_gpio_init
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-rm680.c
20dbeb1081327aefaac7044d9908c97bf445858c 18-Dec-2010 Aaro Koskinen <aaro.koskinen@nokia.com> arm: omap: sdram-nokia: add 97.6/195.2 MHz timing data

Introduce 97.6/195.2 MHz memory timing data. Based on patches by Eduardo
Valentin, Igor Dmitriev and Juha Keski-Saari.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Cc: Eduardo Valentin <eduardo.valentin@nokia.com>
Cc: Igor Dmitriev <ext-dmitriev.igor@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
dram-nokia.c
15d24e118d51601a5cc2f021005aa7354b03b1c8 18-Dec-2010 Aaro Koskinen <aaro.koskinen@nokia.com> arm: omap: sdram-nokia: delete redundant timing data

41.5 MHz SDRAM clock is not usable.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
dram-nokia.c
2b1af87ace4776f0d0c3513923a79529fc1b5a00 18-Dec-2010 Aaro Koskinen <aaro.koskinen@nokia.com> arm: omap: sdram-nokia: improve error handling

Actually check for errors: print an error log and return NULL.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
dram-nokia.c
e5f5b5422d064b7a393e39332da31af68e975f91 18-Dec-2010 Aaro Koskinen <aaro.koskinen@nokia.com> arm: omap: sdram-nokia: use array to list timings

Use an array to make it easier to add new values.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
dram-nokia.c
fbd208e9772005c193459d1a0575c0787ad52f69 18-Dec-2010 Aaro Koskinen <aaro.koskinen@nokia.com> arm: omap: sdram-nokia: prepare for new memory timings

Rename the current timings to indicate they're for 166 MHz. Based on
patches by Eduardo Valentin and Juha Keski-Saari.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Cc: Eduardo Valentin <eduardo.valentin@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
dram-nokia.c
fcd8d84633902fd1717d80f36a38b8a4305ca3d4 18-Dec-2010 Aaro Koskinen <aaro.koskinen@nokia.com> arm: omap: add sdram-nokia.h

Add a header file for Nokia SDRAM functions. Based on patches by Juha
Keski-Saari.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51.c
dram-nokia.c
dram-nokia.h
6c3bc4eb5608665b7330b3d2044fca976cbd1a50 18-Dec-2010 Aaro Koskinen <aaro.koskinen@nokia.com> arm: omap: rename board-rx51-sdram.c to sdram-nokia.c

Rename the file and functions so that it can be reused by future Nokia
boards. Based on patches by Juha Keski-Saari.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-rx51-sdram.c
oard-rx51.c
dram-nokia.c
36facadd9ea98f8415d0dbb63e0763b7ee9d3911 16-Dec-2010 Greg Kroah-Hartman <gregkh@suse.de> Merge branch 'usb-next' into musb-merge

* usb-next: (132 commits)
USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path
USB: uas: Ensure we only bind to a UAS interface
USB: uas: Rename sense pipe and sense urb to status pipe and status urb
USB: uas: Use kzalloc instead of kmalloc
USB: uas: Fix up the Sense IU
usb: musb: core: kill unneeded #include's
DA8xx: assign name to MUSB IRQ resource
usb: gadget: g_ncm added
usb: gadget: f_ncm.c added
usb: gadget: u_ether: prepare for NCM
usb: pch_udc: Fix setup transfers with data out
usb: pch_udc: Fix compile error, warnings and checkpatch warnings
usb: add ab8500 usb transceiver driver
USB: gadget: Implement runtime PM for MSM bus glue driver
USB: gadget: Implement runtime PM for ci13xxx gadget
USB: gadget: Add USB controller driver for MSM SoC
USB: gadget: Introduce ci13xxx_udc_driver struct
USB: gadget: Initialize ci13xxx gadget device's coherent DMA mask
USB: gadget: Fix "scheduling while atomic" bugs in ci13xxx_udc
USB: gadget: Separate out PCI bus code from ci13xxx_udc
...
1cd25df4e53b9507f7abbb8aff8ce2ba644a1468 11-Oct-2010 Felipe Contreras <felipe.contreras@nokia.com> OMAP: iommu: make iva2 iommu selectable

It seems dsp-link will do this, and tidspbridge too at some point, but
right now it's not possible to select CONFIG_MPU_BRIDGE_IOMMU.

Cc: Fernando Guzman Lugo <fernando.lugo@ti.com>
Cc: Yogesh Marathe <yogesh_marathe@ti.com>
Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
map-iommu.c
c7f4ab26e3bcdaeb3e19ec658e3ad9092f1a6ceb 15-Dec-2010 Guzman Lugo, Fernando <x0095840@ti.com> OMAP: iommu: create new api to set valid da range

Some IOMMUs cannot use the whole 0x0 - 0xFFFFFFFF range.
With this new API the valid range can be set.

Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
map-iommu.c
df127ee375af4cb40b979605e0c336fc79bd38e7 15-Dec-2010 Tony Lindgren <tony@atomide.com> omap: Fix setting omap_irq_base for 2430

We need to test for 24xx not 242x. Otherwise interrupts won't work.

Reported-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
7627dc802a98aebebc6a34e5b6558ea4717c968c 05-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: GIC: private a standard get_irqnr_preamble assembler macro

Provide a standard get_irqnr_preamble assembler macro for platforms
to use, which retrieves the base address of the GIC CPU interface
from gic_cpu_base_addr. Allow platforms to override this by defining
HAVE_GET_IRQNR_PREAMBLE.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
nclude/mach/entry-macro.S
ff2e27ae0b17f53a6a289c87d325f706598f3788 04-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: GIC: consolidate gic_cpu_base_addr to common GIC code

Every architecture using the GIC has a gic_cpu_base_addr pointer for
GIC 0 for their entry assembly code to use to decode the cause of the
current interrupt. Move this into the common GIC code.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
nclude/mach/omap4-common.h
map4-common.c
384895330e0f3954d9478fd0853145f9c169df12 04-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: GIC: Remove MMIO address from gic_cpu_init, rename to gic_secondary_init

We don't need to re-pass the base address for the CPU interfaces to the
GIC for secondary CPUs, as it will never be different from the boot CPU
- and even if it was, we'd overwrite the boot CPU's base address.

Get rid of this argument, and rename to gic_secondary_init().

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-smp.c
b580b899dd05a007ad232ee49a07b32d91876462 04-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: GIC: provide a single initialization function for boot CPU

Provide gic_init() which initializes the GIC distributor and current
CPU's GIC interface for the boot (or single) CPU.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map4-common.c
c2015dc88a57090bcf67ab7cfcdbc34671598d36 06-Dec-2010 Paul Walmsley <paul@pwsan.com> OMAP2: PRCM: fix some SHIFT macros that were actually bitmasks

After Charu's GPIO hwmod patches, GPIO initialization on N800 emits
the following messages for all GPIO banks:

omap_hwmod: gpio1: cannot be enabled (3)

This is due to OMAP24XX_ST_GPIOS_SHIFT being defined as a bitmask.
Fix this and also fix two other macros that had the same problem.

Thanks to Tony Lindgren <tony@atomide.com> for originally reporting
this bug.

Signed-off-by: Paul Walmsley <paul@pwsan.com
Cc: Charulatha Varadarajan <charu@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rcm-common.h
79b357c2171ab3e52148503f0efa66d64a13413e 10-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branch 'devel-gpio' into omap-for-linus
df1e9d1c218ba696e376cad371b57c0109fe98c9 10-Dec-2010 Tony Lindgren <tony@atomide.com> omap: Split omap_read/write functions for omap1 and omap2+

Otherwise multi-omap1 support for omap1 won't work as the cpu_class_is_omap1()
won't work until the SoC is detected.

Note that eventually these will go away, please use ioremap + read/write instead.

Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
67b738ef32df7ec429004866d2a739a3775894d2 10-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branch 'devel-omap-irq' into omap-for-linus
5d190c40100793a6dfc37bf325677c10f3c80edf 10-Dec-2010 Tony Lindgren <tony@atomide.com> omap2+: Initialize omap_irq_base for entry-macro.S from platform code

This way we can use the generic omap SoC detection code instead.

Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/entry-macro.S
o.c
09e7200221a04ab899e15a0a3cf4b230afd1ab86 10-Dec-2010 Hema HK <hemahk@ti.com> arm: OMAP4430: musb: Configure musb to OTG mode

Enabling the musb OTG mode for SDP and PANDA boards.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-4430sdp.c
oard-omap4panda.c
e70357e35c522776d9f56f6800af4ed7a5bdbaaf 10-Dec-2010 Hema HK <hemahk@ti.com> mfd: TWL6030: OMAP4: Registering the TWL6030-usb device

Registering the twl6030-usb transceiver device as a child to twl6030 core.
Removed the NOP transceiver init call from board file.

Populated twl4030_usb_data platform data structure with the function
pointers for OMAP4430 internal PHY operation to be used by twl630-usb driver.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-4430sdp.c
oard-omap4panda.c
4c42fbc99fc8656efc7d2b5e92be0d430ccefdc6 10-Dec-2010 Hema HK <hemahk@ti.com> usb: musb: TWL6030: Selecting TWL6030_USB transceiver

Selecting the twl6030-usb for OMAP4430SDP and OMAP4PANDA boards and
adding OMAP4 internal phy code for compilation

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
akefile
c33fad0c37481c4ba5c8b98cb62de3f4d95a44da 10-Dec-2010 Hema HK <hemahk@ti.com> usb: otg: Adding twl6030-usb transceiver driver for OMAP4430

Adding the twl6030-usb transceiver support for OMAP4 musb driver.

OMAP4 supports 2 types of transceiver interface.

1. UTMI: The PHY is embedded within OMAP4. The transceiver functionality
is split between the twl6030 PMIC chip and OMAP4430. The VBUS, ID pin
sensing and OTG SRP generation part is integrated in TWL6030 and UTMI PHY
functionality is embedded within the OMAP4430.

There is no direct interactions between the MUSB controller and TWL6030
chip to communicate the session-valid, session-end and ID-GND events.
It has to be done through a software by setting/resetting bits in
one of the control module register of OMAP4430 which in turn toggles
the appropriate signals to MUSB controller.

The internal transceiver has functional clocks and
powerdown bits to powerdown the PHY for power saving.

Since there is no option available for having 2 transceiver drivers
for one USB controller, internal PHY specific APIs are passed through
plaform_data function pointers to use in the twl6030-usb transceiver
driver.

2. ULPI interface is provided for off-chip transceivers.

Signed-off-by: Hema HK <hemahk@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Felipe Balbi <balbi@ti.com>
map_phy_internal.c
a9c037832e9624e240c5019d0e01e9352e8f638d 07-Dec-2010 Ajay Kumar Gupta <ajay.gupta@ti.com> musb: am35x: fix compile error due to control apis

commit 4814ced5116e3b73dc4f63eec84999739fc8ed11 (OMAP:
control: move plat-omap/control.h to mach-omap2/control.h)
moved <plat/control.h> to another location, preventing
drivers from accessing it, so we need to pass function
pointers from arch code to be able to talk to internal
PHY on AM35x.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-musb.c
46960847ef3e3a5d395121635fffa5dfa279fe90 07-Dec-2010 Felipe Balbi <balbi@ti.com> arm: omap4: enable usb on 4430sdp

Let musb work on 4430sdp as well. We can now
test any problems with multi-omap builds.

Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-4430sdp.c
0349176120aa3024e96ae4fd7dc0e0181dc55f52 02-Dec-2010 Felipe Balbi <balbi@ti.com> usb: musb: move clock handling to glue layer

musb core doesn't need to know about platform
specific details. So start moving clock
handling to platform glue layer and make
musb core agnostic about that.

Signed-off-by: Felipe Balbi <balbi@ti.com>
lock2430_data.c
lock3xxx_data.c
lock44xx_data.c
18688fbeb09665725c842291bbadd88295a359e1 02-Dec-2010 Felipe Balbi <balbi@ti.com> usb: musb: split tusb6010 to its own platform_driver

Just adding its own platform_driver, not really
using it yet.

When all HW glue layers are converted, more patches
will come to split power management code from musb_core
and move it completely to HW glue layer.

Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-tusb6010.c
ce40c5767a0ea1e77ca5d0b73269cb86301a35cf 02-Dec-2010 Felipe Balbi <balbi@ti.com> usb: musb: split am35x to its own platform_driver

Just adding its own platform_driver, not really
using it yet.

When all HW glue layers are converted, more patches
will come to split power management code from musb_core
and move it completely to HW glue layer.

Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-musb.c
dc09886bfa781e2b442301116c18199519e36f0f 01-Dec-2010 Felipe Balbi <balbi@ti.com> usb: musb: split omap2430 to its own platform_driver

Just adding its own platform_driver, not really
using it yet.

When all HW glue layers are converted, more patches
will come to split power management code from musb_core
and move it completely to HW glue layer.

Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-musb.c
05ac10dd6862a3fcce33d2203fbb2ef285e3ca87 02-Dec-2010 Felipe Balbi <balbi@ti.com> usb: musb: trivial search and replace patch

change all ocurrences of musb_hdrc to musb-hdrc.

We will call glue layer drivers musb-<glue layer>,
so in order to keep things somewhat standard, let's
change the underscore into a dash.

Signed-off-by: Felipe Balbi <balbi@ti.com>
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
lock44xx_data.c
sb-musb.c
sb-tusb6010.c
7c925546427a0428b84bc5ba1f28b3698e492072 01-Dec-2010 Felipe Balbi <balbi@ti.com> usb: musb: add Kconfig options for each glue layer

This will make things simpler when choosing which
glue layer to compile. It avoids a lot of magic
around the "default" Kconfig option and lets the
user choose what exactly s/he wants to compile.

Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-n8x0.c
sb-musb.c
1ea7f352d832d5abe43d5e9198098acb4d611ba3 01-Dec-2010 Felipe Balbi <balbi@ti.com> arm: omap4: panda: initialize musb

initialize the musb port on pandaboard.

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
oard-omap4panda.c
e83df17f178360a8e7874441bca04a710c869e42 08-Dec-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2+: PM/serial: fix console semaphore acquire during suspend

commit 0d8e2d0dad98a693bad88aea6876ac8b94ad95c6 (OMAP2+: PM/serial:
hold console semaphore while OMAP UARTs are disabled) added use of the
console semaphore to protect UARTs from being accessed after disabled
during idle, but this causes problems in suspend.

During suspend, the console semaphore is acquired by the console
suspend method (console_suspend()) so the try_acquire_console_sem()
will always fail and suspend will be aborted.

To fix, introduce a check so the console semaphore is only attempted
during idle, and not during suspend. Also use the same check so that
the console semaphore is not prematurely released during resume.

Thanks to Paul Walmsley for suggesting adding the same check during
resume.

Cc: Paul Walmsley <paul@pwsan.com>
Tested-by: Jean Pihet <j-pihet@ti.com>
Tested-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m24xx.c
m34xx.c
c451278c2864e253a4bb303b596a29edc3bb527c 10-Dec-2010 Tony Lindgren <tony@atomide.com> Merge branch 'devel-cleanup' into omap-for-linus
e281f7ec95fbbf905c10e11c83231f3d9090c22f 30-Nov-2010 Aaro Koskinen <Aaro.Koskinen@nokia.com> arm: omap2: io: fix clk_get() error check

clk_get() return value should be checked with IS_ERR().

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
77640aabd7558e43b65bc1a0311be2dbb42c3ff8 08-Dec-2010 Varadarajan, Charulatha <charu@ti.com> OMAP: GPIO: Implement GPIO as a platform device

Implement GPIO as a platform device.

GPIO APIs are used in machine_init functions. Hence it is
required to complete GPIO probe before board_init. Therefore
GPIO device register and driver register are implemented as
postcore_initcalls.

omap_gpio_init() does nothing now and this function would be
removed in the next patch as it's usage is spread across most
of the board files.

Inorder to convert GPIO as platform device, modifications are
required in clockxxxx_data.c file for OMAP1 so that device names
can be used to obtain clock instead of getting clocks by
name/NULL ptr.

Use runtime pm APIs (pm_runtime_put*/pm_runtime_get*) for enabling
or disabling the clocks, modify sysconfig settings and remove usage
of clock FW APIs.
Note 1: Converting GPIO driver to use runtime PM APIs is not done as a
separate patch because GPIO clock names are different for various OMAPs
and are different for some of the banks in the same CPU. This would need
usage of cpu_is checks and bank id checks while using clock FW APIs in
the gpio driver. Hence while making GPIO a platform driver framework,
PM runtime APIs are used directly.

Note 2: While implementing GPIO as a platform device, pm runtime APIs
are used as mentioned above and modification is not done in gpio's
prepare for idle/ resume after idle functions. This would be done
in the next patch series and GPIO driver would be made to use dev_pm_ops
instead of sysdev_class in that series only.

Due to the above, the GPIO driver implicitly relies on
CM_AUTOIDLE = 1 on its iclk for power management to work, since the
driver never disables its iclk.
This would be taken care in the next patch series (see Note 3 below).

Refer to
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg39112.html
for more details.

Note 3: only pm_runtime_get_sync is called in gpio's probe() and
pm_runtime_put* is never called. This is to make the implementation
similar to the existing GPIO code. Another patch series would be sent
to correct this.

In OMAP3 and OMAP4 gpio's debounce clocks are optional clocks. They
are enabled/ disabled whenever required using clock framework APIs

TODO:
1. Cleanup the GPIO driver. Use function pointers and register
offest pointers instead of using hardcoded values
2. Remove all cpu_is_ checks and OMAP specific macros
3. Remove usage of gpio_bank array so that only
instance specific information is used in driver code
4. Rename 'method'/ avoid it's usage
5. Fix the non-wakeup gpios handling for OMAP2430, OMAP3 & OMAP4
6. Modify gpio's prepare for idle/ resume after idle functions
to use runtime pm implentation.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Reviewed-by: Basak, Partha <p-basak2@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
[tony@atomide.com: updated for bank specific revision and updated boards]
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517crane.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-cm-t3517.c
oard-devkit8000.c
oard-h4.c
oard-igep0020.c
oard-igep0030.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rx51.c
oard-zoom.c
f547170fe721f145b7b7d6eb8b252e45f489dc4b 08-Dec-2010 Varadarajan, Charulatha <charu@ti.com> OMAP2+: GPIO: device registration

Use omap_device_build() API to do platform_device_register of
GPIO devices. For OMAP2+ chips, the device specific data defined
in the centralized hwmod database will be used.

gpio_init needs to be done before machine_init functions access
gpio APIs. Hence gpio_init is made as a postcore_initcall.

Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Reviewed-by: Basak, Partha <p-basak2@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pio.c
9780a9cfa7b1f913d5f7099290e77b381a8b01d5 08-Dec-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add GPIO

Add GPIO hwmod data for OMAP4

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_44xx_data.c
70034d38fbfd0f98a49367d36aa72f776a9e663a 08-Dec-2010 Varadarajan, Charulatha <charu@ti.com> OMAP3: hwmod data: Add GPIO

Add GPIO hwmod data for OMAP3

Also remove "omap34xx.h" header file as it is not required
anymore.

Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_3xxx_data.c
aeac0e441045974757e901b46719980a98c270a5 08-Dec-2010 Varadarajan, Charulatha <charu@ti.com> OMAP2430: hwmod data: Add GPIO

Add GPIO hwmod data for OMAP2430

Also remove "omap24xx.h" header file as it is not required
anymore.

Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2430_data.c
59c348c38fbe85e6e86c711b9a38c37315008d9e 08-Dec-2010 Varadarajan, Charulatha <charu@ti.com> OMAP2420: hwmod data: Add GPIO

Add GPIO hwmod data for OMAP2420 and add the required
GPIO device attributes in the gpio header file

Also remove "omap24xx.h" header file as it is not required
anymore.

Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod_2420_data.c
c2cdaffe0bb32015e84af8e31f73e620ba271165 08-Dec-2010 Tony Lindgren <tony@atomide.com> omap: Fix gpio_request calls to happen as arch_initcall

Looks like some boards are calling gpio_request from init_irq.
This will make the request_irq fail, as GPIO will be initialized
as postcore_initcall.

Reported-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
oard-ldp.c
7b045c96cd1405597a6a2e98bc53a4ac01d835b1 08-Dec-2010 Tony Lindgren <tony@atomide.com> omap: Don't select mux by default for each board

This should be only selected in CONFIG_ARCH_OMAP2PLUS_TYPICAL
to make it easy to disable.

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
e745a6676c76280f9721adeec79b08a0f2dfcc21 16-Nov-2010 Magnus Damm <magnus.damm@gmail.com> ARM: 6481/1: Use shared GIC entry macros on OMAP

Common GIC entry macro for omap

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
nclude/mach/entry-macro.S
f811036476d7c8a9b594ebcdcf481bdbe497eb13 27-Nov-2010 Ohad Ben-Cohen <ohad@wizery.com> omap: zoom: wl1271 slot is MMC_CAP_POWER_OFF_CARD

This patch complements ed919b0 "mmc: sdio: fix runtime PM anomalies by
introducing MMC_CAP_POWER_OFF_CARD" by declaring MMC_CAP_POWER_OFF_CARD
on the ZOOM's wl1271 mmc slot.

This is required in order not to break runtime PM support for the wl1271
sdio driver.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-peripherals.c
ad3b6993b9c5482e8a2ec5aed181538c921fdcbd 15-Nov-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: SMP: pass an ipi number to smp_cross_call()

This allows us to use smp_cross_call() to trigger a number of different
software generated interrupts, rather than combining them all on one
SGI. Recover the SGI number via do_IPI.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map-smp.c
9f5ead76d402f591ab810e71eae59ec28bf39eb9 01-Dec-2010 Kevin Hilman <khilman@deeprootsystems.com> omap: PM debug: fix wake-on-timer debugfs dependency

Wakeup-on-timer code does not have/need debugfs dependency. Move
the function out of debugfs ifdef.

Fixes compile error when CONFIG_DEBUG_FS is disabled but PM debug is
enabled.

Reported-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m-debug.c
5403187f83c12c6f4c03547e0cc05bac0310be7b 02-Dec-2010 Aaro Koskinen <Aaro.Koskinen@nokia.com> arm: mach-omap2: rx51: clean up dummy onenand init

When OneNAND support is disabled, the platform code defines NULL
board_onenand_data and empty init function for us. By utilizing this we
can avoid cluttering board files with dummy definitions/wrappers.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
a1a92e6fccadbba1846a081f21d0c12a10addd56 02-Dec-2010 Aaro Koskinen <Aaro.Koskinen@nokia.com> arm: mach-omap2: n8x0: clean up dummy onenand init

When OneNAND support is disabled, the platform code defines NULL
board_onenand_data and empty init function for us. By utilizing this we
can avoid cluttering board files with dummy definitions/wrappers.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
7203f8a48bb63015ebe58a6f2a38aec1cb208b9d 02-Dec-2010 Aaro Koskinen <Aaro.Koskinen@nokia.com> arm: mach-omap2: remove NULL board_mux from board files

If CONFIG_OMAP_MUX is not enabled, we can define board_mux in the header
file instead of forcing every single board to define it.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
[tony@atomide.com: updated for combined board-zoom files]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-am3517evm.c
oard-apollon.c
oard-h4.c
oard-igep0020.c
oard-igep0030.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3logic.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
oard-rx51.c
oard-zoom.c
ux.h
ff0fba0bca4182e022c0a2ac0f3e63508e86e9f1 23-Oct-2010 Omar Ramirez Luna <omar.ramirez@ti.com> OMAP: mailbox: fix detection for previously supported chips

Fix the mailbox detection for OMAP3630 and 2430, also minor
cleanup on conditional ifdef's that could affect it.

Given that 2430 has an iva too, include it, as the same steps
for omap3 apply.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Acked-by: Hiroshi Doyu <hiroshi.doyu@nokia.com>
ailbox.c
5d783731c683161d5d921c2ed03a43d6d31cf418 01-Dec-2010 Omar Ramirez Luna <omar.ramirez@ti.com> OMAP: mailbox: remove unreachable return

Remove unreachable return statement.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Acked-by: Hiroshi Doyu <hiroshi.doyu@nokia.com>
ailbox.c
fcf173e4511193b1efeccb0f22a8c641b464353b 29-Sep-2010 Hema Kalliguddi <hemahk@ti.com> usb: musb: add names for IRQs in structure resource

Soon resource data will get automatically
populated from a set of autogenerated data
from TI's hardware database for the OMAP
platform.

Such database, might not have resources at
the expected order by the current drivers.

While we could hack in some exceptions to
that tool to generate resources in a specific
order, it seems less fragile to use the
resource name instead. That way, no matter
what order the resources are generated, the
driver still work.

Modified the OMAP, Blackfin and Davinci
architecture files to add the name of the IRQs
in the resource structures and musb driver to
use the platform_get_irq_byname() api to get
the device and dma irq numbers instead of using
the index.

Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Hema HK <hemahk@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
sb-musb.c
52aa8c539dad56728527de664f368915ff44badf 30-Nov-2010 Tony Lindgren <tony@atomide.com> Merge branch 'ctrl-wip/mux-omap4-v4' of git://gitorious.org/omap-pm/linux into omap-for-linus
55a4e78952286d498d89a399d845e7cfaa8ddd56 30-Nov-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-hwmod-i2c' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
9c7bc451e41abf78b0fd856a9f916f7d39e26297 30-Nov-2010 Tony Lindgren <tony@atomide.com> Merge branches 'devel-cleanup', 'devel-serial' and 'devel-board' into omap-for-linus
662b083a87a3489f3f19c6e0651c1b99b0de5df0 30-Nov-2010 Andrei Emeltchenko <andrei.emeltchenko@nokia.com> omap: Serial: Define register access modes in LCR

Access to some registers depends on register access mode
Three different modes are available for OMAP (at least)
• Operational mode LCR_REG[7] = 0x0
• Configuration mode A LCR_REG[7] = 0x1 and LCR_REG[7:0]! = 0xBF
• Configuration mode B LCR_REG[7] = 0x1 and LCR_REG[7:0] = 0xBF

Define access modes and remove redefinitions and magic numbers
in serial drivers (and later in bluetooth driver).

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
Acked-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
498cb95175c29ed96bf32f30df2d11ec1c7f3879 30-Nov-2010 Andrei Emeltchenko <andrei.emeltchenko@nokia.com> OMAP: Serial: Define OMAP uart MDR1 reg and remove magic numbers

Define MDR1 register serial definitions used in serial and
bluetooth drivers.
Change magic number to ones defined in serial_reg for omap1/2
serial driver.
Remove redefined MDR1 register definitions in omap-serial driver.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@nokia.com>
Acked-by: G, Manjunath Kondaiah <manjugk@ti.com>
Acked-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
1cb125caf2e0fdece14f72efbb3516f5c5fe1de9 16-Nov-2010 Srinath <srinath@mistralsolutions.com> omap: AM3517/05: Add craneboard support

Craneboard is a hardware development platform based on the
Sitara AM3517 ARM Cortex - A8 microprocessor device. This is a
low cost reference design.

This patch adds basic board file. Detailed support will follow in
subsequent patches.

[1] http://www.ti.com/arm
[2] http://www.mistralsolutions.com/products/craneboard.php

Signed-off-by: Srinath <srinath@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-am3517crane.c
c6c4dea4011278f03ab8a3c8329fba9098d2a892 08-Nov-2010 Felipe Balbi <balbi@ti.com> arm: omap: zoom: substitute gpio number with symbolic name

It's easier to understand what that number means and
also avoids problems if we ever have to change it.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom.c
20826853853aa1e1ba219ea65f1e6ba3bd662495 08-Nov-2010 Felipe Balbi <balbi@ti.com> arm: omap: combine zoom2 and zoom3 board-files

They are extremely similar anyway, let's get rid
of one file.

While at that, also remove the empty zoom_config
variable.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-zoom.c
oard-zoom2.c
oard-zoom3.c
235228ba21e34ba732b413c12259bac386f83283 23-Oct-2010 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: IGEP v2: Improve igep2_flash_init() function

The changes are:
- Use 'for' loop instead 'while' loop.
- No need to initialize ret to 0, we're assigning it right after.
- No need to check for onenandcs < GPMC_CS_NUM here, it will always be true.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
ae3e033362430f2684bb3519456c88d14e182f01 23-Oct-2010 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: IGEP v2: Remove igep2_config array

omap_board_config_size is implicitly initialized to 0 in
plat-omap/common.c, get_config() won't dereference omap_board_config,
so we can remove the empty igep2_config array.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
6aa85a5ae610106d89e50c7e1f760c56d12f9bc4 21-Nov-2010 Keshava Munegowda <keshava_mgowda@ti.com> omap4: 4430sdp: enable the ehci port on 4430SDP

The OMAP4 SDP has an SMSC3320 PHY hooked up to EHCI on Port1.
The PHY power is controlled by GPIO 157.

Turn on the PHY power, and register the controller at init.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
56976b6ac4047ec456e2ba7e516ed2e9d96c3acf 21-Nov-2010 Anand Gadiyar <gadiyar@ti.com> arm: omap4: select USB_ARCH_HAS_EHCI

The OMAP4 has an on-chip EHCI controller. Select USB_ARCH_HAS_EHCI
to allow the EHCI driver to be built on OMAP4.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
config
becf0737cf25bd0084ed85ccb1ab6c902e600a3c 21-Nov-2010 Anand Gadiyar <gadiyar@ti.com> arm: omap4: usb: add platform init code for EHCI

- Add platform init code for EHCI on OMAP4
- Add pad configuration for PHY and TLL modes

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
sb-ehci.c
5467e16d891090d54d036044e66f94b89b1c3683 21-Nov-2010 Anand Gadiyar <gadiyar@ti.com> omap: clock: add clkdev aliases for EHCI clocks

Add clkdev aliases for the USBHOST and USBTLL clocks on OMAP3 and
OMAP4, so that the driver can refer to the clocks using a common alias.

This will disappear when the driver is converted to use the hwmod
database, but until then this patch is needed.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Tony Lindgren <tony@atomide.com>
lock3xxx_data.c
lock44xx_data.c
6d803ba736abb5e122dede70a4720e4843dd6df4 17-Nov-2010 Jean-Christop PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> ARM: 6483/1: arm & sh: factorised duplicated clkdev.c

factorise some generic infrastructure to assist looking up struct clks
for the ARM & SH architecture.

as the code is identical at 99%

put the arch specific code for allocation as example in asm/clkdev.h

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
pll3xxx.c
2862945bf5262d516583477ce420a2f122306f43 18-Nov-2010 Aaro Koskinen <aaro.koskinen@nokia.com> arm: omap2: timer-gp: delete unused variable

Delete a redundant local variable.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer-gp.c
0d8e2d0dad98a693bad88aea6876ac8b94ad95c6 25-Nov-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: PM/serial: hold console semaphore while OMAP UARTs are disabled

The console semaphore must be held while the OMAP UART devices are
disabled, lest a console write cause an ARM abort (and a kernel crash)
when the underlying console device is inaccessible. These crashes
only occur when the console is on one of the OMAP internal serial
ports.

While this problem has been latent in the PM idle loop for some time,
the crash was not triggerable with an unmodified kernel until commit
6f251e9db1093c187addc309b5f2f7fe3efd2995 ("OMAP: UART: omap_device
conversions, remove implicit 8520 assumptions"). After this patch, a
console write often occurs after the console UART has been disabled in
the idle loop, crashing the system. Several users have encountered
this bug:

http://www.mail-archive.com/linux-omap@vger.kernel.org/msg38396.html

http://www.mail-archive.com/linux-omap@vger.kernel.org/msg36602.html

The same commit also introduced new code that disabled the UARTs
during init, in omap_serial_init_port(). The kernel will also crash
in this code when earlyconsole and extra debugging is enabled:

http://www.mail-archive.com/linux-omap@vger.kernel.org/msg36411.html

The minimal fix for the -rc series is to hold the console semaphore
while the OMAP UARTs are disabled. This is a somewhat overbroad fix,
since the console may not be located on an OMAP UART, as is the case
with the GPMC UART on Zoom3. While it is technically possible to
determine which devices the console or earlyconsole is actually
running on, it is not a trivial problem to solve, and the code to do
so is not really appropriate for the -rc series.

The right long-term fix is to ensure that no code outside of the OMAP
serial driver can disable an OMAP UART. As I understand it, code to
implement this is under development by TI.

This patch is a collaboration between Paul Walmsley <paul@pwsan.com>
and Tony Lindgren <tony@atomide.com>. Thanks to Ming Lei
<tom.leiming@gmail.com> and Pramod <pramod.gurav@ti.com> for their
feedback on earlier versions of this patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Ming Lei <tom.leiming@gmail.com>
Cc: Pramod <pramod.gurav@ti.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Jean Pihet <jean.pihet@newoldbits.com>
Cc: Govindraj.R <govindraj.raja@ti.com>
m24xx.c
m34xx.c
erial.c
f910043ce00791c06afc3789278447c4e88670ea 24-Nov-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP: UART: don't resume UARTs that are not enabled.

Add additional check to omap_uart_resume_idle() so that only
enabled (specifically, idle-enabled) UARTs are allowed to resume.
This matches the existing check in prepare idle.

Without this patch, the system will hang if a board is
configured to register only some uarts instead of all of
them and PM is enabled.

Cc: Govindraj R. <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[tony@atomide.com: updated description]
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
963fec4e0f4993486ee91edfafba0c972834d8c3 17-Nov-2010 Anand Gadiyar <gadiyar@ti.com> ARM: 6484/1: fix compile warning in mm/init.c

Commit 7c63984b86 (ARM: do not define VMALLOC_END relative to PAGE_OFFSET)
changed VMALLOC_END to be an explicit value. Before this, it was
relative to PAGE_OFFSET and therefore converted to unsigned long
as PAGE_OFFSET is an unsigned long. This introduced the following
build warning. Fix this by changing the explicit defines of
VMALLOC_END to be unsigned long.

CC arch/arm/mm/init.o
arch/arm/mm/init.c: In function 'mem_init':
arch/arm/mm/init.c:606: warning: format '%08lx' expects type 'long unsigned int', but argument 12 has type 'unsigned int'

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Uwe Kleine-K <u.kleine-koenig@pengutronix.dee>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
nclude/mach/vmalloc.h
032a6424aeea7333a8dafc8cc05dd10b09c62680 15-Nov-2010 Dan Murphy <dmurphy@ti.com> OMAP: mux: Add __func__ macro to pr_xxx macros

Removed mux: and added the __func__ macro to make debugging
easier.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
ux.c
ux2420.c
ux2430.c
ux34xx.c
ux44xx.c
fc63de829bbfa3945ffd6327bd3dc88f4e643642 08-Nov-2010 sricharan <r.sricharan@ti.com> OMAP4: pandaboard: Select CBL & CBS package and initialize mux

The mux framework allows the change of pad configuration by drivers
when needed. Prior to this the mux framework has to be initialised
with all the mux parameters specific to the board. The mux init is
already present in the board file for SDP. Adding the mux init
for panda boards.

Signed-off-by: sricharan <r.sricharan@ti.com>
Acked-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
config
oard-omap4panda.c
6fea7b0a7ad9b79aca09df4c42773927db6934ed 27-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: sdp4430: Select CBS package for ES2

Select the CBS package if SDP4430 is enabled during config.
Use the proper package (CBL or CBS) based on chip revision.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
config
oard-4430sdp.c
a7722d8796c3431163943c30af7a90d87c43180a 24-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: mux: Add CBS package data for OMAP4430 ES2

Please note that the full muxmodes are re-defined for ES2 instead
of using the subset. There are 81 differences among 204 pins.
The subset fixup will have to iterate over the whole list for each
subset entry, which can lead to an important number of iteration.
On the other hand, it will take much more memory at boot time.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
config
ux.h
ux44xx.c
ux44xx.h
fb6bf6320e33af5bd6ac788f27245f9162bc5215 10-Aug-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: sdp4430: Select CBL package for ES1 and initialize mux

Select the CBL package if SDP4430 is enabled during config.
Initialize the mux framework during the board init.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
config
oard-4430sdp.c
a041a52c4d2b82e25de2267bce5f4dc3d2179b2a 10-Aug-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: mux: Add CBL package data for OMAP4430 ES1

Add data for OMAP4430 generated from HW pinout & register database.
The data set is split in two partitions for both core and wkup.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
config
akefile
ux.h
ux44xx.c
ux44xx.h
112485e9c543b17fc08daea56c7a558b415d06af 16-Aug-2010 Benoit Cousson <b-cousson@ti.com> OMAP: mux: Add support for control module split in several partitions

Starting on OMAP4, the pin mux configuration is located in two
different partitions of the control module (CODE_PAD and WKUP_PAD).
The first one is inside the core power domain whereas the second
one is inside the wakeup.
- Add the capability to add any number of partition during board init
time depending of Soc partitioning.
- Add some init flags as well in order to avoid explicit Soc version
check inside the mux core code.
- Add a comment with mux0 mode on top of omap_mux/board/<partition>
if the current mux mode is not the default one.

Thanks to Tony Lindgren <tony@atomide.com> for the following improvements:
- Add omap_mux_get for getting the partition data so platform level
device code can use it.
- Fix the rx51 board code to use the new API.
- Do not store the partition for each mux entry. Look up the partition
for debugfs instead.

Thanks to Dan Murphy <dmurphy@ti.com> for testing on OMAP4 and reporting
a couple of bugs.
Thanks to Anand Gadiyar <gadiyar@ti.com> for testing on OMAP3 zoom and
bug report.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tested-by: Murphy Dan <dmurphy@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
oard-rx51-peripherals.c
ux.c
ux.h
ux2420.c
ux2430.c
ux34xx.c
1cbb3a9a132969ed1ffeaecff2f910619d4470ae 10-Aug-2010 Benoit Cousson <b-cousson@ti.com> OMAP: mux: Replace printk with pr_xxx macros

Replace all the printk(KERN_XXX... with pr_xxx macros.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
ux.c
2f55ac072f5344519348c0c94b3d2f4cca46847b 16-Nov-2010 Lionel Debroux <lionel_debroux@yahoo.fr> suspend: constify platform_suspend_ops

While at it, fix two checkpatch errors.
Several non-const struct instances constified by this patch were added after
the introduction of platform_suspend_ops in checkpatch.pl's list of "should
be const" structs (79404849e90a41ea2109bd0e2f7c7164b0c4ce73).

Patch against mainline.
Inspired by hunks of the grsecurity patch, updated for newer kernels.

Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
m24xx.c
m34xx.c
m44xx.c
e4b3fdb80021bc0a3239bfc2a873a6d7c6ac52a1 03-Nov-2010 Grazvydas Ignotas <notasas@gmail.com> wl1251: use wl12xx_platform_data to pass data

Make use the newly added method to pass platform data for wl1251 too.
This allows to eliminate some redundant code.

Cc: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
Acked-by: Luciano Coelho <luciano.coelho@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
oard-omap3pandora.c
f776471f620a07be234f40288a1fd9932d039e26 21-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod: add I2C hwmods for OMAP4430

Add hwmod structures for I2C controllers on OMAP4430.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_44xx_data.c
4fe20e97c8b1082d16b38e9f4c53feeed143ab98 21-Sep-2010 Rajendra Nayak <rnayak@ti.com> OMAP3: hwmod: add I2C hwmods for OMAP3430

Add hwmod structures for I2C controllers on OMAP3430.

This patch was developed in collaboration with Paul Walmsley
<paul@pwsan.com>.

OMAP3 fixes for correct IDLEST bit monitoring from
G, Manjunath Kondaiah <manjugk@ti.com>

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: G, Manjunath Kondaiah <manjugk@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_3xxx_data.c
rm-regbits-34xx.h
2004290f55f03c52e22044a5843928cf0f6cc56a 29-Sep-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx: hwmod: add I2C hwmods for OMAP2420, 2430

Add hwmod structures for I2C controllers on OMAP2420/2430.

NOTE: I2C module on OMAP2420 has 16bit registers and causes imprecise
aborts if 32bits are read/written to it. Use the HWMOD_16BIT_REG flag
to notify the hmwod framework of this hard requirement so that
__raw_writew/readw is used to read /write the mdoule registers.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-regbits-24xx.h
map_hwmod_2420_data.c
map_hwmod_2430_data.c
62d69e6a57c5b5d52a607b1ce73ff6af65c992eb 23-Oct-2010 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: IGEP v2: Remove onenand_setup no-op function

Set onenand_setup to NULL instead of adding a no-op function.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
b7283945c5ed8e78f0fe2c3313d8d1cdbc19b4b3 01-Nov-2010 Thomas Weber <weber@corscience.de> OMAP2: Devkit8000: Fix mmc regulator failure

This patch fixes the following error:

>regulator: VMMC1: 1850 <--> 3150 mV at 3000 mV normal standby
>twl_reg twl_reg.6: can't register VMMC1, -22
>twl_reg: probe of twl_reg.6 failed with error -22

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
b595076a180a56d1bb170e6eceda6eb9d76f4cd3 01-Nov-2010 Uwe Kleine-König <u.kleine-koenig@pengutronix.de> tree-wide: fix comment/printk typos

"gadget", "through", "command", "maintain", "maintain", "controller", "address",
"between", "initiali[zs]e", "instead", "function", "select", "already",
"equal", "access", "management", "hierarchy", "registration", "interest",
"relative", "memory", "offset", "already",

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
puidle34xx.c
erial.c
706d4b12f8d7edd28d7e879a77235472da393edb 30-Oct-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (215 commits)
ARM: memblock: setup lowmem mappings using memblock
ARM: memblock: move meminfo into find_limits directly
ARM: memblock: convert free_highpages() to use memblock
ARM: move freeing of highmem pages out of mem_init()
ARM: memblock: convert memory detail printing to use memblock
ARM: memblock: use memblock to free memory into arm_bootmem_init()
ARM: memblock: use memblock when initializing memory allocators
ARM: ensure membank array is always sorted
ARM: 6466/1: implement flush_icache_all for the rest of the CPUs
ARM: 6464/2: fix spinlock recursion in adjust_pte()
ARM: fix memblock breakage
ARM: 6465/1: Fix data abort accessing proc_info from __lookup_processor_type
ARM: 6460/1: ixp2000: fix type of ixp2000_timer_interrupt
ARM: 6449/1: Fix for compiler warning of uninitialized variable.
ARM: 6445/1: fixup TCM memory types
ARM: imx: Add wake functionality to GPIO
ARM: mx5: Add gpio-keys to mx51 babbage board
ARM: imx: Add gpio-keys to plat-mxc
mx31_3ds: Fix spi registration
mx31_3ds: Fix the logic for detecting the debug board
...
bf56f0a6668cd399b5136d2216f24ec97f0ce716 19-Oct-2010 Menon, Nishanth <nm@ti.com> omap4: pandaboard: fix up mmc card detect logic

For MMC1 Controller, card detect interrupt source is
twl6030 which is non-gpio. The card detect call back function provides
card present/absent status by reading MMC Control register present
on twl6030. This functionality was introduced in mfd tree on
track to kernel.org

Sync pandaboard to the same and make mmc work.

Cc: Tony Lindgren <tony@atomide.com>
Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>

Acked-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
oard-omap4panda.c
72f2e2c763edc41f8eead042b6ff933acb0378e2 24-Sep-2010 kishore kadiyala <kishore.kadiyala@ti.com> mfd: Adding twl6030 mmc card detect support for MMC1

Adding card detect callback function and card detect configuration
function for MMC1 Controller on OMAP4.

Card detect configuration function does initial configuration of the
MMC Control & PullUp-PullDown registers of Phoenix.

For MMC1 Controller, card detect interrupt source is
twl6030 which is non-gpio. The card detect call back function provides
card present/absent status by reading MMC Control register present
on twl6030.

Since OMAP4 doesn't use any GPIO line as used in OMAP3 for card detect,
the suspend/resume initialization which was done in omap_hsmmc_gpio_init
previously is moved to the probe thus making it generic for both OMAP3 &
OMAP4.

Cc: Tony Lindgren <tony@atomide.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
oard-4430sdp.c
e4c5bf8e3dca827a1b3a6fac494eae8c74b7e1e7 28-Oct-2010 Greg Kroah-Hartman <gregkh@suse.de> Merge 'staging-next' to Linus's tree

This merges the staging-next tree to Linus's tree and resolves
some conflicts that were present due to changes in other trees that were
affected by files here.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
be6786ac738801d39cfd264ec88c352efd029578 28-Oct-2010 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'l2x0-pull-rmk' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into devel-stable
45352bbf48e95078b4acd20774f49e72676e1e0f 26-Oct-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.infradead.org/battery-2.6

* git://git.infradead.org/battery-2.6:
power_supply: Makefile cleanup
bq27x00_battery: Add missing kfree(di->bus) in bq27x00_battery_remove()
power_supply: Introduce maximum current property
power_supply: Add types for USB chargers
ds2782_battery: Fix units
power_supply: Add driver for TWL4030/TPS65950 BCI charger
bq20z75: Add support for more power supply properties
wm831x_power: Add missing kfree(wm831x_power) in wm831x_power_remove()
jz4740-battery: Add missing kfree(jz_battery) in jz_battery_remove()
ds2760_battery: Add missing kfree(di) in ds2760_battery_remove()
olpc_battery: Fix endian neutral breakage for s16 values
ds2760_battery: Fix W1 and W1_SLAVE_DS2760 dependency
pcf50633-charger: Add missing sysfs_remove_group()
power_supply: Add driver for TI BQ20Z75 gas gauge IC
wm831x_power: Remove duplicate chg mask
omap: rx51: Add support for USB chargers
power_supply: Add isp1704 charger detection driver
4e803c40b33822b52389952040f490e79973e94a 31-Jul-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: l2x0: Override the default l2x0_disable

The machine_kexec() calls outer_disable which can crash on OMAP4
becasue of trustzone restrictions.

This patch overrides the default l2x0_disable with a OMAP4
specific implementation taking care of trustzone

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
map4-common.c
7b6181e06841f5ad15c4ff708b967b4db65a64de 25-Oct-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (163 commits)
omap: complete removal of machine_desc.io_pg_offst and .phys_io
omap: UART: fix wakeup registers for OMAP24xx UART2
omap: Fix spotty MMC voltages
ASoC: OMAP4: MCPDM: Remove unnecessary include of plat/control.h
serial: omap-serial: fix signess error
OMAP3: DMA: Errata i541: sDMA FIFO draining does not finish
omap: dma: Fix buffering disable bit setting for omap24xx
omap: serial: Fix the boot-up crash/reboot without CONFIG_PM
OMAP3: PM: fix scratchpad memory accesses for off-mode
omap4: pandaboard: enable the ehci port on pandaboard
omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set
omap4: pandaboard: remove unused hsmmc definition
OMAP: McBSP: Remove null omap44xx ops comment
OMAP: McBSP: Swap CLKS source definition
OMAP: McBSP: Fix CLKR and FSR signal muxing
OMAP2+: clock: reduce the amount of standard debugging while disabling unused clocks
OMAP: control: move plat-omap/control.h to mach-omap2/control.h
OMAP: split plat-omap/common.c
OMAP: McBSP: implement functional clock switching via clock framework
OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c
...

Fixed up trivial conflicts in arch/arm/mach-omap2/
{board-zoom-peripherals.c,devices.c} as per Tony
72e58063d63c5f0a7bf65312f1e3a5ed9bb5c2ff 25-Oct-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci

* 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: (50 commits)
davinci: fix remaining board support after io_pgoffst removal
davinci: mityomapl138: make file local data static
arm/davinci: remove duplicated include
davinci: Initial support for Omapl138-Hawkboard
davinci: MityDSP-L138/MityARM-1808 read MAC address from I2C Prom
davinci: add tnetv107x touchscreen platform device
input: add driver for tnetv107x touchscreen controller
davinci: add keypad config for tnetv107x evm board
davinci: add tnetv107x keypad platform device
input: add driver for tnetv107x on-chip keypad controller
net: davinci_emac: cleanup unused cpdma code
net: davinci_emac: switch to new cpdma layer
net: davinci_emac: separate out cpdma code
net: davinci_emac: cleanup unused mdio emac code
omap: cleanup unused davinci mdio arch code
davinci: cleanup mdio arch code and switch to phy_id
net: davinci_emac: switch to new mdio
omap: add mdio platform devices
davinci: add mdio platform devices
net: davinci_emac: separate out davinci mdio
...

Fix up trivial conflict in drivers/input/keyboard/Kconfig (two entries
added next to each other - one from the davinci merge, one from the
input merge)
33081adf8b89d5a716d7e1c60171768d39795b39 25-Oct-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (365 commits)
ALSA: hda - Disable sticky PCM stream assignment for AD codecs
ALSA: usb - Creative USB X-Fi volume knob support
ALSA: ca0106: Use card specific dac id for mute controls.
ALSA: ca0106: Allow different sound cards to use different SPI channel mappings.
ALSA: ca0106: Create a nice spot for mapping channels to dacs.
ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence.
ALSA: ca0106: Pull out dac powering routine into separate function.
ALSA: ca0106 - add Sound Blaster 5.1vx info.
ASoC: tlv320dac33: Use usleep_range for delays
ALSA: usb-audio: add Novation Launchpad support
ALSA: hda - Add workarounds for CT-IBG controllers
ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs
ASoC: tpa6130a2: Error handling for broken chip
ASoC: max98088: Staticise m98088_eq_band
ASoC: soc-core: Fix codec->name memory leak
ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066
ALSA: hda - Add some workarounds for Creative IBG
ALSA: hda - Fix wrong SPDIF NID assignment for CA0110
ALSA: hda - Fix codec rename rules for ALC662-compatible codecs
ALSA: hda - Add alc_init_jacks() call to other codecs
...
aa5c14d5c0d3e4c587db4a1b220b9c86415c538f 25-Oct-2010 Takashi Iwai <tiwai@suse.de> Merge branch 'topic/asoc' into for-linus

Conflicts:
arch/powerpc/platforms/85xx/p1022_ds.c
229aebb873e29726b91e076161649cf45154b0bf 24-Oct-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial

* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
Update broken web addresses in arch directory.
Update broken web addresses in the kernel.
Revert "drivers/usb: Remove unnecessary return's from void functions" for musb gadget
Revert "Fix typo: configuation => configuration" partially
ida: document IDA_BITMAP_LONGS calculation
ext2: fix a typo on comment in ext2/inode.c
drivers/scsi: Remove unnecessary casts of private_data
drivers/s390: Remove unnecessary casts of private_data
net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data
drivers/infiniband: Remove unnecessary casts of private_data
drivers/gpu/drm: Remove unnecessary casts of private_data
kernel/pm_qos_params.c: Remove unnecessary casts of private_data
fs/ecryptfs: Remove unnecessary casts of private_data
fs/seq_file.c: Remove unnecessary casts of private_data
arm: uengine.c: remove C99 comments
arm: scoop.c: remove C99 comments
Fix typo configue => configure in comments
Fix typo: configuation => configuration
Fix typo interrest[ing|ed] => interest[ing|ed]
Fix various typos of valid in comments
...

Fix up trivial conflicts in:
drivers/char/ipmi/ipmi_si_intf.c
drivers/usb/gadget/rndis.c
net/irda/irnet/irnet_ppp.c
188e213dbc5758bbfb62f7ce0367c5c8de057f02 24-Oct-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: Makefile - replace the use of <module>-objs with <module>-y
crypto: hifn_795x - use cancel_delayed_work_sync()
crypto: talitos - sparse check endian fixes
crypto: talitos - fix checkpatch warning
crypto: talitos - fix warning: 'alg' may be used uninitialized in this function
crypto: cryptd - Adding the AEAD interface type support to cryptd
crypto: n2_crypto - Niagara2 driver needs to depend upon CRYPTO_DES
crypto: Kconfig - update broken web addresses
crypto: omap-sham - Adjust DMA parameters
crypto: fips - FIPS requires algorithm self-tests
crypto: omap-aes - OMAP2/3 AES hw accelerator driver
crypto: updates to enable omap aes
padata: add missing __percpu markup in include/linux/padata.h
MAINTAINERS: Add maintainer entries for padata/pcrypt
5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0 23-Oct-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)
bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.
vlan: Calling vlan_hwaccel_do_receive() is always valid.
tproxy: use the interface primary IP address as a default value for --on-ip
tproxy: added IPv6 support to the socket match
cxgb3: function namespace cleanup
tproxy: added IPv6 support to the TPROXY target
tproxy: added IPv6 socket lookup function to nf_tproxy_core
be2net: Changes to use only priority codes allowed by f/w
tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled
tproxy: added tproxy sockopt interface in the IPV6 layer
tproxy: added udp6_lib_lookup function
tproxy: added const specifiers to udp lookup functions
tproxy: split off ipv6 defragmentation to a separate module
l2tp: small cleanup
nf_nat: restrict ICMP translation for embedded header
can: mcp251x: fix generation of error frames
can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set
can-raw: add msg_flags to distinguish local traffic
9p: client code cleanup
rds: make local functions/variables static
...

Fix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and
drivers/net/wireless/ath/ath9k/debug.c as per David
5cc103506289de7ee0a0b526ae0381541990cad4 23-Oct-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (141 commits)
USB: mct_u232: fix broken close
USB: gadget: amd5536udc.c: fix error path
USB: imx21-hcd - fix off by one resource size calculation
usb: gadget: fix Kconfig warning
usb: r8a66597-udc: Add processing when USB was removed.
mxc_udc: add workaround for ENGcm09152 for i.MX35
USB: ftdi_sio: add device ids for ScienceScope
USB: musb: AM35x: Workaround for fifo read issue
USB: musb: add musb support for AM35x
USB: AM35x: Add musb support
usb: Fix linker errors with CONFIG_PM=n
USB: ohci-sh - use resource_size instead of defining its own resource_len macro
USB: isp1362-hcd - use resource_size instead of defining its own resource_len macro
USB: isp116x-hcd - use resource_size instead of defining its own resource_len macro
USB: xhci: Fix compile error when CONFIG_PM=n
USB: accept some invalid ep0-maxpacket values
USB: xHCI: PCI power management implementation
USB: xHCI: bus power management implementation
USB: xHCI: port remote wakeup implementation
USB: xHCI: port power management implementation
...

Manually fix up (non-data) conflict: the SCSI merge gad renamed the
'hw_sector_size' member to 'physical_block_size', and the USB tree
brought a new use of it.
bc487fb341af05120bccb9f59ce76302391dcc77 22-Oct-2010 Anand Gadiyar <gadiyar@ti.com> omap: complete removal of machine_desc.io_pg_offst and .phys_io

Commit ab69bcd66fb4be64edfc767365cb9eb084961246 (arm: remove
machine_desc.io_pg_offst and .phys_io) could not update
the new boards in the omap tree. This causes the build of
omap2plus_defconfig to fail. Fix this.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Eric Miao <eric.miao at canonical.com>
[tony@atomide.com: updated description]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t3517.c
oard-igep0030.c
oard-omap3logic.c
cb74f0223fcf9b2db8f57d9ee5fa4738c066f3c6 21-Oct-2010 Kevin Hilman <khilman@deeprootsystems.com> omap: UART: fix wakeup registers for OMAP24xx UART2

On OMAP24xx, UART2 WKEN and WKST registers are in PM_WKEN2_CORE and
PM_WKST2_CORE respecitvely. Fix the OMAP2 register init to use the
correct registers on OMAP24xx.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
3a0d30bcdfa73bd865f29899eb4bf29b58c4f54a 19-Oct-2010 Ajay Kumar Gupta <ajay.gupta@ti.com> USB: AM35x: Add musb support

AM35x has musb interface (version 1.8) and uses CPPI41 DMA engine.
It has USB phy built inside the IP itself.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-omap@vger.kernel.org
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
oard-am3517evm.c
sb-musb.c
7940a34b2e1e0485211a17d8c3ab4da1ea3e1330 21-Oct-2010 Kevin Hilman <khilman@deeprootsystems.com> Merge branch 'davinci-next' into davinci-for-linus

Conflicts:
arch/arm/mach-davinci/board-da830-evm.c
arch/arm/mach-davinci/board-da850-evm.c
6451d7783ba5ff24eb1a544eaa6665b890f30466 15-Oct-2010 Nicolas Pitre <nicolas.pitre@linaro.org> arm: remove machine_desc.io_pg_offst and .phys_io

Since we're now using addruart to establish the debug mapping, we can
remove the io_pg_offst and phys_io members of struct machine_desc.

The various declarations were removed using the following script:

grep -rl MACHINE_START arch/arm | xargs \
sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }'

[ Initial patch was from Jeremy Kerr, example script from Russell King ]

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Eric Miao <eric.miao at canonical.com>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rx51.c
oard-zoom2.c
oard-zoom3.c
0ea1293009826da45e1019f45dfde1e557bb30df 06-Jul-2010 Jeremy Kerr <jeremy.kerr@canonical.com> arm: return both physical and virtual addresses from addruart

Rather than checking the MMU status in every instance of addruart, do it
once in kernel/debug.S, and change the existing addruart macros to
return both physical and virtual addresses. The main debug code can then
select the appropriate address to use.

This will also allow us to retreive the address of a uart for the MMU
state that we're not current in.

Updated with fixes for OMAP from Jason Wang <jason77.wang@gmail.com>
and Tony Lindgren <tony@atomide.com>, and fix for versatile express from
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>.

Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Jason Wang <jason77.wang@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
nclude/mach/debug-macro.S
a1b04cc197e17c47b043051becb548dc8c60c886 11-Oct-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap: serial: Fix the boot-up crash/reboot without CONFIG_PM

The omap2plus_defconfig doesn't boot up when built with CONFIG_PM
disabled on the latest linux-omap master. Below are the observations
1. OMAP3 reboots in the middle of boot
--------------------------------------------------
[ 0.000000] Calibrating delay loop... 494.72 BogoMIPS (lpj=1933312)
[ 0.000000] pid_max: default: 32768 minimum: 301
[ 0.000000] Security Framework initialized
[ 0.000000] Mount-cache hash table entries: 512
[ 0.000000] CPU: Testing write buffer coherency: ok
[ 0.000000] Brought up 1 CPUs
[ 0.000000] SMP: Total of 1 processors activated (494.72 BogoMIPS).
[ 0.000000] regulator: core version 0.5
[ 0.000000] NET: Registered protocol family 16

U-Boot 1.1.4 (Feb 11 2009 - 16:10:23)

OMAP3430-GP rev 2, CPU-OPP2 L3-165MHz
TI 3430SDP 1.0 Version + mDDR (Boot NOR)
DRAM: 128 MB
Flash: 128 MB
NAND:128 MiB
--------------------------------------------------

2. OMAP4 does a kernel PANIC
-------------------------------------
[ 0.000000] Calibrating delay loop... 1195.29 BogoMIPS (lpj=4669440)
[ 0.000000] pid_max: default: 32768 minimum: 301
[ 0.000000] Security Framework initialized
[ 0.000000] Mount-cache hash table entries: 512
[ 0.000000] CPU: Testing write buffer coherency: ok
[ 0.000000] L310 cache controller enabled
[ 0.000000] l2x0: 16 ways, CACHE_ID 0x410000c2, AUX_CTRL 0x0e050000
[ 0.000000] CPU1: Booted secondary processor
[ 0.000000] Brought up 2 CPUs
[ 0.000000] SMP: Total of 2 processors activated (2395.78 BogoMIPS).
[ 0.000000] regulator: core version 0.5
[ 0.000000] NET: Registered protocol family 16
[ 0.000000] mux: Could not set signal i2c2_scl.i2c2_scl
[ 0.000000] mux: Could not set signal i2c2_sda.i2c2_sda
[ 0.000000] mux: Could not set signal i2c3_scl.i2c3_scl
[ 0.000000] mux: Could not set signal i2c3_sda.i2c3_sda
[ 0.000000] mux: Could not set signal i2c4_scl.i2c4_scl
[ 0.000000] mux: Could not set signal i2c4_sda.i2c4_sda
-------------------------------------

This is happening because 'omap_serial_init()' is hanging in the boot.
On OMAP3 the watchdog is generating reboot because devices_init doesn't
happens where as on OMAP4 it just hangs without reboot.
The uart clock is not getting enabled after omap_device_idle as part
of omap_serial_init.
The omap_device_idle(will disable the clock) then omap_uart_block_sleep()
should enable clock back disabled during the boot up phase.
But omap_uart_block_sleep() stuffed version is binded only under
CONFIG_PM and other version is just empty. Hence it is not enabling
clock back as expected

This patch adds uart clock enable code to omap_uart_block_sleep() function
built with CONFIG_PM disabled.
Thanks to Charulatha and Govindraj for their help on this debug.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
de65815860f187cb43551bc833bf9d72720faa01 09-Oct-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: fix scratchpad memory accesses for off-mode

Commit 914bab936fe0388a529079679e2f137aa4ff548d (OMAP: mach-omap2: Fix
incorrect assignment warnings) changed a pointer from 'u32 *' to
'void *' without also fixing up the pointer arithmetic.

Fix the scratchpad offsets so they are byte offsets instead of
word offsets and thus work correctly with a void pointer base.

Special thanks to Jean Pihet for taking the time track down this
problem and propose an initial solution.

Tested with off-idle and off-suspend on 36xx/Zoom3 and 34xx/omap3evm.

Cc: Manjunath Kondaiah G <manjugk@ti.com>
Reported-by: Jean Pihet <jean.pihet@newoldbits.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Tested-by: Jean Pihet <jean.pihet@newoldbits.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m34xx.c
e9a68707d736f4f73d7e209885d7b4c5c452b1dc 08-Oct-2010 John W. Linville <linville@tuxdriver.com> Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem

Conflicts:
Documentation/feature-removal-schedule.txt
drivers/net/wireless/ipw2x00/ipw2200.c
a7c887510073b2f403e123f2befa40bf93554df9 08-Oct-2010 Tony Lindgren <tony@atomide.com> Merge branch 'control_mcbsp_fix_2.6.37' of git://git.pwsan.com/linux-2.6 into omap-for-linus
4415beb6fb519c4e98491666838494a8c46cc3ee 07-Oct-2010 David Anders <x0132446@ti.com> omap4: pandaboard: enable the ehci port on pandaboard

The OMAP4 PandaBoard has EHCI port1 hooked up to an external
SMSC3320 transciever. GPIO 1 is used to power on the transceiver
and GPIO 62 for reset on the transceiver.

Signed-off-by: David Anders <x0132446@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
b9b52620823f84f95f3fd94dd6769b7102d7888a 07-Oct-2010 David Anders <x0132446@ti.com> omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set

Avoid possible crash if CONFIG_MMC_OMAP_HS is not set.

Signed-off-by: David Anders <x0132446@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
191183b94cc511d0fc2326c83165d95aeabacac4 07-Oct-2010 David Anders <x0132446@ti.com> omap4: pandaboard: remove unused hsmmc definition

remove the second hsmmc definition as it is only used on the
expansion header of the PandaBoard and can be mux for other
functions.

Signed-off-by: David Anders <x0132446@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
4367260c0bc1773c00b2309a31b31657cabfda3f 08-Oct-2010 Jarkko Nikula <jhnikula@gmail.com> OMAP: McBSP: Remove null omap44xx ops comment

It seems these comments where accidentally added so remove them.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
cbsp.c
425925dd750acc17234977decfda1f9cc223389a 08-Oct-2010 Jarkko Nikula <jhnikula@gmail.com> OMAP: McBSP: Fix CLKR and FSR signal muxing

Fix bit clear. Now it clears all other bits than mask bit where it should
clear only it.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
cbsp.c
6041c27f51f237b59ea0838c33e08223cf98e43e 08-Oct-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: clock: reduce the amount of standard debugging while disabling unused clocks

Reduce the amount of debugging generated by default when unused clocks
are being disabled by the clock code. The previous code would only
generate debug-level messages, but some people who wished to run
production kernels with debug-level messages enabled reported that the
large number of clock disable messages were slowing boot. Now to
enable clock-by-clock disable messages, DEBUG needs to be defined in
mach-omap2/clock.c.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tuukka Tikkanen <tuukka.tikkanen@nokia.com>
Cc: Tim Bird <tim.bird@am.sony.com>
lock.c
4814ced5116e3b73dc4f63eec84999739fc8ed11 08-Oct-2010 Paul Walmsley <paul@pwsan.com> OMAP: control: move plat-omap/control.h to mach-omap2/control.h

Only OMAP2+ platforms have the System Control Module (SCM) IP block.
In the past, we've kept the SCM header file in plat-omap. This has
led to abuse - device drivers including it; includes being added that
create implicit dependencies on OMAP2+ builds; etc.

In response, move the SCM headers into mach-omap2/.

As part of this, remove the direct SCM access from the OMAP UDC
driver. It was clearly broken. The UDC code needs an indepth review for
use on OMAP2+ chips.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Cory Maccarrone <darkstar6262@gmail.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
oard-3430sdp.c
oard-4430sdp.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t3517.c
oard-h4.c
oard-ldp.c
oard-omap3logic.c
oard-omap4panda.c
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
lock44xx_data.c
ommon.c
ontrol.c
ontrol.h
puidle34xx.c
evices.c
smmc.c
d.c
cbsp.c
ux.c
m24xx.c
m34xx.c
rcm.c
erial.c
leep34xx.S
sb-fs.c
aa218dafd7b37ba92fcfdd6d5c8d459772f88042 08-Oct-2010 Paul Walmsley <paul@pwsan.com> OMAP: split plat-omap/common.c

Split plat-omap/common.c into three pieces:

1. the 32KiHz sync timer and clocksource code, which now lives in
plat-omap/counter_32k.c;

2. the OMAP2+ common code, which has been moved to mach-omap2/common.c;

3. and the remainder of the OMAP-wide common code, which includes the
deprecated ATAGs code and a deprecated video RAM reservation function.

The primary motivation for doing this is to move the OMAP2+-specific parts
into an OMAP2+-specific file, so that build breakage related to the
System Control Module code can be resolved.

Benoît Cousson <b-cousson@ti.com> suggested a new filename and found
some bugs in the counter_32k.c comments - thanks Benoît.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
akefile
ommon.c
d13586574d373ef40acd4725c9a269daa355e412 08-Oct-2010 Paul Walmsley <paul@pwsan.com> OMAP: McBSP: implement functional clock switching via clock framework

Previously the OMAP McBSP ASoC driver implemented CLKS switching by
using omap_ctrl_{read,write}l() directly. This is against policy; the OMAP
System Control Module functions are not intended to be exported to drivers.
These symbols are no longer exported, so as a result, the OMAP McBSP ASoC
driver does not build as a module.

Resolve the CLKS clock changing portion of this problem by creating a
clock parent changing function that lives in
arch/arm/mach-omap2/mcbsp.c, and modify the ASoC driver to use it.
Due to the unfortunate way that McBSP support is implemented in ASoC
and the OMAP tree, this symbol must be exported for use by
sound/soc/omap/omap-mcbsp.c.

Going forward, the McBSP device driver should be moved from
arch/arm/*omap* into drivers/ or sound/soc/* and the CPU DAI driver
should be implemented as a platform_driver as many other ASoC CPU DAI
drivers are. These two steps should resolve many of the layering
problems, which will rapidly reappear during a McBSP hwmod/PM runtime
conversions.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
cbsp.c
cf4c87abe238ec17cd0255b4e21abd949d7f811e 08-Oct-2010 Paul Walmsley <paul@pwsan.com> OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c

The OMAP ASoC McBSP code implemented CLKR and FSR signal muxing via
direct System Control Module writes on OMAP2+. This required the
omap_ctrl_{read,write}l() functions to be exported, which is against
policy: the only code that should call those functions directly is
OMAP core code, not device drivers. omap_ctrl_{read,write}*() are no
longer exported, so the driver no longer builds as a module.

Fix the pinmuxing part of the problem by removing calls to
omap_ctrl_{read,write}l() from the OMAP ASoC McBSP code and
implementing signal muxing functions in arch/arm/mach-omap2/mcbsp.c.
Due to the unfortunate way that McBSP support is implemented in ASoC
and the OMAP tree, these symbols must be exported for use by
sound/soc/omap/omap-mcbsp.c.

Going forward, the McBSP device driver should be moved from
arch/arm/*omap* into drivers/ or sound/soc/*, and the CPU DAI driver
should be implemented as a platform_driver as many other ASoC CPU DAI
drivers are. These two steps should resolve many of the layering
problems, which will rapidly reappear during a McBSP hwmod/PM runtime
conversion.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
cbsp.c
829e5b127a33d3baa227e87636032f36cd4c05fc 08-Oct-2010 Paul Walmsley <paul@pwsan.com> OMAP3xxx: clock: add clkdev aliases for McBSP fclk source switching

The OMAP3 clock tree already contains the infrastructure to support
clock framework-based McBSP functional clock source switching. But it
did not contain the clkdev aliases for the McBSP code to refer to the
parent clocks in an SoC integration-neutral way. So, add the clkdev
aliases for the parent clocks.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
b115b743c2e4bcee9ddc91f7ae2942a06e1a53db 08-Oct-2010 Paul Walmsley <paul@pwsan.com> OMAP2430: clock: add MCBSP_CLKS node and clkdev aliases

Add the MCBSP_CLKS clock and the clksel structures needed to support clock
framework-based source switching for McBSPs 1-5. Also, add clkdev
aliases on the parent clocks for the McBSP source switching code, added
in a subsequent patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2430_data.c
1bccb345bd8c5652017013d7e963fdd158ead600 08-Oct-2010 Paul Walmsley <paul@pwsan.com> OMAP2420: clock: add MCBSP_CLKS node and clkdev aliases

Add the MCBSP_CLKS clock and the clksel structures needed to support clock
framework-based source switching for McBSP 1 and 2. Also, add clkdev
aliases on the parent clocks for the McBSP source switching code, added
in a subsequent patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2420_data.c
6515e48932c8bf04227f9dd638c8ac634f89ba24 08-Oct-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: Kconfig: disallow builds for boards that don't use the currently-selected SoC

Currently, if, for example, CONFIG_ARCH_OMAP2420 is not selected, OMAP2420
board files can still be included in the build. This results in link errors:

arch/arm/mach-omap2/built-in.o: In function `omap_generic_map_io':
.../arch/arm/mach-omap2/board-generic.c:51: undefined reference to `omap2_set_globals_242x'
arch/arm/mach-omap2/built-in.o: In function `omap_h4_init':
.../arch/arm/mach-omap2/board-h4.c:330: undefined reference to `omap2420_mux_init'
arch/arm/mach-omap2/built-in.o: In function `omap_h4_map_io':
.../arch/arm/mach-omap2/board-h4.c:373: undefined reference to `omap2_set_globals_242x'
arch/arm/mach-omap2/built-in.o: In function `omap_apollon_init':
.../arch/arm/mach-omap2/board-apollon.c:325: undefined reference to `omap2420_mux_init'
arch/arm/mach-omap2/built-in.o: In function `omap_apollon_map_io':
.../arch/arm/mach-omap2/board-apollon.c:353: undefined reference to `omap2_set_globals_242x'
make: *** [.tmp_vmlinux1] Error 1

Fix this by making the boards depend on the Kconfig option for the
specific SoC that they use.

Also, while here, fix the mach-omap2/board-generic.c file to remove the
dependency on OMAP2420.

Charulatha Varadarajan <charu@ti.com> caught a typo - thanks Charu.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Charulatha Varadarajan <charu@ti.com>
config
oard-generic.c
503923eeecb93ff69ee940549f314e0fe3a68429 08-Oct-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2: PM: check UART status before trying to idle

As is done on OMAP3, check omap_uart_can_sleep() as one of the
pre-conditions for entering the idle loop. Without this check,
entering idle introduces large latencies on active UARTs, and is
especially noticable on serial console.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m24xx.c
cc7a1d2a540a780066aa562c651a88dd28b6fc8a 08-Oct-2010 Rajendra Nayak <rnayak@ti.com> omap: hwmod: Handle modules with 16bit registers

Some modules which have 16bit registers can cause imprecise
aborts if a __raw_readl/writel is used to read/write 32 bits.

Add an additional flag to identify modules which have such
hard requirement, and handle it in the hwmod framework.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod.c
c710e19222794f45f2376ba6f00dc675dc4279d6 08-Oct-2010 Nicolas Kaiser <nikai@nikai.net> arm/omap: remove duplicated include

Remove duplicated include.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
20252d46597e457b7506f28be05478be457b8c4f 08-Oct-2010 Charulatha V <charu@ti.com> OMAP2PLUS: WDT: Fix: Disable WDT after reset during init

Inorder to avoid any assumptions from bootloader, the watchdog
timer module is reset during init. This enables the watchdog
timer.

Therefore, it is required to disable WDT after it is reset
during init. Otherwise the system would reboot as per the default
watchdog timer registers settings.

Later, when the watchdog driver is loaded, the watchdog timer settings
is adjusted as per the default timer_margin set in the driver and the
driver would supports the normal operations supported by OMAP watchdog
timer.

Signed-off-by: Charulatha V <charu@ti.com>
Reported-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
72f381ba0565b358dc10c67ff47728a2c9aa5457 08-Oct-2010 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: Remove VMMC2 regulator on IGEP v2

VMMC2 regulator is configured but it's not used for the IGEP v2, so
remove this regulator from board.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
91d139cf3630eff73f161494ee0c596472c11fef 08-Oct-2010 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: Add i2c eeprom driver to read EDID on IGEP v2

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

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
5a9fcc9980ae741c4657029c7e92d914072f824a 08-Oct-2010 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: Fix handling some GPIO's for WLAN-BT combo on IGEP v2

Some GPIO's used by WLAN-BT combo on IGEP v2 depends on hardware
revision. This patch handles these GPIO's.

----------------------------------------------------------
| Hw Rev. | WIFI_NPD | WIFI_NRESET | BT_NRESET |
----------------------------------------------------------
| B | gpio94 | gpio95 | - |
| B/C (B-compatible) | gpio94 | gpio95 | gpio137 |
| C | gpio138 | gpio139 | gpio137 |
----------------------------------------------------------

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
3f8c48d95f8e4ed3ea241c3e8704b5ff6c423fa4 08-Oct-2010 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: Introduce function to detect the IGEP v2 hardwarerevision

There are currently two versions of IGEP v2 board, this patch introduces a
function to detect the hardware revision of IGEP board.

--------------------------
| Id. | Hw Rev. | GPIO 28 |
--------------------------
| 0 | B/C | high |
| 1 | C | low |
--------------------------

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
bee153906424f3bf669afec397c810b76117e22b 08-Oct-2010 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: fix and improve the LED handling on IGEP v2 board

The IGEP v2 board has four leds, this patch allows control all
of these LEDs using the LED class if CONFIG_LEDS_GPIO is selected
or using the General Purpose Input/Output (GPIO) interface if
CONFIG_LEDS_GPIO is not selected.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
61e118dd7755417c541a8ecf32a82c3971258cff 08-Oct-2010 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: Add external VBUS power switch and overcurrent detect onIGEP v2 board

GPIO for various devices are missing from the board initialization.
This patch adds support for the VBUS and over current gpios. Without this
patch, input/outputs from these two sources are ignored.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
e844b1da87270d96aef3fc79763ecc2c6541a71b 08-Oct-2010 Enric Balletbo i Serra <eballetbo@gmail.com> omap3: Add minimal OMAP3 IGEP module support

The OMAP3 IGEP module is a low-power, high performance production-ready
system-on-module (SOM) based on TI's OMAP3 family. More about this
board at www.igep.es.

Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com>
[tony@atomide.com: updated for the mmc changes and to be selected by default]
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-igep0030.c
bc3caae8a191c712d8ae666d0b8d18807bfe2b14 08-Oct-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-hwmods' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
73c5ef126f40b0b872e5964ff65dbe792eeec493 08-Oct-2010 Tony Lindgren <tony@atomide.com> Merge branches 'devel-omap1' and 'devel-omap2plus' into omap-for-linus
582c77d783e0cb1e6c30a330e42582173bcadfd2 08-Oct-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-next-2' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
bead4375731ad283cccbcbcb55bc7549c9746168 08-Oct-2010 Manjunath Kondaiah G <manjugk@ti.com> OMAP3: Keypad: Fix incorrect type initializer

The keypad matrix variable declaration is not matching
with structure variable keymap declared in keypad_matrix.h.

Due to this, following sparse warnings are generated with omap3_defconfig.

arch/arm/mach-omap2/board-devkit8000.c:223:14: warning: incorrect type in initializer (different signedness)
arch/arm/mach-omap2/board-devkit8000.c:223:14: expected unsigned int const [usertype] *keymap
arch/arm/mach-omap2/board-devkit8000.c:223:14: got int static [toplevel] *<noident>

arch/arm/mach-omap2/board-ldp.c:107:14: warning: incorrect type in initializer (different signedness)
arch/arm/mach-omap2/board-ldp.c:107:14: expected unsigned int const [usertype] *keymap
arch/arm/mach-omap2/board-ldp.c:107:14: got int static [toplevel] *<noident>

arch/arm/mach-omap2/board-omap3evm.c:472:14: warning: incorrect type in initializer (different signedness)
arch/arm/mach-omap2/board-omap3evm.c:472:14: expected unsigned int const [usertype] *keymap
arch/arm/mach-omap2/board-omap3evm.c:472:14: got int static [toplevel] *<noident>

arch/arm/mach-omap2/board-3430sdp.c:114:14: warning: incorrect type in initializer (different signedness)
arch/arm/mach-omap2/board-3430sdp.c:114:14: expected unsigned int const [usertype] *keymap
arch/arm/mach-omap2/board-3430sdp.c:114:14: got int static [toplevel] *<noident>

arch/arm/mach-omap2/board-rx51-peripherals.c:248:14: warning: incorrect type in initializer (different signedness)
arch/arm/mach-omap2/board-rx51-peripherals.c:248:14: expected unsigned int const [usertype] *keymap
arch/arm/mach-omap2/board-rx51-peripherals.c:248:14: got int static [toplevel] *<noident>

arch/arm/mach-omap2/board-zoom-peripherals.c:88:14: warning: incorrect type in initializer (different signedness)
arch/arm/mach-omap2/board-zoom-peripherals.c:88:14: expected unsigned int const [usertype] *keymap
arch/arm/mach-omap2/board-zoom-peripherals.c:88:14: got int static [toplevel] *<noident>

arch/arm/mach-omap2/board-cm-t35.c:568:14: warning: incorrect type in initializer (different signedness)
arch/arm/mach-omap2/board-cm-t35.c:568:14: expected unsigned int const [usertype] *keymap
arch/arm/mach-omap2/board-cm-t35.c:568:14: got int static [toplevel] *<noident>

arch/arm/mach-omap2/board-omap3stalker.c:415:13: warning: incorrect type in initializer (different signedness)
arch/arm/mach-omap2/board-omap3stalker.c:415:13: expected unsigned int const [usertype] *keymap
arch/arm/mach-omap2/board-omap3stalker.c:415:13: got int static [toplevel] *<noident>

This patch modifies the variable keymap declaration as per declaration in matrix_keymap structure.

Signed-off-by: Manjunath Kondaiah G <manjugk@ti.com>
Cc: linux-input@vger.kernel.org
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-cm-t35.c
oard-devkit8000.c
oard-ldp.c
oard-omap3evm.c
oard-omap3stalker.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
b0a330dc5eff6b27cce3b7b5dbea9379d969f73e 08-Oct-2010 Manjunath Kondaiah G <manjugk@ti.com> OMAP: plat-omap: Fix static function warnings

This patch fixes sparse warnings due non declarations of static functions.

arch/arm/plat-omap/sram.c:130:13: warning: symbol 'omap_detect_sram' was not declared. Should it be static?
arch/arm/plat-omap/sram.c:216:13: warning: symbol 'omap_map_sram' was not declared. Should it be static?
arch/arm/plat-omap/sram.c:450:12: warning: symbol 'omap_sram_init' was not declared. Should it be static?
arch/arm/plat-omap/sram.c:348:12: warning: symbol 'omap242x_sram_init' was not declared. Should it be static?
arch/arm/plat-omap/sram.c:369:12: warning: symbol 'omap243x_sram_init' was not declared. Should it be static?
arch/arm/plat-omap/sram.c:425:12: warning: symbol 'omap34xx_sram_init' was not declared. Should it be static?
arch/arm/plat-omap/sram.c:441:12: warning: symbol 'omap44xx_sram_init' was not declared. Should it be static

arch/arm/plat-omap/mcbsp.c:36:6: warning: symbol 'omap_mcbsp_write' was not declared. Should it be static?
arch/arm/plat-omap/mcbsp.c:50:5: warning: symbol 'omap_mcbsp_read' was not declared. Should it be static?
arch/arm/plat-omap/mcbsp.c:65:6: warning: symbol 'omap_mcbsp_st_write' was not declared. Should it be static?
arch/arm/plat-omap/mcbsp.c:70:5: warning: symbol 'omap_mcbsp_st_read' was not declared. Should it be static?
arch/arm/plat-omap/mcbsp.c:1648:15: warning: symbol 'omap_st_add' was not declared. Should it be static?

arch/arm/plat-omap/fb.c:414:15: warning: symbol 'omapfb_reserve_sram' was not declared. Should it be static?
arch/arm/plat-omap/cpu-omap.c:43:5: warning: symbol 'omap_verify_speed' was not declared. Should it be static?
arch/arm/plat-omap/cpu-omap.c:61:14: warning: symbol 'omap_getspeed' was not declared. Should it be static?

Signed-off-by: Manjunath Kondaiah G <manjugk@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
o.h
600ecd9874d56d310a597b1e0a3936f195c83022 08-Oct-2010 Manjunath Kondaiah G <manjugk@ti.com> OMAP: mach-omap2: Fix miscellaneous sparse warnings

This patch fixes miscellaneous sparse warnings in mach-omap2.

arch/arm/mach-omap2/board-am3517evm.c:141:17: warning: Initializer entry defined twice
arch/arm/mach-omap2/board-am3517evm.c:142:18: also defined here

arch/arm/mach-omap2/irq.c:50:35: warning: Using plain integer as NULL pointer

Signed-off-by: Manjunath Kondaiah G <manjugk@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
rq.c
04aeae777945df0e3e37d968d211c821c7458cc5 08-Oct-2010 Manjunath Kondaiah G <manjugk@ti.com> OMAP2plus: Fix static function warnings

This patch fixes sparse warnings due non declarations of static functions.

arch/arm/mach-omap2/timer-gp.c:115:12: warning: symbol 'omap2_gp_clockevent_set_gptimer' was not declared. Should it be static?
arch/arm/mach-omap2/powerdomain.c:993:5: warning: symbol 'pwrdm_set_lowpwrstchange' was not declared. Should it be static?
arch/arm/mach-omap2/board-flash.c:141:8: warning: symbol 'board_nand_init' was not declared. Should it be static?
arch/arm/mach-omap2/board-n8x0.c:416:6: warning: symbol 'n8x0_mmc_slot1_cover_handler' was not declared. Should it be static?
arch/arm/mach-omap2/board-n8x0.c:544:13: warning: symbol 'n8x0_mmc_init' was not declared. Should it be static?
arch/arm/mach-omap2/board-rx51-peripherals.c:902:13: warning: symbol 'rx51_peripherals_init' was not declared. Should it be static?
arch/arm/mach-omap2/board-rx51-video.c:107:13: warning: symbol 'rx51_video_mem_init' was not declared. Should it be static?
arch/arm/mach-omap2/board-zoom-debugboard.c:155:12: warning: symbol 'zoom_debugboard_init' was not declared. Should it be static?
arch/arm/mach-omap2/board-zoom-peripherals.c:280:13: warning: symbol 'zoom_peripherals_init' was not declared. Should it be static?
arch/arm/mach-omap2/board-igep0020.c:110:13: warning: symbol 'igep2_flash_init' was not declared. Should it be static?
arch/arm/mach-omap2/board-am3517evm.c:109:6: warning: symbol 'am3517_evm_ethernet_init' was not declared. Should it be static?
drivers/mtd/onenand/omap2.c:577:5: warning: symbol 'omap2_onenand_rephase' was not declared. Should it be static?

Signed-off-by: Manjunath Kondaiah G <manjugk@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517evm.c
oard-devkit8000.c
oard-flash.c
oard-flash.h
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3logic.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-rx51-peripherals.c
oard-rx51-video.c
oard-zoom-debugboard.c
oard-zoom-peripherals.c
oard-zoom2.c
oard-zoom3.c
nclude/mach/board-flash.h
nclude/mach/board-rx51.h
nclude/mach/board-zoom.h
imer-gp.c
imer-gp.h
38815733972655ee3cbfc34e254c403c332693c3 08-Oct-2010 Manjunath Kondaiah G <manjugk@ti.com> OMAP: mach-omap2: Fix static declaration warnings

This patch fixes sparse warnings due to non declaration of
static structures and variables.

Sparse warning logs fixed:
arch/arm/mach-omap2/control.c:88:6: warning: symbol 'omap3_secure_ram_storage' was not declared. Should it be static?
n
arch/arm/mach-omap2/timer-gp.c:50:22: warning: symbol 'gptimer_wakeup' was not declared. Should it be static?
arch/arm/mach-omap2/timer-gp.c:240:18: warning: symbol 'omap_timer' was not declared. Should it be static?
arch/arm/mach-omap2/prcm.c:121:24: warning: symbol 'prcm_context' was not declared. Should it be static?
arch/arm/mach-omap2/mux2420.c:510:29: warning: symbol 'omap2420_pop_ball' was not declared. Should it be static?
arch/arm/mach-omap2/mux2430.c:589:29: warning: symbol 'omap2430_pop_ball' was not declared. Should it be static?
arch/arm/mach-omap2/mux34xx.c:934:28: warning: symbol 'omap3_cus_subset' was not declared. Should it be static?
arch/arm/mach-omap2/mux34xx.c:1080:29: warning: symbol 'omap3_cus_ball' was not declared. Should it be static?
arch/arm/mach-omap2/mux34xx.c:1272:28: warning: symbol 'omap3_cbb_subset' was not declared. Should it be static?
arch/arm/mach-omap2/mux34xx.c:1393:29: warning: symbol 'omap3_cbb_ball' was not declared. Should it be static?
arch/arm/mach-omap2/mux34xx.c:1603:28: warning: symbol 'omap36xx_cbp_subset' was not declared. Should it be static?
arch/arm/mach-omap2/mux34xx.c:1821:29: warning: symbol 'omap36xx_cbp_ball' was not declared. Should it be static?
arch/arm/mach-omap2/pm-debug.c:165:15: warning: symbol 'pm_dbg_dir' was not declared. Should it be static?
arch/arm/mach-omap2/board-omap3evm.c:587:30: warning: symbol 'ads7846_config' was not declared. Should it be static?
arch/arm/mach-omap2/board-omap3evm.c:606:23: warning: symbol 'omap3evm_spi_board_info' was not declared. Should it be static?
arch/arm/mach-omap2/board-rx51-sdram.c:46:25: warning: symbol 'rx51_sdrc_params' was not declared. Should it be static?
arch/arm/mach-omap2/board-rx51-sdram.c:211:25: warning: symbol 'rx51_get_sdram_timings' was not declared. Should it be static?
arch/arm/mach-omap2/board-omap3touchbook.c:64:15: warning: symbol 'touchbook_revision' was not declared. Should it be static?
arch/arm/mach-omap2/board-am3517evm.c:350:24: warning: symbol 'am3517_evm_dss_device' was not declared. Should it be static?
arch/arm/mach-omap2/board-omap3stalker.c:567:23: warning: symbol 'omap3stalker_spi_board_info' was not declared. Should it be static?

Signed-off-by: Manjunath Kondaiah G <manjugk@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
oard-omap3evm.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-rx51-sdram.c
ontrol.c
ux2420.c
ux2430.c
ux34xx.c
m-debug.c
rcm.c
4d63bc1de704c6f413979261bf42781cf364eb14 08-Oct-2010 Manjunath Kondaiah G <manjugk@ti.com> OMAP: mach-omap2: Fix incorrect assignment warnings

This patch fixes below sparse warnings for incorrect assignments.

arch/arm/mach-omap2/control.c:195:16: warning: incorrect type in assignment (different address spaces)
arch/arm/mach-omap2/control.c:195:16: expected unsigned int [usertype] *v_addr
arch/arm/mach-omap2/control.c:195:16: got void [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/control.c:199:25: warning: incorrect type in argument 1 (different address spaces)
arch/arm/mach-omap2/control.c:199:25: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/control.c:199:25: got unsigned int [usertype] *
arch/arm/mach-omap2/control.c:320:28: warning: incorrect type in assignment (different address spaces)
arch/arm/mach-omap2/control.c:320:28: expected void *[noderef] <asn:2>scratchpad_address
arch/arm/mach-omap2/control.c:320:28: got void [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/control.c:321:9: warning: incorrect type in argument 1 (different address spaces)
arch/arm/mach-omap2/control.c:321:9: expected void volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/control.c:321:9: got void *[noderef] <asn:2>scratchpad_address
arch/arm/mach-omap2/control.c:324:9: warning: incorrect type in argument 1 (different address spaces)
arch/arm/mach-omap2/control.c:324:9: expected void volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/control.c:324:9: got void *
arch/arm/mach-omap2/control.c:327:9: warning: incorrect type in argument 1 (different address spaces)
arch/arm/mach-omap2/control.c:327:9: expected void volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/control.c:327:9: got void *
arch/arm/mach-omap2/control.c:334:9: warning: incorrect type in argument 1 (different address spaces)
arch/arm/mach-omap2/control.c:334:9: expected void volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/control.c:334:9: got void *
arch/arm/mach-omap2/control.c:321:9: warning: dereference of noderef expression
arch/arm/mach-omap2/control.c:324:9: warning: dereference of noderef expression
arch/arm/mach-omap2/control.c:327:9: warning: dereference of noderef expression
arch/arm/mach-omap2/control.c:334:9: warning: dereference of noderef expression

arch/arm/mach-omap2/pm34xx.c:323:28: warning: incorrect type in assignment (different address spaces)
arch/arm/mach-omap2/pm34xx.c:323:28: expected unsigned int [usertype] *scratchpad_address
arch/arm/mach-omap2/pm34xx.c:323:28: got void [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/pm34xx.c:326:26: warning: incorrect type in argument 1 (different address spaces)
arch/arm/mach-omap2/pm34xx.c:326:26: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/pm34xx.c:326:26: got unsigned int [usertype] *
arch/arm/mach-omap2/pm34xx.c:329:26: warning: incorrect type in argument 1 (different address spaces)
arch/arm/mach-omap2/pm34xx.c:329:26: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/pm34xx.c:329:26: got unsigned int [usertype] *
arch/arm/mach-omap2/pm34xx.c:334:29: warning: incorrect type in argument 1 (different address spaces)
arch/arm/mach-omap2/pm34xx.c:334:29: expected void const volatile [noderef] <asn:2>*<noident>
arch/arm/mach-omap2/pm34xx.c:334:29: got unsigned int [usertype] *

Signed-off-by: Manjunath Kondaiah G <manjugk@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ontrol.c
m34xx.c
90173882ed15a8034d6d162da5f343a2c7d87587 04-Oct-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: add dsp platform device

Otherwise tidspbridge cannot work.

It looks like this was dropped in the conversion to staging. I took the
liberty of doing some cleaning up.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
akefile
sp.c
4b48e6876b641e1138f37a0fc11fb6a4fc3e24e1 01-Oct-2010 ext Anand Gadiyar <gadiyar@ti.com> omap: zoom2/3: fix build caused by wl1271 support

Patch "omap: zoom: add mmc3/wl1271 device support" in the
wireless tree still uses .wires in struct omap2_hsmmc_info.
.wires has now been replaced with .caps in patch "omap: mmc:
extended to pass host capabilities from board file" in the
OMAP tree.

This causes linux-next as of 20101001 build to break as
below. Fix this.

CC arch/arm/mach-omap2/board-zoom-peripherals.o
arch/arm/mach-omap2/board-zoom-peripherals.c:217: error: unknown field 'wires' specified in initializer
make[1]: *** [arch/arm/mach-omap2/board-zoom-peripherals.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Ohad Ben-Cohen <ohad@wizery.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
oard-zoom-peripherals.c
63509e3c03ae22000c642e33b5006769d1b5db86 05-Oct-2010 Tony Lindgren <tony@atomide.com> omap: Keep nwires for omap1 and 2420 MMC controller

A patch from Sukumar Ghorai <s-ghorai@ti.com> changed the
nwires to use caps instead. However, nwires is still
needed for the earlier controller.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
oard-n8x0.c
a09f73fabbeac81f45969ad9ed59e74fae736873 04-Oct-2010 Jarkko Nikula <jhnikula@gmail.com> omap: devices: Avoid merge conflict between ASoC and OMAP hwmod changes

Upcoming ASoC multi-component and OMAP hwmod changes will conflict
in arch/arm/mach-omap2/devices.c. Avoid this by moving a little bit
include statement introduced by ASoC Multi-Component Support patch.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
evices.c
7c63984b86f96c71c541132c74c4b56fe2a13e1a 23-Sep-2010 Nicolas Pitre <nico@fluxnic.net> ARM: do not define VMALLOC_END relative to PAGE_OFFSET

VMALLOC_END is supposed to be an absolute value, while PAGE_OFFSET may
vary depending on the selected user:kernel memory split mode through
CONFIG_VMSPLIT_*. In fact, the goal of moving PAGE_OFFSET down is to
accommodate more directly addressed RAM by the kernel below the vmalloc
area, and having VMALLOC_END move along PAGE_OFFSET is rather against
the very reason why PAGE_OFFSET can be moved in the first place.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
nclude/mach/vmalloc.h
64be97822b781e921c7eda2d4089fd1fdf3aabba 02-Oct-2010 kishore kadiyala <kishore.kadiyala@ti.com> omap4 hsmmc: Update ocr mask for MMC2 for regulator to use

On OMAP4, MMC2 controller has eMMC which draws power from VAUX regulator
on TWL. Though the eMMC supports dual voltage[1.8v/3v] as per ocr register,
its VCC is fixed at 3V for operation. With this once the mmc core selects
the minimum voltage[1.8] supported based on the ocr value read from OCR register,
eMMC will not get detected. Thus the platform data for MMC2 is updated with ocr
mask and same will be communicated to core which will set the regulator to
always operate at 3V when ever turned ON.

Cc: Tony Lindgren <tony@atomide.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
91a0b089f8358aec866bc9c69da8b84c77beaaf3 02-Oct-2010 kishore kadiyala <kishore.kadiyala@ti.com> omap4 hsmmc: Register offset handling

In OMAP4, as per new PM programming model, the legacy registers
which were there in OMAP3 are all shifted by 0x100 while new one's
are added from offset 0 to 0x10.
For OMAP4, the register offset appending of 0x100 done in devices.c
currently, is moved to driver file.This change fits in for current
implementation as well as once the driver undergoes hwmod adaptation.

Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
smmc.c
531c21ba1a298422ace28efbcdf94d5579a1b702 02-Oct-2010 Benoit Cousson <b-cousson@ti.com> omap4 hsmmc: Fix the init if CONFIG_MMC_OMAP_HS is not set

Avoid possible crash if CONFIG_MMC_OMAP_HS is not set

Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
07ad64b60c4d1f2bdbefa5db29ccb235596bc670 02-Oct-2010 Madhusudhan Chikkature <madhu.cr@ti.com> OMAP4 ES2: HSMMC soft reset change

The omap4 es2 hsmmc has a updated soft reset logic.After the
reset is issued monitor a 0->1 transition first. The reset of
CMD or DATA lines is complete only after a 0->1->0 transition
of SRC or SRD bits.

Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Tested-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
e13bb34bd9bbc01dcab9ed1b8adaa6a199ce059c 02-Oct-2010 Grazvydas Ignotas <notasas@gmail.com> omap: pandora: enable twl4030 charger

Add platform data to make use of newly added charging driver.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
690a4a39b2429a4e397cd79e1dd16b6a5ca4111e 02-Oct-2010 Grazvydas Ignotas <notasas@gmail.com> omap: pandora: add fixed regulator for wlan

Instead of enabling the wifi module explicitly using GPIO, add a fixed
regulator and hook it to MMC host card power control. This way it will
only be enabled when SDIO subsystem wants to talk to it, saving power
(as done by Zoom boards).

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
76abab213587bfc3b850f36c0a674116d161148d 02-Oct-2010 Sanjeev Premi <premi@ti.com> omap2/3: Update revision identification

The existing definitions for cpu revision used
upper nibble in the bits[15:08]. With OMAP3630,
definitions use lower nibble.

This patch unifies the definitions to start
at lower nibble.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
5a3b2f7a5a79082dd3a5f2294cbd85fc3b173d98 02-Oct-2010 Tony Lindgren <tony@atomide.com> omap: Fix omap_mux_init_signal not to trash muxname

Otherwise the muxname passed to the function will get truncated.

Based on an earlier patch by rockefeller.lin@innocomm.com.

Reported-by: rockefeller.lin@innocomm.com
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
ux.h
ebfa88cfa1f00022c500e35db63b5f6c977c95c0 27-Sep-2010 Loïc Minier <loic.minier@linaro.org> OMAP: PM: Fix build when CONFIG_PM_DEBUG isn't set

Since 6cdee91257bee23a46dc869ca62469b67cba2c7e the references to
enable_off_mode and sleep_while_idle can't be resolved when CONFIG_PM_DEBUG
isn't set:
arch/arm/mach-omap2/built-in.o: In function `omap_uart_restore_context':
arch/arm/mach-omap2/serial.c:253: undefined reference to `enable_off_mode'
arch/arm/mach-omap2/built-in.o: In function `omap3_can_sleep':
arch/arm/mach-omap2/pm34xx.c:479: undefined reference to `sleep_while_idle'

Simply #define these in pm.h just like omap2_pm_debug.

Signed-off-by: Loïc Minier <loic.minier@linaro.org>
[khilman: moved down into existing #ifdef section]
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.h
65707fb3794e9cf75665f9ef91cfb07c50d3ffa5 01-Oct-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: CPUidle: remove redundant setting of PER next power state

When checking how to program the next powerstate for the PER
powerdomain, the next state of PER powerdomain was written twice.
Remove the duplicate write.

Reported-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
69758ab7a1e2de5636a2188d5357dd03140bf1d8 01-Oct-2010 Kevin Hilman <khilman@deeprootsystems.com> manual merge for pm-hwmod-uart due to conflicts
257f23d87f9309fee41d468575404b9371bf4c7d 27-Sep-2010 Govindraj.R <govindraj.raja@ti.com> OMAP3: SERIAL: Initialize all omap-uarts for zoom boards

Initialize all omap-uarts for zoom boards. Now zoom_peripheral_init
will initialise all uarts for 3630. 3630sdp_board_init call
zoom_peripheral_init so we can now remove serial_init from 3630sdp
board init as zoom_peripheral_init now will do that the same.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-3630sdp.c
oard-zoom-peripherals.c
12a75da296d43784c960a2beaca002a08d06cf15 27-Sep-2010 Govindraj.R <govindraj.raja@ti.com> OMAP: SERIAL: Enable omap-serial driver in Kconfig

Enable omap-serial driver in /mach-omap2/Kconfig and
move 8250 driver selection for zoom boards. With omap-serial
driver addition all omap-uarts can be handled with
omap-serial driver.

With addition of omap-serial driver console parameter
needs be changed in bootargs from ttyS* should be
replaced with ttyO* [O --> OMAP not ZERO]

For example: ttyS0[UART1 on 3430SDP] changes to ttyO0.

But with some boards that do not use omap-uart as console uart.
we need to handle them with 8250 driver. Ex: ZOOM2/3.
For zoom2/3 board we need to use 8250 serial driver and
console parameter will remain ttyS0 which basically uses
a Quad uart placed on the debug board connected through a
gpio line.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
config
52663aea10c3ce175b636ff3ed5a6d78fdbeec02 27-Sep-2010 Govindraj.R <govindraj.raja@ti.com> OMAP3: serial: Fix uart4 handling for 3630

This patch makes the following:
- Adds missing wakeup padding register handling.
- Fixes a hardcode to use PER module ONLY on UART3.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
cd4f1faee029593fc10039aeb592dc2986d55f61 27-Sep-2010 Govindraj.R <govindraj.raja@ti.com> OMAP3: PM: Add prepare idle and resume idle call for uart4

Add prepare idle and resume idle call for uart4 used by 3630.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
e586368904b737b4888927e4c869a25966e5cd05 27-Sep-2010 Govindraj.R <govindraj.raja@ti.com> OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs

To standarize among other uarts (1 to 3), we shall now:

- Enable uart4 autodile bit.
- Enable uart4 wakeup in PER.
- Allow uart4 to wakeup the MPU.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-regbits-34xx.h
m34xx.c
rcm-common.h
rm-regbits-34xx.h
a0edcdbe5295b7912e92ff88dd8f46646710735b 27-Sep-2010 Govindraj.R <govindraj.raja@ti.com> OMAP clock: Add uart4_ick/fck definitions for 3630

This is only valid for omap 36xx family of chips.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
lock3xxx_data.c
8da37d9dc52befa8b55bdc20eef2a4aaf20e0c8d 27-Sep-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP: UART: use non-locking versions of hwmod enable/idle functions

Since the UART enable/idle is done during the idle path (with
interrupts disabled), use the non-locking versions of the hwmod
enable/idle functions.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
3244fcd227526a2f21018a280c7af0a9219c6ff4 27-Sep-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP: UART: don't do automatic bus-level suspend/resume

Since the omap_device for UART is currently managed inside the idle
path itself, don't let the bus-level code suspend/resume the UART.

To prevent this, pm_runtime_get() is used when preparing for suspend
and pm_runtime_put() is used when finished with suspend.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
c04ede382a64020f19e9aa23a85493a09af945d3 27-Sep-2010 Govindraj.R <govindraj.raja@ti.com> OMAP2: UART: remove set_uart_globals

Remove set_uart_globals function as this will not be needed as
physical address for uarts will be taken from hwmod data file.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
6f251e9db1093c187addc309b5f2f7fe3efd2995 27-Sep-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP: UART: omap_device conversions, remove implicit 8520 assumptions

Major rework of OMAP UART init for omap_device conversion as well as
use with either 8250 driver or new omap-serial driver.

In preparation for a new omap-serial driver, remove 8250 assumptions
and dependencies from the serial core.

Convert UART core and PM support to use omap_device layer. Also add
support for both console on 8250 or omap-serial driver.

omap_device conversion:
- Convert clock API calls to omap_device calls
- Remove all static platform_data setup and configuration. This is
all done by the omap_device build phase.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
046465b76a41a32a8d56e691b167fb9ba7729970 27-Sep-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3: UART: add omap_hwmod data for UARTs 1-4

This patch adds omap_hwmod data for UARTs on OMAP2 and OMAP3
platforms.

UART4 support for 3630 and OMAP2 hwmod data added by Govindraj R.

Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
rcm-common.h
db12ba53fe8b2d79c06bfe00589b3e98fd50cb4c 27-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: UART: Add uart1-4 hwmods data for omap4

Add uart1-4 hwmod data into omap4_hwmod data file.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_44xx_data.c
f2ce62312650211f6cf665cd6dc519c334c4071e 23-Sep-2010 Varadarajan, Charulatha <charu@ti.com> OMAP: WDT: Split OMAP1 and OMAP2PLUS device registration

This patch splits omap_init_wdt() into separate omap_init_wdt()
functions under mach-omap1 and mach-omap2 and set them up with
subsys_initcall.

Also it uses omap_device_build() API instead of
platform_device_register() for watchdog timer device registration
for OMAP2plus chips.

For OMAP2plus chips, the device specific data defined in centralized
hwmod database will be used.

Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Cousson, Benoit <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
evices.c
92b18d1cf1335a468d4014c4fdb1eb720e77526f 23-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod data: Add watchdog timer

Add watchdog timer hwmod data for OMAP4 chip

Note: wd_timer3 in enabled in the hwmod list but it is
not yet supported by the watchdog driver.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Charulatha V <charu@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_44xx_data.c
165e2161525d66a76ed2b870dedabb4c1c4714b0 23-Sep-2010 Varadarajan, Charulatha <charu@ti.com> OMAP2430: hwmod data: Add watchdog timer

Add watchdog timer hwmod data for OMAP2430 chip

Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Cousson, Benoit <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_2430_data.c
a714b9cfabcc385540a493733bd4958d37e982d3 23-Sep-2010 Varadarajan, Charulatha <charu@ti.com> OMAP2420: hwmod data: Add watchdog timer

Add watchdog timer hwmod data for OMAP2420 chip

Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Cousson, Benoit <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_2420_data.c
6b667f880ff5b273f9c1ec1076ffc2c9baf97a96 23-Sep-2010 Varadarajan, Charulatha <charu@ti.com> OMAP3: hwmod data: Add watchdog timer

Add watchdog timer hwmod data for OMAP3 chip

Signed-off-by: Charulatha V <charu@ti.com>
Acked-by: Cousson, Benoit <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_3xxx_data.c
26428b5c4f675434d52c8dc09c4c8d5e6198a6ac 27-Sep-2010 Tim Nordell <tim.nordell@logicpd.com> ARM: OMAP3LOGIC: Added SMSC Ethernet board support

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

Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3logic.c
cdd280b9958d71ccbaf7c00c0d63dab0a48c1db0 27-Sep-2010 Tim Nordell <tim.nordell@logicpd.com> ARM: OMAP3LOGIC: Add generic smsc911x support when connected to GPMC

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

Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
pmc-smsc911x.c
8430281b0a909048cc0e38756b11ae309bb783cd 27-Sep-2010 Tim Nordell <tim.nordell@logicpd.com> ARM: OMAP3LOGIC: Adding SDMMC support

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

Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
[tony@atomide.com: updated for the recent mmc platform init changes]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3logic.c
d40f3f15d31e93fce3960d90caaa5a40b52494e8 27-Sep-2010 Tim Nordell <tim.nordell@logicpd.com> ARM: OMAP3LOGIC: Adding LogicPD OMAP3 board support

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

Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-omap3logic.c
b45b501c31ce496dbb2b96a8d606642261fa8d8b 28-Sep-2010 matt mooney <mfm@muteddisk.com> arm: remove cast from void*

Unnecessary cast from void* in assignment.

Signed-off-by: matt mooney <mfm@muteddisk.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
b6a26b4b87d7b030a546e7bdaf390ffc58323f36 21-Sep-2010 Igor Grinberg <grinberg@compulab.co.il> omap3: cm-t3517: add support for TI HECC

add support for TI HECC.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t3517.c
ec34fccd3a8ed4997c38797b49e37535ad387401 21-Sep-2010 Igor Grinberg <grinberg@compulab.co.il> omap3: cm-t3517: add support for NAND flash

add support for NAND flash.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t3517.c
525d75b31bc97354870b5991d57b2607d7b88602 21-Sep-2010 Igor Grinberg <grinberg@compulab.co.il> omap3: cm-t3517: add support for usb host

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

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t3517.c
46893a56aad011764003703b06303515ea670c57 21-Sep-2010 Igor Grinberg <grinberg@compulab.co.il> omap3: cm-t3517: add support for v3020 rtc

add support for v3020 rtc.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t3517.c
d04b620e6e6e72a95b7b88ccb7b002cb8f6b8113 21-Sep-2010 Igor Grinberg <grinberg@compulab.co.il> omap3: Introduce CompuLab CM-T3517 module

Add basic suppot, enable uart and led.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-cm-t3517.c
91f6c90c8df1818a66d177e105d602c3da820919 27-Sep-2010 Tony Lindgren <tony@atomide.com> Merge branch 'omap4_and_sdrc_2.6.27' of git://git.pwsan.com/linux-2.6 into omap-for-linus
a3fed9bc181666df6ecfe9ce34a29d48803f2310 27-Sep-2010 Jon Hunter <jon-hunter@ti.com> omap3: Prevent SDRC deadlock when L3 is changing frequency

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

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

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

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

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
ram34xx.S
dcf5ef3f42fbc0c62043b4c466d679fca32f1b9f 27-Sep-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: control: Fix the control module register accesses

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

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

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
smmc.c
d.c
802edcb7a9227ad98e902ad4406c4b99ddf18c13 27-Sep-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: control: Add the register definition headers

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

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

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

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
nclude/mach/ctrl_module_core_44xx.h
nclude/mach/ctrl_module_pad_core_44xx.h
nclude/mach/ctrl_module_pad_wkup_44xx.h
nclude/mach/ctrl_module_wkup_44xx.h
70ba71a25e02ef7b8796723c8615955620e465ff 27-Sep-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: control: Add accessor api's for pad control module

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

This APIs will work only for OMAP4

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
ontrol.c
0c3492467c99f3d0d83a48012ee6e672b016759c 27-Sep-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: control: Add ctrl_pad_base to omap_globals

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

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

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

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
ontrol.c
0edc9e858222ca8fd685756f0d7e546633c39ff0 27-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: clocks: Fix ES2 clock issues

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

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

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

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

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: tweaked patch description]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock44xx_data.c
bb722f33e233c980159f0ac5560d530eb5dfdd0f 27-Sep-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: powerdomain: Update DSS logic state for ES2

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

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
owerdomains44xx.h
fdd4f409981e5581e03d4259f2b4923b3158f2cf 27-Sep-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: PM: Define additional registers for ES2

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

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
m44xx.h
rm44xx.h
568997cf375f3e3db28d6962cde66958b57dd6ac 27-Sep-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: CM & PRM: Update PRCM register bitshifts and masks for ES2

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

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

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

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
m-regbits-44xx.h
rm-regbits-44xx.h
1c03f42f01d212a79f7cd6e91eb8d8c624a843ec 27-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: clock: Add optional clock nodes

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

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

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock44xx_data.c
0e43327191986e88efdc8717084aeb22db2cc8a9 27-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: clock: Fix clock names and align with hwmod names

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

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

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

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

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

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: manually resolved conflicts with Rajendra's clock patch]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock44xx_data.c
76cf52951ac57a31a453610e0ab5cae50b10502d 27-Sep-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: clocks: Update clock tree for ES2

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

clock nodes added
-1- tie_low_clock_ck
-2- abe_dpll_bypass_clk_mux_ck

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

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
[paul@pwsan.com: added comment re ES1 clocks to top of file]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
lock44xx_data.c
ee6f5a2fec84479d468ebf2a5d4560e042a58647 27-Sep-2010 Tony Lindgren <tony@atomide.com> Merge branch 'devel-omap-smp-on-up' into omap-for-linus
98bb8c3e98267f2aa422bbafce3b734016e7ed02 27-Sep-2010 Tony Lindgren <tony@atomide.com> Merge branch 'devel-boards' into omap-for-linus
d58cc92bda765e62f28b12a8f4627ddee32978f0 27-Sep-2010 Tony Lindgren <tony@atomide.com> Merge branch 'misc_2.6.37' of git://git.pwsan.com/linux-2.6 into omap-for-linus
b245f26f5e45a6513a318835d83eea895d3ab54b 27-Sep-2010 Tony Lindgren <tony@atomide.com> Merge branch 'devel-omap-misc' into omap-for-linus
3a63833ec3002816a759a49ebda4e229c089114e 15-Sep-2010 Sukumar Ghorai <s-ghorai@ti.com> omap: mmc: extended to pass host capabilities from board file

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

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-4430sdp.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-omap4panda.c
oard-overo.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
evices.c
smmc.c
smmc.h
7193559af4243279790fd8dbfef82f8536d9c514 31-Aug-2010 Jarkko Nikula <jhnikula@gmail.com> omap2: McBSP: Remove mux code for OMAP2420 McBSP2 and do cleanups

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

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

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
82a0c149b5beb4b91036b9687644db8a913e8fd1 20-Aug-2010 Dmitry Kasatkin <dmitry.kasatkin@nokia.com> omap: crypto: updates to enable omap aes

Updates to enable omap aes

Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
[tony@atomide.com: updated to use CONFIG_ARCH_OMAP2/3 instead of old 24XX/34XX]
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
evices.c
3da434acd4f7c7f5aeebd44fed42bf5ed9adfc44 24-Sep-2010 Ricardo Salveti de Araujo <ricardo.salveti@canonical.com> omap4: board-omap4panda: adding leds status1 and status2

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

Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
94ce7a6628ccaa71f0a5f26f6ff7dc7b0f0f65b7 24-Sep-2010 Shubhrajyoti Datta <shubhrajyoti@ti.com> omap: 4430sdp board support for proximity sensor

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

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
5a37e7840f445b551b8bdba3b4f10f7ea365dcfc 25-Sep-2010 Tony Lindgren <tony@atomide.com> Merge branch 'omap_for_2.6.37' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into omap-for-linus
4b285c3f3f0082f7fb765050f07a864474459bf0 23-Sep-2010 Jarkko Nikula <jhnikula@gmail.com> omap: zoom: Move new code introduced by ASoC m-c to board-zoom-peripherals

ASoC Multi-Component Support moves some code from sound/soc/omap/zoom2.c into
arch/arm/mach-omap2/board-zoom2.c. However, that code should go to
board-zoom-peripherals.c instead as there is common code and registration
for zoom boards.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Lopez Cruz, Misael <x0052729@ti.com>
Cc: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
oard-zoom-peripherals.c
oard-zoom2.c
2c8e992716b3adff52846e2280731b533db592ff 23-Sep-2010 Jarkko Nikula <jhnikula@gmail.com> omap: zoom2: Fix ASoC multi-component build breakage by removing dead code

ASoC Multi-Component Support patch removes #if 0 in board-zoom2.c that was
used to protect some uncompiling dead code. Remove that code as it seems to
be here quite some time since commit 479f12c.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Tested-by: Misael Lopez Cruz <misael.lopez@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
oard-zoom2.c
78f26e872f77b6312273216de1a8f836c6f2e143 24-Sep-2010 Hema HK <hemahk@ti.com> OMAP: hwmod: Set autoidle after smartidle during _sysc_enable

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

Signed-off-by: Hema HK <hemahk@ti.com>
Signed-off-by: Partha Basak <p-basak2@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
ff173d45525701d65d394cb8687e71845bfb34dc 24-Sep-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: PM: Declare idle modules as functional too

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

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

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

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

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Partha Basak <p-basak2@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m4xxx.c
3b2a40a0a05cdf4f00f100c55b463d86ae14c383 15-Sep-2010 Cyril Chemparathy <cyril@ti.com> omap: cleanup unused davinci mdio arch code

This patch removes davinci architecture code that has now been rendered
useless by the previous patches in the MDIO separation series.

Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-am3517evm.c
433cdb0ac4c4660e98412e441589a7a712010325 15-Sep-2010 Cyril Chemparathy <cyril@ti.com> omap: add mdio platform devices

This patch adds mdio platform devices on SoCs that have the necessary
hardware. Clock lookup entries (aliases) have also been added, so that the
MDIO and EMAC drivers can independently enable/disable a shared underlying
clock. Further, the EMAC MMR region has been split down into separate MDIO
and EMAC regions.

Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-am3517evm.c
a777b7277ef9b04481d4ceaac353bb4bd82e2f1e 16-Sep-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: l2x0: Fix init parameter for es2.0

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

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

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
map4-common.c
ed6be0bafc7781634a197ddd85b575ffcd7736b6 16-Sep-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: Update id.c and cpu.h for es2.0

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

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
d.c
04be1e9ba49657347b4e1969a217e5fc33bbf72a 20-Aug-2010 Jarkko Nikula <jhnikula@gmail.com> omap: n8x0: Mux i2s codec port pins for McBSP block

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

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
366498d4f2aef7640ae467a986d69d1cc06a141b 20-Aug-2010 Jarkko Nikula <jhnikula@gmail.com> omap: n8x0: Register i2c2 and add board info with tlv320aic3xfor N810

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

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
a7f97d25c707e1020bd7bcb443e183860e5abf48 20-Aug-2010 Jarkko Nikula <jhnikula@gmail.com> omap: n8x0: Cleanup i2c1 and menelaus registration

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

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
ca828760f96ee8f0b6c93400599844761aa69dc0 24-Sep-2010 Sanjeev Premi <premi@ti.com> omap2: fix assorted compiler warnings

This patch fixes these compiler warnings:

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

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

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

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap4panda.c
ux.c
e3333f48dd5cb21b8d43d6d3a434055815084f1e 24-Sep-2010 Mathieu J. Poirier <mathieu.poirier@canonical.com> omap: Adding beagle i2c eeprom driver to read EDID

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

BugLink: https://bugs.launchpad.net/bugs/608279

Signed-off-by: Mathieu Poirier <mathieu.poirier@canonical.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
cf74d41ea07fe6066daea7df74d9550bc2c64284 24-Sep-2010 Robert Nelson <robertcnelson@gmail.com> omap: Beagle: no gpio_wp pin connection on xM

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

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
e4916e117a4fcd001a1be777e406ec1f98b75de4 24-Sep-2010 Robert Nelson <robertcnelson@gmail.com> omap: Beagle: only Cx boards use pin 23 for write protect

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

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
954bed046fe57724851879a9db813eecb1d15f55 24-Sep-2010 Robert Nelson <robertcnelson@gmail.com> omap: Beagle: revision detection

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

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

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

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

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
0df891bb9c36c57d09c8b7cf28904e3672d93f9e 24-Sep-2010 Shubhrajyoti Datta <shubhrajyoti@ti.com> hmc5843: Digital compass board file

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

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
39cdd14570e3c32728d407cb38de17e80cf16104 24-Sep-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-runtime' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
172c11351576cf5daa8f1b02a265bf84de8bbed1 24-Sep-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-next' of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
cbf27660e692d8c74087c0ccb80225207d280af1 05-Aug-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: pm: Change l3_main to l3_main_1 during bus device init

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

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

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.c
55d2cb0814f4285f89be8ed474a8ae7042fb5735 12-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod: Add initial data for OMAP4430 ES1 & ES2

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

- enable as well omap_hwmod.c build for OMAP4 Soc

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

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

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
o.c
map_hwmod_44xx_data.c
6f7f63cc9adf3192e6fcac4e8bed5cc10fd924aa 14-Sep-2010 Paul Walmsley <paul@pwsan.com> OMAP clockdomain: initialize clockdomain registers when the clockdomain layer starts

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

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

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

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
lockdomain.c
m34xx.c
eb6a2c7550560e6619eadb912ea8384ce27964b8 14-Sep-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap: pm: Move set_pwrdm_state routine to common pm.c

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

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.c
m.h
m34xx.c
315e2556f62adb51c40d5422f4134bd3630d8157 14-Sep-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap: pm-debug: Enable wakeup_timer_milliseconds debugfs entry

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

This patch enables the debugfs hook for wakeup_timer_milliseconds

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
86b0c1e3c07f7fc3a8197a934d9a04476061bed9 14-Sep-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap: pm-debug: Move common debug code to pm-debug.c

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

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
m.h
m34xx.c
b3294e2327718e9487e662d1392b36b39f07d70b 01-Sep-2010 Thara Gopinath <thara@ti.com> OMAP4: pm.c extensions for OMAP4 support

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

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.c
e7410cf7831c2e5106a90dac6179df5d2c9bd60e 09-Sep-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: move device-specific special cases from PM core into CPUidle

In an effort to simplify the core idle path, move any device-specific
special case handling from the core PM idle path into the CPUidle
pre-idle checking path.

This keeps the core, interrupts-disabled idle path streamlined and
independent of any device-specific handling, and also allows CPUidle
to do the checking only for certain C-states as needed. This patch
has the device checks in place for all states with the CHECK_BM flag,
namely all states >= C2.

This patch was inspired by a similar patch written by Tero Kristo as
part of a larger series to add INACTIVE state support.

NOTE: This is a baby-step towards decoupling device idle (or system
idle) from CPU idle. Eventually, CPUidle should only manage the CPU,
and device/system idle should be managed elsewhere.

Cc: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
m34xx.c
0b1974de66f9ed44f1423449628f4926bf95b854 23-Sep-2010 Thomas Weber <weber@corscience.de> Fix typo: configuation => configuration

Signed-off-by: Thomas Weber <weber@corscience.de>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
smmc.h
74ff3a68ed11f1e9eede4fe301f42cc3cdf7396a 21-Sep-2010 Paul Walmsley <paul@pwsan.com> OMAP: hwmod: improve documentation, clean up function names

This patch:

- adds more documentation to the hwmod code

- fixes some documentation typos elsewhere in the file

- changes the _sysc_*() function names to appear in (verb, noun) order,
to match the rest of the function names.

This patch should not result in any functional change.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Benoît Cousson <b-cousson@ti.com>
map_hwmod.c
9980ce53c97392a3dbdc9d1ac3e455d79b4167ed 21-Sep-2010 Rajendra Nayak <rnayak@ti.com> OMAP: hwmod: Enable module wakeup if in smartidle

If a module's OCP slave port is programmed to be in smartidle,
its also necessary that they have module level wakeup enabled.
Update _sysc_enable in hwmod framework to do this.

The thread "[PATCH 7/8] : Hwmod api changes" archived here:

http://www.mail-archive.com/linux-omap@vger.kernel.org/msg34212.html

has additional technical information on the rationale of this patch.

Sergei Shtylyov <sshtylyov@mvista.com> identified an indentation
problem with this patch - thanks, Sergei.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Partha Basak <p-basak2@ti.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
[paul@pwsan.com: revised patch description]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Sergei Shtylyov <sshtylyov@mvista.com>
map_hwmod.c
96835af970e5d6aeedf868e53590a947be5e4a7a 21-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Fix softreset for modules with optional clocks

Some modules (like GPIO, DSS...) require optionals clock to be enabled
in order to complete the sofreset properly.
Add a HWMOD_CONTROL_OPT_CLKS_IN_RESET flag to force all optional clocks
to be enabled before reset. Disabled them once the reset is done.

TODO:
For the moment it is very hard to understand from the HW spec, which
optional clock is needed and which one is not. So the current approach
will enable all the optional clocks.
Paul proposed a much finer approach that will allow to tag only the needed
clock in the optional clock table. This might be doable as soon as we have
a clear understanding of these dependencies.

Reported-by: Partha Basak <p-basak2@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
2cb068149c365f1c2b10f2ece6786139527dcc16 21-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Fix softreset status check for some new OMAP4 IPs

In OMAP3 a specific SYSSTATUS register was used to get the softreset status.
Starting in OMAP4, some IPs does not have SYSSTATUS register and instead
use the SYSC softreset bit to provide the status.

Other cases might exist:
- Some IPs like McBSP does have a softreset control but no reset status.
- Some IPs that represent subsystem, like the DSS, can contains
a reset status without softreset control. The status is the aggregation
of all the sub modules reset status.

- Add a new flag (SYSC_HAS_RESET_STATUS) to identify the new programming model
and replace the previous SYSS_MISSING, that was used to flag IP with
softreset control but without the SYSSTATUS register, with a specific
SYSS_HAS_RESET_STATUS flag.

- MCSPI and MMC contains both programming models, so the legacy one
will be prevented by removing the syss offset field that become useless.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
map_hwmod.c
aee48e3c9cee3698d17b4cf4203551de0a804760 21-Sep-2010 Paul Walmsley <paul@pwsan.com> OMAP: hwmod: add an hardreset API for use by other core code

Expose an hardreset API from hwmod in order to assert / deassert all the
individual reset lines that belong to an hwmod. This API is needed by
some of the more complicated processor drivers, e.g., DSP/Bridge,
Syslink, etc.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
map_hwmod.c
76e5589e5b7cd0fd589264ab193f10550e1d8ab6 21-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Force a softreset during _setup

Force the softreset of every IPs during the _setup phase.
IPs that cannot support softreset or that should not
be reset must set the HWMOD_INIT_NO_RESET flag in the
hwmod struct.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
5365efbe29250a227502256cc912351fe2157b42 21-Sep-2010 Benoît Cousson <b-cousson@ti.com> OMAP: hwmod: Add hardreset management support

Most processor IPs does have a hardreset signal controlled by the PRM.
This is different of the softreset used for local IP reset from the
SYSCONFIG register.
The granularity can be much finer than orginal HWMOD, for ex, the IVA
hwmod contains 3 reset lines, the IPU 3 as well, the DSP 2...
Since this granularity is needed by the driver, we have to ensure
than one hwmod exist for each hardreset line.

- Store reset lines as hwmod resources that a driver can query by name like
an irq or sdma line.

- Add two functions for asserting / deasserting reset lines in hwmods
processor that require manual reset control.
- Add one functions to get the current reset state.
- If an hwmod contains only one line, an automatic assertion / de-assertion
is done.
-> de-assert the hardreset line only during enable from disable transition
-> assert the hardreset line only during shutdown

Note: The hwmods with hardreset line and HWMOD_INIT_NO_RESET flag must be
kept in INITIALIZED state.
They can be properly enabled only if the hardreset line is de-asserted
before.

For information here is the list of IPs with HW reset control
on an OMAP4430 device:

RM_DSP_RSTCTRL
1,1,'RST2','RW','1','DSP - MMU, cache and slave interface reset control'
0,0,'RST1','RW','1','DSP - DSP reset control'

RM_IVA_RSTCTRL
2,2,'RST3','RW','1','IVA logic and SL2 reset control'
1,1,'RST2','RW','1','IVA Sequencer2 reset control'
0,0,'RST1','RW','1','IVA sequencer1 reset control'

RM_IPU_RSTCTRL
2,2,'RST3','RW','1','IPU MMU and CACHE interface reset control.'
1,1,'RST2','RW','1','IPU Cortex M3 CPU2 reset control.'
0,0,'RST1','RW','1','IPU Cortex M3 CPU1 reset control.'

PRM_RSTCTRL
1,1,'RST_GLOBAL_COLD_SW','RW','0','Global COLD software reset control.'
0,0,'RST_GLOBAL_WARM_SW','RW','0','Global WARM software reset control.'

RM_CPU0_CPU0_RSTCTRL
RM_CPU1_CPU1_RSTCTRL
0,0,'RST','RW','0','Cortex A9 CPU0&1 warm local reset control'

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: made the hardreset functions static; moved the register
twiddling into prm*.c functions in previous patches; changed the
function names to conform with hwmod practice]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
map_hwmod.c
cf21405fd51b416f071edb546631a6ecd2112263 21-Sep-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3: PRM: add module hard reset support

This patch adds hard-reset support for processor modules (e.g., DSP, IVA)
on OMAP2/3 platforms. It's based on the OMAP4 hard-reset support that Benoît
developed in the previous patch.

This patch is a collaboration between Benoît Cousson <b-cousson@ti.com>
and Paul Walmsley <paul@pwsan.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
akefile
rm.h
rm2xxx_3xxx.c
0be1621a749907ada0101e4139a1f57168c5410b 21-Sep-2010 Benoît Cousson <b-cousson@ti.com> OMAP4: PRM: add module hard reset support

Most processor modules (e.g., DSP, IVA, IPU) on OMAPs can be reset
under the control of the PRM. This patch adds an API for this purpose
for OMAP4 devices:

int omap4_prm_is_hardreset_asserted(void __iomem *rstctrl_reg, u8 shift);
int omap4_prm_assert_hardreset(void __iomem *rstctrl_reg, u8 shift);
int omap4_prm_deassert_hardreset(void __iomem *rstctrl_reg, u8 shift);

This API is intended to be used only by the hwmod code - a subsequent
patch will add that support to hwmod.

This patch is a collaboration between Benoît Cousson <b-cousson@ti.com>
and Paul Walmsley <paul@pwsan.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
rm.h
rm44xx.c
16b040129e324598d13ff2e2b3469dc2e909ce12 21-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: prcm: Add temporarily helper functions for rmw and read inside the PRM

Since OMAP4 is using an absolute address, the current PRM accessors
are not useable.
OMAP4 adaptation for these API are currently ongoing, so define temp
version until the proper ones are defined.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
rcm.c
12b1fdb45c2594070bb36e39cd89a33547aad8fb 21-Sep-2010 Kevin Hilman <khilman@ti.com> OMAP: hwmod: separate list locking and hwmod hardware locking

Currently omap_hwmod_mutex is being used to protect both the list
access/modification and concurrent access to hwmod functions. This
patch separates these two types of locking.

First, omap_hwmod_mutex is used only to protect access and
modification of omap_hwmod_list. Also cleaned up some comments
referring to this mutex that are no longer needed.

Then, for protecting concurrent access to hwmod functions, use a
per-hwmod mutex. This protects concurrent access to a single hwmod,
but would allow concurrent access to different hwmods.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[paul@pwsan.com: added structure documentation; changed mutex variable
name]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
ff4d3e186b7b92c74a4f64360f723c603193f344 21-Sep-2010 Rajeev Kulkarni <rajeevk@ti.com> OMAP4: prcm: Fix global warm reset bit position

OMAP4 platform has different register bits for Warm and Cold Resets.
Write one into appropriate bits.

Signed-off-by: Rajeev Kulkarni <rajeevk@ti.com>
Cc: Leed Aguilar <leed.aguilar@ti.com>
[b-cousson@ti.com: Change the define with the proper one from omap4 headers]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
rcm.c
9b579114efc4bd00532de33c783b4cb4638910ff 21-Sep-2010 Liam Girdwood <lrg@slimlogic.co.uk> OMAP: hwmod: Fix omap_hwmod_reset wrong state test

The reset function wrongly used the state flag as a bit mask and was trying
to re-enable after a reset.

hwmod is still enabled for the PRCM point of view after a softreset
so there is no need to re-enable.

Remove the state check from omap_hwmod_reset since the _reset
function is checking that as well and in addition can generate
a warning

Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
[b-cousson@ti.com: remove the wrong test, remove the re-enable]
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Rajendra Nayak <rnayak@ti.com>
map_hwmod.c
3827f9492bdff045ae57fe67e65ce7e259ed4219 21-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Do not disable clocks if hwmod already in idle

The disable function was disabling clocks and dependencies
from both enable and idle state. Since idle function is already
disabling both, an enable -> idle -> disable sequence will
try to disable twice the clocks and thus generate a
"Trying disable clock XXX with 0 usecount" warning.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
b618f6f885579a6237e5bf4582fa6167972ddef4 21-Sep-2010 John W. Linville <linville@tuxdriver.com> Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem

Conflicts:
arch/arm/mach-omap2/board-omap3pandora.c
drivers/net/wireless/ath/ath5k/base.c
57e6fe7b888e17f814bd35b7700ded51aa9a6a83 06-Nov-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP2+: PM: initial runtime PM core support

Implement the new runtime PM framework as a thin layer on top of the
omap_device API. OMAP specific runtime PM methods are registered with
the as custom methods on the platform_bus.

In order to determine if a device is an omap_device, its parent device
is checked. All omap_devices have a new 'omap_device_parent_ device
as their parent device, so checking for this parent is used to check
for valid omap_devices. If a device is an omap_device, then the
appropriate omap_device functions are called for it. If not, only the
generic runtime PM functions are called.

Device driver's ->runtime_idle() hook is called when the runtime PM
usecount reaches zero for that device. Driver's ->runtime_suspend()
hooks are called just before the device is disabled (via
omap_device_idle()), and device driver ->runtime_resume() hooks are
called just after device has been enabled (via omap_device_enable().)

OMAP4 build support from Rajendra Nayak <rnayak@ti.com>.
OMAP2 build support from Charulatha V <charu@ti.com>

Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Charulatha V <charu@ti.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
m_bus.c
6cdee91257bee23a46dc869ca62469b67cba2c7e 12-Aug-2010 Thara Gopinath <thara@ti.com> OMAP: PM debugfs removing OMAP3 hardcodings.

This patch removes omap3 hardcodings from pm-debug.c
so that enabling PM debugfs support does break compilation
for other OMAP's. This is a preparatory patch for supporting
OMAP4 pm entries through PM debugfs.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
m34xx.c
d5c47d7e97c141edb620b3932e1e1cb39e70c654 11-Aug-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: whitespace cleanup around IO wakeup enable

Cleanup indentation around IO wakeup enable, the '\' terminator is
not required in C when wrapping an expression past end-of-line.

Whitespace change only.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
9ee9fff92e02e8c5f84794b3a5ce47646c2dfc39 21-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Rename dma_ch to dma_req

The dma request line attribute was named dma channel, which leads
to confusion with the real dma channel definition.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
80b517f362605f2b6a6cfe086604534290aab2de 16-Sep-2010 Ohad Ben-Cohen <ohad@wizery.com> omap: zoom: add mmc3/wl1271 device support

Add MMC3 support on ZOOM, which has the wl1271 device hardwired to.

The wl1271 is a 4-wire, 1.8V, embedded SDIO WLAN device with an
external IRQ line, and power-controlled by a GPIO-based fixed regulator.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
oard-zoom-peripherals.c
b642fde7f137566c993991fd2e7bf6b8274bf625 16-Sep-2010 Ohad Ben-Cohen <ohad@wizery.com> omap: zoom: add fixed regulator device for wlan

Add a fixed regulator vmmc device to enable power control
of the wl1271 wlan device.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
oard-zoom-peripherals.c
c1f9a095600e07fefe64eb94eb711f410100824a 16-Sep-2010 Ohad Ben-Cohen <ohad@wizery.com> wl12xx: make wl12xx.h common to both spi and sdio

Move wl12xx.h outside of the spi-specific location,
so it can be shared with both spi and sdio solutions.

Update all users of spi/wl12xx.h accordingly

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Acked-by: Luciano Coelho <luciano.coelho@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
oard-omap3pandora.c
oard-rx51-peripherals.c
455d4d2dc76471baec0c70daf8ff6c09fc743c24 15-Sep-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap: Update and rename common defconfig for omap2plus devices

This patch addresses below things

- Renaming existing omap3_defconfig which has OMAP2, OMAP3 and OMAP4 builds
enabled to more appropriate name 'omap2plus_defconfig'
- L1 cache shift is suppose to be 5 on OMAP4 where as it is 6 on previous
OMAPs. Keeping it to 5 is safer option for OMAP4 and previous OMAPs. For
OMAP3 only build the shift would be still 6
- Enable needed Errata's for OMAP4 to work with DMA based device drivers
CONFIG_PL310_ERRATA_588369=y
CONFIG_ARM_ERRATA_720789=y
- Enable the Micrel ethernet controller
CONFIG_KS8851=y
CONFIG_KS8851_MLL=y

With above three changes, OMAP4 ethernet, mmc etc works reliably.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
c3083411062106452649e464e55c7b856de0d29b 20-Sep-2010 Tony Lindgren <tony@atomide.com> omap: Fix CONFIG_LOCAL_TIMERS initialization for multi-omap

Fix CONFIG_LOCAL_TIMERS initialization for multi-omap

Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-By: Santosh Shilimkar <santosh.shilimkar@ti.com>
imer-gp.c
b744c679f62b368cb94c21c1dcd4618e42d88d63 03-Sep-2010 Dmitry Kasatkin <dmitry.kasatkin@nokia.com> crypto: updates to enable omap aes

Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
evices.c
a8165e0e6f0511d14132423b4bce2d285e890fc8 23-Aug-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Remove redefinition of rx51_aic3x_data

Redefinition of rx51_aic3x_data got introduced when merging upstread changes
for 2.6.36 and ASoC Multi-Component Support.

This must go together with multi-component commit f0fba2a.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
oard-rx51-peripherals.c
fd0964c5f1bdaa979a7ea5cfc9af2de9b0a1e766 19-Aug-2010 Heikki Krogerus <ext-heikki.krogerus@nokia.com> omap: rx51: Add support for USB chargers

This enables isp1704 power supply driver on RX51, allowing
USB charger detection with N900.

Signed-off-by: Heikki Krogerus <ext-heikki.krogerus@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
oard-rx51-peripherals.c
75a6d53b2b1b3f212ea0615ed3bb2d68a249af7b 17-Aug-2010 Jarkko Nikula <jhnikula@gmail.com> ASoC: multi-component - Drop board-n8x0.c changes

These will conflict with queued changes to board-n8x0.c coming from
linux-omap tree. Only side effect from this dropping is that the integrated
digital microphone on Nokia N810 will stop working when ASoC multi-component
is merged.

As currently the N810 is not very usable in mainline, I consider this as a
minor issue that can be fixed in linux-omap tree the after the
multi-component is merged.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
oard-n8x0.c
e4862f2f6f5653dfb67f3ba2b6f0bc74516ed51a 16-Aug-2010 Mark Brown <broonie@opensource.wolfsonmicro.com> Merge branch 'for-2.6.36' into for-2.6.37

Fairly simple conflicts, the most serious ones are the i.MX ones which I
suspect now need another rename.

Conflicts:
arch/arm/mach-mx2/clock_imx27.c
arch/arm/mach-mx2/devices.c
arch/arm/mach-omap2/board-rx51-peripherals.c
arch/arm/mach-omap2/board-zoom2.c
sound/soc/fsl/mpc5200_dma.c
sound/soc/fsl/mpc5200_dma.h
sound/soc/fsl/mpc8610_hpcd.c
sound/soc/pxa/spitz.c
58a5559e461a4ab945286dacef611d3c542c5fee 16-Aug-2010 Kevin Hilman <khilman@ti.com> OMAP3: PM: ensure IO wakeups are properly disabled

Commit 5a5f561 (convert OMAP3 PRCM macros to the _SHIFT/_MASK suffixes)
mistakenly removed the check for PER when disabling the IO chain.

During idle, if the PER powerdomain transitions into a lower state
and CORE does not, the IO pad wakeups are not being disabled in
the idle path after they are enabled. This can happen with the
lower C-states when using CPUidle for example.

This patch ensures that the check for disabling IO wakeups also checks
for PER transitions, matching the check done to enable IO wakeups.

Found when debugging PM/CPUidle related problems reported by Ameya
Palande <ameya.palande@nokia.com>. Problems were triggered
particularily on boards with UART2 consoles (n900, Overo) since UART2
is in the PER powerdomain.

Tested on l-o master (omap3_defonfig + CONFIG_CPU_IDLE=y) as well
as with current PM branch. Boards tested: n900, Overo, omap3evm.

Cc: Paul Walmsley <paul@pwsan.com>
Cc: Ameya Palande <ameya.palande@nokia.com>
Tested-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[tony@atomide.com: updated description to clarify the transistion]
Signed-off-by: Tony Lindgren <tony@atomide.com>
m34xx.c
c45bd374e560873f2fff392769b9576c4f3bad40 16-Aug-2010 Tony Lindgren <tony@atomide.com> omap: Use CONFIG_SMP for test_for_ipi and test_for_ltirq

Otherwise we get the following error when enabling CONFIG_SMP
for omap3_defconfig:

arch/arm/kernel/entry-armv.S: Assembler messages:
arch/arm/kernel/entry-armv.S:48: Error: bad instruction `test_for_ipi r0,r6,r5,lr'
arch/arm/kernel/entry-armv.S:48: Error: bad instruction `test_for_ltirq r0,r6,r5,lr'
arch/arm/kernel/entry-armv.S:48: Error: bad instruction `test_for_ipi r0,r6,r5,lr'
arch/arm/kernel/entry-armv.S:48: Error: bad instruction `test_for_ltirq r0,r6,r5,lr'

Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
nclude/mach/entry-macro.S
a4192d32ae6788dc607e96fa85f9c9c8274e2212 16-Aug-2010 Tony Lindgren <tony@atomide.com> omap: Fix sev instruction usage for multi-omap

Otherwise we get the following error with omap3_defconfig and CONFIG_SMP:

Error: selected processor does not support `sev'

Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
akefile
map-smp.c
8098bb0d8c7fe4ace7d13274c85a149503eee114 16-Aug-2010 stanley.miao <stanley.miao@windriver.com> OMAP3: Fix a cpu type check problem

cpu_is_omap3517() and cpu_is_omap3505() are the subgroups of cpu_is_omap34xx(),
so we should check cpu_is_omap3517() and cpu_is_omap3505() first, then check
cpu_is_omap34xx().

Otherwise, All AM35XX (Sitara) clocks do not get registered and device drivers
(ti_hecc, etc...) that depend on those clocks are failing to get the clock and
end up with non working device.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock3xxx_data.c
77c0870ca515667b77750b397008d68a17fad9d8 16-Aug-2010 Nishanth Menon <nm@ti.com> omap3: id: fix 3630 rev detection

Wrong placement of break causes all revisions of 3630 to be
detected as 3630 es1.2, we need to break main loop if we have
an identified chip, default falls through as in the rest of the
switches in this function.

Cc: Paul Walmsley <paul@pwsan.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Manjunath K <manjugk@ti.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
Cc: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
f0fba2ad1b6b53d5360125c41953b7afcd6deff0 17-Mar-2010 Liam Girdwood <lrg@slimlogic.co.uk> ASoC: multi-component - ASoC Multi-Component Support

This patch extends the ASoC API to allow sound cards to have more than one
CODEC and more than one platform DMA controller. This is achieved by dividing
some current ASoC structures that contain both driver data and device data into
structures that only either contain device data or driver data. i.e.

struct snd_soc_codec ---> struct snd_soc_codec (device data)
+-> struct snd_soc_codec_driver (driver data)

struct snd_soc_platform ---> struct snd_soc_platform (device data)
+-> struct snd_soc_platform_driver (driver data)

struct snd_soc_dai ---> struct snd_soc_dai (device data)
+-> struct snd_soc_dai_driver (driver data)

struct snd_soc_device ---> deleted

This now allows ASoC to be more tightly aligned with the Linux driver model and
also means that every ASoC codec, platform and (platform) DAI is a kernel
device. ASoC component private data is now stored as device private data.

The ASoC sound card struct snd_soc_card has also been updated to store lists
of it's components rather than a pointer to a codec and platform. The PCM
runtime struct soc_pcm_runtime now has pointers to all its components.

This patch adds DAPM support for ASoC multi-component and removes struct
snd_soc_socdev from DAPM core. All DAPM calls are now made on a card, codec
or runtime PCM level basis rather than using snd_soc_socdev.

Other notable multi-component changes:-

* Stream operations now de-reference less structures.
* close_delayed work() now runs on a DAI basis rather than looping all DAIs
in a card.
* PM suspend()/resume() operations can now handle N CODECs and Platforms
per sound card.
* Added soc_bind_dai_link() to bind the component devices to the sound card.
* Added soc_dai_link_probe() and soc_dai_link_remove() to probe and remove
DAI link components.
* sysfs entries can now be registered per component per card.
* snd_soc_new_pcms() functionailty rolled into dai_link_probe().
* snd_soc_register_codec() now does all the codec list and mutex init.

This patch changes the probe() and remove() of the CODEC drivers as follows:-

o Make CODEC driver a platform driver
o Moved all struct snd_soc_codec list, mutex, etc initialiasation to core.
o Removed all static codec pointers (drivers now support > 1 codec dev)
o snd_soc_register_pcms() now done by core.
o snd_soc_register_dai() folded into snd_soc_register_codec().

CS4270 portions:
Acked-by: Timur Tabi <timur@freescale.com>

Some TLV320aic23 and Cirrus platform fixes.
Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>

TI CODEC and OMAP fixes
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>

Samsung platform and misc fixes :-
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>

MPC8610 and PPC fixes.
Signed-off-by: Timur Tabi <timur@freescale.com>

i.MX fixes and some core fixes.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

J4740 platform fixes:-
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>

CC: Tony Lindgren <tony@atomide.com>
CC: Nicolas Ferre <nicolas.ferre@atmel.com>
CC: Kevin Hilman <khilman@deeprootsystems.com>
CC: Sascha Hauer <s.hauer@pengutronix.de>
CC: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
CC: Kuninori Morimoto <morimoto.kuninori@renesas.com>
CC: Daniel Gloeckner <dg@emlix.com>
CC: Manuel Lauss <mano@roarinelk.homelinux.net>
CC: Mike Frysinger <vapier.adi@gmail.com>
CC: Arnaud Patard <apatard@mandriva.com>
CC: Wan ZongShun <mcuos.com@gmail.com>

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
oard-n8x0.c
oard-rx51-peripherals.c
oard-zoom2.c
evices.c
nclude/mach/board-zoom.h
ed199f7e7346ba508f803180ecc6830e92558a1e 11-Aug-2010 Grazvydas Ignotas <notasas@gmail.com> omap: pandora: pass wl1251 information to SDIO core

Pandora has TI WL1251 attached on MMC3, which is non-standard SDIO chip.
Make use MMC_QUIRK_NONSTD_SDIO to tell SDIO core about it.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Bob Copeland <me@bobcopeland.com>
Cc: Kalle Valo <kvalo@adurom.com>
Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Kishore Kadiyala <kishore.kadiyala@ti.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
oard-omap3pandora.c
smmc.c
smmc.h
537d84787659b355b3331813dc134c7497ddafa5 08-Aug-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux

* 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (64 commits)
OMAP: DSS2: OMAPFB: add support for FBIO_WAITFORVSYNC
OMAP: DSS2: Replace strncmp() with sysfs_streq() in overlay_manager_store()
OMAP: DSS2: Fix error path in omap_dsi_update()
OMAP: DSS2: TDO35S: fix video signaling
OMAP: DSS2: OMAPFB: Fix invalid bpp for PAL and NTSC modes
OMAP: DSS2: OMAPFB: Fix probe error path
OMAP3EVM: Replace vdvi regulator supply with vdds_dsi
OMAP: DSS2: Remove extra return statement
OMAP: DSS2: adjust YUV overlay width to be even
OMAP: DSS2: OMAPFB: Fix sysfs mirror input check
OMAP: DSS2: OMAPFB: Remove redundant color register range check
OMAP: DSS2: OMAPFB: Remove redundant rotate range check
OMAP: DSS2: OMAPFB: Check fb2display() return value
OMAP: DSS2: Taal: Optimize enable_te, rotate, mirror when value unchanged
OMAP: DSS2: DSI: detect unsupported update requests
OMAP: DSS2: DSI: increase FIFO low threshold
OMAP: DSS2: DSI: Add error IRQ mask for DSI complexIO
OMAP: DSS2: DSI: Remove BTA after set_max_rx_packet_size
OMAP: DSS2: change manual update scaling setup
OMAP: DSS2: DSI: use BTA to end the frame transfer
...
d71048e22f47725a5808ea2e4e1e72fa36c1a788 08-Aug-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (143 commits)
omap: mailbox: reorganize headers
omap: mailbox: standarize on 'omap-mailbox'
omap: mailbox: only compile for configured archs
omap: mailbox: simplify omap_mbox_register()
omap: mailbox: reorganize registering
omap: mailbox: add IRQ names
omap: mailbox: remove unecessary fields
omap: mailbox: don't export unecessary symbols
omap: mailbox: update omap1 probing
omap: mailbox: use correct config for omap1
omap: mailbox: 2420 should be detected at run-time
omap: mailbox: reorganize structures
omap: mailbox: trivial cleanups
omap mailbox: Set a device in logical mbox instance for traceability
omap: mailbox: convert block api to kfifo
omap: mailbox: remove (un)likely macros from cold paths
omap: mailbox cleanup: split MODULE_AUTHOR line
omap: mailbox: convert rwlocks to spinlock
Mailbox: disable mailbox interrupt when request queue
Mailbox: new mutext lock for h/w mailbox configuration
...
faa38b5e0e092914764cdba9f83d31a3f794d182 08-Aug-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (214 commits)
ALSA: hda - Add pin-fix for HP dc5750
ALSA: als4000: Fix potentially invalid DMA mode setup
ALSA: als4000: enable burst mode
ALSA: hda - Fix initial capsrc selection in patch_alc269()
ASoC: TWL4030: Capture route runtime DAPM ordering fix
ALSA: hda - Add PC-beep whitelist for an Intel board
ALSA: hda - More relax for pending period handling
ALSA: hda - Define AC_FMT_* constants
ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs
ALSA: hda - Add support for HDMI HBR passthrough
ALSA: hda - Set Stream Type in Stream Format according to AES0
ALSA: hda - Fix Thinkpad X300 so SPDIF is not exposed
ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the ability to use SPDIF
ASoC: wm9081: fix resource reclaim in wm9081_register error path
ASoC: wm8978: fix a memory leak if a wm8978_register fail
ASoC: wm8974: fix a memory leak if another WM8974 is registered
ASoC: wm8961: fix resource reclaim in wm8961_register error path
ASoC: wm8955: fix resource reclaim in wm8955_register error path
ASoC: wm8940: fix a memory leak if wm8940_register return error
ASoC: wm8904: fix resource reclaim in wm8904_register error path
...
f3fe53c12000adfd50b6a111bd0f5b27a412ca31 19-Mar-2010 Vaibhav Hiremath <hvaibhav@ti.com> OMAP3EVM: Replace vdvi regulator supply with vdds_dsi

With recent changes happened in OMAP2/3 DSS library for regulator interface, it
is required to define DSI regulator supply, without this DSS (in turn Fbdev)
fails to get regulator.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
oard-omap3evm.c
e71981343ad29b5d929f82ac56c0b27b8ea0e540 05-Aug-2010 Takashi Iwai <tiwai@suse.de> Merge branch 'topic/asoc' into for-linus
d790d4d583aeaed9fc6f8a9f4d9f8ce6b1c15c7f 04-Aug-2010 Jiri Kosina <jkosina@suse.cz> Merge branch 'master' into for-next
d21872b3683ff37f73c68993749a6e6aeeaed265 04-Aug-2010 Tony Lindgren <tony@atomide.com> Merge branch 'v2.6.35-omap-mailbox-for-next' of git://gitorious.org/~doyu/lk/mainline into omap-for-linus

Conflicts:
arch/arm/mach-omap1/devices.c
b3e69146f43fa351aa3cdffe2e76ec42174da612 11-Jun-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: mailbox: reorganize headers

Remove kernel.h and module.h since they are not used correctly anyway.

Also, remove device.h since it comes along with platform_device.h
(always will I guess).

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
d742709ea4de70f4bf5e9b5171d37b92b5345ea3 11-Jun-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: mailbox: standarize on 'omap-mailbox'

omap{1,2}-mailbox are modules that provide the 'omap-mailbox' driver.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
evices.c
ailbox.c
14476bd9373ed76858eaeb038eff8790ba36030e 11-Jun-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: mailbox: only compile for configured archs

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
9c80c8cd740f802eed27ed1c1334262b205bb8f5 11-Jun-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: mailbox: simplify omap_mbox_register()

No need to dynamically register mailboxes one by one.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
898ee75623d5a151157e3f0dca12b0148051e2d6 11-Jun-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: mailbox: reorganize registering

It's more extensible this way.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
1f2c4dfd30edfe9125a00d76596ebb3adabd8a5a 11-Jun-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: mailbox: add IRQ names

Will be useful to identify them later.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
evices.c
4b191eb9604a6eb6f411c47814707e0ff8027c44 11-Jun-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: mailbox: don't export unecessary symbols

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
7b2729a15bd512180706340d9b1bf3e63fe009bf 11-Jun-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: mailbox: 2420 should be detected at run-time

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
07d65d8b91c2f514e32014ae4b02f58cbd35820c 11-Jun-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: mailbox: reorganize structures

OMAP4 ones messed up the organization.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
909f9dc71e31e77b6a354b54141e7e9905281156 11-Jun-2010 Felipe Contreras <felipe.contreras@gmail.com> omap: mailbox: trivial cleanups

And fix a few compilation warnings.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
f375325a040d03e2c620394ebc8bcaf0bdba01da 05-May-2010 Ohad Ben-Cohen <ohad@wizery.com> omap: mailbox cleanup: split MODULE_AUTHOR line

use multiple MODULE_AUTHOR lines for multiple authors

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
58dcfb3a0f5eb0a882f7b696d4d2dc49b709ce5c 14-Jul-2010 Anand Gadiyar <gadiyar@ti.com> omap: 3630: disable TLL SAR on 3630 ES1

USBTLL Save-and-Restore is broken in 3630 ES1.0. Having it
enabled could result in incorrect register restores as
the OMAP exits off-mode. This could potentially result in
unexpected wakeup events.

(Refer 3630 errata ID i579)

This is fixed in ES1.1. So disable it for ES1.0s.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
owerdomains34xx.h
b0a1a6ce0597662c06f970643da60b8ebb5cdd1c 03-Aug-2010 Anand Gadiyar <gadiyar@ti.com> OMAP3630: Add ES1.1 and ES1.2 detection

Add revision detection for ES1.1 and ES1.2. Set default
revision as ES1.2.

Add CHIP_GE_OMAP3630ES1_1 to detect revisions 1.1 and later.
This is needed for at least one feature that is broken in
3630ES1.0 but exists on older (3430 ES3.1) and newer revisions.

Additionally, update some of the CHIP_GE_* macros to use other
macros for ease of maintenance.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Manjunatha GK <manjugk@ti.com>
[tony@atomide.com: update to remove fallthrough handling]
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
7590d1defdc720a97a9e186f45f529c4ae1b40f7 04-Aug-2010 Tony Lindgren <tony@atomide.com> Merge branch 'devel-map-io' into omap-for-linus
869fef41547db95df8523bf67845a21313709428 04-Aug-2010 Mike Rapoport <mike@compulab.co.il> omap3: introduce omap3_map_io

Most OMAP3-based boards use exactly the same code for .map_io method in
the machine_desc structure.
This patch introduces omap3_map_io and updates board-* files to use it
as .map_io method.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-3630sdp.c
oard-am3517evm.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
oard-zoom2.c
oard-zoom3.c
c573bcf96a427923d09de0b247691165d9a96023 04-Aug-2010 Sergio Aguirre <saaguirre@ti.com> omap3: Unify omap2_set_globals_3[43,6x]x functions

The only difference between them is the physical address of the
uart4 port, which is only present in 36xx chips.

We don't really need to care about keeping these 2 functions, since
the decision to use uart4 is more cleanly done later when we do have
access to omap_revision variable.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
[tony@atomide.com: added comment for the uart4_phys]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-3630sdp.c
oard-am3517evm.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3stalker.c
oard-omap3touchbook.c
oard-overo.c
oard-rx51.c
oard-zoom2.c
oard-zoom3.c
7e788b4289bb025a96e327c604cb2db92e17108f 03-Aug-2010 Jason Wang <jason77.wang@gmail.com> omap: Fix DEBUG_LL uart to access phys addr when MMU isn't enable

Now we use a memory address to store the debug port info, So we need
to read/write this address when we choose DEBUG_LL. When MMU isn't
enable(I.E. the begining part of init stage of the linux kernel boot),
we need to access physical address instead of virtual address,
otherwise the kernel will crash.

Signed-off-by: Jason Wang <jason77.wang@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/debug-macro.S
331d919af416b9b92428947ef8c535a3e24c6b31 04-Aug-2010 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.36' of git://git.pwsan.com/linux-2.6 into omap-for-linus
047b51fb208c716294b4682c904df8a3ad8b6a69 09-Jul-2010 Thomas Weber <weber@corscience.de> OMAP2: powerdomain: Add break in switch statement

Add a missing break at end of switch statement. At the moment it is a
fall through to WARN_ON(1) and return -EEXIST.

Signed-off-by: Thomas Weber <weber@corscience.de>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
owerdomain.c
2430f9df61e2ea47ea468dfe22b7e2db97111fb4 09-Jul-2010 Sukumar Ghorai <s-ghorai@ti.com> omap3: add support for NAND on LDP board

patch adds NAND support to LDP board.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-ldp.c
7875eea5caf641e36cd9b5755c1d84810469fe30 09-Jul-2010 Sukumar Ghorai <s-ghorai@ti.com> omap-3630-sdp : Add support for Flash

add support for NAND, OneNAND, NOR on omap 3630-sdp board.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-3630sdp.c
e08b105ecdec0bfc8b9bb4d98bc2fc6cc7526938 09-Jul-2010 Sukumar Ghorai <s-ghorai@ti.com> omap3: add support for NAND on zoom3 board

patch adds NAND support to zoom3 board.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-zoom3.c
7e7eb4263ee1f041a9f1b48738b98ef99ef73995 09-Jul-2010 Sukumar Ghorai <s-ghorai@ti.com> omap3: add support for NAND on zoom2 board

This patch adds NAND support to ZOOM2 board.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-zoom2.c
nclude/mach/board-zoom.h
13d6b73cf189945b7d20e749f9034329d227be6a 09-Jul-2010 Sukumar Ghorai <s-ghorai@ti.com> omap3 flash: rename board-sdp-flash.c to be use by other boards

rename board-sdp-flash.c(board-flash.c) and board-sdp.h(board-flash.h) to
used by other board e.g. zoom

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-3430sdp.c
oard-flash.c
oard-sdp-flash.c
nclude/mach/board-flash.h
nclude/mach/board-sdp.h
f450d86790ebf72ac93c7ea5addd6fa278aae64c 09-Jul-2010 Sukumar Ghorai <s-ghorai@ti.com> omap3 nand: fix issue in board file to detect nand

Board file modified for not to provide gpmc phys_base address to nand driver.
The gpmc_nand_init funciton is now used to detect the nand and required to
adopt _prob function as in nand/omap2.c

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
oard-devkit8000.c
oard-omap3beagle.c
oard-omap3touchbook.c
oard-overo.c
oard-sdp-flash.c
2c01946c6b9ebaa5a89710bc42ca224a7f52f227 09-Jul-2010 Sukumar Ghorai <s-ghorai@ti.com> omap3 nand: cleanup virtual address usages

This patch removes direct reference of gpmc address from generic nand platform code.
Nand platform code now uses wrapper functions which are implemented in gpmc module.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-nand.c
pmc.c
948d38e799f0ab87cf8ed9113fcdaaee61acf321 09-Jul-2010 Sukumar Ghorai <s-ghorai@ti.com> omap3 gpmc: functionality enhancement

few functions added in gpmc module and to be used by other drivers like NAND.

Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
055a1b8c9927bc587f293020a54c6cd8e24dfac0 02-Aug-2010 Tony Lindgren <tony@atomide.com> Merge branch 'devel-misc' into omap-for-linus
8a6f7e14fc3b3ea911838c3f4ce137cb8a3d134a 02-Aug-2010 Grazvydas Ignotas <notasas@gmail.com> omap: mux: fix multipath gpio handling

OMAP3530 CBB package can have GPIO126 muxed on 2 pins: mmc1_dat4 and
cam_strobe. This causes a problem with current multipath GPIO mux
handling, which muxes both pins as GPIO126 and makes the GPIO unusable.

Fix this by not muxing any pins if multipath GPIO is detected and
just print a warning instead. It's up to board files to set correct
mux using omap_mux_init_signal and pin name.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
f535daed925c2d3c1db06b06a63c4955f2c51988 02-Aug-2010 Kan-Ru Chen <kanru@0xlab.org> omap: Devkit8000: Use DIE id to initialize dm9000 MAC address

The devkit8000 boards often come with empty EEPROM thus without
valid ethernet MAC address. The DIE id to MAC formula is copied from
u-boot.

Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
c46732bbf3477f319083161bfa2fba1fadae7a3e 02-Aug-2010 Kan-Ru Chen <kanru@0xlab.org> omap: Use omap_get_die_id() to get the DIE ids

Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
2e130fc3d4fd5b38ee5d3c0a5c7f9fb85bce698e 02-Aug-2010 Kan-Ru Chen <kanru@0xlab.org> omap: Add new interface omap_get_die_id

Allow DIE id to be get and used by others.

Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
nclude/mach/id.h
ad0c63f1d623ea9d3e0c0521d5ce9cd522c4e1f0 02-Aug-2010 stanley.miao <stanley.miao@windriver.com> OMAP3: AM3505/3517 do not have IO wakeup capability

AM3505/3517 doesn't have IO wakeup capability, so we do not need to set
the bit OMAP3430_EN_IO and the bit OMAP3430_EN_IO_CHAIN in the register
PM_WKEN_WKUP when the system enters suspend state.

Tested on AM3517EVM and OMAP3530EVM.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
m34xx.c
5ebc0d526af51d84b3d6fbf27b69f8d44f277064 02-Aug-2010 Nishanth Menon <nm@ti.com> omap2/3: id: fix sparse warning

omap24xx_check_revision, omap3_check_features,
omap3_check_revision, omap4_check_revision, omap3_cpuinfo
are not used elsewhere, it should be static

Also fixes the following sparse warnings:
arch/arm/mach-omap2/id.c:105:13: warning: symbol 'omap24xx_check_revision'
was not declared. Should it be static?
arch/arm/mach-omap2/id.c:167:13: warning: symbol 'omap3_check_features'
was not declared. Should it be static?
arch/arm/mach-omap2/id.c:189:13: warning: symbol 'omap3_check_revision'
was not declared. Should it be static?
arch/arm/mach-omap2/id.c:270:13: warning: symbol 'omap4_check_revision'
was not declared. Should it be static?
arch/arm/mach-omap2/id.c:300:13: warning: symbol 'omap3_cpuinfo'
was not declared. Should it be static?

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
a5ba7ae2a1b9d4ce0b2ad1cd902af88ac6f7ef33 02-Aug-2010 Steve Sakoman <sakoman@gmail.com> omap: Overo: Fix support for second ethernet port

The original patch got truncated when applied from patchwork.kernel.org
as discussed at:

http://www.mail-archive.com/linux-omap@vger.kernel.org/msg28953.html

This patch supplies the missing chunks.

Signed-off-by: Steve Sakoman <sakoman@gmail.com>
[tony@atomide.com: added more info to the patch description]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-overo.c
25d6f63093ef5fa596318d7790e6d5029a711a75 02-Aug-2010 Tony Lindgren <tony@atomide.com> omap2: Fix GPIO numbers and smc91x for 2430sdp

Fix GPIO numbers and smc91x for 2430sdp. The earlier code
had cut and paste errors from 3430sdp code. Also, 2430
has five GPIO banks for a total of 160 GPIO lines.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
7d35b8d09fb0cb0a89c8c265a5bfb52c2867b1d5 02-Aug-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: hotplug: Add basic CPU hotplug support

This patch adds cpu hotplug support for OMAP4430. Only CPU inactive
state is supported as a low power state in the basic hot-plug support

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
nclude/mach/omap4-common.h
map-hotplug.c
map-smp.c
3f9eaf0984952f69cb2d0c1b0f99b95b74742094 02-Aug-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: Add smc API to read AuxCoreBoot0 register

This patch adds a secure API to read AuxCoreBoot0 register to
check the cpu boot status. It also moves the other smc APIs
to common omap44xx-smc.S. This APIs should not be marked as
__INIT because we need these to be present for CPU hotplug

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map-headsmp.S
map44xx-smc.S
5643aebbc088332e6722750c45bcd83f61af071e 02-Aug-2010 Rajendra Nayak <rnayak@ti.com> omap4: suspend: Add basic system suspend support

This patch adds support for basic suspend doing a CPUx wfi
for OMAP4. All powerdomains are for now are kept programmed
in ON state.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
m44xx.c
0003450964357ec85eeeeda2e4bb8b06a6f82ad3 02-Aug-2010 Deepak K <deepak.k@ti.com> omap2/3/4: serial: errata i202: fix for MDR1 access

Errata i202 (OMAP3430 - 1.12, OMAP3630 - 1.6):
UART module MDR1 register access can cause a dummy underrun
condition which could result in a freeze in the case of IrDA
communication or if used as UART, corrupted data.

Workaround is as follows for everytime MDR1 register is changed:
* setup all required UART registers
* setup MDR1.MODE_SELECT bit field
* Wait 5 L4 clk cycles + 5 UART functional clock cycles
* Clear the Tx and RX fifo using FCR register

Note: The following step is not done as I am assuming it is not
needed due to reconfiguration being done and there is no halted
operation perse.
* Read if required, the RESUME register to resume halted operation

Based on an earlier patch at:
http://git.omapzoom.org/?p=kernel/omap.git;a=commitdiff;h=42d4a342c009bd9727c100abc8a4bc3063c22f0c

Signed-off-by: Deepak K <deepak.k@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
5a927b36f56c2a937e67f0947f233f723660f690 02-Aug-2010 Nishanth Menon <nm@ti.com> omap2/3/4: serial: introduce errata handling

introduce silicon specific quirks as a errata handling mechanism

as a start UART_ERRATA_FIFO_FULL_ABORT is used to handle the override
for fifo full condition for rx and tx.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
bfe6977ac7b96e5a6665546c0efd733cd290d0ca 02-Aug-2010 Nishanth Menon <nm@ti.com> omap2/3/4: serial: kill dev_attr_sleep_timeout sparse warn

Remove the following sparse warnings by declaring attr as static:
arch/arm/mach-omap2/serial.c:627:1: warning: symbol 'dev_attr_sleep_timeout'
was not declared. Should it be static?

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
c54bae1f06075e49206e7c327b4213e8b5a9b5fb 02-Aug-2010 Nishanth Menon <nm@ti.com> omap2/3/4: serial: remove initialization sparse warnings

Initialization of pointer should be done with NULL. Removes sparse
warnings:
arch/arm/mach-omap2/serial.c:566:17: warning: Using plain integer as NULL pointer
arch/arm/mach-omap2/serial.c:567:17: warning: Using plain integer as NULL pointer

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
5ade4ff593c8f91f7e1288c6bc9aff046b62e0d6 02-Aug-2010 Govindraj R <govindraj.raja@ti.com> omap3: serial: Add context save and restore for mcr

Adds context save/restore for mcr register as state of mcr register
is lost after core off.

Signed-off-by: Govindraj R <govindraj.raja@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
b075f58b2c0f377b4bfbe11b817e003393bcb489 02-Aug-2010 David Anders <x0132446@ti.com> omap4: Add OMAP4 Panda Support

Add initial support for the OMAP4 based Panda Board.

Signed-off-by: David Anders <x0132446@ti.com>
[tony@atomide.com: selected board by default in Kconfig]
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-omap4panda.c
509b6d9314eaf227db63a6336d3682f00578c550 02-Aug-2010 Hemanth V <hemanthv@ti.com> OMAP4: Add GPIO LED support for SDP board

This patch adds support for GPIO LEDs present on OMAP4
SDP and Blaze boards. This basically adds platform data
required by leds-gpio driver

Signed-off-by: Hemanth V <hemanthv@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
83078f9bdcc3218e769849921ee67820ea125cf4 02-Aug-2010 Shubhrajyoti Datta <shubhrajyoti@ti.com> omap4: Board changes for 4430sdp tmp105 temperature sensor

Adding board configuration for the tmp105
temperature sensor. The interface to the sensor
is I2C.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
5026391c2ade39cdce93f6d6817ae5782f63a702 02-Aug-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: mmc: Fix the regulator resource for MMC2 on 4430sdp

The MMC1 and MMC2 cards have seperate LDO supplies. Current code assumes
that they are powered by same LDO.

This patch fixes the same and has VAUX1 as supply to MMC2 card.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Tested-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
70b5d7377ec8640d5e5ff8c70da218fc20bef0c2 02-Aug-2010 Mathias Nyman <mathias.nyman@nokia.com> omap: tsl2563 ALS support for Nokia N900

This commit will enable usage of tsl2563 ambient light sensor on Nokia N900.

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>
oard-rx51-peripherals.c
64d066918272db2a851e4884e38f264fd6b3c07b 02-Aug-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Add supply and data for the tpa6130a2 headphoneamplifier

With these and upcoming change to tpa6130a2 driver it's possible to add
support for the TPA6130A2 headphone amplifier.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
5c7d9bbec6415a00860e4ee482a794c940ba8733 02-Aug-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Use REGULATOR_SUPPLY macro when initializingregulator consumers

There is REGULATOR_SUPPLY macro available for initializing the struct
regulator_consumer_supply so use it where applicable (all other supplies
than vdds_sdi) as it improves the readability.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
87581fd4a9c038dc18684b9336f2c59eee1710cc 02-Aug-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Add platform_data for tlv320aic3x with reset gpionumber

Proper operation of the tlv320aic3x audio codec requires that reset
sequencing is done in pair with supply voltages when using the regulator
framework. Add the codec reset gpio used in Nokia RX51 to tlv320aic3x
data.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
000d534ed7adf976652921f0bdd1dae14484bce8 02-Aug-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Set regulator V28 always on

It seems that the battery cover sensor in Nokia N900 is powered from the
V28 domain. Now if this regulator is disabled it causes that the gpio 160
reads only zero which effectively causes uSD removal detection.

Currently the bootloader enabled V28 is kept on but this may change in the
future according to comment in
drivers/regulator/core.c: regulator_has_full_constraints.

Also if there are any consumers on the V28 domain doing regulator_enable
regulator_disable cycle the V28 will be disabled after that.

Prepare for these by defining the V28 as always_on regulator.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
79ccf549b33c613b57eebcb03f8b24644c545a88 02-Aug-2010 Grazvydas Ignotas <notasas@gmail.com> omap3: pandora: add NAND and wifi support

Add platform data for NAND and wifi, also setup all GPIOs
needed to use the wifi chip.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
ad74db60418fcb5946529816b54b6f3ceeff3d6d 02-Aug-2010 Grazvydas Ignotas <notasas@gmail.com> omap3: pandora: update gpio-keys data

Update gpio-keys setup so it matches what is on default firmware.
Also make use of debounce feature in gpio-keys instead of setting it
explicitly, as gpio-keys is now capable of using hardware debounce on
OMAPs thanks to recent gpiolib changes.
Also fix a sparce warning along the way.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
c3777c19d26cbd5a3e48c63602ac1a527c3175db 02-Aug-2010 Ohad Ben-Cohen <ohadb@ti.com> omap: zoom3: wlan board muxing

Add board muxing to support the wlan wl1271 chip that is
hardwired to mmc2 (third mmc controller) on the ZOOM3.

Signed-off-by: Ohad Ben-Cohen <ohadb@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom3.c
7b2308cfc92f1de95ef942fa8c3faf72dc2476f9 02-Aug-2010 Ohad Ben-Cohen <ohadb@ti.com> omap: zoom2: wlan board muxing

Add board muxing to support the wlan wl1271 chip that is
hardwired to mmc2 (third mmc controller) on the ZOOM2.

Signed-off-by: Ohad Ben-Cohen <ohadb@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom2.c
b31fc7af78e17b0203e1cd5a195c590e8adeae0d 31-Jul-2010 Russell King <rmk+kernel@arm.linux.org.uk> Merge branches 'at91', 'ep93xx', 'kexec', 'iop', 'lmb', 'nomadik', 'nuc', 'pl', 'spear' and 'versatile' into devel
887adeac28a3e354ebb3f9aeca6fc2296c105267 27-Jul-2010 Paul Walmsley <paul@pwsan.com> OMAP2+: hwmod/device: update documentation and copyright

Update some minor documentation issues and update copyright for
omap_device/omap_hwmod code.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Benoît Cousson <b-cousson@ti.com>
map_hwmod.c
db2a60bf2527209b42e6f512d5892089a835ceaa 27-Jul-2010 Paul Walmsley <paul@pwsan.com> OMAP: hwmod/device: add omap_{device,hwmod}_get_mpu_rt_va

Add omap_device_get_mpu_rt_va(). This is intended to be used by
device drivers (currently, via a struct platform_data function
pointer) to retrieve their corresponding device's virtual base address
that the MPU should use to access the device. This is needed because
the omap_hwmod code does its own ioremap(), in order to gain access to
the module's OCP_SYSCONFIG register.

Add omap_hwmod_get_mpu_rt_va(). omap_device_get_mpu_rt_va() calls this
function to do the real work.

While here, rename struct omap_hwmod._rt_va to struct
omap_hwmod._mpu_rt_va, to reinforce that it refers to the MPU's
register target virtual address base (as opposed to, for example, the
L3's).

In the future, this belongs as a function in an omap_bus, so it is not
necessary to call this through a platform_data function pointer.

The use-case for this function was originally presented by Santosh
Shilimkar <santosh.shilimkar@ti.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
map_hwmod.c
08072acf3a23febd1b676f1d908c6c0b9ddf167c 27-Jul-2010 Paul Walmsley <paul@pwsan.com> OMAP2: hwmod data: add IVA1 (2420), IVA2 (2430) hwmods

Add IVA1 hwmod data for OMAP2420 and IVA2 hwmod data for 2430. The data
is based on Benoît Cousson's hwmod data for the OMAP3 IVA blocks.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
540064bfdb201c8b4abe248729673991246ebc72 27-Jul-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: hwmod data: add data for OMAP3 IVA2

Add hwmod data for IVA2 module on OMAP3.

Naming of "iva" instead of "iva2" to be aligned with OMAP4 naming done
by Benoit Cousson.

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_3xxx_data.c
4a7cf90a01a642969e61879337f6524dbdde05c2 27-Jul-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2&3: hwmod: Replace l3 -> l3_main

Replace all the struct that contain l3 with l3_main in order
to be consistent with the OMAP4 naming convention.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
90709ae91b7492ccf280252f612cd4215b725db9 27-Jul-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP: hwmod data: add class for IVA hwmods

Add a new hwmod class for IVA devices. To be used when hwmods
are created for IVA2 on OMAP3.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_common_data.c
map_hwmod_common_data.h
6f88e9bc21746be9b15f1d8dcacf7595807e8828 27-Jul-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP: PM: create omap_devices for MPU, DSP, L3

Create simple omap_devices for the main processors and busses.

This is required to support the forth-coming device-based OPP
approach, where OPPs are managed and tracked at the device level.

Also, move these common PM init functions into a common_pm_init call
that is called as a device_initcall(). The PM init is done at this level
to ensure that the driver core is initialized before initialized.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[paul@pwsan.com: sparse warnings cleaned up; newly-created functions moved
from mach-omap2/io.c to mach-omap2/pm.c; newly-created functions renamed
to start with "omap2" rather than "omap"]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
o.c
m.c
681fddc6d087359c1e3f86529973f5bf62afe4c0 27-Jul-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: hwmod: Enable omap_device build for OMAP4

Enable omap_device layer support for OMAP4, so that drivers can
use them to enable/idle/shutdown devices.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
97d60162f64ef068b639d8a77ef3bc148baa53ad 27-Jul-2010 Paul Walmsley <paul@pwsan.com> OMAP: hwmod: allow omap_hwmod_late_init() caller to skip module idle in _setup()

On kernels that don't use the omap_device_enable() calls to enable
devices, leave all on-chip devices enabled in hwmod _setup().
Otherwise, accesses to those devices are likely to fail, crashing the
system. It's expected that kernels built without CONFIG_PM_RUNTIME
will be the primary use-case for this. This functionality is
controlled by adding an extra parameter to omap_hwmod_late_init().

This patch is based on the patch "OMAP: hwmod: don't auto-disable
hwmod when !CONFIG_PM_RUNTIME" by Kevin Hilman
<khilman@deeprootsystems.com>.

Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
o.c
map_hwmod.c
848240223c35fcc71c424ad51a8e8aef42d3879c 27-Jul-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP: hwmod: add non-locking versions of enable and idle functions

Some hwmods may need to be idled/enabled in atomic context, so
non-locking versions of these functions are required.

Most users should not need these and usage of theses should be
controlled to understand why access is being done in atomic context.
For this reason, the non-locking functions are only exposed at the
hwmod level and not at the omap-device level.

The use-case that led to the need for the non-locking versions is
hwmods that are enabled/idled from within the core idle/suspend path.
Since interrupts are already disabled here, the mutex-based locking in
hwmod can sleep and will cause potential deadlocks.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
fa98347ebf1c516e49694e1584cd96a63428676a 27-Jul-2010 Benoit Cousson <b-cousson@ti.com> OMAP2&3: hwmod: Remove _hwmod prefix in name string

In the lastest OMAP4 hwmod data file, the _hwmod was removed
in order to save some memory space and because it does not
bring a lot.
Align OMAP2420, 2430 and 3430 data files with the same convention.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
2eb1875d2b7560e70c19a11daa00e06e0de9eea1 27-Jul-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3: hwmod: L3 and L4 CORE/PER/WKUP hwmods don't have IDLEST

Since these hwmods do not have IDLEST, set the HWMOD_NO_IDLEST flag,
otherwise _enable() will fail due to failing _wait_target_ready().

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
6405616754f70a11c5410b321495fcd61e70b240 27-Jul-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP24xx: CM: fix mask used for checking IDLEST status

On OMAP24xx, the polarity for the IDLEST bits is opposite of OMAP3.
The mask used to check this was using the bit position instead of the
bit mask.

This patch fixes the problem by using the bit mask instead of the bit
field.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m.c
25499d9353e8cc6b0cf205684b3ebc535f8b9372 27-Jul-2010 Anand Gadiyar <gadiyar@ti.com> OMAP3: wait on IDLEST after enabling USBTLL fclk

We need to wait on the IDLEST bit after the clocks are enabled
before attempting to access any register.

Currently, the USBTLL i-clock ops uses the clkops_omap2_dflt_wait,
while the USBTLL f-clock ops uses clkops_omap2_dflt. If the
i-clock is enabled first, the clkops_omap2_dflt_wait is
short-circuited as the companion f-clock is not enabled.
This can cause a data abort if the IDLEST has not transitioned,
and we try to access a USBTLL register.

Since the USBTLL i-clock and f-clock could be enabled in any order,
this is a bug. Fix it by changing the clkops for the f-clock.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
2e65a2075cc740b485ab203430bdf3459d5551b6 26-Jul-2010 Dmitry Torokhov <dmitry.torokhov@gmail.com> Input: RX51 keymap - fix recent compile breakage

Commit 3fea60261e73 ("Input: twl40300-keypad - fix handling of "all
ground" rows") broke compilation as I managed to use non-existent
keycodes.

Reported-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
oard-rx51-peripherals.c
27efd7e2e6d052e543425dba172d96f42704ef65 22-Jul-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: synaptics - relax capability ID checks on newer hardware
Input: twl40300-keypad - fix handling of "all ground" rows
Input: gamecon - reference correct pad in gc_psx_command()
Input: gamecon - reference correct input device in NES mode
Input: w90p910_keypad - change platfrom driver name to 'nuc900-kpi'
Input: i8042 - add Gigabyte Spring Peak to dmi_noloop_table
Input: qt2160 - rename kconfig symbol name
3126c7bc4106c572ef47e2c220df5a00e7973379 15-Jul-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: AMBA: Add pclk definition for platforms using primecells

Add a dummy clk definition for the APB pclk signal on all platforms
using the AMBA bus infrastructure. This ensures that these platforms
continue to work when the core amba bus code controls the APB pclk.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock3xxx_data.c
3fea60261e73dbf4a51130d40cafcc8465b0f2c3 21-Jul-2010 Dmitry Torokhov <dmitry.torokhov@gmail.com> Input: twl40300-keypad - fix handling of "all ground" rows

The Nokia RX51 board code (arch/arm/mach-omap2/board-rx51-peripherals.c)
defines a key map for the matrix keypad keyboard. The hardware seems to
use all of the 8 rows and 8 columns of the keypad, although not all
possible locations are used.

The TWL4030 supports keypads with at most 8 rows and 8 columns. Most keys
are defined with a row and column number between 0 and 7, except

KEY(0xff, 2, KEY_F9),
KEY(0xff, 4, KEY_F10),
KEY(0xff, 5, KEY_F11),

which represent keycodes that should be emitted when entire row is
connected to the ground. since the driver handles this case as if we
had an extra column in the key matrix. Unfortunately we do not allocate
enough space and end up owerwriting some random memory.

Reported-and-tested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: stable@kernel.org
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
oard-rx51-peripherals.c
71ee7dad9b69917079f24d42aff796bad7932914 23-May-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: OMAP: Convert to use ->reserve method to reserve boot time memory

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-devkit8000.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3touchbook.c
oard-overo.c
oard-rx51.c
oard-zoom2.c
oard-zoom3.c
o.c
0cbe70eeaad7141a7f932cbbfab6857a25f6d20a 05-Jul-2010 Thomas Weber <weber@corscience.de> OMAP2: Devkit8000: Fix regulator for power supply

Devkit8000 uses the TPS65930 and not the TWL4030.
The TPS65930 uses only a subset of the power supplies
of the TWL4030.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
a34664ded71217eb7a0cce6beae4ffd89ca57900 05-Jul-2010 Thomas Weber <weber@corscience.de> OMAP2: Devkit8000: Remove unused omap_board_config

omap_board_config is no longer used and thats why empty.
This patch removes the empty omap_board_config.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
09c0721e60f209a80a2e71c6d8e086b53874422c 05-Jul-2010 Thomas Weber <weber@corscience.de> OMAP2: Devkit8000: Using gpio_is_valid macro

Using the macro gpio_is_valid for check of valid gpio pins.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
1f489f9eac1979ac1d1c862b55d73b9259a6cdf9 05-Jul-2010 Thomas Weber <weber@corscience.de> OMAP2: Devkit8000: Using the REGULATOR_SUPPLY macro

Replacing supplies with the REGULATOR_SUPPLY macro.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
e185469be0569c9d166db74777fc747df6af445a 05-Jul-2010 Thomas Weber <weber@corscience.de> OMAP2: Devkit8000: Remove en-/disable for tv panel

devkit8000_panel_enable_tv and devkit8000_panel_disable_tv are already
done in DSS2 code. So they are no longer needed in board code.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
612840bbd4eb75963fc7cfd4c1163c798adc8849 05-Jul-2010 Thomas Weber <weber@corscience.de> OMAP2: Devkit8000: Remove non existing vsim supply

The Devkit8000 uses the cost reduced variant tps65930 of the twl4030.
The TPS65930 only has vdd1, vdd2, vpll1, vio, vmmc1, vdac and vaux2.

vaux2 is not used on Devkit8000.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
a7707a335acc58e307e6c4f1d5c596765199cda2 05-Jul-2010 Thomas Weber <weber@corscience.de> OMAP2: Devkit8000: Remove unneeded VDVI supply

The VDVI power supply is no longer needed in
board code with the new DSS2 interface.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
4098609898e9ae69ebdd3fdaed1117234104d820 05-Jul-2010 Kan-Ru Chen <kanru@0xlab.org> OMAP2: Devkit8000: Setup LCD reset

This patch corrects the LCD reset pin configuration.

Original code from early devkit8000 patch sets the TWL4030 GPIO_1
to EHCI_nOC and TWL4030_GPIO_MAX+1 to ledA. Indeed these two pins
are both LCD_PWREN. Setup the lcd reset_gpio properly so it can be
disabled when other display is turned on.

Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
31c73f74f3e2d3b842f1dcb3bbcfc4b53b62f797 05-Jul-2010 Kan-Ru Chen <kanru@0xlab.org> OMAP2: Devkit8000: Enable DVI-D output

This patch corrects the DVI-D output setup of Devkit8000

Devkit8000 has different DVI reset pin with the BeagleBoard.
On Devkit8000 the TWL4030 GPIO_7 is assigned to do the job.

Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
61d07ef4b4eea2f4c2aaef10ef013775896314a9 05-Jul-2010 Thomas Weber <weber@corscience.de> OMAP2: Devkit8000: change panel to generic panel

Choose the generic panel for lcd code of Devkit8000.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
5fd58b5103151566825e836d0fdda65b083db12e 05-Jul-2010 Thomas Weber <weber@corscience.de> OMAP2: Devkit8000: Cleanup for power supplies

Corrected the wrong power supplies in devkit8000 code.

Add supply for ads7846 to support the new regulator framework for
touchscreen.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
847e951b99fc42056685c87d742851d2e6fbdead 05-Jul-2010 Christoph Egger <siccegge@cs.fau.de> Removing dead MACH_OMAP2_H4_USB1

MACH_OMAP2_H4_USB1 doesn't exist in Kconfig, therefore removing all
references for it from the source code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
267ecec95f7d215d2da38252640b06198515acc3 05-Jul-2010 Christoph Egger <siccegge@cs.fau.de> Removing dead MACH_OMAP_H4_OTG

MACH_OMAP_H4_OTG doesn't exist in Kconfig, therefore removing all
references for it from the source code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
df8d481df912b73fadbff03759cb1b257a37e277 05-Jul-2010 Christoph Egger <siccegge@cs.fau.de> Removing dead OMAP_STI

OMAP_STI doesn't exist in Kconfig, therefore removing all
references for it from the source code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
4705c1ca8b7c7cca23d7e534c830e5d6ac914535 05-Jul-2010 Christoph Egger <siccegge@cs.fau.de> Removing dead OMAP_IR

OMAP_IR doesn't exist in Kconfig, therefore removing all references
for it from the source code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
[tony@atomide.com: updated for new mux code]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
8d9166b519fd880faccdd65fa637d9ec3e2e41e5 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap2/3/4: Add Kconfig option to compile in typical omap features

This produces a sane config that's suitable for using as the
base for most omap2/3/4 boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
ffb63e3402849e1b70119ee0c9a81dc9da4dfa97 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap2/3/4: Select all omaps and boards by default

Select all omaps and boards by default

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
68ac8f7dda26de7fc321426d52f4ac6bd785bad3 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap2/3/4: Move Kconfig options to mach-omap2/Kconfig

Move omap2/3/4 specific Kconfig options to mach-omap2/Kconfig

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
4a54db612463e330e0e02e2234fc6b783b3eea84 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: Make omap specific features appear under Kconfig menu

This will make Kconfig look nicer for selecting omap processor type

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
c9d8230e316abb6a480f6bda85edf859896e9ab6 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Remove old mux code

All mach-omap2 omaps should now use the new mux code.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3630sdp.c
oard-generic.c
oard-rx51-peripherals.c
oard-rx51-video.c
o.c
ux.c
m24xx.c
sb-ehci.c
sb-musb.c
f99bf16d70d8a33e5274e429f2b1d71457d06a06 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Convert 2420 platform init code to use new mux code

Convert 2420 platform init code to use new mux code

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
oard-h4.c
evices.c
2c.c
cbsp.c
sb-tusb6010.c
58310acd3ae815687d883c0c0e5950e3576a3dbc 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Mux 2430 USB0HS_STP in board-2430.c

Use new mux functions for that. There are no other known 2430 boards
that need this mux.

Cc: Felipe Balbi <felipe.balbi@nokia.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
18dbe6c5dd3de93e99afdaf1f0fa663b57314c63 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Mux Apollon LCD power in board-apollon.c

Use the new mux function for that.

Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
93c43f2561f18b50e3376be968d0688315afc44c 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Do keypad muxing in board-*.c files

This way we get pin muxing out of plat-omap and can convert H4 to use the
new mux functions.

Note that it should be safe to assume we can mux all the keypad pins
except on H4 which may have Menelaus connected.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
0d600ff6fe06d99e56166a41521e120ce37e1dd4 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Make omap2 FS USB code use new mux functions

Make omap2 FS USB code use new mux functions. Do not mux usb2_tllse0
as it has multiple options.

Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-fs.c
369ed78fc9b4638d52a036c0184c2faf72c4e9c4 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Select POP package for 2430SDP

Select POP package for 2430SDP

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-2430sdp.c
bd8f0fc9791040e36501a9c1e373550ac2cff147 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Select POP package for N8X0

Select POP package for N8X0

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-n8x0.c
b52b14ef0d637718b7a648eb3949aef83ffc796d 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Select POP package for Apollon

Select POP package for Apollon

Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-apollon.c
23275d459e1b0afcc6bd6b5fe8aaca8a573d6d5a 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Select SIP package for H4

Select SIP package for H4

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-h4.c
89ba1092296bc455bfd59db608ae1954861f5911 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Add data for 2430

Add data for 2430. Big thanks to Paul Walmsley <paul@pwsan.com>
for generating usable mux data out of TRMs.

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
ux.h
ux2430.c
ux2430.h
fc44046167f08f3887e9685efc95f817a5ff45a1 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Add data for 2420

Add data for 2420. Big thanks to Paul Walmsley <paul@pwsan.com>
for generating usable mux data out of TRMs.

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
ux.h
ux2420.c
ux2420.h
ac1c94fb85a07f6777a1becf9b793e30ebbaaa2b 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Remove unncessary parens from mux34xx.c

Remove unncessary parens from mux34xx.c

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux34xx.c
ac3dbeefb8e9108874ab12ba103603893985f4ec 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Allow compiling in new mux code on all mach-omap2 systems

Allow compiling in new mux code on all mach-omap2 systems

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
ux.h
6dd8a6824af530449112a38c0fa0f95c1a086fc5 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Renumber package defines to make room for older 24xx packages

Only POP and SIP are known to exist for 2420, 2430 seems to only have
SIP package available.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.h
d5425be6eb756e846333f9ba87fe02d001baafc3 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Fix omap_mux_init_gpio for omap24xx

Looks like 24xx uses mode3 instead of mode4 for muxable GPIO pins.
This will be needed when 24xx mux code is converted to use the new
mux functions.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
98093839307cbf1a0d5cb50b495d14a78b755ed9 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: Enable interface clock for omap2 FS USB

Looks like this code was only working on boards that had
the usb_l4_ick enabled in the bootloader.

Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-fs.c
b5e8905bcd7a794b667f6d5eabcb036f25358fdb 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: Move omap2 FS USB platform init code into mach-omap2/usb-fs.c

Move omap2 FS USB platform init code into mach-omap2/usb-fs.c. This will
allow further work later on to use omap hwmod for initializing the
device.

Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-2430sdp.c
oard-apollon.c
oard-h4.c
sb-fs.c
f40fd0e215b1bde4e43add1aacbe6faf6dbbea53 02-Jul-2010 Tony Lindgren <tony@atomide.com> Merge branch 'v2.6.35-rc3-iommu-for-next' of git://gitorious.org/~doyu/lk/mainline into omap-for-linus
1fd7f467127fcaea490451052fea22f234bbb206 15-May-2010 Kanigeri, Hari <h-kanigeri2@ti.com> omap iommu: update ducati mmu irq define name

2.6.34-rc6 kernel has the Ducati mmu irq define name changed, which is
resulting in compilation error.

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
map-iommu.c
0bbc6fcff6f34ee9cc388d1abc811ac09bf0ddaf 24-May-2010 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap iommu: Make omap-iommu.o built-in

This is a platform device registration.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
akefile
37b298100f0ff8b954217635504c860cdb040ccf 24-May-2010 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap iommu: move iommu_disable at fault to the above layer

The function prefix "omap2_iommu_" indicates that the prefixed
function belongs to "omap2_iommu_ops" to provide iommu basic
functionalities for the above layers. It's better to avoid the
prefixed function called in the same prefixed ones internally, like
nested here. Now "iommu_disable" is called just after fault_isr() in
the above layer. This is a little bit more sensible to keep the
consistency of module layers.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ommu2.c
ddfa975a8cf66753a7d829bada753c3617628486 24-May-2010 Kanigeri, Hari <h-kanigeri2@ti.com> omap iommu: add functionality to get TLB miss interrupt

In order to enable TLB miss interrupt, the TWL should be
disabled. This patch provides the functionality to get the
MMU fault interrupt for a TLB miss in the cases where the
users are working with the locked TLB entries and with TWL
disabled.
New interface is added to select twl and to enable TLB miss
interrupt.

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Ramesh Gupta <grgupta@ti.com>
Signed-off-by: Hiroshi Doyu <Hiroshi.DOYU@nokia.com>
ommu2.c
993dd17e32cfb6cc058e1a4394dd113edf764186 24-May-2010 Kanigeri, Hari <h-kanigeri2@ti.com> omap iommu: update irq mask to be specific about twl and tlb

Revise the IRQ mask definitions to handle the MMU faults related
to TWL fault as well as TLB miss fault.

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Hiroshi Doyu <Hiroshi.DOYU@nokia.com>
ommu2.c
41bd03ba0758a076671e5de35ed084535984143d 28-Jun-2010 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.35rc' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus
dc75925d67950889b79df1cc1518c21ec678df6c 24-Jun-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Fix the missing braces

As reported by Sergei, a couple of braces were missing after
the WARN removal patch.

[07/22] OMAP: hwmod: Replace WARN by pr_warning if clock lookup failed

https://patchwork.kernel.org/patch/100756/

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: fixed patch description per Anand's E-mail]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Sergei Shtylyov <sshtylyov@mvista.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
map_hwmod.c
f1bbbb6912662b9f6070c5bfc4ca9eb1f06a9d5b 16-Jun-2010 Jiri Kosina <jkosina@suse.cz> Merge branch 'master' into for-next
46cd09a7de52cad464d35a75924b79984646288d 11-Jun-2010 Uwe Kleine-König <u.kleine-koenig@pengutronix.de> fix typos concerning "acquire"

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
leep34xx.S
732bee7af3102cad811fb047dee8d15966efe569 11-Jun-2010 Uwe Kleine-König <u.kleine-koenig@pengutronix.de> fix typos concerning "hierarchy"

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
pll3xxx.c
090830b4c79cd5ac85430822a9b87c90848bedcf 16-Jun-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: clock: Fix multi-omap boot with reset un-used clocks

This patch uses "ENABLE_ON_INIT" flag on the emif clock nodes
to avoid the emif clk getting cut as part of reset un-used clock
routine which prevents boot.

Since "omap4xxx_clk_init()" calls "clk_enable_init_clocks()"
which increases the usecount on all ENABLE_ON_INIT clocks, it
prevents "omap2_clk_disable_unused()" from disabling the clock.

The real fix is to have driver for EMIF and do clock get/enable
as part of it. The EMIF driver is planned to be done HWMOD way
so till that available to keep omap3_defconfig booting on OMAP4430,
this patch is necessary.
(Will updated the auto-gen script for 44xx accordingly)

The fix was suggested by Paul Walmsley

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: Nishanth Menon <nm@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock44xx_data.c
0b96a3a3c5c5e6e1b79a05c23d110d59518f4fc8 09-Jun-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: fix IO daisy chain enable to use PM_WKEN reg

Checking to se if the IO daisy chain is enabled should be checking the
PM_WKEN register, not the PM_WKST register. Reading PM_WKST tells us
if an event occurred, not whether or not it is enabled.

Apparently, we've been lucky until now in that a pending event has not
been there during enable. However, on 3630/Zoom3, I noticed because
of the WARN that this timeout was always happening.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m34xx.c
99716b662ba527ea66172ba215da8a9d0e567c3e 09-Jun-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap: Stalker board: switch over to gpio_set_debounce

Commit 48feb337475a arm: omap: switch over to gpio_set_debounce caused
"undefined reference to omap_set_gpio_debounce" build error.

The fix is to use the generic gpiolib function.

Cc: Felipe Balbi <felipe.balbi@nokia.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3stalker.c
bfb01197589965663772e6388f2bdf452e25adf2 09-Jun-2010 Amit Kucheria <amit.kucheria@canonical.com> omap: fix build failure due to missing include dma-mapping.h

Fixes following error,

CC arch/arm/mach-omap2/usb-ehci.o
arch/arm/mach-omap2/usb-ehci.c:263: error: implicit declaration of function
'DMA_BIT_MASK'
arch/arm/mach-omap2/usb-ehci.c:263: error: initializer element is not constant
make[1]: *** [arch/arm/mach-omap2/usb-ehci.o] Error 1

Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-ehci.c
451fd82dc148bd5ac9ed5b19b6915a1afe32b9cb 03-Jun-2010 Peter Ujfalusi <peter.ujfalusi@nokia.com> OMAP3: McBSP: Change the way how the FIFO is handled

Use the actual FIFO size in words as buffer_size on OMAP3.
Change the threshold configuration to use 1 based numbering, when
specifying the allowed threshold maximum or the McBSP threshold value.
Set the default maximum threshold to (buffer_size - 0x10) intialy.
>From users of McBSP, now it is expected to use this method.
Asking for threshold 1 means that the value written to threshold registers
are going to be 0, which means 1 word threshold.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolsfonmicro.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
cbsp.c
48feb337475aaf8f8603b0db8e88c6fe3e194ab6 26-May-2010 Felipe Balbi <felipe.balbi@nokia.com> arm: omap: switch over to gpio_set_debounce

Stop using the omap-specific implementations for gpio debouncing now that
gpiolib provides its own support.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: David Brownell <david-b@pacbell.net>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
oard-3430sdp.c
oard-ldp.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3touchbook.c
1f7f314bf2a77f1d499b41001ebdafb261f00f30 22-May-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux

* 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (23 commits)
OMAP: DSS2: Fix omap_dss_probe() error path
OMAP: DSS2: omap_dss_probe() conditional compilation cleanup
board-omap3-beagle: add DSS2 support
OMAP2: DSS: Add missing line for update bg color
OMAP3630: DSS2: Updating MAX divider value
OMAP: RX51: Update board defconfig
OMAP: DSS2: Add ACX565AKM Panel Driver
OMAP: RX51: Add Touch Controller in SPI board info
OMAP: RX51: Add LCD Panel support
OMAP: DSS2: TPO-TD03MTEA1: fix Kconfig dependency
OMAP: LCD LS037V7DW01: Add Backlight driver support
OMAP: DSS2: Taal: Fix DSI bus locking problem
OMAP: DSS2: Taal: add mutex to protect panel data
OMAP: DSS2: Make partial update width even
OMAP: DSS2: Fix device disable when driver is not loaded
OMAP: DSS2: VENC: don't call platform_enable/disable() twice
OMAP: DSS2: check lock_fb_info() return value
OMAP: DSS2: fix lock_fb_info() and omapfb_lock() locking order
OMAP: DSS2: Use vdds_sdi regulator supply in SDI
OMAP: DSS2: Remove redundant enable/disable calls from SDI
...
2a8ba8f032160552a3beffab8aae9019ff477504 21-May-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (46 commits)
random: simplify fips mode
crypto: authenc - Fix cryptlen calculation
crypto: talitos - add support for sha224
crypto: talitos - add hash algorithms
crypto: talitos - second prepare step for adding ahash algorithms
crypto: talitos - prepare for adding ahash algorithms
crypto: n2 - Add Niagara2 crypto driver
crypto: skcipher - Add ablkcipher_walk interfaces
crypto: testmgr - Add testing for async hashing and update/final
crypto: tcrypt - Add speed tests for async hashing
crypto: scatterwalk - Fix scatterwalk_done() test
crypto: hifn_795x - Rename ablkcipher_walk to hifn_cipher_walk
padata: Use get_online_cpus/put_online_cpus in padata_free
padata: Add some code comments
padata: Flush the padata queues actively
padata: Use a timer to handle remaining objects in the reorder queues
crypto: shash - Remove usage of CRYPTO_MINALIGN
crypto: mv_cesa - Use resource_size
crypto: omap - OMAP macros corrected
padata: Use get_online_cpus/put_online_cpus
...

Fix up conflicts in arch/arm/mach-omap2/devices.c
a6f039869ff87e0a8d621e31d14bbb120c1dfa93 21-May-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (113 commits)
omap4: Add support for i2c init
omap: Fix i2c platform init code for omap4
OMAP2 clock: fix recursive spinlock attempt when CONFIG_CPU_FREQ=y
OMAP powerdomain, hwmod, omap_device: add some credits
OMAP4 powerdomain: Support LOWPOWERSTATECHANGE for powerdomains
OMAP3 clock: add support for setting the divider for sys_clkout2 using clk_set_rate
OMAP4 powerdomain: Fix pwrsts flags for ALWAYS ON domains
OMAP: timers: Fix clock source names for OMAP4
OMAP4 clock: Support clk_set_parent
OMAP4: PRCM: Add offset defines for all CM registers
OMAP4: PRCM: Add offset defines for all PRM registers
OMAP4: PRCM: Remove duplicate definition of base addresses
OMAP4: PRM: Remove MPU internal code name and apply PRCM naming convention
OMAP4: CM: Remove non-functional registers in ES1.0
OMAP: hwmod: Replace WARN by pr_warning for clockdomain check
OMAP: hwmod: Rename hwmod name for the MPU
OMAP: hwmod: Do not exit the iteration if one clock init failed
OMAP: hwmod: Replace WARN by pr_warning if clock lookup failed
OMAP: hwmod: Remove IS_ERR check with omap_clk_get_by_name return value
OMAP: hwmod: Fix wrong pointer iteration in oh->slaves
...
7a9b149212f3716c598afe973b6261fd58453b7a 21-May-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (229 commits)
USB: remove unused usb_buffer_alloc and usb_buffer_free macros
usb: musb: update gfp/slab.h includes
USB: ftdi_sio: fix legacy SIO-device header
USB: kl5usb105: reimplement using generic framework
USB: kl5usb105: minor clean ups
USB: kl5usb105: fix memory leak
USB: io_ti: use kfifo to implement write buffering
USB: io_ti: remove unsused private counter
USB: ti_usb: use kfifo to implement write buffering
USB: ir-usb: fix incorrect write-buffer length
USB: aircable: fix incorrect write-buffer length
USB: safe_serial: straighten out read processing
USB: safe_serial: reimplement read using generic framework
USB: safe_serial: reimplement write using generic framework
usb-storage: always print quirks
USB: usb-storage: trivial debug improvements
USB: oti6858: use port write fifo
USB: oti6858: use kfifo to implement write buffering
USB: cypress_m8: use kfifo to implement write buffering
USB: cypress_m8: remove unused drain define
...

Fix up conflicts (due to usb_buffer_alloc/free renaming) in
drivers/input/tablet/acecad.c
drivers/input/tablet/kbtab.c
drivers/input/tablet/wacom_sys.c
drivers/media/video/gspca/gspca.c
sound/usb/usbaudio.c
95344fcc07964202737f85c16dbabbc40cae5e4d 10-May-2010 Anand Gadiyar <gadiyar@ti.com> USB: omap3: add platform init code for OHCI driver

Add platform init code for the OMAP3 OHCI driver.

Also, configure padconf settings for OMAP3 depending
on which port mode is used.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sb-ehci.c
58815fa3bffdee8dbac5af6931eea991d7a71a19 25-Mar-2010 Ajay Kumar Gupta <ajay.gupta@ti.com> usb: musb: Add extvbus in musb_board_data

EXTVBUS programming is required by OMAP3EVM REV >=E to supply 500mA
power so adding a flag which can be used by musb driver to program
EXTVBUS.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
oard-omap3evm.c
sb-musb.c
f6304f5804f228b6c2fea9e3dfac25c5b2db9b38 20-May-2010 Tony Lindgren <tony@atomide.com> Merge branch 'omap4-i2c-init' into omap-for-linus
4fa73a1bf89ebea4eba8a9982b5f64d266d8b5e9 20-May-2010 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.35' of git://git.pwsan.com/linux-2.6 into omap-for-linus
59dd7224892142fe1d8505cf2c90bd732d730005 19-May-2010 Paul Walmsley <paul@pwsan.com> OMAP2 clock: fix recursive spinlock attempt when CONFIG_CPU_FREQ=y

The OMAP2 MPU virtual clock node code attempted to call clk_get_rate()
while the clockfw_lock spinlock was held. Fix by reading the sys_ck
rate directly.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lkt2xxx_virt_prcm_set.c
4788da268f83dedc58b79dc7b2f6072687f63a19 19-May-2010 Paul Walmsley <paul@pwsan.com> OMAP powerdomain, hwmod, omap_device: add some credits

Add some missing credits for people who have contributed significant features
or fixes.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Tero Kristo <tero.kristo@nokia.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Thara Gopinath <thara@ti.com>
map_hwmod.c
owerdomain.c
90dbc7b0b80725afd7ed52f18e541dbc671dfd70 19-May-2010 Rajendra Nayak <rnayak@ti.com> OMAP4 powerdomain: Support LOWPOWERSTATECHANGE for powerdomains

Some powerdomains in OMAP4 support a direct transition from one sleep
state to another deeper sleep state without having to wakeup the
powerdomain. This patch adds an api in the powerdomain framework to
set the LOWPOWERSTATECHANGE bit in PWRSTCTRL register.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
owerdomains44xx.h
71ee297a9bc69748510179f5333a3f4541c27723 19-May-2010 Laine Walker-Avina <lwalkera@ieee.org> OMAP3 clock: add support for setting the divider for sys_clkout2 using clk_set_rate

Add clock framework support for changing the rate of sys_clkout2.

Signed-off-by: Laine Walker-Avina <lwalkera@ieee.org>
[paul@pwsan.com: added commit message, added .round_rate pointer]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
d3353e1654f60fc56b7a9a965af67e14b54d7f61 19-May-2010 Rajendra Nayak <rnayak@ti.com> OMAP4 powerdomain: Fix pwrsts flags for ALWAYS ON domains

The pwrsts flag for ALWAYS ON domains like always_on_core_pwrdm
and wkup_pwrdm is wrongly populated with the define for a
powerdomain power state, instead of the allowable state
bitfields.
This causes a few api's to fail sensing invalid pwrst
requested.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomains44xx.h
fe894d56322b10910631800b86f25f13bc64c639 20-May-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: PRCM: Add offset defines for all CM registers

The cm44xx.h files only had absolute register address
defines for all CM registers.
This patch adds additional register offset defines for all the
registers, so they can be used with apis like cm_read_mod_*

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m44xx.h
2339ea99cc6bb6a6d36d02c641e21dc950f50360 20-May-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: PRCM: Add offset defines for all PRM registers

The prm44xx.h files only had absolute register address
defines for all PRM registers.
This patch adds additional register offset defines for all the
registers, so they can be used with apis like prm_read_mod_*

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rm44xx.h
78026dda2ac8ffb54cc7d3c618448083376b17eb 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: PRCM: Remove duplicate definition of base addresses

CM1, CM2, PRM, SCRM and MPU_PRCM are already defined in omap44xx.h

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
rcm-common.h
793287062304da2f2718c1ad156830b4e99816c7 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: PRM: Remove MPU internal code name and apply PRCM naming convention

The MPU subsystem was named based on internal code name (CHIRON).
This patch will remove all the occurences of the chiron name
are replace it with PRCM_MPU in order to differentiate
the MPU local PRCM to the global one.

Remove PDA_ from PRCM_MPU registers names to stick to the global
PRM naming convention.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lockdomains44xx.h
owerdomains44xx.h
rcm-common.h
rm.h
rm44xx.h
a610855ca3694f9134b0198517c39121058e9e10 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: CM: Remove non-functional registers in ES1.0

The automatic HW restore from OFF mode is not functional at all in
OMAP4430 ES1.0.
Because of that, it will be extensively changed in the next Si revision,
and the compatibilty will not be maintained with ES1.0.

Remove the current XXX_RESTORE registers definition to avoid future
conflicts with the next Si revision.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
m44xx.h
63403384233e3f58514eea891003458dedd43c12 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Replace WARN by pr_warning for clockdomain check

Most of the clock nodes belong to a clock domain, but it is perfectly valid
to have clock without clock domain.
Root clocks for example does not belong to any clock domain.
Keep the warning but reduce the verbosity.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
5c2c02961ea39d7bbe4d87f362ab3173a424794b 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Rename hwmod name for the MPU

In the lastest OMAP4 hwmod data file, the _hwmod was removed
in order to save some memory space and because it does not
bring a lot.

The same cleanup will be have to done for other hwmods in
OMAP2 & 3 data files.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
map_hwmod.c
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
f5c1f84bcc9c5b7a664886d0a5e7143d0bc3251f 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Do not exit the iteration if one clock init failed

During the _init_clocks phase, the iteration is stopped but the
status is still change from _HWMOD_STATE_REGISTERED to
_HWMOD_STATE_CLKS_INITED.
Since the _setup phase will be done nevertheless, it might be
better to keep initializing the others clocks nodes and just
keep the warning.
It is much easier to debug when a important number of clocks
name are wrong during the early debug phase of a new platform.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
20383d82160d918047bb10a4f6e170f4bac195a7 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Replace WARN by pr_warning if clock lookup failed

The WARN is a little bit too verbose and is not providing
usefull information in that case.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
4d3ae5a9a7b3685c6d260a82f4098145862b2cd3 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Remove IS_ERR check with omap_clk_get_by_name return value

The previous clock API was returning a standard linux error code in
case of failure. This is not the case anymore with the new
omap_clk_get_by_name API. A NULL value means that the clock node
does not exist.
Replace all the IS_ERR check by a !clk check.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
682fdc96f3afb5ec34e4893fae41d09346d656ed 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP: hwmod: Fix wrong pointer iteration in oh->slaves

The iteration is currently done on the omap_hwmod_ocp_if pointer
and not on the table pointer that reference them.
It worked most of the time because the structure are contiguous in
memory.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
33f7ec81fb3e525eec0575f33dbab02240eda6d4 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod: Replace OCPIF_HAS_IDLEST by HWMOD_NO_IDLEST

Some initiator modules in OMAP2 & 3 does not have IDLEST bit,
in that case we cannot detect the module readiness by
polling that bit and must exist the function immediately
assuming that the module is ready.

The previous flag was affected to the OCP interface. While it is
technically true that the idlest is related to the L4 slave
interface of the module, the PRCM status belong to the module.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
9a23dfe12806920a8dfadec5ea5b83e5ca5378c9 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: hwmod & CM: Implement the omap4_cm_wait_module_ready function

The return of the omap4_cm_wait_module_ready function is checked
in order to avoid accessing the sysconfig register if the module is
not in the correct state.
In that case the _setup will exit without trying to reset
using sysconfig.
For the moment a warning is printed. A proper management of fclk
and module reset will have to be done in order to init correctly
the problematic IPs listed below.

<4>omap_hwmod: ivahd: cannot be enabled (3)
<4>omap_hwmod: iss: cannot be enabled (3)
<4>omap_hwmod: tesla: cannot be enabled (3)
<4>omap_hwmod: sdma: cannot be enabled (3)
<4>omap_hwmod: sl2: cannot be enabled (3)
<4>omap_hwmod: sad2d: cannot be enabled (3)
<4>omap_hwmod: ducati: cannot be enabled (3)

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m.h
m4xxx.c
map_hwmod.c
d9e6625c70ff007ae246c9d62f8cdec8d08b2457 20-May-2010 Benoit Cousson <b-cousson@ti.com> OMAP: CM: Move MAX_MODULE_READY_TIME to cm.h

The maximum timeout to wait for the PRCM to request that a module
exit idle or reach functionnal state is common to OMAP2/3/4 SoCs,
so, move it to the chip family-common cm.h include file.

Reduce the timeout from 20 ms to 2 ms.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m.c
m.h
m4xxx.c
2a9f5a4d455aa88a03dac1dca8f686e3c21fc1b2 19-May-2010 Paul Walmsley <paul@pwsan.com> OMAP3 clock: remove unnecessary duplicate of dpll4_m2_ck, added for 36xx

Commit 678bc9a2eabb7f444ef8ad1cfc5ef394e2bd8bf2 split dpll4_m2_ck,
creating a 34xx and a 36xx variant, to handle the additional 16
divider steps provided on the 36xx. This in turn required dynamic
rewriting of the clock tree during initialization, which is
undesirable. All this seems to be unnecessary, though, since the
additional 16 divider steps can simply be marked with RATE_IN_36XX.
This patch does so and re-merges the affected structures.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Vishwanath Sripathy <vishwanath.bs@ti.com>
lock3xxx_data.c
63405360fc8973d28e1c7c0f8e0fc77338a6ce23 19-May-2010 Paul Walmsley <paul@pwsan.com> OMAP3 clock: rename RATE_IN_343X, RATE_IN_3430ES2 to match reality

Rename the RATE_IN_343X clksel_rate.rate flag to be RATE_IN_3XXX, to reflect
that these rates are valid on all OMAP3 platforms, not just 343X.

Also rename the RATE_IN_OMAP3430ES2 clksel_rate.rate flag to be
RATE_IN_OMAP3430ES2PLUS, to reflect that these flags are valid on all
OMAP3 platforms after 3430ES2.

This patch should not result in any functional changes.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Ranjith Lohithakshan <ranjithl@ti.com>
lock3xxx_data.c
lock_common_data.c
435699db6a3d81bfd36d25150177399a4f6048d5 19-May-2010 Paul Walmsley <paul@pwsan.com> OMAP2+ clock: clean up clkt_clksel.c

This patch cleans up arch/arm/mach-omap2/clkt_clksel.c. It:

- makes several functions static that are not called outside the file;

- adds documentation;

- makes some code paths easier to read (hopefully), by breaking up
compound statements and removing redundant checks;

- converts some pr_err()s that indicate clock tree data problems into WARN()s,
so they are more likely to be noticed;

- and moves omap2_clk_round_rate() back into mach-omap2/clock.c, its proper
home, since it is not clksel-specific.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lkt_clksel.c
lock.c
lock.h
d74b4949714741f4c58cd1801a6a92737b89a61c 19-May-2010 Paul Walmsley <paul@pwsan.com> OMAP2+ clock: remove DEFAULT_RATE clksel_rate flag

The DEFAULT_RATE clksel_rate flag is essentially useless. It was set
on some of the lowest divisors, which, when switching to a much
higher-rate parent, could have potentially resulted in rates that
exceeded the hardware specifications for downstream clocks in the
window between the clk_set_parent(), and a subsequent clk_set_rate().
It seems much safer to just remove the flag and always use the highest
available divisor (resulting in the lowest possible rate) after the
switch, and this patch does so.

Ideally, it would be best to first attempt to switch to a divisor that
matches the clock's rate with the previous parent, if at all possible.
But that is a project for some other day or some other person. The
parent changing code is rarely used.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lkt_clksel.c
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
lock_common_data.c
275f675c24a16ea45cc78bc03ff73fd06be8bffb 19-May-2010 Paul Walmsley <paul@pwsan.com> OMAP3: PM: PM_MPUGRPSEL writes should use GRPSEL macros, not EN macros

Writes to the PM_*GRPSEL registers should use _GRPSEL_ macros, not _EN_ macros,
to match the TRM and guard against inadvertent error. This patch should
not cause any functional change.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Jouni Högander <jouni.hogander@nokia.com>
m34xx.c
2fd0f75cb3413105ed10041c719346ccb710fbc6 19-May-2010 Paul Walmsley <paul@pwsan.com> OMAP2+ PRCM: convert remaining PRCM macros to the _SHIFT/_MASK suffixes

Fix all of the remaining PRCM register shift/bitmask macros that did not
use the _SHIFT/_MASK suffixes to use them. This makes the use of these
macros consistent. It is intended to reduce error, as code can be inspected
visually by reviewers to ensure that bitshifts and bitmasks are used in
the appropriate places.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
m.h
m24xx.c
m34xx.c
owerdomain.c
rcm-common.h
rcm.c
rm.h
2bc4ef71c5a3b6986b452d6c530777974d11ef4a 19-May-2010 Paul Walmsley <paul@pwsan.com> OMAP3 PRCM: convert OMAP3 PRCM macros to the _SHIFT/_MASK suffixes

Fix all of the remaining OMAP3 PRCM register shift/bitmask macros that
did not use the _SHIFT/_MASK suffixes to use them. This makes the use
of these macros consistent. It is intended to reduce error, as code
can be inspected visually by reviewers to ensure that bitshifts and
bitmasks are used in the appropriate places.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
m-regbits-34xx.h
ontrol.c
m34xx.c
owerdomain.c
rm-regbits-34xx.h
f38ca10a79a0cd9902b8a470901951354802faa1 20-May-2010 Paul Walmsley <paul@pwsan.com> OMAP2 PRCM: convert OMAP2 PRCM macros to the _SHIFT/_MASK suffixes

Fix all of the remaining OMAP2 PRCM register shift/bitmask macros that
did not use the _SHIFT/_MASK suffixes to use them. This makes the use
of these macros consistent. It is intended to reduce error, as code
can be inspected visually by reviewers to ensure that bitshifts and
bitmasks are used in the appropriate places.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
lkt2xxx_apll.c
lock2420_data.c
lock2430_data.c
lockdomain.c
m-regbits-24xx.h
m24xx.c
rm-regbits-24xx.h
9cbc34939c6d520a979cdb624a421204882a8ded 17-May-2010 Jason <lzg@ema-tech.com> omap3: Add support for OMAP3Stalker boards

Add support for OMAP3Stalker boards

Signed-off-by: Jason Lam <lzg@ema-tech.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-omap3stalker.c
c83c8e6cde35c51a120952f54b4e4ecda6fa58a5 15-May-2010 kishore kadiyala <kishore.kadiyala@ti.com> omap4: Adding PBIAS Configuration for MMC1 Controller

In OMAP4, MMC1 PBIAS and its associated IO is software-controlled
by CONTROL_PBIAS and CONTROL_MMC1 registers. This patch adds PBIAS
configuration for MMC1 Controller during power-ON and power-OFF
of regulator.

Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
717c1fbf7c139c3c5d5920b29bdf196d07a40c8a 15-May-2010 kishore kadiyala <kishore.kadiyala@ti.com> omap4: Adding hsmmc support to board file

Adding support for MMC1 & MMC2 controllers of OMAP4430 SDP
to board file.

Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-4430sdp.c
2c9d103e1e6b0970fd45c82de205415a2ad86c8d 04-May-2010 kishore kadiyala <kishore.kadiyala@ti.com> omap4: Adds Dummy Interface clock's for MMC controllers

This patch adds dummy Interface clocks for MMC controllers

Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock44xx_data.c
6e30a7dbc946132525ca12ce16f0f2105096624a 12-May-2010 Balaji T K <balajitk@ti.com> omap4: add i2c1 peripherals data

This patch adds i2c1 peripherals data to
omap4430 sdp board file.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
baeb73e8027b8a62b32c11afc3035cf6cc0927dd 12-May-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: Add i2c board support on omap4430 sdp platform

This patch adds the i2c board support for OMAP4430 SDP platform.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
b91da669472a534328bf796a8c913f2d042ede76 13-May-2010 stanley.miao <stanley.miao@windriver.com> AM3517: rename the i2c boardinfo to make it more readable

There are three i2c buses on am3517, and each i2c bus has several devices
on it, so we can't name the i2c boardinfo structures with one of these
devices. In order to make it more readable, now rename these three boardinfo
structures based on i2c indexes.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Acked-By: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
fbc9be106e9f27450ea999da74bc24fad04cf41d 14-May-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: Move SOC specific code from board file

This patch moves OMAP4 soc specific code from 4430sdp board file.
The change is necessary so that newer board support can be added
with minimal changes. This will be also problematic for
multi-board, multi-omap builds.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-4430sdp.c
nclude/mach/omap4-common.h
map-smp.c
map4-common.c
b2aa5e5757b2fd33c47fc52dfd6d5b0dbcda6492 14-May-2010 Abraham Arce <x0066660@ti.com> OMAP4: Ethernet: KS8851 Board Support

Enable Micrel KS8851 SPI network chip for OMAP4430

Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
03e7e170d6fdc5b6f75d1ab2cc1a6cb4f2b6b8c4 13-May-2010 stanley.miao <stanley.miao@windriver.com> omap: hsmmc: fix the hsmmc driver for am3517

AM3517 don't have the register OMAP343X_CONTROL_PBIAS_LITE and the regulators
like "vmmc", so we set a noop "set_power" function for it.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
ed8303fc111e58530e22bd29b0d7e08dced75999 13-May-2010 stanley.miao <stanley.miao@windriver.com> omap: init the gpio pinmux for mmc

There is two gpio for mmc use, one is for card detecting, another is
used for checking write protect. Intialize its pinmux in case the bootloader
doesn't set it.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
ad57c39482a91cc7e377b0356d130810a78167fd 20-May-2010 Tony Lindgren <tony@atomide.com> Merge branch 'v2.6.34-rc7.iommu' of git://gitorious.org/~doyu/lk/mainline into omap-for-linus
0581b52e898f3f5472820940537d91d80895db5a 12-May-2010 Roger Quadros <roger.quadros@nokia.com> OMAP: RX51: Add "vdds_sdi" supply voltage for SDI

The SDI Display subsystem needs access to the vdds_sdi supply
regulator. This is TWL4030's VAUX1 supply on RX-51.

Signed-off-by: Roger Quadros <roger.quadros@nokia.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
oard-rx51-peripherals.c
5a5f561e4060844a37d8fe81dce2352c406aac97 20-May-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
935d918046d4c29f053d56fff67d6a21495fd780 20-May-2010 Tony Lindgren <tony@atomide.com> Merge branch 'gpio-2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
df760137ad3cbfa15ceed42478f81bff01b6e799 20-May-2010 Tony Lindgren <tony@atomide.com> Merge branch 'omap-boards' into omap-for-linus
de997718b64df2f766736f23f8557da450b83a25 10-May-2010 Ajay Kumar Gupta <ajay.gupta@ti.com> AM35x: fix UI card EHCI port and LCD dependency

EHCI port on UI card and LCD share two pins (GPIO 181 and 182) thus
they have to be mutually exclusive.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
4cfcaef11fd32a27cee1bb5b7fcb741003db84a2 10-May-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Add supplies for the tlv320aic3x codec driver

Upcoming change to tlv320aic3x codec driver require four supplies.
Implement this by connecting analogic supplies to TWL4030 VMMC2 and digital
supplies to TWL4030 VIO.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Eduardo Valentin <eduardo.valentin@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
dabe929b590c0139aa5a18994d953a9eb201d626 10-May-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Add i2c2 board_info with tlv320aic3x

This makes possible to probe the audio codec and add another i2c2
components in the future.

Fix also indentation for the first omap_register_i2c_bus.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
f2add1de55d577b9babe4812a710affb903b366b 10-May-2010 Jarkko Nikula <jhnikula@gmail.com> omap: rx51: Change the TWL4030 VMMC2 voltage constraints andsupply name

I believe the VMMC2 constraints must be the same than with VAUX3. Older
boards are using TWL4030 VMMC2 supply for internal MMC whereas newer are
using VAUX3 that has more limited constraints defined in this same file.

More over, the VMMC2 supply is used also for analog audio domain and the
miminum analog voltage of the TLV320AIC34 codec is 2.7 V.

To combine these two facts, the patch changes supply name to V28_A as the
newer boards register VMMC2_30 for VAUX3 and uses the same constraints than
VAUX3 since those constraints are ok for the TLV320AIC34.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Cc: Eduardo Valentin <eduardo.valentin@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
5c9a29ede210b59321a65bd692b7c37b758943e6 10-May-2010 Steve Sakoman <steve@sakoman.com> omap: Overo: Add support for second ethernet port

Some Overo add-on boards include a second ethernet port. This patch
adds support for that second port.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-overo.c
b98dd73c6cd13ff9a5576a845ca9c1e359fdb7d0 10-May-2010 Sriram <srk@ti.com> OMAP3: clock data: Update name string for EMAC clocks

The emac driver currently uses Davinci clock names for the module and phy
clocks. Updated the omap3xxx_clks table to match the names
used by the Davinci emac driver.

Note that eventually the EMAC clocks should be renamed to be generic.

Signed-off-by: Sriramakrishnan <srk@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
[tony@atomide.com: updated patch description to match the patch]
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock3xxx_data.c
56881d28b2eed78665daa1d680014e9ebaf8c0e3 10-May-2010 Sriram <srk@ti.com> AM35xx: Platform specific hookup for EMAC module

Modified AM35xx EVM init sequence to handle EMAC
initialization.

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
39e799df2f504a160852342109d228abfe75fede 10-May-2010 Sriram <srk@ti.com> AM35xx EMAC: define submodule offsets

Define offsets for EMAC sub modules.

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/am35xx.h
917336318ef1c2520b6898113dade12c401ea1a0 10-May-2010 Sriram <srk@ti.com> can: ti_hecc: board specific hookup on AM3517EVM

Add board specific hookup for TI HECC driver on
AM3517 EVM

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
nclude/mach/am35xx.h
018e075c19d2a640cc64a07bb90916269bed57bb 10-May-2010 Thomas Weber <weber@corscience.de> omap: Devkit8000: Add mux initialization

Initialize multiplexed pins with correct mode.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
4ab866d11ac14d2a55808d71d7c0ee4fea83265f 10-May-2010 Viral Mehta <viral.mehta@lntinfotech.com> omap2: select ARCH_OMAP_OTG for OMAP2430 SDP

Configuration for OMAP2430 should select ARCH_OMAP_OTG just like
it is done for OMAP2420

Signed-off-by: Viral Mehta <viral.mehta@lntinfotech.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
9c68eb8197a07a157c72ae3f31877e53a44786c5 10-May-2010 Viral Mehta <viral.mehta@lntinfotech.com> omap2: Add OHCI USB platform init for 2430 SDP

Add platform init code for OHCI USB on OMAP2430 SDP

Signed-off-by: Viral Mehta <viral.mehta@lntinfotech.com>
[tony@atomide.com: Updated subject to mention the board name]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
39ecc703d19da2e40296d84d487f843c03f82d25 10-May-2010 Viral Mehta <viral.mehta@lntinfotech.com> omap2: Add I2C bus 1 initialisation for 2430sdp

Initialize isp1301 FS USB transceiver and
add I2C bus1 initialization code for OMAP2430 SDP

Signed-off-by: Viral Mehta <viral.mehta@lntinfotech.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
7f06a8b26aba1dc03b42272dc0089a800372c575 20-May-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (250 commits)
ALSA: hda: Storage class should be before const qualifier
ASoC: tpa6130a2: Remove CPVSS and HPVdd supplies
ASoC: tpa6130a2: Define output pins with SND_SOC_DAPM_OUTPUT
ASoC: sdp4430 - add sdp4430 pcm ops to DAI.
ASoC: TWL6040: Enable earphone path in codec
ASoC: SDP4430: Add support for Earphone speaker
ASoC: SDP4430: Add sdp4430 machine driver
ASoC: tlv320dac33: Avoid powering off while in BIAS_OFF
ASoC: tlv320dac33: Use dev_dbg in dac33_hard_power function
ALSA: sound/pci/asihpi: Use kzalloc
ALSA: hdmi - dont fail on extra nodes
ALSA: intelhdmi - add id for the CougarPoint chipset
ALSA: intelhdmi - user friendly codec name
ALSA: intelhdmi - add dependency on SND_DYNAMIC_MINORS
ALSA: asihpi: incorrect range check
ALSA: asihpi: testing the wrong variable
ALSA: es1688: add pedantic range checks
ARM: McBSP: Add support for omap4 in McBSP driver
ARM: McBSP: Fix request for irq in OMAP4
OMAP: McBSP: Add 32-bit mode support
...
d71f4cece4bd97d05592836202fc04ff2e7817e3 20-May-2010 Takashi Iwai <tiwai@suse.de> Merge branch 'topic/asoc' into for-linus

Conflicts:
sound/soc/codecs/ad1938.c
044d32ffbcb4a1d400088e3575508f46c0a9face 22-Apr-2010 Koen Kooi <koen.kooi@gmail.com> board-omap3-beagle: add DSS2 support

This patch adds DSS2 support to the beagleboard boardfile. DVI and
TV-out are supported.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
oard-omap3beagle.c
6996e7ff215c1cbad3dc7db3216fc6cf4815988c 22-Mar-2010 Roger Quadros <roger.quadros@nokia.com> OMAP: RX51: Add Touch Controller in SPI board info

The Touch controller and LCD Panel share the same SPI bus 1.
So, we need to define the touch controller in the SPI board info
else, the SPI bus will be contended due to invalid state of
Touch controller's Chip Select thus preventing the LCD panel
from working.

Signed-off-by: Roger Quadros <roger.quadros@nokia.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
oard-rx51-peripherals.c
03e111045e362e16e97fdd79a49590a763fe5216 10-May-2010 Roger Quadros <roger.quadros@nokia.com> OMAP: RX51: Add LCD Panel support

Adds basic support for LCD Panel on Nokia N900

Signed-off-by: Roger Quadros <roger.quadros@nokia.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
akefile
oard-rx51-peripherals.c
oard-rx51-video.c
oard-rx51.c
ac1d426e825ab5778995f2f6f053ca2e6b45c622 17-May-2010 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'devel-stable' into devel

Conflicts:
arch/arm/Kconfig
arch/arm/include/asm/system.h
arch/arm/mm/Kconfig
c39e52a793f5599582dbacf4d8f62634a492f79e 17-May-2010 Russell King <rmk+kernel@arm.linux.org.uk> Merge branches 'at91', 'bcmring', 'ep93xx', 'iop', 'misc', 'nomadik', 'omap', 'pxa', 'spear' and 'versatile' into devel

Conflicts:
arch/arm/Makefile
arch/arm/common/Makefile
arch/arm/mm/Kconfig
6262c92f51ffb074800d5a340ee16bc06758e037 25-Mar-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: Remove useless linux/bootmem.h includes

These files include linux/bootmem.h without using anything from this
file; remove the unnecessary include.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
map_hwmod.c
9319b9da35179e11aa9c15d80062d63b36a0517f 12-May-2010 Jorge Eduardo Candelaria <jorge.candelaria@ti.com> ARM: McBSP: Fix request for irq in OMAP4

In OMAP4, there is only one irq line for TX and RX paths. Use
the correct irq line to avoid errors at runtime.

Also, request irq line only once (instead of requesting for TX
and RX).

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
cbsp.c
be6d8026a276e35cce1a2effaf5cd8bf6bd04814 23-Apr-2010 Kanigeri, Hari <h-kanigeri2@ti.com> omap iommu: add TLB preservation support

This patch adds TLB preservation support to IOMMU module

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ommu2.c
77bc5abb70ad8d99a38fc8dd56393eaa8882881c 23-Apr-2010 Kanigeri, Hari <h-kanigeri2@ti.com> omap iommu: missing check for TLB valid entry

Added the missing TLB valid entry setting for cam register

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ommu2.c
f779f9235f5fcaa887747ee13195efd81d09acce 23-Apr-2010 Kanigeri, Hari <h-kanigeri2@ti.com> omap iommu: support for OMAP4

This patch provides the iommu support for OMAP4 co-processors.

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
map-iommu.c
44da397fadf19928838aaa58317a5827dd6c1ec6 23-Apr-2010 Kanigeri, Hari <h-kanigeri2@ti.com> omap iommu: renamed omap3-iommu to omap-iommu

This patch includes changes to omap3-iommu.c file to make it generic
for all OMAPs. Renamed omap3-iommu.c to omap-iommu.c

[Hiroshi DOYU: Remove unnecessary "iommu-y" in Makefile]

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
akefile
map-iommu.c
map3-iommu.c
edc774ed0c7d75e92b53105b386a5b0ce94d4525 14-May-2010 Dmitry Kasatkin <dmitry.kasatkin@nokia.com> crypto: omap - OMAP macros corrected

Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
evices.c
43ffcd9a042858a9e9f9fe014bb073e55db34c67 27-Jan-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3: GPIO: generalize prepare for idle

Currently, the GPIO 'prepare' hook is only called when going to
off-mode, while the function is called 'prepare_for_retention.' This
patch renames the function to 'prepare_for_idle' and calls it for any
powersate != PWRDM_POWER_ON passing in the powerstate.

The hook itself is then responsible for doing various preparation
based on the powerstate.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m24xx.c
m34xx.c
a118b5f3391fc60e1619a79f8ceb070bb7b39b2d 22-Dec-2008 Tero Kristo <tero.kristo@nokia.com> OMAP3: GPIO fixes for off-mode

Off mode is now using the omap2 retention fix code for scanning GPIOs
during off-mode transitions. All the *non_wakeup_gpios variables
are now used for off-mode transition tracking on OMAP3. This patch fixes
cases where GPIO state changes are missed during off-mode.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
331b9e3d61cba2ad089f3f1fe2ef0122679337a1 04-May-2010 Mike Chan <mike@android.com> OMAP3: PM: Remove PER wakeup dependency on CORE.

We can remove this wakeup dependency since now, when
GPIO2-6 are enabled for IO-pad wakeup, PER domain is gauranteed
to be awake or be woken up to service.

The previous dependency did not handle all corner cases. Since there
was no sleep dependency between CORE and PER domains, if PER enters
RET and CORE is ON, PER will not be active for GPIO handling.

Signed-off-by: Mike Chan <mike@android.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
40742fa82ebf53c9367f5807cf1012d518516e74 04-May-2010 Mike Chan <mike@android.com> OMAP3: PM: Enable IO / IO-CHAIN wakeups for PER

IO events can also come from GPIO modules, which reside in the PER domain.
It is possible for the PER to enter RET while CORE is still in ON.
If GPIO 2-6 are enabled for IO-pad wakeups, the PER domain will not
wakeup in this case, unless we enable it.

Signed-off-by: Mike Chan <mike@android.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
7a44ad2fce65ed2811ebef4adbc38bcc82cd44a7 07-May-2010 Ranjith Lohithakshan <ranjithl@ti.com> OMAP3: PM: Enable wakeup from ads7846 touchscreen

This patch enables the wakeup capabilities of ads7846 touchscreen driver.
ads7846 driver can now wakeup the system from suspend on OMAP3430 EVM
and SDP boards.

The earlier approach of enabling wakeup on the touchscreen GPIO pin during
board level mux init is removed. Instead the wakeup flag in
ads7846_platform_data is enabled. Based on the flag, the ads7846 driver
will do an enable_irq_wake which will eventually call into the OMAP GPIO
layer and will enable the wakeup capability on the GPIO pin.

Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-3430sdp.c
oard-omap3evm.c
f3a8cde6bc58d97723cbc965d4d03a7cd86152fb 03-May-2010 Ranjith Lohithakshan <ranjithl@ti.com> OMAP3EVM: Update pad configuration for wakeup enabled pads

OMAP3530 TRM section 7.4.4.4.2 requires OFFOUTENABLE to be set (active low)
if wakeup capabilities are enabled on a pad. During OFF mode testing
on OMAP3530 EVM, it was observed that the device was not residing in
the OFF state. The device enters into the OFF state and immediately exits
from that state as if an IO wakeup event has occured. The issue was traced
down to the pad configuration of wkaeup enabled pad's.

Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-omap3evm.c
8e2efde9f1ba2fb918245f9419246e4e59b42a11 23-Mar-2010 Ari Kauppi <Ext-Ari.Kauppi@nokia.com> OMAP3: PM: Add milliseconds interface to suspend wakeup timer

Millisecond resolution is possible and there are use cases for it
(automatic testing).

Seconds-based interface is preserved for compatibility.

Signed-off-by: Ari Kauppi <Ext-Ari.Kauppi@nokia.com>
Reviewed-by: Phil Carmody <ext-phil.2.carmody@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
m.h
m34xx.c
d6290a3ead555c0b092d48288b4dc0566580e17f 26-Apr-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PRCM interrupt: only check and clear enabled PRCM IRQs

While handling PRCM IRQs, mask out interrupts that are not enabled in
PRM_IRQENABLE_MPU. If these are not masked out, non-enabled
interrupts are caught, a WARN() is printed due to no 'handler' and the
events are cleared. In addition to being noisy, this can also
interfere with independent polling of this register by SR/VP code.

This was noticed using SmartReflex transitions which cause the VPx_*
interrupts to be handled since they are set in PRM_IRQSTATUS_MPU even
but not enabled in PRM_IRQENABLE_MPU.

Acked-by: Mike Turquette <mturquette@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
b227358d333426abe47211b5be1fb69c0f74955f 10-May-2010 Vaibhav Hiremath <hvaibhav@ti.com> OMAP2/3: Add V4L2 DSS driver support in device.c

Add V4L2 DSS driver support in device.c

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
dee5f8285e6300f34054afd39c9406fc2f709362 30-Apr-2010 Tony Lindgren <tony@atomide.com> omap3: Remove non-muxable ball entries for 3630

These are currently non-muxable, so let's save some memory
and remove them. Otherwise we get the following warnings:

mux: Unknown ball offset 0x5e
mux: Unknown ball offset 0x60
mux: Unknown ball offset 0x62
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux34xx.c
609c9ba29742f65b83f062dc57e5326d620de7bb 30-Apr-2010 Tony Lindgren <tony@atomide.com> omap3: Fix compile for board-cm-t35

Otherwise we can get the following error:

error: variable 'tdo24m_mcspi_config' has initializer but incomplete type
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
a4f57b81385b7793b83cd5ec9efc24db0bb62404 30-Apr-2010 Tony Lindgren <tony@atomide.com> omap2/3: Fix DEBUG_LL for omap zoom2/3

Zoom2 and 3 have UARTs only on the external debug board.
GPMC needs to be mapped early to use it for DEBUG_LL.

Additionally, 0xfb000000 overlaps with other areas, so
use 0xfa400000 for the virtual address instead.

Note that with the pending serial.c patches you need to
set console=ttyS0,115200n8 as it will be the only UART
mapped. To use DEBUG_LL, you need to pass also earlyprintk
in cmdline.

Cc: Allen Pais <allen.pais@ti.com>
Acked-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-debugboard.c
oard-zoom2.c
oard-zoom3.c
nclude/mach/debug-macro.S
o.c
96554d70775e936e870f61d9523c9bab3fd54ad6 01-May-2010 Tony Lindgren <tony@atomide.com> omap: Use a memory address for storing the debug port info instead of UART1 scratchpad

This removes the dependency to the UART1 being available for storing
the debug configuration in uncompress.h. This will simplify the
DEBUG_LL UART configuration for boards that may not have UART1, or
have an external UART as it requires only one mapping for DEBUG_LL.

The patch has a few limitations. Basically now we're assuming that
the kernel uncompress code won't overlap with OMAP_UART_INFO. We also
assume the printascii is called at least once before paging_init in
order for addruart to have a chance to read the UART setup from
OMAP_UART_INFO.

As suggested by Cyril Chemparathy <cyril@ti.com>,
Vikram Pandita <vikram.pandita@ti.com> and
Kevin Hilman <khilman@deeprootsystems.com>. Based on an earlier
patch posted for Davinci by Cyril Chemparathy <cyril@ti.com>.

Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/debug-macro.S
df2071bd081408318d659cd14a9cf6ff23d874c9 03-May-2010 Herbert Xu <herbert@gondor.apana.org.au> Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
ee5500c45c4860a84bba502c6d9ef5af6395dad6 03-May-2010 Dmitry Kasatkin <dmitry.kasatkin@nokia.com> crypto: omap - Updates omap sham device related platform code

- registration with multi OMAP kernels support
- clocks

Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
evices.c
883413341e479d4e9f9c69def4884b4c6e1cef4e 09-Apr-2010 Will Deacon <will.deacon@arm.com> ARM: 6046/1: ARM: OMAP: register PMU IRQs during board initialisation

This patch updates the initialisation routines for the OMAP2 and OMAP3
boards so that they register their PMU IRQs with the PMU framework in
the Kernel.

Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
evices.c
17282b9855574911622ff803b67dade7e64f6f8c 27-Apr-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (39 commits)
omap: delete unused bootloader tag variables
omap: Devkit8000: Remove unused pins
omap: Devkit8000: Change position of init calls
omap: Devkit8000: Remove unnecessary include file
omap: Devkit8000: Fix typo in pin name
omap: Devkit8000: Add missing package selection
omap: Devkit8000: Fix typo in supplies
n8x0_defconfig: remove CONFIG_NILFS2_FS override
omap: board-sdp-flash.c: Fix typos in debug output
omap4: Fix McBSP4 base address
omap: rx51_defconfig: Remove CONFIG_SYSFS_DEPRECATED*=y options
omap: rx51_defconfig: Remove duplicate phonet
omap: fix a gpmc nand problem
AM3517: initialize i2c subsystem after mux subsystem
omap: remove one of the define of INT_34XX_BENCH_MPU_EMUL
omap: fix the compile error if CONFIG_MTD_NAND_OMAP2 is notenabled
OMAP4: Clocks: Change SPI Instance Names
omap: Devkit8000: Fix wrong usb port on Devkit8000
OMAP4: Fix for CONTROL register Base
OMAP4-HSMMC: FIX for MMC5 Controller IRQ Base
...
cf25eb950d0d8ada0db33c1d99d61bce620c128f 24-Mar-2010 Thomas Weber <weber@corscience.de> omap: Devkit8000: Remove unused pins

Old code from original patch contains beagle board pins that are
not available on the Devkit8000.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
faec32e5bfe699e40adcf30df82ec1db8fe8e43b 24-Mar-2010 Thomas Weber <weber@corscience.de> omap: Devkit8000: Change position of init calls

Change position of calling serial and ethernet initialization.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
184644a633d1b8cf5f2f7cf0debc4ee3917adc44 24-Mar-2010 Thomas Weber <weber@corscience.de> omap: Devkit8000: Remove unnecessary include file

Remove include otg.h.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
3cdc6ee54a491003b583b47a56c4052c76c965e6 24-Mar-2010 Thomas Weber <weber@corscience.de> omap: Devkit8000: Fix typo in pin name

Replace wrong sdr_cke[01] with sdrc_cke[01].

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
51824c5f5ecf6175c1cc913cb5c7d6d6213e96aa 24-Mar-2010 Thomas Weber <weber@corscience.de> omap: Devkit8000: Add missing package selection

Devkit8000 uses the CUS package for OMAP3530.

This patch adds missing package selection for CUS and enables
CONFIG_MUX.

Replace whitespace with tab in Kconfig.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
6057db52a2c85659821feac4d3a86ada711893a4 24-Mar-2010 Thomas Weber <weber@corscience.de> omap: Devkit8000: Fix typo in supplies

Replace wrong vdss_dsi with vdds_dsi.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
31849483f17dd76d48341dfc6dfc38261b630d26 25-Mar-2010 Thomas Weber <swirl@gmx.li> omap: board-sdp-flash.c: Fix typos in debug output

Corrected type of flash in output (OneNAND => NOR).
Removed whitespace after newline in output.
Removed double whitespace in output.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-sdp-flash.c
11e1ef2d105900a302b7ca92bcaf96a96d0274a1 20-Apr-2010 stanley.miao <stanley.miao@windriver.com> omap: fix a gpmc nand problem

If gpmc_t isn't given, we don't need to set timing for gpmc, or it will cause
a Oops.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-nand.c
5241b6b3bfa7be3661398cf93cb3dd187aeb65c6 20-Apr-2010 stanley.miao <stanley.miao@windriver.com> AM3517: initialize i2c subsystem after mux subsystem

The initialize of i2c subsystem will set pinmux, so it should be done
after the initialize of mux subsystem initialization.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
c8334810db6e74019048cb3fc17c5e0b4d0c8c68 22-Apr-2010 Abraham Arce <x0066660@ti.com> OMAP4: Clocks: Change SPI Instance Names

Change the name for the spi instances on omap44xx_clks to match
the names omap2 spi driver gives:

omap-mcspi.1 -> omap2_mcspi.1
omap-mcspi.2 -> omap2_mcspi.2
omap-mcspi.3 -> omap2_mcspi.3
omap-mcspi.4 -> omap2_mcspi.4

Signed-off-by: Abraham Arce <x0066660@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock44xx_data.c
2135bb53fb6c9a4b2ed7901b2b176a6100e29f6b 24-Mar-2010 Thomas Weber <weber@corscience.de> omap: Devkit8000: Fix wrong usb port on Devkit8000

Disable the nonexistent ehci port on Devkit8000.

Signed-off-by: Thomas Weber <weber@corscience.de>
Acked-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-devkit8000.c
9df76b7f179538903dfb4660ae27c807dd27535a 21-Apr-2010 kishore kadiyala <kishore.kadiyala@ti.com> OMAP4-HSMMC: FIX for MMC5 Controller IRQ Base

This patch fixes HSMMC Controller5 IRQ Base.

Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
f6b74535b5286ddb7a8c86a48ec372615cffbc4c 01-Mar-2010 Enric Balletbo i Serra <eballetbo@iseebcn.com> omap3: Fix EHCI port for IGEP v2 board

IGEP v2 uses EHCI port 1 instead of EHCI port 2.

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
1dea5c6b5876ea917a082e95a76c10aac307d4ec 22-Apr-2010 Tony Lindgren <tony@atomide.com> omap: Fix n8x0 mmc_mmc_init compile warnings and typos

Fix warning: 'return' with a value, in function returning void
in n8x0_mmc_init. Also fix a search and replace typo.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
67d24820c2f8e4df26e2ce6c7463db3f9d187f1f 22-Apr-2010 Tony Lindgren <tony@atomide.com> omap2: Fix ARM processor check for 24xx

The value to check is 7 for V6 instead. The code has been
working as it falls through to 24xx code if the other checks
fail.

Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/entry-macro.S
df571c4ab32da9bc05a7db98516fc06ef3cdc5d1 07-Apr-2010 Richard Woodruff <r-woodruff2@ti.com> omap4: Fix build break when used with gcc-4.4.1 (2009-q3)

This patch adds argument to smc calls as gcc-4.4.1 requires it
otherwise the build breaks with 2009-q3 toolchanin.

arch/arm/mach-omap2/omap-headsmp.S: Assembler messages:
arch/arm/mach-omap2/omap-headsmp.S:36: Error: missing expression -- `smc'
arch/arm/mach-omap2/omap-headsmp.S:55: Error: missing expression -- `smc'
arch/arm/mach-omap2/omap-headsmp.S:63: Error: missing expression -- `smc'
make[1]: *** [arch/arm/mach-omap2/omap-headsmp.o] Error 1

Signed-off-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map-headsmp.S
map44xx-smc.S
e2bca7c76a79b68506bfc3699beb74c0d41fe230 22-Apr-2010 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.34rc_a' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus
d54a45e2533ef33678dc340298b022a289d2b3e3 31-Mar-2010 Ranjith Lohithakshan <ranjithl@ti.com> OMAP3: clock: fix enable bit used for dpll4_m4x2 clock

The enable bit for dpll4_m4x2 clock should be OMAP3430_PWRDN_DSS1_SHIFT.
The code erroneously uses OMAP3430_PWRDN_CAM_SHIFT which is meant for
dpll4_m5x2 clock.

This came into notice during a recent review of the clock tree.

Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
766d305fead341889e7b9611fdc97236075a29fb 31-Mar-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: prcm: Use logical OR instead of bitwise OR

This patch fixes usage of bitwise OR in if conditions, and instead
uses logical OR.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Abhijit Pagare <abhijitpagare@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
owerdomain.c
rcm.c
d5647c18eac9a313a89a3049a9fff51b20021a44 31-Mar-2010 Thara Gopinath <thara@ti.com> OMAP: HWMOD: Adding clockdomain check

This patch adds check for presence of clockdomain structure in the API
omap_hwmod_get_pwrdm before trying to access the powerdomain structure.
This will prevent unnecessary crashing of the system in case of a
clock node with out an associated clockdomain.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
5a0e3ad6af8660be21ca98a971cd00f331318c05 24-Mar-2010 Tejun Heo <tj@kernel.org> include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h

percpu.h is included by sched.h and module.h and thus ends up being
included when building most .c files. percpu.h includes slab.h which
in turn includes gfp.h making everything defined by the two files
universally available and complicating inclusion dependencies.

percpu.h -> slab.h dependency is about to be removed. Prepare for
this change by updating users of gfp and slab facilities include those
headers directly instead of assuming availability. As this conversion
needs to touch large number of source files, the following script is
used as the basis of conversion.

http://userweb.kernel.org/~tj/misc/slabh-sweep.py

The script does the followings.

* Scan files for gfp and slab usages and update includes such that
only the necessary includes are there. ie. if only gfp is used,
gfp.h, if slab is used, slab.h.

* When the script inserts a new include, it looks at the include
blocks and try to put the new include such that its order conforms
to its surrounding. It's put in the include block which contains
core kernel includes, in the same order that the rest are ordered -
alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
doesn't seem to be any matching order.

* If the script can't find a place to put a new include (mostly
because the file doesn't have fitting include block), it prints out
an error message indicating which .h file needs to be added to the
file.

The conversion was done in the following steps.

1. The initial automatic conversion of all .c files updated slightly
over 4000 files, deleting around 700 includes and adding ~480 gfp.h
and ~3000 slab.h inclusions. The script emitted errors for ~400
files.

2. Each error was manually checked. Some didn't need the inclusion,
some needed manual addition while adding it to implementation .h or
embedding .c file was more appropriate for others. This step added
inclusions to around 150 files.

3. The script was run again and the output was compared to the edits
from #2 to make sure no file was left behind.

4. Several build tests were done and a couple of problems were fixed.
e.g. lib/decompress_*.c used malloc/free() wrappers around slab
APIs requiring slab.h to be added manually.

5. The script was run on all .h files but without automatically
editing them as sprinkling gfp.h and slab.h inclusions around .h
files could easily lead to inclusion dependency hell. Most gfp.h
inclusion directives were ignored as stuff from gfp.h was usually
wildly available and often used in preprocessor macros. Each
slab.h inclusion directive was examined and added manually as
necessary.

6. percpu.h was updated not to include slab.h.

7. Build test were done on the following configurations and failures
were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
distributed build env didn't work with gcov compiles) and a few
more options had to be turned off depending on archs to make things
build (like ipr on powerpc/64 which failed due to missing writeq).

* x86 and x86_64 UP and SMP allmodconfig and a custom test config.
* powerpc and powerpc64 SMP allmodconfig
* sparc and sparc64 SMP allmodconfig
* ia64 SMP allmodconfig
* s390 SMP allmodconfig
* alpha SMP allmodconfig
* um on x86_64 SMP allmodconfig

8. percpu.h modifications were reverted so that it could be applied as
a separate patch and serve as bisection point.

Given the fact that I had only a couple of failures from tests on step
6, I'm fairly confident about the coverage of this conversion patch.
If there is a breakage, it's likely to be something in one of the arch
headers which should be easily discoverable easily on most builds of
the specific arch.

Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
lkt2xxx_virt_prcm_set.c
ommu2.c
cbsp.c
ux.c
m-debug.c
m34xx.c
fcbcea93abbe361e14dd458d0a5a3e9dadaa5ba9 01-Mar-2010 Sergio Aguirre <saaguirre@ti.com> omap3: zoom 2/3: Change debugboard serial port id

This is now changed to PLAT8250_DEV_PLATFORM (= 0), because
it's the only port that's going to be initialized in
Zoom 2/3 boards.

So, it doesn't make sense to keep the hardcoded 3 value anymore.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
oard-zoom-debugboard.c
9e265aa7ac493aa0a3de80aa3092d8677b3e8546 01-Mar-2010 Sergio Aguirre <saaguirre@ti.com> omap3: 3630sdp: Explicitly enable all UARTs

All UARTs seem physically reachable, so, enable them all.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
oard-3630sdp.c
2d7f66104cc9ef508c382c8d6cb1ce6123383350 01-Mar-2010 Sergio Aguirre <saaguirre@ti.com> omap3: zoom2/3 / 3630sdp: Don't init always all uarts

This is useless, since in Zoom2/3 boards, the ports aren't even
physically accessible.

They must be explicitly initted in the board-zoom2.c, board-zoom3.c
and board-3630sdp.c files instead.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
oard-zoom-peripherals.c
4b1bbd3fd9384ad6ca62903172ccb6a8729dd897 27-Feb-2010 Sergio Aguirre <saaguirre@ti.com> omap2/3/4: serial: Remove condition for getting uart4_phys

This check is invalid, since we haven't filled the
omap_revision var at this point.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
erial.c
10c805eb4f89d44fe4e457d727b59af15c4a4a36 09-Mar-2010 Sergio Aguirre <saaguirre@ti.com> OMAP3: serial: Use dev_* macros instead of printk

As we have a struct device populated at the time we are
printing the errors, using dev_* macros makes more sense,
as could give a better idea where the error/warning came from.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
erial.c
e88d556dc5f0ef437e3538277a1dd33e5038be77 27-Feb-2010 Sergio Aguirre <saaguirre@ti.com> OMAP3: serial: Check for zero-based physical addr

This is for protecting a wrong mapping attempt of a zero-based
physical address.

The result is that, no serial port will be attempted to be mapped.

Also add an additional protection for NULL clocks before attempting
to enable them (if above condition applies)

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
erial.c
29b2ee5af5f3a02846bd38a1e2121d62ee5f6aca 06-Mar-2010 Andrew Clayton <andrew@digital-domain.net> ARM/OMAP: Remove the +x bit from a couple of source files

Remove the +x bit from a couple of source files

Signed-off-by: Andrew Clayton <andrew@digital-domain.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3630sdp.c
oard-zoom-peripherals.c
aa4b1f6e83aaf20997edc4c10e03baf834343e5a 10-Mar-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP4: fix temporary hacks that break multi-omap PM

When building for multi-omap, and OMAP4 is enabled, CONFIG_ARCH_OMAP4
will be true and prevent included code from building/running for
OMAP2/3 as well.

This problem exists in io.c where some hwmod/PM/SDRC init code is
prevented from running even on OMAP2/3 when OMAP4 is included in a
multi-OMAP build.

A quick glance suggests that this #ifndef is no longer needed in most
of the cases. In the remaining cases, the function is wrapped with
"if (cpu_is_omap24xx() || cpu_is_omap34xx())" which will be optimized
out for OMAP4-only builds.

Note that this is only a short-term fix. Longer-term, OMAP4
needs to create init functions for SDRC and hwmod late-init.

Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
03d5671dde04a186471969d73cfc89ee02664c2c 10-Mar-2010 Grazvydas Ignotas <notasas@gmail.com> omap3: pandora: add missing i2c3 board_info

This will allow BQ27500 fuel gauge to function.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
8185e468446e1e2b383bd61210702fffaed3ddc0 03-Mar-2010 Aaro Koskinen <Aaro.Koskinen@nokia.com> omap: mach-omap2/io.c: fix function declarations

Get rid of the following warnings:

warning: non-ANSI function declaration of function [...]

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
228893f9d2b70a7416267050ce03bfd9eb624713 01-Mar-2010 Enric Balletbo i Serra <eballetbo@iseebcn.com> omap3: Fix support for the LEDs connected to GPIO outputs on IGEP v2board

Select CONFIG_LEDS_GPIO to enable IGEP v2 LED support and control of supported
LEDs from userspace. Otherwise GPIO LEDs are exported as GPIO 26, 27 and 28 using
the gpiolib framework.

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
29b9a218d0be8e207ddeacdc68eb1e4b7f54b85a 26-Feb-2010 Aaro Koskinen <Aaro.Koskinen@nokia.com> omap: pass the reboot command to the boot loader

This patch follows the commit be093beb608edf821b45fe00a8a080fb5c6ed4af
by Russell King:

OMAP wishes to pass state to the boot loader upon reboot in order
to instruct it whether to wait for USB-based reflashing or not.
There is already a facility to do this via the reboot() syscall,
except we ignore the string passed to machine_restart().

The patch adds the missing parameter to omap1_arch_reset() and
omap_prcm_arch_reset(), and modifies the latter to pass the reboot
command parameter to the boot loader instead of reboot mode (which is
for kernel internal use only and cannot be modified by the userspace).

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rcm.c
26e4248359c6bf2da4a07767f6e12f1df426ab0a 26-Jan-2010 Suman Anna <s-anna@ti.com> omap2/3/4: mailbox: remove compiler warning

Remove a compiler warning in device-specific
mailbox module.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
21b90340207d324f92111e25ead1752533eeb9ca 25-Feb-2010 Thomas Weber <swirl@gmx.li> OMAP2: serial.c: Fix number of uarts in early_init

The omap_serial_early_init prints the following errors:

Could not get uart4_ick
Could not get uart4_fck

because all the uarts available in omap_uart[] will be initialized.
Only omap4430 and omap3630 have 4 uarts at the moment.
This patch reduces the number of uarts when cpu is not omap4430 or
omap3630.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
97b9ad1633ed3724e0563d250850763d20275da7 11-Mar-2010 Francisco Alecrim <francisco.alecrim@openbossa.org> omap2: add USB initialization for tusb6010

Based on Kalle's and Tony's patches. Some variables re-organized
and unused code removed.

Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: Francisco Alecrim <francisco.alecrim@openbossa.org>
[tony@atomide.com: this is needed to fix the related tusb6010 DMA API changes]
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
lock2420_data.c
d660f9a26ef81c3bbced92514ffbe82e1b882ee1 11-Mar-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: Fix build break by moving omap_smc1 into a separate .S

This patch moves omap_smc1 function to a seperate omap44xx-smc.S file
and sets compile flags as -Wa,-march=armv7-a.

This fix was suggested by Tony Lindgren <tony@atomide.com>

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
[tony@atomide.com: otherwise multi-omap build with V6 and V7 breaks]
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-4430sdp.c
map44xx-smc.S
6f69a1815a93722b360a1439934856e766509002 04-Mar-2010 Felipe Balbi <felipe.balbi@nokia.com> omap2/3/4: ehci: avoid compiler error with touchbook

the early_param() call in board-omap3touchbook.c expands to:

static const char __setup_str_early_touchbook_revision[]
__section(.init.rodata) _aligned(1) = tbr;
[...]

and we have a non-const variable being added to the
same section:

static struct ehci_hcd_omap_platform_data ehci_pdata
__section(.init.rodata);

because of that, gcc generates a section type conflict
which can (and actually should) be avoided by marking
const every variable marked with __initconst.

This patch fixes that for the ehci_hdc_omap_platform_data.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-3630sdp.c
oard-am3517evm.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3touchbook.c
oard-overo.c
oard-zoom3.c
sb-ehci.c
d2197e1e6038bb01568367a220e4a4e040f8337d 09-Mar-2010 Tony Lindgren <tony@atomide.com> omap3: Fix compile for Touch Book early_param

Commit 2b0d8c251b8876d530a6bf671eb5425838fa698a changed ARM to use
the common early_param code. Fix compile for Touch Book accordingly.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3touchbook.c
3a5b27bf6f29574d667230c7e76e4b83fe3014e0 02-Mar-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux

* 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (49 commits)
OMAP: DSS2: Taal: Fix TE when resuming
OMAP: DSS2: Taal: Fix ESD check
OMAP: DSS2: OMAPFB: Constify some function parameters
OMAP: DSS2: OMAPFB: install omapfb.h
OMAP: DSS2: DSI: add error prints
OMAP: DSS2: TPO-TD03MTEA1: fix function names
OMAP: DSS2: DSI: add dsi_vc_dcs_read_2() helper
OMAP: DSS2: OMAPFB: Remove FB_OMAP2_FORCE_AUTO_UPDATE
OMAP: DSS2: DSI: remove external TE support
OMAP: DSS2: move timing functions
OMAP: DSS2: move set/get_wss()
OMAP: DSS2: move enable/disable/suspend/resume
OMAP: DSS2: move update() and sync()
OMAP: DSS2: move set/get_update_mode()
OMAP: DSS2: move enable/get_te()
OMAP: DSS2: move get_recommended_bpp()
OMAP: DSS2: move get_resolution()
OMAP: DSS2: move enable/disable_channel to overlay manager
OMAP: DSS2: move wait_vsync()
OMAP: DSS2: move get/set_rotate()
...
d702d12167a2c05a346f49aac7a311d597762495 01-Mar-2010 Tony Lindgren <tony@atomide.com> Merge with mainline to remove plat-omap/Kconfig conflict

Conflicts:
arch/arm/plat-omap/Kconfig
ac0f6f927db539e03e1f3f61bcd4ed57d5cde7a9 01-Mar-2010 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (100 commits)
ARM: Eliminate decompressor -Dstatic= PIC hack
ARM: 5958/1: ARM: U300: fix inverted clk round rate
ARM: 5956/1: misplaced parentheses
ARM: 5955/1: ep93xx: move timer defines into core.c and document
ARM: 5954/1: ep93xx: move gpio interrupt support to gpio.c
ARM: 5953/1: ep93xx: fix broken build of clock.c
ARM: 5952/1: ARM: MM: Add ARM_L1_CACHE_SHIFT_6 for handle inside each ARCH Kconfig
ARM: 5949/1: NUC900 add gpio virtual memory map
ARM: 5948/1: Enable timer0 to time4 clock support for nuc910
ARM: 5940/2: ARM: MMCI: remove custom DBG macro and printk
ARM: make_coherent(): fix problems with highpte, part 2
MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself
ARM: 5945/1: ep93xx: include correct irq.h in core.c
ARM: 5933/1: amba-pl011: support hardware flow control
ARM: 5930/1: Add PKMAP area description to memory.txt.
ARM: 5929/1: Add checks to detect overlap of memory regions.
ARM: 5928/1: Change type of VMALLOC_END to unsigned long.
ARM: 5927/1: Make delimiters of DMA area globally visibly.
ARM: 5926/1: Add "Virtual kernel memory..." printout.
ARM: 5920/1: OMAP4: Enable L2 Cache
...

Fix up trivial conflict in arch/arm/mach-mx25/clock.c
9418c65f9bd861d0f7e39aab9cfb3aa6f2275d11 27-Feb-2010 Tony Lindgren <tony@atomide.com> omap2: Initialize Menelaus and MMC for N8X0

Initialize MMC for N8X0

Based on an earlier patches from Nokia released kernel
sources at:

http://repository.maemo.org/pool/os2008/free/source/k/kernel-source-rx-34/

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-n8x0.c
7b97f3edf35fdb41e507e5711ac1d6221cf7abf2 25-Feb-2010 Sriram <srk@ti.com> AM3517 EVM: correct typo - tca6416 mispelt as tca6516

Correct instances where tca6416 is misspelt as tca6516 in
the board-am3517evm file.

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
fec3eebdce2c8fe10004d161aa51ce22c668115b 22-Feb-2010 Ajay Kumar Gupta <ajay.gupta@ti.com> AM35x: Add missing GPIO mux config for EHCI port

Adding GPIO mux config used for PHY reset of EHCI port on base board.
We get below failure message without this patch,

"hub 1-0:1.0: unable to enumerate USB device on port 1"

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
9833eff3d7db76d2d04f28567ed8704d69e225ae 22-Feb-2010 Jarkko Nikula <jhnikula@gmail.com> omap: i2c: Fix muxing for command line enabled bus

The commit b63128e81214cc2db2995d690438055c26d213a5 broke the pin muxing
for I2C busses that are enabled from the kernel command line.

Fix this by defining the board registration function omap_register_i2c_bus
in common platform code as it was before but keep the muxing in architecture
dependent files.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2c.c
2741ecb4ce5c2d430b5c44b0a169038338c21df5 25-Feb-2010 Russell King <rmk+kernel@arm.linux.org.uk> Merge branch 'misc2' into devel
b610ec502376d915b76a62e22576c5d0462cc9c9 25-Feb-2010 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.34_b' of git://git.pwsan.com/linux-2.6 into omap-for-linus
ad001f145dcf457251e78fe2ae2ed40df1bda4ed 23-Feb-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: clock: Remove clock hacks from timer-gp.c

Now the omap4 clock framework is in mainline and clk_get_rate()
is functional. Hence reomve the hardcoded clock hacks.

This patch also fixes
Division by zero in kernel.
Backtrace:
[<c0025fb8>] (dump_backtrace+0x0/0x110) from [<c017febc>] (dump_stack+0x18/0x1c)
r7:60000093 r6:c0641050 r5:c0223e78 r4:c02126b4
[<c017fea4>] (dump_stack+0x0/0x1c) from [<c00260fc>] (__div0+0x18/0x20)
[<c00260e4>] (__div0+0x0/0x20) from [<c01431fc>] (Ldiv0+0x8/0x10)
[<c00318d4>] (omap_dm_timer_stop+0x0/0xb0) from [<c002c148>] (omap2_gp_timer_set_mode+0x1c/0x68)
r5:c0223e78 r4:00000000
[<c002c12c>] (omap2_gp_timer_set_mode+0x0/0x68) from [<c0063270>] (clockevents_set_mode+0x30/0x64)
r5:c020cae0 r4:00000000
[<c0063240>] (clockevents_set_mode+0x0/0x64) from [<c00632fc>] (clockevents_exchange_device+0x30/0x9c)
r5:c020cae0 r4:c02146e0
[<c00632cc>] (clockevents_exchange_device+0x0/0x9c) from [<c00636e0>] (tick_notify+0x17c/0x404)
r7:00000000 r6:c0641050 r5:00000000 r4:c020cae0
[<c0063564>] (tick_notify+0x0/0x404) from [<c005d5fc>] (notifier_call_chain+0x34/0x78)
[<c005d5c8>] (notifier_call_chain+0x0/0x78) from [<c005d684>] (__raw_notifier_call_chain+0x1c/0x24)
[<c005d668>] (__raw_notifier_call_chain+0x0/0x24) from [<c005d6ac>] (raw_notifier_call_chain+0x20/0x28)
[<c005d68c>] (raw_notifier_call_chain+0x0/0x28) from [<c0062e78>] (clockevents_do_notify+0x1c/0x24)
[<c0062e5c>] (clockevents_do_notify+0x0/0x24) from [<c0062f18>] (clockevents_register_device+0x98/0xd0)
[<c0062e80>] (clockevents_register_device+0x0/0xd0) from [<c001a194>] (percpu_timer_setup+0x80/0x9c)
r7:00000000 r6:00000002 r5:00000002 r4:00000003
[<c001a114>] (percpu_timer_setup+0x0/0x9c) from [<c000e9f0>] (smp_prepare_cpus+0xb0/0xe8)
[<c000e940>] (smp_prepare_cpus+0x0/0xe8) from [<c00084e8>] (kernel_init+0x5c/0x1fc)
r7:00000000 r6:00000000 r5:00000000 r4:c001b8a4
[<c000848c>] (kernel_init+0x0/0x1fc) from [<c0046c50>] (do_exit+0x0/0x604)
r7:00000000 r6:00000000 r5:00000000 r4:00000000

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
imer-gp.c
7c43d5472878db90d0244551370f6f0dc1b97747 23-Feb-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: clock: Add dummy clock nodes for interface clocks

On OMAP4 platform the iclk control is completly under hardware control
and no software control is available.

This difference w.r.t previous OMAP's needs all the common driver
accross OMAP's , cpu_is_xxxx() checks. To avoid poulluting the
drivers dummy clock nodes are created (The autogeneration
script has been updated accordingly).

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
[paul@pwsan.com: made OMAP1 dummy_ck common and edited patch to reuse that]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.h
lock44xx_data.c
547760502665eacc1f9fd9f3782b8b7f27c56bd4 23-Feb-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: clock: Rename leaf clock nodes to end with a _ick or _fck

All leaf clock nodes are renamed for OMAP4 to have a clk name which
end with a _ick or a _fck. This is done so that the naming convention
is same as that followed on older OMAPs.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
30962d9d0c74f6b00a7dece200fa08392b62817d 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP2+ clock: revise omap2_clk_{disable,enable}()

Simplify the code in the omap2_clk_disable() and omap2_clk_enable()
functions, reducing levels of indentation. This makes the code easier
to read. Add some additional debugging pr_debug()s here also to help
others understand what is going on.

Revise the omap2_clk_disable() logic so that it now attempts to
disable the clock's clockdomain before recursing up the clock tree.
Simultaneously, ensure that omap2_clk_enable() is called on parent
clocks first, before enabling the clockdomain. This ensures that a
parent clock's clockdomain is enabled before the child clock's
clockdomain. These sequences should be the inverse of each other.

Revise the omap2_clk_enable() logic so that it now cleans up after
itself upon encountering an error. Previously, an error enabling a
parent clock could have resulted in inconsistent usecounts on the
enclosing clockdomain.

Remove the trivial _omap2_clk_disable() and _omap2_clk_enable() static
functions, and replace it with the clkops calls that they were
executing.

For all this to work, the clockdomain omap2_clkdm_clk_enable() and
omap2_clkdm_clk_disable() code must not return an error on clockdomains
without CLKSTCTRL registers; so modify those functions to simply return 0
in that case.

While here, add some basic kerneldoc documentation on both functions,
and get rid of some old non-CodingStyle-compliant comments that have
existed since the dawn of time (at least, the OMAP clock framework's
time).

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock.c
lockdomain.c
4d30e82c26b7212021b9a5ab57760d9b8a3075fe 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3 clock: combine OMAP2 & 3 boot-time MPU rate change code

The OMAP2 and OMAP3 boot-time MPU rate change code is almost
identical. Merge them into mach-omap2/clock.c, and add kerneldoc
documentation.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.c
lock.h
lock2xxx.c
lock3xxx.c
ad9561609c41f704fd82facd37127e957bcaea94 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP clockdomain: if no autodeps exist, don't try to add or remove them

_clkdm_add_autodeps() and _clkdm_del_autodeps() will attempt to dereference
a NULL pointer if no autodeps were supplied to clkdm_init().

Based on a patch from Roel Kluin <roel.kluin@gmail.com> - thanks Roel.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Roel Kluin <roel.kluin@gmail.com>
lockdomain.c
43b40992ce21def8d5957f32d7ddb728af89bfce 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP hwmod: add hwmod class support

Add support for categorizing and iterating over hardware IP blocks by
the "class" of the IP block. The class is the type of the IP block:
e.g., "timer", "timer1ms", etc. Move the OCP_SYSCONFIG/SYSSTATUS data
from the struct omap_hwmod into the struct omap_hwmod_class, since
it's expected to stay consistent for each class. While here, fix some
comments.

The hwmod_class structures in this patch were designed and proposed by
Benoît Cousson <b-cousson@ti.com> and were refined in a discussion
between Thara Gopinath <thara@ti.com>, Kevin Hilman
<khilman@deeprootsystems.com>, and myself.

This patch uses WARN() lines that are longer than 80 characters, as
Kevin noted a broader lkml consensus to increase greppability by
keeping the messages all on one line.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Benoît Cousson <b-cousson@ti.com>
Cc: Thara Gopinath <thara@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
akefile
map_hwmod.c
map_hwmod_2420_data.c
map_hwmod_2430_data.c
map_hwmod_3xxx_data.c
map_hwmod_common_data.c
map_hwmod_common_data.h
7359154e94623f6a5a68a77b9fcfbef40633c93f 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP hwmod: convert header files with static allocations into C files

Code should be able to #include any header file without the fear that
the header file will go allocating memory. This is a coding style
issue, similar to commit 82e9bd588563c4e22ebb55b684ebec7e310cc715.
Move the existing hwmod data from .h files to .c files.

While here, convert "omap34xx" to "omap3xxx" in the hwmod files, since
most of these structures should be reusable across all OMAP3 chips.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
akefile
o.c
map_hwmod_2420.h
map_hwmod_2420_data.c
map_hwmod_2430.h
map_hwmod_2430_data.c
map_hwmod_34xx.h
map_hwmod_3xxx_data.c
50ebdac2ec9fb2de9c271cb2e0e13aae3b454166 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP hwmod: convert hwmod to use hardware clock names rather than clkdev dev+con

The OMAP hwmod core code is intended to use SoC IP block description
structures that are autogenerated from TI's OMAP hardware database.
Currently the hwmod code uses clkdev device + connection addressing to
identify clocks. This causes problems in the hwmod autogeneration
process, since the TI hardware database doesn't use platform_device or
clkdev addressing; it uses a single clock signal name string, which
tends to bear some resemblance to what is used in the OMAP TRMs. This
patch converts the hwmod code and existing data to use omap_clk_get_by_name(),
introduced in the previous patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
map_hwmod_2420.h
map_hwmod_2430.h
map_hwmod_34xx.h
e8d373779e17b3d108b49019fc83102fdd1523e1 23-Feb-2010 Vimarsh Zutshi <vimarsh.zutshi@nokia.com> OMAP3: clock: add capability to change rate of dpll4_m5_ck_3630

Add necessary clk_sel definitions to clock framework to allow changing
dpll4_m5_ck_3630 rate. This is used by the ISP driver.

Signed-off-by: Vimarsh Zutshi <vimarsh.zutshi@nokia.com>
[paul@pwsan.com: updated to apply]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock3xxx_data.c
53c92d8f20759c488ea0457bccc83a3a797e03fe 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP4 clock: drop the ALWAYS_ENABLED clock flag

Get rid of the ALWAYS_ENABLED clock flag - it doesn't actually do anything.
(The OMAP4 clock autogeneration scripts have been updated accordingly.)

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
lock44xx_data.c
51c19541624f5588bccb9d4fb3ae518c68c8082e 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP clock: drop RATE_FIXED clock flag

The RATE_FIXED clock flag is pointless. In the OMAP1 clock code, it
simply causes the omap1_clk_round_rate() function to return the
current rate of the clock. omap1_clk_round_rate(), however, should
never be called for a fixed-rate clock, since none of these clocks
have a .round_rate function pointer set in their struct clk records.
Similarly, in the OMAP2+ clock code, the RATE_FIXED flag just causes
the clock code to emit a warning if the OMAP clock maintainer was
foolish enough to add a .round_rate function pointer to a fixed-rate
clock. "Doctor, it hurts when I pretend that a fixed-rate clock is
rate-changeable." "Then don't pretend that a fixed-rate clock is
rate-changeable." It has no functional value. This patch drops the
RATE_FIXED clock flag, removing it from all clocks that are so marked.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
lkt_clksel.c
lock2420_data.c
lock2430_data.c
lock3xxx_data.c
8c34974ab0ecbbcdabd343f8cd0013cd2d2b0fa8 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP2 clock: drop DELAYED_APP clock flag

All of the clocks that are marked with DELAYED_APP are changed as part
of the virt_prcm_set OPP virtual clock. On 24xx, these clocks all
need to be changed as part of a group to keep the clock tree
functional - hence the need for the VALID_CONFIG bit, which is not
present on later OMAPs. These clocks should not be rate-changed
independently. So prevent these clocks from being changed
independently by dropping their .round_rate and .set_rate function
pointers. It then turns out that the DELAYED_APP clock flag is no
longer useful, so drop it and the associated code and renumber the
clock flags.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
lkt_clksel.c
lock.c
lock.h
lock2420_data.c
lock2430_data.c
5173804fbbbff82a2fd40bc1c46655b272167af5 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP2430 clock: make func_96m_ck parent-selectable

func_96m_ck was incorrectly marked as being rate-selectable, when in
fact it is only parent-selectable. Remove the .set_rate and .round_rate
function pointers for this clk.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2430_data.c
81b34fbecbfbf24ed95c2d80d5cb14149652408f 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP2 clock: split OMAP2420, OMAP2430 clock data into their own files

In preparation for multi-OMAP2 kernels, split
mach-omap2/clock2xxx_data.c into mach-omap2/clock2420_data.c and
mach-omap2/clock2430_data.c. 2430 uses a different device space
physical memory layout than past or future OMAPs, and we use a
different virtual memory layout as well, which causes trouble for
architecture-level code/data that tries to support both. We tried
using offsets from the virtual base last year, but those patches never
made it upstream; so after some discussion with Tony about the best
all-around approach, we'll just grit our teeth and duplicate the
structures. The maintenance advantages of a single kernel config that
can compile and boot on OMAP2, 3, and 4 platforms are simply too
compelling.

This approach does have some nice benefits beyond multi-OMAP 2 kernel
support. The runtime size of OMAP2420-specific and OMAP2430-specific
kernels is smaller, since unused clocks for the other OMAP2 chip will
no longer be compiled in. (At some point we will mark the clock data
__initdata and allocate it during registration, which will eliminate
the runtime memory advantage.) It also makes the clock trees slightly
easier to read, since 2420-specific and 2430-specific clocks are no
longer mixed together.

This patch also splits 2430-specific clock code into its own file,
mach-omap2/clock2430.c, which is only compiled in for 2430 builds -
mostly for organizational clarity.

While here, fix a bug in the OMAP2430 clock tree: "emul_ck" was
incorrectly marked as being 2420-only, when actually it is present on
both OMAP2420 and OMAP2430.

Thanks to Tony for some good discussions about how to approach this
problem.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
akefile
lkt2xxx_apll.c
lock2420_data.c
lock2430.c
lock2430_data.c
lock2xxx.c
lock2xxx.h
lock2xxx_data.c
o.c
657ebfadc19c5a14f709dee1645082828330d5d4 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP3/4 clock: split into per-chip family files

clock34xx_data.c now contains data for the OMAP34xx family, the
OMAP36xx family, and the OMAP3517 family, so rename it to
clock3xxx_data.c. Rename clock34xx.c to clock3xxx.c, and move the
chip family-specific clock functions to clock34xx.c, clock36xx.c, or
clock3517.c, as appropriate. So now "clock3xxx.*" refers to the OMAP3
superset.

The main goal here is to prepare to compile chip family-specific clock
functions only for kernel builds that target that chip family. To get to
that point, we also need to add CONFIG_SOC_* options for those other
chip families; that will be done in future patches, planned for 2.6.35.

OMAP4 is also affected by this. It duplicated the OMAP3 non-CORE DPLL
clkops structure. The OMAP4 variant of this clkops structure has been
removed, and since there was nothing else currently in clock44xx.c, it
too has been removed -- it can always be added back later when there
is some content for it. (The OMAP4 clock autogeneration scripts have been
updated accordingly.)

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Ranjith Lohithakshan <ranjithl@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
akefile
lkt34xx_dpll3m2.c
lock.c
lock.h
lock34xx.c
lock34xx.h
lock34xx_data.c
lock3517.c
lock3517.h
lock36xx.c
lock36xx.h
lock3xxx.c
lock3xxx.h
lock3xxx_data.c
lock44xx.c
lock44xx.h
lock44xx_data.c
o.c
b92c170d019db7554db95380d2e1dfb3a368e350 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP clock: drop .id field; ensure each clock has a unique name

After the clkdev conversion, the struct clk.id field became
superfluous, so, drop it. Bring the clock names closer to the TRMs
and ensure they are unique for debugfs.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2xxx_data.c
lock34xx_data.c
1a3377176b3d41e3f30483a624cdafadeeb4064f 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP2 clock: drop CONFIG_PARTICIPANT clock flag

It turns out that the only purpose of the CONFIG_PARTICIPANT clock
flag is to prevent omap2_clk_set_rate() and omap2_clk_set_parent()
from being executed on clocks with that flag set. The rate-changing
component can be more directly accomplished by dropping the .set_rate
and .round_rate function pointers from those CONFIG_PARTICIPANT struct
clks. As far as the parent-changing component is concerned, it turns
out that none of the CONFIG_PARTICIPANT clocks have multiple parent
choices, so all that is necessary is for omap2_clk_set_parent() to
bail out early if the new parent is equal to the old parent.
Implement this change and get rid of the flag, which has always had a
confusing name (it appears to be a Kconfig option, falsely).

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
lock.c
lock2xxx_data.c
17d092733d9ffd7fcf6da36169a60caf8400fc4c 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: drop DELAYED_APP flag from non-clksel clocks

The DELAYED_APP flag is effective only with clksel clocks, so drop it from
clocks that are not rate-changeable or that use non-clksel rate changing code
(e.g., virt_prcm_set).

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
lock2xxx_data.c
94297784eec057ca5425d9cd21a845b109fcaebf 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: GFX functional clock rates are not independently changeable

According to the OMAP242x TRM Rev X Figure 5-15 "Clock Output Control
- Functional Clocks 2", the GFX functional clocks should be marked
both DELAYED_APP and CONFIG_PARTICIPANT, meaning that their rates must
be reprogrammed as part of a larger OPP set change.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
lock2xxx_data.c
c78a05e8e4a81d01135f4a03544d788b3e203d65 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP4 clock: drop the CLOCK_IN_OMAP4430 clock flag

The CLOCK_IN_OMAP4430 clock flag is not currently needed in the OMAP4
ES1 clock tree, and platform discrimination via clock flags is
deprecated in favor of the clkdev mechanism, so, drop it. (The OMAP4
clock tree autogeneration script has been updated accordingly.)

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lock44xx_data.c
93340a22943f3169de7d359ea14cd618114da6f6 23-Feb-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3/4 clock: fix DPLL multiplier value errors; also copyrights, includes, documentation

The maximum DPLL multiplier (M) values for OMAP2xxx and OMAP3xxx are
one increment higher than they should be. See for example the
OMAP242x TRM Rev X Section 5.10.6 "Clock Generator Registers" and the
OMAP36xx TRM Rev C Table 3-202 "CM_CLKSEL1_PLL". Programming a 0 into
the DPLL's M register bitfield is valid for OMAP2/3 and indicates that
the DPLL should enter MN-bypass mode. Also, increase the minimum
multiplier (M) value for the DPLL rate rounding code from 1 to 2, to
ensure that it does not inadvertently put the DPLL into bypass.

Note that the register documentation in the OMAP2xxx and OMAP3xxx TRMs
does not make clear that the actual DPLL divider value (the "N") is
the content of the appropriate register bitfield for the N value,
_plus one_. (In other words, an N register bitfield of 0 indicates a
DPLL divider value of 1.) This is only clearly documented in the
OMAP4430 TRM, in, for example, OMAP4430 TRM Rev A Table 3-1167
"CM_CLKSEL_DPLL_USB".

While here, update copyrights, add kerneldoc for struct dpll_data,
drop the unused struct dpll_data.max_tolerance field, remove some
unnecessary #includes in DPLL-related code, and replace the #include
of <linux/module.h> with <linux/list.h>, which is what was really
needed. The OMAP4 clock autogenerator script has been updated
accordingly.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lkt_dpll.c
lock2xxx_data.c
lock34xx_data.c
lock44xx.h
lock44xx_data.c
pll3xxx.c
7356f0b26b3176610b4de439e8c7bfe10c797347 23-Feb-2010 Vishwanath BS <vishwanath.bs@ti.com> OMAP3 clock: add support for 192Mhz DPLL4M2 output

In 3630, DPLL4M2 output can be 96MHz or 192MHz (for SGX to run at
192). This patch has changes to support this feature. 96MHz clock is
generated by dividing 192Mhz clock by 2 using CM_CLKSEL_CORE register.
SGX can select Core Clock, 192MHz clock or CM_96M_FCLK as it's
functional clock. In summary changes done are:
1. Added a feature called omap3_has_192mhz_clk and enabled for 3630
2. Added a new clock node called omap_192m_alwon_ck
3. Made omap_96m_alwon_fck to derive its clock from omap_192m_alwon_ck

Signed-off-by: Vishwanath BS <Vishwanath.bs@ti.com>
[paul@pwsan.com: fixed whitespace]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx_data.c
m-regbits-34xx.h
d.c
678bc9a2eabb7f444ef8ad1cfc5ef394e2bd8bf2 23-Feb-2010 Vishwanath BS <vishwanath.bs@ti.com> OMAP3 clock: Introduce 3630 DPLL4 HSDivider changes

Divider (M2, M3, M4, M5 and M6) field width has been increased by 1 bit
in 3630. This patch has changes to accommodate this in CM dynamically
based on chip version.
Basically new clock nodes have been added for 3630 DPLL4 M2,M3,M4,M5 and
M6 and value of these nodes are used if cpu type is 3630.

Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
[paul@pwsan.com: updated to apply on 2.6.34 queue; comments added]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx_data.c
m-regbits-34xx.h
358965d7bab9c70c11b64931da02667b161cb03a 23-Feb-2010 Richard Woodruff <r-woodruff2@ti.com> OMAP3 clock: introduce DPLL4 Jtype

DPLL4 for 3630 introduces a changed block called j type dpll, requiring
special divisor bits and additional reg fields. To allow for silicons to
use this, this is introduced as a flag and is enabled for 3630 silicon.
OMAP4 also has j type dpll for usb.

Tested with 3630 ZOOM3 and OMAP3430 ZOOM2

Signed-off-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Vishwanath BS <Vishwanath.bs@ti.com>
[paul@pwsan.com: added some comments; updated copyrights and credits; fixed
some style issues]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.h
lock34xx_data.c
lock44xx_data.c
m-regbits-34xx.h
pll3xxx.c
91808a81fe7cc8a786b575ebc2d102c59d83c1a7 23-Feb-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4 clock domain: Add check for avoiding dependency related update.

A check is added for avoiding the sleep/wakeup dependency updates
for OMAP4 as the structures for the dependencies are currently absent.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
[paul@pwsan.com: added warnings, explanatory comment, copyright update]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
a7e069fc5a560c096a2597d7be27f45fb4a01df7 24-Feb-2010 Mike Turquette <mturquette@ti.com> OMAP3630: Clock: Workaround for DPLL HS divider limitation

This patch implements a workaround for the DPLL HS divider limitation
in OMAP3630 as given by Errata ID: i556.

Errata:
When PWRDN bit is set, it resets the internal HSDIVIDER divide-by value (Mx).
The reset value gets loaded instead of the previous value.
The following HSDIVIDERs exhibit above behavior:
. DPLL4 : M6 / M5 / M4 / M3 / M2 (CM_CLKEN_PLL[31:26] register bits)
. DPLL3 : M3 (CM_CLKEN_PLL[12] register bit).

Work Around:
It is mandatory to apply the following sequence to ensure the write
value will
be loaded in DPLL HSDIVIDER FSM:
The global sequence when using PWRDN bit is the following:
. Disable Mx HSDIVIDER clock output related functional clock enable bits
(in CM_FCLKEN_xxx / CM_ICLKEN_xxx)
. Enable PWRDN bit of HSDIVIDER
. Disable PWRDN bit of HSDIVIDER
. Read current HSDIVIDER register value
. Write different value in HSDIVIDER register
. Write expected value in HSDIVIDER register
. Enable Mx HSDIVIDER clock output related functional clocks
(CM_FCLKEN_xxx / CM_ICLKEN_xxx)

Signed-off-by: Mike Turquette <mturquette@ti.com>
Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Vijaykumar GN <vijaykumar.gn@ti.com>
[paul@pwsan.com: updated patch to apply; made workaround function static;
marked as being 36xx-specific]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.c
lock34xx.h
lock34xx_data.c
358f0e630d5409ab3837b86db3595560eae773b6 24-Feb-2010 Thara Gopinath <thara@ti.com> OMAP3: hwmod: support to specify the offset position of various SYSCONFIG register bits.

In OMAP3 Some modules like Smartreflex do not have the regular sysconfig
register.Instead clockactivity bits are part of another register at a
different bit position than the usual bit positions 8 and 9.

In OMAP4, a new scheme is available due to the new protocol
between the PRCM and the IPs. Depending of the scheme, the SYSCONFIG
bitfields position will be different.
The IP_REVISION register should be at offset 0x00.
It should contain a SCHEME field. From this we can determine whether
the IP follows legacy scheme or the new scheme.

31:30 SCHEME Used to distinguish between old scheme and current.
Read 0x0: Legacy protocol.
Read 0x1: New PRCM protocol defined for new OMAP4 IPs

For legacy IP
13:12 MIDLEMODE
11:8 CLOCKACTIVITY
6 EMUSOFT
5 EMUFREE
4:3 SIDLEMODE
2 ENAWAKEUP
1 SOFTRESET
0 AUTOIDLE

For new OMAP4 IP's, the bit position in SYSCONFIG is (for simple target):
5:4 STANDBYMODE (Ex MIDLEMODE)
3:2 IDLEMODE (Ex SIDLEMODE)
1 FREEEMU (Ex EMUFREE)
0 SOFTRESET

Unfortunately In OMAP4 also some IPs will not follow any of these
two schemes. This is the case at least for McASP, SmartReflex
and some security IPs.

This patch introduces a new field sysc_fields in omap_hwmod_sysconfig which
can be used by the hwmod structures to specify the offsets for the
sysconfig register of the IP.Also two static structures
omap_hwmod_sysc_type1 and omap_hwmod_sysc_type2 are defined
which can be used directly to populate the sysc_fields if the IP follows
legacy or new OMAP4 scheme. If the IP follows none of these two schemes
a new omap_hwmod_sysc_fields structure has to be defined and
passed as part of omap_hwmod_sysconfig.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
map_hwmod.c
map_hwmod_common_data.c
5eb75f557843132da08938609def2774ee467d95 24-Feb-2010 Vishwanath BS <vishwanath.bs@ti.com> OMAP3 clock: Remove FreqSel for 3630

DPLL_FREQSEL field in CLKEN_PLL register is no longer valid for
OMAP3630. So remove references to that.

Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
Cc: Sergei Shtylyov <sshtylyov@mvista.com>
[paul@pwsan.com: added comment fix from Sergei Shtylyov]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
pll3xxx.c
0cc9314eaf82ecf9914ad2c845574ed5e63c0374 24-Feb-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3: PRCM: fix misc. compiler warnings

- missing return in omap_prcm_get_reset_sources()
- potential use of uninitialized variable in omap_prcm_arch_reset()

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rcm.c
a51ba284076437ce36efc8dd9b15983546c043f7 24-Feb-2010 Sanjeev Premi <premi@ti.com> OMAP3 clock: Check return values for clk_get()

This patch checks if clk_get() returned success for
the clocks used in function omap2_clk_arch_init().

This version incorporates review comments from
Kevin Hilman and Paul Walmsley.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.c
3cc4a2fc2ed7727828f410ab092111cb56cefd61 24-Feb-2010 Ranjith Lohithakshan <ranjithl@ti.com> AM35xx: Add clock support for new modules on AM35xx

This patch adds clock support for the following AM35xx modules
- Ethernet MAC
- CAN Controller (HECC)
- New MUSB OTG Controller with integrated Phy
- Video Processing Front End (VPFE)
- Additional UART (UART4)

Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.c
lock34xx.h
lock34xx_data.c
m-regbits-34xx.h
419cc97d3678f0fca5e60b3853dd9c1371f67805 24-Feb-2010 Ranjith Lohithakshan <ranjithl@ti.com> OMAP2/3 clock: Extend find_idlest() to pass back idle state value

Current implementation defines clock idle state indicators based on the
cpu information (cpu_is_omap24xx() or cpu_is_omap34xx()) in a system wide
manner. This patch extends the find_idlest() function in clkops to pass
back the idle state indicator for that clock, thus allowing idle state
indicators to be defined on a per clock basis if required.

This is specifically needed on AM35xx devices as the new IPSS clocks
indicates the idle status (0 is idle, 1 is ready) in a way just
opposite to how its handled in OMAP3 (0 is ready, 1 is idle).

Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com>
[paul@pwsan.com: updated to apply after commit 98c45457 et seq.]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lkt2xxx_apll.c
lock.c
lock.h
lock2xxx.c
lock34xx.c
m.h
rcm.c
cde08f81b1d7952ae00c4be2165da629ef985522 24-Feb-2010 Thara Gopinath <thara@ti.com> OMAP3 PM: Adding counters for power domain logic off and mem off during retention.

This patch adds counters to keep track of whether the powerdomain
logic or software controllable memory banks are turned off when
the power domain enters retention. During power domain retention
if logic gets turned off, the scenario is known as Open Switch Retention.
Also during retention s/w controllable memory banks of a power
domain can be chosen to be kept in retention or off.

This patch adds one counter per powerdomain to track the power domain
logic state during retention. Number of memory bank state counters
added depends on the number of software controllable memory banks
of the powerdomain. To view these counters do
cat ../debug/pm_debug/count

Signed-off-by: Thara Gopinath <thara@ti.com>
[paul@pwsan.com: conditional expressions simplified; counter increment
code moved to its own function]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m-debug.c
owerdomain.c
4133a44e28cb65c380903ca69806eec039401f46 24-Feb-2010 Thara Gopinath <thara@ti.com> OMAP3 PM: Defining .pwrsts_logic_ret field for core power domain structure

This patch adds the flag .pwrsts_logic_ret info for the core power domain
in the associated powerdomain structure. This flag specifies the states
core domain logic can hit in event of the domain entering retention.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomains34xx.h
1e3d0d2ba9ce1f975ca59d9a1048175f1e9c01ac 24-Feb-2010 Thara Gopinath <thara@ti.com> OMAP2/3 PM: Adding powerdomain APIs for reading the next logic and mem state

This patch adds APIs pwrdm_read_logic_retst and
pwrdm_read_mem_retst for reading the next programmed
logic and memory state a powerdomain is to hit in event
of the next power domain state being retention.
These are needed for OSWR support.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
b024b542c3697dceb7b625773358310ee34382a6 24-Feb-2010 Tero Kristo <tero.kristo@nokia.com> OMAP3: Clock: Added IDLEST definitions for SGX

Added definitions for OMAP3430ES2_ST_SGX_SHIFT and OMAP3430ES2_ST_SGX_MASK
as these were missing.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m-regbits-34xx.h
dfa6d6f892bef0afa2a39d27e4bd1763b972d206 24-Feb-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: clock: use std _MASK suffix for CM_FCLKEN_IVA2 defines

Add _MASK suffix to CM_FCLKEN_IVA2 bitfieds to conform with the rest
of the usage in cm-regbits-34xx.h of using _SHIFT and _MASK suffixes.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m-regbits-34xx.h
m34xx.c
0fdc54b2019700a4b50179914e810367c14044a3 24-Feb-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus
4499ce42935db68debba0a2d2ab8280627e4b692 06-Feb-2010 Suman Anna <s-anna@ti.com> omap: mailbox: correct OMAP4 SIDLEMODE logic

OMAP4 mailbox has a different MAILBOX_SYSCONFIG register.
There is now no AutoIdle. The SIDLEMODE bits have been
right-shifted by 1 bit and now occupy bits 2 & 3.

Signed-off-by: Suman Anna <s-anna@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
a6a6022871b83ff31c34495709f53e3faef80976 26-Jan-2010 Suman Anna <s-anna@ti.com> omap: mailbox: correct OMAP4 reset logic

OMAP4 mailbox has a different register set. There is
no MAILBOX_SYSSTATUS register. The reset is indicated
with the SOFTRESET bit of the MAILBOX_SYSCONFIG register
itself. This bit should read 0 for a successful Reset.
Also, the SOFTRESET bit occupies bit0 and not bit1 as with
previous generations.

Signed-off-by: Suman Anna <s-anna@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
5772ca7d7897722e7ed4c476bafee0b07bd9193e 17-Feb-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: Use irq line defines from irq-44xx.h

This patch removes all the omap4 specific irq line
defines from plat/irqs.h and includes auto-generated
irqs-44xx.h
All the legacy naming style defines are replaced with the one
from irqs-44xx.h

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
[tony@atomide.com: updated to compile with usb-musb.c]
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
imer-mpu.c
sb-musb.c
79dcfdd407208cba06bd446e93b0809df1cf10d1 11-Nov-2009 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: Added support for L2 aux ctrl register save and restore

This patch adds a save and restore mechanism for ARM L2 auxiliary control
register. The feature is enabled by default for GP devices, but for HS/EMU
devices the user must enable the service and define the PPA service ID to
be used for setting L2 aux ctrl, as this is not currently supported by the
bootloader. If nobody alters the contents of L2 aux ctrl from its reset
value, this feature is not needed.

Kconfig option to enable HS/EMU L2 aux save and restore:
- OMAP3_L2_AUX_SECURE_SAVE_RESTORE
Kconfig option to select HS/EMU PPA service for setting L2 aux ctrl:
- OMAP3_L2_AUX_SECURE_SERVICE_SET_ID

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
leep34xx.S
a89b6f006201469a74dfc0cc4e953648b6a1c69d 28-May-2009 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: add scratchpad locking function

This patch implements locking using the semaphore in scratchpad
memory preventing any concurrent access to scratchpad from OMAP
and Baseband/Modem processor.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
leep34xx.S
5a1b1d3a9efad6bd53d01ff02e86626d1a51d697 29-Oct-2009 Kalle Jokiniemi <kalle.jokiniemi@digia.com> OMAP3: RX-51: Pass cpu idle parameters

Pass cpuidle parameters for RX-51. Numbers based on
measurements made in October 2009 for PM optimized
kernel with CPU freq enabled. Assumes OPP2 (main
idle OPP, and worst case latencies).

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-rx51.c
a4b41d8ed805e90bd855ac572eaeb13901d4af32 02-Oct-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: RX-51: support sleep indicator LEDs

The sleep indicator LEDs can be enabled/disabled by toggling GPIO162.
Use the LED GPIO class to export this LED functionality to userspace.

To enable:

# echo 1 > /sys/class/leds/sleep_ind/brightness

To disable:

# echo 0 > /sys/class/leds/sleep_ind/brightness

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-rx51.c
709731bb369b562586ee4c60f3f0393eb94dd9d6 29-Oct-2009 Kalle Jokiniemi <kalle.jokiniemi@digia.com> OMAP3: cpuidle: Add valid field into C-state parameter passing

Different boards benefit differently from the available
seven C-states for cpu idle. In most cases, only few,
properly spaced (in terms of consumption and latency)
C-states are required to make the power management
optimal. Hence we need a possibility to pass which
C-states are actually used for each board.

So added the valid field to cpuidle_params and added
support to 3430sdp, which uses the paramenter passing.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-3430sdp.c
puidle34xx.c
m.h
bb4de3df69e2993d642e38e17a3eccfe37845acc 16-Dec-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: cpuidle: configure latencies/thresholds from board file

The CPUidle C state latencies and thresholds are dependent on various
board specific details. This patch makes it possible to configure
these values from the respective board files.

omap3_pm_init_cpuidle() can now be optionally called from board files
to pass board specific cpuidle parameters. If the board files do not
use this function to pass the params default values are used which
might cause higher consumption dur to wrong state selection by the
governor.

This patch only updates the 3430sdp board files to use
omap3_pm_init_cpuidle().

From Kalle, in addition to original patch from Rajendra:

Building without CONFIG_CPU_IDLE or CONFIG_PM causes build to fail if
cpu idle parameters are tried to pass using omap3_pm_init_cpuidle
function.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-3430sdp.c
puidle34xx.c
m.h
6af83b38613da58a221e56af676097575ce2c763 28-Jan-2010 Sanjeev Premi <premi@ti.com> OMAP3: cpuidle: Update statistics for correct state

When 'enable_off_mode' is 0, the target power state for MPU
and CORE was locally changed to PWRDM_POWER_RET but, the
statistics are updated for idle state originally selected
by the governor.

This patch 'invalidates' the idle states that lead either of
MPU or Core to PWRDM_POWER_OFF state when 'enable_off_mode'
is '0'. The states are valid once 'enable_off_mode' is set
to '1'.

Added function next_valid_state() to check if current state
is valid; else get the next valid state. It is called from
omap3_enter_idle_bm().

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
m.h
m34xx.c
8ca458221800416f16f95878e932f5f0e2a1618f 18-Feb-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap3/4: Remove overlapping mapping of L4_WKUP io space

This patch removes the L4 wakeup io mapping section for omap3
and omap4. L4 wakeup space is part of 4MB L4 space which is
already mapped and hence remove the overlapped mapping.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
737daa036081ad3030268f658d8dff785b3e73cd 18-Feb-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: Fix omap_type() for omap4

This patch fixes the omap_type function to detect whether the device
is GP or HS

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
b7ebb10b0a9793effa4a74a3c29049b44c6b8176 15-Feb-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap2/3/4: ioremap omap_globals module

This is a clean-up patch towards dynamic allocation of IO space
instead of using harcoded macros to calculate virtual addresses.

Also update the sdrc, prcm and control module to allocate
iospace dynamically

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ontrol.c
rcm.c
drc.c
e03d37d85909fd9b09e78087c57b45972a7664ad 18-Feb-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap3/4: uart: fix full-fifo write abort

This patch is addition to the already merged commit on non-empty
uart fifo read abort. "ce13d4716a276f4331d78ba28a5093a63822ab95"

OMAP3630 and OMAP4430 UART IP blocks have a restriction on TX FIFO
too. If you try to write to the tx fifo when it is full, the system aborts.

More details on this thread are here:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg19447.html

This can be easily reproducible by not suppressing interconnect errors or
long duration testing where continuous prints over console from multiple
threads. This patch is addressing the issue by ensuring that write is
not issued while fifo is full. A timeout is added to avoid any hang
on fifo-full for 10 mS which is unlikely case.

Patch is validated on OMAP3630 and OMAP4 SDP.

V2 version removed the additional 1 uS on every TX as per
Tony's suggestion

Signed-off-by: Woodruff Richard <r-woodruff2@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
CC: Ghorai Sukumar <s-ghorai@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
ae46ec77311b550be992339c1e01fc20bc65296e 16-Feb-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: multi-omap: Allow build to work

The musb support is enabled in omap3 platforms. For omap4 only board
support is available and the driver still isn't supported.
Because of this build with omap3_defconfig used for multi-omap
doesn't work on omap4430 sdp.

This patch avoids usb_musb_init() by adding a cpu check
in the board file.

Thanks to Anand Gadiyar and Mankad Maulik for the suggestion
of patching board file instead of musb driver.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
d912fa9255845ffd8029482d408b6139344891c8 22-Feb-2010 Eero Nurkkala <ext-eero.nurkkala@nokia.com> McBSP: OMAP3: Add sidetone feature

Add sidetone feature to McBSP instances 2 and 3 on OMAP3 based devices.

Signed-off-by: Ilkka Koskinen <ilkka.koskinen@nokia.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Tested-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
bce066836644f12b239b86bbfdd475d7b24b9a49 17-Feb-2010 Maulik Mankad <x0082077@ti.com> omap: musb: Add USB support to 4430 SDP board file

This patch adds support for Mentor USB to 4430 SDP board
file.

It also defines the base address for HS USB OTG controller
in OMAP4.

Also updates platform specfic structure with base address
and IRQ details.

Signed-off-by: Maulik Mankad <x0082077@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Felipe Balbi <felipe.balbi@nokia.com>
Cc: David Brownell <david-b@pacbell.net>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Olof Johansson <olof@lixom.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
sb-musb.c
bdfa35118c3149bfa7f6b259ca528f455af07c72 17-Feb-2010 Felipe Balbi <felipe.balbi@nokia.com> omap: musb: remove unnecessary return

trivial patch, no functional changes.

Cc: linux-usb@vger.kernel.org
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-musb.c
9bdde53fa575d023ca51ba9df41464f62e22feb7 17-Feb-2010 Felipe Balbi <felipe.balbi@nokia.com> omap: musb: remove unused dma data

we don't use those anywhere on musb driver, so
let's remove those old stuff.

Cc: linux-usb@vger.kernel.org
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-musb.c
7db51121b87b9282d9f9bf554926c1493c504700 17-Feb-2010 Felipe Balbi <felipe.balbi@nokia.com> omap: musb: remove unused soft_con field

remove unused data.

Cc: linux-usb@vger.kernel.org
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-musb.c
bfc110ee653724577e635e0feacf29aad4ed6c7f 17-Feb-2010 Felipe Balbi <felipe.balbi@nokia.com> arm: omap: musb: we can use clk framework

... in order to handle musb's clock. Let's start
removing the old musb-only set_clock function.

Cc: linux-usb@vger.kernel.org
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-musb.c
68499cc5716bbeca16ca8c83ec6e9f04b8dbfacb 17-Feb-2010 Felipe Balbi <felipe.balbi@nokia.com> omap: musb: remove unused data

eps_bits wasn't being used anywhere, let's remove it.

Cc: linux-usb@vger.kernel.org
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-musb.c
884b8369ee78c081b5e5a99d1d09a95815d13c28 17-Feb-2010 Maulik Mankad <x0082077@ti.com> omap: musb: Pass board specific data from board file

Pass board specific data for MUSB (like interface_type,
mode etc) from board file by defining board
specific structure.

Each board file can define this structure based on
its requirement and pass this information to the
driver.

Signed-off-by: Maulik Mankad <x0082077@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Felipe Balbi <felipe.balbi@nokia.com>
Cc: David Brownell <david-b@pacbell.net>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Gupta Ajay Kumar <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-cm-t35.c
oard-devkit8000.c
oard-igep0020.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3touchbook.c
oard-overo.c
oard-rx51.c
oard-zoom-peripherals.c
sb-musb.c
f9828552b945b9522f15f9eccea6d6df0af49753 17-Feb-2010 Felipe Balbi <felipe.balbi@nokia.com> arm: omap: musb: ioremap only what's ours

omap3430 TRM says the OTG address space is 4k, not 8k.

Cc: linux-usb@vger.kernel.org
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-musb.c
1a4f4637492f6a5977dd21b0026da09cd269c4a9 17-Feb-2010 Maulik Mankad <x0082077@ti.com> omap: musb: Remove #ifdef from board-omap3evm.c

This patch removes #ifdef around usb_nop_xceiv_register()
from board-omap3evm.c

Signed-off-by: Maulik Mankad <x0082077@ti.com>
Acked-by: Olof Johansson <olof@lixom.net>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
476544cad1fc9c0b99bc39089677578070e9e62c 17-Feb-2010 Thomas Weber <weber@corscience.de> Add minimal support for DevKit8000

These patches add board support for the Timll DevKit8000.

The DevKit8000 is a beagle board clone from Timll, sold by
armkits.com. The DevKit8000 has RS232 serial port, LCD, DVI-D,
S-Video, Ethernet, SD/MMC, keyboard, camera, SPI, I2C, USB and
JTAG interface.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-devkit8000.c
5d4292a524d8908060b077f4d80c106cb288f2e7 13-Feb-2010 Vaibhav Hiremath <hvaibhav@ti.com> AM3517: Enable I2C-GPIO Expander driver support for AM3517EVM

Add platform hook-up interface to support I2C based GPIo expander
(TCA6416).

There are 3 instances of I2C Expander on AM3517EVM,
- One is over I2C-2 mounted on Base board
- Two are over I2C3 mounted on UI Card

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
f2afbbb82e263086d02a772e43f5290b1a6f673e 13-Feb-2010 Vaibhav Hiremath <hvaibhav@ti.com> AM3517: Enable RTC driver support for AM3517EVM

Add platform hook-up interface to support RTC driver (S35390A).

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
1f738dc306c86a8293c7ea929d07f55f32d52ff6 17-Feb-2010 Vaibhav Hiremath <hvaibhav@ti.com> AM3517: Enable basic I2C Support

Add basic I2C board Hook-up support, where all the 3 I2C instances
are getting registered.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
b344d87a28d5684ad9b6c4f880e70c48e23215f1 14-Feb-2010 Jonas Zetterberg <jozz@jozz.se> IGEPv2: Use Red Led1 as Heartbeat if configured

If not configured it will be exported as normal GPIO led.

Signed-off-by: Jonas Zetterberg <jozz@jozz.se>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
c67b0d987088ae0339edc66de63aea5ac3d76c0d 14-Feb-2010 Jonas Zetterberg <jozz@jozz.se> IGEPv2: Added WIFI support

Enabled VMMC2 LDO voltage regulator on TWL4030.
Added GPIO's (power down and reset) for WIFI chip.

Signed-off-by: Anders Hedlund <anders.j.hedlund@gmail.com>
Signed-off-by: Jonas Zetterberg <jozz@jozz.se>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
22f1baac70efb547a3e385f13f709625496acb2c 17-Feb-2010 Enric Balletbo i Serra <eballetbo@iseebcn.com> omap3: Use timing data for omap2_init_common_hw on IGEP v2


Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
ec0947fa0f3fabdb34422fffa98edadd060e2758 17-Feb-2010 Enric Balletbo i Serra <eballetbo@iseebcn.com> omap3: SDRC: add timing data for Numonyx M65KxxxxAM

Add timing data for the Numonyx M65KxxxxAM SDRAM chip, used on the
IGEP v2 board.

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
dram-numonyx-m65kxxxxam.h
cddb483a74a39ed0846e6a276c4e5f4b7ac69d9c 17-Feb-2010 Enric Balletbo i Serra <eballetbo@iseebcn.com> omap3: Add support for flash on IGEP v2 board

This patch adds support for flashes on IGEP v2 boards. For now
only OneNAND is supported.

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
691de27f3cdb71a3bb41a5b5cf83ed85ab1b9240 17-Feb-2010 Enric Balletbo i Serra <eballetbo@iseebcn.com> omap3: Enable DSS2 for IGEP v2 board


Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
d0885486d7cc9ec5f72f04719bb91a39521c8971 17-Feb-2010 Enric Balletbo i Serra <eballetbo@iseebcn.com> omap3: Add platform init code for EHCI driver on IGEP v2

Add platform init code for EHCI driver on IGEP v2

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
28e0f13cd1be5452f795bea6f68657a702000e69 17-Feb-2010 Enric Balletbo i Serra <eballetbo@iseebcn.com> omap3: Fix typo on IGEP v2 board

Fix typo on IGEP v2 board

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
7f5f23da82c67c8c3786f3615438a22f5d8ac053 17-Feb-2010 Enric Balletbo i Serra <eballetbo@iseebcn.com> omap3: Add platform data for the twl4030_codec MFD on IGEP v2

Add platform data for the twl4030_codec MFD on IGEP v2

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-igep0020.c
f6873eedd94df20cfb705856a78440a4c176c6b6 17-Feb-2010 Grazvydas Ignotas <notasas@gmail.com> omap3: pandora: update regulator setup

Update pandora's regulator setup:
- add new regulators: VAUX2, VAUX4 and VSIM
- add new consumers: ads7846, nub controllers, USB PHY, audio DAC
- use dev names instead of struct device pointers

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
7b097896e4a5b5ea4798db806e63a1138b1b8eb8 17-Feb-2010 Grazvydas Ignotas <notasas@gmail.com> OMAP: pandora: add DSS2 support and related regulators

This patch adds configuration data for DSS2 and sets up
display related regulators.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
87520aae7c46a725835f5761feca0f794e2eff9e 17-Feb-2010 Sanjeev Premi <premi@ti.com> omap3evm: Configure GPIO175 for touchscreen PEN_IRQ

GPIO175 is used for PEN_IRQ on the EVM. This patch
sets the mux settings for the same.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
0621d75698b3a485d7e31e9d964c76885628c015 17-Feb-2010 Sanjeev Premi <premi@ti.com> omap3evm: Fixes after moving to matrix_keypad

The keypad was not working properly after migrating
to matrix_keypad.

Swapped the row, col fields of the KEY() macro in
the keymap definition to get it working again.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
aa6912d8850a555dccfab21f496e84aab7ededb6 17-Feb-2010 Sanjeev Premi <premi@ti.com> omap3evm: Add mux settings for keypad

This patch sets SYS_NIRQ for keypad input. It also
sets the same as a wakeup event from OFF mode.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
31e464cdbc11c7872901851f06eff6d67edfcff5 17-Feb-2010 vikram pandita <vikram.pandita@ti.com> omap: zoom3: enable ehci support

Zoom3 board has omap3630 EHCI port2 connected to a ULPI phy.
GPIO_64 is connected to the PHY reset pin.

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom3.c
80c20d543d142ee54ec85259b77aaf0b83c32db5 17-Feb-2010 Tony Lindgren <tony@atomide.com> Merge branch 'omap-fixes-for-linus' into omap-for-linus
b72c7d543589736d43da531566490dd31572f5ca 17-Feb-2010 Ranjith Lohithakshan <ranjithl@ti.com> omap: Remove DEBUG_FS dependency for mux name checking

The check for a valid mux name should be performed regardless of whether
DEBUG_FS is enabled or not. Otherwise without DEBUG_FS, we get:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1]
last sysfs file:
Modules linked in:
CPU: 0 Not tainted (2.6.33-rc8 #10)
PC is at strcmp+0x18/0x40
LR is at omap_mux_init_signal+0x68/0x14c
...

This fixes the issue currently seen with boards not booting up
if DEBUG_FS is not enabled in defconfig.

Note that the earlier ifndef + ifdef now becomes simpler ifdef else:
If CONFIG_OMAP_MUX is selected, we use pin names. If it's not selected,
we only want the GPIO to mux register mapping.

Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
d309427e792ea750cdd312e7a92cf6047ae44962 04-Feb-2010 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: 5917/1: OMAP4: Add L2 Cache support

This patch adds L2 Cache support for OMAP4. External L2 cache
is used in OMAP4

CC: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-4430sdp.c
52abcbc9c4aa9cfd06c53afd5883296ca2a58f90 15-Feb-2010 Felipe Balbi <felipe.balbi@nokia.com> arm: omap: kill compile warning on board-4430-sdp.c

sdp4430_uart_config isn't used anywhere, so remove it.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
e3d4d0a2385593e7873e7d7688eeffea949facff 15-Feb-2010 Vaibhav Hiremath <hvaibhav@ti.com> AM35xx: Introduce am35xx.h file

Add base address definations for new AM35xx IPSS modules, like
VPFE, USBOTG, CPGMAC.

Please note that the OMAP34xx IVA2 memory space is being used for
AM35xx IPSS modules.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-am3517evm.c
nclude/mach/am35xx.h
a1e63642a9ed167f74afd10245fb907ac41a54d0 15-Feb-2010 Lesly A M <x0080970@ti.com> omap3: pm: Add T2 Keypad as a wakeup source

Changes for setting the padconf value for sys_nirq line which is
connected to T2 INTR1. This will fix the T2 keypad wakeup.

Signed-off-by: Lesly A M <x0080970@ti.com>
Signed-off-by: Teerth Reddy <teerth@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-peripherals.c
321cfc851dbb866e4d5efd555eca5919895324ca 15-Feb-2010 Tony Lindgren <tony@atomide.com> omap3: Clean-up for omap_mux_init

Get rid of the ifdeffery in omap_mux_init by creating
omap_mux_init_package and omap_mux_init_signals functions.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
e0eb2424469ec2333885672d3db8bd07d322455d 15-Feb-2010 Adrian Hunter <adrian.hunter@nokia.com> omap_hsmmc: Allow for a shared VccQ

EMMC can have two voltage supplies, Vcc and VccQ
which are implemented in the code as consumer
supplies vmmc and vmmc_aux.

If the regulator that supplies vmmc_aux is shared
with other consumers, then sending it to sleep
will disrupt those consumers. However, the
TWL4030-family regulators may have OFF remapped
to SLEEP, in which case 'regulator_disable()'
will put the regulator to sleep only when all
consumers are disabled - which is the desired
behaviour.

This patch adds a platform data field to allow
that option.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
smmc.h
1df58db8a25ec7656005f1dd161a9ede044551b7 15-Feb-2010 Adrian Hunter <adrian.hunter@nokia.com> omap_hsmmc: Allow for power saving without going off

An eMMC may be always powered on, so that the lowest
power saving state possible is sleeping. Add a field
to the platform data to indicate that.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
smmc.h
ce6f00165d5314698afd04ee20cede156cfcc593 15-Feb-2010 Adrian Hunter <adrian.hunter@nokia.com> omap: RX51: Remux to pull eMMC lines down when powering off

It has been discovered that, when eMMC is powered off, current
will flow from OMAP eMMC data pull-ups to the eMMC voltage supply.
Configuring pads for OMAP off-mode does not help because eMMC is
powered off independently of OMAP off-mode. Hence the pads are
now re-configured when eMMC is powered on or off.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
smmc.c
smmc.h
e3df0fb4132fff8717cb0c08403c12138fd3ae39 15-Feb-2010 Adrian Hunter <adrian.hunter@nokia.com> omap: Reconnect hsmmc context loss count

Call the PM context-loss count function, now that there
is a prototype for it.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
smmc.c
68ff04231ce9128d400f47762ae3c921be79cd49 15-Feb-2010 Adrian Hunter <adrian.hunter@nokia.com> omap: Rename hsmmc symbols to reflect independence from twl4030

hsmmc.[ch] no longer has any dependency on twl4030
and variable names should be renamed to reflect that.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-cm-t35.c
oard-igep0020.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3touchbook.c
oard-overo.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
smmc.c
smmc.h
d02a900b5952597b6beebd709d92ab392fa3005a 15-Feb-2010 Adrian Hunter <adrian.hunter@nokia.com> omap: Rename mmc-twl4030 files to hsmmc

mmc-twl4030.[ch] no longer has any dependency on twl4030
and should be renamed to reflect that.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-2430sdp.c
oard-3430sdp.c
oard-cm-t35.c
oard-igep0020.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3touchbook.c
oard-overo.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
smmc.c
smmc.h
mc-twl4030.c
mc-twl4030.h
db0fefc5119e2cfaa8f57565331e0abe47f0801e 15-Feb-2010 Adrian Hunter <adrian.hunter@nokia.com> omap_hsmmc: Move gpio and regulator control from board file

This patch moves the setup code for GPIO's and Voltage
Regulators from the board file mmc-twl4030.c to the
driver omap_hsmmc.c. PBIAS and other system control
configuration remains in the board file.

Moving GPIO code to the driver makes the board initialisation
code independent of when GPIO's are defined. That makes the
board initialisation now entirely independent of its original
twl4030 roots.

Moving Voltage Regulator code to the driver allows for further
development of regulator support in the core MMC code. It also
permits the MMC core to be compiled as a module, because the
board code no longer calls MMC core functions.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
mc-twl4030.h
88c8460ac32283e2a25e36e4670ff5ab02f3b521 15-Feb-2010 Vimal Singh <vimalsingh@ti.com> omap3: Add support for flash on 3430SDP board

This patch adds support for flashes on 3430SDP boards. All three
NAND, NOR and OneNAND are supported. I have tested it on
3430SDP (ES2 and ES3.1).

This patch can be treated as an example to "how to utilize":
'gpmc-nand.c' and 'board-sdp-flash.c'.

Similar patches can be created for 2430sdp and 3630sdp or any other
similar board.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-3430sdp.c
c2798e9342a1394de966c31703e0410ee3988378 15-Feb-2010 Vimal Singh <vimalsingh@ti.com> omap3: SDP: Introducing 'board-sdp-flash.c' for flash init

This patch adds 'board-sdp-flash.c', which could be utilized
by boards similar to 3430SDP. (For ex: 2430sdp, 36030sdp).

This file does initialization for all three flash devices present
in SDP boards (NOR, NAND, OneNAND), by finding there 'cs' number
dynamically using switch setting information (S8: 1-4).
This also expects partition information from core board files (for
ex: board-3430sdp.c). Which allows to choose different default
partitions for different boards.

A new structure is created for this purpose: 'flash_partitions'
in 'mach/board-sdp.h'. This has two members:
1. struct mtd_partition *parts
2. int nr_parts

A board file is expected to fill this structure and pass it to
'sdp-flsash-init'. Partition information should be passed in
structure array of 'flash_partitions'. Partition information should
be passed in below sequence in array:
NOR
OneNAND
NAND

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-sdp-flash.c
nclude/mach/board-sdp.h
2f70a1e93657bea0baa7d449aa49e44a08582dc8 15-Feb-2010 Vimal Singh <vimalsingh@ti.com> omap2/3/4: Introducing 'gpmc-nand.c' for GPMC specific NAND init

Introducing 'gpmc-nand.c' for GPMC specific NAND init.
For example: GPMC timing parameters and all.
This patch also migrates gpmc related calls from 'nand/omap2.c'
to 'gpmc-nand.c'.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
pmc-nand.c
30e53bccfa15c6c0839c87705a66d478bb10baf5 15-Feb-2010 vikram pandita <vikram.pandita@ti.com> omap2/3/4: serial: fix coding style indentaion

No logical code change

Fix coding style indentaion as per checkpatch.pl
Fix multi-line comment style reported by Nishanth Menon

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
b2fa3b7c602258c1ab9d1cb66c30d72e9085c762 15-Feb-2010 Felipe Balbi <felipe.balbi@nokia.com> omap2/3/4: gpmc: kill compile warning

Get rid of the following warnings:

arch/arm/mach-omap2/gpmc.c:550:30: warning: non-ANSI
function declaration of function 'omap3_gpmc_save_context'

arch/arm/mach-omap2/gpmc.c:581:33: warning: non-ANSI
function declaration of function 'omap3_gpmc_restore_context'

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
0cd7e1cc76c38b29ec459294750660855fa11ca8 15-Feb-2010 Felipe Balbi <felipe.balbi@nokia.com> omap2/3/4: mailbox: kill compile warning in mailbox.c

Change %d to %ld to avoid the compile warning.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
c8c99699bd25d8b238ba75d2530d1be90e3c39ea 15-Feb-2010 Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> omap: McBSP: Introduce caching in register write operations

Determine cache size required per McBSP port at init time, based on
processor type running on.

Allocate space for storing cached copies of McBSP register values at
port request.

Modify omap_msbcp_write() function to update the cache with every
register write operation.

Modify omap_mcbsp_read() to support reading from cache or hardware.

Update MCBSP_READ() macro for modified omap_mcbsp_read() function API.

Introduce a new macro that reads from the cache.

Tested on OMAP1510 based Amstrad Delta using linux-omap for-next, commit
fb7380d70e041e4b3892f6b19dff7efb609d15a4 (2.6.33-rc3+ dated 2010-01-11).
Compile-tested with: omap_perseus2_730_defconfig, omap_generic_1610_defconfig,
omap_generic_2420_defconfig, omap_2430sdp_defconfig, omap_3430sdp_defconfig,
omap_4430sdp_defconfig with CONFIG_OMAP_MCBSP=y selected.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
561b036ad9d0b4f0cd311d2e38025919c2cb437f 15-Feb-2010 Ladislav Michl <ladis@linux-mips.org> omap: convert boards to use physmap-flash

Convert OMAP based boards to use physmap-flash. Refreshed against today's
Linux omap kernel tree

Cc: linux-mtd@lists.infradead.org
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-h4.c
a3a9b36e6b1c420088460af8e83ba7b83330669f 15-Feb-2010 Tony Lindgren <tony@atomide.com> omap2/3/4: Fix mach-omap2/serial.c for multiboot

Initialize UART4 only for 3630 and 44xx.

Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
4751227df948582e82f19df30efa662ab71fa980 15-Feb-2010 Tony Lindgren <tony@atomide.com> omap3/4: Fix compile for multi-omap for clkops_noncore_dpll_ops

Rename clkops_noncore_dpll_ops for omap3 and omap4.

Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.c
lock34xx.h
lock34xx_data.c
lock44xx.c
lock44xx.h
lock44xx_data.c
61a07c80a7cf7333475e7eda9934dac9a8a9c8b9 15-Feb-2010 Tony Lindgren <tony@atomide.com> omap2/3/4: Allow booting omap4 with multi-omap configuration

Allow booting omap4 with multi-omap configuration.

Tested only on omap2 and omap3, please somebody test
on omap4 and ack.

Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/entry-macro.S
e735aa8a20fdc60439141b7b0c0382a3ce031f3b 15-Feb-2010 Tony Lindgren <tony@atomide.com> omap2/3/4: Clean up entry-macro.s for adding support for omap4 multiboot

Move defines around and set up handlers based on MULTI_OMAP2.

Note that this will only allow compiling in omap4 with omap2 and
omap3. It will not yet make omap4 boot with multi-omap.

Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/entry-macro.S
be8f317740f218bda59cc5ae5aefcdd7a333762a 15-Feb-2010 Tony Lindgren <tony@atomide.com> omap4: Use get_irqnr_preamble

Use get_irqnr_preamble

Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/entry-macro.S
95d2b4e9cbba4c9a2ac63205e846e7ccfebe69b4 15-Feb-2010 Tony Lindgren <tony@atomide.com> omap2/3/4: Clean up defines for entry-macro.S

Define the irq base the same way as for omap2 and omap3,
and start using get_irqnr_preamble.

Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/entry-macro.S
4323e9f71903f654abc6d21a3ef81c08e0ac2288 12-Feb-2010 Tony Lindgren <tony@atomide.com> omap2/3: Fix initcalls for multi-omap

Otherwise the wrong initcalls can run.

Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
mu.c
140455fa007a618d2d1bf5e6e888206534035e6f 12-Feb-2010 Tony Lindgren <tony@atomide.com> omap2/3/4: Replace orred CONFIG_ARCH_OMAP2/3/4 with CONFIG_ARCH_OMAP2PLUS

omap: Replace orred CONFIG_ARCH_OMAP2/3/4 with CONFIG_ARCH_OMAP2PLUS

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
a8eb7ca0cbb41c9cd379b8d2a2a5efb503aa65e9 12-Feb-2010 Tony Lindgren <tony@atomide.com> omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3

Replace ARCH_OMAP34XX with ARCH_OMAP3

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
o.c
cbsp.c
ux.c
ux.h
map_hwmod_34xx.h
088ef950dc0dd58d2f339e1616c9092fea923f06 12-Feb-2010 Tony Lindgren <tony@atomide.com> omap2: Convert ARCH_OMAP24XX to ARCH_OMAP2

Convert ARCH_OMAP24XX to ARCH_OMAP2

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
lock.h
lockdomains.h
o.c
ux.c
owerdomains24xx.h
d10f2b6e745f1232ff6517b335faf3bfd7005bec 12-Feb-2010 Tony Lindgren <tony@atomide.com> omap2/3/4: Fix mbox init for multi-omap

Fix mbox init for multi-omap

Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
6fbd55d077cdf2aeb7a170ff9f5779d19506bf9e 12-Feb-2010 Tony Lindgren <tony@atomide.com> omap2/3/4: Fix omap2_map_common_io for multi-omap

Fix omap2_map_common_io for multi-omap

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-3630sdp.c
oard-4430sdp.c
oard-am3517evm.c
oard-apollon.c
oard-cm-t35.c
oard-generic.c
oard-h4.c
oard-igep0020.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-omap3touchbook.c
oard-overo.c
oard-rx51.c
oard-zoom2.c
oard-zoom3.c
o.c
56213ca4e440c0b6e56a48f5901c55c4ce3cf1ba 12-Feb-2010 Tony Lindgren <tony@atomide.com> omap2/3: Multiboot compile fixes to compile in omap2 and omap3

Allows compiling in omap2 and omap3.

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
lock.h
pp2xxx.h
9556175183ddf19e9a7afa449c259a0a5081fa29 15-Feb-2010 Tony Lindgren <tony@atomide.com> omap2/3: Make get_irqnr_and_base common for mach-omap2 multiboot

Make get_irqnr_and_base common for mach-omap2 multiboot

Thanks to a tip from Russell King <rmk+kernel@arm.linux.org.uk>,
this also optimizes the code for non-multiboot configurations by
using get_irqnr_preamble.

Note that this will only work currently for 24xx and 34xx.
Support for 44xx can be added later on for basic multiboot,
and similar patch should be done for mach-omap1/entry-macro.S.

Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/entry-macro.S
be26a3df0b80307bf8f73cea535c112210151bb9 15-Feb-2010 Tony Lindgren <tony@atomide.com> Merge branch 'debug-ll' into omap-for-linus
0c8219f0302d0d27fda52c790d38406801e547ec 15-Feb-2010 Tony Lindgren <tony@atomide.com> omap: Make uncompress code and DEBUG_LL code generic

Define arch_decomp_setup() the same way as some other
architectures do. Use arch_id to configure the debug uart
based on the machine_is by storing it into the uart
scratchpad register for DEBUG_LL code to use.

Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/debug-macro.S
4f2c49fedf833e522001bc51824b894732900a3d 15-Feb-2010 Tony Lindgren <tony@atomide.com> omap: Clean the serial port defines

This way we don't have conflicts with the defines
with compiling in multiple omaps. Set the addresses
for uarts in struct omap_globals for the early serial
init code.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3630sdp.c
oard-zoom3.c
nclude/mach/debug-macro.S
erial.c
918cae14872c56446415299fc17cf98704c9a537 12-Feb-2010 Tony Lindgren <tony@atomide.com> Merge branch 'for-tony' of git://gitorious.org/linux-omap-dss2/linux into omap-for-linus
4e6d488af37980d224cbf298224db6173673f362 01-Feb-2010 Tony Lindgren <tony@atomide.com> ARM: 5910/1: ARM: Add tmp register for addruart and loadsp

Otherwise more complicated uart configuration won't be possible.
We can use r1 for tmp register for both head.S and debug.S.

NOTE: This patch depends on another patch to add the the tmp register
into all debug-macro.S files. That can be done with:

$ sed -i -e "s/addruart,rx|addruart, rx/addruart, rx, tmp/"
arch/arm/*/include/*/debug-macro.S

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
nclude/mach/debug-macro.S
80b1cc23ac96373bd5ff17f8959f2587d6fc37dd 04-Feb-2010 Tomi Valkeinen <tomi.valkeinen@nokia.com> OMAP: 3430SDP: remove vdvi regulator

The regulator is now enabled by DSS driver, and thus the panel driver
doesn't need to touch it.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
oard-3430sdp.c
7f049ad15ece7f63b59ad438b51629434cdc0198 14-Dec-2009 Mike Rapoport <mike@compulab.co.il> omap3: cm-t35: add DSS2 display support

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
oard-cm-t35.c
c3d33329f400587976613c0224ffa2e266677cfb 13-Jan-2010 Vaibhav Hiremath <hvaibhav@ti.com> OMAP: AM3517: Enable DSS2 for AM3517EVM board

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
[tomi.valkeinen@nokia.com: removed defconfig changes]
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
oard-am3517evm.c
703e3061a043a7b87df2460044666d68394bdb69 04-Jan-2010 Vaibhav Hiremath <hvaibhav@ti.com> OMAP: Enable DSS2 for OMAP3EVM board

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
[tomi.valkeinen@nokia.com: removed evm defconfig changes]
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
oard-omap3evm.c
0482e3c6f704d25b6a4e3c940caeeacece4e6d74 11-Feb-2010 Tony Lindgren <tony@atomide.com> Merge branch 'omap-fixes-for-linus' into omap-for-linus
a6c7fdd29350a74ba5f76809436de9c3d6763009 04-Feb-2010 Aaro Koskinen <aaro.koskinen@nokia.com> OMAP: hsmmc: fix memory leak

The platform data allocated with kmalloc() will become unreachable once
the init is complete, so it should be freed. The problem was discovered
by kmemleak.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Acked-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
301fe8eeee02c570c5bd30537aff9456f7f7955c 01-Feb-2010 Tony Lindgren <tony@atomide.com> omap: Disable serial port autoidle by default

Currently the omap serial clocks are autoidled after 5 seconds.
However, this causes lost characters on the serial ports. As this
is considered non-standard behaviour for Linux, disable the timeout.

Note that this will also cause blocking of any deeper omap sleep
states.

To enable the autoidling of the serial ports, do something like
this for each serial port:

# echo 5 > /sys/devices/platform/serial8250.0/sleep_timeout
# echo 5 > /sys/devices/platform/serial8250.1/sleep_timeout
...

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
78737ae1b0f0b425e8eb72a9c84125fa8cac8e8e 01-Feb-2010 Tony Lindgren <tony@atomide.com> omap: Fix arch/arm/mach-omap2/mux.c: Off by one error

David Binderman ran the sourceforge tool cppcheck over the source code of the
new Linux kernel 2.6.33-rc6:

[./arm/mach-omap2/mux.c:492]: (error) Buffer access out-of-bounds

13 characters + 1 digit + 1 zero byte is more than 14 characters.

Also add a comment on mode0 name length in case new omaps
start using longer names.

Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
9ecef433204f9b06550dd45cf84f14706f8fe4f0 01-Feb-2010 Tony Lindgren <tony@atomide.com> omap: Fix 3630 mux errors

3630 has more mux signals than 34xx. The additional pins
exist in omap36xx_cbp_subset, but are not initialized
as the superset is missing these offsets. This causes
the following errors during the boot:

mux: Unknown entry offset 0x236
mux: Unknown entry offset 0x22e
mux: Unknown entry offset 0x1ec
mux: Unknown entry offset 0x1ee
mux: Unknown entry offset 0x1f4
mux: Unknown entry offset 0x1f6
mux: Unknown entry offset 0x1f8
mux: Unknown entry offset 0x1fa
mux: Unknown entry offset 0x1fc
mux: Unknown entry offset 0x22a
mux: Unknown entry offset 0x226
mux: Unknown entry offset 0x230
mux: Unknown entry offset 0x22c
mux: Unknown entry offset 0x228

Fix this by adding the missing offsets to omap3 superset.
Note that additionally the uninitialized pins need to be
skipped on 34xx.

Based on an earlier patch by Allen Pais <allen.pais@ti.com>.

Reported-by: Allen Pais <allen.pais@ti.com>
Signed-off-by: Allen Pais <allen.pais@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
ux34xx.c
8d08436d782d177747a0fac1e1455a44b932b7c6 29-Jan-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3: GPMC: ensure valid clock pointer

Ensure valid clock pointer during GPMC init. Fixes compiler
warning about potential use of uninitialized variable.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
74005a2b116203f618fe784d88ad7e6071bb1554 29-Jan-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3: IRQ: ensure valid base address

Ensure valid base address during IRQ init. Fixes compiler warning
about potential use of uninitialized variable.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
98fa3d8aeabf7a039cc920a9c2ffebc6b4648e2b 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2+ powerdomains/clockdomains: prepare for multi-OMAP configs

Convert CONFIG_ARCH_OMAP34XX to CONFIG_ARCH_OMAP3, and
CONFIG_ARCH_OMAP24XX to CONFIG_ARCH_OMAP2, in preparation for Tony's
multi-OMAP patches.

While here, update some copyrights, convert instances of "34xx" to
"3xxx" where applicable, and convert preprocessor directives of the
form

#if defined(CONFIG_ARCH_OMAP2) | defined(CONFIG_ARCH_OMAP3)

to

#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3)

for standardization.


Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
lockdomains.h
owerdomains.h
owerdomains34xx.h
56ef28acf122d30b137851aa6a599ba48319a6b0 27-Jan-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: PRCM: Define shift macros as n instead of 1 << n

The macros defining the shift bits in registers for various
register bit fields are defined as 1 << n.
Instead define them as n. They can then be used as val << n.
The changes are generated by updating the script which autogenerates
the files modifed in the patch.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
m-regbits-44xx.h
rm-regbits-44xx.h
e80a9729b15f4c2c00ed51d61aa543fb4269d5ca 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3/4 clock: rename and clean the omap2_clk_init() functions

Rename the omap2_clk_init() in the OMAP2, 3, and 4 clock code to be
omap2xxx_clk_init(), omap3xxx_clk_init(), etc. Remove all traces of
the (commented) old virt_prcm_set code from omap3xxx_clk_init() and
omap4xxx_clk_init(), since this will be handled with the OPP code that
is cooking in the PM branch.

After this patch, there should be very little else in the clock code
that blocks a multi-OMAP 2+3 kernel. (OMAP2420+OMAP2430 still has some
outstanding issues that need to be resolved; this is pending on some
additions to the hwmod data.)

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.h
lock2xxx.h
lock2xxx_data.c
lock34xx.c
lock34xx.h
lock34xx_data.c
lock44xx.h
lock44xx_data.c
o.c
60c3f65191d077dc4f69fca8eca39fb47f72d8b0 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP3 DPLL: reorganize static functions

Move all static functions up to the top of the file to match the
practice in other OMAP clock code. Make omap3_noncore_dpll_program()
static (noted by sparse) and prepend an underscore to the function
name to mark that it is file-local.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
pll3xxx.c
feec1277a5c599ebca6217bc6bb9f6410e84793b 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3/4 clock: omap2_clk_prepare_for_reboot() is OMAP2xxx-only

omap2_clk_prepare_for_reboot() is only applicable to OMAP2xxx chips,
so rename it to omap2xxx_clk_prepare_for_reboot() and only call it when
running on OMAP2xxx chips. Remove the old stub in the OMAP3 clock code.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.h
lock2xxx.c
lock2xxx.h
lock34xx.c
lock44xx.c
rcm.c
da4d2904abc0c31ac829e9c6d52106d5a6606507 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3 clock: remove unnecessary includes and clean up header

Now that almost all of the code has been removed from clock2xxx.c and
clock34xx.c, many of the includes are now unnecessary and can be removed.
While we're here, standardize the initial comment blocks.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Jouni Högander <jouni.hogander@nokia.com>
lock2xxx.c
lock34xx.c
4680c29f69e981106da2abfea7f1a3e6f1b03791 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3 clock: clean up omap*_clk_arch_init()

In the OMAP3xxx clock code, remove the #ifdef CONFIG_ARCH_OMAP3 in
clock34xx.c, since this file is only compiled for OMAP3xxx builds. Also,
rename omap2_clk_arch_init in this file to omap3xxx_clk_arch_init() to
pave the way for multi-OMAP kernels. Ensure that it is not executed
on non-OMAP3xxx systems.

In the OMAP2xxx clock code, rename omap2_clk_arch_init in this file to
omap2xxx_clk_arch_init() to pave the way for multi-OMAP kernels.
Ensure that it is not executed on non-OMAP2xxx systems.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2xxx.c
lock34xx.c
35e424e2c0229aa1e32776fac23902150bd0ab9a 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP3 clock: split out DPLL3 M2 divider functions into mach-omap2/clkt34xx_dpll3m2.c

Split the DPLL3 M2 divider clock functions out of clock34xx.c and move
them into mach-omap2/clkt34xx_dpll3m2.c. This is intended to make the
clock code easier to understand, since all of the functions needed to
manage the OMAP3 DPLL3 M2 divider are now located in their own file,
rather than being mixed with other, unrelated functions.

Clock debugging is also now more finely-grained, since the DEBUG macro
can now be defined for the DPLL3 M2 clock alone. This should reduce
unnecessary console noise when debugging DVFS.

Also, if at some future point the mach-omap2/ directory is split
into OMAP2/3/4 variants, this clkt file can be placed in the mach-omap34xx/
directory, rather than shared with other chip types that don't use this
clock type.

This patch also lays the groundwork to skip compilation of this
code on OMAP3 chips that don't support DVFS (e.g., AM35xx) via
the Makefile, rather than via #ifdefs.

Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
improve the patch description.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Jouni Högander <jouni.hogander@nokia.com>
Cc: Alexander Shishkin <virtuoso@slind.org>
akefile
lkt34xx_dpll3m2.c
lock34xx.c
6ebe0d88f5fead21d6e1ac328acc683c173d26fc 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2 clock: don't compile OMAP2430-only functions on non-2430 builds

omap2430_clk_i2chs_find_idlest() doesn't need to be compiled in on
non-2430 builds, so skip it in those cases to save memory.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2xxx.c
44da0a51032f3d90a441bd80c2efe68532104980 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: move sys_clk code into mach-omap2/clkt2xxx_sys.c

Move the sys_clk clock functions from clock2xxx.c to
mach-omap2/clkt2xxx_sys.c. This is intended to make the clock code
easier to understand, since all of the functions needed to manage the
sys_clk are now located in their own file, rather than being mixed
with other, unrelated functions.

Clock debugging is also now more finely-grained, since the DEBUG
macro can now be defined for the sys_clk clock alone. This
should reduce unnecessary console noise when debugging.

Also, if at some future point the mach-omap2/ directory is split into
OMAP2/3/4 variants, this clkt file can be placed in the mach-omap2xxx/
directory, rather than shared with other chip types that don't use
this clock type.

Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
improve the patch description.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Alexander Shishkin <virtuoso@slind.org>
akefile
lkt2xxx_sys.c
lock2xxx.c
lock2xxx.h
lock2xxx_data.c
87a1b26c2d31dce62758b78c077ff5a1b5a52ab8 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: move osc_clk code into mach-omap2/clkt2xxx_osc.c

Move the osc_clk clock functions from clock2xxx.c to
mach-omap2/clkt2xxx_osc. This is intended to make the clock code
easier to understand, since all of the functions needed to manage the
osc_clk are now located in their own file, rather than being mixed
with other, unrelated functions.

Clock debugging is also now more finely-grained, since the DEBUG
macro can now be defined for osc_clk clocks alone. This
should reduce unnecessary console noise when debugging.

Also, if at some future point the mach-omap2/ directory is split
into OMAP2/3/4 variants, this clkt file can be placed in the mach-omap2xxx/
directory, rather than shared with other chip types that don't use this
clock type.

Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
improve the patch description.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Alexander Shishkin <virtuoso@slind.org>
akefile
lkt2xxx_osc.c
lock2xxx.c
lock2xxx.h
49214640f52506fbba00eb998fc39f10653a840a 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: move the APLL clock code into mach-omap2/clkt2xxx_apll.c

Move the APLL-related clock functions from clock2xxx.c to
mach-omap2/clkt2xxx_apll.c. This is intended to make the clock code
easier to understand, since all of the functions needed to manage APLLs
are now located in their own file, rather than being mixed with other,
unrelated functions.

Clock debugging is also now more finely-grained, since the DEBUG
macro can now be defined for APLL clocks alone. This
should reduce unnecessary console noise when debugging.

Also, if at some future point the mach-omap2/ directory is split
into OMAP2/3/4 variants, this clkt file can be placed in the mach-omap2xxx/
directory, rather than shared with other chip types that don't use this
clock type.

Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
improve the patch description.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Alexander Shishkin <virtuoso@slind.org>
akefile
lkt2xxx_apll.c
lock2xxx.c
lock2xxx.h
734f69a773d8ff65111562116c18c987049ddac4 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: move the DVFS virtual clock code into mach-omap2/clkt2xxx_virt_prcm_set.c

Move the DVFS virtual clock functions from clock2xxx.c to
mach-omap2/clkt2xxx_virt_prcm_set.c. This is intended to make the
clock code easier to understand, since all of the functions needed to
manage the virt_prcm_set clock are now located in their own file,
rather than being mixed with other, unrelated functions.

Clock debugging is also now more finely-grained, since the DEBUG macro
can now be defined for the virt_prcm_set clock alone. This should
reduce unnecessary console noise when debugging.

Also, if at some future point the mach-omap2/ directory is split into
OMAP2/3/4 variants, this clkt file can be placed in the mach-omap2xxx/
directory, rather than shared with other chip types that don't use
this clock type.

Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments.
Thanks also to Kevin Hilman <khilman@deeprootsystems.com> for finding
and fixing a bug with the CONFIG_CPU_FREQ portion of this patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Alexander Shishkin <virtuoso@slind.org>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
akefile
lkt2xxx_virt_prcm_set.c
lock2xxx.c
b1823d8616b11477e9e0967c727ed5325fb12403 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: move the DPLL+CORE composite clock code into mach-omap2/clkt2xxx_dpllcore.c

Move the DPLL+CORE composite clock functions from clock2xxx.c to
mach-omap2/clkt2xxx_dpllcore.c. This is intended to make the clock
code easier to understand, since all of the functions needed to manage
the OMAP2 DPLL+CORE clock are now located in their own file, rather
than being mixed with other, unrelated functions.

Clock debugging is also now more finely-grained, since the DEBUG
macro can now be defined for the DPLL+CORE clock alone. This
should reduce unnecessary console noise when debugging.

Also, if at some future point the mach-omap2/ directory is split
into OMAP2/3/4 variants, this clkt file can be placed in the mach-omap2xxx/
directory, rather than shared with other chip types that don't use this
clock type.

Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
improve the patch description.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Alexander Shishkin <virtuoso@slind.org>
akefile
lkt2xxx_dpllcore.c
lock2xxx.c
69ecefca514c318d0ce993c48ffa3bad009c7b9b 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3/4 clock: combine all omap2_clk_functions

The struct clk_functions for OMAP2, 3, and 4 are all essentially the
same, so combine them. This removes one multi-OMAP kernel impediment
and saves memory on multi-OMAP builds.

The stubs for omap2_clk_{init,exit}_cpufreq() code will removed once
the OPP layer code that's currently in Kevin's PM branch is merged.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
lock.c
lock.h
lock2xxx.c
lock34xx.c
lock44xx.c
4b1f76ed4f8012929494261eb6923b3c98554a9a 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2 clock: move all static functions to the top of the file

Move static functions to the top of the file and ensure that their names
are prefixed with an underscore to conform with the practice in the newer
OMAP clock code files.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.c
df791b3ebf181b3eece9c770565fcf0844bbd7cb 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3/4 clock: move clksel clock functions into mach-omap2/clkt_clksel.c

Move all clksel-related clock functions from mach-omap2/clock.c to
mach-omap2/clkt_clksel.c. This is intended to make the clock code
easier to understand, since all of the functions needed to manage
clksel clocks are now located in their own file, rather than being
mixed with other, unrelated functions.

Clock debugging is also now more finely-grained, since the DEBUG macro
can now be defined for clksel clocks alon. This should reduce
unnecessary console noise when debugging.

Also, if at some future point the mach-omap2/ directory is split
into OMAP2/3/4 variants, this clkt file can be moved to the plat-omap/
directory to be shared.

Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
improve the patch description.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Alexander Shishkin <virtuoso@slind.org>
akefile
lkt_clksel.c
lock.c
lock.h
0b96af683026ab9ca4dd52f9005a1a4fc582e914 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3/4 clock: move DPLL clock functions into mach-omap2/clkt_dpll.c

Move all DPLL-related clock functions from mach-omap2/clock.c to
mach-omap2/clkt_dpll.c. This is intended to make the clock code
easier to understand, since all of the functions needed to manage
DPLLs are now located in their own file, rather than being mixed with
other, unrelated functions.

Clock debugging is also now more finely-grained, since the DEBUG macro
can now be defined for DPLLs alone. This should reduce unnecessary
console noise when debugging.

Also, if at some future point the mach-omap2/ directory is split
into OMAP2/3/4 variants, this clkt file can be moved to the plat-omap/
directory to be shared.

Thanks to Alexander Shishkin <virtuoso@slind.org> for his comments to
improve the patch description.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Alexander Shishkin <virtuoso@slind.org>
akefile
lkt_dpll.c
lock.c
98c4545749234393ec918b703f48eb708658a23d 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP3 clock: move OMAP3-specific DPLL functions to dpll3xxx.c

Mark the OMAP3-specific DPLL functions as being OMAP3-specific by moving
them from mach-omap2/dpll.c to mach-omap2/dpll3xxx.c.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
akefile
pll.c
pll3xxx.c
46273e6f37bdf3801363986e2228350ecad19059 27-Jan-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP: hwmod: add API for slave idlemode setting

Some HW blocks have errata which requires specific slave idle mode
under certain conditions.

This patch adds an hwmod API to allow setting slave idlemode
ensuring that any SYSCONFIG register updates go through hwmod.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
f0271d65f9ac511d2e3e1fdbcd7418a5a7df0769 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP clockdomain/powerdomain: improve documentation

This patch only affects documentation; no functional changes are
included.

Clean up comments in the current clockdomain, powerdomain code and
header files. This mostly involves conversion to kerneldoc format,
although some clarifications are also included.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
owerdomain.c
915aad89fcc57a03511c69915b3876f4e53074ee 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP powerdomain: remove pwrdm_clk_state_switch

Nothing calls pwrdm_clk_state_switch(), and the function that seems to be
its ideal use case calls pwrdm_clkdm_state_switch(clk->clkdm), so remove it.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tero Kristo <tero.kristo@nokia.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
owerdomain.c
cf57aa7c5453e786acd37edea8acdd9497c708d6 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP powerdomain/PM: use symbolic constants for the max number of power states

Replace some bare constants with symbolic constants.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
owerdomain.c
369d5614457384edcf62c5f39b03dd20be6ea1df 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP clockdomains: add usecounting for wakeup and sleep dependencies

Add usecounting for wakeup and sleep dependencies. In the current
situation, if several functions add dependencies on the same
clockdomains, when the first dependency removal function is called,
the dependency will be incorrectly removed from the hardware.

Add clkdm_clear_all_wkdeps() and clkdm_clear_all_sleepdeps(), which
provide a fast and usecounting-consistent way to clear all hardware
clockdomain dependencies, since accesses to these registers can be
quite slow. pm{2,3}4xx.c has been updated to use these new functions.
The original version of this patch did not touch these files, which
previously wrote directly to the wkdep registers, and thus confused
the usecounting code. This problem was found by Kevin Hilman
<khilman@deeprootsystems.com>.

N.B.: This patch introduces one significant functional difference over
the previous pm34xx.c code: sleepdeps are now cleared during
clockdomain initialization, whereas previously they were left
untouched. This has been tested by Kevin and confirmed to work.

The original version of this patch also did not take into
consideration that some clockdomains do not have sleep or wakeup
dependency sources, which caused NULL pointer dereferences. This
problem was debugged and fixed by Kevin Hilman
<khilman@deeprootsystems.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Jouni Högander <jouni.hogander@nokia.com>
lockdomain.c
m24xx.c
m34xx.c
e909d62a8afda7a224a7e322cf2f387d69ca771f 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP clockdomain/powerdomain: remove runtime register/unregister

OMAP clockdomains and powerdomains are currently defined statically,
only registered at boot, and never unregistered, so we can remove the
unregister function and the locking. A variant of this was originally
suggested a while ago by Dmitry Baryshkov <dbaryshkov@gmail.com>.
This version of this patch contains an additional fix from Kevin Hilman
<khilman@deeprootsystems.com> to address one of the pwrdm_for_each_nolock()
users in mach-omap2/pm-debug.c. Thanks Kevin.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Dmitry Baryshkov <dbaryshkov@gmail.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
lockdomain.c
m-debug.c
owerdomain.c
3d309cdef37e238c108cade95a8192d5688bd56a 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2 clockdomain: modem clockdomain is only present on OMAP2430

For some reason, previously, we included the MDM clockdomain on all 24xx,
but the stacked die-on-die modem configuration (chassis mode) is only
available on OMAP2430.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomains.h
a26017002847eef09625a94f897a0fb1ff58da4b 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3 clockdomains: split shared structures so usecounting works

Previously some of the clockdomain wakeup/sleep dependency structures
were shared between several domains. For the subsequent wakeup and sleep
dependency usecounting patch to work, these can no longer be
shared. This patch splits the shared structures apart.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomains.h
55ed96945b1f3d0f4ad21a27b32ce4bd99d8c268 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2/3 clkdm/pwrdm: move wkdep/sleepdep handling from pwrdm to clkdm

Move clockdomain wakeup dependency and sleep dependency data
structures from the powerdomain layer to the clockdomain layer, where
they belong. These dependencies were originally placed in the
powerdomain layer due to unclear documentation; however, it is clear
now that these dependencies are between clockdomains. For OMAP2/3,
this is not such a big problem, but for OMAP4 this needs to be fixed.

Thanks to Benoît Cousson <b-cousson@ti.com> for his advice on this
patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
lockdomain.c
lockdomains.h
o.c
map_hwmod.c
m34xx.c
owerdomain.c
owerdomains.h
owerdomains24xx.h
owerdomains34xx.h
rcm.c
6b04e0d99d4113ede24e263e3df246a17f490339 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4 clock domains : Add the missing Clock Domain Structure

One of the clock domains was missing from the auto-generated file.
It has been added here.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomains.h
lockdomains44xx.h
bf9854010692d7fbb4c21817c66270b40db55a3b 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4 clock framework: Remove the checks preventing OMAP4 clockdomain validation

The clockdomain related code being in place, it is not necessary to have
some part of the clock code commented out. This would help the validation of
the clockdomain functions using the clock level interfaces.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.c
lock44xx_data.c
e9b98f6040f5a7a04d659759d83ea28d9c528800 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP clock: make the fixed divisor clock code available for all OMAPs

One of the OMAP1 clocks can use the fixed divisor recalculation code
introduced in the OMAP2 clock code, so rename the
omap2_fixed_divisor_recalc() function to omap_fixed_divisor_recalc()
and make it available to all OMAPs. A followup patch converts the OMAP1
clock.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.c
lock.h
lock2xxx_data.c
lock34xx_data.c
ced825293ac34d4f250775c40f13cc6330653309 27-Jan-2010 Ranjith Lohithakshan <ranjithl@ti.com> AM35xx: Clock table updates for AM3505/17

AM3505/17 though a OMAP3530 derivative have the following
main differences

- Removal of the following OMAP3 modules
- IVA
- ISP/CAM
- Modem and D2D components (MAD2D, SAD2D)
- USIM
- SSI
- Mailboxes
- USB OTG
- ICR
- MSPRO
- SmartReflex
- SDRC replaced with EMIF4 Controller in the SDRC subsystem
thus adding support for DDR2 memory devices
- Addition of the following new modules
- Ethernet MAC (CPGMAC)
- CAN Controller (HECC)
- New USB OTG Controller with integrated Phy
- Video Processing Front End (VPFE)
- Additional UART (UART4)
- All security accelerators disabled on GP devices and not to
be accessed or configured

This patch defines CPU flags for AM3505/17 and update the clock table.
Clock support for new modules will be added by subsequent patches.

Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com>
[paul@pwsan.com: updated for 2.6.34 clock layout]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx_data.c
2c8a177eba6762ca828738c92efcdaed02d198bc 27-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP3 clock: reorganize CK_* platform flags

Add CK_* flags for the two new Sitara chips, AM3505 and AM3517, and
the OMAP34xx die shrink, OMAP36xx/OMAP37xx. Introduce a new CK_*
flag, CK_3XXX, that marks all clocks that are common to OMAP3 family
chips. CK_343X now refers to clocks that are available only on
OMAP34{1,2,3,4}0 (WTBU) and OMAP35{03,15,25,30} (any version).
At some point, the RATE_IN_* flags should be updated also.

While here, add some documentation describing the chip families
covered by these clock flags.

This patch is partially based on patches from Ranjith Lohithakshan
<ranjithl@ti.com> and Vishwanath Sripathy <vishwanath.bs@ti.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Ranjith Lohithakshan <ranjithl@ti.com>
Cc: Vishwanath Sripathy <vishwanath.bs@ti.com>
lock34xx_data.c
8a3ddc759b33d3b3b3953d001c8d3d9107becbb9 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4: PM: Refine the APIs to support OMAP4 features.

Port the APIs to support the OMAP4 clockdomain framework.
Also take care of the compiling requirements for the same.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
akefile
lockdomain.c
o.c
1a422724c6995004d0b9e95596ec4623e8ca1fc2 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4: PM: Adapt the existing OMAP2/3 Clock Domain Frameworks.

The introduction of the OMAP4 Clock Domain framework requires
some adaptaions to be done in the earlier files to place the
common and uncommon data in the proper places where they belong.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lockdomains.h
lockdomains44xx.h
30b8863d2aa9d3f4804302f98821732a6a8f1419 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4: PM: Add the Autogenerated OMAP4 specific clock domain framework.

The Autogenerated OMAP4 clock domain specific file
(mach-omap2/clockdomains44xx.h) is added here. This file is
auto-generated using python scripting, and following is the lsit of
the people involved:
Benoit Cousson
Abhijit Pagare

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lockdomains44xx.h
b099474aa4e7fbaf5dc3b5858bc83dee2f94c60f 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4: PM: Modify Clock-domain interfaces for OMAP4 compatibility.

Here the APIs are modified to use absolute addresses instead of module offsets.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lockdomain.c
84c0c39aec31a09571fc08a752a2f4da0fe9fcf2 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4: PM: Make OMAP3 Clock-domain framework compatible for OMAP4.

Here the ".clkstctrl_reg" field is added to the clockdomain stucture
as the module offsets for OMAP4 do not map one to one for powerdomains
and clockdomains as it used to for OMAP3. Hence we need to use absolute
addresses to access the control registers. Some of the clock domains have
modules falling in the address space of PRM partition. Hence necessitating
the use of absolute adresses.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lockdomain.c
lockdomains.h
m.h
m-debug.c
rcm.c
3a759f09d7b9c6bbefffadd38fdc116125c49730 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4: PM: Refine the APIs to support OMAP4 features.

The proper Macros have to be used for platform specific calls and
some of the compiling requirements and init calls are taken care of.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
akefile
o.c
owerdomain.c
38900c27fbbbe97e16f448b8bc9cafc05af03460 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4: PM: Adapt the existing OMAP2/3 and common Power Domain Frameworks.

Taking care of the platform specific and common power domains with
proper checks. Also refining some Macros according to the latest
OMAP4 requirements.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
owerdomains.h
f37c6dfac99451b8babdd320d7aed4e03d51b94b 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4: PM: Add the Autogenerated OMAP4 specific power domain framework.

The Autogenerated OMAP4 power domain specific file (mach-omap2/powerdomains44xx.h)
is added here.
This file is auto-generated using python scripting and following is the list of the people
involved:
Paul Walmsley
Benoit Cousson
Abhijit Pagare

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
owerdomains44xx.h
3790300903e6a98ce5f5391f4d435959266f79e7 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4: PM: OMAP4 Power Domain Porting Related Clean-up.

Module offsets were same for OMAP2 and OMAP3 while they differ for OMAP4.
Hence we need different macros for identifying platform specific offsets.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lockdomain.c
m-debug.c
m24xx.c
m34xx.c
owerdomain.c
rcm-common.h
rcm.c
rm.h
leep34xx.S
c6a6e6e203ee9a34fa53f773272f21d48b4e3454 27-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP4: PM: OMAP4 essential basic initialisations.

Some of the OMAP4 specific chip level initialisations are taken care of.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
[paul@pwsan.com: updated to use '4430ES1' rather than simply '4430'; updated
to apply after the intervening cpu.h/id.c patch; thanks also to Tony
for catching a bug in my rewrite]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
d.c
b2d959173fea3e04229b2ff33473b5a031669f66 21-Jan-2010 Tony Lindgren <tony@atomide.com> Merge branch 'omap-fixes' into omap-fixes-for-linus
ccaae273c3f92d7e7acb796d6747077a93dcca4b 21-Jan-2010 Tony Lindgren <tony@atomide.com> Merge branch 'pm-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-fixes-for-linus
6b34f9d4e60a4fb9f847533a207e31316603e840 14-Jan-2010 Sergio Aguirre <saaguirre@ti.com> PM debug: Fix warning when no CONFIG_DEBUG_FS

Fix following warning when CONFIG_DEBUG_FS wasn't selected:

arch/arm/mach-omap2/pm-debug.c:57: warning: 'pm_dbg_init' declared 'static' but never defined

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
b92c5721d28507738d294e9a582eb6232ec6abad 22-Dec-2009 Subramani Venkatesh <subramani.venkatesh@windriver.com> OMAP3: PM: DSS PM_WKEN to refill DMA

Currently, DSS does not wakeup when there is a DMA request. DSS wake
up event must be enabled so that the DMA request to refill the FIFO
will wake up the CORE domain.

Signed-off-by: Subramani Venkatesh <subramani.venkatesh@windriver.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
dccaad895094a699c37c065bff3fa9bb997daeb9 17-Nov-2009 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: Force write last pad config register into save area

Due to OMAP3 erratas 1.157, 1.185 the save of the last pad register
(ETK_D14 and ETK_D15) can fail sometimes when there is simultaneous
OCP access to the SCM register area. Fixed by writing the last
register to the save area.

Also, optimized the delay loop for the HW save to include an udelay(1),
which limits the number of unnecessary HW accesses to SCM register area
during the save.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Acked-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
61b17d972f60fb8097592cadee2a2dd594285ff6 16-Dec-2009 Roel Kluin <roel.kluin@gmail.com> OMAP: omap3_pm_get_suspend_state() error ignored in pwrdm_suspend_get()

val is an u64 pointer, we need an int to check the error.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
e3d9329640e4b291cdd2c6d178774c28bba47d59 26-Nov-2009 Peter Ujfalusi <peter.ujfalusi@nokia.com> OMAP3: PM: Enable wake-up from McBSP2, 3 and 4 modules

Wake-up from McBSP ports are needed, especially when the THRESHOLD
dma mode is in use for audio playback.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
ae559d8769531ab8895d241107a10fbe320b3b7f 16-Nov-2009 Manjunatha GK <manjugk@ti.com> OMAP3: PM debug: fix build error when !CONFIG_DEBUG_FS

The PM debug code fails to build on when CONFIG_DEBUG_FS is not
enabled.

Build error log:
arch/arm/mach-omap2/built-in.o: In function `omap_sram_idle':
arch/arm/mach-omap2/pm34xx.c:449: undefined reference to `pm_dbg_regset_save'
arch/arm/mach-omap2/pm34xx.c:460: undefined reference to `pm_dbg_regset_save'
arch/arm/mach-omap2/built-in.o: In function `configure_vc':
arch/arm/mach-omap2/pm34xx.c:1237: undefined reference to `pm_dbg_regset_init'
arch/arm/mach-omap2/pm34xx.c:1238: undefined reference to `pm_dbg_regset_init'
make: *** [.tmp_vmlinux1] Error 1

This patch fixes the above errors.

Kernel booting is tested on omap zoom2 and zoom3 boards.

Signed-off-by: Manjunatha GK <manjugk@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
m.h
8640425b265752a1b7bae041815872cda5b72a2f 16-Nov-2009 Sripathy, Vishwanath <vishwanath.bs@ti.com> OMAP3: PM: Removing redundant and potentially dangerous PRCM configration

As part of Core domain context restoration while coming out of off mode
there are some registers being restored which are not required to be restored.
ROM code will have restored them already. Overwriting some of them can have
potential side effect. Eg: CM_CLKEN_PLL register should not be written while dpll is locked.
Tested on OMAP 3430 SDP for suspend/resume and off mode with sleep_while_idle enabled.

Signed-off-by: Vishwanath BS <vishwanath.bs@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
rcm.c
a087cad92c0d83f096024d6ec8c8a8f6b6286811 11-Nov-2009 Tero Kristo <tero.kristo@nokia.com> OMAP3: Fixed ARM aux ctrl register save/restore

Current value is stored on SDRAM and it is written back during wakeup.
Previously a static value of 0x72 was written there.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Acked-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
leep34xx.S
afbcf6197d78aed814e90bad6099ecfbeb756ec1 26-Oct-2009 Tero Kristo <tero.kristo@nokia.com> OMAP3: CPUidle: Fixed timer resolution

Previously used u32 as temporary data storage that wraps around at 4.294s.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
a174e609b5b9b3bc1c5859402be8d8d88f6e098c 02-Nov-2009 Sanjeev Premi <premi@ti.com> OMAP3: PM: Remove duplicate code blocks

This patch removes code blocks that are repeated
in function prcm_setup_regs().

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
f18cc2ff5e18e8eb6df5284866331ef4a2db58d6 23-Oct-2009 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: Disable interrupt controller AUTOIDLE before WFI

OMAP interrupt controller goes to unknown state when there is right
combination of l3,l4 sleep/wake-up transitions, l4 autoidle in
interrupt controller and some interrupt. When this happens, interrupts
are not delivered to ARM anymore and ARM will remain in WFI (wait for
interrupt) until interrupt controller is forced to wake-up
(i.e. lauterbach).

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
rq.c
m34xx.c
b296c8118b26a359b027b8c9bb9f5f41dc7693fa 23-Oct-2009 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: Enable system control module autoidle

Enable the auto-idle feature of the SCM block to save some additional
power.

Signed-off-by: Mika Westerberg <ext-mika.1.westerberg@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
2bbe3af3f1e1c1d0992c984e05d061ef5469edb4 23-Oct-2009 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: Ack pending interrupts before entering suspend

Suspending drivers may still generate interrupts just before their suspend is
completed. Any pending interrupts here will prevent sleep.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
rq.c
m34xx.c
1daa8c1d75876f690ed8d3f13c806034af5984eb 20-Jan-2010 Olof Johansson <olof@lixom.net> omap: Enable GPMC clock in gpmc_init

Don't assume that gpmc_l3_clk is on, enable it before touching
configuration registers.

Note that the current code assumes that this clock is always
enabled. We are already setting smart idle and L3 autogating
for GPMC clock in gpmc_init.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
ecbb06594744b72c362cb2252cb5f6de7cf1b394 20-Jan-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: clocks: Fix the clksel_rate struct DPLL divs

For all DPLL's the valid dividers are same as the values
to be programmed in the register. 0 is an invalid value.
The changes are generated by updating the script which autogenerates
the file modifed in the patch.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock44xx_data.c
0324f59fc945b76337dbc18f4ad4b4383f683ae5 20-Jan-2010 Rajendra Nayak <rnayak@ti.com> OMAP4: PRCM: Fix the base address for CHIRONSS reg defines

The CHIRONSS has its own local PRCM module and the register defines
need to use the CHIRONSS base and not the PRM base.
The changes are generated by updating the script which autogenerates
the file modifed in the patch.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
rm.h
rm44xx.h
e9acb9b64d7fb16c7f69efa85c5707cffd0c7275 20-Jan-2010 Tony Lindgren <tony@atomide.com> omap3: Fix cpu detection

We need to set the omap_chip.oc carefully for the clocks to work.

To fix this, set the omap_chip.oc in omap3_check_features() based
on the CONTROL_IDCODE and silicon revision registers.

Also add handling for 34xx es3.1.2 as es3.1 for now.

Fixes booting on at least overo board.

Based on an earlier patch by Paul Walmsley <paul@pwsan.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
d4bb72e50a0c4b6790dec127a38fd06d06e561cc 20-Jan-2010 Tony Lindgren <tony@atomide.com> omap: Fix functions for dynamic remuxing of pins

Make the omap_mux_read and write available for board code,
and rename omap_mux_set_board_signals into omap_mux_write_array.
Also add the related prototypes and comments into mux.h.

In some cases we want to change the signals dynamically,
mostly for power management.

Note that we cannot use the signal names as they are set
__init to save memory.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
ux.h
2cb0c54f3a696351b81e6670f8419120c94b5e0b 20-Jan-2010 Tony Lindgren <tony@atomide.com> omap: Fix cmdline muxing

Looks like cmdline muxing got broken at some point when we
decided to limit muxing to __init code. Currently omap_mux_entry
list is not yet initialized when we try to initialize cmdline
muxing.

Fix this by calling omap_mux_init_list() before calling
omap_mux_set_cmdline_signals().

Reported-by: Philip Balister <philip@balister.org>
Tested-by: Philip Balister <philip@balister.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
6468e3b18777ecfffa6738e365896be9f17403f2 20-Jan-2010 Russell King <rmk+kernel@arm.linux.org.uk> OMAP3: clock: Remove unnecessarily .init initializers from OMAP3 clocks

The first thing that omap2_init_clksel_parent() does is check for
a non-zero .clksel field in the struct clk. Therefore, it is
pointless calling this function on clocks where the clksel field
is unset.

Remove init calls to omap2_init_clksel_parent() on clocks without
a clksel field.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx_data.c
883edfdd58419b0cc298db14ba25c26d55c6d1af 20-Jan-2010 Thara Gopinath <thara@ti.com> OMAP3: hwmod: Adding flag to prevent caching of sysconfig register.

In the current implementation the sysconfig value is read into
_sysc_cache once and an actual update to the sysconfig register
happens only if the new value paased is differnt from the one in _sysc_cache.
_sysc_cache is updated only if _HWMOD_SYSCONFIG_LOADED is not set.
This can lead to the follwing issue if off mode is enabled in modules
which employs "always-retore" mechanism of context save and restore.

a. The module sets the sysconfig register through omap_device_enable.
Here _sysc_cache is updated with the value written to the sysconfig
register and left.
b. The power domain containig the module enters off mode and the
module context is lost.
c. The module in use becomes active and calls omap_device_enable to
enable itself. Here a read of sysconfig register does not happen
as _HWMOD_SYSCONFIG_LOADED flag is set. The value to be written
to the sysconfig register will be same as the one written in step a.
Since _sysc_cache reflects the previous written value an update
of the sysconfig register does not happen.
This means in modules which employs "always-restore" mechanism
after off , the sysconfig regsiters will never get updated.

This patch introduces a flag SYSC_NO_CACHE which if set ensures that the
sysconfig register is always read into _sysc_cache before an update is
attempted.

This flags need to be set only by modules which does not do a context save
but re-initializes the registers every time the module is accessed. This
includes modules like i2c, smartreflex etc.

Signed-off-by: Thara Gopinath <thara@ti.com>
[paul@pwsan.com: tweaked to apply on a different head, added flag comment]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
27dba4bcf87494e2909f6b0035f0a9a038e80f83 08-Jan-2010 Tony Lindgren <tony@atomide.com> Merge branch 'for_2.6.33rc_c' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus
cdf1a915569ea9c3f6b9b4ef48a189d531d3954c 08-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2 clock: dynamically allocate CPUFreq frequency table

Dynamically allocate the CPUFreq frequency table on OMAP2xxx chips.
This fixes some compilation problems, since the kernel may not know
what chip it is running on until boot-time. This also reduces the size
of the CPUFreq frequency table.

Problem originally reported by Felipe Balbi <felipe.balbi@nokia.com>.
Thanks also for comments on the patch from Felipe and Kevin.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Felipe Balbi <felipe.balbi@nokia.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
lock2xxx.c
ca6eccb31ef63722b35ea695f75089adeec319d7 08-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx OPP: clean up comments in OPP data

Revise some of the comments in the OMAP2xxx OPP data for clarity.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
pp2420_data.c
pp2430_data.c
19fe458310915a216bbba32a210b6f29ac7c929f 08-Jan-2010 Felipe Balbi <felipe.balbi@nokia.com> OMAP2xxx clock: clk2xxx.c doesn't compile if CPUFREQ is enabled

if we enable CPUFREQ we can't build omap2 for two reasons,
one of them is fixed by the patch below.

It's failing because the __must_be_array() check in
ARRAY_SIZE() is failing and printing the following message:

arch/arm/mach-omap2/clock2xxx.c:453: error: negative width in bit-field '<anonymous>'

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
[paul@pwsan.com: commit message updated; changed rate variable name]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock2xxx.c
3e3ee1560daaf09bb5dbe3afd35ca2f75e2e116a 08-Jan-2010 Tuukka Toivonen <tuukka.o.toivonen@nokia.com> OMAP3 clock: Add capability to change rate of dpll4_m5_ck

Add necessary definitions to clock framework to allow changing
dpll4_m5_ck rate. This is used by the camera code.

Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Signed-off-by: Tuukka Toivonen <tuukka.o.toivonen@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx_data.c
073463ca4011d4f6f8e2334273f3b062b2b19b85 08-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP3 clock: McBSP 2, 3, 4 functional clock parent is PER_96M_FCLK, not CORE_96M_FCLK

The correct parent of the McBSP 2, 3, and 4 functional clocks is
PER_96M_FCLK, not CORE_96M_FCLK. Fix this in the OMAP clock tree.
Reported by Nicole Chalhoub <n-chalhoub@ti.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Nicole Chalhoub <n-chalhoub@ti.com>
lock34xx_data.c
9b5bc5fa4b68fe2f51a5197786a8b5df82d1b8bf 08-Jan-2010 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: clock: add clockdomains for UART1 & 2

UART1 & 2 were missing clockdomains resulting in broken omap_hwmod
init for these devices.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx_data.c
7adb9987177f7aa269505ef65f4b4ed84bbc17b5 08-Jan-2010 Paul Walmsley <paul@pwsan.com> OMAP2xxx IO mapping: mark DSP mappings as being 2420-only

Out of the three major OMAP2 chip types, OMAP2420, OMAP2430, and OMAP3430,
we only map the IVA on OMAP2420. The memory mapping is not shared between
OMAP2420 and OMAP2430, so it is inappropriate to label those macros as
'24XX'; this patch changes them to '2420'.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
o.c
98bb155130aca96f26b12b50a38db806a0021e59 08-Jan-2010 Abhijit Pagare <abhijitpagare@ti.com> ARM: OMAP3: PM: Fix the Invalid CM_CLKSTCTRL reg access.

In OMAP2/3 some of the clock-domains which did not have control
facility were being falsely written to and read using the CM_CLKSTCTRL
register though it did not exist for them. One check is added to remove
this flaw.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
lockdomain.c
48bca0e9c7f428dc75ea2a9c37601e6cb47dae6f 08-Jan-2010 Huang Weiyi <weiyi.huang@gmail.com> OMAP2: remove duplicated #include

Remove duplicated #include('s) in
arch/arm/mach-omap2/clock34xx.c
arch/arm/mach-omap2/io.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.c
o.c
342aa2c1721e2714f43d957c3dd0bdaaa688c207 08-Jan-2010 Vaibhav Hiremath <hvaibhav@ti.com> omap3: EVM: Choose OMAP_PACKAGE_CBB

Without this the kernel doesn't boot, it craches in
omap_mux_package_fixup(), since the package_subset becomes NULL.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
d04eb60066ed532d2e5da9f39cc0c79883d8a33c 08-Jan-2010 Tony Lindgren <tony@atomide.com> omap3: Fix booting if package is uninitialized

Otherwise bringing up new boards can be harder:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1]
last sysfs file:
Modules linked in:
CPU: 0 Not tainted (2.6.33-rc2-00015-g0bc9c93-dirty #37)
PC is at omap_mux_init+0xa4/0x3d8
LR is at omap_mux_init+0x3c/0x3d8
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
1b6e821f234f9e22ad1ef4919e140625af251935 08-Jan-2010 Roel Kluin <roel.kluin@gmail.com> omap3: add missing parentheses

`!' has a higher precedence than `&' so parentheses are required.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m34xx.c
6b06ebdfbd3100ffa789d3893bc7c08b1f91ea30 08-Jan-2010 Vimal Singh <vimalsingh@ti.com> omap2/3: ZOOM: Correcting key mapping for few keys

Keys: 'right arrow', 'up arrow' and 'select' were mapped
wrongly. This patch corrects them.
This patch also adds one missing key present in the board,
currently I added it as 'unknown' key, as I am not able to
find proper description for this key.
One key entry (r: 7, c: 5) is present in the keymap, which
is really not present in the board, removing it.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-peripherals.c
9230372aeecc0a634f708e9eb8668769daa1ed5a 08-Jan-2010 Alexander Shishkin <virtuoso@slind.org> omap2/3: make serial_in_override() address the right uart port

Commit f62349ee9788b1d94c55eb6c291d74a1f69bdd9e makes it possible to
have some other than first uart port as ttyS0, which breaks the workaround
serial_in_override() function which will try to address the first uart
port (for ttyS0) and not the one that was initialized.

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
CC: Mika Westerberg <ext-mika.1.westerberg@nokia.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
f2eeeae06a41d4f9c90f8382cc0ef1d35888d09a 14-Dec-2009 Mika Westerberg <ext-mika.1.westerberg@nokia.com> OMAP3: serial - fix bug introduced in

Commit f62349ee9788b1d94c55eb6c291d74a1f69bdd9e had side effect that
causes kernel to oops when we are suspending to ram:

# echo mem > /sys/power/state

WARNING: at kernel/irq/manage.c:858 __free_irq+0x90/0x174()
Trying to free already-free IRQ 72
Modules linked in:
Backtrace:
[<c00328d0>] (dump_backtrace+0x0/0x110) from [<c0347298>] (dump_stack+0x18/0x1c)
r7:dfd4be08 r6:c009505c r5:c03fbfd1 r4:0000035a
[<c0347280>] (dump_stack+0x0/0x1c) from [<c005a408>] (warn_slowpath_common+0x50/0x68)
[<c005a3b8>] (warn_slowpath_common+0x0/0x68) from [<c005a46c>] (warn_slowpath_fmt+0x30)
r7:c0474afc r6:00000048 r5:00000000 r4:c0474ac0
[<c005a43c>] (warn_slowpath_fmt+0x0/0x38) from [<c009505c>] (__free_irq+0x90/0x174)
r3:00000048 r2:c03fc0ef
[<c0094fcc>] (__free_irq+0x0/0x174) from [<c0095184>] (free_irq+0x44/0x64)
[<c0095140>] (free_irq+0x0/0x64) from [<c0038100>] (omap_uart_enable_irqs+0x4c/0x90)
r7:c034d58c r6:00000003 r5:00000000 r4:c0463028
[<c00380b4>] (omap_uart_enable_irqs+0x0/0x90) from [<c003d8f8>] (omap3_pm_begin+0x1c/0)
r5:00000003 r4:00000000
[<c003d8dc>] (omap3_pm_begin+0x0/0x28) from [<c008d008>] (suspend_devices_and_enter+0x)
[<c008cfd8>] (suspend_devices_and_enter+0x0/0x1dc) from [<c008d29c>] (enter_state+0xe8)
r5:c03f7f46 r4:00000000
[<c008d1b4>] (enter_state+0x0/0x140) from [<c008c8e0>] (state_store+0x9c/0xc4)
r7:c034d58c r6:00000003 r5:00000003 r4:c03f7f46
[<c008c844>] (state_store+0x0/0xc4) from [<c01cb2dc>] (kobj_attr_store+0x20/0x24)
[<c01cb2bc>] (kobj_attr_store+0x0/0x24) from [<c0119420>] (sysfs_write_file+0x114/0x14)
[<c011930c>] (sysfs_write_file+0x0/0x148) from [<c00cb298>] (vfs_write+0xb8/0x164)
[<c00cb1e0>] (vfs_write+0x0/0x164) from [<c00cb408>] (sys_write+0x44/0x70)
r8:4001f000 r7:00000004 r6:df81bd00 r5:00000000 r4:00000000
[<c00cb3c4>] (sys_write+0x0/0x70) from [<c002f040>] (ret_fast_syscall+0x0/0x38)
r8:c002f204 r7:00000004 r6:401fa5e8 r5:4001f000 r4:00000004

This is due the fact that uart_list list was populated in
omap_serial_early_init() and omap_uart_enable_irqs() went through this
list even when serial idle wasn't enabled for all uarts.

This patch moves the code that populates the uart_list and enables uart
clocks into omap_serial_init_port().

Signed-off-by: Mika Westerberg <ext-mika.1.westerberg@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
ebeb53e1e1f11a51d8a93843a437f516e3528bfa 15-Dec-2009 Balaji T K <balajitk@ti.com> mfd: twl: fix twl4030 rename for remaining driver, board files

Recent drivers/mfd/twl4030* renames to twl broke compile for
various boards as the series was missing a patch to change
the board-*.c files.

This patch renames include twl4030.h to include twl.h
and also renames twl4030_i2c_ routines.

Signed-off-by: Balaji T K <balajitk@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Reviewed-by: Felipe Balbi <felipe.balbi@nokia.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-cm-t35.c
oard-igep0020.c
oard-omap3evm.c
oard-omap3touchbook.c
oard-rx51-peripherals.c
oard-zoom-peripherals.c
35358281bbc527cd4b0a8d39266c9ad554643e9f 15-Dec-2009 Olof Johansson <olof@lixom.net> omap3: Allow EHCI to be built on OMAP3

OMAP34XX has EHCI, so select USB_ARCH_HAS_EHCI.

Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
b07682b6056eb6701f8cb86aa5800e6f2ea7919b 13-Dec-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> mfd: Rename twl4030* driver files to enable re-use

The upcoming TWL6030 is companion chip for OMAP4 like the current TWL4030
for OMAP3. The common modules like RTC, Regulator creates opportunity
to re-use the most of the code from twl4030.

This patch renames few common drivers twl4030* files to twl* to enable
the code re-use.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
oard-2430sdp.c
oard-3430sdp.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3pandora.c
oard-overo.c
3c684e84d1ab810764c7f509aed74a5c48c590ad 19-Oct-2009 Amit Kucheria <amit.kucheria@verdurent.com> mfd: Optimised twl4030-power power scripts for the rx51

The power scripts optimisation was mainly done by:
Tero Kristo <tero.kristo@nokia.com> and
Arnaud Mandy <ext-arnaud.2.mandy@nokia.com>

I'm only refactoring and testing it against the mainline kernel.

Signed-off-by: Amit Kucheria <amit.kucheria@verdurent.com>
Cc: Tero Kristo <tero.kristo@nokia.com>
Cc: linux-omap@vger.kernel.org
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
oard-rx51-peripherals.c
ce13d4716a276f4331d78ba28a5093a63822ab95 12-Dec-2009 vikram pandita <vikram.pandita@ti.com> omap: serial: fix non-empty uart fifo read abort

OMAP3xxx and OMAP4430 UART IP blocks have a restriction wrt RX FIFO.
Empty RX fifo read causes an abort.

OMAP3xxx:
UART IP revision >= 0x52 have this issue
MVR register format is:
Bits Field Name Description Type Reset
31:8 RESERVED RO 0x0
7:4 MAJOR Major revision number of the module. RO 0x--
3:0 MINOR Minor revision number of the module. RO 0x--

OMAP4xxx:
All revisions have this issue
Revision id check is not used as the format of MVR resigster has changed
For omap4 MVR register reads as: 0x50410602 => Revision id = 0x0602
Format of MVR register on omap4 is: (Courtesy: Cousson, Benoit)
Bits Field Name Description Type Reset
31:30 SCHEME Scheme revision number of module RO 0x1
29:28 RESERVED RO 0x1
27:16 FUNC Function revision number of module RO 0x041
15:11 RTL Rtl revision number of module RO 0x00
10:8 MAJOR Major revision number of the module. RO 0x6
7:6 CUSTOM Custom revision number of the module. RO 0x0
5:0 MINOR Minor revision number of the module. RO 0x02

Override the default 8250 read handler: mem_serial_in()
by a custom handler: serial_in_8250()
which makes sure that RX fifo is not read when empty

tested on zoom3(3630) board

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
ed32350dc5ccc2b00685d857c3270688d465cd41 12-Dec-2009 Madhusudhan Chikkature <madhu.cr@ti.com> omap3: Zoom2/3: Update hsmmc board config params

Update the hsmmc zoom peripheral configuration to support:
Power saving mode
mmc2 8-bit support
Configure mmc2 as non removable

Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-peripherals.c
0712fb39d7ac045171f26b24b896d58adec04133 12-Dec-2009 Sergey Lapin <slapin@ossfans.org> omap3: id code detection 3525 vs 3515

The runtime detection of OMAP3515 and OMAP3525
was reversed.

Signed-off-by: Sergey Lapin <slapin@ossfans.org>
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
860fc976321fa690c5cc77a2f66e8d6ea8d52e25 12-Dec-2009 Kalle Valo <kalle.valo@nokia.com> omap3: rx51: Use wl1251 in SPI mode 3

Otherwise Extreme Lower Power (ELP) wakeup doesn't work properly.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
aed79bce7701e0cf44def227f302618be42dee3d 12-Dec-2009 Anand Gadiyar <gadiyar@ti.com> omap3: zoom2/3: make MMC slot work again

omap3: zoom2/3: make MMC slot work again

Commit 12f8dfb56 accidentally broke MMC on zoom2/3.
The .vmmc1 field of zoom_twldata was deleted. Restoring it
allows the MMC slot to work again

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-peripherals.c
f62349ee9788b1d94c55eb6c291d74a1f69bdd9e 12-Dec-2009 Mika Westerberg <ext-mika.1.westerberg@nokia.com> OMAP3: serial - allow platforms specify which UARTs to initialize

This patch adds new function: omap_serial_init_port(port) that can be
used to initialize only selected UARTs as serial ports. Platforms can
then in their board files call this function instead of omap_serial_init()
if they don't want to use all UARTs as serial ports.

Signed-off-by: Mika Westerberg <ext-mika.1.westerberg@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
edc961a2fa51cf3fceba8df8bb52c7a048e4661b 12-Dec-2009 Mike Rapoport <mike@compulab.co.il> omap3: cm-t35: add mux initialization

CM-T35 can be assembled with different set of peripherals thus making
certain interfaces available to user as GPIOs or dedicated pins. Because
of it CM-T35 bootloader sets up mux configuration only for pins
necessary to boot the system and the rest of the mux configuration is
done by the kernel. Besides, having mux configuration in the kernel
allows to minimize dependancy on bootloader.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-cm-t35.c
b2f5c9413cc54000706959fa710c21b2d90a647c 12-Dec-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: Remove the secondary wait loop

The secondary cores wakes up in time so the wait loop is not
necessary anymore.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map-smp.c
942e2c9e529a57ce2bb1cf984d58f88d9b6e77e5 12-Dec-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: AuxCoreBoot registers only accessible in secure mode

The AuxCoreBoot0 and AuxCoreBoot1 can be only accessed in secure
mode. Replace the current code with secure monitor API's to access/modify
these registers.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map-headsmp.S
map-smp.c
b570e0ec25b371c2e01a1a558e852e2618526817 12-Dec-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> OMAP4: Fix cpu detection

This patch fixes the OMAP4430 cpu detection. The IC rev detection is
done with hawkeye and rev. Note that rev does not map directly to
defined processor revision numbers as ES1.0 uses value 0.It also fixes
the SCM base address to read the correct ID_CODE register.

Also the cpu_is_omap44xx() and cpu_is_omap443x() correctly populated
instead of always being true

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
8d88f7f70cca3fa6aabac287fccd40cebacb92d1 12-Dec-2009 Grazvydas Ignotas <notasas@gmail.com> omap3: pandora: board file updates for .33

Pandora board file updates:
- change keycodes of game buttons
it was decided not to use ABXY layout by the developers.
- drop i2c bus 3 speed to 100kHz
this is needed for battery monitoring chip to work reliably.
- drop pandora_lcd platform_device
the older DSS driver was never functional on l-o or mainline
kernels due to missing panel driver, so remove unneeded
pandora_lcd platform_device. This also removes last OMAP_TAG
from the board file.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
7a079cab4632265fc87ee483daf57879d5dd87f2 12-Dec-2009 Gregoire Gentil <gregoire@gentil.com> omap3: Board file of Always Innovating OMAP3-based Touch Book

Board file of Always Innovating OMAP3-based Touch Book

Signed-off-by: Gregoire Gentil <gregoire@gentil.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-omap3touchbook.c
3bc48014782a89f7201734d3e23865cb283926a7 12-Dec-2009 Ladislav Michl <ladis@linux-mips.org> omap: use smc91x_platdata to setup smc91x

Use smc91x_platdata to setup smc91x, so we can get rid of OMAP specific stuff
in smc91x driver

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
pmc-smc91x.c
662c8b55d26abeabc0b125f922dfa66338a046ae 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: mux: Add 36xx CBP package support

Add 36xx CBP package support

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-3630sdp.c
oard-zoom3.c
ux.h
ux34xx.c
ux34xx.h
15f45e6f27b0ef0719171978acadf073b066fb74 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: mux: Remove old mux code for 34xx

Remove old mux code for 34xx

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-cm-t35.c
oard-igep0020.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-rx51.c
o.c
ux.c
4896e3940a063fb03195d05806d28970dc3f102b 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: mux: Replace omap_cfg_reg() with new style signal or gpio functions

Replace omap_cfg_reg() with new style signal or gpio functions

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-3630sdp.c
oard-cm-t35.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-rx51-peripherals.c
oard-rx51.c
evices.c
sb-ehci.c
b63128e81214cc2db2995d690438055c26d213a5 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: Split i2c platform init for mach-omap1 and mach-omap2

Otherwise we cannot limit new mux code to mach-omap2.
The same signal names should eventually work for other
omaps under mach-omap2.

Note that these pins don't need to be OMAP_PIN_INPUT_PULLUP,
just OMAP_PIN_INPUT is enough.

Cc: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
2c.c
4b715efccf9547c0d7fe864277526fee3d9b6bba 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: mux: Add debugfs support for new mux code

Add debugfs support for new mux code

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
ca5742bdb58ebb74499731855dccf8f8a858b2e4 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: mux: Add new style init functions to omap3 board-*.c files

Add new style mux init functions to omap3 board-*.c files

So far Beagle has been confirmed to be a CBB package,
and CM-T35 a CUS package.

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-3430sdp.c
oard-am3517evm.c
oard-cm-t35.c
oard-igep0020.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-rx51.c
oard-zoom2.c
ddaa912a2164d7ce7a03fcb384ed37e712bb4549 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: mux: Add new style pin multiplexing data for 34xx

Add new style mux data for 34xx. This should also
work with 3630 easily by adding the processor subset
and ball data.

Note that this data is __initdata, and gets optimized
out except for the GPIO pins if CONFIG_OMAP_MUX
is not set.

Also note that this data uses omap3630 naming for
the SDMMC registers instead of 34xx naming with just
MMC.

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
ux.h
ux34xx.c
ux34xx.h
15ac7afe515631ec36966b1cf632a87276536f57 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: mux: Add new style pin multiplexing code for omap3

Initially only for 34xx. This code allows us to:

- Make the code more generic as the omap internal signal
names can stay the same across omap generations for some
devices

- Map mux registers to GPIO registers that is needed for
dynamic muxing of pins during off-idle

- Override bootloader mux values via kernel cmdline using
omap_mux=some.signa1=0x1234,some.signal2=0x1234

- View and set the mux registers via debugfs if
CONFIG_DEBUG_FS is enabled

Cc: Mike Rapoport <mike@compulab.co.il>
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
ux.h
92c9f5018997dbc5f5e91eae2400d78ada2760b0 12-Dec-2009 Mike Rapoport <mike@compulab.co.il> omap2: mux: intoduce omap_mux_{read,write}

intoduce omap_mux_{read,write}

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
911bd7395c4aa4e74b13aab790ca1500c59fae02 09-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: Add init api for DPLL nodes

An api at init for all dpll nodes seem to be
needed to reparent the dpll clk node to its
bypass clk in case the dpll is in bypass.
If not done this causes sequencing issues at init
during propogate_rate.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
lock.c
lock.h
lock44xx_data.c
16975a79c8e6ee424331f52649f2351d33c7b972 09-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: Add support for OMAP4 dpll api's

Most of the dpll api's from dpll.c are reused for OMAP4.
This patch does extend a few api's for OMAP4 support.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
akefile
lock.c
lock.h
lock44xx.c
pll.c
a1391d276866845018920329bc2a3a82ab322af8 09-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: Move DPLL control apis to dpll.c

This patch moves all the dpll control api's to a
common file dpll.c. This is in preperation of omap4
support wherein most of these api's can be reused.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
akefile
lock.h
lock34xx.c
lock34xx.h
lock44xx.h
pll.c
d79b126724554122d9598834ef39fb0bb4fc132d 08-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: Add dummy hooks for OMAP4 dpll api's

This patch adds dummy hooks for OMAP4 dpll api's. Removes
dummy hooks for clkdev api's and enables CLKDEV
for OMAP4.
Also comments clockdomain calls from within the clock
framework as its not supported yet for OMAP4.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
akefile
lock.c
lock44xx.c
m.h
pmc.c
o.c
972c542746904b5f418284946728a61b783275ef 09-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: OMAP4 clock tree and clkdev registration

This patch defines all the clock nodes in OMAP4430
platform. All the clock node structs and the clkdev table is
autogenerated using a python script (gen_clock_tree.py)
developed by Paul Walmsley, Benoit Cousson and Rajendra Nayak.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
lock44xx.h
lock44xx_data.c
dd7084138f7293f97584050d43a92cb03836974e 09-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: Adds CM1/2 register field masks

This patch adds OMAP4 specific CM1 and CM2 module
register field masks. Auto generated using a python
script (gen_cm_shifts_and_mask.py) developed by Benoit
Cousson, Paul Walmsley and Rajendra Nayak.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
m-regbits-44xx.h
234f0c4c66af8108ce151837313c522e36a84de4 09-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: Adds PRM register shift and mask bits

This patch adds OMAP4 specific PRM register bit field
shifts and masks. Auto generated using a python script
(gen_prm_shifts_and_mask.py) developed by Benoit Cousson,
Paul Walmsley and Rajendra Nayak.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
rcm-common.h
rm-regbits-44xx.h
c1294045d2299c36f531a23802f4d124cfc6b564 09-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: Adds PRM register defs for OMAP4

This patch adds OMAP4 specific PRM register defs. Auto generated
using a python script (gen_prm_4430_h.py) developed by Paul
Walmsley and Benoit Cousson.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
rm.h
rm44xx.h
9b47267f3e7f5f9b0d136c199fb8f3acb362e45e 09-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: Adds CM1/2 register defs for OMAP4

This patch adds OMAP4 specific CM1 and CM2 module
register defs. Autogenerated using a python scripts
(gen_cm1_4430_h.py,gen_cm2_4430_h.py) developed
by Paul Walmsley and Benoit Cousson.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
m.h
m44xx.h
77772d5f7dc3e329f916403ac1199615e7bab089 09-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: PRM/CM module offsets for OMAP4

This patch adds the offsets for new modules in PRM
and CM for OMAP4
These are autogenerated using a python script (gen_prcm44xx_h.py)
developed by Paul Walmsley and Benoit Cousson.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
rcm-common.h
9ef89150ea118fabc1b93f6891ba58417e4260ff 09-Dec-2009 Rajendra Nayak <rnayak@ti.com> ARM: OMAP4: PM: Fix the PRM and CM base addresses

This patch fixes the PRM and CM base addresses and adds
a new CM2 base address for OMAP4

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
akefile
rcm.c
81d7c6ffccd1d5369942c428faa9ee25a3d59db8 09-Dec-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP: hwmod: warn on missing clockdomain

WARN if a clock/hwmod is missing a clockdomain association since
resulting hwmod will not be able to correctly enable/disable clocks.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
map_hwmod.c
a16b1f7f8692163e0c6b4741d8980837dfca75f1 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP3 hwmod: drop most of the OCP_SYSCONFIG.CLOCKACTIVITY code

Earlier, the hwmod code had considered the OCP_SYSCONFIG.CLOCKACTIVITY
bits to be incremental power saving bits, controlling internal IP
block clock gates. This was a misapprehension. The CLOCKACTIVITY
bits are used to indicate, in advance, which clocks will be cut when
the module acknowledges an idle request. This enables the IP block to
take whatever action is necessary to complete any in-progress work
before asserting its IdleAck.

In the current Linux-OMAP code, this implies that the clock framework
should be changing module CLOCKACTIVITY bits as module clocks are enabled
and disabled. We don't do that yet, but in the future, we should.
This must wait until the clock tree is annotated with omap_hwmod pointers
(or vice-versa). In the meantime, drop most of the hwmod code that
controls CLOCKACTIVITY bits to avoid confusion.

This patch has benefited from many illuminating discussions with (in
alphabetical order) Benoît Cousson <b-cousson@ti.com>, Rajendra Nayak
<rnayak@ti.com>, and Sebastien Sabatier <s-sabatier1@ti.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Sebastien Sabatier <s-sabatier1@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
map_hwmod.c
718bfd76932c566f79eb55083693ef0b68071bf8 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP hwmod: add names to module MPU IRQ lines

Replace the existing u8 array of module MPU IRQ lines with a struct
that includes a name - similar to the existing struct
omap_hwmod_dma_info. Device drivers can then use
platform_get_resource_byname() to retrieve specific IRQs without nasty
dependencies on array ordering.

Thanks to Benoît Cousson <b-cousson@ti.com> and Kevin Hilman
<khilman@deeprootsystems.com> for feedback on this approach.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
726072e5dd459e3831d1dd4308ba469ff3ded419 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP3 hwmod: Add automatic OCP_SYSCONFIG AUTOIDLE handling

This patch fills in the OCP_SYSCONFIG.AUTOIDLE handling in the OMAP
hwmod code.

After this patch, the hwmod code will set the module AUTOIDLE bit
(generally <module>.OCP_SYSCONFIG.AUTOIDLE) to 1 by default upon
enable. If the hwmod flag HWMOD_NO_OCP_AUTOIDLE is set, AUTOIDLE will
be set to 0 upon enable. Upon module disable, AUTOIDLE will be set to
1.

Enabling module autoidle should save some power. The only reason to
not set the OCP_SYSCONFIG.AUTOIDLE bit is if there is a bug in the
module RTL, e.g., the MPUINTC block on OMAP3.

Comments from Kevin Hilman <khilman@deeprootsystems.com> inspired this patch,
and Kevin tested an earlier version of this patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
b835d0142196466c5ff3695b90cff1e3ea635c8e 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP3 hwmod: reprogram OCP_SYSCONFIG register after setting SOFTRESET

Reprogram the module's OCP_SYSCONFIG register after module reset (SOFTRESET
= 1). This may not be needed, but the definition of the reset performed by
the SOFTRESET bit is unclear.

Kevin Hilman <khilman@deeprootsystems.com> tested an earlier version of
this patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Kevin Hilman <khilman@deeprootsystems.com>
map_hwmod.c
6f8b7ff5b01e16a65c3b17865ce047faeca40907 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP clock/hwmod: fix off-by-one errors

Fix loop bailout off-by-one bugs reported by Juha Leppänen
<juha_motorsportcom@luukku.com>.

This second version incorporates comments from Russell King
<linux@arm.linux.org.uk>. A new macro, 'omap_test_timeout', has
been created, with cleaner code, and existing code has been converted
to use it.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Juha Leppänen <juha_motorsportcom@luukku.com>
Cc: Russell King <linux@arm.linux.org.uk>
m.c
map_hwmod.c
rcm.c
3863c74b512c1afd3ce6b2f81d8dea9f1d860968 09-Dec-2009 Thara Gopinath <thara@ti.com> OMAP3: PM: Fix for MPU power domain MEM BANK position

MPU power domain bank 0 bits are displayed in position of bank 1
in PWRSTS and PREPWRSTS registers. So read them from correct
position

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
owerdomains34xx.h
18862cbe47e37beba98f22c088fbe6fe029df889 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP3: SDRC: Place SDRC AC timing and MR changes in CORE DVFS SRAM code behind Kconfig

The code that reprograms the SDRC memory controller during CORE DVFS,
mach-omap2/sram34xx.S:omap3_sram_configure_core_dpll(), does not
ensure that all L3 initiators are prevented from accessing the SDRAM
before modifying the SDRC AC timing and MR registers. This can cause
memory to be corrupted or cause the SDRC to enter an unpredictable
state. This patch places that code behind a Kconfig option,
CONFIG_OMAP3_SDRC_AC_TIMING for now, and adds a note explaining what
is going on. Ideally the code can be added back in once supporting
code is present to ensure that other initiators aren't touching the
SDRAM. At the very least, these registers should be reprogrammable
during kernel init to deal with buggy bootloaders. Users who know
that all other system initiators will not be touching the SDRAM can
also re-enable this Kconfig option.

This is a modification of a patch originally written by Rajendra Nayak
<rnayak@ti.com> (the original is at http://patchwork.kernel.org/patch/51927/).
Rather than removing the code completely, this patch just comments it out.

Thanks to Benoît Cousson <b-cousson@ti.com> and Christophe Sucur
<c-sucur@ti.com> for explaining the technical basis for this and for
explaining what can be done to make this path work in future code.
Thanks to Richard Woodruff <r-woodruff2@ti.com>, Nishanth Menon
<nm@ti.com>, and Olof Johansson <olof@lixom.net> for their comments.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Christophe Sucur <c-sucur@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Olof Johansson <olof@lixom.net>
config
ram34xx.S
1fda39e6fd13f9f74721d2127f27675a4a0878af 09-Dec-2009 Roel Kluin <roel.kluin@gmail.com> OMAP2/3 powerdomain: return errors rather than returning the output of IS_ERR()

IS_ERR returns only 1 or 0, and the functions return a negative error
in other cases anyways.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
2354eb5a943e64c5e6e249147381e9715aa5d54b 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP powerdomain/PM: use symbolic constants for the max number of power states

Replace some bare constants with power states.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
owerdomain.c
6a06fa6863f190a0ed72f273a2ae5fedc89973ff 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP clockdomain/powerdomain: optimize out sleepdep code on OMAP24xx

OMAP24xx chips don't support software-configurable sleep dependencies.
Test early for this so the compiler can redact the entire function body
on OMAP24xx.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
33903eb55ae2a7f7cd980da619ae63d93c6530f3 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP clockdomain/powerdomain: remove CONFIG_OMAP_DEBUG_{CLOCK,POWER}DOMAIN

Avoid cluttering the Kconfig space with debug options that are rarely
used. These can now be enabled and disabled by patching the "#undef DEBUG"
in the source files with "#define DEBUG", conforming to the practice for
the rest of the linux-omap code.

Also, while we're here, some lines in plat-omap/Kconfig use sets of
leading spaces when those lines should start with tabs. Convert most
of them to use tabs.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
lockdomain.c
owerdomain.c
42d75e7df324268c99153d9cc7d48e780b54d059 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP2/3 PRCM: don't export prm_*(), cm_*() functions

Device drivers and loadable modules should not be calling these
prm_* and cm_* functions, so stop exporting them. Only core code
and device driver integration code (in arch/arm/*omap*) should
call these functions.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
rcm.c
d8a944582da1a4d29a1487ff7f435643505a12a0 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP2 clock: convert clock24xx.h to clock2xxx_data.c, opp2xxx*

The OMAP2 clock code currently #includes a large .h file full of static
data structures. Instead, define the data in a .c file.

Russell King <linux@arm.linux.org.uk> proposed this new arrangement:

http://marc.info/?l=linux-omap&m=125967425908895&w=2

This patch also deals with most of the flagrant checkpatch violations.

While here, separate the prcm_config data structures out into their own
files, opp2xxx.h and opp24{2,3}0_data.c, and only build in the OPP tables
for the target device. This should save some memory. In the long run,
these prcm_config tables should be replaced with OPP code.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Nishanth Menon <nm@ti.com>
akefile
lock.h
lock24xx.c
lock24xx.h
lock2xxx.c
lock2xxx.h
lock2xxx_data.c
pp2420_data.c
pp2430_data.c
pp2xxx.h
drc.h
82e9bd588563c4e22ebb55b684ebec7e310cc715 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP3 clock: convert clock34xx.h to clock34xx_data.c

The OMAP3 clock code currently #includes a large .h file full of static
data structures. Instead, define the data in a .c file.

Russell King <linux@arm.linux.org.uk> proposed this new arrangement:

http://marc.info/?l=linux-omap&m=125967425908895&w=2

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Russell King <linux@arm.linux.org.uk>
akefile
lock.h
lock24xx.c
lock34xx.c
lock34xx.h
lock34xx_data.c
lock_common_data.c
75d43340113e3822e390f644e8b197737e4c553e 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: remove implicit dependency between rate CPU flag and clkdev_omap CPU flag

cpu_mask is reused in the OMAP2xxx clock code to match against both the
CPU-specific rate flags (e.g., RATE_IN_2420) and the OMAP clkdev integration
code CPU flags (e.g., CK_242X). This means that any patch that renumbers the
CK_* macros, as the next patch does, will probably break. This patch
separates the clkdev_omap and clksel_rate CPU type detection flags so
the CK_* macros can be renumbered freely.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock24xx.c
55d8a65308a5099155683c5a9bba3b8577988111 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP2/3: move SDRC macros to mach-omap2/sdrc.h

clock34xx.c contains some macros which probably belong in mach-omap2/sdrc.h.
Move those macros to mach-omap2/sdrc.h.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.c
drc.h
06b16939a3d58aa128fee22b9aaf7dbc9a5b7c1c 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP2 clock: APLL code shouldn't rely on static clocks in its local namespace

Similar to the previous patch, the APLL code relied on the presence of the
static struct clks in its own namespace. The APLL code didn't use them for
validation, however - it adjusted its own internal state depending on
the struct clk * that called it. Now that static struct clks are
leaving the clock24xx.c namespace, use a more durable method: split the
omap2_clk_fixed_enable() function into omap2_clk_apll96_enable() and
omap2_clk_apll54_enable(). They still share a disable function.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock24xx.c
lock24xx.h
ebd893ded2733b8bd9ba403ee4a9e6ab6fbc2a54 09-Dec-2009 Paul Walmsley <paul@pwsan.com> OMAP1/2/3 clock: remove paranoid checks in preparation for clock{,2xxx,3xxx}_data.c

Some parts of the clock code took advantage of the fact that the statically
allocated clock tree was in clock{,24xx,34xx}.c's local namespace to do some
extra argument checks. These are overzealous and are more difficult to
maintain when the clock tree is in a separate namespace, so, remove them.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock24xx.c
lock34xx.c
d9056ce2af7ed1329b39cebd2a1c52e68d60115a 09-Dec-2009 Tomi Valkeinen <tomi.valkeinen@nokia.com> OMAP: SDP: Enable DSS2 for OMAP3 SDP board

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
afedec183e95bd5e126a7846a644acfdddb86a66 06-Aug-2009 Tomi Valkeinen <tomi.valkeinen@nokia.com> OMAP: Add VRAM manager

Add a Video RAM manager for OMAP 2 and 3 platforms. VRAM manager is used
to allocate large continuous blocks of SDRAM or SRAM. The features VRAM
manager has that are missing from dma_alloc_* functions are:

- Support for OMAP2's SRAM
- Allocate without ioremapping
- Allocate at defined physical addresses
- Allows larger VRAM area and larger allocations

The upcoming DSS2 uses VRAM manager.

VRAM area size can be defined in kernel config, board file or with
kernel boot parameters. Board file definition overrides kernel config,
and boot parameter overrides kernel config and board file.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
o.c
dadd2bb931a08a4b6b17f9e82d9bbe7bedebbc98 18-Jun-2009 Tomi Valkeinen <tomi.valkeinen@nokia.com> OMAP: OMAPFB: add omapdss device

The upcoming new display subsystem driver is divided to two devices,
omapdss and omapfb, of which omapdss handles the actual hardware.

This patch adds a dummy omapdss platform device for the current omapfb
driver, which is then used to get the clocks. This will make it possible
for the current and the new display drivers to co-exist.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
lock24xx.c
lock34xx.c
91773a00f8235e4b697217867529f73e298298df 03-Aug-2009 Tomi Valkeinen <tomi.valkeinen@nokia.com> OMAP: OMAPFB: split omapfb.h

Split arch/arm/plat-omap/include/mach/omapfb.h into two files:

include/linux/omapfb.h - ioctls etc for userspace and some kernel
stuff for board files
drivers/video/omap/omapfb.h - for omapfb internal use

This cleans up omapfb.h and also makes it easier for the upcoming new
DSS driver to co-exist with the old driver.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
o.c
b90f8e7296c39a13225fb0c0dfde1922fcf47ba7 07-Aug-2009 Tomi Valkeinen <tomi.valkeinen@nokia.com> OMAP2: Add funcs for writing SMS_ROT_* registers

SMS_ROT_* registers are used by VRFB rotation engine.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
drc.c
1c496784a0d317535f846ddb2c93a08ba936266b 08-Dec-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (149 commits)
arm: omap: Add omap3_defconfig
AM35xx: Defconfig for AM3517 EVM board
AM35xx: Add support for AM3517 EVM board
omap: 3630sdp: defconfig creation
omap: 3630sdp: introduce 3630 sdp board support
omap3: Add defconfig for IGEP v2 board
omap3: Add minimal IGEP v2 support
omap3: Add CompuLab CM-T35 defconfig
omap3: Add CompuLab CM-T35 board support
omap3: rx51: Add wl1251 wlan driver support
omap3: rx51: Add SDRAM init
omap1: Add default kernel configuration for Herald
omap1: Add board support and LCD for HTC Herald
omap: zoom2: update defconfig for LL_DEBUG_NONE
omap: zoom3: defconfig creation
omap3: zoom: Introduce zoom3 board support
omap3: zoom: Drop i2c-1 speed to 2400
omap3: zoom: rename zoom2 name to generic zoom
omap3: zoom: split board file for software reuse
omap3evm: MIgrate to smsc911x ethernet driver
...

Fix trivial conflict (two unrelated config options added next to each
other) in arch/arm/mach-omap2/Makefile
79c9601c2e0dbbe69895d302de4d19f3a31fbd30 08-Dec-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (272 commits)
Fix soc_common PCMCIA configuration
ARM: 5827/1: SA1100: h3100/h3600: emit messages on failed gpio_request
ARM: 5826/1: SA1100: h3100/h3600: always build htc-egpio driver
ARM: 5825/1: SA1100: h3600: update defconfig
ARM: 5824/1: SA1100: reuse h3600 PCMCIA driver on h3100
ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys
ARM: 5822/1: SA1100: h3100/h3600: clean up #includes
ARM: 5821/1: SA1100: h3100/h3600: revise copyright boilerplates
ARM: 5820/1: SA1100: h3100/h3600: split h3600.c
ARM: 5819/1: SA1100: h3100/h3600: merge h3600.h and h3600_gpio.h into h3xxx.h
ARM: 5818/1: SA1100: h3100/h3600: drop old GPIO definitions
ARM: 5817/1: SA1100: h3100/h3600: configure all unused gpios as inputs
ARM: 5816/1: SA1100: h3600: remove IRQ_GPIO_* definitions
ARM: 5815/1: SA1100: h3100/h3600: remove now unused assign_h3600_egpio handlers
ARM: 5814/1: SA1100: h3100/h3600: convert all users of assign_h3600_egpio to gpiolib
ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver
ARM: 5812/1: SA1100: h3100/h3600: separate machine-specific LCD helpers
ARM: 5811/2: pcmcia: convert sa1100_h3600 driver to gpiolib
ARM: 5799/1: SA1100: h3600: stop setting direction for LCD pins
ARM: 5798/1: SA1100: h3600: remove unused cruft from h3600.h
...
baf9226667734579e344f612ed39f727079cad51 04-Dec-2009 Takashi Iwai <tiwai@suse.de> Merge branch 'topic/asoc' into for-linus
183bd50f4fe6cd49c1790a90163e3d1ece80f344 01-Dec-2009 Alexander Shishkin <virtuoso@slind.org> ARM: 5843/1: OMAP3: add AMBA devices for ETM and ETB

This enables on-chip tracing components found in omap3xxx.

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
config
akefile
lock34xx.c
mu.c
c625327e2f5a506a89563e14ed837c82fa61548f 19-Nov-2009 Ranjith Lohithakshan <ranjithl@ti.com> AM35xx: Add support for AM3517 EVM board

This patch creates a minimal AM3517 EVM board support.

Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-am3517evm.c
34c9ac2376fbd04399be92312e4fa1e19a638eaa 19-Nov-2009 vikram pandita <vikram.pandita@ti.com> omap: 3630sdp: introduce 3630 sdp board support

Add 3630SDP board support

The board shares the same peripherals as a zoom2 main.
So reuse the peripheral file of zoom platform.

Peripheral zoom2 zoom3 sdp3630
---------------------------------------
Ethernet smsc smsc smc
NOR n/a n/a B
Onenand n/a n/a B
HDMI A A B (persent on different i2c)
NAND A A A (same nand)
SDRAM A A A (same sdram)
Keypad A A A (same twl)
Camera A A A (same sensor can be mounted)
LCD Display A A A (same wvga display)
OPPs A A A (same chip feature)
Audio A A A (same audio via twl5030)

OMAP3630 details can be found here:
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-3630sdp.c
58e111621d402d41cb0cabae7c532d6194b7d943 19-Nov-2009 Enric Balletbo i Serra <eballetbo@iseebcn.com> omap3: Add minimal IGEP v2 support

The IGEP v2 board is a low-cost, fan-less and industrial temperature
range single board computer that unleashes laptop-like performance and
expandability without the bulk, expense, or noise of typical desktop
machines. Its architecture shares much in common with other OMAP3 boards.

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-igep0020.c
2886d128d8ff83af88b9cbe6dbf7f0d2bbee8d76 19-Nov-2009 Mike Rapoport <mike@compulab.co.il> omap3: Add CompuLab CM-T35 board support

This patch adds basic support for CompuLab CM-T35 module.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-cm-t35.c
a24e61a9ce6ac6b02356ee6678fa53c74c2fc080 19-Nov-2009 Kalle Valo <kalle.valo@nokia.com> omap3: rx51: Add wl1251 wlan driver support

wl1251 is connected to the SPI bus in rx51, add support for this.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
2000655ee7b44ef2816d565c62ae03de74333204 22-Nov-2009 Tero Kristo <tero.kristo@nokia.com> omap3: rx51: Add SDRAM init

This patch adds board specific SDRAM init for RX51. This patch is a
collaboration of work from following people:

Juha Yrjola: Original code
Lauri Leukkunen: Port to RX51
Tero Kristo: Support for multiple OPP:s, merge of patches
Samu Onkalo: Fixed SDRAM parameters according to specs
Kalle Jokiniemi: A fix for rounding error

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Cc: Samu Onkalo <samu.p.onkalo@nokia.com>
Cc: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Cc: Lauri Leukkunen <lauri.leukkunen@nokia.com>
Cc: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-rx51-sdram.c
oard-rx51.c
5f35fbe8b8a05743fb9686e33194a126cd4273f6 22-Nov-2009 vikram pandita <vikram.pandita@ti.com> omap3: zoom: Introduce zoom3 board support

Zoom3 is the next version of Zoom2 board.
There has been a silicon update from zoom2 to zoom3.
Zoom2 has OMAP34xx
Zoom3 has OMAP3630 [1]
Zoom3 = OMAP3630 SOM board [2] + same zoom2 main board [3] + same debugboard

Zoom3 has a SDRAM part from Hynix
Zoom2 had SDRAM part from micron

Hynix memory timings are contributed by:
Chalhoub, Nicole and Bour, Vincent

Reuse the zoom2 files as much for zoom3, as at board level,
there is no change at all.

References: (courtesy Nishant Menon)
[1] OMAP3630
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606

[2] SOM boards
http://logicpd.com/products/system-modules/texas-instruments-omap35x-som-lv

[3] Zoom2 boards
http://logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp
OMAP3630:

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Cc: Nicole Chalhoub <n-chalhoub@ti.com>
Cc: Vincent Bour <v-bour@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-zoom3.c
dram-hynix-h8mbx00u0mer-0em.h
6b61a83b31744d143b0e7bc92f463d831319eabc 22-Nov-2009 vikram pandita <vikram.pandita@ti.com> omap3: zoom: Drop i2c-1 speed to 2400

The I2C-1 bus frequency on zoom2/zoom3/sdp3630 should be 2.4 MHz.
The speed is limited by TWL5030/GAIA; a higher speed could lead to errors
on the interface.

The maximum I2C speed depends on the system clock for GAIA:
2.2 MHz (sys-clk = 19.2 MHz)
2.4 MHz (sys-clk = 26 MHz)
2.9 MHz (sys-clk = 38.4 MHz)

For Zoom2/Zoom3/SDP3630 the system clock is 26Mhz
and hence choose 2.4Mhz for I2C1 bus speed

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-peripherals.c
62d0b336d4b00bde6e3f0f155009975351823c54 22-Nov-2009 vikram pandita <vikram.pandita@ti.com> omap3: zoom: rename zoom2 name to generic zoom

Replace zoom2 with zoom name in board-zoom-peripherals.c file
and board-zoom-debugboard.c. Create mach/board-zoom.h.

This file has functions reused for boards: Zoom2/Zoom3/sdp3630.
Hence have all functions commonly named as zoom

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-debugboard.c
oard-zoom-peripherals.c
oard-zoom2.c
nclude/mach/board-zoom.h
479f12c9e2743084ace94d8c65b98ec536cae3cf 22-Nov-2009 vikram pandita <vikram.pandita@ti.com> omap3: zoom: split board file for software reuse

Split zoom2 board file into a base board file and a board-zoom-peripherals.c
file. That way the same peripherals file can be reused for zoom3 and sdp3630
in addition to zoom2.

Also remove unused struct omap_board_config_kernel entry.

NOTE: Keep the twl4030_madc_platform_data and twl4030_platform_data
entries in board-zoom2.c to avoid merge conflicts with the pending
patches in MFD tree. These entries will be removed later as a fix.

Following list shows the commonality across the three platforms and hence the
case for software reuse:

Peripheral zoom2 zoom3 sdp3630
---------------------------------------
Ethernet smsc smsc smc
NOR n/a n/a B
Onenand n/a n/a B
HDMI A A B (present on different i2c)
NAND A A A (same nand)
SDRAM A A A (same sdram)
Keypad A A A (same twl)
Camera A A A (same sensor can be mounted)
LCD Display A A A (same wvga display)
OPPs A A A (same chip feature)
Audio A A A (same audio via twl5030)

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-zoom-peripherals.c
oard-zoom2.c
562138a4487191b5bcc0bea591368db7b3d3900a 22-Nov-2009 Sriram <srk@ti.com> omap3evm: MIgrate to smsc911x ethernet driver

Migrate to smsc911x ethernet driver instead of smc911x driver.
The smsc911x ethernet driver supports NAPI and performs better
under heavy traffic. With the smc911x driver we were witnessing
very high iowait time for high IO load over NFS.

Signed-off-by: Sriramakrishnan <srk@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
1a7ec135d8b263ee0c3ce692e9372a6e4e85e58f 22-Nov-2009 Mike Rapoport <mike@compulab.co.il> omap3evm: Initialize vmmc and vmmc_aux regulators

Initialize vmmc and vmmc_aux regulators

Note that the omap3evm_twldata.vmmc1 and omap3evm_twldata.vsim
are set in omap3_evm_i2c_init() to avoid a merge conflict
with the MFD tree. These will be initialized in omap3evm_i2c_boardinfo
as a fix later on.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
e8e51d29205b3c507a2e6126e18f76f42b49f5ca 22-Nov-2009 Ajay Kumar Gupta <ajay.gupta@ti.com> omap3evm: ehci: Update EHCI support on OMAP3EVM (Rev >= E)

Added runtime programming for the differences in EHCI interface between
OMAP3EVM revisions (Rev >= E) and (Rev < E).

Changes:
- EHCI PHY reset GPIO pin is 21 on Rev >= E while Rev < E
uses GPIO pin 135.
- Rev >= E uses EHCI Vbus enable GPIO22 line.
- Rev >= E uses GPIO61 to select EHCI port either on main board or
on Mistral Daughter Card (MDC). OMAP3EVM Rev < E doesn't have
EHCI port on main board.
- Currently GPIO61 it programmed to enable EHCI port on main
board only.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
oard-omap3evm.c
ux.c
db408023b85644e1bee80d4004aff1ff188032e9 22-Nov-2009 Ajay Kumar Gupta <ajay.gupta@ti.com> omap3evm: Add board revision function

Added function to differentiate between the OMAP3EVM revisions. The
chip-id of the ethernet PHY is being used for this purpose.

Rev A to D : 0x01150000
Rev >= E : 0x92200000

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3evm.c
edeae658b282f2d076efb3b3f39ccd8eb0c384fa 22-Nov-2009 Felipe Balbi <felipe.balbi@nokia.com> omap: Cleanup the coding style in id.c

Cleanup the coding style in id.c while avoiding unneeded switch()
statements.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
5f00ec64a38563f1e5d8a852f2279047edecd0b8 22-Nov-2009 C A Subramaniam <subramaniam.ca@ti.com> omap: mailbox: Adds code changes to support OMAP4 mailbox

This patch adds code changes in the mailbox driver module to
add support for OMAP4 mailbox.

Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com>
Signed-off-by: C A Subramaniam <subramaniam.ca@ti.com>
Signed-off-by: Ramesh Gupta G <grgupta@ti.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
454bf340c986b798cd4c2fd676caffa2c1e61482 22-Nov-2009 C A Subramaniam <subramaniam.ca@ti.com> omap: mailbox: Add resources and mailbox register base address for OMAP4 mailbox

This patch adds resource information of mailbox driver for
OMAP4 mailbox module. Register base address also added

Signed-off-by: C A Subramaniam <subramaniam.ca@ti.com>
Signed-off-by: Ramesh Gupta G <grgupta@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
59fdc6ebda441a26ec055d61cf9d670a33eeca2d 22-Nov-2009 C A Subramaniam <subramaniam.ca@ti.com> omap: mailbox: Add build specific changes to support omap mailbox

This patch adds changes to the build related files of mailbox
driver

Signed-off-by: C A Subramaniam <subramaniam.ca@ti.com>
Signed-off-by: Ramesh Gupta G <grgupta@ti.com>
Acked-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
cedf900d657e09f060b52f0598fc56aae9fbfba3 22-Nov-2009 Kevin Hilman <khilman@deeprootsystems.com> omap3: keep SoC features on the same line

When listing the various SoC features, print them on the same line.
So, instead of this

OMAP3430/3530 ES3.1
- l2cache : Y
- iva : Y
- sgx : Y
- neon : Y
- isp : Y

you get this:

OMAP3430/3530 ES3.1 (l2cache iva sgx neon isp )

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
05574bb27a8a46d354582e72691ff6cb40712da9 22-Nov-2009 Nishanth Menon <nm@ti.com> omap3: move check_revision above check_features

omap3_check_revision() does not depend on omap3_check_features()
move this above so that we can add logic based on revision
detected in check_features.

Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Mika Westerberg <mika.westerberg@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
4679232d3a2085fa5080f260d68b4049c14d5b76 22-Nov-2009 Madhu <madhu.cr@ti.com> omap3: HSMMC2 8-bit mux configuration

Add support for omap hsmmc2 8-bit mux configuration.

Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
ux.c
555d503ff30b3b1292d743bb77b19212b6befb59 22-Nov-2009 Madhu <madhu.cr@ti.com> omap3630: Set omap3630 MMC1 I/O speed to 52Mhz

The speed ctrl bit for MMC I/O is part of CONTROL_PROG_IO1 register
in omap3630.This patch sets it up accordingly.

Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
41fd03d66e6ae4430a0fdf7c62692a7b20b6ee6b 22-Nov-2009 Madhu <madhu.cr@ti.com> omap3630: Configure HSMMC1 to 4-bit

The HSMMC1 controller on omap3630 supprts only 4-bit mode. If cpu
is 3630 configure HSMMC1 wires to 4-bit.

Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
4596d14ad88bbacc80970cb964b8f3d6ade7e305 22-Nov-2009 Madhu <madhu.cr@ti.com> omap3630: Add HSMMC related checks

Change the cpu_is_omap3430() check to cpu_is_omap34xx() to allow HSMMC1/2
mux configuration for omap3630.

Signed-off-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
a76e9a90e8dc0c8ca641a077780c6e05270d25ff 22-Nov-2009 Felipe Contreras <felipe.contreras@gmail.com> omap: iommu: reorganize

This way it's more object oriented and easier to see what is happening.
No functional changes.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map3-iommu.c
58a5491c936957011c92f8cc5097fb3231ee3f9c 22-Nov-2009 Felipe Balbi <felipe.balbi@nokia.com> omap: Add platform init code for EHCI driver

Add platform init code for EHCI driver.

Various fixes to the original patch by Ajay Kumar Gupta <ajay.gupta@ti.com>
and Anand Gadiyar <gadiyar@ti.com>.

Overo support added by Olof Johansson <olof@lixom.net>
Beagle support added by Koen Kooi <koen@beagleboard.org>
CM-T32 support added by Mike Rapoport <mike@compulab.co.il>

Signed-off-by: Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Koen Kooi <koen@beagleboard.org>
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-3430sdp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
sb-ehci.c
56190b609b9c011363dd761838ce01cd3cd0a24f 22-Nov-2009 Ranjith Lohithakshan <ranjithl@ti.com> omap3: AM35xx: Initialize omap_chip bits

AM35xx is functionally similar to OMAP3430 ES3.1 from a
powerdomain/clockdomain perspective. This patch initializes the
omap_chip bits on AM35xx for use by powerdomain and clockdomain code.

Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
4cac60180649b83e094d4ea5c440229814488431 22-Nov-2009 Sanjeev Premi <premi@ti.com> omap3: AM35xx: Runtime detection of the device

Add support to detect AM3505/AM3517 devices at runtime.
Also updates the CPU names printed during boot.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
f18af0a847f9e1a843bcb8ba69697ccbba2d03e9 22-Nov-2009 vikram pandita <vikram.pandita@ti.com> omap3: 3630: update is_chip variable

3630 is getting treated like next rev of 3430
omap_chip.oc variable has to be updated for 3630 version

Otherwise the Core power domain is not getting registered.

This gets used in the registration of power domains in:
"arch/arm/mach-omap2/powerdomains34xx.h"
core_34xx_es3_1_pwrdm
OMAP_CHIP_INIT(CHIP_GE_OMAP3430ES3_1)

Core power doman will get registered for 3630 only when .oc is
populated correctly.

Tested on Zoom3(3630) board

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Acked-by: Alexander Shishkin <virtuoso@slind.org>
Acked-by: Ari Kauppi <kauppi@papupata.org>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
2456a10fb3a9b8c9e970b05e6c1370201675da0a 22-Nov-2009 Nishanth Menon <nm@ti.com> omap3: Introduce OMAP3630

OMAP3630 is the latest in the family of OMAP3 devices
and among the changes it introduces are:

New OPP levels for new voltage and frequency levels. a bunch of
Bug fixes to various modules feature additions, notably with ISP,
sDMA etc.

Details about the chip is available here:
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606

Strategy used:
Strategy to introduce this device into Linux was discussed here:
Ref: http://marc.info/?t=125343303400003&r=1&w=2

Two approaches were available:
a) Consider 3630 generation of devices as a new family of silicon
b) Consider 3630 as an offshoot of 3430 family of devices

As a common consensus, (b) seems to be more valid for 3630 as:
* There are changes which are easily handled by using "FEATURES"
infrastructure.
For details how to do this, see thread:
http://marc.info/?t=125050998500001&r=1&w=2
* Most of existing 34xx infrastructure can be reused(almost 90%+)
- so no ugly if (cpu_is_omap34xx() || cpu_is_omap36xx())
all over the place
- lesser chance of bugs due to reuse of proven code flow
- 36xx specific handling can still be done where required
within the existing infrastructure

NOTE:
* If additional 34xx series are added, OMAP3430_REV_ESXXXX can be
added on top of the existing 3630 ones are renumbered

This patch was tested on SDP3430, boot tested on 3630 platform using
3430sdp defconfig

Signed-off-by: Madhusudhan Chikkature Rajashekar <madhu.cr@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Cc: Allen Pais <allen.pais@ti.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Felipe Balbi <felipe.balbi@nokia.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Sergio Alberto Aguirre Rodriguez <saaguirre@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
048f4bd7607eb714d4831f90dea6fd27eac9e494 22-Nov-2009 Sanjeev Premi <premi@ti.com> omap3: Runtime detection of OMAP35x devices

Add runtime check for these OMAP35x variations
based on the detected Si features:
OMAP3503, OMAP3515, OMAP3525 and OMA3530.

Also, delayed the call to pr_info() into actual
variant is detected in omap3_cpuinfo()

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
8384ce071365244332ea05c81112bfffcf48be87 22-Nov-2009 Sanjeev Premi <premi@ti.com> omap3: Runtime detection of Si features

The OMAP35x family has multiple variants differing
in the HW features. This patch detects these features
at runtime and prints information during the boot.

Since most of the code seemed repetitive, macros
have been used for readability.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
9d30b99f352a7f21f93f0f3e2f0eecf8aa7847c1 22-Nov-2009 Alexander Shishkin <virtuoso@slind.org> omap: Eliminate OMAP_MAX_NR_PORTS

Eliminate OMAP_MAX_NR_PORTS

Note that also the null terminator entry for omap1
serial_platform_data needs to be now removed to avoid
oopsing.

Note that mach-omap1 uses struct plat_serial8250_port
array, which requires a null terminator at the end,
and that's why we need to use ARRAY_SIZE - 1. This
is not needed on mach-omap2 as the array used is
struct omap_uart_state, and does not use a null
terminator.

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
f014ee320e8779c1798998f75bfc3cef2b46286f 06-Nov-2009 Jani Nikula <ext-jani.1.nikula@nokia.com> ARM OMAP3: RX-51 board - add initialization of gpio keys

Initialize some of the RX-51 input GPIO lines as gpio keys. Enable gpio
keys as a module in rx51_defconfig.

Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
oard-rx51-peripherals.c
6df74efbb8c38c4a057223be564323ff26d44fd3 04-Nov-2009 Peter Ujfalusi <peter.ujfalusi@nokia.com> OMAP: Configure audio_mclk for twl4030-codec MFD

audio_mclk value is going to be handled by the
twl4030-codec MFD driver, configure the correct
value for boards, which is using the twl4030 audio.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
oard-3430sdp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-zoom2.c
e86fa0b4a3fe0563e492db4c5a52fd37219a4c70 22-Oct-2009 Peter Ujfalusi <peter.ujfalusi@nokia.com> OMAP: Platform support for twl4030_codec MFD

Add needed platform data for the twl4030_codec MFD on boards,
where the audio part of the twl4030 codec is used.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
oard-3430sdp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-zoom2.c
a76df42a675c9936e8bf3607226e74c8a5e2d847 22-Nov-2009 Tony Lindgren <tony@atomide.com> Merge 7xx-iosplit-plat-merge with omap-fixes

Merge branch '7xx-iosplit-plat-merge' into omap-for-linus
e7fdc6052e78738ce90e0bdc051f2ddf60e41324 17-Nov-2009 Roel Kluin <roel.kluin@gmail.com> OMAP: cs should be positive in gpmc_cs_free()

The index `cs' is signed, test whether it is negative before we release
gpmc_cs_mem[cs].

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
pmc.c
72f962fc7bc00f5ff4991912b889f87b464f7f1a 16-Nov-2009 Tero Kristo <tero.kristo@nokia.com> omap3: clock: Fixed dpll3_m2x2 rate calculation

Current calculation does not take into account any changes to M2 divisor, and
thus when we change VDD2 OPP, dpll3_m2x2 rate does not change. Fixed by
re-routing dpll3_m2x2 parent to dpll3_m2.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.h
9346f48b26a4b48a7d56314bbb94e6b801e28316 16-Nov-2009 Rajendra Nayak <rnayak@ti.com> omap3: clock: Fix the DPLL freqsel computations

Fix the freqsel value computation. Use n instead of (n+1)

The formula in the TRM uses a zero-based N, hence the (n+1); however
at this point in the clock34xx.c code, N is one-based.

Hayati Bayrakdar <h-bayrakdar@ti.com> and Nishanth Menon <nm@ti.com> helped
track down this bug.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
[paul@pwsan.com: modified commit message]
Cc: Hayati Bayrakdar <h-bayrakdar@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.c
f7343deb0f6e7654c60e97606aea388b9da612c2 16-Nov-2009 Vimal Singh <vimalsingh@ti.com> omap: Fix keymap for zoom2 according to matrix keypad framwork

Interpretation of 'row' and 'col' got reversed in matrix keymap
framework. Also last element '0', present in keymap array, is no
more needed.
Correcting zoom2 keyboard keymap accordingly.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom2.c
cf22854cee10e16e28b1dde136c37e82b7d503ee 20-Mar-2009 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: Added resched check into idle calls

Fixes a bug where scheduling is delayed until next wakeup due to race
condition (e.g. interrupt requests scheduling just before omap_sram_idle
is entered.)

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
m34xx.c
da869621c3cd93d5a8361f243b50e5d48d12bd14 10-Mar-2009 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP3: PM: idle: Remove fclk check for idle loop

This patch removes the check to see if some functional clocks are
still enabled before entering sleep. This is no longer needed when
using safe state (C1) that keeps CORE active.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
7139178e9baf44dab454b757ed91a9ee149ad0f2 28-Oct-2008 Jouni Hogander <jouni.hogander@nokia.com> OMAP3: PM: Use pwrdm_set_next_pwrst instead of set_pwrdm_state in idle loop

It is more efficient to use pwrdm_set_next_pwrst for mpu, core and neon
instead of set_pwrdm_state in idle loop. It is anyway known that those are
active in idle loop. So no need to use set_pwrdm_state.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
m34xx.c
8e431edb60ef175e6aa986e8260b23cc267a13fb 13-Mar-2009 Sanjeev Premi <premi@ti.com> OMAP3: PM: CPUidle: Start C-state definitions from base 0

The current definition of C-states starts from base 1.
Whereas, the cpuidle driver uses base 0. This patch
eliminates need for explicit mapping (add/ sbutract)
due to different base values.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
06d8f065b3bac1673825be744d22742ad72f9c2a 13-Mar-2009 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP3: PM: CPUidle: Add new lower-latency C1 state

This patch introduces a new C state which allows MPU to go to WFI but keeps
the core domain active. This offers a much better wakeup latency (3us vs
10s of us for the current C1) at the cost of a higher power consumption.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
0343371e22dcfec9291193ad3e771dbce3a93670 26-Sep-2008 Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com> OMAP3: PM: CPUidle: fix init sequencing

Previously omap3_idle_init() was called in device_init, while
omap_pm_init() is called at late_initcall. This causes the cpu idle
driver to call omap_sram_idle before it is properly initialized. This
patch fixes the issue by moving omap3_idle_init into omap3_pm_init.

Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
m.h
m34xx.c
0f724ed92b0ad152a03b7a194815787eeeec17a4 29-Oct-2008 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: CPUidle: check activity for C2, C3, correct accounting

Use the activity check for states C2 and C3 as well. This is
primarily to prevent deeper states during UART activity.

Also, if a different state is chosen than the target state, update the
'last_state' accordingly so that CPUidle state accounting is coorect.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
c98e223006ffd4c5e4cd0f75c5a10bd2b45508d5 29-Oct-2008 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: CPUidle: obey enable_off_mode flag

If 'enable_off_mode' is not set, force powerdomain states to RET
instead of OFF.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
20b01669885483ba2102d5a71c662bb6ae1bed0b 08-Oct-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: CPUidle: support retention and off-mode C-states

This patch adds support and enables state C4(MPU RET + CORE RET)
and MPU OFF states (C3 and C5.)

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
puidle34xx.c
m.h
m34xx.c
99e6a4d22f7c7bda0cd8978333c2e85fba02f181 08-Oct-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: CPUidle: base driver and support for C1-C2

Basic CPUidle driver for OMAP3 with deepest sleep state supported
being MPU CSWR.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
puidle34xx.c
m.h
m34xx.c
f265dc4c5d39f2bd369d97c87a7bd89061b159d4 09-Jun-2009 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: Program SDRC to send self refresh on timeout of AUTO_CNT

Due to an OMAP3 errata (1.142), on HS/EMU devices SDRC should be
programed to issue automatic self refresh on timeout
of AUTO_CNT = 1 prior to any transition to OFF mode.
This is needed only on sil rev's ES3.0 and above.

This patch enables the above needed WA in the SDRC power register
value stored in scratchpad, so that ROM code restores this value
in SDRC POWER on the wakeup path.
The original SDRC POWER register value is stored and restored back
in omap_sram_idle() function.

This fixes some random crashes observed while stressing suspend
on HS/EMU devices.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ontrol.c
m34xx.c
3a7ec26bb44988051d97479f6dfcfd4942a99049 26-Mar-2009 Kalle Jokiniemi <kalle.jokiniemi@digia.com> OMAP3: PM: Enable IO-CHAIN wakeup

OMAP 3430 ES3.1 chips have a separate bit for IO daisy-chain
wake up enabling. It needs to be enabled when entering
retention or off state, otherwise waking up might not work
in all situations.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
rm-regbits-34xx.h
c16c3f672defb7aca1276065375fe1ee5ca003dc 11-Dec-2008 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: MPU and CORE should stay awake if there is CAM domain ACTIVE

MPU and CORE should stay awake if there is CAM domain ACTIVE. This is
because that module doesn't have wake-up capability.

This should replace the patch that is currently in the PM branch.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
ecf157d0b38953cdefa2c8fb7ccb5a62db242aef 01-Dec-2008 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: Prevent PER from going OFF when CORE is going INA

OMAP3 can't generate wakeups in this state, thus it is not permitted.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
658ce97ef57f4c0737bfcb76050400b53389ed6b 05-Nov-2008 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: decouple PER and CORE context save and restore

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
d7814e4df6e9c54680a30de3f439c66a2a55ce94 06-Oct-2009 Kevin Hilman <khilman@deeprootsystems.com> PM debug: allow configurable wakeup from suspend on OMAP GPtimer

Using debugfs, export a configurable wakeup timer to be used to
wakeup system from suspend.

If a non-zero value is written to
/debug/pm_debug/wakeup_timer_seconds, A timer wakeup event will wake
the system and resume after the configured number of seconds.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
m.h
m34xx.c
imer-gp.c
c40552bc82166adb21a1a7fcb1dc4e76352b1b79 06-Oct-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM debug: allow runtime toggle of PM features

Allow enable/disable of low-power states during idle. To
enable low-power idle:

echo 1 > /debug/pm_debug/sleep_while_idle

to disable:

echo 0 > /debug/pm_debug/sleep_while_idle

Also allow enable/disable of OFF-mode. To enable:

echo 1 > /debug/pm_debug/enable_off_mode

to disable:

echo 0 > /debug/pm_debug/enable_off_mode

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
m.h
m34xx.c
erial.c
89139dce8a0060d97a46cebde570a8f55c314712 16-Jan-2009 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP3: PM: Wait for SDRC ready iso a blind delay

This patch improves the wakeup SRAM code polling the SDRC to become ready
instead of just waiting for a fixed amount of time.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
leep34xx.S
867d320b6c30d2478358eafeca0e1a6c60cf06c3 23-Apr-2009 Kalle Jokiniemi <kalle.jokiniemi@digia.com> PM: Disable usb host HW save and restore

The hardware SAVEANDRESTORE mechanism seems to leave
USB HOST power domain permanently into active state
after one transition from off to active state.
Disabling for now.

Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
owerdomains34xx.h
2329e7cc0de3de499d0a0f4e2f73c8f02acbc117 12-Mar-2009 Aaro Koskinen <Aaro.Koskinen@nokia.com> OMAP3: PM: Fix INTC context save/restore

Wrong index was used for ILR.

Signed-off-by: Aaro Koskinen <Aaro.Koskinen@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
rq.c
0795a75a369b931150074a14473f024359b7f25c 13-Oct-2008 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: SDRC auto-refresh workaround for off-mode

Errata: ES3.0, ES3.1 SDRC not sending auto-refresh when OMAP wakes-up
from OFF mode

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ontrol.c
leep34xx.S
692ec4abb96174c0e4b3aef6d2b71f36a4a14c8b 09-Mar-2009 Juha Yrjola <juha.yrjola@solidboot.com> OMAP: Store reboot mode in scratchpad on OMAP34xx

The reboot mode can be communicated to a bootloader (or the
kernel itself) with a scratchpad register. This functionality
is especially useful, if userspace is allowed to change
the reboot mode.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
rcm.c
cb0cb2b815bf073dc0211ab224682a6caf6c89ce 12-May-2009 Kalle Jokiniemi <kalle.jokiniemi@digia.com> OMAP3: PM: Fix PLL_MOD CLKEN offset in scratchpad

The CM_CLKEN_PLL register saved in scratchpad memory
was wrongly using offset of 0x0004 instead of 0x0000.

The effect of this was that boot ROM code would
restore the wrong value when waking up from off mode.
This wrong value, however, will be overwritten by
prcm context restore. Still, a short period of wrong
clock settings in CM_CLKEN_PLL remained between ROM
code and prcm context restore. This is fixed by the
patch.

Problem reported by: Jouni Hogander <jouni.hogander@nokia.com>

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ontrol.c
8a917d2fc80b7c45ce0146ff134168646274a9bd 13-May-2009 Kalle Jokiniemi <kalle.jokiniemi@digia.com> ARM: OMAP: SMS: save/restore of SMS_SYSCONFIG for off-mode

The SMS_SYSCONFIG register gets reset in off mode, added a
save/restore mechanism for that.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
drc.c
ba50ea7eb9ce663511013b35608cf0753c9ab674 26-Mar-2009 Kalle Jokiniemi <kalle.jokiniemi@digia.com> OMAP3: PM: Fix secure SRAM context save/restore

The secure sram context save uses dma channels 0 and 1.
In order to avoid collision between kernel DMA transfers and
ROM code dma transfers, we need to reserve DMA channels 0
1 on high security devices.

A bug in ROM code leaves dma irq status bits uncleared.
Hence those irq status bits need to be cleared when restoring
DMA context after off mode.

There was also a faulty parameter given to PPA in the secure
ram context save assembly code, which caused interrupts to
be enabled during secure ram context save. This caused the
save to fail sometimes, which resulted the saved context
to be corrupted, but also left DMA channels in secure mode.
The secure mode DMA channels caused "DMA secure error with
device 0" errors to be displayed.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
leep34xx.S
133464dc30846282b5f852433d7b6a31f292f886 05-Feb-2009 Jouni Hogander <jouni.hogander@nokia.com> OMAP3: PM: Save and restore also CM_CLKSEL1_PLL_IVA2

CM_CLKSEL1_PLL_IVA2 is not saved/restored currently. This patch is
adding save and restore for it.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
rcm.c
13a6fe0f6adf62bf73be055322197507761d160a 13-Oct-2008 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: Enable SDRAM auto-refresh during sleep

Fix for ES3.0 bug: SDRC not sending auto-refresh when OMAP wakes-up
from OFF mode (warning for HS devices.)

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
9d97140bd0c5da55f174a81dafd2bbef135f5748 12-Dec-2008 Tero Kristo <tero.kristo@nokia.com> OMAP3: PM: save secure RAM only during init

The function omap3_save_secure_ram() is now called only once during
the initialization of the device and consequent sleep cycles will
re-use the same saved contents for secure RAM. Users who need secure
services should do secure RAM saving before entering off-mode, if a
secure service has been accessed after last save.

There are both latency and reliability issues with saving secure RAM
context in the idle path. The context save uses a hardware resource
which takes an order of hundreds of milliseconds to initialize after a
wake up from off-mode, and also there is no way of checking whether it
is ready from kernel side or not. It just crashes if you use it too
quickly

Additional fix to ensure scratchpad save is done after secure
RAM by Roger Quadros.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
27d59a4a2def42307349079f2e3538d96934c379 13-Oct-2008 Tero Kristo <tero.kristo@nokia.com> OMAP3 PM: off-mode support for HS/EMU devices

For HS/EMU devices, some additional resources need to be
saved/restored for off-mode support. Namely, saving the secure RAM
and a pointer to it in the scratchpad.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ontrol.c
m.h
m34xx.c
leep34xx.S
f2d1185824fd3ed631f3164daeff59d0b4e55d79 28-Aug-2008 Tero Kristo <tero.kristo@nokia.com> OMAP: PM: DMA context save/restore for off-mode support

For HS/EMU devices, these additional features are also used:

- DMA interrupt disable routine added
- Added DMA controller reset to DMA context restore

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
2f5939c3ec9440a9c3a0baf4d0e1b2cc043aad46 26-Sep-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: CORE domain off-mode support

Add context save and restore for CORE powerdomain resources in order
to support off-mode.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
61255ab9e853ddbbe092328c30921d2ba9434134 26-Sep-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: MPU off-mode support

Adds a 'save_state' option when calling into SRAM idle function
and adds some minor cleanups of SRAM asm code.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
leep34xx.S
57f277b0122722ffa1de1b53aceb70646ce9a8e1 26-Sep-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: Restore MMU table entry

During the MMU restoration on the restore path from MPU OFF, the page
table entry for the page consisting of the code being executed is
modified to make MMU return VA=PA.

The MMU is then enabled and the original entry is being stored in
scratchpad. This patch reads the original values stored in
scratchpad, and restores them back.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
fa3c2a4fc99fd7f8c245020303d7e11feadbbac9 26-Sep-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: handle PER/NEON/CORE in idle

Expand the powerdomains handled in the idle path to include PER, NEON
and CORE. This includes properly clearing the previous powerstates,
linking NEON state to MPU state and calling the UART prepare functions
for only the appropraite powerdomain transitions (CORE for UART1,2,
PER for UART3.)

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
3231fc889c114870ca830041fcdeb5d4745304cf 26-Sep-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: restore SRAM functions after off-mode.

Generalize the copy of SRAM functions into omap_push_sram_idle()
so it can be used on init but also after off-mode transitions.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
c96631e13888e9be3a80aae291ed671d4d573ec9 26-Sep-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: SCM context save/restore

Add context save and restore for the System Control Module to suport
off-mode.

ETK and debobs definitions added by Peter De Schrijver.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ontrol.c
8014078684377257e3a83ac45db95711929850c5 26-Sep-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: Populate scratchpad contents

This patch populates the scratchpad contents as expected by the
bootROM code.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ontrol.c
c171a2586161c623253186c394ca456947ec6a66 26-Sep-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: PRCM context save/restore

Add context save and restore for PRCM module to support off-mode.
Additional registers (CM_CLKSEL4, CM_CLKEN, CM_CLKEN2) added by Tero
Kristo.

Missing CM_CLKEN_PLL_IVA2 register added by Kalle Jokiniemi.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
rcm.c
0addd61bc2028842bdcbd92c622d1110fc29c5a3 26-Sep-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: INTC context save/restore

Add context save and restore for the INTC module to support off-mode.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
rq.c
a2d3e7bad82dcfb67924849e2063238a1ae51b6e 26-Sep-2008 Rajendra Nayak <rnayak@ti.com> OMAP3: PM: GPMC context save/restore

This patch adds the context save and restore functions for GPMC to
enable off-mode.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
pmc.c
e9840dc00468c4d2ca63b9f80038533d0f931d16 11-Nov-2009 Jarkko Nikula <jhnikula@gmail.com> omap3: beagle: Fix USB host port power control

The host port power is enabled by driving the nEN_USB_PWR low as stated in
the comment. This fix is originally from Steve Sakoman <steve@sakoman.com>.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
24de042ca4faa5dc1811d7b6a8b6eefd97ed7577 11-Nov-2009 Grazvydas Ignotas <notasas@gmail.com> omap3: pandora: Fix keypad keymap

The original TWL4030 keypad driver from linux-omap used KEY()
macro defined as (col, row), but while it was merged upstream
it was changed to use matrix keypad infrastructure, which uses
(row, col) format. Update the keymap in board file to match
layout of mainline driver.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
6d1352420901b0a74e6149a891ff4457f7199651 11-Nov-2009 Tobias Klauser <tklauser@distanz.ch> omap: Use resource_size

Use the resource_size function instead of manually calculating the
resource size. This reduces the chance of introducing off-by-one errors
and actually fixes one in mailbox.c.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
ailbox.c
774facda20d2f8f0f61fa312d8028dad18ac5ee4 11-Nov-2009 Tony Lindgren <tony@atomide.com> Merge branch '7xx-iosplit-plat' with omap-fixes
0969afcc449d5d655784c04e938cf4cfc6e89c0e 10-Nov-2009 Mark Brown <broonie@opensource.wolfsonmicro.com> Merge branch 'twl4030-mfd' into for-2.6.33
953e2f3d272db9db6671ad4f4244820557a71cf7 04-Nov-2009 Peter Ujfalusi <peter.ujfalusi@nokia.com> OMAP: Configure audio_mclk for twl4030-codec MFD

audio_mclk value is going to be handled by the
twl4030-codec MFD driver, configure the correct
value for boards, which is using the twl4030 audio.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
oard-3430sdp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-zoom2.c
330f28f691e9b349e34adcaf82b273cf061bb491 06-Nov-2009 Mark Brown <broonie@opensource.wolfsonmicro.com> Merge branch 'for-2.6.32' into for-2.6.33
f8d9aad96d0d7b57d0bf2e4de21fdda3a42f4449 22-Oct-2009 Peter Ujfalusi <peter.ujfalusi@nokia.com> OMAP: Platform support for twl4030_codec MFD

Add needed platform data for the twl4030_codec MFD on boards,
where the audio part of the twl4030 codec is used.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
oard-3430sdp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-zoom2.c
54341c9b741dc5646842fe47eccfc3b506c6dafa 22-Oct-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: Fix UART4 platform data on omap4

This patch removes the unnecessary UART4 platform which is under
data is wrong because of this

There is a separate platform structure for UART4

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-By: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
5b7815b5ca2c7b44ebaaa33c66a3068d6de27bce 22-Oct-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> omap4: Allow omap_serial_early_init() for OMAP4430 board

This patch enables omap_serial_early_init() function for OMAP4430
SDP. Without this the bootup would throw oops in omap_serial_init().

Note that the ifndef CONFIG_ARCH_OMAP4 is split into two sections
to enable omap_serial_early_init(). This ifndef cannot be removed
until omap4 clock framework is implemented.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-By: Tony Lindgren <tony@atomide.com>
Reviewed-By: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
o.c
b427f92f8cfca2787c18a77bef15cc8b13341774 22-Oct-2009 Kevin Hilman <khilman@deeprootsystems.com> omap3: PM: enable UART3 module wakeups

UART3 is in the PER powerdomain. If PER goes idle/inactive
independently of CORE, for UART3 to wakeup it must have its wakeup
enable bits setup in PM_WKEN_PER. This patch enables these bits.

The reason it works when PER and CORE work together is because when
CORE goes inactive/retention, the IOPAD wakeups are enabled and
trigger UART3 wakeup.

Without this patch, when the UART inactivity timer fires for UART3,
its clocks are disabled and it's unable to wakeup so will be unusable
until PER is awoken by another source.

Another way of testing is by keeping CORE on during suspend but
allowing PER to hit retention

# echo 3 > /debug/pm_debug/core_pwrdm/suspend

then enter suspend

# echo mem > /sys/power/state

Without this patch, UART3 will be unable to wakeup the system.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m34xx.c
d2fbf3451d338ac68c8a555207183647074f78a0 22-Oct-2009 Tony Lindgren <tony@atomide.com> omap2: Fix detection of n8x0

Otherwise the machine_is_nokia_n8*() does not work.

Signed-off-by: Tony Lindgren <tony@atomide.com>
config
6135434a54719c45fdc6add1ba4965dea89ab069 22-Oct-2009 Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> omap: Fix omap-keypad by restoring old keypad.h without breaking omap2 boards that use matrix_keypad

Only mach-omap2 boards are currently using matrix_keypad. Allow
mach-omap1 boards to use the old style keypad.h without breaking.

Created against linux-2.6.32-rc5.
Compile tested with omap_3430sdp_defconfig and rx51_defconfig.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-ldp.c
oard-omap3evm.c
oard-omap3pandora.c
oard-rx51-peripherals.c
oard-rx51.c
oard-zoom2.c
ce491cf85466c3377228c5a852ea627ec5136956 20-Oct-2009 Tony Lindgren <tony@atomide.com> omap: headers: Move remaining headers from include/mach to include/plat

Move the remaining headers under plat-omap/include/mach
to plat-omap/include/plat. Also search and replace the
files using these headers to include using the right path.

This was done with:

#!/bin/bash
mach_dir_old="arch/arm/plat-omap/include/mach"
plat_dir_new="arch/arm/plat-omap/include/plat"
headers=$(cd $mach_dir_old && ls *.h)
omap_dirs="arch/arm/*omap*/ \
drivers/video/omap \
sound/soc/omap"
other_files="drivers/leds/leds-ams-delta.c \
drivers/mfd/menelaus.c \
drivers/mfd/twl4030-core.c \
drivers/mtd/nand/ams-delta.c"

for header in $headers; do
old="#include <mach\/$header"
new="#include <plat\/$header"
for dir in $omap_dirs; do
find $dir -type f -name \*.[chS] | \
xargs sed -i "s/$old/$new/"
done
find drivers/ -type f -name \*omap*.[chS] | \
xargs sed -i "s/$old/$new/"
for file in $other_files; do
sed -i "s/$old/$new/" $file
done
done

for header in $(ls $mach_dir_old/*.h); do
git mv $header $plat_dir_new/
done

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-4430sdp.c
oard-apollon.c
oard-generic.c
oard-h4.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-rx51-peripherals.c
oard-rx51.c
oard-zoom-debugboard.c
oard-zoom2.c
lock.c
lock.h
lock24xx.c
lock34xx.c
lock34xx.h
lockdomain.c
lockdomains.h
ontrol.c
evices.c
pmc-onenand.c
pmc-smc91x.c
pmc.c
d.c
nclude/mach/entry-macro.S
o.c
ommu2.c
ailbox.c
cbsp.c
mc-twl4030.c
ux.c
map-smp.c
map3-iommu.c
map_hwmod.c
map_hwmod_2420.h
map_hwmod_2430.h
map_hwmod_34xx.h
m-debug.c
m.h
m24xx.c
m34xx.c
owerdomain.c
owerdomains.h
owerdomains24xx.h
owerdomains34xx.h
rcm.c
dram-micron-mt46h32m32lf-6.h
dram-qimonda-hyb18m512160af-6.h
drc.c
drc.h
drc2xxx.c
erial.c
leep24xx.S
leep34xx.S
imer-gp.c
sb-musb.c
sb-tusb6010.c
3eff851b9dc1e84aa0822772e0be9afb0c973585 20-Oct-2009 Tony Lindgren <tony@atomide.com> omap: headers: Create headers necessary for compile under mach-omap1 and mach-omap2

Create the headers needed for compiling under
mach-omap1/include/mach and mach-omap2/include/mach.

This was done with the following script:

#!/bin/bash
mach_files="clkdev.h gpio.h hardware.h io.h irqs.h memory.h \
smp.h system.h timex.h uncompress.h vmalloc.h"
omaps="mach-omap1 mach-omap2"

mach_dir_old="arch/arm/plat-omap/include/mach"
plat_dir_new="arch/arm/plat-omap/include/plat"

mkdir -p $plat_dir_new
git add $plat_dir_new

for dir in $omaps; do
mach_dir_new="arch/arm/$dir/include/mach"
for header in $mach_files; do
file="$mach_dir_new/$header"
if [ ! -f $file ]; then
echo -ne "/*\n * $file\n */\n\n#include <plat/$header>\n" > $file
git add $file
if [ ! -f $plat_dir_new/$header ]; then
git mv $mach_dir_old/$header $plat_dir_new/$header
fi
fi
done
done

Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/clkdev.h
nclude/mach/gpio.h
nclude/mach/hardware.h
nclude/mach/io.h
nclude/mach/irqs.h
nclude/mach/memory.h
nclude/mach/smp.h
nclude/mach/system.h
nclude/mach/timex.h
nclude/mach/uncompress.h
72464dbae2749dd57bc2b3cd57d4fc6ba7abca37 20-Oct-2009 Tony Lindgren <tony@atomide.com> omap: Split vmalloc.h for mach-omap1 and mach-omap2

Earlier patch "omap: Remap L3, L4 to get more kernel io address space"
changed the VMALLOC_END.

However, this change causes problems on mach-omap1:

BUG: mapping for 0xe0000000 at 0xe0000000 overlaps vmalloc space
BUG: mapping for 0xe1000000 at 0xe1000000 overlaps vmalloc space

Fix this by creating separate vmalloc.h files for mach-omap1
and mach-omap2.

Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/vmalloc.h
c97c686467420f6765c7bc5bdae2b2aca141068b 20-Oct-2009 Tony Lindgren <tony@atomide.com> omap: headers: Split entry-macro.S for mach-omap1 and mach-omap2

Split entry-macro.S for mach-omap1 and mach-omap2

Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/entry-macro.S
aca59b8922ad32e0555f78f99bcb31b5e24abe36 20-Oct-2009 Tony Lindgren <tony@atomide.com> omap: headers: Split debug-macro.S for mach-omap1 and mach-omap2

This also creates the include/mach subdirectories under
mach-omap1 and mach-omap2.

Signed-off-by: Tony Lindgren <tony@atomide.com>
nclude/mach/debug-macro.S
f5d2d659450f8e68675124b879e7de82600b77ba 20-Oct-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> omap: Add OMAP4 L3 and L4 peripherals.

This patch adds few necessary peripherals for OMAP4.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
b4224b236b0325ae678fa6b70bd3798dbd93a475 20-Oct-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> omap: Fix DEBUG_LL UART io address

This patch fixes the low level debug UART io address as per this series.
The change is essential to have CONFIG_DEBUG_LL working.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-4430sdp.c
oard-apollon.c
oard-generic.c
oard-h4.c
oard-ldp.c
oard-n8x0.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-rx51.c
oard-zoom2.c
233fd64e7f42a7b8e827ee02528474e0fabfebdc 20-Oct-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> omap: Split OMAP2_IO_ADDRESS to L3 and L4

This patch splits OMAP2_IO_ADDRESS to OMAP2_L3_IO_ADDRESS and
OMAP2_L4_IO_ADDRESS to reclaim more IO space.

The omap_read*() and omap_write*() functions will work only over
L4 address space. Current omap kernel stack uses these functions
only to access registers over L4 io address space

Note that these macros should only be used when ioremap does
not work. Please use ioremap instead in all new code.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m.h
m-debug.c
rm.h
drc.h
ram242x.S
ram243x.S
e4e7a13af2007edf215ad1164fc8d94c366cb72c 20-Oct-2009 Tony Lindgren <tony@atomide.com> omap: Use ioremap for omap4 L4 code

Use ioremap for omap4 L4 code

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
map-smp.c
imer-gp.c
986a13f508156e1d041d59166beb2a3dec2ddfad 20-Oct-2009 Tony Lindgren <tony@atomide.com> omap: Use ioremap in omap_hwmod.c

Use ioremap in omap_hwmod.c

Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
map_hwmod.c
1b26fe868a7eb39df924f1173fb43a5c8d640822 20-Oct-2009 Tony Lindgren <tony@atomide.com> omap: Use ioremap in irq.c

Use ioremap in irq.c

Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
84f90c9cc81d8db172d4f768fc4010f508897366 16-Oct-2009 Tony Lindgren <tony@atomide.com> omap: Change low-level serial init to use ioremap

Change low-level serial init to use ioremap

Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
15605236740c38b51d67faf060851bfdc5c6b5fc 15-Oct-2009 Tony Lindgren <tony@atomide.com> Merge branch '2_6_32rc4_fixes' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus
a7f20b2695eb6a00a5464089bacf75b8ed64725e 15-Oct-2009 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: set up clockdomain pointer in struct clk

clock24xx.c is missing a omap2_init_clk_clkdm() in its
omap2_clk_init() function. Among other bad effects, this causes the
OMAP hwmod layer to oops on boot.

Thanks to Carlos Aguiar <carlos.aguiar@indt.org.br> and Stefano
Panella <Stefano.Panella@csr.com> for reporting this bug. Thanks to Tony
Lindgren <tony@atomide.com> for N800 booting advice.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Carlos Aguiar <carlos.aguiar@indt.org.br>
Cc: Stefano Panella <Stefano.Panella@csr.com>
Cc: Tony Lindgren <tony@atomide.com>
lock24xx.c
a0219fbdacc01e039d1b158d16141349a3309915 15-Oct-2009 Kalle Jokiniemi <kalle.jokiniemi@digia.com> OMAP: Fix race condition with autodeps

There is a possible race condition in clockdomain
code handling hw supported idle transitions.

When multiple autodeps dependencies are being added
or removed, a transition of still remaining dependent
powerdomain can result in false readings of the
state counter. This is especially fatal for off mode
state counter, as it could result in a driver not
noticing a context loss.

Fixed by disabling hw supported state transitions
when autodeps are being changed.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lockdomain.c
02563a5d56ac1d3978118c8498ae301d68ef7942 14-Oct-2009 Teerth Reddy <teerth@ti.com> omap: Initialization of SDRC params on Zoom2

This patch initializes the correct SDRC settings required
for DVFS on Zoom2.

Signed-off-by: Teerth Reddy <teerth@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom2.c
cb3cc45ad9e55f673c336ad9d013dcdc3a84390b 14-Oct-2009 Aaro Koskinen <Aaro.Koskinen@nokia.com> omap: RX-51: Drop I2C-1 speed to 2200

The I2C-1 bus frequency on RX-51 should be 2.2 MHz. The speed is limited
by TWL5030/GAIA; a higher speed could lead to errors on the interface. The
maximum speed depends on the system clock for GAIA: 2.2 MHz (if 19.2 MHz),
2.4 MHz (26 MHz) or 2.9 MHz (38.4 MHz).

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
baf4974e496957681403d4bf74a3274ed3f85277 09-Oct-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: i8042 - print debug data when testing AUX IRQ delivery
Input: libps2 - fix dependancy on i8042
Input: fix rx51 board keymap
Input: ad7879 - pass up error codes from probe functions
Input: xpad - add BigBen Interactive XBOX 360 Controller
Input: rotary_encoder - fix relative axis support
Input: sparkspkr - move remove() functions to .devexit.text
Input: wistron_btns - add DMI entry for Medion WIM2030 laptop
ab8d64d7d4ea49cf664ca5562263a8ba78f4541e 06-Oct-2009 Tony Lindgren <tony@atomide.com> Merge branch 'pm-fixes-32' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-fixes-for-linus
acf442dc560437858e6a4c904678052616f8226e 06-Oct-2009 Amit Kucheria <amit.kucheria@verdurent.com> Input: fix rx51 board keymap

The original driver was written with the KEY() macro defined as (col,
row) instead of (row, col) as defined by the matrix keypad
infrastructure. So the keymap was defined accordingly. Since the
driver that was merged upstream uses the matrix keypad infrastructure,
modify the keymap accordingly.

While we are at it, fix the comments in twl4030.h and define
PERSISTENT_KEY as (r,c) instead of (c, r)

Tested on a RX51 (N900) device.

Signed-off-by: Amit Kucheria <amit.kucheria@verdurent.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
oard-rx51-peripherals.c
7a66a39b8599e09c82e2e95fec55f414ad015282 05-Oct-2009 Rajendra Nayak <rnayak@ti.com> omap: Lock DPLL5 at boot

Lock DPLL5 at 120MHz at boot. The USBHOST 120MHz f-clock and
USBTLL f-clock are the only users of this DPLL, and 120MHz is
is the only recommended rate for these clocks.

With this patch, the 60 MHz ULPI clock is generated correctly.

Tested on an OMAP3430 SDP.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.c
ee894b18e064447f86019af38a90ccb091880942 01-Oct-2009 Artem Bityutskiy <Artem.Bityutskiy@nokia.com> OMAP3: PM: introduce a new powerdomain walk helper

The 'pwrdm_for_each()' function walks powerdomains with a spinlock
locked, so the the callbacks cannot do anything which may sleep.
This patch introduces a 'pwrdm_for_each_nolock()' helper which does
the same, but without the spinlock locked. This fixes the following
lockdep warning:

[ 0.000000] WARNING: at kernel/lockdep.c:2460 lockdep_trace_alloc+0xac/0xec()
[ 0.000000] Modules linked in:
(unwind_backtrace+0x0/0xdc) from [<c0045464>] (warn_slowpath_common+0x48/0x60)
(warn_slowpath_common+0x48/0x60) from [<c0067dd4>] (lockdep_trace_alloc+0xac/0xec)
(lockdep_trace_alloc+0xac/0xec) from [<c009da14>] (kmem_cache_alloc+0x1c/0xd0)
(kmem_cache_alloc+0x1c/0xd0) from [<c00b21d8>] (d_alloc+0x1c/0x1a4)
(d_alloc+0x1c/0x1a4) from [<c00a887c>] (__lookup_hash+0xd8/0x118)
(__lookup_hash+0xd8/0x118) from [<c00a9f20>] (lookup_one_len+0x84/0x94)
(lookup_one_len+0x84/0x94) from [<c010d12c>] (debugfs_create_file+0x8c/0x20c)
(debugfs_create_file+0x8c/0x20c) from [<c010d320>] (debugfs_create_dir+0x1c/0x20)
(debugfs_create_dir+0x1c/0x20) from [<c000e8cc>] (pwrdms_setup+0x60/0x90)
(pwrdms_setup+0x60/0x90) from [<c002e010>] (pwrdm_for_each+0x30/0x80)
(pwrdm_for_each+0x30/0x80) from [<c000e79c>] (pm_dbg_init+0x7c/0x14c)
(pm_dbg_init+0x7c/0x14c) from [<c00232b4>] (do_one_initcall+0x5c/0x1b8)
(do_one_initcall+0x5c/0x1b8) from [<c00083f8>] (kernel_init+0x90/0x10c)
(kernel_init+0x90/0x10c) from [<c00242c4>] (kernel_thread_exit+0x0/0x8)

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
owerdomain.c
eb350f74ebff9573641c5fb689fb071b695ef35b 10-Sep-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: Enable GPIO module-level wakeups

Currently, only GPIOs in the wakeup domain (GPIOs in bank 0) are
enabled as wakups. This patch also enables GPIOs in the PER
powerdomain (banks 2-6) to be used as possible wakeup sources.

In addition, this patch ensures that all GPIO wakeups can wakeup
the MPU using the PM_MPUGRPSEL_<pwrdm> registers.

NOTE: this doesn't enable the individual GPIOs as wakeups, this simply
enables the per-bank wakeups at the powerdomain level.

This problem was discovered by Mike Chan when preventing the CORE
powerdomain from going into retention/off. When CORE was allowed to
hit retention, GPIO wakeups via IO pad were working fine, but when
CORE remained on, GPIO module-level wakeups were not working properly.

To test, prevent CORE from going inactive/retention/off, thus
preventing the IO chain from being armed:

# echo 3 > /debug/pm_debug/core_pwrdm/suspend

This ensures that GPIO wakeups happen via module-level wakeups and
not via IO pad.

Tested on 3430SDP using the touchscreen GPIO (gpio 2, in WKUP)
Tested on Zoom2 using the QUART interrup GPIO (gpio 102, in PER)

Also, c.f. OMAP PM wiki for troubleshooting GPIO wakeup issues:
http://elinux.org/OMAP_Power_Management

Reported-by: Mike Chan <mikechan@google.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
71a807757394205cdb1465d68a4f0be50fd6f04b 18-Jul-2009 Vikram Pandita <vikram.pandita@ti.com> OMAP3: PM: USBHOST: clear wakeup events on both hosts

USBHOST module has 2 fclocks (for HOST1 and HOST2), only one iclock
and only a single bit in the WKST register to indicate a wakeup event.

Because of the single WKST bit, we cannot know whether a wakeup event
was on HOST1 or HOST2, so enable both fclocks before clearing the
wakeup event to ensure both hosts can properly clear the event.

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
8cb0ac999f253212bb01cd3c0d686489ec5911ad 22-Jul-2009 Paul Walmsley <paul@pwsan.com> OMAP3: PM: PRCM interrupt: only handle selected PRCM interrupts

Clearing wakeup sources is now only done when the PRM indicates a
wakeup source interrupt. Since we don't handle any other types of
PRCM interrupts right now, warn if we get any other type of PRCM
interrupt. Either code needs to be added to the PRCM interrupt
handler to react to these, or these other interrupts should be masked
off at init.

Updated after Jon Hunter's PRCM IRQ rework by Kevin Hilman.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
5d80597801ff0d7e6b184504c04e9c1b3b61d16d 22-Jul-2009 Paul Walmsley <paul@pwsan.com> OMAP3: PM: PRCM interrupt: check MPUGRPSEL register

PM_WKST register contents should be ANDed with the contents of the
MPUGRPSEL registers. Otherwise the MPU PRCM interrupt handler could
wind up clearing wakeup events meant for the IVA PRCM interrupt
handler. A future revision to this code should be to read a cached
version of MPUGRPSEL from the powerdomain code, since PRM reads are
relatively slow.

Updated after Jon Hunter's PRCM IRQ change by Kevin Hilman

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
77da2d910a17e1e6a7e949578723d5aab58568d5 27-Jun-2009 Jon Hunter <jon-hunter@ti.com> OMAP3: PM: Prevent hang in prcm_interrupt_handler

There are two scenarios where a race condition could result in a hang
in the prcm_interrupt handler. These are:

1). Waiting for PRM_IRQSTATUS_MPU register to clear.
Bit 0 of the PRM_IRQSTATUS_MPU register indicates that a wake-up event
is pending for the MPU. This bit can only be cleared if the all the
wake-up events latched in the various PM_WKST_x registers have been
cleared. If a wake-up event occurred during the processing of the prcm
interrupt handler, after the corresponding PM_WKST_x register was
checked but before the PRM_IRQSTATUS_MPU was cleared, then the CPU
would be stuck forever waiting for bit 0 in PRM_IRQSTATUS_MPU to be
cleared.

2). Waiting for the PM_WKST_x register to clear.
Some power domains have more than one wake-up source. The PM_WKST_x
registers indicate the source of a wake-up event and need to be cleared
after a wake-up event occurs. When the PM_WKST_x registers are read and
before they are cleared, it is possible that another wake-up event
could occur causing another bit to be set in one of the PM_WKST_x
registers. If this did occur after reading a PM_WKST_x register then
the CPU would miss this event and get stuck forever in a loop waiting
for that PM_WKST_x register to clear.

This patch address the above race conditions that would result in a
hang.

Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
055c49d285a151ccb91d63bac6d8621be3db5c93 28-Sep-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap: Fix wrong condition check in while loop for mailbox and iommu2

It's worked fine so far since reset is done for the first time.

Reported-by: Juha Leppanen <juha_motorsportcom@luukku.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Juha Leppanen <juha_motorsportcom@luukku.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ommu2.c
ailbox.c
44e74840d668d23b65e22772828e2600641b6ab0 25-Sep-2009 Jarkko Nikula <jhnikula@gmail.com> omap: Fix MMC gpio_wp for BeagleBoard C2 and above

Earlier BeagleBoards were using pad AH8 muxed to GPIO29 for MMC write-protect.
However, this signal has been changed to pad AG9 in board revision C2.

Fix this by adding mux configuration for pad AG9, runtime check for board
revisions and set the gpio number and pad muxing accordingly.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
ux.c
4f5433324d1e29cf234d5b1b14782c0fc2948298 25-Sep-2009 Tony Lindgren <tony@atomide.com> omap: Fix matrix_keymap_data usage

Otherwise we'll get compile errors like:

arch/arm/plat-omap/include/mach/keypad.h:38:1: warning: "KEY" redefined
arch/arm/plat-omap/include/mach/keypad.h:39:1: warning: "PERSISTENT_KEY" redefined
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
oard-ldp.c
oard-omap3evm.c
oard-omap3pandora.c
oard-rx51-peripherals.c
oard-zoom2.c
8828880d09e4466ad6b357a31fdd242594c7b111 25-Sep-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap: mailbox: Flush posted write when acking mailbox irq

The only way to flush posted write to L4 bus is to do a read back
of the same register right after the write.

This seems to be mostly needed in interrupt handlers to avoid
causing spurious interrupts.

The earlier fix has been to mark the L4 bus as strongly ordered
memory, which solves the problem, but causes performance penalties.

Similar to the fix, 03803a71041e3bc3c077f4e7b92f6ceaa9426df3

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
1ffe627dcfce820b316ee520c58fca54550a18ee 25-Sep-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap: mailbox: Execute softreset at startup

The softreset at startup is introduced as TRM describes and also some
register bit definitions are added instead of magic number.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
41a03c539c6e3cc772fc15a827ea2aa040c9848d 25-Sep-2009 Ajay Kumar Gupta <ajay.gupta@ti.com> omap: Add missing mux pin for EHCI phy reset line

GPIO135 is used as EHCI (port2) phy reset pin on Multi Media Daughter card
connected to OMAP3EVM.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
61f04ee83c768c556168b09d71f0dc87b4a6090a 25-Sep-2009 Tony Lindgren <tony@atomide.com> omap: Fix 44xx compile

Looks like these patches were not tested that well..

Signed-off-by: Tony Lindgren <tony@atomide.com>
m4xxx.c
o.c
erial.c
af41a12f09cf78498f63d5cd726d604739671001 25-Sep-2009 Tony Lindgren <tony@atomide.com> omap: Fix mcspi compile for 2420

Commit 7869c0b9ed44404bbc675ef76f8ccb3be5496f39 added support for
additional McSPI ports. Unfortunately that broke compile for 2420.

Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
5328ae3af18b16df758df1bcb28fb5e1ad56d97a 25-Sep-2009 Tony Lindgren <tony@atomide.com> omap: Fix compile for arch/arm/mach-omap2

Patch 941132606c7611246d2034cb7b01f9270c2d1ede split IO_ADDRESS
into OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS except for the omap4
code to avoid merge conflicts with the omap4 code that was queued
earlier.

Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
a7c367b95a9d8e65e0f0e7da31f700a556794efb 23-Sep-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge git://git.infradead.org/mtd-2.6

* git://git.infradead.org/mtd-2.6: (58 commits)
mtd: jedec_probe: add PSD4256G6V id
mtd: OneNand support for Nomadik 8815 SoC (on NHK8815 board)
mtd: nand: driver for Nomadik 8815 SoC (on NHK8815 board)
m25p80: Add Spansion S25FL129P serial flashes
jffs2: Use SLAB_HWCACHE_ALIGN for jffs2_raw_{dirent,inode} slabs
mtd: sh_flctl: register sh_flctl using platform_driver_probe()
mtd: nand: txx9ndfmc: transfer 512 byte at a time if possible
mtd: nand: fix tmio_nand ecc correction
mtd: nand: add __nand_correct_data helper function
mtd: cfi_cmdset_0002: add 0xFF intolerance for M29W128G
mtd: inftl: fix fold chain block number
mtd: jedec: fix compilation problem with I28F640C3B definition
mtd: nand: fix ECC Correction bug for SMC ordering for NDFC driver
mtd: ofpart: Check availability of reg property instead of name property
driver/Makefile: Initialize "mtd" and "spi" before "net"
mtd: omap: adding DMA mode support in nand prefetch/post-write
mtd: omap: add support for nand prefetch-read and post-write
mtd: add nand support for w90p910 (v2)
mtd: maps: add mtd-ram support to physmap_of
mtd: pxa3xx_nand: add single-bit error corrections reporting
...
7869c0b9ed44404bbc675ef76f8ccb3be5496f39 23-Sep-2009 Syed Rafiuddin <rafiuddin.syed@ti.com> spi: McSPI support for OMAP4

tAdd adds McSPI support for OMAP4430 SDP platform. All the base addresses
are changed between OMAP1/2/3 and OMAP4. The fields of the resource
structures are filled at runtime to have McSPI support on OMAP4.

Signed-off-by: Syed Rafiuddin <rafiuddin.syed@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
evices.c
82cf818d54f0a415a031eabd0949a81946445198 23-Sep-2009 kishore kadiyala <kishore.kadiyala@ti.com> omap4: mmc driver support on OMAP4

Add basic support for all 5 MMC controllers on OMAP4.

This patch doesn't include mmc-regulator support

Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Acked-by: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Russell King <linux@arm.linux.org.uk>
Acked-by: Tony Lindgren <tony@atomide.com>
Cc: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Cc: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
evices.c
5e763d2968148efafc352748b0ed598b1a695dad 23-Sep-2009 Adrian Hunter <adrian.hunter@nokia.com> ARM: OMAP: RX51: set MMC capabilities and power-saving flag

Specify MMC capabilities and set the power-saving flag for RX51.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: Matt Fleming <matt@console-pimps.org>
Cc: Ian Molton <ian@mnementh.co.uk>
Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Cc: Denis Karpov <ext-denis.2.karpov@nokia.com>
Cc: Pierre Ossman <pierre@ossman.eu>
Cc: Philip Langdale <philipl@overt.org>
Cc: "Madhusudhan" <madhu.cr@ti.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
oard-rx51-peripherals.c
9b7c18e070d59ba0acfdb936fd613dfa1d2a4e7d 23-Sep-2009 Adrian Hunter <adrian.hunter@nokia.com> ARM: OMAP: mmc-twl4030: add regulator sleep / wake function

Add the ability for the driver to put the card power regulators to sleep
and wake them up again.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: Matt Fleming <matt@console-pimps.org>
Cc: Ian Molton <ian@mnementh.co.uk>
Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Cc: Denis Karpov <ext-denis.2.karpov@nokia.com>
Cc: Pierre Ossman <pierre@ossman.eu>
Cc: Philip Langdale <philipl@overt.org>
Cc: "Madhusudhan" <madhu.cr@ti.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mc-twl4030.c
dd498effcfa6a196ba097adae3c5aa641115df88 23-Sep-2009 Denis Karpov <ext-denis.2.karpov@nokia.com> omap_hsmmc: support for deeper power saving states

Support for multi-level dynamic power saving states in omap_hsmmc
(ENABLED->DISABLED->OFF). In the "deepest" state (OFF) we switch off the
voltage regulators.

Signed-off-by: Denis Karpov <ext-denis.2.karpov@nokia.com>
Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: Matt Fleming <matt@console-pimps.org>
Cc: Ian Molton <ian@mnementh.co.uk>
Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Cc: Denis Karpov <ext-denis.2.karpov@nokia.com>
Cc: Pierre Ossman <pierre@ossman.eu>
Cc: Philip Langdale <philipl@overt.org>
Cc: "Madhusudhan" <madhu.cr@ti.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mc-twl4030.c
mc-twl4030.h
23d99bb923fc23aeb1086d60eb1c70602b4e2036 23-Sep-2009 Adrian Hunter <adrian.hunter@nokia.com> omap_hsmmc: make use of new MMC_CAP_NONREMOVABLE host capability

Let the board specify that a card is nonremovable e.g. eMMC

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: Matt Fleming <matt@console-pimps.org>
Cc: Ian Molton <ian@mnementh.co.uk>
Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Cc: Denis Karpov <ext-denis.2.karpov@nokia.com>
Cc: Pierre Ossman <pierre@ossman.eu>
Cc: Philip Langdale <philipl@overt.org>
Cc: "Madhusudhan" <madhu.cr@ti.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mc-twl4030.c
mc-twl4030.h
1887bde391a3216789c9a03ac111d5f6ebfb0c00 23-Sep-2009 Denis Karpov <ext-denis.2.karpov@nokia.com> ARM: OMAP: mmc-twl4030: add context loss counter support

PM dynamic OFF state results in context loss. That is, the host
controller has been powered off at some point, which means the registers
have been reset. The driver must detect when this happens, and restore
the context. This patch adds the means to detect context loss.

Note, the PM side is not yet implemented.

Signed-off-by: Denis Karpov <ext-denis.2.karpov@nokia.com>
Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: Matt Fleming <matt@console-pimps.org>
Cc: Ian Molton <ian@mnementh.co.uk>
Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Cc: Denis Karpov <ext-denis.2.karpov@nokia.com>
Cc: Pierre Ossman <pierre@ossman.eu>
Cc: Philip Langdale <philipl@overt.org>
Cc: "Madhusudhan" <madhu.cr@ti.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mc-twl4030.c
6469f540ea37d53db089c8fea9c0c77a3d9353d4 20-Sep-2009 David Woodhouse <David.Woodhouse@intel.com> Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6

Conflicts:
drivers/mtd/mtdcore.c

Merged in order that I can apply the Nomadik nand/onenand support patches.
59e9c5ae17179fe561103fbe0808fac5976ca1bd 13-Jul-2009 vimal singh <vimalsingh@ti.com> mtd: omap: add support for nand prefetch-read and post-write

This patch adds prefetch support to access nand flash in mpu mode.
This patch also adds 8-bit nand support (omap_read/write_buf8).
Prefetch can be used for both 8- and 16-bit devices.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
pmc.c
778dbcc1ebea6f9a560020110987449bf4607e5f 18-Sep-2009 Magnus Damm <damm@igel.co.jp> mtd: onenand: make onenand/generic.c more generic

Remove the ARM dependency from the generic "onenand" platform device
driver. This change makes the driver useful for other architectures as
well. Needed for the SuperH kfr2r09 board.

Apart from the obvious Kconfig bits, the most important change is the move
away from ARM specific includes and platform data. Together with this
change the only in-tree board code gets an update, and the driver name is
also changed gracefully break potential out of tree drivers.

The driver is also updated to allow NULL as platform data together with a
few changes to make use of resource_size() and dev_name().

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kyungmin Park <kmpark@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
oard-apollon.c
6f130478e24d810078c3f0ee292bcc4ec034dcce 18-Sep-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6

* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (55 commits)
regulator: Voltage count for AB3100
mfd: Convert WM8350 to use request_threaded_irq()
mfd: Update MAINTAINERS patterns for WM831x
mfd: Fix twl4030-power warnings
regulator: AB3100 support
rtc: AB3100 RTC support
mfd: Fix ab3100-otp build failure
mfd: OMAP: Board-specifc twl4030 DPS scripts for RX51 board
mfd: Print warning for twl4030 out-of-order script loading
mfd: Add support for TWL4030/5030 dynamic power switching
mfd: AB3100 OTP readout
regulator: Add Freescale MC13783 driver
mfd: Add Freescale MC13783 driver
mfd: AB3100 disable irq nosync
mfd: AB3100 alter default setting
mfd: AB3100 propagate error
mfd: AB3100 accessor function cleanups
rtc: Add support for RTCs on Wolfson WM831x devices
regulator: get pcap data from the parent device
input: PCAP2 misc input driver
...
73c583e4e2dd0fbbf2fafe0cc57ff75314fe72df 18-Sep-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6

* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (47 commits)
OMAP clock: use debugfs_remove_recursive() for rewinding
OMAP2/3/4 core: create omap_device layer
OMAP: omap_hwmod: call omap_hwmod init at boot; create interconnects
OMAP2/3/4: create omap_hwmod layer
OMAP2/3 board-*.c files: read bootloader configuration earlier
OMAP2/3/4 PRCM: add module IDLEST wait code
OMAP2/3 PM: create the OMAP PM interface and add a default OMAP PM no-op layer
OMAP3 clock: remove superfluous calls to omap2_init_clk_clkdm
OMAP clock: associate MPU clocks with the mpu_clkdm
OMAP3 clock: Fixed processing of bootarg 'mpurate'
OMAP: SDRC: Add several new register definitions
OMAP: powerdomain: Fix overflow when doing powerdomain deps lookups.
OMAP: PM: Added suspend target state control to debugfs for OMAP3
OMAP: PM debug: Add PRCM register dump support
OMAP: PM debug: make powerdomains use PM-debug counters
OMAP: PM: Add pm-debug counters
OMAP: PM: Add closures to clkdm_for_each and pwrdm_for_each.
OMAP: PM: Hook into PM counters
OMAP: PM counter infrastructure.
OMAP3: PM: fix lockdep warning caused by omap3_pm_init
...
9312fffbad5661a0ad52b5ca5a04875c763a35fa 27-Aug-2009 Amit Kucheria <amit.kucheria@verdurent.com> mfd: OMAP: Board-specifc twl4030 DPS scripts for RX51 board

Add support for Dynamic Power Switching (DPS) for the RX51 board.

These scripts are still a work-in-progress. I'll keep sending patches to
update the scripts as they are optimised.

Signed-off-by: Amit Kucheria <amit.kucheria@verdurent.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
oard-rx51-peripherals.c
2ca7d674d7ab2220707b2ada0b690c0e7c95e7ac 15-Sep-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (257 commits)
[ARM] Update mach-types
ARM: 5636/1: Move vendor enum to AMBA include
ARM: Fix pfn_valid() for sparse memory
[ARM] orion5x: Add LaCie NAS 2Big Network support
[ARM] pxa/sharpsl_pm: zaurus c3000 aka spitz: fix resume
ARM: 5686/1: at91: Correct AC97 reset line in at91sam9263ek board
ARM: 5640/1: This patch modifies the support of AC97 on the at91sam9263 ek board
ARM: 5689/1: Update default config of HP Jornada 700-series machines
ARM: 5691/1: fix cache aliasing issues between kmap() and kmap_atomic() with highmem
ARM: 5688/1: ks8695_serial: disable_irq() lockup
ARM: 5687/1: fix an oops with highmem
ARM: 5684/1: Add nuc960 platform to w90x900
ARM: 5683/1: Add nuc950 platform to w90x900
ARM: 5682/1: Add cpu.c and dev.c and modify some files of w90p910 platform
ARM: 5626/1: add suspend/resume functions to amba-pl011 serial driver
ARM: 5625/1: fix hard coded 4K resource size in amba bus detection
MMC: MMCI: convert realview MMC to use gpiolib
ARM: 5685/1: Make MMCI driver compile without gpiolib
ARM: implement highpte
ARM: Show FIQ in /proc/interrupts on CONFIG_FIQ
...

Fix up trivial conflict in arch/arm/kernel/signal.c.

It was due to the TIF_NOTIFY_RESUME addition in commit d0420c83f ("KEYS:
Extend TIF_NOTIFY_RESUME to (almost) all architectures") and follow-ups.
87d721ad7a37b7650dd710c88dd5c6a5bf9fe996 12-Sep-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'master' into devel
ddd559b13f6d2fe3ad68c4b3f5235fd3c2eae4e3 12-Sep-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'devel-stable' into devel

Conflicts:
MAINTAINERS
arch/arm/mm/fault.c
e0b3032bcdf1419d97de636d5fb1c9469da75776 10-Sep-2009 Takashi Iwai <tiwai@suse.de> Merge branch 'topic/asoc' into for-linus

* topic/asoc: (226 commits)
ASoC: au1x: PSC-AC97 bugfixes
ASoC: Fix WM835x Out4 capture enumeration
ASoC: Remove unuused hw_read_t
ASoC: fix pxa2xx-ac97.c breakage
ASoC: Fully specify DC servo bits to update in wm_hubs
ASoC: Debugged improper setting of PLL fields in WM8580 driver
ASoC: new board driver to connect bfin-5xx with ad1836 codec
ASoC: OMAP: Add functionality to set CLKR and FSR sources in McBSP DAI
ASoC: davinci: i2c device creation moved into board files
ASoC: Don't reconfigure WM8350 FLL if not needed
ASoC: Fix s3c-i2s-v2 build
ASoC: Make platform data optional for TLV320AIC3x
ASoC: Add S3C24xx dependencies for Simtec machines
ASoC: SDP3430: Fix TWL GPIO6 pin mux request
ASoC: S3C platform: Fix s3c2410_dma_started() called at improper time
ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop
ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DAI
OMAP: McBSP: Use textual values in DMA operating mode sysfs files
ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510
ASoC: Select core DMA when building for S3C64xx
...
1f685b36dbf27db55072fb738aac57aaf37d2c71 03-Sep-2009 Tony Lindgren <tony@atomide.com> Merge branch '2_6_32_for_next' of git://git.pwsan.com/linux-2.6 into for-next
02bfc030e4417003b7a94393102c92e39b2dfa65 03-Sep-2009 Paul Walmsley <paul@pwsan.com> OMAP: omap_hwmod: call omap_hwmod init at boot; create interconnects

Connect the omap_hwmod code to the kernel boot. Create some basic
interconnect and device structures for OMAP2/3 chips.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
o.c
map_hwmod.c
map_hwmod_2420.h
map_hwmod_2430.h
map_hwmod_34xx.h
63c852384125ca0eff0e695f92cbbd439bed4aa3 03-Sep-2009 Paul Walmsley <paul@pwsan.com> OMAP2/3/4: create omap_hwmod layer

OMAP SoCs can be considered a collection of hardware IP blocks
connected by various interconnects. The bus topology and device
integration data is somewhat more complex than platform_device can
encode. This patch creates code and structures to manage information
about OMAP on-chip devices ("hardware modules") and their integration
to the rest of the chip. Hardware module data is intended to be
generated dynamically from the TI hardware database for the OMAP4
chips and beyond, easing Linux support for new chip variants.

This code currently:

- resets and configures all hardware modules upon startup, reducing bootloader
dependencies;

- provides hooks for Linux driver model code to enable, idle, and shutdown
hardware modules (forthcoming patch);

- waits for hardware modules to leave idle once their clocks
are enabled and OCP_SYSCONFIG bits are set appropriately.

- provides a means to pass arbitrary IP block configuration data (e.g.,
FIFO size) to the device driver (via the dev_attr void pointer)

In the future this code is intended to:

- estimate interconnect bandwidth and latency characteristics to
ensure constraints are satisfied during DVFS

- provide *GRPSEL bit data to the powerdomain code

- handle pin/ball muxing for devices

- generate IO mapping information dynamically

- supply device firewall configuration data

- provide hardware module data to other on-chip coprocessor software

- allow the removal of the "disable unused clocks" code in the OMAP2/3
clock code

This patch represents a collaborative effort involving many people from TI,
Nokia, and the Linux-OMAP community.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Sakari Poussa <sakari.poussa@nokia.com>
Cc: Anand Sawant <sawant@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Eric Thomas <ethomas@ti.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
akefile
map_hwmod.c
b3c6df3ab2b17cd7ddf927d39a64f235b25ac8d4 03-Sep-2009 Paul Walmsley <paul@pwsan.com> OMAP2/3 board-*.c files: read bootloader configuration earlier

Most board-*.c files read configuration data from the bootloader in
their .init_machine() function. This needs to happen earlier, at some
point before omap2_init_common_hw() is called. This is because a
future patch will use the bootloader serial console port information
to enable the UART clocks earlier, immediately after omap2_clk_init().
This is in turn necessary since otherwise clock tree usecounts on
clocks like dpll4_m2x2_ck will be bogus, which can cause the
currently-active console UART clock to be disabled during boot.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
oard-2430sdp.c
oard-3430sdp.c
oard-apollon.c
oard-generic.c
oard-h4.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-rx51.c
oard-zoom2.c
o.c
erial.c
71348bcaac6f4c372525d4d62e88a82a7330435b 03-Sep-2009 Paul Walmsley <paul@pwsan.com> OMAP2/3/4 PRCM: add module IDLEST wait code

After a hardware module's clocks are enabled, Linux must wait for it
to indicate readiness via its IDLEST bit before attempting to access
the device, otherwise register accesses to the device may trigger an
abort. This has traditionally been implemented in the clock
framework, but this is the wrong place for it: the clock framework
doesn't know which module clocks must be enabled for a module to leave
idle; and if a module is not in smart-idle mode, it may never leave
idle at all. This type of information is best stored in a
per-hardware module data structure (coming in a following patch),
rather than a per-clock data structure. The new code will use these new
functions to handle waiting for modules to enable.

Once hardware module data is filled in for all of the on-chip devices,
the clock framework code to handle IDLEST waiting can be removed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
akefile
m.c
m.h
m4xxx.c
c0407a96d04794be586eab4a412320079446cf93 03-Sep-2009 Paul Walmsley <paul@pwsan.com> OMAP2/3 PM: create the OMAP PM interface and add a default OMAP PM no-op layer

The interface provides device drivers, CPUFreq, and DSPBridge with a
means of controlling OMAP power management parameters that are not yet
supported by the Linux PM PMQoS interface. Copious documentation is
in the patch in Documentation/arm/OMAP/omap_pm and the interface
header file, arch/arm/plat-omap/include/mach/omap-pm.h.

Thanks to Rajendra Nayak <rnayak@ti.com> for adding CORE (VDD2) OPP
support and moving the OPP table initialization earlier in the event
that the clock code needs them. Thanks to Tero Kristo
<tero.kristo@nokia.com> for fixing the parameter check in
omap_pm_set_min_bus_tput(). Jouni signed off on Tero's patch.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Igor Stoppa <igor.stoppa@nokia.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Anand Sawant <sawant@ti.com>
Cc: Sakari Poussa <sakari.poussa@nokia.com>
Cc: Veeramanikandan Raju <veera@ti.com>
Cc: Karthik Dasu <karthik-dp@ti.com>
o.c
08e3d5f28d4d696dc559898676019cbd36501025 03-Sep-2009 Paul Walmsley <paul@pwsan.com> OMAP3 clock: remove superfluous calls to omap2_init_clk_clkdm

omap2_init_clk_clkdm() is called as part of the chip architecture-specific
initialization code, so calling it again from the struct clk init pointer
just wastes cycles.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.h
19f4d3a90bf2815cb97b66e603b5e0311d234458 03-Sep-2009 Paul Walmsley <paul@pwsan.com> OMAP clock: associate MPU clocks with the mpu_clkdm

All MPU-related clocks should be in the mpu_clkdm. This is needed for the
upcoming omap_hwmod patches, which needs to know the clockdomain that arm_fck
is in.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.h
11b66383aa722a3321d2aeec09808c5b140ad396 03-Sep-2009 Sanjeev Premi <premi@ti.com> OMAP3 clock: Fixed processing of bootarg 'mpurate'

The argument 'mpurate' had no effect on the MPU
frequency. This patch fixes the same.

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.c
5d113262ee9e074e0d36362d878892819bfdeb47 03-Sep-2009 Paul Walmsley <paul@pwsan.com> OMAP: powerdomain: Fix overflow when doing powerdomain deps lookups.

At the end of the list pd is a pointer to a NULL struct, so checking
if the address == NULL doesn't help here. In fact the original code
will just keep running past the struct to read who knows what in
memory.

This case manifests itself when from clkdms_setup() when enabling auto
idle for a clock domain and the clockdomain usecount is greater than
0. When _clkdm_add_autodeps() tries to add the a dependency that does
not exist in the powerdomain->wkdep_srcs array the for loop will run
past the wkdep_srcs array.

Currently in linux-omap you won't hit this because the not found case
is never executed, unless you start modifying powerdomains and their
wakeup/sleep deps.

Signed-off-by: Mike Chan <mike@android.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
owerdomain.c
5567fa1f543dde3c42f8e52bf4f7005135b24896 03-Sep-2009 Tony Lindgren <tony@atomide.com> Merge branch 'pm-upstream/debug' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into for-next
68d4778c701b7e22ddfd64e3afb6628c92718ad2 25-Nov-2008 Tero Kristo <tero.kristo@nokia.com> OMAP: PM: Added suspend target state control to debugfs for OMAP3

Target state can be read / programmed via files under:
[debugfs]/pm_debug/[pwrdm]/suspend

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
m.h
m34xx.c
2811d6b3237c9b77007a6b2b10ee5b576da0574e 29-Oct-2008 Tero Kristo <tero.kristo@nokia.com> OMAP: PM debug: Add PRCM register dump support

Allows dumping out current register contents from the debug filesystem, and
also allows user to add arbitrary register save points into code. Current
register contents are available under debugfs at:

[debugfs]/pm_debug/registers/current

To add a save point, do following:

From module init (or somewhere before the save call, called only once):
pm_dbg_init_regset(n); // n=1..4, allocates memory for dump area #n

From arbitrary code location:
pm_dbg_regset_save(n); // n=1..4, saves registers to dump area #n

After this, the register dump can be seen under [debugfs]/pm_debug/registers/n

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
m.h
6199ab2690ca6f44f838603da079b3faa837e502 15-Oct-2008 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP: PM debug: make powerdomains use PM-debug counters

Make the powerdomain code call the new hook for updating the time.
Also implement the updated pwrdm_for_each.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
owerdomain.c
331b93f41dff21c8f95709032cb184fb82bf2003 15-Oct-2008 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP: PM: Add pm-debug counters

This patch provides the debugfs entries and a function which will be
called by the PM code to register the time spent per domain per
state. Also some new fields are added to the powerdomain struct to
keep the time information.

NOTE: As of v2.6.29, using getnstimeofday() after drivers are
suspended is no longer safe since the timekeeping subsystem is also
suspended as part of the suspend process. Instead use sched_clock()
which on OMAP returns the 32k SYNC timer in nanoseconds.

Also, do not print out status for meta powerdomains (dpll*)

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m-debug.c
m.h
a23456e9b02b3fae0fc78cb33fad69803a50e5bc 15-Oct-2008 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP: PM: Add closures to clkdm_for_each and pwrdm_for_each.

Add some infrastructure to easily iterate over clock and power
domains.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
lockdomain.c
m24xx.c
m34xx.c
fe617af716bc09cbbdd11ad820d5818017a9f481 15-Oct-2008 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP: PM: Hook into PM counters

This patch modifies the clock, clockdomain and OMAP3 specific
powerdomain code to call the PM counter infrastructure whenever one or
more powerdomains might have changed state.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
lock.c
lockdomain.c
m34xx.c
ba20bb126940ce4847e146a0d00b7f7b0868d773 15-Oct-2008 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP: PM counter infrastructure.

This patch provides the infrastructure to count how many times a
powerdomain entered a given power state (on, inactive, retention,
off). A number of functions are provided which will be called by the
chip specific powerdomain and clockdomain code whenever a transition
might have happened.

Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
lockdomain.c
owerdomain.c
d3d381c6365ef5b06c4184a3fe047cf027533970 22-Aug-2009 Ming Lei <tom.leiming@gmail.com> OMAP3: PM: fix lockdep warning caused by omap3_pm_init

This patch uses kmalloc(size,GFP_ATOMIC) instead of kmalloc(size,GFP_KERNEL)
to allocate memory for instance of struct power_state in pwrdms_setup(),
since it may be called by pwrdm_for_each() with irq disabled.

It is a easy fix for the following lockdep warning caused by
kmalloc(size,GFP_KERNEL) in pwrdms_setup():

Power Management for TI OMAP3.
------------[ cut here ]------------
WARNING: at kernel/lockdep.c:2282 lockdep_trace_alloc+0xe8/0xfc()
Modules linked in:
[<c0032ccc>] (unwind_backtrace+0x0/0xec) from [<c0056934>] (warn_slowpath_common+0x48/0x60)
[<c0056934>] (warn_slowpath_common+0x48/0x60) from [<c007da10>] (lockdep_trace_alloc+0xe8/0xfc)
[<c007da10>] (lockdep_trace_alloc+0xe8/0xfc) from [<c00cd9bc>] (kmem_cache_alloc+0x28/0x178)
[<c00cd9bc>] (kmem_cache_alloc+0x28/0x178) from [<c000f184>] (pwrdms_setup+0x30/0xf8)
[<c000f184>] (pwrdms_setup+0x30/0xf8) from [<c00381c4>] (pwrdm_for_each+0x64/0x84)
[<c00381c4>] (pwrdm_for_each+0x64/0x84) from [<c000ef60>] (omap3_pm_init+0x3f4/0x5ac)
[<c000ef60>] (omap3_pm_init+0x3f4/0x5ac) from [<c002c2c0>] (do_one_initcall+0x30/0x1d4)
[<c002c2c0>] (do_one_initcall+0x30/0x1d4) from [<c00088d8>] (kernel_init+0xa4/0x118)
[<c00088d8>] (kernel_init+0xa4/0x118) from [<c002ddf8>] (kernel_thread_exit+0x0/0x8)
---[ end trace 1e06f8d97dc5a19b ]---

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
2fcc81a38b699a81e47fdd655cf514c789576554 21-Aug-2009 Vikram Pandita <vikram.pandita@ti.com> OMAP: Zoom2: release debug board detect gpio line

Release the Dbg board detection gpio once its purpose is served

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-zoom-debugboard.c
5110b2980a1299f6c253260de385b0dc2b2308b0 24-Aug-2009 Reddy, Teerth <teerth@ti.com> OMAP3: PM: add T2 interrupt line mux setting, and enable on 3430SDP

This patch changes for setting the padconf value for sys_nirq line
which is connected to T2 INTR1. This will fix the T2 keypad wakeup
issue on OMAP3 SDP.

Signed-off-by: Teerth Reddy <teerth@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-3430sdp.c
ux.c
bbde6ebae6dacf2f6e6ac4ab28c1805a2d51c5e1 24-Aug-2009 Anand Gadiyar <gadiyar@ti.com> MUSB: Remove usb_musb_pm_init() call

In usb_musb_pm_init, we attempt to access an MUSB register
when the i-clock may not be on, or the module is otherwise
not accessible.

We need to either:
- enable the clock before this access, or
- remove this code and move it to the bootloader, or
- enable the clock in the bootloader

If we enable the clock in the bootloader, we might as well
add the workaround in the bootloader itself. This code will
anyway be changed once hwmod is in place, so remove it for now

This allows us to boot the kernel on certain OMAP3 boards with
a bootloader that doesn't enable this clock. Without this, we
will need to upgrade the bootloaders on these boards.

Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
sb-musb.c
24bcadb6508b7c0f7307749228841fe04af6d70f 21-Aug-2009 Vikram Pandita <vikram.pandita@ti.com> OMAP: Zoom2: update serial platform_data id for external UART

Now that on-chip UARTs each have separate platform_data, the external
UART needs an non-conflicting ID. Since there are 3 on-chip UARTs,
the Zoom2 external UART will be registered after as the fourth.

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-zoom-debugboard.c
aae290fb4d64e2b09b659f4b8a7f9d2547ef63b1 22-Aug-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Bypass the clock check.

Second reason of OMAP4 boot failure on 2.6.31.rc6, the UART
platform data is not getting registered to kernel.
Registration was failing because of clock check failure in
omap_serial_init().
Below patch fix the same.

OMAP4 clock framework patches are still getting discussed on mailing
list so till then we need this.

Signed-off-by: Syed Rafiuddin <rafiuddin.syed@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
0e3eaadfe3da84f98250ad8a2c36e87fe00e42ee 22-Aug-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Fix NULL pointer dereference crash.

After the patch series "[PATCH 00/14] OMAP PM fixes for .31-rc"
merge in 2.6.31-rc5, the kernel crashed during boot on OMAP4430.
This patch fixes it by adding UART4 support and related code.
Without this patch omap_serial_init() would produce " NULL pointer
dereference" and kernel crashes in the bootup on OMAP4430 platform.

Some more info on the merge issue can be found here.
More info- http://lkml.org/lkml/2009/8/20/192

Note: While merging this patch,"IO_ADDRESS" needs to be changed
to "OMAP2_IO_ADDRESS" if the Tony's below series is already merged in.
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg15072.html

Signed-off-by: Syed Rafiuddin <rafiuddin.syed@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
bd04e46558380aaba0caab6325c07a3c6bf27706 28-Aug-2009 Felipe Balbi <felipe.balbi@nokia.com> OMAP3: beagle: add missing twl4030 usb platform_data

without it twl4030_usb driver will not probe.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
70ac51ab2cd9ddc7ded24adbe63fc6fd3557e44c 28-Aug-2009 Vikram Pandita <vikram.pandita@ti.com> OMAP3: Zoom2: Add TWL4030 support

Add TWL4030 CORE and TWL4030 drivers to Zoom2 board file
TWL drivers enabled are:
bci
madc
usb
keypad
mmc

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom2.c
57b9daa0e18167e8ba449bc236c3f4a755dd1833 28-Aug-2009 Vikram Pandita <vikram.pandita@ti.com> OMAP3: MMC: Add mux for pins

For OMAP3 add MMC1 MMC2 pin mux MMC3 mux is not added as there are
multiple configurations possible, so the muxing is left to be done
in board file.

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Chikkature Rajashekar <madhu.cr@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
ux.c
c426df87d8197cde077d03c808f52e3a17045b09 28-Aug-2009 Vikram Pandita <vikram.pandita@ti.com> OMAP2/3: Pass irqflags to 8250 driver

Pass irqflags to 8250 driver with platform_data. At least Zoom2 has
IRQF_TRIGGER_RISING requirement for the 8250 GPIO irq.

This patch is dependent on 8250 driver changes getting accepted upstream:
http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=commit;h=7053133124d5cdf207c1168c7a0c582a18e12ea7

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-zoom-debugboard.c
erial.c
14e0e6796a0d460ac6f7727616161dc317bbbf3a 28-Aug-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> OMAP: iommu: add initial debugfs support

This enables to peek the following data.

$ /debug/iommu/isp# ls
mem nr_tlb_entries regs
mmap pagetable tlb
$ /debug/iommu/isp# head pagetable
L: da: pa:
-----------------------------------------
2: 00001000 8ae4a002
2: 00002000 8e7bb002
2: 00003000 8ae49002
2: 00004000 8ae65002
.....

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ommu2.c
6313881292c238190bc119404ae13f65c61b2daa 28-Aug-2009 Kalle Valo <kalle.valo@iki.fi> OMAP2: add board file for Nokia N800 and N810

Add board file for Nokia N800 and N810 devices. Currently only serial ports,
onenand and spi are configured, more to come later.

Tested on Nokia N800.

Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-n8x0.c
1b52d5df64bea12bed82dbc1c736638e77d1ce80 28-Aug-2009 Kalle Valo <kalle.valo@iki.fi> OMAP2: compile usb-tusb6010.c

For some reason usb-tusb6010.c was't compiled, add it to Makefile and
Kconfig. This is prepraration for upcoming n8x0 support.

Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
15ac408ee5a509053a765b816e9179515329369f 28-Aug-2009 Kalle Valo <kalle.valo@iki.fi> OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle

OMAP tags are deprecrated so drop them.

Drop UART config data which decides which UARTs to enable during boot.
This is no longer necessary since serial core code disables clocks
after inactivity.

Background: with new UART idle code, all on-chip UARTs are idled using
a configurable inactivity timer (default 5 seconds.) After the
inactivity timer, UART clocks are disabled automatically.

Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-3430sdp.c
oard-4430sdp.c
oard-apollon.c
oard-generic.c
oard-h4.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-rx51.c
oard-zoom2.c
erial.c
941132606c7611246d2034cb7b01f9270c2d1ede 28-Aug-2009 Tony Lindgren <tony@atomide.com> OMAP: Remove OMAP_IO_ADDRESS, use OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS instead

Search and replace OMAP_IO_ADDRESS with OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS,
and convert omap_read/write into a functions instead of a macros.

Also rename OMAP_MPUIO_VBASE to OMAP1_MPUIO_VBASE.

In the long run, most code should use ioremap + __raw_read/write instead.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-4430sdp.c
m.h
map-smp.c
m-debug.c
rm.h
drc.h
erial.c
ram242x.S
ram243x.S
imer-gp.c
7e4f943b725008272d5c50e676a89d642232a4e3 20-Aug-2009 Peter Ujfalusi <peter.ujfalusi@nokia.com> OMAP3: McBSP: Lower the maximum buffersize for McBSP1, 3, 4, 5

Do not allow applications to use the full buffer found on
McBSP1,3,4,5. Using the full buffer in threshold mode causes
the McBSP buffer to run dry, which can be observed as channels
are switching (in reality the channels are shifting).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
cbsp.c
a1a56f5faa41327116bf960a8e79f21a8ea35dce 20-Aug-2009 Eduardo Valentin <eduardo.valentin@nokia.com> OMAP: McBSP: Create and export max_(r|t)x_thres property

This patch export through sysfs two properties to configure
maximum threshold for transmission and reception on each
mcbsp instance. Also, it exports two helper functions to
allow mcbsp users to read this values.

Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
cbsp.c
96a4d1e23439e2356a105791bda95cc08d375b97 10-Aug-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'pm-upstream/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm
f40aac940aa83645ec2218ccce90cc1c6881b74c 10-Aug-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'omap_fixes_31' of git://git.pwsan.com/linux-2.6
7063c88c726a704e648ba36ca78baa630f8b7b0a 10-Aug-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
22833044fbe2764d44ae03f58508e671652ca186 10-Aug-2009 Roger Quadros <ext-roger.quadros@nokia.com> OMAP2/3: mmc-twl4030: Free up MMC regulators while cleaning up

twl_mmc_cleanup() must free up the regulators that were
allocated by twl_mmc_late_init().
This eliminates the below error when 'omap_hsmmc' module is
repeatedly loaded and unloaded.

"sysfs: cannot create duplicate filename '/devices/platform
/mmci-omap-hs.0/microamps_requested_vmmc'"

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
dfc27b34496923b5f552eb9cdf20468045114ada 10-Aug-2009 Roger Quadros <ext-roger.quadros@nokia.com> OMAP3: RX51: Define TWL4030 USB transceiver in board file

Add OTG transceiver to RX51 platform data to prevent kernel NULL pointer
dereference during MUSB initialisation.

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
5032902c331acc71956e47abd90d090181c5ef4a 10-Aug-2009 Sergio Aguirre <saaguirre@ti.com> OMAP3: Overo: Fix smsc911x platform device resource value

Fixes a wrong setting of resource parameter list in
SMSC911x platform driver data structure for Overo case.

This fixes folowing warning when compiling for Overo board:

warning: initialization from incompatible pointer type

Introduced since commit id:
commit 172ef275444efa12d834fb9d1b1acdac92db47f7
Author: Steve Sakoman <sakoman@gmail.com>
Date: Mon Feb 2 06:27:49 2009 +0000

ARM: Add SMSC911X support to Overo platform (V2)

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-overo.c
e8e2ff462dd92693f29eb848f42d3eb720390d59 29-Jul-2009 Gupta, Ajay Kumar <ajay.gupta@ti.com> USB: musb: fix the nop registration for OMAP3EVM

OMAP3EVM uses ISP1504 phy which doesn't require any programming and
thus has to use NOP otg transceiver.

Cleanups being done:
- Remove unwanted code in usb-musb.c file
- Register NOP in OMAP3EVM board file using
usb_nop_xceiv_register().
- Select NOP_USB_XCEIV for OMAP3EVM boards.
- Don't enable TWL4030_USB in omap3_evm_defconfig

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Eino-Ville Talvala <talvala@stanford.edu>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
oard-omap3evm.c
sb-musb.c
13efdbecc65ef6ec4028551fb223dea5c5e3143c 05-Aug-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'pm-upstream/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into devel-stable
6fd210a9cc398ecbff7bcdbe220651b73b654f56 20-Jul-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: Overo: add missing pen-down GPIO definition

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
oard-overo.c
6c5f80393b107b0c9e2a54b03b65d1880e706655 28-Oct-2008 Jouni Hogander <jouni.hogander@nokia.com> OMAP3: PM: Fix wrong sequence in suspend.

Powerdomain previous state is checked after restoring new states in
suspend. This patch fixes this problem.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
bcf396c48012a5e4c7ab77be5c40df10d6bdb8ad 01-Jul-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3/4: UART: allow in-order port traversal

Use list_add_tail() when adding discovered UART ports. This is so
traversal using list_for_each_entry() will traverse the list in the
order they were found.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
fd455ea899b5a14a8cdd276e15f3b47696526f92 27-Apr-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3/4: UART: Allow per-UART disabling wakeup for serial ports

This patch causes the OMAP uarts to honor the sysfs power/wakeup file
for IOPAD wakeups. Before the OMAP was always woken up from off mode
on a rs232 signal change. This patch also creates a different
platform device for each serial port so that the wakeup properties can
be control per port.

By default, IOPAD wakeups are enabled for each UART. To disable,

# echo disabled > /sys/devices/platform/serial8250.0/power/wakeup

Where serial8250.0 can be replaced by .1, or .2 to control the other
ports.

Original idea and original patch from Russ Dill <russ.dill@gmail.com>

Cc: Russ Dill <russ.dill@gmail.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
2466211e5debd205fc550d871fe0ab9b9a6d02ed 05-Mar-2009 Tero Kristo <tero.kristo@nokia.com> OMAP3: Fixed crash bug with serial + suspend

It was possible for an unhandled interrupt to occur if there was incoming
serial traffic during wakeup from suspend. This was caused by the code
in arch-arm/mach-omap2/serial.c keeping interrupt enabled all the time,
but not acking its interrupts. Applies on top of PM branch.

Use the PM begin/end hooks to ensure that the "serial idle" interrupts
are disabled during the suspend path. Also, since begin/end hooks are
now used, use the suspend_state that is passed in the begin hook instead
of the enter hook as per the platform_suspend_ops docs.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
erial.c
4789998a30d845d94a7595076d1392ffd5a9d39e 24-Jun-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP4: UART: cleanup special case IRQ handling

Streamline the OMAP4 special IRQ assignments by putting inside
normal init loop instead of having a separate loop.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
10f90ed2d727c0f344d910c02c9726d0481d9b00 24-Jun-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: Do not build suspend code if SUSPEND is not enabled

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
040fed059c34da5115790609f1a038fc9aec88d1 06-May-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: prevent module wakeups from waking IVA2

By default, prevent functional wakeups from inside a module from
waking up the IVA2. Let DSP Bridge code handle this when loaded.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
3a07ae30a0bfa93ff2b242acf670c6d8e2de35de 28-Apr-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: Clear pending PRCM reset flags on init

Any pending reset flags can prevent retention. Ensure they are all
cleared during boot.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
3a6667acf916b3e32be4682196882fc2ed0ec23e 27-Apr-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: Ensure PRCM interrupts are cleared at boot

Any pending PRCM interrupts can prevent retention. Ensure
they are cleared during boot.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
364dd47466ff7a7749bf037df4bf3b7aedbfe6f4 09-Jun-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: CM_REGADDR macros using wrong name

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.h
7cc515f74d2871daff106a17714bfd16bcb045ca 10-Jun-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3: PM: make PM __init calls static

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m.h
m24xx.c
m34xx.c
085b54d99b8ee999e7905b8f16e201e0da8ba369 28-Jul-2009 Syed Rafiuddin <rafiuddin.syed@ti.com> ARM: OMAP4: Add UART4 support

This patch adds UART4 support on OMAP4430 development platform.

Signed-off-by: Syed Rafiuddin <rafiuddin.syed@ti.com>
oard-4430sdp.c
erial.c
a5b92cc348299c20be215b9f4b50853ecfbf3864 28-Jul-2009 Syed Rafiuddin <rafiuddin.syed@ti.com> ARM: OMAP4: Add McBSP support

This patch creates McBSP support on OMAP4430 development platform. This patch
includes corresponding base address changes for OMAP4.

Signed-off-by: Syed Rafiuddin <rafiuddin.syed@ti.com>
cbsp.c
efda2b4c8a643290867d9f5816e36f71a5acee7d 08-Jul-2009 Jaswinder Singh Rajput <jaswinder@kernel.org> ARM: includecheck fix: mach-omap2/mcbsp.c

fix the following 'make includecheck' warning:

arch/arm/mach-omap2/mcbsp.c: mach/irqs.h is included more than once.

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
cbsp.c
3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2 25-Jul-2009 Paul Walmsley <paul@pwsan.com> OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB

Fix two bugs in the OMAP3 clock tree pertaining to the SSI, DSS,
USBHOST, and HSOTGUSB devices. These devices are both interconnect
initiators and targets. Without this patch, clk_enable()s on clocks for
these modules can be very high latency (potentially up to ~200
milliseconds) and message such as the following are generated:

Clock usbhost_48m_fck didn't enable in 100000 tries

Two bugs are fixed by this patch. First, OMAP hardware only supports
target CM_IDLEST register bits on ES2+ chips and beyond. ES1 chips
should not wait for these clocks to enable. So, split the appropriate
clocks into ES1 and ES2+ variants, so that kernels running on ES1
devices won't try to wait.

Second, the current heuristic in omap2_clk_dflt_find_idlest() will
fail for these clocks. It assumes that the CM_IDLEST bit to wait upon
is the same as the CM_*CLKEN bit, which is false[1]. Fix by
implementing custom clkops .find_idlest function pointers for the
appropriate clocks that return the correct slave IDLEST bit shift.

This was originally fixed in the linux-omap kernel during 2.6.29 in a
slightly different manner[2][3].

In the medium-term future, all of the module IDLEST code will
eventually be moved to the omap_hwmod code.

Problem reported by Jarkko Nikula <jhnikula@gmail.com>:

http://marc.info/?l=linux-omap&m=124306184903679&w=2

...

1. See for example 34xx TRM Revision P Table 4-213 and 4-217 (for the
DSS case).

2. http://www.spinics.net/lists/linux-omap/msg05512.html et seq.

3. http://lkml.indiana.edu/hypermail/linux/kernel/0901.3/01498.html


Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Jarkko Nikula <jhnikula@gmail.com>
lock34xx.c
lock34xx.h
3dc2197579089c5b74c7fba666c8ccf1a449afb4 25-Jul-2009 Paul Walmsley <paul@pwsan.com> OMAP2 clock: 2430 I2CHS uses non-standard CM_IDLEST register

OMAP2430 I2CHS CM_IDLEST bits are in CM_IDLEST1_CORE, but the CM_*CLKEN bits
are in CM_{I,F}CLKEN2_CORE [1]. Fix by implementing a custom clkops
.find_idlest function to return the correct slave IDLEST register.

...

1. OMAP2430 Multimedia Device Package-on-Package (POP) Silicon Revision 2.1
(Rev. V) Technical Reference Manual, tables 4-99 and 4-105.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock24xx.c
lock24xx.h
72350b29a4c0debfc27c2edbeed9b4ff3f935dd4 25-Jul-2009 Paul Walmsley <paul@pwsan.com> OMAP2/3 clock: split, rename omap2_wait_clock_ready()

Some OMAP2/3 hardware modules have CM_IDLEST attributes that are not
handled by the current omap2_wait_clock_ready() code. In preparation
for patches that fix the unusual devices, rename the function
omap2_wait_clock_ready() to omap2_wait_module_ready() and split it
into three parts:

1. A clkops-specific companion clock return function (by default,
omap2_clk_dflt_find_companion())

2. A clkops-specific CM_IDLEST register address and bit shift return
function (by default, omap2_clk_dflt_find_idlest())

3. Code to wait for the CM to indicate that the module is ready
(omap2_cm_wait_idlest())

Clocks can now specify their own custom find_companion() and find_idlest()
functions; used in subsequent patches.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.c
lock.h
rcm.c
df56556e571234cf26072cd58c01ac3520986b44 25-Jul-2009 Rajendra Nayak <rnayak@ti.com> OMAP3 SDRC: Move the clk stabilization delay to the right place

The clock stabilization delay post a M2 divider change is needed
even before a SDRC interface clock re-enable and not only before
jumping back to SDRAM.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
ram34xx.S
8ff120e5303e27e03aba7b774e86fd43eaf90376 25-Jul-2009 Rajendra Nayak <rnayak@ti.com> OMAP3 SDRC: Fix freeze when scaling CORE dpll to < 83Mhz

This patch fixes a bug in the CORE dpll scaling sequence which was
errouneously clearing some bits in the SDRC DLLA CTRL register and
hence causing a freeze. The issue was observed only on platforms
which scale CORE dpll to < 83Mhz and hence program the DLL in fixed
delay mode.

Issue reported by Limei Wang <E12499@motorola.com>, with debugging
assistance from Richard Woodruff <r-woodruff2@ti.com> and Girish
Ghongdemath <girishsg@ti.com>.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Cc: Limei Wang <E12499@motorola.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Girish Ghongdemath <girishsg@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
[paul@pwsan.com: updated patch description to include collaboration credits]
ram34xx.S
75f251e3d0803b028f3474fdc75be0994c377ab5 25-Jul-2009 Paul Walmsley <paul@pwsan.com> OMAP2/3 SDRC: don't set SDRC_POWER.PWDENA on boot

Stop setting SDRC_POWER.PWDENA on boot. There is a nasty erratum
(34xx erratum 1.150) that can cause memory corruption if PWDENA is
enabled.

Based originally on a patch from Samu P. Onkalo <samu.p.onkalo@nokia.com>.

Tested on BeagleBoard rev C2.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Samu P. Onkalo <samu.p.onkalo@nokia.com>
drc.c
ram34xx.S
9fb97412c3be5d0d1dd0e9d7c5268469e4c942aa 25-Jul-2009 Jean Pihet <jpihet@mvista.com> OMAP3: Setup MUX settings for SDRC CKE signals

This patches ensures the MUX settings are correct for the SDRC
CKE signals to SDRAM. This allows the self-refresh to work when
2 chip-selects are in use.

A warning is thrown away in case the initial muxing is incorrect,
in order to track faulty or old-dated bootloaders.
Note: The CONFIG_OMAP_MUX and CONFIG_OMAP_MUX_WARNINGS options
must be enabled for the mux code to have effect.

Signed-off-by: Jean Pihet <jpihet@mvista.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
oard-omap3beagle.c
oard-omap3pandora.c
oard-overo.c
oard-rx51.c
ux.c
58cda884ecc87dcce18d463b0c8bd928dae63ad8 25-Jul-2009 Jean Pihet <jpihet@mvista.com> OMAP3 SDRC: add support for 2 SDRAM chip selects

Some OMAP3 boards (Beagle Cx, Overo, RX51, Pandora) have 2
SDRAM parts connected to the SDRC.

This patch adds the following:
- add a new argument of type omap_sdrc_params struct*
to omap2_init_common_hw and omap2_sdrc_init for the 2nd CS params
- adapted the OMAP boards files to the new prototype of
omap2_init_common_hw
- add the SDRC 2nd CS registers offsets defines
- adapt the sram sleep code to configure the SDRC for the 2nd CS

Note: If the 2nd param to omap2_init_common_hw is NULL, then the
parameters are not programmed into the SDRC CS1 registers

Tested on 3430 SDP and Beagleboard rev C2 and B5, with
suspend/resume and frequency changes (cpufreq).

Signed-off-by: Jean Pihet <jpihet@mvista.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
oard-2430sdp.c
oard-3430sdp.c
oard-4430sdp.c
oard-apollon.c
oard-generic.c
oard-h4.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3evm.c
oard-omap3pandora.c
oard-overo.c
oard-rx51.c
oard-zoom2.c
lock34xx.c
o.c
drc.c
ram34xx.S
ee0049d49ad2556222a7b3127be2dae11982f7b3 11-Jul-2009 Huang Weiyi <weiyi.huang@gmail.com> [ARM] remove duplicated #include

Remove duplicated #include('s) in
arch/arm/mach-mx3/devices.c
arch/arm/mach-omap1/mcbsp.c
arch/arm/mach-omap2/mcbsp.c
arch/arm/plat-stmp3xxx/pinmux.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
cbsp.c
c8e6488f7b56d82453fc7d526118e9f1c2df133a 23-Jun-2009 Adrian Hunter <adrian.hunter@nokia.com> OMAP3: RX51: Use OneNAND sync read / write

Use OneNAND sync read / write

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
6d453e84b587f38e4197bb2c6a37296c4a80cbac 23-Jun-2009 Adrian Hunter <adrian.hunter@nokia.com> OMAP2/3: gpmc-onenand: correct use of async timings

Use async timings when sync timings are not requested.

Also ensure that OneNAND is in async mode when async
timings are used.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc-onenand.c
8e25ad964aac0bf6b30dd013303750089f819679 23-Jun-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3: Add omap_type() for determining GP/EMU/HS

The omap_type() function is added and returns the DEVICETYPE field of
the CONTROL_STATUS register. The result can be used for conditional
code based on whether device is GP (general purpose), EMU or
HS (high security). Also move the type defines so omap1 code
compile does not require ifdefs for sections using these defines.

This code is needed for the following fix to set the SRAM
size correctly for HS omaps. Also at least PM and watchdog
code will need this function.

Signed-off-by: Kevin Hilman <khilman@ti.deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
091a58af0ba1765d80b1e74382c7572baceb1bdc 23-Jun-2009 Roel Kluin <roel.kluin@gmail.com> OMAP2/3: omap mailbox: platform_get_irq() error ignored

platform_get_irq may return -ENXIO. but struct omap_mbox mbox_dsp_info.irq
is unsigned, so the error was not noticed.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
762ad3a476baa1831f732488e80960f4aa024393 23-Jun-2009 Grazvydas Ignotas <notasas@gmail.com> OMAP2/3: mmc-twl4030: use correct controller in twl_mmc23_set_power

twl_mmc23_set_power() has MMC2 twl_mmc_controller hardcoded in it, which
breaks MMC3. Find the right controller to use instead.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
312cec5d094a5d4e68434ace4c5cb55e4f8dfee5 20-Jun-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'omap-clock-for-next' of git://git.pwsan.com/linux-2.6 into devel
2687069f3ac297b820c58de7222e4d16adbca498 20-Jun-2009 Roel Kluin <roel.kluin@gmail.com> OMAP2 clock/powerdomain: off by 1 error in loop timeout comparisons

with while (i++ < MAX_CLOCK_ENABLE_WAIT); i can reach MAX_CLOCK_ENABLE_WAIT + 1
after the loop, so if (i == MAX_CLOCK_ENABLE_WAIT) that's still success.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.c
owerdomain.c
7b7bcefa35d62fec64c3615a6bef7866f34c7cc9 20-Jun-2009 Paul Walmsley <paul@pwsan.com> OMAP3 SDRC: set FIXEDDELAY when disabling SDRC DLL

Correspondence with the TI OMAP hardware team indicates that
SDRC_DLLA_CTRL.FIXEDDELAY should be initialized to 0x0f. This number
was apparently derived from process validation. This is only used
when the SDRC DLL is unlocked (e.g., SDRC clock frequency less than
83MHz).

Signed-off-by: Paul Walmsley <paul@pwsan.com>
ram34xx.S
3afec6332e1e7cf2d74e0bf08160a68f43a59073 20-Jun-2009 Tero Kristo <tero.kristo@nokia.com> OMAP3: Add support for DPLL3 divisor values higher than 2

Previously only 1 and 2 was supported. This is needed for DVFS VDD2 control.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
lock34xx.c
ram34xx.S
df14e4747aa58126a508ae26661c73d83127c831 20-Jun-2009 Paul Walmsley <paul@pwsan.com> OMAP3 SRAM: convert SRAM code to use macros rather than magic numbers

Convert omap3_sram_configure_core_dpll() to use macros rather than
magic numbers.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
ram34xx.S
4267b5d15269ea6b26736a2ccd4c213e63e547ab 20-Jun-2009 Paul Walmsley <paul@pwsan.com> OMAP3 SRAM: add more comments on the SRAM code

Clean up comments and copyrights on the CORE DPLL3 M2 divider change code.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
ram34xx.S
d0ba3922ae241a87d22a1c3ffad72b96fe993c9a 20-Jun-2009 Paul Walmsley <paul@pwsan.com> OMAP3 clock/SDRC: program SDRC_MR register during SDRC clock change

Program the SDRC_MR_0 register as well during SDRC clock changes.
This register allows selection of the memory CAS latency. Some SDRAM
chips, such as the Qimonda HYB18M512160AF6, have a lower CAS latency
at lower clock rates.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.c
ram34xx.S
c9812d042a21eb492a36cfabf9f41107f5ecee3d 20-Jun-2009 Paul Walmsley <paul@pwsan.com> OMAP3 clock: add a short delay when lowering CORE clk rate

When changing the SDRAM clock from 166MHz to 83MHz via the CORE DPLL M2
divider, add a short delay before returning to SDRAM to allow the SDRC
time to stabilize. Without this delay, the system is prone to random
panics upon re-entering SDRAM.

This time delay varies based on MPU frequency. At 500MHz MPU frequency at
room temperature, 64 loops seems to work okay; so add another 32 loops for
environmental and process variation.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.c
ram34xx.S
2f135eaf182761bb9a5cbd5138a447b0ad2a1fef 20-Jun-2009 Paul Walmsley <paul@pwsan.com> OMAP3 clock: initialize SDRC timings at kernel start

On the OMAP3, initialize SDRC timings when the kernel boots. This ensures
that the kernel is running with known, optimized SDRC timings, rather than
whatever was configured by the bootloader.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.c
o.c
6adb8f388ef2f23d4a81e1e42d15f22d62749a06 20-Jun-2009 Paul Walmsley <paul@pwsan.com> OMAP3 clock: remove wait for DPLL3 M2 clock to stabilize

The original CDP kernel that this code comes from waited for 0x800
loops after switching the CORE DPLL M2 divider. This does not appear
to be necessary.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
ram34xx.S
934f8be7b1020ad899bdba62842a5383e4c72aa8 28-Apr-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: SMP: Enable SMP support for OMAP4430

This patch enables SMP on OMAP4430 SDP platform.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
akefile
39e1d4c18f34190c739f765ae56bfaa9cbbc6fdb 28-Apr-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: SMP: Add mpu timer support for OMAP4430

This patch adds SMP platform specific parts for local(mpu) timer support
for OMAP4430 platform. Each Cortex-a9 core has it's own local timer in the
MPU domain. These timers are not in wakeup domain.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
imer-gp.c
imer-mpu.c
367cd31ee0cbc948fe3b83960b1dbf931e2eaa90 28-Apr-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: SMP: Add OMAP4430 SMP board files

This patch adds SMP platform files support for OMAP4430SDP. TI's OMAP4430
SOC is based on ARM Cortex-A9 SMP architecture. It's a dual core SOC
with GIC used for interrupt handling and SCU for cache coherency.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
map-headsmp.S
map-smp.c
949abd84cd54ff864efca9df822d1e02a56694ec 29-May-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel

Conflicts:
arch/arm/Makefile
42f1d2e06a25628ae4ceaadccc4fa67c7787e2b4 29-May-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci into devel
cd07ecc828486e5887113c7dc4d9f9022145811b 29-May-2009 Tony Lindgren <tony@atomide.com> Merge branch 'omap4' into for-next
4c50d22a0cf240918d53afbf9a8416a9d93aacee 29-May-2009 Tony Lindgren <tony@atomide.com> Merge branch 'omap3-boards' into for-next
970a724d9173526512ebd8be991a4cbe18b7aace 29-May-2009 Tony Lindgren <tony@atomide.com> Merge branch 'omap3-upstream' into for-next

Conflicts:
arch/arm/mach-omap2/serial.c
c81592ba1b012d555d0cb7ec711afda89c327469 29-May-2009 Tony Lindgren <tony@atomide.com> Merge branch 'omap-upstream' into for-next

Conflicts:
arch/arm/mach-omap2/Makefile
46ba0abfe1ac2bd9608d0fc9e914379be695aa5b 28-May-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Add support for 4430 SDP

This patch updates the Makefile and Kconfig entries for OMAP4. The OMAP4430 SDP
board file supports only minimal set of drivers.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-4430sdp.c
44169075e6eaa87bab6a296209d8d0610879b394 28-May-2009 Santosh Shilimkar <santosh.shilimkar@ti.com> ARM: OMAP4: Add minimal support for omap4

This patch adds the support for OMAP4. The platform and machine specific
headers and sources updated for OMAP4430 SDP platform.

OMAP4430 is Texas Instrument's SOC based on ARM Cortex-A9 SMP architecture.
It's a dual core SOC with GIC used for interrupt handling and SCU for cache
coherency.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
d.c
o.c
erial.c
imer-gp.c
7419045016e5002b3ccee72b28e41bf53dca68f2 28-May-2009 Grazvydas Ignotas <notasas@gmail.com> ARM: OMAP3: pandora: add support for mode devices

Add support for keypad, GPIO keys and LEDs. Also enable hardware
debounce feature for GPIO keys.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
53c5ec31e775d40e428a577de561211e11b08d74 28-May-2009 Syed Mohammed Khasim <khasim@ti.com> ARM: OMAP3: Add omap3 EVM support

Add omap3 EVM support

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-omap3evm.c
577145f45487b41b4d47eeaedb9d37e494f80715 28-May-2009 Vikram Pandita <vikram.pandita@ti.com> ARM: OMAP3: Add support for OMAP3 Zoom2 board

This patch creates the minimal OMAP3 Zoom2 board support.

Signed-off-by: Mikkel Christensen <mlc@ti.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-zoom-debugboard.c
oard-zoom2.c
f52eeee83d360d536cab1c0296eae0ec5f05e4dd 28-May-2009 Adrian Hunter <adrian.hunter@nokia.com> ARM: OMAP3: RX51: Connect VAUX3 to MMC2

Connect VAUX3 to MMC2

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51-peripherals.c
64f535a87ce103fae592f2cce0866b4a45903ed6 28-May-2009 Grazvydas Ignotas <notasas@gmail.com> ARM: OMAP3: pandora: setup regulator framework for MMC

Setup regulators for MMC1 and MMC2 to get those SD slots
working again.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
CC: David Brownell <david-b@pacbell.net>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
bb3b9d8eb97624956e7e3a9eba2c64576808b1dc 28-May-2009 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP3: Initialize regulators for Beagle and Overo

Initialize regulators for Beagle and Overo.

Patch is based on earlier patches posted to linux-omap mailing
list.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
oard-overo.c
b583f26d510ee1aef7348f38f1d959212f66b5e5 28-May-2009 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP3: mmc-twl4030 uses regulator framework

Decouple the HSMMC glue from the twl4030 as the only
regulator provider, using the regulator framework instead.
This makes the glue's "mmc-twl4030" name become a complete
misnomer ... this code could probably all migrate into the
HSMMC driver now.

Tested on 3430SDP (SD and low-voltage MMC) and Beagle (SD),
plus some other boards (including Overo) after they were
converted to set up MMC regulators properly.

Eventually all boards should just associate a regulator with
each MMC controller they use. In some cases (Overo MMC2 and
Pandora MMC3, at least) that would be a fixed-voltage regulator
with no real software control. As a temporary hack (pending
regulator-next updates to make the "fixed.c" regulator become
usable) there's a new ocr_mask field for those boards.

Patch updated with a fix for disabling vcc_aux by
Adrian Hunter <adrian.hunter@nokia.com>

Cc: Pierre Ossman <drzeus-list@drzeus.cx>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
mc-twl4030.h
4a899d5e93fd974952492cd4a09e98b209d1ad58 28-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP3: Initialize more devices for LDP

Based on an earlier patches by Stanley.Miao <stanley.miao@windriver.com>
and Nishant Kamat <nskamat@ti.com>.

Note that at the ads7846 support still needs support for vaux_control
for the touchscreen to work.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-ldp.c
49adf465d2448dc15866b2267df46ea2e1ccacf1 28-May-2009 Imre Deak <imre.deak@nokia.com> ARM: OMAP3: ZOOM MDK: Add FB support to board file

Based on an earlier patch by Stanley.Miao <stanley.miao@windriver.com>
with board-*.c changes split to avoid conflicts with other device updates.

Cc: linux-fbdev-devel@lists.sourceforge.net
Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Imre Deak <imre.deak@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-ldp.c
17a722caaef16835ab83f39046da1760cda8a578 28-May-2009 Paul Walmsley <paul@pwsan.com> ARM: OMAP3: SDRC: add timing data for Qimonda HYB18M512160AF-6

Add timing data for the Qimonda HYB18M512160AF-6 SDRAM chip, used on
the OMAP3430SDP boards.

Thanks to Rajendra Nayak <rnayak@ti.com> for his help identifying
the chip used on 3430SDP.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-3430sdp.c
dram-qimonda-hyb18m512160af-6.h
2e12bd7ef175c9dc55dc215823b62a2247865012 28-May-2009 Paul Walmsley <paul@pwsan.com> ARM: OMAP3: SDRC: add timing data for Micron MT46H32M32LF-6, v2

Add timing data for the Micron MT46H32M32LF-6 SDRAM chip, used on the
OMAP3 Beagle and EVM boards. Original timing data is from the Micron
datasheet PDF downloaded from:

http://download.micron.com/pdf/datasheets/dram/mobile/1gb_ddr_mobile_sdram_t48m.pdf

Thanks to Rajendra Nayak <rnayak@ti.com> for his help identifying
the chips used on Beagle & OMAP3EVM.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
oard-omap3pandora.c
oard-overo.c
dram-micron-mt46h32m32lf-6.h
2aa57be2d9e400f498cf0f0636069a81035e06b9 28-May-2009 Vikram Pandita <vikram.pandita@ti.com> ARM: OMAP2/3: Serial: Remove arch_initcall dependency

Move platform_device_register() for serial device to
omap_serial_init()

There is no need to have arch_initcall() dependency in serial
as already board files call the function omap_serial_init()

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
7d8e967f88006ba6bea7f998e9e6745c27b0b664 28-May-2009 Imre Deak <imre.deak@nokia.com> ARM: OMAP2: 2430SDP: Add FB support to board file

Based on an earlier patch by Hunyue Yau <hyau@mvista.com> with
board-*.c changes split to avoid conflicts with other device updates.

Cc: linux-fbdev-devel@lists.sourceforge.net
Signed-off-by: Hunyue Yau <hyau@mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Imre Deak <imre.deak@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
1a48e1575188d4023b3428b623caeefe8c599e79 28-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Add generic smc91x support when connected to GPMC

Convert the board-rx51 smc91x code to be generic and make
the boards to use it. This allows future recalculation of the
timings when the source clock gets scaled.

Also correct the rx51 interrupt to be IORESOURCE_IRQ_HIGHLEVEL.

Thanks to Paul Walmsley <paul@pwsan.com> for better GPMC timing
calculations.

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-2430sdp.c
oard-3430sdp.c
oard-rx51-peripherals.c
pmc-smc91x.c
aa62e90fe0700c037675926fff9f75b0b1c00d78 28-May-2009 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP2/3: Add generic onenand support when connected to GPMC

Add generic onenand support when connected to GPMC and make the
boards to use it.

The patch has been modified to make it more generic to support all
the boards with GPMC. The patch also remove unused prototype for
omap2_onenand_rephase(void).

Note that board-apollon.c is currently using the MTD_ONENAND_GENERIC
and setting the GPMC timings in the bootloader. Setting the GPMC
timings in the bootloader will not allow supporting frequency
scaling for the onenand source clock.

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-rx51-peripherals.c
pmc-onenand.c
d3fd3290c4d9f0e40d06fa3a1a8cf164d8cde801 06-May-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: prevent module wakeups from waking IVA2

By default, prevent functional wakeups from inside a module from
waking up the IVA2. Let DSP Bridge code handle this when loaded.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
rm.h
b1340d17d25f9a51acf003ba4742e77aefb32071 28-Apr-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: Clear pending PRCM reset flags on init

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
014c46db1c596299fc2c1d231cee30bb211035dc 27-Apr-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: Ensure PRCM interrupts are cleared at boot

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
94a3ef6f2888ae995a8d112e277ed8465a9457fb 19-Jan-2009 Peter 'p2' De Schrijver <peter.de-schrijver@nokia.com> OMAP3: PM: Ensure MUSB block can idle when driver not loaded

Otherwise, bootloaders may leave MUSB in a state which prevents
retention.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
sb-musb.c
01cbd4d11558e2e4c10f14bb8aecd799b22bca35 26-Nov-2008 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: D2D clockdomain supports SW supervised transitions

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
lockdomains.h
8111b221a275cbc974eba26059dc764680ded9a9 29-Apr-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: Add D2D clocks and auto-idle setup to PRCM init

Add D2D clocks (modem_fck, sad2d_ick, mad2d_ick) to clock framework
and ensure that auto-idle bits are set for these clocks during PRCM
init.

Also add omap3_d2d_idle() function called durint PRCM setup which
ensures D2D pins are MUX'd correctly to enable retention for
standalone (no-modem) devices.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
lock34xx.c
lock34xx.h
m-regbits-34xx.h
m34xx.c
ba87a9beae8b39894f55761f4aff5ae2ca624f81 09-Dec-2008 Jouni Hogander <jouni.hogander@nokia.com> OMAP: UART: Add sysfs interface for adjusting UART sleep timeout

This patch makes it possible to change uart sleep timeout. New sysfs
entry is added (/sys/devices/platform/serial8250.<uart>/sleep_timeout)
Writing zero will disable the timeout feature and prevent UART clocks
from being disabled.

Also default timeout is increased to 5 second to make serial console
more usable.

Original patch was written by Tero Kristo.

Cc: Tero Kristo <Tero.Kristo@nokia.com>
Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
erial.c
4af4016c53f52b26461b8030211f8427a58fa5ed 04-Feb-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: UART: disable clocks when idle and off-mode support

This patch allows the UART clocks to be disabled when the OMAP UARTs
are inactive, thus permitting the chip to hit retention in idle.
After the expiration of an activity timer, each UART is allowed to
disable its clocks so the system can enter retention. The activity
timer is (re)activated on any UART interrupt, UART wake event or any
IO pad wakeup. The actual disable of the UART clocks is done in the
'prepare_idle' hook called from the OMAP idle loop.

While the activity timer is active, the smart-idle mode of the UART is
also disabled. This is due to a "feature" of the UART module that
after a UART wakeup, the smart-idle mode may be entered before the
UART has communicated the interrupt, or upon TX, an idle mode may be
entered before the TX FIFOs are emptied.

Upon suspend, the 'prepare_suspend' hook cancels any pending activity
timers and allows the clocks to be disabled immediately.

In addition, upon disabling clocks the UART state is saved in case
of an off-mode transition while clocks are off.

Special thanks to Tero Kristo for the initial ideas and first versions
of UART idle support, and to Jouni Hogander for extra testing and
bugfixes.

Tested on OMAP3 (Beagle, RX51, SDP, EVM) and OMAP2 (n810)

Cc: Tero Kristo <tero.kristo@nokia.com>
Cc: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m24xx.c
m34xx.c
erial.c
1155e426b7365f7909f5a32612feff7361aa0f4c 25-Nov-2008 Kevin Hilman <khilman@deeprootsystems.com> OMAP3: PM: Force IVA2 into idle during bootup

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
m34xx.c
94434535bd36ca010a81e1199f954beef2c4de64 04-Feb-2009 Jouni Hogander <jouni.hogander@nokia.com> OMAP: Add new function to check wether there is irq pending

Add common omap2/3 function to check wether there is irq pending.
Switch to use it in omap2 pm code instead of its own.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
rq.c
m24xx.c
8bd229492209c0c7d050e2f9a600c12f035d72f7 28-May-2009 Kevin Hilman <khilman@deeprootsystems.com> OMAP2/3: PM: push core PM code from linux-omap

This patch is to sync the core linux-omap PM code with mainline. This
code has evolved and been used for a while the linux-omap tree, but
the attempt here is to finally get this into mainline.

Following this will be a series of patches from the 'PM branch' of the
linux-omap tree to add full PM hardware support from the linux-omap
tree.

Much of this PM core code was written by Jouni Hogander with
significant contributions from Paul Walmsley as well as many others
from Nokia, Texas Instruments and linux-omap community.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
akefile
m-debug.c
m.c
m.h
m24xx.c
m34xx.c
rcm-common.h
drc.c
leep24xx.S
leep34xx.S
sb-musb.c
a330bd4750bc84aebb28faddd525d0bcbdde262d 07-May-2009 Kevin Hilman <khilman@deeprootsystems.com> Revert "ARM: OMAP: Mask interrupts when disabling interrupts, v2"

This reverts commit 5461af5af5c6a7fee78978aafe720541bf3a2f55.

Adding a disable hook to the irq_chip is not the way to fix the
problem being addressed by this patch. Instead, we need to fix
support for [enable|disable]_irq_wake().

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
rq.c
88b6f7eb9b4a06fbfe27f2d98e249577f4cfdaef 26-May-2009 Tony Lindgren <tony@atomide.com> Merge branch 'omap-clock-upstream' of git://git.pwsan.com/linux-2.6 into for-next
d76076636bc69fc28269076b867fc72031634357 25-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Reorganize Makefile to add omap4 support

We don't necessarily want to compile in irq.o and sdrc.o for omap4.
Also, clock and prcm may not be implemented initially.

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
ef6685a6ded6a20ff33a868cc2c0dba0505b7e4c 25-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Remove OMAP_CM_REGADDR

Processor specific macros should be used instead.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock24xx.h
lock34xx.h
m.h
8e3bd351d1d2505e17d0b10c17bf8d7655eb9faf 25-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Remove OMAP_PRM_REGADDR and OMAP2_PRM_BASE

Remove OMAP_PRM_REGADDR and use processor specific defines instead.

Also fold in a patch from Kevin Hilman to add _OFFSET #defines
for the PRCM registers to be used with the prm_[read|write]_* macros.
These are used extensively in the forthcoming OMAP PM support.

Also remove now unused OMAP2_PRM_BASE.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock24xx.c
lock24xx.h
m.h
rm.h
drc2xxx.c
ram242x.S
ram243x.S
a4ab0d836bbdbbfdb892135a92b339107530b710 25-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Remove OMAP2_32KSYNCT_BASE

Use processor specific defines instead.

As an extra bonus, this patch fixes the problem of CONFIG_DEBUG_SPINLOCK
calling sched_clock before we have things initialized:

http://patchwork.kernel.org/patch/15810/

Signed-off-by: Tony Lindgren <tony@atomide.com>
ram242x.S
ram243x.S
a9a418d4553290b824f95df65bd20097d7691233 25-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Reorganize Makefile to add omap4 support

We don't necessarily want to compile in irq.o and sdrc.o for omap4.
Also, clock and prcm may not be implemented initially.

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
eb0d0ee1c256492edd56e55c2704bbb1fe1d8bc0 25-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Remove OMAP_CM_REGADDR

Processor specific macros should be used instead.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock24xx.h
lock34xx.h
m.h
23b7dd3166fcd88d82ada7e13478fbe4c2231ddf 25-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Remove OMAP_PRM_REGADDR and OMAP2_PRM_BASE

Remove OMAP_PRM_REGADDR and use processor specific defines instead.

Also fold in a patch from Kevin Hilman to add _OFFSET #defines
for the PRCM registers to be used with the prm_[read|write]_* macros.
These are used extensively in the forthcoming OMAP PM support.

Also remove now unused OMAP2_PRM_BASE.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock24xx.c
lock24xx.h
m.h
rm.h
drc2xxx.c
ram242x.S
ram243x.S
bed8b97d88b56fdad5677585262e20c5f0a1a8e2 25-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Remove OMAP2_32KSYNCT_BASE

Use processor specific defines instead.

As an extra bonus, this patch fixes the problem of CONFIG_DEBUG_SPINLOCK
calling sched_clock before we have things initialized:

http://patchwork.kernel.org/patch/15810/

Signed-off-by: Tony Lindgren <tony@atomide.com>
ram242x.S
ram243x.S
56a459314a982bae75b9bce64bcca853d378ca7e 25-May-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'iommu' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git into devel
5c651ffaee6f07aa1f5e6d0763845a2ee606b6bd 19-May-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap iommu: add MPU_BRIDGE_IOMMU for tidspbridge migration

Currently "tidspbridge" driver uses its own mmu implementation and
will migrate to use this "omap iommu" eventually. This config is
provided to make this migration happen smoothly.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
map3-iommu.c
caf60779a6c5795340767ccf2f73ed7d5c7e0486 28-Jan-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap2 iommu: entries for Kconfig and Makefile

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
akefile
066aa9c1e3d0af52619fe26f05810990ff381d8c 28-Jan-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap iommu: omap3 iommu device registration

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
map3-iommu.c
005187eecaa400b4b43d9f640fbde9fcc50f37c1 16-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Change omapfb to use clkdev for dispc and rfbi, v2

This makes the framebuffer work on omap3.

Also fix the clk_get usage for checkpatch.pl
"ERROR: do not use assignment in if condition".

Cc: Imre Deak <imre.deak@nokia.com>
Cc: linux-fbdev-devel@lists.sourceforge.net
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock24xx.c
lock34xx.c
8dbe43930a4e9bede88eb67a9c613773a2747caf 16-May-2009 Kalle Jokiniemi <kalle.jokiniemi@digia.com> ARM: OMAP3: Fix HW SAVEANDRESTORE shift define

The OMAP3430ES2_SAVEANDRESTORE_SHIFT macro is used
by powerdomain code in
"1 << OMAP3430ES2_SAVEANDRESTORE_SHIFT" manner, but
the definition was also (1 << 4), meaning we actually
modified bit 16. So the definition needs to be 4.

This fixes also a cold reset HW bug in OMAP3430 ES3.x
where some of the efuse bits are not isolated during
wake-up from off mode. This can cause randomish
cold resets with off mode. Enabling the USBTLL hardware
SAVEANDRESTORE causes the core power up assert to be
delayed in a way that we will not get faulty values
when boot ROM is reading the unisolated registers.

Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rm-regbits-34xx.h
7971687094ef48695aa56a0c03416b609bd4d1fd 13-May-2009 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: rename clk_init_one() to clk_preinit()

Rename clk_init_one() to clk_preinit() to distinguish its function
from clk_init() and the individual struct clk init functions.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock24xx.c
lock34xx.c
0db4e8259792202060b962ad1a8715f030268c8b 13-May-2009 Artem Bityutskiy <Artem.Bityutskiy@nokia.com> OMAP3 clock: lessen amount of noisy messages

On our system we see the following messages:

Disabling unused clock "gpt2_ick"
Disabling unused clock "gpt3_ick"
Disabling unused clock "gpt4_ick"
Disabling unused clock "gpt5_ick"
...

The messages have KERN_INFO level and if you have serial
console, they normally go there. I do not think it is good
idea to print that much stuff there. Moreover, messages
are not properly prefixed and for mortals it is not
immeadietly clear where they come from.

Let's give them debugging level instead.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
[paul@pwsan.com: trimmed debugging output in patch description]
lock.c
b7aee4bfa7cad909220491214037731c1edb510a 13-May-2009 Paul Walmsley <paul@pwsan.com> OMAP3 clock: use pr_debug() rather than pr_info() in some clock change code

The CORE DPLL M2 frequency change code should use pr_debug(), not
pr_info(), for its debug messages. Same with
omap2_clksel_round_rate_div(). While here, convert a few printk(KERN_ERR ..
into pr_err().

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock.c
lock34xx.c
4519c2bf433b97d091635eb51e4ba8ffa1c84d62 13-May-2009 Paul Walmsley <paul@pwsan.com> OMAP3 clock: only unlock SDRC DLL if SDRC clk < 83MHz

According to the 34xx TRM Rev. K section 11.2.4.4.11.1 "Purpose of the
DLL/CDL Module," the SDRC delay-locked-loop can be locked at any SDRC
clock frequency from 83MHz to 166MHz. CDP code unconditionally
unlocked the DLL whenever shifting to a lower SDRC speed, but this
seems unnecessary and error-prone, as the DLL is no longer able to
compensate for process, voltage, and temperature variations. Instead,
only unlock the DLL when the SDRC clock rate would be less than 83MHz.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.c
ram34xx.S
b2abb271a5705bc80478e79d95fc9f3babc2605c 13-May-2009 Paul Walmsley <paul@pwsan.com> OMAP3 SRAM: renumber registers to make space for argument passing

Renumber registers in omap3_sram_configure_core_dpll() assembly code to
make space for additional parameters.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
ram34xx.S
98cfe5abf24c6d2f06b70fa8a8a111681bed3ed9 13-May-2009 Paul Walmsley <paul@pwsan.com> OMAP3 SDRC: initialize SDRC_POWER at boot

Initialize SDRC_POWER to a known-good setting when the kernel boots.
Necessary since some bootloaders don't initialize SDRC_POWER properly.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
drc.c
fa0406a8d8c3a4a302085ccd031d999161405f70 13-May-2009 Paul Walmsley <paul@pwsan.com> OMAP3 SRAM: clear the SDRC PWRENA bit during SDRC frequency change

Clear the SDRC_POWER.PWRENA bit before putting the SDRAM into self-refresh
mode. This prevents the SDRC from attempting to power off the SDRAM,
which can cause the system to hang.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
ram34xx.S
d75d9e73cd59127a4d926a2bf5e9cdcc90f033d6 13-May-2009 Paul Walmsley <paul@pwsan.com> OMAP3 clock: add interconnect barriers to CORE DPLL M2 change

Where necessary, add interconnect barriers to force posted writes to
complete before continuing.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
ram34xx.S
69d4255b139274f71faca28bc93bb49da8eb1a91 13-May-2009 Paul Walmsley <paul@pwsan.com> OMAP3 SRAM: add ARM barriers to omap3_sram_configure_core_dpll

Add more barriers in the SRAM CORE DPLL M2 divider change code.

- Add a DSB SY after the function's entry point to flush all cached
and buffered writes and wait for the interconnect to claim that they
have completed[1]. The idea here is to force all delayed write
traffic going to the SDRAM to at least post to the L3 interconnect
before continuing. If these writes are allowed to occur after the
SDRC is idled, the writes will not be acknowledged and the ARM will
stall.

Note that in this case, it does not matter if the writes actually
complete to the SDRAM - it is only necessary for the writes to leave
the ARM itself. If the writes are posted by the interconnect when
the SDRC goes into idle, the writes will be delayed until the SDRC
returns from idle[2]. If the SDRC is in the middle of a write when
it is requested to enter idle, the SDRC will not acknowledge the
idle request until the writes complete to the SDRAM.[3]

The old-style DMB in sdram_in_selfrefresh is now superfluous, so,
remove it.

- Add an ISB before the function's exit point to prevent the ARM from
speculatively executing into SDRAM before the SDRAM is enabled[4].

...

1. ARMv7 ARM (DDI 0406A) A3-47, A3-48.

2. Private communication with Richard Woodruff <r-woodruff2@ti.com>.

3. Private communication with Richard Woodruff <r-woodruff2@ti.com>.

4. ARMv7 ARM (DDI 0406A) A3-48.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
ram34xx.S
4ea60b0c7a8487af5de736d394b147baf7691f3c 12-May-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP2/3: Add name for musb clocks

With the clkdev, musb_core.c needs to register clock with name "ick".

Once all the platforms using the musb driver have been converted
to use clockdev, the clock name does not need to be passed
from the low-level init code.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock24xx.c
lock34xx.c
c8a799b03a981b4b27d8fd7320c96cfbe781b2fb 12-May-2009 Jarkko Nikula <jhnikula@gmail.com> ARM: OMAP2: Fix SPI driver failure on 2420 when running multi-omap config

SPI driver will do unhandled fault on OMAP2420 if trying to probe
non-existing SPI busses. Register those additional busses runtime only
for cpus having them.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
eaf9393bb79a9c7c8e708669f9581ca466122430 12-May-2009 Jarkko Nikula <jarkko.nikula@nokia.com> ARM: OMAP2: Fix tusb6010 init error and compilation warning

Fix "tusb6010 init error 5, -19" and compilation warning from function
tusb6010_platform_retime "warning: 'sysclk_ps' is used uninitialized in this
function".

I suppose commit c094ba34b8f780885d029ce3c2715a194b780e5d was meant to test
for zero fclk_ps instead of sysclk_ps.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Roel Kluin <roel.kluin@gmail.com>
Tested-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-tusb6010.c
6f733a349c2b70a83b5451fbe61ef2cf67d41cdf 11-May-2009 Paul Walmsley <paul@pwsan.com> ARM: OMAP: GPIO de-bounce clocks don't affect module idle state

GPIO de-bounce clocks don't have any impact on the module idle state, so
the clock code should not wait for the module to enable after the de-bounce
clocks are enabled.

Problem found by Kevin Hilman <khilman@deeprootsystems.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.h
2bcb573343dbd7d913cb62b81463960644a3737f 26-Jan-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap iommu: omap2 architecture specific functions

The structure 'arch_mmu' accommodates the difference between omap1 and
omap2/3.

This patch provides omap2/3 specific functions

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ommu2.c
535ff672e3589a38f60567314bc2ae15b9ab2604 24-Apr-2009 Tony Lindgren <tony@atomide.com> Merge branch 'omap-clock-fixes' into omap-fixes
f248076c0dad45b7e50f27096e1aac6a617665db 24-Apr-2009 Paul Walmsley <paul@pwsan.com> OMAP2/3 GPTIMER: allow system tick GPTIMER to be changed in board-*.c files

Add a function omap2_gp_clockevent_set_gptimer() for board-*.c files
to use in .init_irq functions to configure the system tick GPTIMER.
Practical choices at this point are GPTIMER1 or GPTIMER12. Both of
these timers are in the WKUP powerdomain, and so are unaffected by
chip power management. GPTIMER1 can use sys_clk as a source, for
applications where a high-resolution timer is more important than
power management. GPTIMER12 has the special property that it has the
secure 32kHz oscillator as its source clock, which may be less prone
to glitches than the off-chip 32kHz oscillator. But on HS devices, it
may not be available for Linux use.

It appears that most boards are fine with GPTIMER1, but BeagleBoard
should use GPTIMER12 when using a 32KiHz timer source, due to hardware bugs
in revisions B4 and below. Modify board-omap3beagle.c to use GPTIMER12.

This patch originally used a Kbuild config option to select the GPTIMER,
but was changed to allow this to be specified in board-*.c files, per
Tony's request.

Kalle Vallo <kalle.valo@nokia.com> found a bug in an earlier version of
this patch - thanks Kalle.

Tested on Beagle rev B4 ES2.1, with and without CONFIG_OMAP_32K_TIMER, and
3430SDP.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Cc: Kalle Valo <kalle.valo@nokia.com>
oard-omap3beagle.c
lock24xx.c
lock24xx.h
lock34xx.h
imer-gp.c
9e53dd7180a1fd59a785dbfb9c633f01c96c388f 24-Apr-2009 Sergio Aguirre <saaguirre@ti.com> OMAP3: clock: Camera module doesn't have IDLEST bit

This patch avoids waiting for the camera module to become ready,
since it doesn't have IDLEST bit.

Based on a earlier hack done by Paul Walmsley on Sep 9 2008 on
linux-omap tree.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
lock34xx.h
15ca78f7925899fee7bc265651a69ab51f449eea 24-Apr-2009 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: fix broken cpu_mask code

Commit 8ad8ff6548f1c0bcbeaa02f274b3927c5015a921 breaks the OMAP2xxx
cpu_mask code, which causes OMAP2xxx to panic on boot. Fix by
removing the cpu_mask auto variable and by changing CK_242X
and CK_243X to use RATE_IN_242X/RATE_IN_243X.

Resolves

<1>Unable to handle kernel NULL pointer dereference at virtual address 0000000c
<1>pgd = c0004000
<1>[0000000c] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in:
CPU: 0 Not tainted (2.6.29-omap1 #32)
PC is at omap2_clk_set_parent+0x104/0x120
LR is at omap2_clk_set_parent+0x28/0x120

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
846c29f109fc27bd93817271689a752afc9168f8 23-Apr-2009 Roger Quadros <ext-roger.quadros@nokia.com> ARM: OMAP3: Clean up spurious interrupt check logic

SPURIOUSIRQ is contained in bits 31:7 of INTC_SIR, so
INTC_SIR must be right shifted by 7, not 6.

No change in logic, only changes for better readability.
Refer to register definition of INTCPS_SIR_IRQ in OMAP3 Manual.

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
c485ab50dd90412d88e25ed30b4e0d5ff636ffe2 23-Apr-2009 Huang Weiyi <weiyi.huang@gmail.com> ARM: OMAP3: remove duplicated #include

Removed duplicated #include in arch/arm/mach-omap2/board-rx51.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-rx51.c
d94a2eddf50c4aa1553acf3025f45d03704a1f97 23-Apr-2009 Roel Kluin <roel.kluin@gmail.com> ARM: OMAP2: possible division by 0

In linus' git tree the functions can be found at:
vi arch/arm/mach-omap2/usb-tusb6010.c +200 - tusb6010_platform_retime()
vi arch/arm/mach-omap2/gpmc.c +94 - gpmc_get_fclk_period()
vi arch/arm/mach-omap2/usb-tusb6010.c +53 - tusb_set_async_mode()
vi arch/arm/mach-omap2/usb-tusb6010.c +111 - tusb_set_sync_mode()

is -ENODEV appropriate when sysclk_ps == 0?

This was found by code analysis, please review.
------------------------------>8-------------8<---------------------------------
gpmc_get_fclk_period() may return 0 when gpmc_l3_clk is not enabled. This is
not checked in tusb6010_platform_retime() nor in tusb_set_async_mode() it
seems. In tusb_set_sync_mode() this may result in a division by zero.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-tusb6010.c
6b7bff3169192e2870f68f47fde25a22e136918e 23-Apr-2009 Jarkko Nikula <jarkko.nikula@nokia.com> ARM: OMAP2: Remove defines and resource init for OMAP24XX EAC

There is no anymore legacy driver for OMAP24XX Enhanced Audio Controller
in linux-omap and it was newer in mainline so cleanup these unneeded
defines and initialization code.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
ba16ec7cabb3f1aa7bbcb7b9982c4402a2e8ec02 23-Apr-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP: Remove old dead gpio expander code

This should be done with GPIO calls. Patches against the
mainline tree welcome to add the necessary working functionality
back.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
c8088112fd96ad8b0f0bcd2f168fe6a17bf3cb41 23-Apr-2009 Paul Walmsley <paul@pwsan.com> OMAP2xxx clock: pre-initialize struct clks early

Commit 3f0a820c4c0b4670fb5f164baa5582e23c2ef118 breaks OMAP2xxx boot
during initial propagate_rate() on osc_ck and sys_ck. Fix by
pre-initializing all struct clks before running any other clock init
code. Incorporates review comments from Russell King
<rmk+kernel@arm.linux.org.uk>.

Resolves

<1>Unable to handle kernel NULL pointer dereference at virtual address 00000000
<1>pgd = c0004000
<1>[00000000] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in:
CPU: 0 Not tainted (2.6.29-omap1 #37)
PC is at propagate_rate+0x10/0x60
LR is at omap2_clk_init+0x30/0x218
...

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
8e19608e8b5c001e4a66ce482edc474f05fb7355 21-Apr-2009 Magnus Damm <damm@igel.co.jp> clocksource: pass clocksource to read() callback

Pass clocksource pointer to the read() callback for clocksources. This
allows us to share the callback between multiple instances.

[hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
[akpm@linux-foundation.org: cleanup]
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Acked-by: John Stultz <johnstul@us.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
imer-gp.c
e930438c42e744ef1f8bfdbb338253c9f384df42 13-Apr-2009 Yang Hongyang <yanghy@cn.fujitsu.com> Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n)

This is the second go through of the old DMA_nBIT_MASK macro,and there're not
so many of them left,so I put them into one patch.I hope this is the last round.
After this the definition of the old DMA_nBIT_MASK macro could be removed.

Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Tony Lindgren <tony@atomide.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Greg KH <greg@kroah.com>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
sb-musb.c
cd02938a828f4b2098a074afb7454f106f2e8df5 03-Apr-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'smsc911x-armplatforms' of git://github.com/steveglen/linux-2.6
172ef275444efa12d834fb9d1b1acdac92db47f7 02-Feb-2009 Steve Sakoman <sakoman@gmail.com> ARM: Add SMSC911X support to Overo platform (V2)

Gumstix will soon be shipping a variant of their Summit board that
includes an SMSC LAN9221 ethernet interface. This patch provides
support via the smsc911x driver when enabled in kernel config.

The Overo defconfig is not updated since the LAN9221 is an option
not present on all systems.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Steve Glendinning <steve.glendinning@smsc.com>
oard-overo.c
1c0e147eb6d7037957b5c53a96b82c40b75787c2 23-Jan-2009 Steve Glendinning <steve.glendinning@smsc.com> arm: convert omap ldp platform to use smsc911x

from 2.6.29, smc911x isn't maintained anymore. A new driver, smsc911x,
will replace it. so convert omap_ldp to use smsc911x driver.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
oard-ldp.c
ad19d8d90c7a84c35f4e27e95d41a049efdbdf17 30-Mar-2009 Tony Lindgren <tony@atomide.com> [ARM] 5436/1: ARM: OMAP: Fix compile for rx51

This fixes a compile error caused by a mismerge while rebasing the patch:

linux-2.6/arch/arm/mach-omap2/board-rx51-peripherals.c:354:
undefined reference to `twl4030_mmc_init'

Looks like I need to also update my build scripts, just grepping for error:
in the logs is not obviously enough..

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
akefile
2f3ec501ba1e1a68ab9d413f143bdc8f46417fc1 16-Mar-2009 Tony Lindgren <tony@atomide.com> [ARM] OMAP: Fix compile for omap2_init_common_hw()

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-3430sdp.c
oard-omap3pandora.c
oard-overo.c
oard-rx51.c
8937b7349ca9e25a02b2a72ccb7fba404ddedc5b 25-Mar-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into devel
997302259f386bca8fe1db67c50296ca426c438f 25-Mar-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-ldp.c
ffe7f95bb1a4d1e9ca5d252445dc38476e1a208e 24-Mar-2009 Lauri Leukkunen <lauri.leukkunen@nokia.com> ARM OMAP3: Initial support for Nokia RX-51, v3

Adds board files and related headers for Nokia RX-51
Internet Tablet.

This patch has been updated with some clean-up patches
posted earlier to linux-omap list.

Signed-off-by: Lauri Leukkunen <lauri.leukkunen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-rx51-peripherals.c
oard-rx51.c
6fdc29e262f9a776a77f50ca9157f7c0dcfbbbc8 24-Mar-2009 Syed Mohammed Khasim <x0khasim@ti.com> ARM: OMAP3: Add support for 3430 SDP, v4

Add support for 3430 SDP.

Various updates have been merged into this patch from
the linux-omap list.

Patch updated to initialize regulators by David Brownell
<dbrownell@users.sourceforge.net>.

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-3430sdp.c
c6a81316c721a20639871f08cf0cbff7e83889b4 24-Mar-2009 Steve Sakoman <sakoman@gmail.com> ARM: OMAP3: Add ADS7846 touchscreen support to Overo platform, v3

An upcoming Overo expansion board includes an ADS7846 touchscreen controller.

This patch adds support via the ads7846 driver when enabled in the
kernel config.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-overo.c
18cb7aca6f94357d78d99970ec0bd5933ac4495d 24-Mar-2009 Felipe Balbi <felipe.balbi@nokia.com> ARM: OMAP3: MUSB initialization for omap hw, v2

Create a generic board-file for initializing usb
on omap2430 and omap3 boards.

Patch modified by Tony to build the module based on
CONFIG_USB_MUSB_SOC. Also merged in a patch adding
the nop xceiv from Ajay Kumar Gupta <ajay.gupta@ti.com>.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-2430sdp.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3pandora.c
oard-overo.c
sb-musb.c
828c707e6dbd0ca7882f721a466ff28729376ff0 24-Mar-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP3: Add base address definitions and resources for OMAP 3 IS, v2

This replaces earlier patch from Sergio Aguirre titled "[REVIEW PATCH 03/14]
OMAP34XX: CAM: Resources fixes".

Signed-off-by: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
e51151a53fc85fb1730ec4d6c1474275dcdb9ec3 24-Mar-2009 Adrian Hunter <adrian.hunter@nokia.com> ARM: OMAP3: mmc-twl4030 allow arbitrary slot names, v3

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
mc-twl4030.h
8d75e98b5880f8f02be68ddc3cc4e3d433630d7b 24-Mar-2009 Adrian Hunter <adrian.hunter@nokia.com> ARM: OMAP3: mmc-twl4030 add cover switch

Allow a cover switch to be used to cause a rescan of the
MMC slot.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
mc-twl4030.h
034ae7b41720a26cadd4b2f02bf0b23e79240344 24-Mar-2009 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP3: mmc-twl4030 fix for vmmc = 0

Resolve longstanding issue noted by Adrian Hunter: confusion
between settting VSEL=0 (which is 1.8V on MMC1) and poweroff.

Also, leave VSEL alone if we're just powering the regulator off.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
07d83cc9c839a5f05c7c1b6d823a8f483bda0441 24-Mar-2009 Grazvydas Ignotas <notasas@gmail.com> ARM: OMAP3: mmc-twl4030 add MMC3 support, v2

Device connected to MMC3 is assumed to be self-powered, so
set_power() function is empty. It can't be omited because
host driver requires it.

Array size for hsmmc[] is specified to allocate to allocate
an instance for the third MMC controller.

Also fix a leak which happens if invalid controller id
is passed.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
mc-twl4030.c
01971f65ff88e3ebe2b6ae42b95d68e26b83718d 24-Mar-2009 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP3: mmc-twl4030 init passes device nodes back, v2

When setting up HSMMC devices, pass the device nodes back so
board code can linking them to their power supply regulators.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
mc-twl4030.h
0329c3773e59aa7e50dc3760a27fb4e098773d0f 24-Mar-2009 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP3: mmc-twl4030 voltage cleanup

Correct twl4030 MMC power switching: fix voltage ranges reported
for each slot, and handle them fully.

Lies corrected:
- MMC-1 doesn't support the 2.6-2.7 Volt range
- MMC-2 can't normally support anything except 1.8V
Omissions corrected
- MMC-1 *does* handle the 2.8-2.9 Volt range
- MMC-2 can handle 2.5-3.2 Volt cards, given a transceiver

Add transciever support for MMC-2; enable it for Overo and Pandora.
(Depends on something else to have set up pinmuxing for control
signals instead of as MMC2_DAT4..7 pins.)

Also shrink twl4030_hsmmc_info a smidgeon ... padding is all gone.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3pandora.c
oard-overo.c
mc-twl4030.c
mc-twl4030.h
8466032d862a2e52d73af3311bc97f950aaa36c8 24-Mar-2009 Adrian Hunter <adrian.hunter@nokia.com> ARM: OMAP3: mmc-twl4030 fix name buffer length, v2

Add 1 to buffer length for null terminator and use snprintf.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
mc-twl4030.c
b9d766c767d53a9be1f741a53fe8151354ba1da3 24-Mar-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP3: Add more GPIO mux options

This patch adds several new GPIO pins and updates
the pin naming comments.

The patch is based on earlier patches on linux-omap
list by Manikandan Pillai <mani.pillai@ti.com>,
Vaibhav Hiremath <hvaibhav@ti.com> and
David Brownell <dbrownell@users.sourceforge.net>.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
2bb6c8026ccfa26ba713f4462f661aba7dd4dc16 24-Mar-2009 Jarkko Nikula <jhnikula@gmail.com> ARM: OMAP3: Remove unused CONFIG_I2C2_OMAP_BEAGLE

There is no CONFIG_I2C2_OMAP_BEAGLE in mainline and it is under
removal in linux-omap also so remove this dead code now.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
b0b5aa3f4c17c6a21423b9728d701216ab2e1ff1 24-Mar-2009 Felipe Balbi <felipe.balbi@nokia.com> ARM: OMAP: get rid of OMAP_TAG_USB, v2

OMAP_TAGS should vanish soon since they're not generic arm tags.
Most of them can be converted to a platform_data or parsed
from a command line like e.g. serial tag.

For OMAP_TAG_USB we just let boards call omap_usb_init()
passing a pointer to omap_usb_config.

Patch updated by Tony for mainline, basically make
n770 and h4 compile. Also folded in a fix for OSK
by David Brownell <dbrownell@users.sourceforge.net>.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
oard-h4.c
0d4d9ab08ac28b4742dadc35b5ac7613abf71475 24-Mar-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP: No need to include board-overo.h from hardware.h

Move the defines to the associated board file and remove
the now unnecessary header file.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-overo.c
ec7558a62d2e28ec607fdfab1cd39b475d929ce5 24-Mar-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP: No need to include board-ldp.h from hardware.h

Move the defines to the associated board file and remove
the now unnecessary header file. Also rename
OMAP34XX_ETHR_START to LDP_ETHR_START.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-ldp.c
40662d77311d8de3a26c33f2fd5a2d4d810a4c8a 24-Mar-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP: No need to include board-h4.h from hardware.h

Move the defines to the associated board file and remove
the now unnecessary header file. Also rename
OMAP24XX_ETHR_GPIO_IRQ to H4_ETHR_GPIO_IRQ.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
7055477558686e106149bf0bb0edc0f5cd848ad9 24-Mar-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP: No need to include board-apollon.h from hardware.h

Move the defines to the associated board file and remove
the now unnecessary header file.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
a362fdbddb713d27ec0931a8be64b767f85bae0d 24-Mar-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP: No need to include board-omap2430sdp.h from hardware.h

Move the defines to the associated board file and remove
the now unnecessary header file. Also rename
SDP2430_ETHR_GPIO_IRQ to SDP2430_ETHR_GPIO_IRQ.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
c75ee7520b4ad48a6948f51ca43b2e46ebd3696a 24-Mar-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap mailbox: add save_/restore_ctx() for PM

To preserve the registers during off-mode

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
da8cfe03a461fe759041e7f130f96913b262aa6b 24-Mar-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap mailbox: fix empty struct device for omap2

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
evices.c
ailbox.c
94fc58c6da019257680ae711c061cb403582a362 24-Mar-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap mailbox: print hardware revision at startup

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
6c20a68372f158def0a29657ce11b3609ed24f9a 24-Mar-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap mailbox: add initial omap3 support

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
evices.c
ailbox.c
733ecc5c06bb2892f04ab1881721d665644cd261 24-Mar-2009 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> omap mailbox: cleanup omap2 register definition with macro

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
ailbox.c
7d83f8fca517b123cf0136503a9e50974f65ec49 20-Mar-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'master' of git://git.marvell.com/orion into devel

Conflicts:

arch/arm/mach-mx1/devices.c
14b6848bc0134b8838d374c423df3edda9b1490e 19-Mar-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'omap-clks3' into devel

Conflicts:

arch/arm/mach-omap2/clock.c
fbd8104c2eb2f00a031a3e472a0fc08e40d04c0b 15-Mar-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm: (23 commits)
[ARM] Fix virtual to physical translation macro corner cases
[ARM] update mach-types
[ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions
MX1 fix include
[ARM] 5419/1: ep93xx: fix build warnings about struct i2c_board_info
[ARM] 5418/1: restore lr before leaving mcount
ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz
ARM: OMAP: Allow I2C bus driver to be compiled as a module
ARM: OMAP: sched_clock() corrected
ARM: OMAP: Fix compile error if pm.h is included
[ARM] orion5x: pass dram mbus data to xor driver
[ARM] S3C64XX: Fix s3c64xx_setrate_clksrc
[ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.c
[ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.c
[ARM] S3C64XX: Fix USB host clock mux list
[ARM] S3C64XX: Fix name of USB host clock.
[ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBH
[ARM] S3C64XX: Do gpiolib configuration earlier
[ARM] S3C64XX: Staticise s3c64xx_init_irq_eint()
[ARM] SMDK6410: Declare iodesc table static
...
8ca7fe267f58462825729443f3e3b44ef4901cf0 04-Mar-2009 Koen Kooi <koen@beagleboard.org> ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz

Changing it do 100kHz is needed to make more devices works properly. Controlling the
TI DLP Pico projector[1] doesn't work properly at 400kHz, 100kHz and lower work fine.
EDID readout is unaffected by this change.

[1] http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&tabId=2234

Signed-off-by: Koen Kooi <koen@beagleboard.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
4da3782151300237db3abe070f716922889252e0 24-Feb-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: clk_set_parent: deny changing parent if clock is enabled

Richard Woodruff writes:
| The historic usage of this has been against single use leaf clocks
| (1st instance of gptimer). When it was used it did:
| clk_get()
| clk_set_parent()
| clk_enable()
|
| This usage was ok for that. Use on a disabled clock is needed.
|
| If there are multiple users on the clock or it is enabled there are
| problems.
|
| The call can still be unfriendly if 2 different drivers are using the
| clock with their own clock get/enable. It might be the function should
| return an error if usecount != 0 to stop surprises. It is all around
| better if the parenting is done when the clock is off.

This is a good reason to ensure that the clock is not enabled when
clk_set_parent() is called.

Acked-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
07555c9880da3e2e96e5eae00a03b44cc076deaf 03-Mar-2009 Russell King <rmk+kernel@arm.linux.org.uk> OMAP: enable smc911x support for LDP platform

The following patch enables SMC911x support to work on the OMAP LDP
board. Although the SMC911x driver will eventually be obsoleted, the
smsc911x patches are rather invasive for the -rc kernels.

Rather than risk destablising smsc911x, this simpler patch is preferred
to allow the network interface to work.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
oard-ldp.c
7aec53acc0504ab2abd73a6051e7b72f48545ceb 22-Feb-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: ensure that failing power domain lookups produce errors

Use pr_err() for errors rather than pr_debug(). pr_debug() are
compiled away unless -DDEBUG is used.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lockdomain.c
7eb1afc9765d07c9036b1ad9e7c03e5bd1a58a2b 06-Feb-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 powerdomains: make USBTLL SAR only available on ES3.1 and beyond

Richard Woodruff writes that chip errata prevent USBTLL SAR from working
on OMAP3 ES levels before ES3.1:

http://marc.info/?l=linux-arm-kernel&m=123319614808833&w=2

Update the OMAP3 powerdomain structures appropriately.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
owerdomains.h
owerdomains34xx.h
d41ad52040dee5043ce6b1d49a1c8864706d2bfd 06-Feb-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3: update ES level flags to discriminate between post-ES2 revisions

Some OMAP3 chip behaviors change in ES levels after ES2. Modify the
existing omap_chip flags to add options for ES3.0 and ES3.1.

Add a new macro, CHIP_GE_OMAP3430ES2, to cover ES levels from ES2
onwards - a common pattern for OMAP3 features. Update all current
users of the omap_chip macros to use this new macro.

Also add CHIP_GE_OMAP3430ES3_1 to cover the USBTLL SAR errata case
(described and fixed in the following patch)

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lockdomains.h
d.c
owerdomains34xx.h
c0bf31320dea2cbcbab1f53ee15a8520f762409b 19-Feb-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: add support for bypassing DPLLs

This roughly corresponds with OMAP commits: 7d06c48, 3241b19,
88b5d9b, 18a5500, 9c909ac, 5c6497b, 8b1f0bd, 2ac1da8.

For both OMAP2 and OMAP3, we note the reference and bypass clocks in
the DPLL data structure. Whenever we modify the DPLL rate, we first
ensure that both the reference and bypass clocks are enabled. Then,
we decide whether to use the reference and DPLL, or the bypass clock
if the desired rate is identical to the bypass rate, and program the
DPLL appropriately. Finally, we update the clock's parent, and then
disable the unused clocks.

This keeps the parents correctly balanced, and more importantly ensures
that the bypass clock is running whenever we reprogram the DPLL. This
is especially important because the procedure for reprogramming the DPLL
involves switching to the bypass clock.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock.h
lock24xx.c
lock24xx.h
lock34xx.c
lock34xx.h
drc2xxx.c
41f3103fcfffff096c34f5267d7c9a26b44d89d3 19-Feb-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: fix clock reparenting in omap2_clk_set_parent()

When changing the parent of a clock, it is necessary to keep the
clock use counts balanced otherwise things the parent state will
get corrupted. Since we already disable and re-enable the clock,
we might as well use the recursive versions instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
abf239657b88fa7e75d5b44a65a4177e7bb8acce 14-Feb-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: fix _omap2_clksel_get_src_field()

_omap2_clksel_get_src_field() was returning the first entry which was
either the default _or_ applicable to the SoC. This is wrong - we
should be returning the first default which is applicable to the SoC.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
9132f1b453924e7595ce2dc1853704b2a31f42de 14-Feb-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: fix omap2_divisor_to_clksel() error return value

The error checks for omap2_divisor_to_clksel() and comment disagree with
the actual value returned on error. Fix this to return the correct error
value.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
8b9dbc16d4f5786c6c930ab028722e3ed7e4285b 12-Feb-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: arrange for clock recalc methods to return the rate

linux-omap source commit 33d000c99ee393fe2042f93e8422f94976d276ce
introduces a way to "dry run" clock changes before they're committed.
However, this involves putting logic to handle this into each and
every recalc function, and unfortunately due to the caching, led to
some bugs.

Solve both of issues by making the recalc methods always return the
clock rate for the clock, which the caller decides what to do with.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock.h
lock24xx.c
lock24xx.h
lock34xx.c
lock34xx.h
883992bd8f6924c9aa849f2dac381075e2e55a9d 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2/3 clock: don't tinker with hardirqs when they are supposed to be disabled

Clock rate change code executes inside a spinlock with hardirqs
disabled. The only code that should be messing around with the
hardirq state should be the plat-omap/clock.c code. In the
omap2_reprogram_dpllcore() case, this probably just wastes cycles, but
in the omap3_core_dpll_m2_set_rate() case, this is a nasty bug.

linux-omap source commit is b9b6208dadb5e0d8b290900a3ffa911673ca97ed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock34xx.c
8263e5b31eae2bbf689ff08a7da334329c9f353b 31-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: fix clockdomain enable/disable ordering

Based on a patch from Paul Walmsley <paul@pwsan.com>:

omap2_clk_enable() should enable a clock's clockdomain before
attempting to enable its parent clock's clockdomain. Similarly, in
the unlikely event that the parent clock enable fails, the clockdomain
should be disabled.

linux-omap source commit is 6d6e285e5a7912b1ea68fadac387304c914aaba8.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
a7f8c599c570fc0e2396e8fdccaeeeaefc41dac8 31-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: fix usecount decrement bug

Based upon a patch from Paul Walmsley <paul@pwsan.com>:

If _omap2_clk_enable() fails, the clock's usecount must be decremented
by one no matter whether the clock has a parent or not.

but reorganised a bit.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
f11fda6a9173e8e6b152ba5cb26fa20095a4c60f 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2/3 clock: convert remaining MPU barriers into OCP barriers

Several parts of the OMAP2/3 clock code use wmb() to try to ensure
that the hardware write completes before continuing. This approach is
problematic: wmb() only ensures that the write leaves the ARM. It
does not ensure that the write actually reaches the endpoint device.
The endpoint device in this case - either the PRM, CM, or SCM - is
three interconnects away from the ARM - and the final interconnect is
low-speed. And the OCP interconnects will post the write, and who
knows how long that will take to complete. So the wmb() is not what
we want. Worse, the wmb() is indiscriminate; it causes the ARM to
flush any other unrelated buffered writes and wait for the local
interconnect to acknowledge them - potentially very expensive.

Fix this by converting the wmb()s into readbacks of the same PRM/CM/SCM
register. Since the PRM/CM/SCM devices use a single OCP thread, this
will cause the MPU to block while waiting for posted writes to that device
to complete.

linux-omap source commit is 260f5487848681b4d8ea7430a709a601bbcb21d1.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
439764cc18beb20ef409991e75e29b460db71d33 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2xxx clock: consolidate DELAYED_APP clock commits; fix barrier

Consolidate the commit code for DELAYED_APP clocks into a subroutine,
_omap2xxx_clk_commit(). Also convert the MPU barrier wmb() into an
OCP barrier, since with an MPU barrier, we have no guarantee that the
write actually reached the endpoint device.

linux-omap source commit is 0f5bdb736515801b296125d16937a21ff7b3cfdc.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
de07fedd79999668c4c112a2ba3eaf3d7434235c 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2/3 clock: don't use a barrier after clk_disable()

clk_disable() previously used an ARM barrier, wmb(), to try to ensure
that the hardware write completed before continuing. There are some
problems with this approach.

The first problem is that wmb() only ensures that the write leaves the
ARM -- not that it actually reaches the endpoint device. In this
case, the endpoint device - either the PRM, CM, or SCM - is three
interconnects away from the ARM, and the final interconnect is
low-speed. And the OCP interconnects will post the write, who knows
how long that will take to complete. So the wmb() is not really what
we want.

Worse, the wmb() is indiscriminate; it will cause the ARM to flush any
other unrelated buffered writes and wait for the local interconnect to
acknowledge them - potentially very expensive.

This first problem could be fixed by doing a readback of the same PRM/CM/SCM
register. Since these devices use a single OCP thread, this will cause the
MPU to wait for the write to complete.

But the primary problem is a conceptual one: clk_disable() should not
need any kind of barrier. clk_enable() needs one since device driver
code must not access a device until its clocks are known to be
enabled. But clk_disable() has no such restriction.

Since blocking the MPU on a PRM/CM/SCM write can be a very
high-latency operation - several hundred MPU cycles - it's worth
avoiding this barrier if possible.

linux-omap source commit is f4aacad2c0ed1055622d5c1e910befece24ef0e2.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
3f0a820c4c0b4670fb5f164baa5582e23c2ef118 31-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: create a proper tree of clocks

Traditionally, we've tracked the parent/child relationships between
clk structures by setting the child's parent member to point at the
upstream clock. As a result, when decending the tree, we have had
to scan all clocks to find the children.

Avoid this wasteful scanning by keeping a list of the clock's children.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock24xx.c
lock24xx.h
lock34xx.c
lock34xx.h
b5088c0d90b898802318c62caf2320a53df6ce57 29-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: clks: call recalc after any rate change

This implements the remainder of:
OMAP clock: move rate recalc, propagation code up to plat-omap/clock.c
from Paul Walmsley which is not covered by the previous:
[ARM] omap: move clock propagation into core omap clock code
[ARM] omap: remove unnecessary calls to propagate_rate()
[ARM] omap: move propagate_rate() calls into generic omap clock code
commits.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock34xx.c
7b0f89d7bba946345fd597110388da5a913e9744 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2/3 clock: use standard set_rate fn in omap2_clk_arch_init()

Use the standard clk_set_rate() function in omap2_clk_arch_init()
rather than omap2_select_table_rate() -- this will ensure that clock
rates are recalculated and propagated correctly after those operations
are consolidated into clk_set_rate().

linux-omap source commit is 03c03330017eeb445b01957608ff5db49a7151b6.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock34xx.c
8463e20a58e8b8c88fab948b8610504cbf604294 28-Jan-2009 Tero Kristo <tero.kristo@nokia.com> [ARM] OMAP3: PM: Make sure clk_disable_unused() order is correct

Current implementation will disable clocks in the order defined in clock34xx.h,
at least DPLL4_M2X2 will hang in certain cases (and prevent retention / off)
if clocks are not disabled in correct order. This patch makes sure the parent
clocks will be active when disabling a clock.

linux-omap source commit is 672680063420ef8c8c4e7271984bb9cc08171d29.

Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
0eafd4725cf5d828e76e474b8991a228bbdd3f2b 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 clock: add omap3_core_dpll_m2_set_rate()

Add the omap3_core_dpll_m2_set_rate() function to the OMAP3 clock code,
which calls into the SRAM function omap3_sram_configure_core_dpll() to
change the CORE DPLL M2 divider. (SRAM code is necessary since rate changes
on clocks upstream from the SDRC can glitch SDRAM accesses.)

Use this function for the set_rate function pointer in the dpll3_m2_ck
struct clk. With this function in place, PM/OPP code should be able to
alter SDRAM speed via code similar to:

clk_set_rate(&dpll3_m2_ck, target_rate).

linux-omap source commit is 7f8b2b0f4fe52238c67d79dedcd2794dcef4dddd.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.c
lock34xx.h
87246b7567f7d1951bfcea29875523ef435c0ebf 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2 SDRC: add SDRAM timing parameter infrastructure

For a given SDRAM clock rate, SDRAM chips require memory controllers
to use a specific set of timing minimums and maximums to transfer data
reliably. These parameters can be different for different memory chips
and can also potentially vary by board.

This patch adds the infrastructure for board-*.c files to pass this
timing data to the SDRAM controller init function. The timing data is
specified in an 'omap_sdrc_params' structure, in terms of SDRC
controller register values. An array of these structs, one per SDRC
target clock rate, is passed by the board-*.c file to
omap2_init_common_hw().

This patch does not define the values for different memory chips, nor
does it use the values for anything; those will come in subsequent patches.

linux-omap source commit is bc84ecfc795c2d1c5cda8da4127cf972f488a696.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-2430sdp.c
oard-apollon.c
oard-generic.c
oard-h4.c
oard-ldp.c
oard-omap3beagle.c
o.c
drc.c
f2ab99778a1a04ddbae38f4de4ef40f2edb92080 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2 SDRC: separate common OMAP2/3 code from OMAP2xxx code

Separate SDRC code common to OMAP2/3 from mach-omap2/sdrc2xxx.c to
mach-omap2/sdrc.c. Rename the OMAP2xxx-specific functions to use an
'omap2xxx' prefix rather than an 'omap2' prefix, and use "sdrc" in the
function names rather than "memory." Mark several functions
as static that should not be used outside the sdrc2xxx.c file.

linux-omap source commit is bf1612b9d8d29379558500cd5de9ae0367c41fc4.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
akefile
lock24xx.c
o.c
drc.c
drc2xxx.c
96609ef4009515f0667a52b7776c21418df19bd8 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2 SDRC: rename memory.c to sdrc2xxx.c

Rename arch/arm/mach-omap2/memory.c to arch/arm/mach-omap2/sdrc2xxx.c, since
it contains exclusively SDRAM-related functions. Most of the functions
are also OMAP2xxx-specific - those which are common will be separated out
in a following patch.

linux-omap source commit is fe212f797e2efef9dc88bcb5db7cf9db3f9f562e.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
akefile
emory.c
drc2xxx.c
f8de9b2c45c4506702da4bd3a5bc7630754077f9 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2 SDRC: move mach-omap2/memory.h into mach/sdrc.h

Move the contents of the arch/arm/mach-omap2/memory.h file to the
existing mach/sdrc.h file, and remove memory.h. Modify files which
include memory.h to include asm/arch/sdrc.h instead.

linux-omap source commit is e7ae2d89921372fc4b9712a32cc401d645597807.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock24xx.c
lock34xx.c
o.c
emory.c
emory.h
da0747d4faf55320f0f6cbcd8525e2a8e4619925 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2 PRCM: clean up CM_IDLEST bits

This patch fixes a few OMAP2xxx CM_IDLEST bits that were incorrectly
marked as being OMAP2xxx-wide, when they were actually 2420-specific.

Also, originally when the PRCM register macros were defined, bit shift
macros used a "_SHIFT" suffix, and mask macros used none. This became
a source of bugs and confusion, as the mask macros were mistakenly
used for shift values. Gradually, the mask macros have been updated,
piece by piece, to add a "_MASK" suffix on the end to clarify. This
patch applies this change to the CM_IDLEST_* register bits.

The patch also adds a few bits that were missing, mostly from the 3430ES1
to ES2 revisions.

linux-omap source commits are d18eff5b5fa15e170794397a6a94486d1f774f77,
e1f1a5cc24615fb790cc763c96d1c5cfe6296f5b, and part of
9fe6b6cf8d9e0cbb429fd64553a4b3160a9e99e1

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m-regbits-24xx.h
m-regbits-34xx.h
rcm-common.h
027d8ded5d1c142eb120caff7a395c0637467ac9 16-May-2008 Jouni Hogander <jouni.hogander@nokia.com> [ARM] OMAP34XX: Add miscellaneous definitions related to 34xx

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m-regbits-34xx.h
rm-regbits-34xx.h
rm.h
ee1eec36345871955730e36232937c9d814a6e20 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2/3 clock: clean up mach-omap2/clock.c

This patch rolls up several cleanup patches.

1. Some unnecessarily verbose variable names are used in several clock.c
functions; clean these up per CodingStyle.

2. Remove omap2_get_clksel() and just use clk->clksel_reg and
clk->clksel_mask directly.

3. Get rid of void __iomem * usage in omap2_clksel_get_src_field.
Prepend the function name with an underscore to highlight that it is a
static function.

linux-omap source commits are 7fa95e007ea2f3c4d0ecd2779d809756e7775894,
af0ea23f1ee4a5bea3b026e38761b47089f9048a, and
91c0c979b47c44b08f80e4f8d4c990fb158d82c4.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
416db864c18343c6dcc5e9768c902460c8f8777c 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 clock: disable DPLL autoidle while waiting for DPLL to lock

During _omap3_noncore_dpll_lock(), if a DPLL has no active downstream
clocks and DPLL autoidle is enabled, the DPLL may never lock, since it
will enter autoidle immediately. To resolve this, disable DPLL
autoidle while locking the DPLL, and unconditionally wait for the DPLL
to lock. This fixes some bugs where the kernel would hang when returning
from retention or return the wrong rate for the DPLL.

This patch is a collaboration with Peter de Schrijver
<peter.de-schrijver@nokia.com> and Kevin Hilman
<khilman@deeprootsystems.com>.

linux-omap source commit is 3b7de4be879f1f4f55ae59882a5cbd80f6dcf0f0.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Peter de Schrijver <peter.de-schrijver@nokia.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.c
95f538ac370d9625457ba00ef7c3bb91e2b92f89 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 clock: avoid invalid FREQSEL values during DPLL rate rounding

The DPLL FREQSEL jitter correction bits are set based on a table in
the 34xx TRM, Table 4-38, according to the DPLL's internal clock
frequency "Fint." Several Fint frequency ranges are missing from this
table. Previously, we allowed these Fint frequency ranges to be
selected in the rate rounding code, but did not change the FREQSEL bits.
Correspondence with the OMAP hardware team indicates that Fint values
not in the table should not be used. So, prevent them from being
selected during DPLL rate rounding. This removes warnings and also
can prevent the chip from locking up.

The first pass through the rate rounding code will update the DPLL max
and min dividers appropriately, so later rate rounding passes will run
faster than the first.

Peter de Schrijver <peter.de-schrijver@nokia.com> put up with several
test cycles of this patch - thanks Peter.

linux-omap source commit is f9c1b82f55b60fc39eaa6e7aa1fbe380c0ffe2e9.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Peter de Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock24xx.h
lock34xx.h
85a5f78d2b15a2e73b6486a24b77bb3ab67d5bbc 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 clock: optimize DPLL rate rounding algorithm

The previous DPLL rate rounding algorithm counted the divider (N) down
from the maximum to 1. Since we currently use a broad DPLL rate
tolerance, and lower N values are more power-efficient, we can often
bypass several iterations through the loop by counting N upwards from
1.

Peter de Schrijver <peter.de-schrijver@nokia.com> put up with several
test cycles of this patch - thanks Peter.

linux-omap source commit is 6f6d82bb2f80fa20a841ac3e95a6f44a5a156188.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Peter de Schrijver <peter.de-schrijver@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
b32450409847dddf060a468707212d3493df4f63 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 clock: remove unnecessary dpll_data dereferences

Remove some clutter from omap2_dpll_round_rate().

linux-omap source commit is 4625dceb8583c02a6d67ededc9f6a8347b6b8cb7.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
c1bd7aaf678a7e35086520e284d5b44bc69b6599 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 clock: convert dpll_data.idlest_bit to idlest_mask

Convert struct dpll_data.idlest_bit field to idlest_mask. Needed since
OMAP2 uses two bits for DPLL IDLEST rather than one.

While here, add the missing idlest_* fields for DPLL3.

linux-omap source commits are 25bab0f176b0a97be18a1b38153f266c3a155784
and b0f7fd17db2aaf8e6e9a2732ae3f4de0874db01c.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.c
lock34xx.h
b8168d1e3989bc141da6bba87ad49e218ff04658 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 clock: DPLL{1,2}_FCLK clksel can divide by 4

OMAP34xx ES2 TRM Delta G to H states that the divider for DPLL1_FCLK and
DPLL2_FCLK can divide by 4 in addition to dividing by 1 and 2. Encode this
into the OMAP3 clock framework.

linux-omap source commit is 050684c18f2ea0b08fdd5233a0cd3c7f96e00a0e.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.h
f0587b63c24e0c7539c6e77f1bfc68e6053608c7 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 clock: fix DPLL jitter correction and rate programming

Fix DPLL jitter correction programming. Previously,
omap3_noncore_dpll_program() stored the FREQSEL jitter correction
parameter to the wrong register. This caused jitter correction to be set
incorrectly and also caused the DPLL divider to be programmed incorrectly.

Also, fix DPLL divider programming. An off-by-one error existed in
omap3_noncore_dpll_program(), causing DPLLs to be programmed with a higher
divider than intended.

linux-omap source commit is 5c0ec88a2145cdf2f2c9cc5fae49635c4c2476c7.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.c
f266950d0234599cc6d4a5602e43d0fb782de1d2 28-Jan-2009 Jouni Hogander <jouni.hogander@nokia.com> [ARM] OMAP3: PM: Emu_pwrdm is switched off by hardware even when sdti is in use

Using sdti doesn't keep emu_pwrdm on if hardware supervised pwrdm
transitions are used. This causes sdti stop to work when power
management is initialized and hardware supervised pwrdm control is
enabled. This patch disables hardware supervised pwrdm control for
emu_pwrdm. Now emu_pwrdm is switched off on boot by software when it
is not used.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lockdomains.h
d96df00d6dfd2482fb23ef7aabcaa36e6dce4d1c 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2/3 clockdomains: autodeps should respect platform flags

Fix the clockdomain autodep code to respect omap_chip platform flags.

Resolves "Unable to handle kernel paging request at virtual address
5f75706d" panic during power management initialization on OMAP2.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lockdomain.c
054ce503ae335dbc8610ef5aa0852c0c090023fe 28-Jan-2009 Tomi Valkeinen <tomi.valkeinen@nokia.com> [ARM] OMAP: wait for pwrdm transition after clk_enable()

Enabling clock in a disabled power domain causes the power domain to be
turned on. However, the power transition is not always finished when
clk_enable() returns and this randomly crashes the kernel when an
interrupt happens right after the clk_enable, and the kernel tries to
read the irq status register for that domain.

Why the irq status register is inaccessible, I don't know. Also it
doesn't seem to be related to the module being not powered up, but to
the transition itself.

The same could perhaps happen after clk_disable also, but I have not
witnessed that.

The problem affects at least dss, cam and sgx clocks.

This change waits for the transition to be finished before returning
from omap2_clkdm_clk_enable().

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lockdomain.c
be48ea74d49408c5c4f999c730d35eaf0034f273 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 powerdomains: remove RET from SGX power states list

The SGX device on OMAP3 does not support retention, so remove RET from the
list of possible SGX power states. Problem debugged by Richard Woodruff
<r-woodruff2@ti.com>.

Signed-off-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
owerdomains34xx.h
46e0ccf8ae32e53dc34a274977e2c6256b2deddc 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 PRCM: add DPLL1-5 powerdomains, clockdomains; mark clocks

Each DPLL exists in its own powerdomain (cf 34xx TRM figure 4-18) and
clockdomain; so, create powerdomain and clockdomain structures for them.
Mark each DPLL clock as belonging to their respective DPLL clockdomain.
cf. 34xx TRM Table 4-27 (among other references).

linux-omap source commits are acdb615850b9b4f7d1ab68133a16be8c8c0e7419 and
a8798a48f33e9268dcc7f30a4b4a3ce4220fe0c9.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.h
lockdomains.h
owerdomains.h
owerdomains34xx.h
15b52bc4cb2b4cc93047b957a6c7b9dbd910a6fa 08-May-2008 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 clock: move sys_clkout2 clk to core_clkdm

sys_clkout2 belongs in the core_clkdm (3430 TRM section 4.7.2.2).
It's not clear whether it actually is in the CORE clockdomain, or whether
it is technically in a different clockdomain; but this is closer to
reality than the present configuration.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.h
d37f1a136783aa9c9b1a6cd832a60cb2bbd2453a 10-Sep-2008 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2/3 clockdomains: add CM and PRM clkdms

Add clockdomains for the CM and PRM. These will ultimately replace the
"wkup_clkdm", which appears to not actually exist on the hardware.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lockdomains.h
5b74c67660dbd536a4f4e8cea12d10683ad2e432 03-Feb-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2/3 clockdomains: combine pwrdm, pwrdm_name into union in struct clockdomain

struct clockdomain contains a struct powerdomain *pwrdm and const char
*pwrdm_name. The pwrdm_name is only used at initialization to look up
the appropriate pwrdm pointer. Combining these into a union saves
about 100 bytes on 3430SDP. This patch should not cause any change in
kernel function.

Updated to gracefully handle autodeps that contain invalid powerdomains,
per Russell King's review comments.

Boot-tested on BeagleBoard ES2.1.

linux-omap source commit is 718fc6cd4db902aa2242a736cc3feb8744a4c71a.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lockdomain.c
lockdomains.h
aeec299011da8c3f07a47fe5d988f0eafda53906 28-Jan-2009 Kevin Hilman <khilman@mvista.com> [ARM] OMAP2: Implement CPUfreq frequency table based on PRCM table

This patch adds a CPUfreq frequency-table implementation for OMAP2 by
walking the PRCM rate-table for available entries and adding them to a
CPUfreq table.

CPUfreq can then be used to manage switching between all the available
entries in the PRCM rate table. Either use the CPUfreq sysfs
interface directly, (see Section 3 of Documentation/cpu-freq/user-guide.txt)
or use the cpufrequtils package:
http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html

Signed-off-by: Kevin Hilman <khilman@mvista.com>

Updated to try to use cpufreq_table if it exists.

linux-omap source commit is 77ce544fa48deb7a2003f454624e3ca10d37ab87.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
ae8578c0194695bd37435249dfed720769a6bbf3 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP: Make dpll4_m4_ck programmable with clk_set_rate()

Filling the set_rate and round_rate fields of dpll4_m4_ck makes
this clock programmable through clk_set_rate(). This is needed
to give omapfb control over the dss1_alwon_fck rate.

This patch includes a fix from Tomi Valkeinen <tomi.valkeinen@nokia.com>.

linux-omap source commits are e42218d45afbc3e654e289e021e6b80c657b16c2 and
9d211b761b3cdf7736602ecf7e68f8a298c13278.

Signed-off-by: Måns Rullgård <mans@mansr.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.h
6c8fe0b954b198d8e9116b824f7998c00f47c46c 28-Jan-2009 Sergio Aguirre <saaguirre@ti.com> [ARM] OMAP: Add CSI2 clock struct for handling it with clock API

Add CSI2 clock struct for handling it with clock API when TI PM is disabled.

linux-omap source commit is 8b20f4498928459276bd3366e3381ad595d23432.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.c
lock34xx.h
m-regbits-34xx.h
712d7c860269018fc92169e0f6b42218fd82a6d1 28-Jan-2009 Daniel Stone <daniel.stone@nokia.com> [ARM] OMAP2: Fix definition of SGX clock register bits

The GFX/SGX functional and interface clocks have different masks, for
some unknown reason, so split EN_SGX_SHIFT into one each for fclk and
iclk.

Correct according to the TRM and the far more important 'does this
actually work at all?' metric.

linux-omap source commit is de1121fdb899f762b9e717f44eaf3fae7c00cd3e.

Signed-off-by: Daniel Stone <daniel.stone@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.h
m-regbits-34xx.h
9cfd985e27bfdf1e120aecaf595db265f4b5eb27 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 clock: fix 96MHz clocks

Fix some bugs in the OMAP3 clock tree pertaining to the 96MHz clocks.
The 96MHz portion of the clock tree should now have reasonable
fidelity to the 34xx TRM Rev I.

One remaining question mark: it's not clear exactly which 96MHz source
clock the USIM uses. This patch sticks with the previous setting, which
seems reasonable.

linux-omap source commit is 15c706e8179ce238c3ba70a25846a36b73bd2359.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.h
m-regbits-34xx.h
207233533dd197457634810c6dc1b5d65ab6b8c7 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3: move USBHOST SAR handling from clock framework to powerdomain layer

Remove usbhost_sar_fclk from the OMAP3 clock framework. The bit that
the clock was tweaking doesn't actually enable or disable a clock; it
controls whether the hardware will save and restore USBHOST state
when the powerdomain changes state. (That happens to coincidentally
enable a clock for the duration of the operation, hence the earlier
confusion.)

In place of the clock, mark the USBHOST powerdomain as supporting
hardware save-and-restore functionality.

linux-omap source commit is f3ceac86a9d425d101d606d87a5af44afef27179.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.c
lock34xx.h
owerdomains34xx.h
9299fd85a00a52b7c575fa02b3031ad407a15344 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP24xx clock: add missing SSI L4 interface clock

This patch adds a missing OMAP24xx clock, the SSI L4 interface clock,
as "ssi_l4_ick".

linux-omap source commit is ace129d39b3107d330d4cf6934385d13521f2fec.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock24xx.h
fecb494beef09e4caaa80313834af26f57091195 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP: Fix sparse, checkpatch warnings in OMAP2/3 PRCM/PM code

Fix sparse & checkpatch warnings in OMAP2/3 PRCM & PM code. This mostly
consists of:

- converting pointer comparisons to integers in form similar to
(ptr == 0) to the standard idiom (!ptr)

- labeling a few non-static private functions as static

- adding prototypes for *_init() functions in the appropriate header
files, and getting rid of the corresponding open-coded extern
prototypes in other C files

- renaming the variable 'sclk' in mach-omap2/clock.c:omap2_get_apll_clkin
to avoid shadowing an earlier declaration

Clean up checkpatch issues. This mostly involves:

- converting some asm/ includes to linux/ includes

- cleaning up some whitespace

- getting rid of braces for conditionals with single following statements

Also take care of a few odds and ends, including:

- getting rid of unlikely() and likely() - none of this code is particularly
fast-path code, so the performance impact seems slim; and some of those
likely() and unlikely() indicators are probably not as accurate as the
ARM's branch predictor

- removing some superfluous casts

linux-omap source commit is 347df59f5d20fdf905afbc26b1328b0e28a8a01b.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock.h
lock24xx.c
m.c
16c90f020034d3cd38b3dab280001e728e6b19e5 28-Jan-2009 Paul Walmsley <paul@pwsan.com> [ARM] OMAP2/3: Add non-CORE DPLL rate set code and M, N programming

Add non-CORE DPLL rate set code and M,N programming for OMAP3.
Connect it to OMAP34xx DPLLs 1, 2, 4, 5 via the clock framework.

You may see some warnings on rate sets from the freqsel code. The
table that TI presented in the 3430 TRM Rev F does not cover Fint <
750000, which definitely occurs in practice. However, the lack of this
freqsel case does not appear to impair the DPLL rate change.

linux-omap source commit is 689fe67c6d1ad8f52f7f7b139a3274b79bf3e784.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.c
lock34xx.h
6f7607ccd175518a3ee7dccc1620f3a086689668 28-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: hsmmc: new short connection id names

... rather than the clock names themselves.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock34xx.c
evices.c
6c5dbb40f4795f3fdbf3e5aab7eda4e2f838d08b 24-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: omap24xxcam: use short connection IDs for omap2 clocks

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
eeec7c8d18465a85c212230bdb715e3f029dbf4e 19-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: convert omap RNG clocks to match by devid and conid

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock34xx.c
cc51c9d444ae1532be6a600c65ac0d3d22472c53 22-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: w1: convert omap HDQ clocks to match by devid and conid

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock34xx.c
1d14de087dd1cab0436fb7c9d5e38d852f33df69 19-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: i2c: use short connection ids

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock34xx.c
b820ce4e6736ddad7ccda528e10aaf37ad3f13f9 23-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: mcbsp: convert to use fck/ick clocks directly

Rather than introducing a special 'mcbsp_clk' with code behind it in
mach-omap*/mcbsp.c to handle the SoC specifics, arrange for the mcbsp
driver to be like any other driver. mcbsp requests its fck and ick
clocks directly, and the SoC specific code deals with selecting the
correct clock.

There is one oddity to deal with - OMAP1 fiddles with the DSP clocks
and DSP reset, so we move this to the two callback functions.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock34xx.c
cbsp.c
1b5715ec471d1def9722e22b6cb1d24841b5e290 19-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: mcspi: new short connection id names

... rather than the clock names themselves.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock34xx.c
5c9e02b1abcb227f47529ad72cc4a3234cddae49 19-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: MMC: convert clocks to match by devid and conid

Convert OMAP MMC driver to match clocks using the device ID and a
connection ID rather than a clock name. This allows us to eliminate
the OMAP1/OMAP2 differences for the function clock.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
39a80c7f379e1c1d3e63b204b8353b7381d0a3d5 19-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: watchdog: convert clocks to match by devid and conid

This eliminates the need for separate OMAP24xx and OMAP34xx clock
requesting code sections.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock34xx.c
44dc9d027f1cb56625b1011d8725d2ab614c04e6 19-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: convert OMAP3 to use clkdev

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock34xx.c
lock34xx.h
8ad8ff6548f1c0bcbeaa02f274b3927c5015a921 19-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: convert OMAP2 to use clkdev

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.c
lock24xx.h
1e98ffa85e70f423e2e41156cc3d549c353cd897 19-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: ensure devname is set for dummy devices

This is needed to use these with the clkdev helpers.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
evices.c
9a5fedac187f30116013a8420149d4ca11a44f0d 13-Nov-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: move propagate_rate() calls into generic omap clock code

propagate_rate() is recursive, so it makes sense to minimise the
amount of stack which is used for each recursion. So, rather than
recursing back into it from the ->recalc functions if RATE_PROPAGATES
is set, do that test at the higher level.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock24xx.c
lock24xx.h
lock34xx.c
lock34xx.h
c6af45085211db8720d6b94b3985ce7198d764e3 13-Nov-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: move clock propagation into core omap clock code

Move the clock propagation calls for set_parent and set_rate into
the core omap clock code, rather than having these calls scattered
throughout the OMAP1 and OMAP2 implementations.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
c1168dc31d8e0688168030ac66341897ed7ca32a 04-Nov-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: don't use clkops_omap2_dflt_wait for non-ICLK/FCLK clocks

The original code in omap2_clk_wait_ready() used to check the low 8
bits to determine whether they were within the FCLKEN or ICLKEN
registers. Specifically, the test is satisfied when these offsets
are used:

CM_FCLKEN, CM_FCLKEN1, CM_CLKEN, OMAP24XX_CM_FCLKEN2, CM_ICLKEN,
CM_ICLKEN1, CM_ICLKEN2, CM_ICLKEN3, OMAP24XX_CM_ICLKEN4
OMAP3430_CM_CLKEN_PLL, OMAP3430ES2_CM_CLKEN2

If one of these offsets isn't used, omap2_clk_wait_ready() merely
returns without doing anything. So we should use the non-wait clkops
version instead and eliminate that conditional.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock24xx.h
lock34xx.h
bc51da4ee46d481dc3fbc57ec407594b80e92705 04-Nov-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: eliminate unnecessary conditionals in omap2_clk_wait_ready

Rather than employing run-time tests in omap2_clk_wait_ready() to
decide whether we need to wait for the clock to become ready, we
can set the .ops appropriately.

This change deals with the OMAP24xx and OMAP34xx conditionals only.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock.h
lock24xx.h
lock34xx.h
b36ee724208358bd892ad279efce629740517149 04-Nov-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: add default .ops to all remaining OMAP2 clocks

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock.h
lock24xx.h
lock34xx.h
57137181e3136d4c7b20b4b95b9817efd38f8f07 04-Nov-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: kill PARENT_CONTROLS_CLOCK

PARENT_CONTROLS_CLOCK just makes enable/disable no-op, and is
functionally an alias for ALWAYS_ENABLED. This can be handled
in the same way, using clkops_null.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock24xx.h
lock34xx.h
897dcded6fb6565f4d1c22a55d21f135403db132 04-Nov-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: provide a NULL clock operations structure

... and use it for clocks which are ALWAYS_ENABLED. These clocks
use a non-NULL enable_reg pointer for other purposes (such as
selecting clock rates.)

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock24xx.h
lock34xx.h
548d849574847b788fe846fe21a41386063be161 04-Nov-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: introduce clock operations structure

Collect up all the common enable/disable clock operation functions
into a separate operations structure.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock24xx.c
lock24xx.h
lock34xx.c
lock34xx.h
db8ac47cfccaafd3fa4c5c15320809d44f4fcef9 04-Nov-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: remove VIRTUAL_CLOCK

Nothing tests the clock flags for this bit, so it serves no purpose.
Remove it.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock24xx.h
0dc23d704874e892c3fb5f2c0e4dfbef3c9c6edf 29-Jan-2009 Kevin Hilman <khilman@deeprootsystems.com> ARM: OMAP: fix fault in enter_full_retention()

In omap24xx_cpu_suspend assembly routine, the r2 register which holds
the address of the SDRC_POWER reg is set to zero before the value is
written back triggering a fault due to writing to address zero.

It's hard to tell where this change was introduced since this file
has been moved and merged.

While this fix prevents a crash, suspend on my n810 is broken with
current kernels. I never come out of suspend.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
leep24xx.S
5461af5af5c6a7fee78978aafe720541bf3a2f55 29-Jan-2009 김규원 <chammoru@gmail.com> ARM: OMAP: Mask interrupts when disabling interrupts, v2

By Ingo Molnar, interrupts are not masked by default.
(refer to 76d2160147f43f982dfe881404cfde9fd0a9da21)

But if interrupts are not masked, the processor can wake up while in
Suspend-to-RAM state by an external interrupt. For example, if an
OMAP3 board is connected to Host PC by USB and entered to Suspend-to-RAM
state, it wake up automatically by M_IRQ_92. The disable_irq() function
can't disable the interrupt in H/W level, So I modified
arch/arm/mach-omap2/irq.c

Signed-off-by: Kim Kyuwon <chammoru@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
df88acbbdc48d0bfe2a46bf2561d984b6d87a9ac 29-Jan-2009 Aaro Koskinen <Aaro.Koskinen@nokia.com> ARM: OMAP: gptimer min_delta_ns corrected

When 32 kHz timer is used the min_delta_ns should be initialized so
that it reflects the timer programming cost. A write to the timer
device will be usually posted, but it takes roughly 3 cycles before
it is effective. If the timer is reprogrammed before that, the CPU
will stall until the previous write completes. This was pointed out by
Richard Woodruff.

Since the lower bound for min_delta_ns is 1000, the change is visible
only with tick rates less than 3 MHz.

Also note that the old value is incorrect for 32 kHz also due to
a rounding error, and it can cause the timer queue to hang (due to
clockevent code trying to program the timer with zero ticks).

Signed-off-by: Aaro Koskinen <Aaro.Koskinen@nokia.com>
Reviewed-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer-gp.c
0dffb5c57a1d76532e2f2c7398579bfce81c3e5c 29-Jan-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP: Fix hsmmc init, v2

The naming accidentally broke while changing the name for the
driver to not to conflict with the other mmc driver.

Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
187e688d237a6df11a2d32e8ac480b6d1fbd40b9 29-Jan-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP: Fix omap34xx revision detection for ES3.1

Fix omap34xx revision detection for ES3.1

Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
06151158f2da4764479b4ec01688dc4bade6ce9d 29-Jan-2009 Stanley.Miao <stanley.miao@windriver.com> ARM: OMAP: Fix McBSP spin_lock deadlock

A spin_lock deadlock will occur when omap_mcbsp_request() is invoked.

omap_mcbsp_request()
\- clk_enable(mcbsp->clk) [takes and holds clockfw_lock]
\- omap2_clk_enable()
\- _omap2_clk_enable()
\- omap_mcbsp_clk_enable()
\- clk_enable(child clock) [tries for clockfw_lock again]

mcbsp_clk is a virtual clock and it comprises several child clocks. when
enable mcbsp_clk in omap_mcbsp_request(), the enable function of mcbsp_clk
will enable its child clocks, then the deadlock occurs.

The solution is to remove the virtual clock and enable these child clocks in
omap_mcbsp_request() directly.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
145d9c94b9039efdab6853255f6b916adc793bfd 15-Jan-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP: Fix compile for beagle

Move twl4030 gpio init code to where it should be.
Also include twl4030.h.

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-omap3beagle.c
73069e388d0f2509e45e1a58b0facca99ef2446e 15-Jan-2009 Jarkko Nikula <jarkko.nikula@nokia.com> ARM: OMAP: Fix gpio by switching to generic gpio calls, v2

Fix compile by removing remaining omap specific gpio
calls. Based on earlier patches by Jarkko Nikula.

Also remove old GPIO key code, there is already a patch
to do this with gpio_keys.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
oard-ldp.c
dd7667aa700a45ffb3efac64f6df0867d5837f5b 15-Jan-2009 Tony Lindgren <tony@atomide.com> ARM: OMAP: Fix compile for various McBSP

Include irqs.h or cpu.h directly as needed to fix
omap builds.

Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
80b02c172bdecd3744513b97f330c7b1d74eea35 08-Jan-2009 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c

arch/arm/mach-at91/at91cap9.c:337: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-at91/at91rm9200.c:301: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-at91/at91sam9260.c:351: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-at91/at91sam9261.c:287: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-at91/at91sam9263.c:312: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-at91/at91sam9rl.c:304: error: 'NR_AIC_IRQS' undeclared here (not in a function)
arch/arm/mach-h720x/h7202-eval.c:38: error: implicit declaration of function 'IRQ_CHAINED_GPIOB'
arch/arm/mach-ks8695/devices.c:46: error: 'KS8695_IRQ_WAN_RX_STATUS' undeclared here (not in a function)
arch/arm/mach-msm/devices.c:28: error: 'INT_UART1' undeclared here (not in a function)
arch/arm/mach-mx2/devices.c:233: error: 'MXC_GPIO_IRQ_START' undeclared here (not in a function)
arch/arm/mach-mx3/devices.c:128: error: 'MXC_GPIO_IRQ_START' undeclared here (not in a function)
arch/arm/mach-omap1/mcbsp.c:140: error: 'INT_730_McBSP1RX' undeclared here (not in a function)
arch/arm/mach-omap1/mcbsp.c:165: error: 'INT_McBSP1RX' undeclared here (not in a function)
arch/arm/mach-omap1/mcbsp.c:200: error: 'INT_McBSP1RX' undeclared here (not in a function)
arch/arm/mach-omap2/board-apollon.c:286: error: implicit declaration of function 'omap_set_gpio_direction'
arch/arm/mach-omap2/mcbsp.c:154: error: 'INT_24XX_MCBSP1_IRQ_RX' undeclared here (not in a function)
arch/arm/mach-omap2/mcbsp.c:181: error: 'INT_24XX_MCBSP1_IRQ_RX' undeclared here (not in a function)
arch/arm/mach-pxa/e350.c:36: error: 'IRQ_BOARD_START' undeclared here (not in a function)
arch/arm/plat-s3c/dev-i2c0.c:32: error: 'IRQ_IIC' undeclared here (not in a function)
...

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
cbsp.c
c58bd34d00e04df9a0691732086cf8102b20d907 06-Jan-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'i2c-next' of git://aeryn.fluff.org.uk/bjdooks/linux

* 'i2c-next' of git://aeryn.fluff.org.uk/bjdooks/linux:
i2c-omap: fix type of irq handler function
i2c-s3c2410: Change IRQ to be plain integer.
i2c-s3c2410: Allow more than one i2c-s3c2410 adapter
i2c-s3c2410: Remove default platform data.
i2c-s3c2410: Use platform data for gpio configuration
i2c-s3c2410: Fixup style problems from checkpatch.pl
i2c-omap: Enable I2C wakeups for 34xx
i2c-omap: reprogram OCP_SYSCONFIG register after reset
i2c-omap: convert 'rev1' flag to generic 'rev' u8
i2c-omap: fix I2C timeouts due to recursive omap_i2c_{un,}idle()
i2c-omap: Clean-up i2c-omap
i2c-omap: Don't compile in OMAP15xx I2C ISR for non-OMAP15xx builds
i2c-omap: Mark init-only functions as __init
i2c-omap: Add support for omap34xx
i2c-omap: FIFO handling support and broken hw workaround for i2c-omap
i2c-omap: Add high-speed support to omap-i2c
i2c-omap: Close suspected race between omap_i2c_idle() and omap_i2c_isr()
i2c-omap: Do not use interruptible wait call in omap_i2c_xfer_msg

Fix up apparently-trivial conflict in drivers/i2c/busses/i2c-s3c2410.c
b840d79631c882786925303c2b0f4fefc31845ed 02-Jan-2009 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)
x86: export vector_used_by_percpu_irq
x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and()
sched: nominate preferred wakeup cpu, fix
x86: fix lguest used_vectors breakage, -v2
x86: fix warning in arch/x86/kernel/io_apic.c
sched: fix warning in kernel/sched.c
sched: move test_sd_parent() to an SMP section of sched.h
sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0
sched: activate active load balancing in new idle cpus
sched: bias task wakeups to preferred semi-idle packages
sched: nominate preferred wakeup cpu
sched: favour lower logical cpu number for sched_mc balance
sched: framework for sched_mc/smt_power_savings=N
sched: convert BALANCE_FOR_xx_POWER to inline functions
x86: use possible_cpus=NUM to extend the possible cpus allowed
x86: fix cpu_mask_to_apicid_and to include cpu_online_mask
x86: update io_apic.c to the new cpumask code
x86: Introduce topology_core_cpumask()/topology_thread_cpumask()
x86: xen: use smp_call_function_many()
x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c
...

Fixed up trivial conflict in kernel/time/tick-sched.c manually
320ab2b0b1e08e3805a3e1084a2f0eb1938d5d67 13-Dec-2008 Rusty Russell <rusty@rustcorp.com.au> cpumask: convert struct clock_event_device to cpumask pointers.

Impact: change calling convention of existing clock_event APIs

struct clock_event_timer's cpumask field gets changed to take pointer,
as does the ->broadcast function.

Another single-patch change. For safety, we BUG_ON() in
clockevents_register_device() if it's not set.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Ingo Molnar <mingo@elte.hu>
imer-gp.c
917fa280e5e99edcae44a34feab295a59922d16c 11-Dec-2008 Kevin Hilman <khilman@deeprootsystems.com> omap mmc: force MMC module reset on boot

The bootloader may leave the MMC in a state which prevents hitting
retention. Even when MMC is not compiled in, each MMC module needs to
be forced into reset.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
evices.c
90c62bf08f5823faa097271f3346a9142769b9ac 11-Dec-2008 Tony Lindgren <tony@atomide.com> omap mmc: Add low-level initialization for hsmmc controller

Add low-level initialization for hsmmc controller. Merged into
this patch patch are various improvments and board support by
Grazvydas Ignotas and David Brownell.

Also change wire4 to be wires, as some newer controllers support
8 data lines.

Cc: Pierre Ossman <drzeus-mmc@drzeus.cx>
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
oard-2430sdp.c
oard-ldp.c
oard-omap3beagle.c
oard-omap3pandora.c
oard-overo.c
evices.c
mc-twl4030.c
mc-twl4030.h
d88746652b4d133284d1fdd05b5e999e8f44c998 11-Dec-2008 Tony Lindgren <tony@atomide.com> omap mmc: Add better MMC low-level init

This will simplify the MMC low-level init, and make it more
flexible to add support for a newer MMC controller in the
following patches.

The patch rearranges platform data and gets rid of slot vs
controller confusion in the old data structures. Also fix
device id numbering in the clock code.

Some code snippets are based on an earlier patch by
Russell King <linux@arm.linux.org.uk>.

Cc: Pierre Ossman <drzeus-mmc@drzeus.cx>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock24xx.h
lock34xx.h
evices.c
652bcd8f72cc0cdf4499ce7d73990514e5e3e4b9 11-Dec-2008 Tony Lindgren <tony@atomide.com> omap mmc: Remove broken MMC init code

Most of the omap1 MMC boards got broken by an earlier patch
138ab9f8321f67c71984ca43222efa71b0a0a0a9. If you look closely,
the MMC init funtions are pretty much just stubs.

Remove broken init code to make room for cleaner MMC init code.

Cc: Pierre Ossman <drzeus-mmc@drzeus.cx>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
oard-generic.c
oard-h4.c
2619bc327417f549f1c89d5ef9b4a4aa768f41a2 11-Dec-2008 Arun KS <arunks@mistralsolutions.com> ARM: OMAP3: Pin multiplexing updates for 24xx and 34xx

This patch adds some new pin multiplexing options
for McBSP and McSPI from Arun KS. Also add two more
GPIOs from David Brownell.

Also mark omap24xx_cfg_reg() static.

Signed-off-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
da177247e89c672fc910cbbc4e24d7d578e2e0b2 11-Dec-2008 Grazvydas Ignotas <notasas@gmail.com> ARM: OMAP3: Add basic support for Pandora handheld console

This patch adds support for basic features: uarts, i2c,
and rtc. Also includes defconfig.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-omap3pandora.c
b1c056d20caa6fdd3481b348567f1f91e98aaa4b 11-Dec-2008 Stanley.Miao <stanley.miao@windriver.com> ARM: OMAP3: LDP: Add Ethernet device support to make ldp boot succeess

Add Ethernet device support in board-ldp.c to make ldp can boot and mount
nfs successfully.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
oard-ldp.c
6ccc4c0dedf8cc63bf4f7c0cfa1b72c4a5fae148 11-Dec-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP3: Warn about spurious interrupts

In the case of spurious interrupt, the handler for previous interrupt
handler needs to flush posted writes with a read back of the interrupt
ack register. Warn about handlers that need to flush posted writes.

Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
6a769ed40aab1c93ed211287bcdcebfccc9972f5 11-Dec-2008 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP2: bard-h4: list those eeproms

Declare the two 1Kbit EEPROMs included in the H4 board stack.
One is on the CPU card; the other is on the mainboard.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
84a34344ea1f2f313d84a9fb4cb685b65a6ec26d 11-Dec-2008 Lauri Leukkunen <lauri.leukkunen@nokia.com> ARM: OMAP2: Use omap_rev() instead of system_rev

system_rev is meant for board revision, this patch changes
all relevant instances to use the new omap_rev() function
liberating system_rev to be used with ATAG_REVISION as it
has been designed.

Signed-off-by: Lauri Leukkunen <lauri.leukkunen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.c
d.c
a88231430384f49bebf8a6ec607a9eb4f2254e34 11-Dec-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Fix cpu detection

At some point omap2 changed the bits for GET_OMAP_CLASS, which
broke 15xx detection on 730 as noticed by Russell King.

This patch fixes omap2 cpu detection to respect the original
GET_OMAP_CLASS, and simplifies the detection for 34xx.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.c
d.c
5ba02dcab945dc0bcde7df0c5958329f34bd04ae 11-Dec-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Prepare cpu detection for further improvements

Rename omap2_check_revision to omap24xx_check_revision.
Then next patch will split if further and add omap34xx_check_revision.

Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
f2d18fea8b87d09bdda22cc67c36f5f463452a33 11-Dec-2008 Jarkko Nikula <jarkko.nikula@nokia.com> ARM: OMAP: Switch to gpio_request/free calls

Switch to gpio_request/free calls

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-apollon.c
sb-tusb6010.c
e918edf7c2f2270dcf18cdcbdf86174a013a124e 11-Dec-2008 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP: switch to gpio_direction_output

More conversion to the standard GPIO interfaces: stop using
omap_set_gpio_direction() entirely, and switch over to the
gpio_direction_output() call.

Note that because gpio_direction_output() includes the initial
value, this change isn't quite transparent.

- For the call sites which defined an initial value either
before or after setting the direction, that value was used.

When that value was previously assigned afterwards, this
could eliminate a brief output glitch ... and possibly
change behavior. In a few cases (LCDs) several values
were assigned together ... those were re-arranged to match
the explicit sequence provided.

- Some call sites didn't define such a value; so I chose an
initial "off/reset" value that seemed to default to "off".

In short, files touched by this patch might notice some small
changes in startup behavior (with trivial fixes).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
40e3925ba15b604c9ff87154d77a914221d11cdc 11-Dec-2008 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP: switch to gpio_direction_input

More switchover to the cross-platform GPIO interface:
use gpio_direction_input(), not an OMAP-specific call.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-apollon.c
sb-tusb6010.c
0b84b5ca43a9c86cfad848c135fdbf7c72af68fa 11-Dec-2008 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP: switch to standard gpio get/set calls

This patch replaces some legacy OMAP GPIO calls with the "new" (not
really, any more!) calls that work on most platforms.

The calls addressed by this patch are the simple ones to get and set
values ... for code that's in mainline, including the implementations
of those calls.

Except for the declarations and definitions of those calls, all of
these changes were performed by a simple SED script. Plus, a few
"if() set() else set()" branches were merged by hand.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
89db94825447a03f17e03c0a6c8840a0a22cf155 11-Dec-2008 Jouni Hogander <jouni.hogander@nokia.com> ARM: OMAP: Enable GPIO debounce clock only when debounce is enabled v3

This patch changes gpio "driver" to enable debounce clock for
gpio-bank only when debounce is enabled for some gpio in that bank.

Gpio functional clocks are also renamed in clock tree, gpioX_fck ->
gpioX_dbck.

This patch triggers problem with gpio wake-up and Omap3. Gpios in PER
domain aren't capable to generate wake-up if PER domain is in sleep
state. For this iopad wake-up should be used and needed pad
configuration should be done. Enabling iopad wake-up for gpio pads is
left for bootloader or omap mux configuration in kernel.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.h
4574eb6892a13bc91aac8676457d46798935d653 21-Nov-2008 Syed Mohammed Khasim <x0khasim@ti.com> i2c-omap: Add high-speed support to omap-i2c

Omap2430 has additional support for high-speed I2C.

This patch moves I2C speed parameter (from module) to platform data.
Also added basic High Speed support based on I2C bus speed.

This patch is tested for high speed I2C (with TWL4030 Keypad) and works as
expected.

Also change the 2430 i2chs_fck names to use the standard naming.

Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock24xx.h
85d7a070264272ceffec0c7ce0e9af1e37c62b6e 04-Nov-2008 Sanjeev Premi <premi@ti.com> ARM: OMAP: Fix compiler warnings in gpmc.c

Fix these compiler warnings:

gpmc.c: In function 'gpmc_init':
gpmc.c:432: warning: 'return' with a value, in function returning void
gpmc.c:439: warning: 'return' with a value, in function returning void

Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
9301975ec251bab1ad7cfcb84a688b26187e4e4a 20-Oct-2008 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

This merges branches irq/genirq, irq/sparseirq-v4, timers/hpet-percpu
and x86/uv.

The sparseirq branch is just preliminary groundwork: no sparse IRQs are
actually implemented by this tree anymore - just the new APIs are added
while keeping the old way intact as well (the new APIs map 1:1 to
irq_desc[]). The 'real' sparse IRQ support will then be a relatively
small patch ontop of this - with a v2.6.29 merge target.

* 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (178 commits)
genirq: improve include files
intr_remapping: fix typo
io_apic: make irq_mis_count available on 64-bit too
genirq: fix name space collisions of nr_irqs in arch/*
genirq: fix name space collision of nr_irqs in autoprobe.c
genirq: use iterators for irq_desc loops
proc: fixup irq iterator
genirq: add reverse iterator for irq_desc
x86: move ack_bad_irq() to irq.c
x86: unify show_interrupts() and proc helpers
x86: cleanup show_interrupts
genirq: cleanup the sparseirq modifications
genirq: remove artifacts from sparseirq removal
genirq: revert dynarray
genirq: remove irq_to_desc_alloc
genirq: remove sparse irq code
genirq: use inline function for irq_to_desc
genirq: consolidate nr_irqs and for_each_irq_desc()
x86: remove sparse irq from Kconfig
genirq: define nr_irqs for architectures with GENERIC_HARDIRQS=n
...
8ef50901d3c619127858b7d7f614fcab45e09d6b 16-Oct-2008 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (51 commits)
[ARM] 5308/1: Fix Viper ISA IRQ handling
[ARM] 5307/1: pxa: fix CM-X2XX PCMCIA build error
[ARM] 5306/1: pxa: fix build error on CM-X270
[ARM] 5302/1: ARM: OMAP: Revert omap3 WDT changes to avoid merge conflict
[ARM] 5305/1: ARM: OMAP: Fix compile of McBSP by removing unnecessary check
[ARM] 5301/1: ARM: OMAP: Add missing irq defines
ARM: OMAP3: Add default kernel config for OMAP LDP
ARM: OMAP3: Add basic board support for OMAP LDP
ARM: OMAP3: Defconfig for the Gumstix Overo board (rev 3)
ARM: OMAP3: Add support for the Gumstix Overo board (rev 3)
ARM: OMAP3: Add Beagle defconfig
ARM: OMAP3: Add minimal Beagle board support
ARM: OMAP3: Add minimal omap3430 support
ARM: OMAP2: Fix sparse, checkpatch warnings in OMAP2/3 IRQ code
ARM: OMAP: Fixes to omap_mcbsp_request function
ARM: OMAP: Add support for OMAP2430 in McBSP
ARM: OMAP: Add support for McBSP devices 3 - 5 on 34xx
ARM: OMAP: Allocate McBSP devices dynamically
Fix sections for omap-mcbsp platform driver
[ARM] S3C24XX: Additional include moves
...
4b1135a277f4b38f60b9c9f28adae467feb07856 16-Oct-2008 Thomas Gleixner <tglx@linutronix.de> genirq: fix name space collisions of nr_irqs in arch/*

local shadows of global variables are _bad_

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
rq.c
b6825d2df55aa7d7341c715b577b73a6a03dc944 14-Oct-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'omap-all' into devel

Conflicts:

arch/arm/mach-omap2/gpmc.c
arch/arm/mach-omap2/irq.c
9df013b3e46c67dd3745df91eaccdc719118e0cc 14-Oct-2008 Jean Delvare <khali@linux-fr.org> i2c/isp1301_omap: Convert to a new-style i2c driver, part 2

Based on David Brownell's patch for tps65010 and previous work by
Felipe Balbi, this patch finishes converting isp1301_omap to a
new-style i2c driver.

There's definitely room for further drivers cleanups, but these are
out of the scope of this patch.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
59aaade72544ad1be4183c1066c20b5883a78717 11-Oct-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'omap3-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into omap-all
492656511b109b5f9ee64d05c90b5bd9043549fa 10-Oct-2008 Nishant Kamat <nskamat@ti.com> ARM: OMAP3: Add basic board support for OMAP LDP

This adds minimal board support for the OMAP3430 LDP development platform.

Signed-off-by: Nishant Kamat <nskamat@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-ldp.c
6a4690c22f5da1eb1c898b61b6a80da52fbd976f 09-Oct-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'ptebits' into devel

Conflicts:

arch/arm/Kconfig
8e5bdc44ba82d1f75c8732c2c2b64a22bb622e8f 09-Oct-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'omap2-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into omap-all
eba2645aeb41d430c4601f6624c44bc971488fe2 09-Oct-2008 Steve Sakoman <steve@sakoman.com> ARM: OMAP3: Add support for the Gumstix Overo board (rev 3)

This patch adds minimal overo support.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-overo.c
2885f00049f80287b14192145699774fa55c14f7 09-Oct-2008 Syed Mohammed, Khasim <khasim@ti.com> ARM: OMAP3: Add minimal Beagle board support

Add minimal Beagle board support. Based on earlier patches
by Syed Mohammed Khasim with some fixes from linux-omap tree.

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-omap3beagle.c
cc26b3b01bc96a8b8c36671b0dc4898b2a152ea8 09-Oct-2008 Syed Mohammed, Khasim <khasim@ti.com> ARM: OMAP3: Add minimal omap3430 support

Add minimal omap3430 support based on earlier patches from
Syed Mohammed Khasim. Also merge in omap34xx SRAM support
from Karthik Dasu and use consistent naming for sram init
functions.

Also do following changes that make 34xx support usable:

- Remove unused sram.c functions for 34xx

- Rename IRQ_SIR_IRQ to INTCPS_SIR_IRQ and define it locally
in entry-macro.S

- Update mach-omap2/io.c to support 2420, 2430, and 34xx

- Also merge in 34xx GPMC changes to add fields wr_access and
wr_data_mux_bus from Adrian Hunter

- Remove memory initialization call omap2_init_memory() until
until more generic memory initialization patches are posted.
It's OK to rely on bootloader initialization until then.

Signed-off-by: Syed Mohammed, Khasim <khasim@ti.com>
Signed-off-by: Karthik Dasu<karthik-dp@ti.com>
Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
pmc.c
o.c
rq.c
emory.c
ux.c
ram34xx.S
2e7509e5b3acc4b8653faa1966e5ac234d36ac82 09-Oct-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Fix sparse, checkpatch warnings in OMAP2/3 IRQ code

Fix sparse warnings in mach-omap2/irq.c. Fix by defining
intc_bank_write_reg() and intc_bank_read_reg(), and convert INTC module
register access to use them rather than __raw_{read,write}l.

Also clear up some checkpatch warnings involving includes from asm/
rather than linux/.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
05228c35c67995c745ae3c768eaf90740c643fa9 08-Oct-2008 Jarkko Nikula <jarkko.nikula@nokia.com> ARM: OMAP: Add support for OMAP2430 in McBSP

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
9c8e3a0fac67d24bbc60ccb3920b6a9150e798bc 08-Oct-2008 Chandra Shekhar <x0044955@ti.com> ARM: OMAP: Add support for McBSP devices 3 - 5 on 34xx

Based on Chandra's earlier patches in linux-omap tree.

Signed-off-by: Chandra Shekhar <x0044955@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
b4b58f5834a023dab67201db9a626bef07bb200c 08-Oct-2008 Chandra Shekhar <x0044955@ti.com> ARM: OMAP: Allocate McBSP devices dynamically

Based on Chandra's earlier patches in linux-omap tree.

Note that omap1_mcbsp_check and omap2_mcbsp_check are no longer
needed as there's now omap_mcbsp_check_valid_id() defined.

Also some functions can now be marked __init.

Signed-off-by: Chandra Shekhar <x0044955@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
cbsp.c
646e3ed1a349fbccce651fed2d3987f0e7b0f0f4 06-Oct-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Misc updates from linux-omap tree

Misc updates from linux-omap tree, mostly to update common
device initialization and add missing defines from linux-omap
tree. Also some changes to make room for adding 34xx in
following patches.

Note that the I2C resources are now set up in
arch/arm/plat-omap/i2c.c helper, and can be removed
from devices.c.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.h
evices.c
pmc.c
o.c
rq.c
emory.h
fd1dc87ded0f29c1ba1e8da62f03ab0d591d9bdd 06-Oct-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Fix sparse, checkpatch warnings fro GPMC code, use ioremap

Fix sparse, checkpatch warnings fro GPMC code.

Also change to use ioremap, and add missing function prototypes
to gpmc.h.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
2351872c44be50c27001bbfa91d6e14e3cee8b88 06-Oct-2008 Vikram Pandita <vikram.pandita@ti.com> ARM: OMAP2: Add pinmux support for omap34xx

This patch adds pinmux support for OMAP3. Incorporated review comments
from Tony to make mux_value as bit mask. Tested on 3430SDP.

Also merge in adding of I2C pins from Jarkko Nikula.

Acked-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
0e564848693b06b037ec05e68c9e4b266250789e 06-Oct-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Use omap_globals for CPU detection for multi-omap

This allows to get rid of the ifdefs and will allow simpler
CPU detection in the future.

Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
1835f1d720786138c43147448f4527dd380c1e33 06-Oct-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Move sleep.S into sleep24xx.S

Some register offsets are different for 242x and 243x. This
will allow compiling sleep code for both chips into the same
kernel. Pass the addresses for SDRC_DDLA_CTRL and SDRC_POWER to the
omap24xx_cpu_suspend instead of loading the values since the only.

Also fix a bug to call omap2_sram_suspend with the value of SDRC_DLLA_CTRL
instead of the address as that's what omap24xx_cpu_suspend expects to
determine between DDR and SDR. This bug has not been noticed as
the boards seem to have DDR instead of SDR.

Note that some PM patches are still missing. The PM patches will
be added later on once the base files are in sync with linux-omap
tree.

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
leep.S
leep24xx.S
6e81176dc8b7ec20da9f48b9be076e83f5d7d2ec 06-Oct-2008 Jouni Hogander <jouni.hogander@nokia.com> ARM: OMAP2 Provide function to enable/disable uart clocks

This patch adds common function to enable/disable omap2/3 uart
clocks. Enabled uarts are passed by bootloader in atags and clocks for
these enabled uarts are touched.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
56f68556d7bbb51dd158c74deb09c783345bfbbd 03-Oct-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge unstable branch 'omap-rmk'

Merge branch 'omap-rmk' into omap-all
fbd3bdb213e91e9e698959caae1f3b4ead515602 06-Sep-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Convert asm/bitops.h to linux/bitops.h

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock24xx.c
lock34xx.c
fced80c735941fa518ac67c0b61bbe153fb8c050 06-Sep-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Convert asm/io.h to linux/io.h

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-2430sdp.c
oard-h4.c
lock.c
lock24xx.c
evices.c
pmc.c
d.c
o.c
rq.c
ailbox.c
emory.c
ux.c
m.c
erial.c
c0fc18c5bf016a9d56aee64974c1ccdb87f3c783 05-Sep-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: fix lots of 'Using plain integer as NULL pointer'

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
erial.c
e8a91c953fca683ef9a9335fb00d6eb3e49ac1ee 01-Sep-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: Fix IO_ADDRESS() macros

OMAP1_IO_ADDRESS(), OMAP2_IO_ADDRESS() and IO_ADDRESS() returns cookies
for use with __raw_{read|write}* for accessing registers. Therefore,
these macros should return (void __iomem *) cookies, not integer values.

Doing this improves typechecking, and means we can find those places
where, eg, DMA controllers are incorrectly given virtual addresses to
DMA to, or physical addresses are thrown through a virtual to physical
address translation.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m.h
pmc.c
d.c
rq.c
rm.h
erial.c
d592dd1adc4f57171fa2570a94279d887b78d5b5 04-Sep-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: convert mcbsp to use ioremap()

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
cbsp.c
65846909d684d75906269df4f5f3474e1fef568b 04-Sep-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] omap: fix virtual vs physical address space confusions

mcbsp is confused as to what takes a physical or virtual address.
Fix the two instances where it gets it wrong.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
cbsp.c
0ba8b9b273c45dd23f60ff700e265a0069b33758 10-Aug-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] cputype: separate definitions, use them

Add asm/cputype.h, moving functions and definitions from asm/system.h
there. Convert all users of 'processor_id' to the more efficient
read_cpuid_id() function.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
d.c
a814917058a63978ecd9fbefe4f88e3fc1576a79 27-Aug-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] OMAP: Fix 2430 SMC91x ethernet IRQ

Taken from omap 97b705ad835f1481270c4b67b402d6e37fa8ad15:
ARM: OMAP: Misc compile fixes after syncing with mainline

Also fix 2430 smc91x to use IRQ_LOWLEVEL.

Signed-off-by: Tony Lindgren <tony@atomide.com>

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-2430sdp.c
e89087c99f2be002ff46126742c21da5d357b324 21-May-2008 Paul Walmsley <paul@pwsan.com> [ARM] OMAP: clockdomain: add clkdm_get_pwrdm()

Add clkdm_get_pwrdm() to the clockdomain code. It will return a
pointer to the powerdomain struct that the clockdomain is contained
within. Used by the PM code.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lockdomain.c
0b7cbfb5e1f03f58241bf236cca303ee45e14b4f 26-Jun-2008 Paul Walmsley <paul@pwsan.com> [ARM] OMAP3 pwrdm: add hardware save-and-restore (SAR) support

OMAP3430ES2+ introduces a new feature: optional powerdomain context
hardware save-and-restore (SAR). Currently, this feature only applies
to USBHOST and USBTLL module context when the USBHOST or CORE
powerdomains enter a low-power sleep state[1]. This feature avoids
re-enumeration of USB devices when the powerdomains return from idle,
which is potentially time-consuming.

This patch adds support for enabling and disabling hardware
save-and-restore to the powerdomain code. Three new functions are
added, pwrdm_enable_hdwr_sar(), pwrdm_disable_hdwr_sar(), and
pwrdm_can_hdwr_sar(). A new struct powerdomain "flags" field is
added, with a PWRDM_HAS_HDWR_SAR flag to indicate powerdomains with
SAR support.

Thanks to Jouni Högander <jouni.hogander@nokia.com> for reviewing an
earlier version of these patches, and Richard Woodruff <r-woodruff2@ti.com>
for clarifying the purpose of these bits.

1. For the USBHOST controller module, context loss occurs when the
USBHOST powerdomain enters off-idle. For USBTLL, context loss
occurs either if CORE enters off-idle, or if the CORE logic is
configured to turn off when CORE enters retention-idle (OSWR).
34xx ES2 TRM 4.8.6.1.1, 4.8.6.1.2

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
owerdomain.c
5955902fb5c31f6a784ddb7aa16079a2bec588f5 19-Aug-2008 Högander Jouni <jouni.hogander@nokia.com> ARM: OMAP2: Clock: Combine 34xx l3_icks and l4_icks

E.g dss_l3_ick and dss_l4_ick have same gating control. Having own
clock for both of them causes race condition between enable / disable.

This patch combines this kind of clocks and names new clock as <module>_ick.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.h
333943ba9e1716a3751af82f2dcc7620b83091ed 19-Aug-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Clockdomain: Integrate OMAP3 clocks with clockdomain code

This patch integrates the OMAP3 clock tree with the clockdomain code.
This patch:

- marks OMAP34xx clocks with their corresponding clockdomain.

- adds code to convert the clockdomain name to a clockdomain pointer in the
struct clk during clk_register().

- modifies OMAP2 clock usecounting to call into the clockdomain code
when clocks are enabled or disabled.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock.h
lock34xx.c
lock34xx.h
lockdomains.h
d1b03f615ae7ede957551dd26bf8929bdc2bb786 19-Aug-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Clockdomain: Associate clocks with clockdomains

Associate each OMAP24xx clock in arch/arm/mach-omap2/clock24xx.h
with a clockdomain.

Also move the L4 clock up higher in the file in preparation to
define the SSI L4 iclk.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock24xx.h
801954d3debb87af9fa7f9187cb1100175d76ac7 19-Aug-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Clockdomain: Encode OMAP2/3 clockdomains

Add clockdomain definitions for OMAP24xx and OMAP34xx chips.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lockdomains.h
m-regbits-24xx.h
m-regbits-34xx.h
o.c
8420bb13630032097be911a039cb64b5f62c01da 19-Aug-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Clockdomain: Connect clockdomain code to powerdomain code

Thie patch adds code to the powerdomain layer to track the
clockdomains associated with each powerdomain.

It also modifies the clockdomain code to register clockdomains
with their corresponding powerdomain when the clockdomain is registered.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lockdomain.c
owerdomain.c
d459bfe01f523983a822de8c2d3fe0bd2f2c194e 19-Aug-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Clockdomain: Add base OMAP2/3 clockdomain code

This patch creates an interface to the clockdomain registers in the
PRM/CM modules on OMAP2/3. This interface is intended to be used by
PM code, e.g., pm.c; not by device drivers directly.

The patch also adds clockdomain usecount tracking. This is intended
to be called whenever the first clock in a clockdomain is enabled, or
when the last enabled clock in a clockdomain is disabled. If the
clockdomain is in software-supervised mode, the code will force-wakeup
or force-sleep the clockdomain. If the clockdomain is in
hardware-supervised mode, the first clock enable will add sleep and
wakeup dependencies on a user-selectable set of parent domains (usually
MPU & IVA2), and the disable will remove them.

Each clockdomain will be defined in later patches as static
structures. The clockdomain structures are linked into a list at boot
by clkdm_register(), similar to the OMAP clock code.

The patch adds a Kconfig option, CONFIG_OMAP_DEBUG_CLOCKDOMAIN, which
when enabled will emit verbose debug messages via pr_debug().

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
lockdomain.c
ecb24aa129c6d4b2152571f856320aa7dea41676 19-Aug-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP: Powerdomain: Add OMAP3 powerdomains

Add OMAP3-specific powerdomains.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
owerdomains.h
owerdomains34xx.h
rcm-common.h
rm-regbits-34xx.h
fe6a58f8f50500a4c9a82da4a9bdae41c1500fa0 19-Aug-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Powerdomain: Add OMAP2 powerdomains

Add OMAP2-specific powerdomains.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
owerdomains.h
owerdomains24xx.h
rm-regbits-24xx.h
9717100f77538bbee54d2b5c293fd829b252d2a6 19-Aug-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Powerdomain: Add OMAP2/3 common powerdomains

Add powerdomains common to both OMAP2 and OMAP3 (WKUP and GFX/SGX).
Modify mach-omap2/io.c to initialize the powerdomain code on boot.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
owerdomains.h
rm.h
ad67ef6848a1608b0430003e11e7af1ce706e341 19-Aug-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Powerdomain: Add base OMAP2/3 powerdomain code

This patch creates an interface to the powerdomain registers in the
PRM/CM modules on OMAP2/3. This interface is intended to be used by
PM code, e.g., pm.c; not by device drivers directly.

Each powerdomain will be defined in later patches as static
structures. Also defined are dependencies between powerdomains,
used for adding and removing PM_WKDEP and CM_SLEEPDEP bits. The
powerdomain structures are linked into a list at boot by
pwrdm_register(), similar to the OMAP clock code.

The patch adds a Kconfig option, CONFIG_OMAP_DEBUG_POWERDOMAIN, which
when enabled will emit verbose debug messages via pr_debug().

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
lock34xx.c
owerdomain.c
ca6d1b1333bc2e61e37982de1f28d8604c232414 07-Aug-2008 Felipe Balbi <felipe.balbi@nokia.com> usb: musb: pass configuration specifics via pdata

Use platform_data to pass musb configuration-specific
details to musb driver.

This patch will prevent that other platforms selecting
HAVE_CLK and enabling musb won't break tree building.

The other parts of it will come when linux-omap merge
up more omap2/3 board-files.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sb-tusb6010.c
a09e64fbc0094e3073dbb09c3b4bfe4ab669244b 05-Aug-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach

This just leaves include/asm-arm/plat-* to deal with.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-2430sdp.c
oard-apollon.c
oard-generic.c
oard-h4.c
lock.c
lock.h
lock24xx.c
lock34xx.c
lock34xx.h
ontrol.c
evices.c
pmc.c
d.c
o.c
rq.c
ailbox.c
cbsp.c
emory.c
ux.c
m.c
rcm.c
drc.h
erial.c
leep.S
ram242x.S
ram243x.S
imer-gp.c
sb-tusb6010.c
be509729356b7433f73df2b9a966674a437fbbc1 04-Aug-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Remove asm/hardware.h, use asm/arch/hardware.h instead

Remove includes of asm/hardware.h in addition to asm/arch/hardware.h.
Then, since asm/hardware.h only exists to include asm/arch/hardware.h,
update everything to directly include asm/arch/hardware.h and remove
asm/hardware.h.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-2430sdp.c
oard-apollon.c
oard-generic.c
oard-h4.c
evices.c
rq.c
ram242x.S
ram243x.S
0f8469a54f7bd65f2c740a5480c56260dc8a7ae0 03-Aug-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Eliminate useless includes of asm/mach-types.h

There are 43 includes of asm/mach-types.h by files that don't
reference anything from that file. Remove these unnecessary
includes.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m.c
6cab48602996cdbcb277375a8107d53e21e8c9b9 27-Jul-2008 Dmitry Baryshkov <dbaryshkov@gmail.com> [ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_*

IRQT_* and __IRQT_* were obsoleted long ago by patch [3692/1].
Remove them completely. Sed script for the reference:

s/__IRQT_RISEDGE/IRQ_TYPE_EDGE_RISING/g
s/__IRQT_FALEDGE/IRQ_TYPE_EDGE_FALLING/g
s/__IRQT_LOWLVL/IRQ_TYPE_LEVEL_LOW/g
s/__IRQT_HIGHLVL/IRQ_TYPE_LEVEL_HIGH/g
s/IRQT_RISING/IRQ_TYPE_EDGE_RISING/g
s/IRQT_FALLING/IRQ_TYPE_EDGE_FALLING/g
s/IRQT_BOTHEDGE/IRQ_TYPE_EDGE_BOTH/g
s/IRQT_LOW/IRQ_TYPE_LEVEL_LOW/g
s/IRQT_HIGH/IRQ_TYPE_LEVEL_HIGH/g
s/IRQT_PROBE/IRQ_TYPE_PROBE/g
s/IRQT_NOEDGE/IRQ_TYPE_NONE/g

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-apollon.c
a177ba3b7a08beef3f0fe74efa0f90701891945a 10-Jul-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branches 'at91', 'dyntick', 'ep93xx', 'iop', 'ixp', 'misc', 'orion', 'omap-reviewed', 'rpc', 'rtc' and 's3c' into devel
88b8ba90570067178d32c654ad95786041e86e86 02-Jul-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Clock: New OMAP2/3 DPLL rate rounding algorithm

This patch adds a new rate rounding algorithm for DPLL clocks on the
OMAP2/3 architecture.

For a desired DPLL target rate, there may be several
multiplier/divider (M, N) values which will generate a sufficiently
close rate. Lower N values result in greater power economy. However,
lower N values can cause the difference between the rounded rate and
the target rate ("rate error") to be larger than it would be with a
higher N. This can cause downstream devices to run more slowly than
they otherwise would.

This DPLL rate rounding algorithm:

- attempts to find the lowest possible N (DPLL divider) to reach the
target_rate (since, according to Richard Woodruff <r-woodruff@ti.com>,
lower N values save more power than higher N values).

- allows developers to set an upper bound on the error between the
rounded rate and the desired target rate ("rate tolerance"), so an
appropriate balance between rate fidelity and power savings can be
set. This maximum rate error tolerance is set via
omap2_set_dpll_rate_tolerance().

- never returns a rounded rate higher than the target rate.

The rate rounding algorithm caches the last rounded M, N, and rate
computation to avoid rounding the rate twice for each clk_set_rate()
call. (This patch does not yet implement set_rate for DPLLs; that
follows in a future patch.)

The algorithm trades execution speed for rate accuracy. It will find
the (M, N) set that results in the least rate error, within a
specified rate tolerance. It does this by evaluating each divider
setting - on OMAP3, this involves 128 steps. Another approach to DPLL
rate rounding would be to bail out as soon as a valid rate is found
within the rate tolerance, which would trade rate accuracy for
execution speed. Alternate implementations welcome.

This code is not yet used by the OMAP24XX DPLL clock, since it
is currently defined as a composite clock, fusing the DPLL M,N and the
M2 output divider. This patch also renames the existing OMAP24xx DPLL
programming functions to highlight that they program both the DPLL and
the DPLL's output multiplier.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock.h
lock24xx.c
lock24xx.h
lock34xx.h
542313cc98e72d026d2df86f515699dfaface460 02-Jul-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Clock: Add OMAP3 DPLL autoidle functions

This patch adds support for DPLL autoidle control to the OMAP3 clock
framework. These functions will be used by the noncore DPLL enable
and disable code - this is because, according to the CDP code, the
DPLL autoidle status must be saved and restored across DPLL
lock/bypass/off transitions.

N.B.: the CORE DPLL (DPLL3) has three autoidle mode options, rather
than just two. This code currently does not support the third option,
low-power bypass autoidle.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.c
lock34xx.h
m-regbits-34xx.h
m.h
097c584cd48844d9ef8402bdc6ab49e7e2135f31 02-Jul-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP: Add OMAP chip type structure; clean up mach-omap2/id.c

Add a new OMAP chip identification interface, omap_chip_id.
omap_chip_id is a structure which contains one bit for each OMAP2/3
CPU type, and on 3430, ES level. For example, the CHIP_IS_OMAP2420
bit is set in omap_chip at boot on an OMAP2420. On OMAP3430ES2, both
CHIP_IS_OMAP3430 and CHIP_IS_OMAP3430ES2 bits are set.

omap_chip is set in mach-omap2/id.c by _set_omap_chip(). Other
code should use the omap_chip_is() function to test against omap_chip.

Also, clean up id.c by splitting some code out of
omap_check_revision() into its own function, _set_system_rev(); and
converting some debug printk()s into pr_debug().

Second revision.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
d.c
ff00fcc9ca8f18facbc3fcd779e85887e5a0d247 02-Jul-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP: Turn CM and PRM access into functions

Otherwise compiling in omap2 and omap3 will not work.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.h
m.h
rcm.c
rm.h
a58caad11301a5bdc2d7b76596ab5477221f7a9b 02-Jul-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP: Introduce omap_globals and prcm access functions for multi-omap

New struct omap_globals contains the omap processor specific
module bases. Use omap_globals to set the various base addresses
to make detecting omap chip type simpler.

Also introduce OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS for future multi-omap
patches.

Signed-off-by: Tony Lindgren <tony@atomide.com>
m.h
ontrol.c
emory.c
ux.c
rcm.c
rm.h
drc.h
78673bc898c2db7f4fac4871ec702c3443642308 02-Jul-2008 Eduardo Valentin <eduardo.valentin@indt.org.br> ARM: OMAP: McBSP: Add support for mcbsp on mach-omap2

This patch adds support for mach-omap2 based on current
mcbsp platform driver.

Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
lock34xx.h
cbsp.c
44ec9a3371d5cab323b81c95a4c01d7b5a89cdda 02-Jul-2008 Eduardo Valentin <eduardo.valentin@indt.org.br> ARM: OMAP: McBSP: Add support for mcbsp on mach-omap1

This patch adds support for mach-omap1 based on current
mcbsp platform driver.

Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock24xx.h
c2d43e39c7c303db53facd0bea44b66f263e3f35 02-Jul-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP: SRAM: Split sram24xx.S into sram242x.S and sram243x.S

Split sram24xx.S into sram242x.S and sram243x.S

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
lock.c
rcm-common.h
rm.h
ram242x.S
ram243x.S
373a67021d00a8b8c86bfa19f8914377de05b4bd 02-Jul-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP: SRAM: Move omap2 sram-fn.S to sram242x.S

This file will get split between sram242x.S and sram243x.S
in following patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
ram-fn.S
ram242x.S
3fddd09e59cf49dc339e2de74d31a76c1f7f172f 02-Jul-2008 Richard Woodruff <r-woodruff2@ti.com> ARM: OMAP: DMTimer: Optimize by adding load and start

This patch optimizes the timer load and start sequence. By combining the
load and start a needless posted wait can be removed from the system timer
execution path.

* Before patch register writes are taking up .078% @ 500MHz during idle.

Address |total |min |max |avr |count|ratio%
old\process\default_idle|7.369s |0.0us|999.902ms|14.477ms|509. |62.661%
ld\Global\cpu_v7_do_idle|4.265s |0.0us|375.786ms|24.374ms|175. |36.270%
(UNKNOWN)|17.503ms|0.us|531.080us|5.119us|3419. |0.148%
r\omap_dm_timer_set_load|8.135ms|0.0us|79.887us|15.065us|540. |0.069% <--
\vmlinux-old\Global\_end|2.023ms|0.0us|4.000us|0.560us|3613. |0.017%
-old\Global\__raw_readsw|1.962ms|0.0us|108.610us|9.167us|214. |0.016%
old\smc91x\smc_interrupt|1.353ms|0.0us|10.212us|2.348us|576. |0.011%
s/namei\__link_path_walk|1.161ms|0.0us|4.310us|0.762us| 1524. |0.009%
\omap_dm_timer_write_reg|1.085ms|0.0us|126.150us|2.153us|504. |0.009% <--

* After patch timer functions do not show up in top listings for long captures.

Signed-off-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer-gp.c
15e02a3b510aa4ef3d077ebc25eb3cd08b9af034 28-Apr-2008 Thara Gopinath <thara@ti.com> ARM: OMAP: Correcting the gpmc prefetch control register address

Correcting the GPMC_PREFETCH_CONTROL register address

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
205bee6ad804d7034773b5978c74dde495df2301 20-Apr-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] dyntick: Remove obsolete and unused ARM dyntick support

dyntick is superseded by the clocksource/clockevent infrastructure,
using the NO_HZ configuration option. No one implements dyntick on
ARM anymore, so it's pointless keeping it around. Remove dyntick
support.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m.c
dfa3d039dae89e8e9a7302ebf25370caaf1b62e3 06-May-2008 Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com> ARM: OMAP: Fixed comments on global PRM register usage

Fixed comments on global PRM register usage.

Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rm.h
d756f54e57a261db39c46f1853b71be85608b15f 23-Apr-2008 Högander Jouni <jouni.hogander@nokia.com> ARM: OMAP: Add PARENT_CONTROLS_CLOCK flag to dpll5_m2_ck

This patch removes following message on dpll5_m2_ck enable and
disable:

clock.c: Enable for dpll5_m2_ck without enable code
clock: clk_disable called on independent clock dpll5_m2_ck
which has no enable_reg

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.h
1971a3900a4fd61643de950248309598c3e23215 14-Apr-2008 Jouni Högander <jouni.hogander@nokia.com> ARM: OMAP: PRCM fixes to ssi clock handling

ssi_l4_ick should have PARENT_CONTROLS_CLOCK flag.
ST_SSI_STDBY bit in idlest register cannot be used in omap2_clk_wait_ready

Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock34xx.h
31c203d49ca04e042722d764feec0b80c2afb575 01-Apr-2008 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> ARM: OMAP: Add fuctional clock enabler for iva2

Add fuctional clock enabler for iva2

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.h
m-regbits-34xx.h
c3aa044aa3c70a24b606b9265cba305717ac131a 28-Mar-2008 Jouni Högander <jouni.hogander@nokia.com> ARM: OMAP: Fix 34xx to use correct shift values for gpio2-6 fclks

Wrong shift values were used for gpio2-6 fclks (gpt2-6 shift).

Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.h
bfbdcf8a14ec4bd0c692bed3ddfa40bd72eae473 30-Jul-2007 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ailbox.c
c8d2eb8e56b93c69a30793f19ac1bc784398fbd5 08-May-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP: Add calls to omap2_set_globals_*()

Add the omap2_set_globals_{242x,243x,343x}() functions. These
functions are called early upon boot in the map_io() functions in the
board-specific init files.

This patch was accidentally left out of the earlier series.

This fixes omap2 booting as noted by Kyungmin Park <kmpark@infradead.org>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kyungmin Park <kmpark@infradead.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-apollon.c
oard-generic.c
oard-h4.c
3760d31f11bfbd0ead9eaeb8573e0602437a9d7c 13-Mar-2008 Roman Tereshonkov <roman.tereshonkov@nokia.com> ARM: OMAP2: New DPLL clock framework

These changes is the result of the discussion with Paul Walmsley.
His ideas are included into this patch.

Remove DPLL output divider handling from DPLLs and CLKOUTX2 clocks,
and place it into specific DPLL output divider clocks (e.g., dpll3_m2_clk).
omap2_get_dpll_rate() now returns the correct DPLL rate, as represented
by the DPLL's CLKOUT output. Also add MPU and IVA2 subsystem clocks, along
with high-frequency bypass support.

Add support for DPLLs function in locked and bypass clock modes.

Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock34xx.c
lock34xx.h
m-regbits-34xx.h
02e19a960a519224a74da4d190965201044c1583 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Add 34xx clock code

This patch add 34xx clock code.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
lock34xx.c
b045d0809871eae4341e60a1db2b7d31703d8175 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Add 34xx clocks

This patch defines 34xx clocks.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock34xx.h
d83b079f0f5c6f5ef34976330b904509a53ff1ec 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Remove old PRCM register access code

Remove old PRCM register access code that is no longer needed.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
m-domain.c
rcm-regs.h
a16e97037b518533569a778f0e997704e5c43796 18-Mar-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Clean up 24xx clock code

Clean up 24xx clock code to sync it with linux-omap tree.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock.h
lock24xx.c
lock24xx.h
2150ef46f8b5b2a5e3e5c53c1b04c513276ad4f7 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Remove old 24xx specific clock functions

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock24xx.c
e32744b02d2d8f5242720998c9f955d8545751ac 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP: Add rest of 24xx clocks

This patch adds the rest of clocks for 24xx.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock24xx.h
6b8858a972a0eff1dc1ab77b0fd9fc25387c217c 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Change 24xx to use shared clock code and new reg access

This patch changes 24xx to use shared clock code and new register
access.

Note that patch adds some temporary OLD_CK defines to keep patch
more readable. These temporary defines will be removed in the next
patch. Also not all clocks are changed in this patch to limit the
size.

Also, the patch fixes few incorrect clock defines in clock24xx.h.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
lock.c
lock24xx.c
lock24xx.h
emory.c
emory.h
543d93781a3c744017594d0721c4c1814a26bcce 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Add common clock framework for 24xx and 34xx

This patch adds a common clock framework for 24xx and 34xx.
Note that this patch does not add it to Makefile until in
next patch. Some functions are modified from earlier 24xx
clock framework code.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock.h
3d876e59c819efcc4810a5945f9d780d05e28d93 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Move clock.c to clock24xx.c

This patch moves clock.h to clock24xx.c to make room for
adding common clock code for 24xx and 34xx.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
lock.c
lock24xx.c
32ab2cb9415f341913e3f33ef7566ca6e92ef283 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Move clock.h to clock24xx.h

This patch moves clock.h to clock24xx.h to make room for
adding common clock code for 24xx and 34xx.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock.h
lock24xx.h
b81ad56b078a5ee7c0061b117c7287e8987d6692 18-Mar-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Remove old 24xx PM code

This patch removes old 24xx PM code that does not really work for sleep
states, and uses old power management register access. Working PM code
will be added later.

Signed-off-by: Tony Lindgren <tony@atomide.com>
m.c
445959821f82846913fe09fee0573e0238415e8c 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Change 24xx to use new register access

This patch changes 24xx to use new register access, except for clock
framework. Clock framework register access will get updates in the
next patch.

Note that board-*.c files change GPMC (General Purpose Memory Controller)
access to use gpmc_cs_write_reg() instead of accessing the registers
directly. The code also uses gpmc_fck instead of it's parent clock
core_l3_ck for GPMC clock.

The H4 board file also adds h4_init_flash() function, which specify the
flash start and end addresses.

Also note that sleep.S removes some unused registers addresses.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-2430sdp.c
oard-apollon.c
oard-h4.c
pmc.c
emory.c
ux.c
rcm-regs.h
rcm.c
leep.S
ram-fn.S
c595713da76bc7cedddf5135072ea6037cc0befb 18-Mar-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Add register access for 34xx

This patch adds register access for 34xx power and clock management.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
m-regbits-34xx.h
rm-regbits-34xx.h
69d88a00a240fbed07fb6943c862ea3188e9097d 18-Mar-2008 Paul Walmsley <paul@pwsan.com> ARM: OMAP2: Add common register access for 24xx and 34xx

This patch adds common register access for 24xx and 34xx power
and clock management in order to share code between 24xx and 34xx.

Only change USB platform init code to use new register access, other
access will be changed in later patches.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
m-regbits-24xx.h
m.h
ontrol.c
rcm-common.h
rm-regbits-24xx.h
rm.h
drc.h
9330899e0f878ff3b7a23b856de8bbb52c9c04fd 25-Jan-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Clean-up mux code

Misc clean-up for the mux code and remove some unnecessary
ifdefs. Patch changes debug function so it can be used on
both 24xx and 34xx.

Changes are mostly for omap2, but patch also cleans up some
omap1 and common mux code.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
f7337a199acffa9f12fa9d88253d33bfb56ef14a 20-Mar-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP2: Add new pin multiplexing configurations

Add new pin multiplexing configurations

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
5a3a388fbefac3705dfcde16c93fc81e6fd9378f 13-Nov-2007 Kevin Hilman <khilman@mvista.com> ARM: OMAP: Timer32K: Re-organize duplicated 32k-timer code

On OMAP2/3, the gp-timer code can be used for a 32kHz timer simply by
setting the source to be the 32k clock instead of sys_clk.

This patch uses the mach-omap2/timer-gp.c code for 32kHz timer on
OMAP2, moving the logic into mach-omap2/timer-gp.c, and not using
plat-omap/timer32k.c which, for OMAP2, is redundant with the timer-gp
code.

Also, if CONFIG_OMAP_32K_TIMER is enabled, the gptimer-based
clocksource is not used. Instead the default 32k sync counter is used
as the clocksource (see the clocksource in plat-omap/common.c.) This
is important for sleep/suspend so there is a valid counter during
sleep. Note that the suspend/sleep code needs fixing to check for
overflows of this counter.

In addition, the OMAP2/3 details are removed from timer32k.c leaving
that with only OMAP1 specifics. A follow-up patch will move it from
plat-omap common code to mach-omap1.

Signed-off-by: Kevin Hilman <khilman@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
imer-gp.c
225dfda1d676b70acf1e696ace68c23297926ce0 25-Jan-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP: Split omap_cfg_reg() into omap processor specific functions

Use omap processor specific function depending on system type.
Based on an earlier patch by Klaus Pedersen <klaus.k.pedersen@nokia.com>.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
7d7f665d5dac8d19f2fcb56baea09c59a3f861be 25-Jan-2008 Tony Lindgren <tony@atomide.com> ARM: OMAP: Allow registering pin mux function

This patch changes pin multiplexing init to allow registering
custom function. The omap_cfg_reg() func will be split into
omap processor specific functions in later patch.

This is done to make adding omap3 pin multiplexing easier.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
09f21ed4c1bd158a92114074c268e4a835690ca5 21-Feb-2008 Kyungmin Park <kyungmin.park@samsung.com> ARM: OMAP2: Register the L4 io bus to boot OMAP2

This patch enables OMAP2 to boot.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
0ff66f0c7a5f1f4f5a0d91341b6f71fd2a49f0fa 28-Jan-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'pxa-plat' into devel

* pxa-plat: (53 commits)
[ARM] 4762/1: Basic support for Toradex Colibri module
[ARM] pxa: fix mci_init functions returning -1
[ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix
[ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270
[ARM] 4746/1: pcm027: network support for phyCORE-PXA270
[ARM] 4745/1: pcm027: default configuration
[ARM] 4744/1: pcm027: add support for phyCORE-PXA270 CPU module
[NET] smc91x: Make smc91x use IRQ resource trigger flags
[ARM] pxa: add default config for littleton
[ARM] pxa: add basic support for Littleton (PXA3xx Form Factor Platform)
[ARM] 4664/1: Add basic support for HTC Magician PDA phones
[ARM] 4649/1: Base support for pxa-based Toshiba e-series PDAs.
[ARM] pxa: skip registers saving/restoring if entering standby mode
[ARM] pxa: fix PXA27x resume
[ARM] pxa: Avoid fiddling with CKEN register on suspend
[ARM] pxa: Add PXA3 standby code hooked into the IRQ wake scheme
[ARM] pxa: Add zylonite MFP wakeup configurations
[ARM] pxa: program MFPs for low power mode when suspending
[ARM] pxa: make MFP configuration processor independent
[ARM] pxa: remove un-used pxa3xx_mfp_set_xxx() functions
...

Conflicts:

arch/arm/mach-pxa/ssp.c

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
d0d42df2a440003d96c8bf29991c2afb691ef720 28-Jan-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branches 'at91', 'ep93xx', 'iop', 'kprobes', 'ks8695', 'misc', 'msm', 's3c2410', 'sa1100' and 'vfp' into devel

* at91: (24 commits)
[ARM] 4615/4: sam926[13]ek buttons updated
[ARM] 4765/1: [AT91] AT91CAP9A-DK board support
[ARM] 4764/1: [AT91] AT91CAP9 core support
[ARM] 4738/1: at91sam9261: Remove udc pullup enabling in board initialisation
[ARM] 4761/1: [AT91] Board-support for NEW_LEDs
[ARM] 4760/1: [AT91] SPI CS0 errata on AT91RM9200
[ARM] 4759/1: [AT91] Buttons on CSB300
[ARM] 4758/1: [AT91] LEDs
[ARM] 4757/1: [AT91] UART initialization
[ARM] 4756/1: [AT91] Makefile cleanup
[ARM] 4755/1: [AT91] NAND update
[ARM] 4754/1: [AT91] SSC library support
[ARM] 4753/1: [AT91] Use DMA_BIT_MASK
[ARM] 4752/1: [AT91] RTT, RTC and WDT peripherals on SAM9
[ARM] 4751/1: [AT91] ISI peripheral on SAM9263
[ARM] 4750/1: [AT91] STN LCD displays on SAM9261
[ARM] 4734/1: at91sam9263ek: include IRQ for Ethernet PHY
[ARM] 4646/1: AT91: configurable HZ, default to 128
[ARM] 4688/1: at91: speed-up irq processing
[ARM] 4657/1: AT91: Header definition update
...

* ep93xx:
[ARM] 4671/1: ep93xx: remove obsolete gpio_line_* operations
[ARM] 4670/1: ep93xx: implement IRQT_BOTHEDGE gpio irq sense type
[ARM] 4669/1: ep93xx: simplify GPIO code and cleanups
[ARM] 4668/1: ep93xx: implement new GPIO API

* iop:
[ARM] 4770/1: GLAN Tank: correct physmap_flash_data width field
[ARM] 4732/1: GLAN Tank: register rtc-rs5c372 i2c device
[ARM] 4708/1: iop: update defconfigs for 2.6.24

* kprobes:
ARM kprobes: let's enable it
ARM kprobes: special hook for the kprobes breakpoint handler
ARM kprobes: prevent some functions involved with kprobes from being probed
ARM kprobes: don't let a single-stepped stmdb corrupt the exception stack
ARM kprobes: add the kprobes hook to the page fault handler
ARM kprobes: core code
ARM kprobes: instruction single-stepping support

* ks8695:
[ARM] 4603/1: KS8695: debugfs interface to view pin state
[ARM] 4601/1: KS8695: PCI support

* misc:
[ARM] remove duplicate includes
[ARM] CONFIG_DEBUG_STACK_USAGE
[ARM] 4689/1: small comment wrap fix
[ARM] 4687/1: Trivial arch/arm/kernel/entry-common.S comment fix
[ARM] 4666/1: ixp4xx: fix sparse warnings in include/asm-arm/arch-ixp4xx/io.h
[ARM] remove reference to non-existent MTD_OBSOLETE_CHIPS
[SERIAL] 21285: Report baud rate back via termios
[ARM] Remove pointless casts from void pointers,
[ARM] Misc minor interrupt handler cleanups
[ARM] Remove at91_lcdc.h
[ARM] ARRAY_SIZE() cleanup
[ARM] Update mach-types

* msm:
[ARM] msm: dma support for MSM7X00A
[ARM] msm: board file for MACH_HALIBUT (QCT MSM7200A)
[ARM] msm: irq and timer support for ARCH_MSM7X00A
[ARM] msm: core platform support for ARCH_MSM7X00A

* s3c2410: (33 commits)
[ARM] 4795/1: S3C244X: Add armclk and setparent call
[ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code
[ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function
[ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S
[ARM] 4791/1: S3C2412: Make fclk a parent of msysclk
[ARM] 4790/1: S3C2412: Fix parent selection for msysclk.
[ARM] 4789/1: S3C2412: Add missing CLKDIVN register values
[ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used.
[ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number
[ARM] 4786/1: S3C2412: Add SPI FIFO controll constants
[ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers
[ARM] 4784/1: S3C24XX: Fix GPIO restore glitches
[ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull()
[ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users
[ARM] 4781/1: S3C24XX: DMA suspend and resume support
[ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX
[ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call
[ARM] 4778/1: S3C2412: Add armclk and init from DVS state
[ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk
[ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected
...

* sa1100:
[ARM] sa1100: add clock source support

* vfp:
[ARM] 4584/2: ARMv7: Add Advanced SIMD (NEON) extension support
[ARM] 4583/1: ARMv7: Add VFPv3 support
[ARM] 4582/2: Add support for the common VFP subarchitecture
e7b3dc7ef1e27fd5713a0df71f82c0a27de1c2eb 14-Jan-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [NET] smc91x: Make smc91x use IRQ resource trigger flags

smc91x is shared between many different platforms. Each platform needs
to specify the interrupt type, and in some cases the irq type depends
on more than just the build configuration - it depends on runtime
checks.

Rather than throwing this code into the SMC_IRQ_FLAGS definition, provide
a way for these flags to be passed via the IRQ resource itself.

Note that IRQF_TRIGGER_* constants are intentionally defined to correspond
with the IORESOURCE_IRQ_* interrupt type flags, in much the same way that
the low bits of PCI iomem resources correspond with the BAR flag bits.

Also provide a way to configure smc91x to read the IRQ flags from the
resource. Once all platforms have been converted over (signified
by all definitions of SMC_IRQ_FLAGS being -1) SMC_IRQ_FLAGS should
be removed.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Nicolas Pitre <nico@cam.org>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
oard-2430sdp.c
oard-apollon.c
193c3cc12583344be01206078d9ad3fec5dbc397 28-Jan-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Fix timer damage from d3d74453c34f8fd87674a8cf5b8a327c68f22e99

Move the xtime write mode seqlock into timer_tick(), so it only
surrounds the call to do_timer().

This avoids a deadlock in update_process_times() ...
hrtimer_get_softirq_time() which tries to get a read mode seqlock
on xtime, thereby preventing booting.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
imer-gp.c
1d7d4f54b1337bf64605dc9cb3c540f67843be39 21-Nov-2007 Lucas Woods <woodzy@gmail.com> [ARM] remove duplicate includes

Signed-off-by: Lucas Woods <woodzy@gmail.com>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-apollon.c
710798c3e1f995ac88be6d0fa030566e9b4b8f06 26-Oct-2007 Roel Kluin <12o3l@tiscali.nl> [ARM] Fix assignment instead of condition in arm/mach-omap2/clock.c

Fix assignment instead of condition

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
96de0e252cedffad61b3cb5e05662c591898e69a 19-Oct-2007 Jan Engelhardt <jengelh@gmx.de> Convert files to UTF-8 and some cleanups

* Convert files to UTF-8.

* Also correct some people's names
(one example is Eißfeldt, which was found in a source file.
Given that the author used an ß at all in a source file
indicates that the real name has in fact a 'ß' and not an 'ss',
which is commonly used as a substitute for 'ß' when limited to
7bit.)

* Correct town names (Goettingen -> Göttingen)

* Update Eberhard Mönkeberg's address (http://lkml.org/lkml/2007/1/8/313)

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
imer-gp.c
e6c5eb9541f2197a3ffab90b1c7a3250a9b51bf6 18-Oct-2007 Rafael J. Wysocki <rjw@sisk.pl> PM: Rework struct platform_suspend_ops

There is no reason why the .prepare() and .finish() methods in 'struct
platform_suspend_ops' should take any arguments, since architectures don't use
these methods' argument in any practically meaningful way (ie. either the
target system sleep state is conveyed to the platform by .set_target(), or
there is only one suspend state supported and it is indicated to the PM core
by .valid(), or .prepare() and .finish() aren't defined at all).  There also
is no reason why .finish() should return any result.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: Len Brown <lenb@kernel.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
m.c
26398a70ea35f153feb799fa850c71685667712b 18-Oct-2007 Rafael J. Wysocki <rjw@sisk.pl> PM: Rename struct pm_ops and related things

The name of 'struct pm_ops' suggests that it is related to the power
management in general, but in fact it is only related to suspend.  Moreover,
its name should indicate what this structure is used for, so it seems
reasonable to change it to 'struct platform_suspend_ops'.  In that case, the
name of the global variable of this type used by the PM core and the names of
related functions should be changed accordingly.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: Len Brown <lenb@kernel.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
m.c
95d9ffbe01fb21d524c86bf77871255066bc6e55 18-Oct-2007 Rafael J. Wysocki <rjw@sisk.pl> PM: Move definition of struct pm_ops to suspend.h

Move the definition of 'struct pm_ops' and related functions from <linux/pm.h>
to <linux/suspend.h> .

There are, at least, the following reasons to do that:
* 'struct pm_ops' is specifically related to suspend and not to the power
management in general.
* As long as 'struct pm_ops' is defined in <linux/pm.h>, any modification of it
causes the entire kernel to be recompiled, which is unnecessary and annoying.
* Some suspend-related features are already defined in <linux/suspend.h>, so it
is logical to move the definition of 'struct pm_ops' into there.
* 'struct hibernation_ops', being the hibernation-related counterpart of
'struct pm_ops', is defined in <linux/suspend.h> .

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: Len Brown <lenb@kernel.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
m.c
23300597948131d07eebeb1308c2ba0a1c147494 26-Jan-2007 Kai Svahn <kai.svahn@nokia.com> ARM: OMAP: Merge gpmc changes from N800 tree

This patch merges gpmc changes from N800 tree
and adds gpmc_get_fclk_period() to gpmc.h.

Signed-off-by: Kai Svahn <kai.svahn@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
c1ed6407cddbd87206b860f6207731d51c1d57bf 07-Dec-2006 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP: TUSB EVM init

Add init support for the TUSB6010 EVM board, as connected to H4.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
sb-tusb6010.c
7d34f3b3901cf31611183f158b949d8a823a9762 07-Dec-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: Tabify mux.c

Tabify mux.c, no functional changes.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
72d0f1c3cdc7c456e1e357359ec6f566d0a5f264 07-Dec-2006 Syed Mohammed Khasim <x0khasim@ti.com> ARM: OMAP: Add minimal OMAP2430 support

This patch adds minimal OMAP2430 support to get the kernel booting on 2430SDP.

Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
akefile
oard-2430sdp.c
evices.c
pmc.c
d.c
o.c
f604931238dff7b44ef52ac2ad1f557e45b25b38 07-Dec-2006 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP: abstract debug card setup (smc, leds)

Additional cleanup for debug boards on H2/P2/H3/H4: move the init
code that's not board-specific into a new file where it can be easily
shared between all the different boards (avoiding code duplication,
and making it easier to support more devices). Make H4 use that.

This should be easy to drop in to the OMAP1 boards using these debug
cards; the only difference seems to be that the p2 does an extra reset
of the smc using the fpga (probably all boards could do that, if it's
necessary) and doesn't use the gpio mux or request APIs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
oard-h4.c
1c22cc13256046162bb8e7b44763f6c39790af74 07-Dec-2006 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP: omap2/gpmc updates

GPMC updates:
- bugfixes: wrong/missing flags, omitted write, wrong test
- don't map memory segments starting at zero
- improve debug messaging
- export gpmc_get_fclk_perio]d() since it's needed to calc timings
- expect gpmc_cs_set_timings() caller to have initialized sync vs async

Note that this API is glitchy; likely the best fix would be to add
a member to "struct gpmc_timings" to hold GPMC_CONFIG1, since that
holds one key aspect of the GPMC timings (the gpmc_fclk divisor,
and sync vs. async == whether that divisor matters).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
742c53e48e5f8e05ec9f0818281fada9c6061023 07-Dec-2006 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP: omap2/memory.c compile fixes

Remove some conflicting declarations in omap2/memory.c so that the
file builds again.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
emory.c
f024840872e76b1fdef324aee8c9176ed7aa0ba4 07-Dec-2006 Kyungmin Park <kyungmin.park@samsung.com> ARM: OMAP: Board Apollon update, fix boot

Update Apollon board init to initialize NAND, USB,
and LEDs. Also configure GPMC memory for smc91x Ethernet.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
375e12abceac4e8e20ea54ff6a9e7be58729ac70 07-Dec-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP: Optimize INTC register accesses and enable autoidling

Use virtual addresses directly instead of physical addresses to
avoid having to recalculate the virtual address with every
register access.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
33c9907535cef6cb5de1269540c04664c393d09c 07-Dec-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP2: Place SMS and SDRC into smart idle mode

Place SMS and SDRC into smart idle mode

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
o.c
emory.c
671c7235ccd537f828986ef5a4071bf477541dc0 07-Dec-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP: Enable serial idling and wakeup features

Enable serial idling and wakeup features

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
1abc70fcd81b920dd7a1091ba8863dfe5463b130 07-Dec-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP2: Force APLLs always active

The APLLs are most efficiently idled by hardware.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
6cbdc8c5357276307a77deeada3f04626ff17da6 11-May-2007 Simon Arlott <simon@fire.lp0.eu> [ARM] spelling fixes

Spelling fixes in arch/arm/.

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock.h
158304ef09a28c7f2dd37d78f536a4e09ba084a1 12-May-2007 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branch 'fixes' into devel
87b247c41674e29f90bf4938799ab079951ccc6b 11-May-2007 Thomas Gleixner <tglx@linutronix.de> [ARM] Spinlock initializer cleanup

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
pmc.c
7bbb3cc5c816fc167601ce9519adae5eced3ea6d 07-Dec-2006 Kyungmin Park <kyungmin.park@samsung.com> ARM: OMAP: 24xx pinmux updates

Add some OMAP 24xx pin mux declarations to support:

- TUSB 6010 EVM (on H4)
- All three full speed USB ports
- GPIOs used with USB0 on Apollon and H4

For OMAP2, issue MUX_WARNINGS and debug messages correctly; and make the
message look more like the OMAP1 message.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
932c37c375cca25175f9b6acee4c75d7a96d985f 09-May-2007 Linus Torvalds <torvalds@woody.linux-foundation.org> Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (28 commits)
ARM: OMAP: Fix GCC-reported compile time bug
ARM: OMAP: restore CONFIG_GENERIC_TIME
ARM: OMAP: partial LED fixes
ARM: OMAP: add SoSSI clock (call propagate_rate for childrens)
ARM: OMAP: FB sync with N800 tree (support for dynamic SRAM allocations)
ARM: OMAP: Sync framebuffer headers with N800 tree
ARM: OMAP: Mostly cosmetic to sync up with linux-omap tree
ARM: OMAP: Fix gpmc header
ARM: OMAP: Add mailbox support for IVA
[ARM] armv7: add Makefile and Kconfig entries
[ARM] armv7: add support for asid-tagged VIVT I-cache
[ARM] armv7: add dedicated ARMv7 barrier instructions
[ARM] armv7: Add ARMv7 cacheid macros
[ARM] armv7: add support for ARMv7 cores.
[ARM] Fix ARM branch relocation range
[ARM] 4363/1: AT91: Remove legacy PIO definitions
[ARM] 4361/1: AT91: Build error
ARM: OMAP: Sync core code with linux-omap
ARM: OMAP: Sync headers with linux-omap
ARM: OMAP: h4 must have blinky leds!!
...
805f53f085346b6765eda02820721a14ce0d644f 09-May-2007 Russell King <rmk@dyn-67.arm.linux.org.uk> Merge branches 'armv7', 'at91', 'misc' and 'omap' into devel
b7cc6d46b4f8157bfc58a6ed143ffa83575e236a 06-Mar-2007 Imre Deak <imre.deak@solidboot.com> ARM: OMAP: FB sync with N800 tree (support for dynamic SRAM allocations)

- in addition to fixed FB regions - as passed by the bootloader -
allow dynamic allocations
- do some more checking against overlapping / reserved regions
- move the FB specific parts out from sram.c to fb.c

Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
o.c
d82973d1cdc149d06ac9685ae008105d382c4236 26-Jan-2007 Tony Lindgren <tmlind@baageli.(none)> ARM: OMAP: Mostly cosmetic to sync up with linux-omap tree

Mostly cosmetic to sync up with linux-omap tree

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
evices.c
340a614ac6766df18cba87ff7e66182193c2bd6d 08-Dec-2006 Hiroshi DOYU <Hiroshi.DOYU@nokia.com> ARM: OMAP: Add mailbox support for IVA

This patch adds a generic mailbox interface for for DSP and IVA
(Image Video Accelerator). This patch itself doesn't contain
any IVA driver.

Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ailbox.c
c40fae9525e6c29c87a4f4361ff0a8d67a36e448 07-Dec-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: Sync core code with linux-omap

This patch syncs omap specific core code with linux-omap.
Most of the changes are needed to fix bitrot caused by
driver updates in linux-omap tree.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
config
evices.c
pmc.c
o.c
994c84ea526ea1c348f63dc3aa7cfeec931bb612 07-Dec-2006 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP: h4 must have blinky leds!!

This adds generic support for the "debug board" LEDs used by most of
TI's OMAP reference boards, and board-specific support for the H4.

It's derived from the not-as-generic stuff used by OMAP1 H2/H3/P2.
Those should be able to switch easily to this version, and clean up
some of the omap1-specific code.

In addition to H4 support, one key improvement is supporting not just
the "old" ARM debug LED API (with timer and idle LEDs, plus four that
can be handy for kernel debugging), but it also supports the "new"
generic LED API (most useful for usermode stuff IMO). Either or both
APIs can be enabled.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
config
oard-h4.c
b30fabadae2b3c1a65e3662be98f105d5718db70 08-May-2007 Bernhard Walle <bwalle@suse.de> Add IRQF_IRQPOLL flag on arm

Add IRQF_IRQPOLL for each timer interrupt.

Signed-off-by: Bernhard Walle <bwalle@suse.de>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
imer-gp.c
e8c9c502690efd24b7055bf608e7a3c34216848b 01-May-2007 Johannes Berg <johannes@sipsolutions.net> power management: implement pm_ops.valid for everybody

Almost all users of pm_ops only support mem sleep, don't check in .valid and
don't reject any others in .prepare so users can be confused if they check
/sys/power/state, especially when new states are added (these would then
result in s-t-r although they're supposed to be something different).

This patch implements a generic pm_valid_only_mem function that is then
exported for users and puts it to use in almost all existing pm_ops.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: David Brownell <david-b@pacbell.net>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: linux-pm@lists.linux-foundation.org
Cc: Len Brown <lenb@kernel.org>
Acked-by: Russell King <rmk@arm.linux.org.uk>
Cc: Greg KH <greg@kroah.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
m.c
fe0c935a6cbf25d72a27c7a345df8a2151de0b74 01-May-2007 Johannes Berg <johannes@sipsolutions.net> rework pm_ops pm_disk_mode, kill misuse

This patch series cleans up some misconceptions about pm_ops. Some users of
the pm_ops structure attempt to use it to stop the user from entering suspend
to disk, this, however, is not possible since the user can always use
"shutdown" in /sys/power/disk and then the pm_ops are never invoked. Also,
platforms that don't support suspend to disk simply should not allow
configuring SOFTWARE_SUSPEND (read the help text on it, it only selects
suspend to disk and nothing else, all the other stuff depends on PM).

The pm_ops structure is actually intended to provide a way to enter
platform-defined sleep states (currently supported states are "standby" and
"mem" (suspend to ram)) and additionally (if SOFTWARE_SUSPEND is configured)
allows a platform to support a platform specific way to enter low-power mode
once everything has been saved to disk. This is currently only used by ACPI
(S4).

This patch:

The pm_ops.pm_disk_mode is used in totally bogus ways since nobody really
seems to understand what it actually does.

This patch clarifies the pm_disk_mode description.

It also removes all the arm and sh users that think they can veto suspend to
disk via pm_ops; not so since the user can always do echo shutdown >
/sys/power/disk, they need to find a better way involving Kconfig or such.

ACPI is the only user left with a non-zero pm_disk_mode.

The patch also sets the default mode to shutdown again, but when a new pm_ops
is registered its pm_disk_mode is selected as default, that way the default
stays for ACPI where it is apparently required.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: David Brownell <david-b@pacbell.net>
Acked-by: Pavel Machek <pavel@ucw.cz>
Cc: <linux-pm@lists.linux-foundation.org>
Cc: Len Brown <lenb@kernel.org>
Acked-by: Russell King <rmk@arm.linux.org.uk>
Cc: Greg KH <greg@kroah.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
m.c
474844f7083b2381db9b3523dc6de9108fc4c732 26-Jan-2007 Richard Woodruff <r-woodruff2@ti.com> ARM: OMAP: Fix OMAP2 dss2 so clk_set_parent works

This adds the delayed application attribute to the dss2 clock. DSS2
can't select the 48MHz APLL with properly with out validating the
configuration as trigged by this flag.

Signed-off-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.h
766314867ba908133b8e1338bb2cc39577df3611 13-Dec-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: Include missing header

Include missing header for do_div()

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
04fbf6a29182eb4285bb8bb826fc34fe84a62d9c 12-Feb-2007 Tony Lindgren <tony@atomide.com> ARM: OMAP: Use linux/delay.h not asm/delay.h

Use linux/delay.h not asm/delay.h

Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
060ebf97b4d0000e63f7db1c1d12cb3dca5cd446 26-Jan-2007 Dirk Behme <dirk.behme_at_gmail.com> ARM: OMAP: Workqueue changes for board-h4.c

Workqueue changes for board-h4.c

Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-h4.c
b097f494cc3def2ec39ded3b80a62b9d257e4b01 07-Dec-2006 David Brownell <dbrownell@users.sourceforge.net> ARM: OMAP: omap GP timer: HZ != 100

Teach OMAP2 gp timer that HZ isn't always 100.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer-gp.c
e6687290ae9ba935c1435e2ae54cf2f92e1f5f3b 07-Dec-2006 Dirk Behme <dirk.behme_at_gmail.com> ARM: OMAP: Fix warning in mach-omap2

Fix warning

arch/arm/mach-omap2/timer-gp.c: In function
'omap2_gp_timer_init':
arch/arm/mach-omap2/timer-gp.c:70: warning: implicit
declaration of function 'setup_irq'

Signed-off-by: Dirk Behme <dirk.behme_at_gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
imer-gp.c
463cab36926a39d5e690664ebb5560a8b119fc71 30-Dec-2006 Kyungmin Park <kyungmin.park@samsung.com> [PATCH] ARM: OMAP: fix missing header on apollon board

Fix apollon board compiler error

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
oard-apollon.c
7f24516240c78760d0b19e6160dcab893ef81918 30-Dec-2006 Kyungmin Park <kyungmin.park@samsung.com> [PATCH] ARM: OMAP: fix GPMC compiler errors

Fix GPMC compiler errors on OMAP2

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
pmc.c
ea14fad0d416354a4e9bb1a04f32acba706f9548 08-Dec-2006 Linus Torvalds <torvalds@woody.osdl.org> Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (76 commits)
[ARM] 4002/1: S3C24XX: leave parent IRQs unmasked
[ARM] 4001/1: S3C24XX: shorten reboot time
[ARM] 3983/2: remove unused argument to __bug()
[ARM] 4000/1: Osiris: add third serial port in
[ARM] 3999/1: RX3715: suspend to RAM support
[ARM] 3998/1: VR1000: LED platform devices
[ARM] 3995/1: iop13xx: add iop13xx support
[ARM] 3968/1: iop13xx: add iop13xx_defconfig
[ARM] Update mach-types
[ARM] Allow gcc to optimise arm_add_memory a little more
[ARM] 3991/1: i.MX/MX1 high resolution time source
[ARM] 3990/1: i.MX/MX1 more precise PLL decode
[ARM] 3986/1: H1940: suspend to RAM support
[ARM] 3985/1: ixp4xx clocksource cleanup
[ARM] 3984/1: ixp4xx/nslu2: Fix disk LED numbering (take 2)
[ARM] 3994/1: ixp23xx: fix handling of pci master aborts
[ARM] 3981/1: sched_clock for PXA2xx
[ARM] 3980/1: extend the ARM Versatile sched_clock implementation from 32 to 63 bit
[ARM] 3979/1: extend the SA11x0 sched_clock implementation from 32 to 63 bit period
[ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter
...
6d5aefb8eaa38e44b5b8cf60c812aceafc02d924 05-Dec-2006 David Howells <dhowells@redhat.com> WorkQueue: Fix up arch-specific work items where possible

Fix up arch-specific work items where possible to use the new work_struct and
delayed_work structs.

Three places that enqueue bits of their stack and then return have been marked
with #error as this is not permitted.

Signed-Off-By: David Howells <dhowells@redhat.com>
oard-h4.c
10dd5ce28d78e2440e8fa1135d17e33399d75340 23-Nov-2006 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Remove compatibility layer for ARM irqs

set_irq_chipdata -> set_irq_chip_data
get_irq_chipdata -> get_irq_chip_data
do_level_IRQ -> handle_level_irq
do_edge_IRQ -> handle_edge_irq
do_simple_IRQ -> handle_simple_irq
irqdesc -> irq_desc
irqchip -> irq_chip

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
rq.c
0cd61b68c340a4f901a06e8bb5e0dea4353161c0 06-Oct-2006 Linus Torvalds <torvalds@g5.osdl.org> Initial blind fixup for arm for irq changes

Untested, but this should fix up the bulk of the totally mechanical
issues, and should make the actual detail fixing easier.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
oard-apollon.c
imer-gp.c
038b0a6d8d32db934bba6a24e74e76e4e327a94f 04-Oct-2006 Dave Jones <davej@redhat.com> Remove all inclusions of <linux/config.h>
kbuild explicitly includes this at build time.

Signed-off-by: Dave Jones <davej@redhat.com>
m-domain.c
f30c2269544bffc7bf1b0d7c0abe5be1be83b8cb 03-Oct-2006 Uwe Zeisberger <Uwe_Zeisberger@digi.com> fix file specification in comments

Many files include the filename at the beginning, serveral used a wrong one.

Signed-off-by: Uwe Zeisberger <Uwe_Zeisberger@digi.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
oard-apollon.c
oard-generic.c
oard-h4.c
rq.c
rcm-regs.h
erial.c
ram-fn.S
4d24607bfaab3d02fd0d6e0ffc22f29c2bc8eb30 29-Sep-2006 Komal Shah <komal_shah802003@yahoo.com> [PATCH] OMAP: Update OMAP1/2 boards to give keymapsize and other pdata

This patch adds keymapsize, delay and debounce flag in the keypad platform
data for various TI OMAP1/2 based boards like F-sample, H2, H3, Innovator,
Nokia770, OSK, Perseus and H4.

Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
oard-h4.c
90afd5cb2ac0977c38e83b6b21493da911b242b3 25-Sep-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: Sync clocks with linux-omap tree

Mostly clean up CONFIG_OMAP_RESET_CLOCKS. Also includes a
patch from Imre Deak to make McSPI clocks use id.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock.h
ddc32a87497d8806e361cfe7168f173396fe9219 24-Sep-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP2: Make sure peripherals can be accessed after clk_enable

Some peripherals seem to need additional delay until they
can actually be accessed after enabling their FCLK and ICLK.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
dc0d794e488090082b7194738a08f18db0874900 24-Sep-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP2: Keep both APLLs active during bootup

Enabling and disabling the 54 MHz and 96 MHz APLLs can happen
unnecessarily often during bootup. Make sure they're kept
enabled during init.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
ab0a2b9b9f536d860681dacbfb5784bd76e88a1e 24-Sep-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP: Add support for forcing osc_ck on

Some boards might use the oscillator clock for powering
external peripherals. Add support for making sure osc_ck
stays active even when trying to go to sleep.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock.h
e4d5ee8109c210b65becfc1ef7697a0ce4eaf3c4 24-Sep-2006 Komal Shah <komal_shah802003@yahoo.com> ARM: OMAP: Remove IVA IRQ bank

ARM11 can't access the IVA interrupt controller from
IVA slave port.

From Richard Woodruff:

"The 0x40000000 is an IVA-ARM7 local bus address.
The IVA-INTC is NOT accessible through the IVA-L3-Slave Port.
The current TRM does say this directly and indirectly in a few spots and
in figures."

Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
rq.c
eaca33df44c0d00bc12b16e72b728ade25adf14d 24-Sep-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP: Add write memory barriers to OMAP2 clock code

After adjusting clock parameters, OMAP2 CPUs need a memory
barrier to make sure the changes go into effect immediately.
Otherwise bad things will happen if we try to access the
peripheral whose clock is just being enabled.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
dbab288be47ddc84ad52ff926ea1a0efd33acb57 24-Sep-2006 Samuel Ortiz <samuel.ortiz@solidboot.com> ARM: OMAP: Fix OMAP2 clock.c typo

A forgotten parenthesis in clock.c caused the PLL stabilization loop
to not be executed correctly.

Signed-off-by: Samuel Ortiz <samuel.ortiz@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
f37e4580c409e290f6e482007c3573cdb4470bf9 24-Sep-2006 Imre Deak <imre.deak@solidboot.com> ARM: OMAP2: Dynamic allocator for GPMC memory space

Add support for assigning memory regions dynamically to peripherals
attached to GPMC interface. Platform specific code should now call
gpmc_cs_request to get a free GPMC memory region instead of using
a fixed address.

Make the H4 and Apollon platform initialization use the new API.

Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
abc45e1d69542281fb2b40968e5d112f51976623 24-Sep-2006 Kyungmin Park <kyungmin.park@samsung.com> ARM: OMAP: Apollon MMC support

Apollon board MMC supports on OMAP2

TODO:
We have to check MMC on H4

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
oard-apollon.c
ux.c
ae78dcf79aefa98a1ed245898467eb6d3bfc11e6 24-Sep-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: Avoid sleeping during arch_reset

If we call clk_get() from arch_reset we get ugly messages before
reboot.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
rcm.c
38c677cb9a683c9d477f845484b74b0a1b23e1fb 01-Aug-2006 David Brownell <david-b@pacbell.net> [ARM] 3739/1: genirq updates: irq_chip, add and use irq_chip.name

Patch from David Brownell

ARM genirq cleanups/updates:

- Start switching platforms to newer APIs
* use "irq_chip" name, not "irqchip"
* providing irq_chip.name

- Show irq_chip.name in /proc/interrupts, like on x86.

This update a bit more than half of the ARM code. The irq_chip.name
values were chosen to match docs (if I have them) or be otherwise
obvious ("FPGA", "CPLD", or matching the code).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
rq.c
52e405eaa9806968e88b35d65e57acad954a5ab5 03-Jul-2006 Thomas Gleixner <tglx@linutronix.de> [PATCH] ARM: fixup irqflags breakage after ARM genirq merge

The irgflags consolidation did conflict with the ARM to generic IRQ
conversion and was not applied for ARM. Fix it up.

Use the new IRQF_ constants and remove the SA_INTERRUPT define

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
oard-apollon.c
imer-gp.c
a8c4c20dfa8b28a3c99e33c639d9c2ea5657741e 03-Jul-2006 Linus Torvalds <torvalds@g5.osdl.org> Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (44 commits)
[ARM] 3541/2: workaround for PXA27x erratum E7
[ARM] nommu: provide a way for correct control register value selection
[ARM] 3705/1: add supersection support to ioremap()
[ARM] 3707/1: iwmmxt: use the generic thread notifier infrastructure
[ARM] 3706/2: ep93xx: add cirrus logic edb9315a support
[ARM] 3704/1: format IOP Kconfig with tabs, create more consistency
[ARM] 3703/1: Add help description for ARCH_EP80219
[ARM] 3678/1: MMC: Make OMAP MMC work
[ARM] 3677/1: OMAP: Update H2 defconfig
[ARM] 3676/1: ARM: OMAP: Fix dmtimers and timer32k to compile on OMAP1
[ARM] Add section support to ioremap
[ARM] Fix sa11x0 SDRAM selection
[ARM] Set bit 4 on section mappings correctly depending on CPU
[ARM] 3666/1: TRIZEPS4 [1/5] core
ARM: OMAP: Multiplexing for 24xx GPMC wait pin monitoring
ARM: OMAP: Fix SRAM to use MT_MEMORY instead of MT_DEVICE
ARM: OMAP: Update dmtimers
ARM: OMAP: Make clock variables static
ARM: OMAP: Fix GPMC compilation when DEBUG is defined
ARM: OMAP: Mux updates for external DMA and GPIO
...
6ab3d5624e172c553004ecc862bfeac16d9d68b7 30-Jun-2006 Jörn Engel <joern@wohnheim.fh-wedel.de> Remove obsolete #include <linux/config.h>

Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
lock.c
evices.c
d.c
o.c
rq.c
emory.c
ux.c
rcm.c
leep.S
ram-fn.S
3cbc96050b02d8e5764bd0970067ef294737e324 27-Jun-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: Multiplexing for 24xx GPMC wait pin monitoring

Multiplexing for 24xx GPMC wait pin monitoring

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
2aab6468b7f88df60828f8e07cfdf8c87338ed8d 27-Jun-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP: Fix GPMC compilation when DEBUG is defined

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
pmc.c
5ac4215349163baa66c9a26a94e220dcb6c44050 27-Jun-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: Mux updates for external DMA and GPIO

Mux updates for external DMA and GPIO. GPIO updates
by Igor Stoppa.

Signed-off-by: Tony Lindgren <tony@atomide.com>
ux.c
22a16f39e36e62f7bd221e5b279ea02fb3c43425 27-Jun-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: Add initial 24xx suspend support

This patch adds support for omap24xx power domains and
allows suspend to work.

Please note that for some reason core power domain still
does not seem to idle.

Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
m-domain.c
m.c
4bbbc1adc2095c6504a556819dd8842135df300b 27-Jun-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP: Add GPMC support for OMAP2

Implement basic support for General-Purpose Memory Controller
as found on OMAP2420.

Dynamic CS address space allocation still needs to be done.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
akefile
pmc.c
o.c
e32f7ec2e8bf00756c74a5e6a80bc59e949dd81d 27-Jun-2006 Timo Teras <timo.teras@solidboot.com> ARM: OMAP: Fix 32 kHz timer and modify GP timer to use GPT1

The dmtimer framework update broke 32 kHz timer as udelay() does not work
before system timer is started (and GPT1 should not be reset).
This also makes the GP timer use GPT1. This requires a fix in clock framework.

Signed-off-by: Timo Teras <timo.teras@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
imer-gp.c
77900a2fc3bfb1eb6eaa6d43eef4591e1f7c600d 27-Jun-2006 Timo Teras <timo.teras@solidboot.com> ARM: OMAP: Port dmtimers to OMAP2 and implement PWM support

Port dmtimer framework to OMAP2.
Modify the dmtimers API to support setting of PWM configuration and prescaler.
Convert 32 kHz timer and GP timer to use the dmtimer framework.

Signed-off-by: Timo Teras <timo.teras@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
config
imer-gp.c
6e711ec6d249c0d3f8bc225066738d064ed90032 27-Jun-2006 Jarkko Nikula <jarkko.nikula@nokia.com> ARM: OMAP: Correct two bugs in arch/arm/mach-omap2/clock.c

omap2_clk_set_rate: dif_off must use clk->rate_offset, not clk->src_off.
omap2_get_src_field: for the case CM_SYSCLKOUT_SEL1, val must be 2 for
96MHz and 3 for 54MHz.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
ed7eb9d90a24bbe93fa47e19b61528bd5cfe584c 27-Jun-2006 Juha Yrjola <juha.yrjola@solidboot.com> ARM: OMAP: Register the 24xx McSPI device

Register the 24xx McSPI device as an OMAP2 platform device. The driver
module and Kconfig option were merged already some time ago.

Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
evices.c
ffb7a80f932550590ef54791b60db7e6ffce63f3 27-Jun-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: Fix gpt2_ick clock bit

CM_ICLKEN1_CORE bit should be 4, not 0 as noted by
Richard Woodruff.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.h
50e5629aa956c8c82015c90554a9a3fbf54cb404 09-Apr-2006 Tony Lindgren <tony@atomide.com> [ARM] 3460/1: ARM: OMAP: Remove unnecessary nop_release()

Patch from Tony Lindgren

Remove unnecessary omap_nop_release() as noted by RMK.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
evices.c
9b6553cd01ce3ea7a6a532f7b7e62e3535d6b102 02-Apr-2006 Tony Lindgren <tony@atomide.com> [ARM] 3433/1: ARM: OMAP: 8/8 Update board files

Patch from Tony Lindgren

This patch syncs OMAP board support with linux-omap tree.
The highlights of the patch are:
- Add support for Nokia 770 by Juha Yrjola
- Add support for Samsung Apollon by Kyungmin Park
- Add support for Amstrad E3 videophone by Jonathan McDowell
- Remove board-netstar.c board support as requested by Ladislav Michl
- Do platform_device registration in board files by Komal Shah et al.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
config
oard-apollon.c
oard-h4.c
evices.c
120db2cba8e40c562e5a4aea44ede2f360a5de75 02-Apr-2006 Tony Lindgren <tony@atomide.com> [ARM] 3455/1: ARM: OMAP: 7/8 Misc updates, take 2

Patch from Tony Lindgren

Update misc OMAP core code from linux-omap tree:

- McBSP updates by Samuel Ortiz, Andrzej Zaborowski
- Whitespace cleanups by Ladislav Michl
- Other fixes by various linux-omap developers

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
akefile
o.c
670c104ae8e7bcc28be0289a16dac2ddfb88b285 02-Apr-2006 Tony Lindgren <tony@atomide.com> [ARM] 3430/1: ARM: OMAP: 5/8 Update PM

Patch from Tony Lindgren

Update OMAP PM code from linux-omap tree:

- Move PM code from plat-omap to mach-omap1 and mach-omap2
by Tony Lindgren
- Add minimal PM support for omap24xx by Tony Lindgren and
Richard Woodruff
- Misc updates to omap1 PM code by Tuukka Tikkanen et al
- Updates to the SRAM code needed for PM and FB by Imre Deak

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
m.c
leep.S
ram-fn.S
8d7f9f5037a09b8570d0c9e60a924ad2ba6fa7dd 02-Apr-2006 Tony Lindgren <tony@atomide.com> [ARM] 3428/1: ARM: OMAP: 3/8 Update pin multiplexing

Patch from Tony Lindgren

Update OMAP pin multiplexing code from linux-omap tree.
This patch adds new pin configurations by various OMAP
developers, and suport for omap730 by Brian Swetland.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
ux.c
b824efae120b656fef562b2e81e1ed6aa88f8d24 02-Apr-2006 Tony Lindgren <tony@atomide.com> [ARM] 3426/1: ARM: OMAP: 1/8 Update clock framework

Patch from Tony Lindgren

Update OMAP clock framework from linux-omap tree.
The highlights of the patch are:

- Add support for omap730 clocks by Andrzej Zaborowski
- Fix compile warnings by Dirk Behme
- Add support for using dev id by Tony Lindgren and Komal Shah
- Move memory timings and PRCM into separate files by Tony Lindgren

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock.h
emory.c
emory.h
rcm-regs.h
rcm.c
rcm.h
7d420896256a4bffe44202f282fbdd4c74d779a8 23-Mar-2006 Lennert Buytenhek <buytenh@wantstofly.org> [ARM] 3391/1: use PLAT8250_DEV_PLATFORM{,1} for platform device id instead of 0/1

Patch from Lennert Buytenhek

This patch changes iop3xx and omap2 and to use PLAT8250_DEV_PLATFORM{,1}
as platform device id instead of just hardcoding 0/1 directly.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
erial.c
18f49ea207fbcf37f81395037f0dc1cacb2aac3c 08-Feb-2006 Tony Lindgren <tony@atomide.com> [ARM] 3278/1: OMAP: 3/3 Fix low-level io init for omap2 boards

Patch from Tony Lindgren

This patch fixes the low-level IO init for omap2 boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-generic.c
oard-h4.c
30ff720b40ba64b0e9c8974673b95970e68503ac 18-Jan-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: 4/4 Fix clock framework to use clk_enable/disable misc

This patch fixes OMAP clock framework to use clk_enable/disable
instead of clk_use/unuse as specified in include/linux/clk.h.

Signed-off-by: Tony Lindgren <tony@atomide.com>
erial.c
imer-gp.c
fde0fd49419177ddd69254b8d532edde9ce6a543 18-Jan-2006 Tony Lindgren <tony@atomide.com> ARM: OMAP: 3/4 Fix clock framework to use clk_enable/disable for omap2

This patch fixes OMAP clock framework to use clk_enable/disable
instead of clk_use/unuse as specified in include/linux/clk.h.

Signed-off-by: Tony Lindgren <tony@atomide.com>
lock.c
lock.h
946d4935fc61e1479f8c057d58c64110bb43d3b0 13-Jan-2006 Nicolas Pitre <nico@cam.org> [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2)

Patch from Nicolas Pitre

This field is redundent since it must be equal to PHYS_OFFSET anyway.

Now that no code uses it anymore, mark it deprecated and remove all
initializations from the tree.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
oard-generic.c
oard-h4.c
f8ce25476d5f12ffa29b885e49c38cd95053437e 07-Jan-2006 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Move asm/hardware/clock.h to linux/clk.h

This is needs to be visible to other architectures using the AMBA
bus and peripherals.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
erial.c
imer-gp.c
046d6b28ebce92aab2865aa3eb3a0d8ede57e17e 10-Nov-2005 Tony Lindgren <tony@atomide.com> [ARM] 3146/1: OMAP 3b/5: Add omap24xx clock framework

Patch from Tony Lindgren

This patch adds omap24xx specific clock code by
Richard Woodruff, Nishant Menon, Tony Lindgren et al.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
lock.c
lock.h
1dbae815a724303b46ab4663b5fc23c13e9d9690 10-Nov-2005 Tony Lindgren <tony@atomide.com> [ARM] 3145/1: OMAP 3a/5: Add support for omap24xx

Patch from Tony Lindgren

This patch adds support for omap24xx series of processors.
The files live in arch/arm/mach-omap2, and share common
files with omap15xx and omap16xx processors in
arch/arm/plat-omap.

Omap24xx support was originally added for 2.6.9 by TI.
This code was then improved and integrated to share common
code with omap15xx and omap16xx processors by various
omap developers, such as Paul Mundt, Juha Yrjola, Imre Deak,
Tony Lindgren, Richard Woodruff, Nishant Menon, Komal Shah
et al.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
config
akefile
akefile.boot
oard-generic.c
oard-h4.c
evices.c
d.c
o.c
rq.c
ux.c
rcm.h
erial.c
ram-fn.S
imer-gp.c