Commit Graph

29212 Commits

Author SHA1 Message Date
David Collins
319e59cdc0 mfd: pm8921-core: add mfd cell for pm8921 battery alarm device
Add an mfd cell for the PMIC 8921 battery alarm into the
pm8921-core.

Change-Id: Ia856c88050aa99822e6541311f40417ec63964d4
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:32 -08:00
David Collins
66cc83fb29 mfd: pm8921-core: Add mfd cell for pm8921 thermal alarm device
Add an mfd cell for the PMIC 8921 thermal alarm into the pm8921-core.

Change-Id: Icd791e879b5289a4b0af374f0f08d928c6b15719
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:31 -08:00
Anirudh Ghayal
96f7e2cfbd mfd: pm8921: Add LEDs mfd cell data
Change-Id: Ia3948b2743599321573665ad7a2a4be7b3954b52
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:31:30 -08:00
David Collins
c67a49d5ef mfd: pm8921: remove VBAT IRQ from charger driver control
The VBAT IRQ needs to be controlled by the pm8xxx-batt-alarm
battery alarm driver.  Remove VBAT IRQ control from the
pm8921-charger driver.

Change-Id: I478b4b572e4c08cfcd50ba4c288f847ea549f775
Signed-off-by: David Collins <collinsd@codeaurora.org>
[sboyd: Drop charger part]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:31:29 -08:00
Abhijeet Dharmapurikar
063f5400e0 mfd: pm8921: add bms cell
pm8921 chip is equipped with a smart battery gauge called bms.
BMS is capable of intelligently measuring battery parameters
under various loads, the software uses these reading to
accurately determine battery capacity.

Add code to support the bms driver.

Change-Id: I5f14a82db0fda11adc0404ba58704a25fa7713af
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2013-02-25 11:31:29 -08:00
Siddartha Mohanadoss
ea5d427cc2 mfd: pm8921-core: Add mfd cell for pm8921 adc
Add a mfd cell of adc as part of the pm8921 core. It adds the
interrupts allocated for the ADC/BTM driver.

Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Change-Id: I68e1f8df9e24a2512869f238cb3b2fccf09aa8de
2013-02-25 11:31:28 -08:00
Vijayavardhan
b8be9d3d34 pm8921: Add support for USB PMIC ID interrupt
PHY OTG comparators can be disabled for maximum power savings.  PHY
can not generate ID interrupt in this case.  As USB id line is routed
to PM8921 on MSM8960, depend on PM8921 for ID interrupt.

Change-Id: If375274d30235f7e950e284fabc72a4d6b5bc269
Signed-off-by: Vijayavardhan <vvreddy@codeaurora.org>
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
[sboyd: only take the pm8921 part and reword subject]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:31:27 -08:00
David Collins
734855546a mfd: pm8921-core: Add mfd cell for pm8xxx-misc device into core
Add an mfd cell in the pm8921-core for a pm8xxx-misc device.

Change-Id: I0bc955c118aa427e45a4d2ce80065ca1d7c146a9
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:25 -08:00
David Collins
1c9c29f301 pm8xxx: core: Add pm8xxx functions to get PMIC version and revision
Add a pair of APIs in pm8xxx/core.h: pm8xxx_get_version which returns
an enum representing the type of the PMIC (8058, 8901, 8921, etc) and
pm8xxx_get_revision which returns the silicon revision of the PMIC
chip.

Update pm8921-core to implement this new API and remove core data
members previously used to pass revision information.

Change-Id: Ib2aaf5843e4aef9281745919908c530b85717510
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:24 -08:00
Abhijeet Dharmapurikar
bee2afbfda mfd: pm8921: Add charger cell
The 8921 pmic is equipped with a charger block that can trickle charge
and fast charge a battery. The charger block has 32 interrupts for
notifying various charging events. It needs some parameters such as max
and min voltage of the system, charging resume voltage.

Add code to support the charger module in the core file.

Change-Id: I082b3009dd070af4120b1cd170972e7bf88ce810
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2013-02-25 11:31:23 -08:00
Willie Ruan
982fe07ec4 mfd: pm8921-core: add pwm device for PM8921
Qualcomm PM8921 has a PWM module which can output 8 channels
of PWM signals. This patch adds a PWM device in the sub device
list of PM8921 core driver.

Change-Id: I0799f12dafdffaedcb7cd13bee0d13993931d3a2
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
2013-02-25 11:31:22 -08:00
David Collins
9c38a8d17d regulator: pm8921-regulator: Add regulator driver for PM8921
Create a regulator driver to control all regulators on the Qualcomm
PM8921 PMIC chip.  This chip contains many different types of
regulators with a wide range of abilities and voltage ranges.

