Commit Graph

303757 Commits

Author SHA1 Message Date
choongryeol.lee
4e4f4dabfd power: pm8921: consideration of ibat max overwrite
The thermal mitigation and battery temp control can overwrite
the ibat max value each other. So this patch remove the possibility
of overwrite ibat max value by mitigation and battery temp control.

Change-Id: Ib0f7bf2b8bd2e474d1d9c76bd5100b05310cb048
2013-03-04 12:44:44 -08:00
choongryeol.lee
58a482fbef power: battery: add argument to set_health_state()
Add argument to set_health_state() for notification
of current change to charger driver.

Change-Id: I4ae2875c5b2c29689d11f8dbe5be20e5667453d4
2013-03-04 12:44:43 -08:00
Azam Sadiq Pasha Kapatrala Syed
6dc08d5246 msm: camera: Adjust blanking timing settings.
Burst mode needs continous streaming of frames
hence use conventinal transition mode.

Signed-off-by: Azam Sadiq Pasha Kapatrala Syed <akapatra@codeaurora.org>
2013-03-04 12:44:43 -08:00
Jongrak Kwon
42c990ff81 mako: touch: bug fix on report mode setting
There was a bug on setting the report mode, breaking other bit fields.
Due to this, the firmware jitter filter was disabled, causing
some noises. Expect more stable position report with this correction.

Change-Id: I14f48c39f654e5771eaf8b5a2e6a2fd0c713a3ee
2013-03-04 12:44:42 -08:00
Jongrak Kwon
95c7aec308 mako: touch: correct resolution and reduce threshold
Change the resolution to exact size, which is 2560-1 x 1536 -1 and
reduce the threshold for reduced report mode so that more accurate data
can be reported to framework to improve browser scroll effect.
This should work with firmware jitter filter enable.

Change-Id: I7a36c3dbdc38ec402749577dda515f81d27a6557
2013-03-04 12:44:41 -08:00
Devin Kim
2e3b48a8f3 mako: display: adapt LCD tuning value
- Reddish component will be reduced by E4~E6 register.
- Strong edge will be smoothed by E2 register.

Change-Id: I17e9e53c5c0e8d82426922a6a6dc4fc7c26c1fd7
2013-03-04 12:44:41 -08:00
Devin Kim
7e4ed7732c mako: clean up board-mako-misc codes
- use pr_xxx instead of custom macros
- handle the erros

Change-Id: Ibb2ad7fda62a0fe5838cd1cd5124de8536e9403f
2013-03-04 12:44:40 -08:00
Devin Kim
152964bd36 android_vibrator: clean up codes and handle errors
Change-Id: I86e8d7a77a1f0a2b03bcb1b434fb68cb1d7b6e1a
2013-03-04 12:44:40 -08:00
Devin Kim
c9450cd29e mako: remove the hall ic codes
Mako doesn't support for the hall ic

Change-Id: Ib909300a5045bc68586163f20a09db4e6b3ab4fa
2013-03-04 12:44:39 -08:00
taiyeon.kim
23072f0972 power: pm8932-bms: avoid skipping when SoC is 1%
patch for do not skip 1%(SoC level)

Change-Id: I34f394f856512913b1a6e5888b93ddf563a1536d
2013-03-04 12:44:38 -08:00
Iliyan Malchev
e05110dbd7 msm_ion.h: switch to using legacy_ion.h
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:44:38 -08:00
Iliyan Malchev
0cc2262f23 legacy_ion.h: a backwards-compatibility copy of ion.h
cloned from include/linux/ion.h at:

commit b6b0b65325e6f5eb5fcfd88d270f710d947f7962
Author: Brian Muramatsu <btmura@google.com>
Date:   Mon Jul 30 22:54:08 2012 -0700

    Add heap_mask to ion_allocation_data

Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:44:37 -08:00
Ajay Dudani
34368df45a ARM: GIC: fix irq_trigger return
The genirq layer expects a 0 in case of failure. The current code is
returning -ENXIO for an error.

Fix it.

Change-Id: I0985f12477d472f4fbef525f7b04fed9bf593686
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:44:37 -08:00
kyungtae.oh
2d3ebfaeb6 power: pm8921-bms: display the battery information for monitoring
We need to monitor the battery status periodically.So change the message
level and simplify the information.

