When the touch controller firmware is upgraded, the config data on
the controller might require an update too to match the firmware.
Since the driver performs config version checking before updating
config data and only updates to a newer version, we need to zero
out the config version after a firmware upgrade to make sure proper
config data will be programmed to the touch controller.
Change-Id: If3e22948b1f8eea3ccbfcaa979ec6b42f1ac078a
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
The Atmel touch driver reads information about a few objects at
initialization and saves them locally. Move this logic to its
own function.
Change-Id: I0f584ff5dcba6b713b3ac6b950ed64f3ad46faf1
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
Add version checking so that config update only occurs when the config
data supplied in the platform data is of newer version. If the
controller is previously programmed with wrong version of config data,
based on controller type and firmware version, the driver will program
the latest config data present in the platform data to the controller.
Change-Id: I286852533aef920accb254ab7259edc144357dd3
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
* changes:
msm: pm2: Use PER CPU variable to log the idle stats
msm: pm2: Change the initialization sequence of "msm_pm_init_done"
msm: pm2: Use a different kernel API to get the sleep length
Replace local static varaible with per cpu static varaible
to log the individual cores idle statistics information
correctly.
Change-Id: If6a9ccd66c2a9ff6bb748134814fb6b7bdb4d257
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Set the "msm_pm_init_done" variable after populating the idle
statistics data for both the cores. Setting this varaible before
initializing the idle stats causes the kernel exception (division
by zero). This is happening because one core is doing the driver
init and another core finds idle time and execute the arch_idle
to do a low power mode and also is trying to log the idle stats
information where another core is not prepared yet.
Change-Id: I71d2785eb47f638019817b3f5659711592243063
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Currently pm2 driver calls the "msm_timer_enter_idle" &
msm_timer_exit_idle" API's for all the power modes (i.e.
SWFI, GDFS/StandalonePC) to get next timer expiration &
time sync with modem respectively. Use these API's only
when the system decide to enter into a modem assisted PC
otherwise use a differnt API to get the sleep length.
Change-Id: Idf5d53518f75551bab432b3532c0eae1f61cdff1
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Currently PM driver uses the memory given by the "memblock_alloc"
api. These initial memory bytes are programmed with warm boot entry
sequences to come out of the low power modes. Currently this API is
causing the system instability with 1GB DDR parts and HIGH MEM is
enabled. To resolve this issue use a different API to allocate the
memory i.e memblock_remove.
Change-Id: I1016d63f1154e7b4d4d4b702202878d6f93cecf0
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Underrun occurs while downscaling video data on 8x60. Enable writeback
if video downscale is required.
CRs-fixed: 329630
Change-Id: Ief4b002efd6f4ad9fcfd844325c05de619d47719
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
The default writeback size (6MB) is as per primary interface. For
mixer1 writeback to be enabled, writeback size should be more than
the maximum resolution supported by mixer1 which is 1080P.
Increase writeback memory size for mixer1 writeback to 12MB.
CRs-fixed: 329630
Change-Id: Icee8370dfc78d316eed3e78a4a7e82e3e64bfa63
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
1. update get_sensor_info function to send sensor type
to the upper layers
2. update table ack pending flag in case of table ack
received
3. add ov5647 sensor power down function
Change-Id: I92c8e25d377d2fee09276b72119eb95adfcc79f8
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
This reverts commit 111ea32d6e.
That commit has been shown to cause crashes in testing.
Change-Id: I582b26c9b834ddb206f4c5ca150d55c1cd23091f
Signed-off-by: Larry Bassel <lbassel@codeaurora.org>
msm_pm_standalone_power_collapse function is always returning
success irrespective of actual gdfs status. There could be possiblilty
that wfi can fail which needs to be consider while measuring the
standalone power collapse statistics.
Change-Id: I643bc4344cf1299cd8de5e6d7d88579e5e9a704d
Signed-off-by: Anji jonnala <anjir@codeaurora.org>
Enable the pm8xxx thermal alarm driver so that userspace can
monitor the PMIC die temperature on 9615 devices.
Change-Id: Id5e7bf029b94fb13fb76126bc64815e6db0e3634
Signed-off-by: David Collins <collinsd@codeaurora.org>
FSM9xxx targets are compatible with existing msm_watchdog
driver. This change defines and initializes the platform_device
for msm_watchdog in FSM9xxx targets.
Change-Id: I8872debda9e79cb943c125ba333e754fe1637d2c
Acked-by: Kaushik Sikdar <ksikdar@qualcomm.com>
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
Use wait_for_completion_timeout() instead of wait_for_completion()
in the mdm SSR powerup and ramdumps callback functions to guard
against an indefinite hang should the userspace program become
unresponsive.
Change-Id: Ie8126891e7135777098dfbe2755160e17e8c79a6
Signed-off-by: Joel King <joelking@codeaurora.org>
It is not necessary to reset the external modem the second time
it is being powered up because it has already been powered up for
early initialization.
Change-Id: I9837aa3b26d442f1521b5919d8f2c0f2080297a5
Signed-off-by: Joel King <joelking@codeaurora.org>
* changes:
msm: pil-gss: Move to common proxy voting
msm: pil-q6v4: Move to common proxy voting
msm: pil-riva: Move to common proxy voting
msm: pil: Consolidate proxy voting into core
Implement the DSPS boot and shutdown support as a platform driver
by consolidating the two implementations of DSPS boot code which
were in peripheral-reset*.c.
Change-Id: If27ecfe9f508acc3508f3deba416dd196be37090
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
SLIMBUS controller is used by audio. SLIMBUS controller device is
added to Device Tree for copper.
Change-Id: I03f133b1e219896cb4135d1a770938e416d8e511
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
Device names must be specified in the clk_lookup table
so that clk_get() will find the clocks.
Change-Id: Icc14ca81d76f6f75072a858a49af348309d52bfd
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
External Power Monitor(EPM) driver is used by clients
to monitor the voltage and current for supported
power rails.
Change-Id: I13b9b1ce93c7be296b20675ce06fe8cdd6ca08c0
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Add platform data for the EPM which includes the
scaling factor and resistance for each of the channel
to calculate the power, sx1509 GPIO expander properties.
Change-Id: I3b910c4827d12a41f6c9ebe5caf60e7dcd525a99
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
When the usb_suspend bit is set and an the CHG_GONE
interrupt is triggered the ovp fets are opened to
enforce a usb unplug detection.
Fix this by checking the CHG_USB_SUSPEND bit and do not
open the USB OVP FET.
Change-Id: Ibec1908c959f08fb531e43c26b61e1c455b9e6a7
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
This reverts commit 7dd2266ae3.
It was a mistake to move the usb driver to the clock apis for XO
buffer voting. Due to an RPM design CXO and D0 are the same but
we would like to hide that from the users of the buffers.
Therefore the msm_xo driver itself remaps the D0 buffer request
to the cxo clock until the RPM is fixed.
Change-Id: I230de55d30a49fa5bcf0d07f40453f1e09c4a9b1
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>