Eight different regulator types are available on the PM8921.  These
are managed via 7 different type values in the driver:

LDO      - low drop out regulator (supports both NMOS and PMOS LDOs)
NLDO1200 - 1.2A NMOS LDO (different control structure than other LDOs)
SMPS     - switched-mode power supply
FTSMPS   - fast transient SMPS
VS       - voltage switch
VS300    - 300mA voltage switch (different control structure than
             other switches)
NCP      - negative charge pump

The driver interfaces with the PMIC using Qualcomm's SSBI bus.
Calls to this bus are abtracted through the pm8xxx_readb/writeb API.

Change-Id: I01fb755c6be8e3f32c86fef079b5740edfc39f14
Signed-off-by: David Collins <collinsd@codeaurora.org>
[sboyd: Take only pm8921-core bits]
2013-02-25 11:31:19 -08:00
Anirudh Ghayal
28d08f40ce drivers: mfd: Add keypad mfd cell for PM8921
Change-Id: I1aacec2aa638bb1e21b96128b485d479cf4c5a94
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:31:19 -08:00
Anirudh Ghayal
047bb07d5a drivers: mfd: Add power/end key mfd cell for PM8921
Change-Id: Idc13abf078d742c959eabc7aa5bfbac074e8538e
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:31:18 -08:00
Ashay Jaiswal
a6321ca2f4 mfd: pm8921-core: Add support for RTC driver
Add RTC to PMIC subdevices.

Change-Id: I654ccc8e00fda38fc360c7b00dd632dd00fabdb7
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2013-02-25 11:31:17 -08:00
Bobby Crabtree
36efb4f201 mfd: add PMIC8901 driver for QCOM PM8901 chip
This driver is to provide a shim layer between ssbi driver (under i2c
framework). It provides interrupt multiplexing and MPP control.

Change-Id: I13c05d8477f3ea66dd368f167453ec19c8a622c3
Signed-off-by: Bobby Crabtree <bobbyc@codeaurora.org>
2013-02-25 11:31:16 -08:00
Stephen Boyd
d68c25bb0b mfd: Add TPS56023 driver
This is used on the MSM 8x50 devices.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:31:15 -08:00
Trilok Soni
d4d6de7e0c mfd: Marimba TSADC driver
TSADC is part of marimba multi-function chip, which is
driver over SSBI as well as having die-to-die
connection with TSSC - Touchscreen controller in MSM.

Signed-off-by: Trilok Soni <tsoni@qualcomm.com>
2013-02-25 11:31:14 -08:00
Patrick Lai
dbe61a9366 msm: mfd: Add Timpani Codec Driver
This driver programs Timpani Wideband Codec for
input/output of audio signal.

Change-Id: Id7fb88c0599437e4bfb138c3c1deb124af6c4104
Signed-off-by: Parick Lai <plai@codeaurora.org>
2013-02-25 11:31:13 -08:00
Lai, Patrick
6bfbb5a524 marimba-codec: Create marimba wide-band codec driver
Marimba wide-band codec driver controls audio codec on marimba
die. The driver conforms to multi function device model. Thre audio HW
paths are supported. They are RX, TX, and loopback. Three clients
can access service of driver simultaneously as long as they don't try
to configure same path.

Signed-off-by: Patrick Lai <plai@quicinc.com>
2013-02-25 11:31:12 -08:00
Bryan Huntsman
0c57373a58 mfd: Add marimba Core driver
Marimba driver supports adding Marimba slave
devices(FM, Codec and TSADC) as sub devices
to the Marimba Core. Provides interface to
read/write registers using I2C to access the
registers on the Top level and subdevices.

It also adds ssbi-client driver intialization
to access registers of TSADC which is part of
marimba and accessed through SSBI. Provides
interface to read/write registers of the
sub-device over SSBI.

Acked-by: Siddartha Mohanadoss <smohanad@qualcomm.com>
Signed-off-by: Bryan Huntsman <bryanh@quicinc.com>
2013-02-25 11:31:11 -08:00
Trilok Soni
7145c8edff leds: pmic8058: Add PMIC leds driver
Add PMIC8058 based keyboard backlight and low current leds driver.

keyboard backlight led supports upto 16 levels of backlight intensity,
which is mapped to 0..255 levels of brightness of led subsystem.