Change-Id: Ia010ad220875f6863b3cdf1835cf6a4afc555935
2013-03-04 12:44:36 -08:00
kibum.lee
b9cbf1b2c9 power: battery: change cutoff voltage to 3.5
Change-Id: I8101bf1bb4e91e28d5497ccdf0f919aa1b2cb1ac
2013-03-04 12:44:36 -08:00
kibum.lee
e897ca1223 usb: msm_otg: fix for TA detection bug
This patch solves the problem of recognize usb link when the TA is slow to
connect.

Change-Id: I9ebd118a53175a272117a75b5a5a1554da9c3d8b
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:44:35 -08:00
Jaeseong GIM
df9b44dc59 mako: debug: clean up lge crash handler source code
Change-Id: Ib7f873b3d238614484276751441f3bfcf1c7759a
2013-03-04 12:44:34 -08:00
Kim,Do-Yeob
227e42cc67 msm: sysmon: get a restart reason for the external modem that uses HSIC
Change-Id: I98c9572b135fc4546c8d1dbee2c7e42fd35f7148
2013-03-04 12:44:34 -08:00
taeyol.kim
1c1caa2d8e camera: imx111: modify handling eeprom data for lens shading
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-03-04 12:44:33 -08:00
Devin Kim
bc39eeac6f mako: ASoc: msm: Add low latency playback and recording support.
ASoc: msm: Add low latency playback and recording support.
commit	99bf09c1284610eaee3efda9d2cc694b6df313b9

- Add lowlatency pcm driver for Playback and Recording.
- Add support in target board files
- Add Recording Path to Multimedia5 FE DAI
- Add support in routing, platform, machine drivers
- Add low latency interfaces support in ASM and ADM drivers.

Change-Id: I40a09c472e7428f025e3244faa3a9ce65c146d15
2013-03-04 12:44:33 -08:00
choongryeol.lee
f6aa6b6b28 mako: power: pm8921-bms: charging curve adjustments
It was observed that while charging the reported soc sometimes reaches
100% before end of charging happens. At other times it does not reach
100% at end of charge and a abrupt jump to 100% soc happens.

Fix this by linearly increasing soc based on battery charge current
after constant voltage phase is reached. Constant voltage phase is
reached when battery voltage reaches the max value.

Also once constant voltage phase is reached and the voltage or charge
current decreases keep reporting the earlier soc. This could be because
of a transient system load.

Change-Id: I7f04219f782d04cde95dd78c554ae5bbf1880f59
2013-03-04 12:44:32 -08:00
choongryeol.lee
0274eaad33 mako: power: pm8921-bms: limit voltage correction
The "adjust_soc" algorithm where we change the open circuit voltage
(ocv) in steps so that the state of charge (soc) starts approaching
the estimated soc, causes nonlinearity in the soc curves if an incorrect
resistance value is fed to the algorithm.

As battery ages and temperature changes, it is hard to estimate the
exact battery resistance.

So to fix the nonlinearity, limit the amount by which the ocv is
changed. Make it proportional to the current, i.e. change ocv by
small amounts in light load and let it change by proportionally
large amounts in heavy load situations.

Also, make the point where the soc is adjusted configurable via platform
data instead of forcing it to 25%.

Change-Id: I8a09af51af4958e429ff275dbb48151c2948e04e
2013-03-04 12:44:32 -08:00
choongryeol.lee
d3c39e5541 mako: power: pm8921-bms: use shutdown soc if it is within limits
When a strong battery is removed, it was seen that the battery voltage
lines on the phone take about five to six seconds to go below 2.1volts
where the pmic resets all the battery backed registers.

If a new battery is plugged in within this time the driver will force
the shutdown soc on this battery which is incorrect.

Compare the shutdown soc with the calculated soc and if they are
different than a configurable limit, simply discard the shutdown soc
and use the calculated soc.

Change-Id: Ic1ce32c78346e7310b54087b03b2ee24ad6715b7
2013-03-04 12:44:31 -08:00
choongryeol.lee
32998c3a82 mako: power: pm8921-bms: remove Dynamic Unusable Charge algorithm
The dynamic UUC algorithm changes the UUC as load, state of charge and
temperature changes. This uncontrolled behaviour causes unacceptable
jumps in state of charge numbers.

