summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2
AgeCommit message (Collapse)Author
2012-03-07Merge branch 'cleanup' of ↵Olof Johansson
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
2012-03-07ARM: OMAP2+: Fix build error after mergeTony Lindgren
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>
2012-03-06ARM: remove bunch of now unused mach/io.h filesRob Herring
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>
2012-03-06ARM: OMAP2+: gpmc-smsc911x: only register regulator for first instanceKevin Hilman
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>
2012-03-06ARM: OMAP2+: voltage: ensure voltage used is exact voltage from OPP tableKevin Hilman
When using the SMPS regulators to scale voltages, the regulator framework may pass a minimum voltage that is not an exact OPP voltage. For the VC/VP controlled voltage domains, we must ensure that the voltage requested is the exact voltage from the OPP table. This is especially critical when using SR. To fix, voltdm_scale() uses the target voltage passed to walk through the OPP voltages until it finds a voltage that is >= one of the OPP voltages. Cc: Tero Kristo <t-kristo@ti.com> Cc: Nishanth Menon <nm@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-03-06arm: omap4: add common twl configurations for vdd1, vdd2 and vdd3Tero Kristo
VDD1 is used for MPU voltage, VDD2 is for IVA and VDD3 is for CORE. These are needed by DVFS. This patch also adds external controller support for these regulators, the default I2C control channel can't be used to modify the voltages for these regulators on TWL6030. Signed-off-by: Tero Kristo <t-kristo@ti.com> Reviewed-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-03-06arm: omap3: twl: add external controllers for core voltage regulatorsTero Kristo
VDD1 and VDD2 now use voltage processor for controlling the regulators. This is done by passing additional voltdm data during the regulator init. Signed-off-by: Tero Kristo <t-kristo@ti.com> Reviewed-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-03-06arm: omap3: add common twl configurations for vdd1 and vdd2Tero Kristo
VDD1 and VDD2 are the core voltage regulators on OMAP3. VDD1 is used to control MPU/IVA voltage, and VDD2 is used for CORE. These regulators are needed by DVFS. Voltage ranges for VDD1 and VDD2 are taken from twl4030/twl5030 data manuals: - SWCS019L : TWL4030 ES3.1 Data Manual rev L - SWCS030E : TWL5030 ES1.2 Data Manual rev E Signed-off-by: Tero Kristo <t-kristo@ti.com> Reviewed-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-03-06arm: omap3: voltage: fix channel configurationTero Kristo
OMAP3 uses the default settings for VDD1 channel, otherwise the settings will overlap with VDD2 and attempting to modify VDD1 voltage will actually change VDD2 voltage. Signed-off-by: Tero Kristo <t-kristo@ti.com> Reviewed-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-03-06ARM: OMAP3+: PM: VP: fix integer truncation errorYuan Jiangli
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>
2012-03-06ARM: OMAP2+: PM: fix wakeupgen warning when hotplug disabledKevin Hilman
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>
2012-03-06ARM: OMAP2+: PM: fix section mismatch with omap2_init_processor_devices()Kevin Hilman
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>
2012-03-06ARM: OMAP2: Fix section warning for n8x0 when CONFIG_MMC_OMAP is not setTony Lindgren
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>
2012-03-06ARM: OMAP2+: Fix omap24xx_io_desc warning if SoC subtypes are not selectedTony Lindgren
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>
2012-03-06Merge commit 'v3.3-rc6'Tomi Valkeinen
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
2012-03-05ARM: OMAP2+: included some headers twiceDanny Kukawka
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>
2012-03-05ARM: OMAP: don't build hwspinlock in vainOhad Ben-Cohen
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>
2012-03-05ARM: OMAP2+: ads7846_init: put gpio_pendown into pdata if it's providedIlya Yanok
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>
2012-03-05ARM: omap: pandora: fix usbhs platform dataGrazvydas Ignotas
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>
2012-03-05ARM: OMAP2+: id: Add am33xx SoC type detectionAfzal Mohammed
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>
2012-03-05ARM: OMAP2+: GPMC: Export gpmc_enable_hwecc and gpmc_calculate_eccBernhard Walle
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>
2012-03-05Revert "ARM: OMAP2+: Fix multiple randconfig errors with SOC_OMAP and ↵Tony Lindgren
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>
2012-03-05ARM: OMAP2+: PM: share some suspend-related functions across OMAP2, 3, 4Paul Walmsley
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>
2012-03-05ARM: OMAP2+: PM debug: fix the use of debugfs_create_* APIJean Pihet
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>
2012-03-05ARM: OMAP2+: PM: share clkdms_setup() across OMAP2, 3, 4Paul Walmsley
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>
2012-03-05ARM: OMAP2+: PM: clean up omap_set_pwrdm_state()Paul Walmsley
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>
2012-03-05ARM: OMAP3: PM: remove superfluous calls to pwrdm_clear_all_prev_pwrst()Paul Walmsley
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>
2012-03-05Merge remote-tracking branch 'omap/hsmmc' into for_3.4/cleanup/pm-baseKevin Hilman
2012-03-05ARM: OMAP2+: Fix module build errors with CONFIG_OMAP4_ERRATA_I688R Sricharan
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>
2012-03-05ARM: OMAP2+: Remove extra ifdefs for board-genericTony Lindgren
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>
2012-03-05ARM: OMAP2+: Fix build error when only ARCH_OMAP2/3 or 4 is selectedTony Lindgren
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>
2012-03-05ARM: OMAP3+: SmartReflex: fix error handlingJean Pihet
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>
2012-03-05ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* APIJean Pihet
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>
2012-03-05ARM: OMAP3+: SmartReflex: micro-optimization for sanity checkFelipe Balbi
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>
2012-03-05ARM: OMAP3+: SmartReflex: misc cleanupsFelipe Balbi
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>
2012-03-05ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argumentFelipe Balbi
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>
2012-03-05ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata()Felipe Balbi
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>
2012-03-05ARM: OMAP3+: hwmod: add SmartReflex IRQsNishanth Menon
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>
2012-03-05ARM: OMAP3+: SmartReflex: clear ERRCONFIG_VPBOUNDINTST only on a needNishanth Menon
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>
2012-03-05ARM: OMAP3+: SmartReflex: Fix status masking in ERRCONFIG registerNishanth Menon
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>
2012-03-05ARM: OMAP3+: SmartReflex: Add a shutdown hookNishanth Menon
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>
2012-03-05ARM: OMAP3+: SmartReflex Class3: disable errorgen before disable VPNishanth Menon
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>
2012-03-05ARM: OMAP3+: SmartReflex: fix err interrupt disable sequenceNishanth Menon
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>
2012-03-05ARM: OMAP3+: SmartReflex: use voltage domain name in device attributesShweta Gulati
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>
2012-03-05ARM: OMAP: add minimal support for Nokia RM-696Aaro Koskinen
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>
2012-03-05ARM: OMAP: enable Bluetooth on the PandaBoardMircea Gherzan
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>
2012-03-05ARM: OMAP: pandora: add support for backlight and poweroffGrazvydas Ignotas
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>
2012-03-05ARM: OMAP4: board-4430sdp: don't initialize value that is never usedUwe Kleine-König
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>
2012-03-05ARM: OMAP3: cm-t3517: add EMAC supportIgor Grinberg
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>
2012-03-05ARM: OMAP: move generic EMAC init to separate fileIlya Yanok
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>