ARM: OMAP3: Fix CM register bit masks

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

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
ARM: OMAP3+: dpll: Configure autoidle mode only if it's supported

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

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

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
ARM: OMAP2+: SmartReflex: fix return value check in sr_dev_init()

In case of error, the function voltdm_lookup() returns NULL
not ERR_PTR(). The IS_ERR() test in the return value check
should be replaced with NULL test.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
ARM: OMAP2+: PM: fix return value check in omap2_set_init_voltage()

In case of error, the function voltdm_lookup() returns NULL
not ERR_PTR(). The IS_ERR() test in the return value check
should be replaced with NULL test.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
[steven@steven676.net: make apply to 3.0]
Watchdog: OMAP: Fix the runtime pm code to avoid module getting stuck intransition state.

OMAP watchdog driver is adapted to runtime PM like a general device
driver but it is not appropriate. It is causing couple of functional
issues.

1. On OMAP4 SYSCLK can't be gated, because of issue with WDTIMER2 module,
which constantly stays in "in transition" state. Value of register
CM_WKUP_WDTIMER2_CLKCTRL is always 0x00010000 in this case.
Issue occurs immediately after first idle, when hwmod framework tries
to disable WDTIMER2 functional clock - "wd_timer2_fck". After this
module falls to "in transition" state, and SYSCLK gating is blocked.

2. Due to runtime PM, watchdog timer may be completely disabled.
In current code base watchdog timer is not disabled only because of
issue 1. Otherwise state of WDTIMER2 module will be "Disabled", and there
will be no interrupts from omap_wdt. In other words watchdog will not
work at all.

Watchdong is a special IP and it should not be disabled otherwise
purpose of it itself is defeated. Watchdog functional clock should
never be disabled. This patch updates the runtime PM handling in
driver so that runtime PM is limited only during probe/shutdown
and suspend/resume.

The patch fixes issue 1 and 2

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
[steven@steven676.net: backport to p-android-omap3-3.0]
OMAP3630: Add margins to SR-calibrated voltages for VDD2 (CORE) as well
encore_defconfig: watchdog changes

* Disable CONFIG_WATCHDOG_NOWAYOUT to prevent watchdogd crashes from
  causing spurious reboots
* Use the TWL4030 watchdog, which seems to work better, instead of the
  OMAP watchdog
encore: explicitly enable TWL4030 MADC clock

From the BN 2.6.32 source, which says:

"This is needed if battery power is not managed by the PMIC, in which
case MADC clock must be managed by the MADC driver itself."
TWL4030: set STOPON_PWRON during a warm reset

From the BN 2.6.32 source.
encore: configure Vmmc2 as fixed voltage regulator instead of via PMIC

It appears that encore's PMIC doesn't have a Vmmc2 regulator, but we've
been attempting to set one up in the TWL anyway -- presumably for the
side effect of telling the MMC subsystem the input voltage it has
available.  The "correct" way of doing this is to set up a "fixed
regulator" which tells the kernel the voltage of the Vmmc2 supply.

XXX: Silence the following (apparently harmless) errors in dmesg:

<3>reg-fixed-voltage reg-fixed-voltage.2: Failed to set supply vmmc
<3>reg-fixed-voltage reg-fixed-voltage.2: Failed to register regulator: -16
<4>reg-fixed-voltage: probe of reg-fixed-voltage.2 failed with error -16
ARM: OMAP3: TWL4030: ensure sys_nirq1 is mux'd and wakeup enabled

The SYS_NIRQ1 pin is the interupt line for the PMIC part of the TWL6030
and interrupts from the PMIC are needed as wakeup sources.

Ensure this pin is mux'd as input and has wakeup enabled so PMIC
interupts (e.g. RTC) can be used as wakeup sources.

Tested on 3430/n900, OMAP3530/Overo Fire, 3730/Overo FireSTORM,
3730/Beagle-xM.

Signed-off-by: Kevin Hilman <khilman@ti.com>
[steven@steven676.net: make apply to 3.0]
encore defconfigs: enable more filesystem I/O charsets

Requested by XDA user kyakace.