Replace the dynamic UUC algorithm with a simple average current based
UUC. The average current is calculated by remembering the load for last
few (16) samples. Also to maintain a reasonable UUC while charging, a
load of 300mA is assumed.

Note that the first time UUC is calculated we don't have load samples
and in that case the instantaneous current is used.

Since we now don't change the UUC with respect to max possible load
(itest), the usage of this value is removed.  Also instead of failure
voltage we introduce cutoff voltage which represents the loaded voltage
by which the battery should be reported 0%.

Change-Id: I831cea14c0670bbb61e6d7808ad336c5dbc33022
2013-03-04 12:44:30 -08:00
Devin Kim
563f2f32fe mako: msm: board-8064: Enable NLDO TCXO workaround for APQ8064
msm: board-8064: Enable NLDO TCXO workaround for APQ8064
commit	bbc92bcf117385d1a69b872e1f412c7946246334

APQ8064 targets utilize a TCXO; therefore, enable the
rpm-regulator driver TCXO workaround so that they may be
properly enable and also not incur a power hit due to TCXO
being stuck on.

Change-Id: Iacba4de76590dcbcef46dc07b11c7e2fc0bb41fc
CRs-Fixed: 375809
2013-03-04 12:44:30 -08:00
Devin Kim
f427cdf0d8 mako: msm_fb: display: change implementation of updating mdp_clk and blt mode
msm_fb: display: change implementation of updating mdp_clk and blt mode
commit	496f928dd8cdd2b1b554c379d9336e2e902e0540

Currently mdp clk and bw requests are predefined in a 4-entry table
passed from the board file, and the logic to decide which level to use
is mainly based on source resolution. This patch is intended to
address several issues with this approach.

One major issue is clk and bandwidth depends on seperate things, and
need to be considered seperately. e.g. with mdp composition of
multiple pipes, bw request may be high but clk requirement may still
be low. The current approach that binds these two things together
causes inefficiency of power.

Another major issue is that there is no logic to calculate mdp clk
requirement of a single pipe based upon panel clk and downscale
parameters. Further the worst case of mdp clk should be determined by
all pipe usage. Without proper logic, many underrun have been
experienced, and blt mode may not be enalbed properly.

Also mdp_clk or blt mode update must be on right timing especially
between these two pathes: overlay play and pan display. In the
situations of performance from high to low or from low to high clk and
blt must be handled properly to avoid underruns.

In a summary, to support many different panels and targets and
complicated mdp pipe usage(mdp composition), mdp driver related to clk
and bw needs to be implemented differently. This patch is to seperate
clk and bw, and maily to deal with mdp clk and blt. Later increasing
granuity of bw will be added.

Change-Id: I0cda9597e130192cd224e2943711c8063bfc1a0a
2013-03-04 12:44:29 -08:00
Devin Kim
cb76677ebb mako: msm: Rename pmem variables and macros
msm: Rename pmem variables and macros
commit	05e58816e60e9c51480397203405a59daeb0edca

Since MSM no longer uses PMEM, the variables, macros, and kernel
config (CONFIG_KERNEL_PMEM_EBI_REGION) relating to PMEM should be
renamed to something more generic.

Change-Id: Ie3d3faad79565b858dd98c69672d5004e30afe67
2013-03-04 12:44:29 -08:00
Devin Kim
b24134e49d mako: gpio: msm: Make msmgpio a platform device
gpio: msm: Make msmgpio a platform device
commit	b1cc493ae3745e18c025cddc51775c4ae8763751

The gpio driver was not a true platform driver and hence wasn't
supported by device tree. This patch fixes that for non-DT targets
by making sure the device gets added early on during board init.
For DT-targets, adding the gpio-controller property for the device
makes sure the msmgpio device gets probed.
This change is done for all TLMM_v2 targets (msm8660 and future)
TLMM_V1 targets remain unaffected.

Change-Id: I4b291e09db331b65c2b1917ec1ac2e94f0c6eb44
2013-03-04 12:44:28 -08:00
Devin Kim
9602a2339f mako: coresight: switch to use coresight core layer code
coresight: switch to use coresight core layer code
commit	3b0ca8840d6846d64433d957b376bd554d1afa39