Three low current(40mA) led drivers of PMIC are also supported
in this driver.

CRs-Fixed: 211772
Change-Id: Ia65b083f6070666aaad95851c9b843332ce35c82
Signed-off-by: Trilok Soni <tsoni@qualcomm.com>
2013-02-25 11:31:07 -08:00
Trilok Soni
406324fb62 led: pm8xxx: Add pm8xxx leds driver
Add support for Qualcomm PMIC8XXX keyboard
backlight, flash and low current leds.

Change-Id: I460480e0c7f98da4cb27c76ca7ac65807df74a7f
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:31:05 -08:00
David Brown
d1098dd2a8 tspp: Add transport stream packet processor
Including:

commit 6bac783fae7e7c5a5bfc95e2cdc9b4f22ca53d44
Author: Hamad Kadmany <hkadmany@codeaurora.org>
Date:   Thu Dec 20 18:30:40 2012 +0200

    tspp: Disable read-complete interrupt

    Read-complete interrupt can be generated from TSPP HW for test
    purposes only. It is generated for each TS packet TSPP fetches from
    TSIF interface. Having it enabled cause great load of interrupts
    that are not used by the SW.

    Change-Id: If2038f184a8b0904fba3e1cca5e110fd9daa52d3
    Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>

commit 81cee0596e3cdf8102bf8c8ef45e5f3a07fc8a4d
Author: Hamad Kadmany <hkadmany@codeaurora.org>
Date:   Thu Nov 29 14:15:57 2012 +0200

    tspp: Improve data-path handling

    Existing driver allocated BAM descriptor at fixed sizes each
    with interrupt flag set. Notification on data was received when
    the descriptor is fully consumed by the HW. The descriptor size
    on one hand need to be big enough so that we don't receive too much
    interrupts for high-bitrate streams, and on other hand needs
    to be small enough so that for low-bitrate stream we are not starved
    waiting for data for a long period of time.

    The change adds support of allocating small descriptors and set
    interrupt flags on part of descriptors. In addition, expiration
    timer is used so that if interrupt is not received after long period
    of time the timer handler reports back descriptors are already ready
    to be consumed. This allows low-rate of interrupts and
    handling of low-bitrate streams.

    As descriptors are smaller now (size of single TS packet), exposed
    API within SW demux that handles a single packet to save the function
    call to the API that handles multiple packets for efficiency. Information
    regarding the new buffer allocation was added to debugfs.

    CRs-Fixed: 420818
    Change-Id: I4bb05177774ab0e0bad0737ca1106a0c33f843ae
    Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>

commit 44307d32e23a2bb2a190d88bb049cc34d1e20418
Author: Hamad Kadmany <hkadmany@codeaurora.org>
Date:   Sun Nov 25 09:49:51 2012 +0200

    misc: tspp: Enable notification of TSIF status and expose it in debugfs

    Enable TSIF status interrupt to expose the following
    information in debugfs:
    - stat_rx_chunks: Counts number of TS packets chunks received from HW.
    - stat_overflow: Counts number of times buffer has overflowed.
    - stat_lost_sync: Counts number of times TSIF lost sync with input.
    - stat_timeout: Counts number of times TSIF reached timeout
    waiting for packets.

    All counters can read and reset by writing to the respective file.

    Change-Id: I475c2c0845c85ac22ea720059fb28c4a588fedcf
    Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>

commit 72b785570b265c6fcb4cb907c0c3a3a4b311f1f1
Author: Liron Kuch <lkuch@codeaurora.org>
Date:   Tue Oct 30 17:47:50 2012 +0200

    media: dvb: mpq: TSPP output buffer allocation by demux plugin

    The TSPP driver can allocate its output buffers internally or
    externally. External buffer allocation is required when Demux wishes
    to use the ION driver to allocate a physically contiguous buffer
    (e.g. to pass to TZ).
    This commit improves the TSPP driver support for external buffer
    allocation and implements the external memory allocation and free
    functions in the Demux driver.

    Change-Id: I71da4f18c090ef224c4fc7b23f55b9b3636be996
    Signed-off-by: Liron Kuch <lkuch@codeaurora.org>

commit 92705b3eb380826abf8ddefc25a8d210ffa64ff5
Author: Hamad Kadmany <hkadmany@codeaurora.org>
Date:   Tue Oct 23 14:15:41 2012 +0200

    tspp: Add option to inverse tsif signals

    TSIF signals (clock, data, enable and sync) may be configured
    to be inversed at TSPP unit input. This is useful in case
    TSIF signals from external units need to be inversed.

    Change-Id: Idd21948baccedc7499b31ed1d4df0f737538c870
    Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>

