msm: camera: Correct slave address for ov5647 sensor

Slave address of OV5647 5MP camera is chaged to 0x36

Change-Id: I69d8a462f2c7c1ce62aa3085d878b7f6adfa7b88
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
board-msm7627a: Camera support for virtual regulators on 8625Q EVBD

Virtual regulator support for 5 & 6 GPIOs shared between Camera
and display.

Change-Id: I4a29f77ff65218cc7d657be91cff54095ae9b276
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
msm: board-msm7627a-io: Add pdata entry to ignore END key

Legacy targets (7201, 7627, 7630..) use a key to report
both END(short press) and POWER(long press). QRD7x27a platform
uses the same key only for power. END functionality is to be
supported from UI interface. Sending both END and POWER cause
problems in these targets. So add entry to ignore end key for
such platforms.

CRs-fixed: 392320
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
(cherry picked from commit c4714396a2f2742e07626eb6fab0e0f575898c68)

Change-Id: Iea06789a981e76b8bcc33a459b90bf85e76af2a2
Signed-off-by: Gopal Goberu <ggober@codeaurora.org>
msm: board-qrd7627a: Add i2c-gpio pdev for SKUD

i2c gpio driver uses gpio 36 for sda on SKUD platform.
On other 7627a variants the gpio is allocated for keypad.
So add i2c-gpio driver only for SKUD or targets with
8625q processor.

CRs-fixed: 429468
Change-Id: I501a24b6185d89db00cc258577aeeac155192044
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
Signed-off-by: Gopal Goberu <ggober@codeaurora.org>
msm: acpuclock-8625q: Adding support for 300MHz ebi1_clk in 8625q.

The 8625q has some different voltage and eb1_clk frequency
requirements than skud_prime. But this same driver is used
for both the targets. So, this patch involves the inclusion
of the changes specific to 8625q.

Change-Id: I03ce1372cd9e4cac41c8766d471400ea781e34e6
Signed-off-by: Utsab Bose <ubose@codeaurora.org>
board: 7627a: Update the GDFS residency values to optimal value.

The current residency setting of 6msec for GDFS is way too high to be
entered during active test cases like video, gfx. We profiled this setting
for optimal value on Strider and found 500usec is large enough without
sacrificing the power savings. Hence this change updates the setting to
500usec.

Signed-off-by: Krishna Vanka <kvanka@codeaurora.org>
(cherry picked from commit d89bcd21b554311da13f429f1733d5f9103fa8d0)

Change-Id: I30857ec5e488576700a8f4c018d06819717e3d63
Signed-off-by: Gopal Goberu <ggober@codeaurora.org>
msm: acpuclok-8625q: add support for 245MHz ebi1_clk in 8625q

When the acpu frequency is at 700MHz, ebi1_clk frequency is set
to 245MHz.

Change-Id: I5454bf42aac454e12f69f880d26dec77859a9e2e
Signed-off-by: Utsab Bose <ubose@codeaurora.org>
Revert "board: 7627a: Update the GDFS residency values to optimal value."

This reverts commit 236e0c867bee95638cc4fa5f17d5b50dae68ab92.

Change-Id: I1b162e31d9ee1af66d5b961ca6b47f874427e3fb
Signed-off-by: Gopal Goberu <ggober@codeaurora.org>
msm: devices-msm7x27a: Vote for 300MHz EBI at turbo on 8x25Q

Vote for 300MHz EBI at turbo on 8x25Q based on the clock plan.

Change-Id: Id649236f388da522f475090d458a0d8b0e6703a8
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
msm: cpr: add cpr_reset hook to msm_cpr_config

Probe puts the cpr out of reset in the early stage. Later if probe
fails, cpr is still in out of reset. It is safe to keep CPR in reset
as we don't use it anymore. So, call the cpr_reset from the failure
path of probe.

Change-Id: Idff62365ef81e91e9ba4dcd2d34dcc6c91ff8e7f
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
msm: cpr: Add sanity checks in msm_cpr_probe function

Add sanity checks in msm_cpr_probe function to catch the possible
failure conditions of probe function.

Change-Id: Ica1ff15e674258dc5f83134204a3fd6fdc4ddaf7
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
msm: cpr: Change step size for skud prime board

Skud prime board is using external buck regulator. The external
buck regulator voltage step size is 6.25mV. So, change the step
size of cpr to 6.25 for skud prime board.

Change-Id: Iddc6c985016047119da545b38060f45b3f4e359a
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
msm: cpr: Put vp device registration under MSM8x25 V2 check

VP device is needed only for MSM8x25 V2. Put the vp platform
device registration under required check.

Change-Id: Idd4406c8064f59de1c25ec5f653bb59bfa20653a
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
msm: cpr: Add success message in probe

Kernel log doesn't have success message of CPR initialization.
Add a success message in the probe. By seeing kernel logs one
can identify CPR is running or not.

Change-Id: Ie326266ee0cc7c4ce99bc588297b2efb6bdee35b
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
msm: cpr: Add pvs_fuse to msm_cpr_pdata

pvs_fuse value is required for debugging. So, add this
value to msm_cpr_pdata structure so that one can get this
value from ram dump of msm_cpr_pdata.

Change-Id: I82f630fe4eb4c93d970575f556c6bd214f1d46b8
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
msm: cpr: Make disable_cpr true by default

Rightnow, disable_cpr is initialised to false. But cpr_pm_suspend
and cpr_pm_resume can be called from outside even if cpr is disabled.
To be on safe side, initialise disable_cpr to true and make it false
in probe.

Change-Id: I6366f96948b74cb399b69e1b0f3c8b47d603baf5
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
msm: cpr: Disable CPR upon repeated Vmax breach

CPR driver ignores the recommended voltage if it exceeds Vmax.
In such cases, receiving continuous "Up" interrupts is an overhead
for Apps. Disable CPR upon repeated Vmax hits. CPR is re-enabled
upon any frequency switch.

Change-Id: I070545a00e364e0a76b0308e10713306fdd56130
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
board: 7627a: Update the GDFS residency values to optimal value.

The current residency setting of 6msec for GDFS is way too high to be
entered during active test cases like video, gfx. We profiled this setting
for optimal value on Strider and found 500usec is large enough without
sacrificing the power savings. Hence this change updates the setting to
500usec.

(cherry picked from commit d89bcd21b554311da13f429f1733d5f9103fa8d0)

(cherry picked from commit 236e0c867bee95638cc4fa5f17d5b50dae68ab92)

Change-Id: I3c4050c8a2f41909ae507ef1fc942eadede5e9c7
Signed-off-by: Krishna Vanka <kvanka@codeaurora.org>
Signed-off-by: Gopal Goberu <ggober@codeaurora.org>
drivers: regulator: Add support for OnSemi NCP6335D regulator

This driver supports OnSemi NCP6335D synchronous buck converter.
The NCP6335D is a step-down switching voltage regulator which
provides a voltage range from 0.6 to 1.4V. The regulator is
controlled via the I2C interface.

Change-Id: I237fe781d5c54d2b3ffc65096b9e83c387d3b6f5
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
msm: onsemi-ncp6335d.c: Add regulator driver at subsys initcall

Add the onsemi-ncp6335d regulator driver at subsys initcall
as the regulator_get() is used by acpuclock driver at device initcall.
This resolves the dependency chain.

Signed-off-by: Utsab Bose <ubose@codeaurora.org>
Change-Id: Ia7a18218066486c40080b25d57e979372467d8bd