Switch all CoreSight drivers to start using the new CoreSight core
layer code. Remove obsolete qdss code.

Change-Id: Ie4a7a7775c1eefdc25d47efdd5b8732978e10167
2013-03-04 12:44:28 -08:00
Devin Kim
cdaf5ae953 mako: usb: msm_otg: Enable VBUS MPM interrupt
usb: msm_otg: Enable VBUS MPM interrupt
commit	87f202f6391ddafc89250bf61a20631b9ee301f0

When otg_control is set to OTG_PHY_CONTROL and PMIC interrupts are
not used for VBUS notification, a cable connection will fail to
wake up the device from VDD minimized low power mode. The MPM needs
to be configured to wake up the system when the USB_PHY_OTGSESSVLD
interrupt is triggered. As this interrupt may vary by SoC populate
it in the msm_otg_platform_data->mpm_otgsessvld_int member in the
various board files.

Change-Id: Ib0890ead7423e4df59a0d21fbeaed4cebdf61458
CRs-fixed: 376740
2013-03-04 12:44:27 -08:00
Devin Kim
8f071f3aed mako: msm: mdm: change the gpio pull value of mdm2ap_status after bootup
msm: mdm: change the gpio pull value of mdm2ap_status after bootup
commit	269aa60fb98b322882e7a67fbfe24a458421cce0

The mdm2ap_status gpio has been known to fluctuate in
its value during mdm bootup if set to PULL_NONE, so set
it to PULL_DOWN when the gpiomux is initialliy installed.
However, it needs to be reset to PULL_NONE after the mdm
is booted up in order to reduce leakage current.

Change-Id: I45390061fbaf5ac97239fd2abb8cd0cd7b7ee5ea
CRs-Fixed: 368433
CRs-Fixed: 379343
2013-03-04 12:44:26 -08:00
Iliyan Malchev
47bb9eb414 Revert "msm: tty: update receive room just before writing data to the ldisc"
This reverts commit 913565a83d74fe1da0914e8c355345bc616131c4.
2013-03-04 12:44:26 -08:00
Jongrak Kwon
a899208770 mako: touch: PLG137 firmware E009 update
Removed PEN support to make finger operation stable.

Change-Id: Iea1268b91fab51aa100591e359907907ab8adfdb
2013-03-04 12:44:25 -08:00
Jongrak Kwon
93d8e0841c mako: touch: fix the tool type to finger
The tool type checking for pen was incorrect.

Sometimes finger touch produces the same condition as PEN which is
width major and minor are all zero.
This wrong detection change the tracking ID, resulting in two finger
touch report even when single touch is used.

Fix the tool type to finger since mako will support only finger.

Change-Id: I4c7631b77fed677d27d430986d70407af3406aca
2013-03-04 12:44:25 -08:00
roy.park
f4f71ea415 power: charger: change charger detection for TA plug in
There is a problem when is_active_chg_plugged_in API check active_chg_plugged_in
with active_path for TA in unplug_check_worker. So we used the_chip->usb_present
for TA detection correctly due to the same usb port.(USB_IN->USB_OUT->DC_IN->DC_OUT).

Change-Id: If51923ba12e6496bf63123104a158d34cad377b0
2013-03-04 12:44:24 -08:00
kyungtae.oh
f8de54b40d mako: power: use wireless charger api instead of power supply api
This is expected to prevent missing wireless charger state.
The bms needs to know if anything is connected to the wireless charging.

Change-Id: Ie97130cc515d19ab17b67267d9aca7588c1fff72
2013-03-04 12:44:23 -08:00
Devin Kim
fd3adde01a mako: battery: add battery temperature control
The battery temperature should be controlled for safty.
So this patch indroduce lge's battery temperature control.

Change-Id: I4fc3512dd86353c951b95847db89e45c4fce5880
2013-03-04 12:44:23 -08:00
Devin Kim
5d51c40a8d power: battery: add battery temperature control
The battery temperature should be controlled for safty.
So this patch indroduce battery temperature control.

Change-Id: Ia00e7ce5bf697591be2da94f9a7c2960738642d5
2013-03-04 12:44:22 -08:00
Devin Kim
edd5826b69 Revert "power: add battery type selection and check lge battery"
This reverts commit 619dc8d86f676eb19408044f670174c599e4fb37.