commit 435ad8e2157eec5783a435f1e7ec47f67d759882
Author: Joel Nider <jnider@codeaurora.org>
Date:   Wed Dec 14 16:53:30 2011 +0200

    tspp: add kernel api for video demux component

    The demux is an in-kernel software component whose purpose is to take
    an incoming TSIF stream and split it into multiple output channels
    based on the PID field in each TS packet. Each output channel can be
    used for a different purpose, such as audio, video or channel
    information. In order to get good performance when moving such large
    data streams around, the demux was placed in kernel-space as to
    prevent copying memory buffers between kernel-space and user-space, at
    least at this early stage in processing the traffic. Originally the
    design of the TSPP driver was based on the earlier TSIF driver, so it
    contained only a user-space API.

    Change-Id: I22799eb19d9049e3635d5c589b02f999d9b8e1c7
    Signed-off-by: Joel Nider <jnider@codeaurora.org>

commit 6544f3e52c9c1707a5a8fa90d32f89d80dabb4b9
Author: Joel Nider <jnider@codeaurora.org>
Date:   Tue Jul 10 13:50:06 2012 +0300

    tspp: use new clock preparation functions

    Replace the clk_enable() with clk_prepare_enable() and replace
    clk_disable() with clk_disable_unprepare() functions.

    Change-Id: I63479090eccbeac46f091bf95faeb857139d23a4
    Signed-off-by: Joel Nider <jnider@codeaurora.org>

commit b9662ca49cfe619e076476dcf8297a4031f0c310
Author: Joel Nider <jnider@codeaurora.org>
Date:   Sun Jun 10 14:21:11 2012 +0300

    tspp: use device name when getting clock

    The new method for requesting clocks requires a driver to pass its
    device name for comparison to the list of available clocks.

    Change-Id: Ica5b09447de177beead90f8b7c721b84820fbdf7
    Signed-off-by: Joel Nider <jnider@codeaurora.org>

commit 5556a8524591e4d1c4c9188316551900e8b8382d
Author: Joel Nider <jnider@codeaurora.org>
Date:   Sun Oct 16 10:52:13 2011 +0200

    misc: tspp: adding TSPP driver files

    The TSPP driver manages the transport stream packet processor.  This core
    is used to offload the main CPU by handling MPEG TS packets, generally
    coming from a broadcast modem using the ISDB-T (or variant) protocol.

    Change-Id: Ia4c16dcce970ae0f52d8d17957a92fce34ecdb44
    Signed-off-by: Joel Nider <jnider@codeaurora.org>

Signed-off-by: David Brown <davidb@codeaurora.org>
2013-02-25 11:30:54 -08:00
Mohan Pallaka
a3bbf8ce4c input: ft5x06_ts: Add driver for ft5x06 series
Ft5x06 controllers are single chip capacitive
touch panel controller ICs with a built-in 8 bit
Micro Controller Unit. It supports multi-touch
capability and can detect up to five touches.

Change-Id: I39eb1175d473d1f2c463e1c4a0a1606307da9dc0
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2013-02-25 11:30:53 -08:00
Stephen Boyd
8835b4caf2 input: touchscreen: Add msm_ts driver
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:30:52 -08:00
Anirudh Ghayal
b5a1434021 input: tsc2007: Specify max/min coordinates from platform data
Provides flexibility to specify max/min x and y coordinates from
platform data. Useful in cases where the TS controller reports
coordinates at an offset from the predefined min/max values
(0 and 4096 respectively).

Change-Id: Ia93a8940078aa5960d1d900ac56b0b3354c82e40
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:51 -08:00
Anirudh Ghayal
6f1bfa9f89 input: tsc2007: Power optimization in suspend/resume for TSC2007
Disable/enable the voltage regulators during suspend/resume operations.

Change-Id: I0d10edc87d07c01327fa2258aae964d430cae7e3
CRs-Fixed: 258762
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:49 -08:00
Anirudh Ghayal
efe979e255 input: tsc2007: Add features to the TSC2007 driver
The following features are now supported -

1. Inverse coordinates
2. Suspend / resume
3. Interrupt flags from platform data

Change-Id: I08adcdf0fd1c983ffaa958bea23e2ed06aa6e086
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:48 -08:00
Anirudh Ghayal
d00232f331 input: touchscreen: Add support for TMG200 touch controller
The TMG200 touch controller supports upto two touches. This
driver supports both TMG200 and TMA300 controllers.

