Update the initial VDD_GFX CPR step quotient values to match the
latest hardware recommendation.
Change-Id: Ibc5da9bb1e47e32acb0268a15cea79d48907b106
CRs-Fixed: 1054539
Signed-off-by: David Collins <collinsd@codeaurora.org>
Add sysfs node to provide the status of display-port's 3D
mode support. Framework will query about the interface for
3D mode status before enabling the corresponding
FrameBuffer.
Change-Id: If53a034c3c5ee39a95b2501ee495e572f60d6b56
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Fix fcc max and step values per HW specification.
CRs-Fixed: 1060633
Change-Id: Ie4ff10977840d8210482ad6f7bba4f0f0160aa03
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Currently the PMI stat pin is configured to output IRQ and SW
override status. Parallel charging requires the stat pin for
parallel enable status and under the control of HW, and hence
the change.
CRs-Fixed: 1060633
Change-Id: Ie93f874b90b5aed0a66e97186e4f1d69a1275c8b
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Wait till all pending acks are receivied for active set messages
before lpm driver choose to enter rpm assisted pc.
Change-Id: Ifefb9f3ae88d890e64e7e123e0fcedc00aea719c
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Add initial device trees for msmcobalt QRD VR1 board.
Change-Id: I94ebf6366b75daf9102a50eb86e757139e6d4231
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
dummy_codec is not initialized before use, which
could cause kernel panic. Initialize dummy_codec before use.
Change-Id: Iedf7a3accbd14138ab7ed9e4e36a98fd7ca9a839
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Update wcd934x codec master clock configuration to
9.6MHz or 12.288MHz based on the device tree setting.
This is done during early codec initialization to prevent
artifacts when audio path is enabled.
CRs-fixed: 1061430
Change-Id: Ic983a524b6fa5bb079c6e61b8fe729974de78eea
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Add sysfs under sys/kernel/ts_info to access touch vendor name,
model number, firmware version.
Change-Id: I531c7fa7db2b7140e5b9c7bb31831d221c734e3e
Signed-off-by: Mao Li <maol@codeaurora.org>
remove psensor support as the linux/sensors.h file is not yet merged
in msm-3.18 kernel.
Change-Id: I6d46b35938b7420072f9245ffa27bb59f28d5e03
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Sensor HAL takes long time to scan /dev/input to get information
from input subsystem. Change sensors sysfs hierarchy to avoid
the scanning to reduce sensor HAL initialization time.
Change-Id: Ifcd560dacdba2600f2ae5d40a5c3e639ea291274
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Do not need to call function to enter pocket mode if the touch
panel is already in pocket mode as well as no need to call function
to leave pocket mode if it is not in pocket mode.
Change-Id: Ic26376bebeba8e7f0dd37ef3bfbbed36c621604b
Signed-off-by: Mao Li <maol@codeaurora.org>
Change dev_debug to dev_dbg to fix compiling error
if CONFIG_TOUCHSCREEN_FT5X06_PSENSOR is enabled.
Change-Id: Ic228ac8b6dec0bc3e1aaff890dc5b1b7c024bdfc
Signed-off-by: Mao Li <maol@codeaurora.org>
Once the input device is successfully registered via
input_register_device(), it has to be unregistered via
input_unregister_device(); input_free_device()
should not be called in this case. input_unregister_device()
frees the input device, hence the call to input_free_device()
is a double free. This is also described in comments of
input_unregister_device().
Reorganize the code to avoid a double free.
Change-Id: I7abee3f1ad6c73e1c38aa64e627ffd73f6f9d3b2
Signed-off-by: Mao Li <maol@codeaurora.org>
Focaltech touch controller FT6436 support new feature Screen-off-Gesture.
It is able to turn on the screen by drawing gestures on the touch screen
when the screen is during off status. Enable the FT CTP driver to support
the screen off gesture recognization.
This patch is propagated from msm-3.18 kernel.
'commit 5cc0bff80d65 ("input: ft5x06_ts: add gesture feature support")'
Also cleared the following checkpatch warnings.
- Missing a blank line after declarations
- Missing a blank line after declarations
- Comparisons should place the constant on the right side of the test.
Change-Id: I77d111d3ef800b636a337221d7e605f746a113dd
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Fixed below irq flag issues of Focaltech CTP:
Focaltech CTP firmware generates edge interrupt to MSM, but the
interrupt type in DTSI is level, which will cause CTP interrupt
cannot wake up MSM when system is in deep sleep. Fix this by
setting edge irq flag in DTSI.
For GPIO irq, the irq flag should be specified in "interrupts"
node. Msm_gpio module will only use the lower 8-bit of
"interrupts" node and discards the upper bits. If we specify
0x2002 in "interrupts" node, the upper bits(0x2000) is not used
by msm_gpio, only lower bits(0x2) is used, that means only
lower bits(0x2) should be set in "interrupts" node.
"focaltech,irq-gpio" node is used to specify gpio property,
rather than irq flag. Remove the irq flag setting in this node.
In driver code, specify only "IRQF_ONESHOT". The irq trigger type
is specified by DTSI "interrupts" node. See above.
Change-Id: I4cd8596fb4538b701317f01a6cafaa771041ffdd
Signed-off-by: Mao Li <maol@codeaurora.org>
Currently driver is enabling all the regulators in probe
even if usb cable is not connected which has power impact.
Hence enable regulators before the phy initialization sequence
and move regulator_set_voltage & enable/disable API for vdd supply
in msm_ssusb_qmp_ldo_enable() to handle all the regulators from one
place.
Change-Id: Ibc4cf8328c209dbf968b7d6c498e1462397be351
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Race condition observed during driver probe/remove and
suspend/resume because suspend/resume is not serialized
to work queue. Fix this problem by holding a wake lock
during wlan driver probe/remove to prevent system
suspend/resume.
CRs-Fixed: 1061279
Change-Id: Iad1c9abbdbaea21d4c55d64a6c120d3bcf0df1eb
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
Hardware characterization has shown that some parts require
higher voltage in order to operate reliably. Therefore, raise
the CPR ceiling voltages for the VDD_GFX CPR regulator in order
to allow higher open-loop voltages.
Change-Id: I8c4ceaa2703c15c1f590befb9397d47da9f9c1e9
CRs-Fixed: 1054539
Signed-off-by: David Collins <collinsd@codeaurora.org>
WCSS may take upto 400us to get out of retention. Fix the polling
logic to wait for more than 400us before proceeding with the
reset sequence.
Also do not send mode request to firmware during recovery.
CRs-fixed: 1060725
Change-Id: Id19518a12fe8a0acffd725b25dbcb0240bdbf446
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
When diag receives two link state notifications it tries to
open the glink channel which is already open. Add a check to
not open the channel if the channel is already open.
Change-Id: I5818d2731b53af37d796d421c5ae9a4b7fa52405
Signed-off-by: Sreelakshmi Gownipalli <sgownipa@codeaurora.org>
Create a virtual device inside of sysfs. Use the created
kobject to notify userspace of counter transitions.
Bug: 24140541
CRs-Fixed: 1008025
Change-Id: I06a02a3e6c70160083e17291cf08f1e9b375a26f
Signed-off-by: Bryse Flowers <bflowers@codeaurora.org>
Add runtime pm and suspend/resume callback support to serial msm
driver so that clock resources are managed runtime to save power.
CRs-Fixed: 1061290
Change-Id: If2004dcf19649f68cc8fbe0506799d3c700293ff
Signed-off-by: Pramod Gurav <gpramod@codeaurora.org>
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Efuse parameters are used to update qusb analog tuning values.
Change-Id: I4bc919ba7cf24d73cbc6cac392e00f81005bf64c
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
Tune1 HSTX_TRIM parameter varies from part to part and needs to
be programmed using fused values. Update the code to read
the efuse register and update tune1 parameter. On previous
platforms this used to be tune2.
Change-Id: I7a2efa3c2409ba5dbb1ae9581738518b9457a971
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
Update the sequence to include tune1 and tune2 parameters. While
at it update the comments to include register names.
Change-Id: Ib8ff42a6e05c0065b19e977eb56f6b96a78fcf39
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
Update the tcsr_clamp_dig_n signal and phy init sequence
to reduce the random leakage from qusb2 phy. Random leakage
can result from turning on/off analog power rails
before/after digital power rails.
Change-Id: Id51a2d34f61c0a41891551d15b706872abf13809
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
Analog and digital power rails connected to the phy can be turned
on/off in any order. This may result in random leakage in the phy
as it expects certain power rails to be on/off in certain order.
Avoid random leakage on qusb2 phy by
1. Disable pll when phy is suspended/disconnected.
2. Reset and assert clamp dig_n signal to put dp/dm lines in high
impedance state.
Change-Id: I1bafa7f824af8bbb3f67a71b81bf23b0a9c7164e
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
xdci release function is called during xdci connect
failure cleanup. A bug passing the tethering protocol
to the function instead of the tethering type caused
it to fail and cease the cleanup operations.
Change-Id: I6337f93c13678c9256dfd46825f9a317cdaa0a1b
CRs-fixed: 1057013
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Currently the timeout period of IPA resource add dependency
is HZ jiffies (1 second). We have seen situations
where this timeout period is too small especially on heavy
loaded system with debug log enabled.
Enlarge the period to 5 HZ jiffies.
Change-Id: Ia678276ed1c3c223b1cedd1e6e8713ca06aefd14
CRs-fixed: 1057013
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
During SSR, we observe cases where card enter bad state
and does not responding to any I/O commands. Fix it by
powering off and on the card.
Change-Id: Ia3ab2781c93d1cfe7427e2b1c2644f6628f6465f
CRs-Fixed: 1058794
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
DMA coherent allocation was done with inappropriate
flags causing memory allocation to fail occasionally.
Use GFP_KERNEL flag as well as fix up some cleanup
actions.
CRs-Fixed: 1060305
Change-Id: I93c9340439dd65c50764dd078071bf66f65a9464
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
The DTEST1 rail selection value in the MODE_CTL register is not 0. Use
the proper offset value when calculating the value to write into the
MODE_CTL register.
Change-Id: Ia09aa072116d244abdd7ad0d92cc55e0aeba8efc
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Currently, the driver selects dtest rail specified in "qcom,dtest"
property as the output source in digital output mode. Add another
property "qcom,dtest-buffer" to specify which dtest rail to feed
when the pin is configured as a digital input.
Change-Id: I9e1ae5a64d633c7cdc6a1eb710932ca19ef5fe85
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Write drive-strength setting into SINK_CTL register to make sink
function work.
Change-Id: I0b6e273b846a8e07c5b36d03a20edddfd895e9c0
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
The drivers don't really need to know which PMIC they're for, so
make a generic binding for them. This alleviates us from updating
the drivers every time a new PMIC comes out. It's still
recommended that we update the binding with new PMIC models and
always specify the specific model for the MPPs and gpios before
the generic compatible string in devicetree, but this at least
cuts down on adding more and more compatible strings to the
drivers until we actually need them.
Change-Id: I4ea4c511108f37cbfae0a5ccaaaeadadcae37254
Cc: <devicetree@vger.kernel.org>
Acked-by: "Ivan T. Ivanov" <iivanov.xz@gmail.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Git-commit: 647dbd1e84871f6c0548f7fbb46eefc4da21f783
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
of_irq_count() is not an exported symbol (and it shouldn't be
used by platform drivers anyway) so use platform_irq_count()
instead. This allows us to make the qcom pinctrl drivers modular
again.
Change-Id: Ia2d8a0fc303af5ce6d34703f63bc61dfa0e5d148
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Andy Gross <andy.gross@linaro.org>
Cc: Bjorn Andersson <bjorn@kryo.se>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Git-commit: a5ea13f025e7bf3bb280a22f5fe63b7159358932
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
A recent patch added calls to of_irq_count() in the qcom pinctrl
drivers and that caused module build failures because
of_irq_count() is not an exported symbol. We shouldn't export
of_irq_count() to modules because it's an internal OF API that
shouldn't be used by drivers. Platform drivers should use
platform device APIs instead. Therefore, add a platform_irq_count()
API that mirrors the of_irq_count() API so that platform drivers
can stay DT agnostic.
Change-Id: I34cfc11feb2fbc2acc41e3697006d86a3cad3445
Cc: Andy Gross <andy.gross@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Git-commit: 4b83555d5098e73cf2c5ca7f86c17ca0ba3b968e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
The number of interrupts is always equal to the number of pins
provided by the PMIC gpio and MPP hardware blocks. Count the
number of irqs to figure out the number of pins instead of adding
more compatible strings or doing math on the reg property. This
should make the code more generic and ease the number of changes
we have to make to the driver for each new pmic revision.
Change-Id: I52ce5ad8a5c4a79187dc94403dc0704d83f0549c
Cc: Ivan T. Ivanov <iivanov@mm-sol.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Andy Gross <agross@codeaurora.org>
Reviewed-by: Björn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Git-commit: ab4256cfeab91569e1d96e7f0014538fe0845259
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[fenglinw@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
This algorithm allows for programmable charge current values
based on programmable thresholds on state-of-charge (SoC).
Adjusting battery charge current based on the battery SoC
may lead to extended battery capacity over number of charge
cycles.
Charging profile to be used relies on battery characterization
data from battery cell manufacurers.
CRs-Fixed: 1052854
Change-Id: I8844a3e8428b045514863d72c08f6c6b2b2ac2a4
Signed-off-by: Harry Yang <harryy@codeaurora.org>