Conflicts:

	drivers/power/Kconfig

Change-Id: I05004eec5b4c09ca8675e3ee3d85778021156634
2013-03-04 12:44:22 -08:00
kyungtae.oh
d843640426 power: pm8921-charger: add device_create_file for charge_state
Change-Id: Ib5c42bfd32e27ddbe95f9159ff1d274496588b70
2013-03-04 12:44:21 -08:00
kyungtae.oh
908697d14a mako: power: pm8xxx-adc-scale: board specific thermistor characteristic
Change-Id: I5eadfa17bb0bc574db27a73e21eddee269fa88d7
2013-03-04 12:44:21 -08:00
Devin Kim
7024f83d08 pm8xxx-adc: add the functions to set tuning parameters
We need to tune the board specific adcmap parameters
So need functions to set specific parameters.

void pm8xxx_set_adcmap_btm_threshold(void *pts, int size)
void pm8xxx_set_adcmap_pa_therm(void *pts, int size)
void pm8xxx_set_adcmap_ntcg_104ef_104fb(void *pts, int size)

Change-Id: Ie78c11f5fb998ecc456defa3c8e3e7a3e0b9b45f
2013-03-04 12:44:20 -08:00
kyungtae.oh
c79457411c mako: power: update battery data
1. separate mako specific codes from bms-batterydata.c into
board-mako-pmic.c
2. update battery data infomation
- rbatt_sf table
- pc_temp_ocv table
- default_rbatt_mohm

Change-Id: I7509d44312783494e2642be08bcca2aeb2326274
2013-03-04 12:44:19 -08:00
Mekala Natarajan
35d01ee243 New prima driver release jb_rel-3.1.7.16 from codeaurora.org
git clone git://codeaurora.org/external/wlan/prima.git
git checkout jb_rel-3.1.7.16

prima: WLAN Driver Release 3.1.7.16
2013-03-04 12:44:19 -08:00
Ajay Dudani
2e7182dd46 slimbus: Decrement channel reference during reconfigure now
Slimbus clients can specify multiple add/remove channel requests
through control_ch API, followed by reconfiguration request (also
known as "commit request"). Clients may rely on the reconfiguration
request to actuate the channel activation/removal and not the
control-channel API.
So the channel reference should be decremented during reconfiguration
request, and not control_ch API.

CRs-Fixed: 389518
Change-Id: Id6ff57c6a4cad878e35004937fb08daf3b9afe7b
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>

Conflicts:

	drivers/slimbus/slimbus.c

Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:44:18 -08:00
Ajay Dudani
53b5d2616b slim_msm: Keep track of satellite reconfiguring a channel
With mutiple clients able to use the same channel, it is not correct
assumption that a channel was active due to satellite client's
reconfiguration only. So during sub-system restart of a satellite,
rely on satellite-reconfiguration vote for a channel instead of
channel status to remove channels that were setup by the satellite
before sub-system restart.

CRs-Fixed: 389514
Change-Id: I825381f15cb55396fece5b390d395c7f0a7580ff
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-03-04 12:44:17 -08:00
taeyol.kim
2035ebcedf camera: Fix the problem ispif selects wrong csid 2013-03-04 12:44:17 -08:00
Mekala Natarajan
0151152b86 New prima driver release jb_rel-3.1.7.11 from codeaurora.org
git clone git://codeaurora.org/external/wlan/prima.git
git checkout jb_rel-3.1.7.11

prima: WLAN Driver Release 3.1.7.11 for JB

Initial version of the JB Release driver
2013-03-04 12:44:16 -08:00
Jongrak Kwon
d299bede31 mako: touch: PLG137 firmware E008 update
Resolved touch malfunction when large object,
such as palm, is on the touch device when the system
is resumed by power key.

Noise immunity is also improved.

Change-Id: I020b861a8b1ad909ae7f00aed34de3b6da47367a
2013-03-04 12:44:15 -08:00
taeyol.kim
0ed181763d msm: camera: fixed lens shading problem
rear(imx111): read lens shading data from sensor

Change-Id: I8b23c834dafbf4b2ad0293f7b118e30000be29e6
2013-03-04 12:44:15 -08:00