CRs-Fixed: 226967
Change-Id: I32871e76d3dd77fec0a723e1c306492bda2de897
Signed-off-by: Anirudh Ghayal <aghayal@qualcomm.com>
2013-02-25 11:30:44 -08:00
Mohan Pallaka
e501de3c01 input: cyttsp-i2c: Enable firmware loading feature from driver
TTSP firmware can be loaded during driver's probe by updating
the firmware header file. This header file contains the firmware
data as part of an array and it's version number.

Change-Id: Ia80aab77d654d64ab3bb14c9b316bb851b90f241
Signed-off-by: Kevin McNeely <kev@cypress.com>
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2013-02-25 11:30:44 -08:00
Taniya Das
d079c123d2 input: touchscreen: Add support for synaptics clearpad3000
Change-Id: Ie00815ed507d81c6934ac0d4b1dfa745215ff01a
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2013-02-25 11:30:41 -08:00
Mohan Pallaka
3c93af8b20 input: atmel_mxt_ts: Fix to reject coordinates outside active touch area
Firmware reports minimum/maximum coordinates when touches are
from outside of active area. Generate a release event in this
case to handle touches that are going to inactive area. Add
pdata entries for minimum values and check before reporting
the coordinates to userspace.

CRs-fixed: 326858
Change-Id: I385fb80eb670e539b45d232c04969c4502cdf65a
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2013-02-25 11:30:35 -08:00
Anirudh Ghayal
e8e167997e Input: atmel-mxt_ts: Support firmware upgrade in bootloader mode
If a firmware upgrade fails, on subsequent boot retry a firmware
upgrade based on the bootloader id. This can be initiated through
the userspace program by writing into the update_fw sysfs entry.

Change-Id: I1d428c52f2cbfff8fe572a2bc6f0cd124111b810
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:34 -08:00
Anirudh Ghayal
3890f46e4a input: atmel-mxt-ts: Provide firmware name via platform data
This allows firmware upgrade only when a firmware name is provided.
The platform data (config data) of the latest firmware will point
to a NULL string which prevents auto firmware upgrade at boot
(if enabled by the userspace).

Change-Id: Ifef57a9dab9306cf4f1fe7a6c7e52c5e92a25d4a
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:33 -08:00
Amy Maloche
55ac8f9124 input: atmel-mxt-ts: Provide max touch coordinates via platform data
The atmel_mxt_ts driver manipulates the touch coordinates
if they are < 1024. In cases when the display < 1024 and
virtual key area > 1024, there is a problem in reporting
the coordinates for the virtual key area. Add new pdata
variables which can handle this.

Change-Id: Ic31db032a1598c60c01bff31c7b36042f42c9817
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-25 11:30:29 -08:00
Jing Lin
b921d6a574 input: atmel_mxt_ts: Support runtime selection of config data
Add support for dynamic configuration data update if the target can
support more than one Atmel chip. Platform data contains an array of
supported config data along with family ID, variant ID and firmware
version. Driver searches for matching family ID, variant ID and
firmware version, and uses the corresponding config data to program.

Change-Id: I684da4bdef56a3445acab3bb8fe47dd5279bebe5
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2013-02-25 11:30:27 -08:00
Mohan Pallaka
14a433081d input: atmel_mxt_ts: Add support for keyarray object
Keyarray(T15) object is used for handling capactive keys.
It can handle 32 keys and the keys supported are passed
from platform data as key_codes.

Change-Id: Iac589afb59e8ff69b6e1eb86bafdc0b5382c3edd
Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
2013-02-25 11:30:26 -08:00
Amy Maloche
c6f1384ad2 input: atmel_mxt_ts: add gpio framework to driver
Move irq and reset gpios to driver

Change-Id: I386cfdb142cefe6ad7021a67d7d277dc0447411a
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-25 11:30:22 -08:00
Amy Maloche
fa1997e2af input: atmel_mxt_ts: modify regulator framework for mxt224E
Support mxt224E controller which requires both digital and analog
regulator power.

Change-Id: I2717fd26b4790cf1b6160f09e71611537b47ea3c
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-25 11:30:21 -08:00
Jing Lin
f38d36be12 input: atmel_mxt_ts: Clean up pdata and update config array
Remove blen, tchthr, x_line, y_line, orient and voltage from platform
data to not to overwrite the config data with these values. Update
config array to have the proper values.
Turn on i2c_pull_up in platform data.

