omap: common: add kernel API to query RAM size

Add kernel api omap_total_ram_size() to query the
exact size of physical ram available in system.
Its derived from mem arguments passed to kernel via
bootargs and is expected to be used by board files and drivers.
Note: omap_init_ram_size() has to be invoked at the earliest
during board init to update memory size.

Change-Id: I8511fd66ba51343bc64a58db04994af930cbe709
Signed-off-by: Devaraj Rangasamy <dev@ti.com>

Conflicts:
	arch/arm/mach-omap2/board-4430sdp.c
	arch/arm/mach-omap2/board-44xx-tablet.c
	arch/arm/mach-omap2/board-omap4panda.c
OMAP4: DSI: Reset required disable-enable sequence

During the initialization of DSI,some times BTA
sent by OMAP DSI, was not receiving an BTA ACK.
To rectify this, we need to reset the DSI module
whenever we diable-enable the DSI module.

Change-Id: Ic2542970da06a121559a8cc700222881c60c025c
Signed-off-by: Sujeet Kumar Baranwal <s-baranwal@ti.com>
OMAP4: DPLL cascading: introduce DPLL cascading blocker API

Some devices cannot operate correctly while in DPLL cacading mode used
for low power MP3 playback.  Thus two new functions have been created which
can be used by device drivers to block entry, exit and allow entry into DPLL
cascading.

Function protoypes are:

int omap4_dpll_cascading_blocker_hold(struct device *dev);
int omap4_dpll_cascading_blocker_release(struct device *dev);

[Andrii Tseglytskyi <andrii.tseglytskyi@ti.com>:
Ported and adapted to p-android-omap-3.0]

Change-Id: I6df901c2790d874166ac5c4231cedd8c9b18d170
Signed-off-by: Mike Turquette <mturquette@ti.com>
Signed-off-by: Andrii Tseglytskyi <andrii.tseglytskyi@ti.com>
OMAP4: DPLL csacading: CPUfreq: manage DPLL cascading constraint

Only release a DPLL cascading constraint when at the lowest OPP,
otherwise hold a constraint blocking DPLL cascading entry.

[Andrii Tseglytskyi <andrii.tseglytskyi@ti.com>:
Ported and adapted to p-android-omap-3.0]

Change-Id: Ic842773e7a20bb2250cfd44c674a531d9fbec46f
Signed-off-by: Mike Turquette <mturquette@ti.com>
Signed-off-by: Andrii Tseglytskyi <andrii.tseglytskyi@ti.com>
ARM: OMAP4: Panda fix compiler error when PM_DEBUG is not defined

Fix the compiler error in the powerdomain.c for time and last_time
since these are wrapped in the header with CONFIG_PM_DEBUG the
code should be wrapped as well.

Change-Id: I26669e80182042d4a4b7e091167a0d6cb703dba2
Signed-off-by: Dan Murphy <dmurphy@ti.com>
OMAP4: DPLL cascading: mute warnings during DPLL cascading

1) PM: mute warn from min_bus_tput constraint

When the omap_device_set_rate function is called from
omap_pm_set_min_bus_tput and fails, a warn is printed.  This behavior is
normal and expected in DPLL cascading mode, so the warn has been
converted to pr_debug to minimize console noise.

2)clock: mute WARN when searching for fieldval

This warn is hit every time when entering DPLL cascading.  This is due
to a workaround implemented in DPLL cascading code which must circumvent the
clock framework to change l4_wkup_iclk's parent from SYS_CK to
DPLL_ABE's LP output, and back again.
During low power MP3 playback it is observed that this warn can disrupt
playback by causing a rapid exit/re-entry of the DPLL cascading mode.

[Andrii Tseglytskyi <andrii.tseglytskyi@ti.com>:
Ported and adapted to p-android-omap-3.0]

Change-Id: Id040a4710303845ebc9eeca81c1c06d49f922230
Signed-off-by: Mike Turquette <mturquette@ti.com>
Signed-off-by: Andrii Tseglytskyi <andrii.tseglytskyi@ti.com>
OMAP: process tput request made before PM init.

Because driver load order is uncertain, drivers could request bus
throughput constraints before the PM subsystem had initialized.  The
constraints would be recorded, but would have no effect on the actual
L3 clock.  This change suppresses attempts to set L3 scaling before PM
has initialized, and causes the PM subsystem to apply any pending bus
throughput constraints immediately after it has initialized itself.

Change-Id: If2a1f5315b8c1b084e4e4b3ce8e6844d92dd59b6
Signed-off-by: John Grossman <johngro@google.com>
Signed-off-by: Ruslan Bilovol <ruslan.bilovol@ti.com>
OMAP4: opp: remove WARN when initializing OPP of unregistered devices

OPP for unregistered omap_device or hwmod can now be initialized without
producing a kernel warning.

Change-Id: I4934314c49a57a75a1f7b849aa06a403045088af
Signed-off-by: Djamil Elaidi <d-elaidi@ti.com>
OMAP4: DPLL cascading: exit cascading before system restart

Exiting from DPLL cascading on system restart should be done before CPUs are turned off.
In other case deadlocks are possible when mutex locked with idled CPU could be acquired
with an active CPU.

Change-Id: I608f8aee6c6f3e9a2c1fca0f06ea836222b121c2
Signed-off-by: Taras Kondratiuk <taras@ti.com>
Signed-off-by: Andrii Tseglytskyi <andrii.tseglytskyi@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
ARM: MUX: Add csi22_dx2 and csi22_dy2 to the mux

The csi22_dx2 and csi22_dy2 is routed and the mux
needs to be updated.

Change-Id: Ica0e3b0a319423c03e5a323cd335ee278abe2e59
Signed-off-by: Dan Murphy <dmurphy@ti.com>
OMAP4: mux: fix wrong usage of OFFMODEOUTENABLE bit

OFFMODEOUTENABLE macro is defined as an input macro, but used
by the code as if it was an output macro.

TRM 4430: OFFMODEOUTENABLE: 0(output), 1(input)

Change-Id: Icdf365f2c9dab0e58d12260b31d70a711e4584db
Signed-off-by: Djamil Elaidi <d-elaidi@ti.com>

Conflicts:
	arch/arm/mach-omap2/board-4430sdp.c
	arch/arm/mach-omap2/board-44xx-tablet.c
Revert "OMAP4: DSI: Reset required disable-enable sequence"

This reverts commit 4a2e3503f0542ac53034397e9faa6afa2b1ca2dc.