Change-Id: Ic926e96886f52cea3dad29e9a44559b26c717259
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2013-02-25 11:30:16 -08:00
Iiro Valkonen
2c79cea873 Input: atmel_mxt_ts - Make wait-after-reset peroid compatible with all chips
The delay before the chip can be accessed after reset varies between different
chips in maXTouch family. Waiting for 200ms and then monitoring the CHG (chip
is ready when the line is low) is guaranteed to work with all chips.

v4: Adjust delay depending on the family ID of the chip. Also add a readback
    of command register after backup is issued, to make sure we are not
proceeding
    too fast there.
v3: Add a check for NULL read_chg() function, and add the read_chg() to platform
    files using this driver (currently only mach-goni.c)
v2: At Dmitry's suggestion, add a timeout so we are not stuck looping
    endlessly in case the CHG is not going low.

Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com>
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-25 11:30:13 -08:00
Anirudh Ghayal
9c7c453db9 input: atmel-mxt-ts: Add regulator support and init. callbacks
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:30:10 -08:00
Iiro Valkonen
298482beaa input: touchscreen: Add support for Atmel Maxtouch
Atmel Maxtouch is a multi-touch controller chip series
which supports ATMXT224 and ATMXT1386.

Change-Id: I26a054732df37c171dcb5547edfbe4913e494b30
Signed-off-by: Iiro Valkonen <iiro.valkonen@atmel.com>
[Kconfig and Makefile changes by amaloche@codeaurora.org]
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2013-02-25 11:30:09 -08:00
Stephen Boyd
e6c894179e input: Replace bma150.c with our copy
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:30:04 -08:00
Jing Lin
46bf579fdf input: pmic8xxx-pwrkey: Change algorithm on converting trigger delay
The previous algorithm requires that kpd_trigger_delay_us be set to
1/32 of the preferred trigger delay. The new algorithm allows setting
kpd_trigger_delay_us to the preferred trigger delay directly.

The actual delay can only be one of the eight levels: 2 sec, 1 sec,
1/2 sec, 1/4 sec, 1/8 sec, 1/16 sec, 1/32 sec, and 1/64 sec. The valid
range of kpd_trigger_delay_us is 1/64 second to 2 seconds. A value
within the valid range will be rounded down to the closest level. Any
value outside the valid range will be rejected.

Update board files for targets that use this driver accordingly.

CRs-Fixed: 307203
Change-Id: If98b9cd32e03ab85cd078024b2adee02212cf030
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
[sboyd: dropped board file changes]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:30:02 -08:00
Anirudh Ghayal
e49102784c input: pmic8058-othc: Add support for PMIC8058 OTHC
The driver interfaces the OTHC (one-touch headset controller)
module (of PMIC8058) with the input subsystem. It supports
headset insert, remove and switch press, release operations.

It supports both NO (normally open) and NC (normally closed)
types of headset.

CRs-Fixed: 211767
Change-Id: Id32cd32a59e058112d39db53fc666181ea2b6eeb
Signed-off-by: Anirudh Ghayal <aghayal@qualcomm.com>
2013-02-25 11:30:01 -08:00
Mandeep Singh Baines
2ef75ae8fe MSM: add keyboard driver in st1.5
BUG=NONE
TEST=Built and ran on st1.5

Signed-off-by: Horace Fu <horace.fu@quantatw.com>
Signed-off-by: Mandeep Singh Baines <msb@chromium.org>

Review URL: http://codereview.chromium.org/723001

Change-Id: Ib7db8eb5c4c2fe3a8e957cb917ebad05f1ee3f1f
Signed-off-by: Ajay Dudani <adudani@codeaurora.org>
2013-02-25 11:29:57 -08:00
Anirudh Ghayal
0c6036e200 input: joystick: Add support for ShinEtsu VTD518 Touchdisc
VTD518 Touchdisc is a device from ShinEtsu supporting communication
over I2C. It is a multifunction touchdisc which supports rotary
scrolling, X/Y absolute positioning, X/Y relative movement,
kinetic scrolling and 5-way switch input.

The device reports various motion and key-press events via
interrupts. Based on the interrupt status, the driver communicates
with the device over I2c and receives the events. These events
are then reported to the input subsystem.

CRs-Fixed: 237218
Change-Id: Ib40bf4a6e294eae4b0199101a1725c226139da71
Signed-off-by: Anirudh Ghayal <aghayal@qualcomm.com>
2013-02-25 11:29:56 -08:00
Stephen Boyd
aaf081b365 hwmon: Add MSM's epm ADC driver
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:29:52 -08:00