Commit Graph

1310 Commits

Author SHA1 Message Date
Jay Wang
c31e3b26fc Revert "mfd: slimslave: Audio recording doesn't work sometimes"
This reverts commit 62e08ad71751ada1a26a77b0b75e525fbc6aa2fb.

The patch has a side-effect and causes the audio loss during
device switch

Signed-off-by: Jay Wang <jaywang@codeaurora.org>
2013-02-27 18:11:13 -08:00
Kiran Kandi
3534eb6906 ASoC: wcd9320: Add intial driver for WCD9320 codec
The WCD9320 Codec Driver is an ALSA-compliant codec driver. This driver
constructs the internal codec audio paths with DAPM widgets and
controls and provides the controls to the upper layers to enable and
configure audio paths.

Change-Id: Iee29359bebfc838cd200732b7191a2eb6a2087ee
Signed-off-by: Kiran Kandi <kkandi@codeaurora.org>
2013-02-27 18:11:03 -08:00
Stephen Boyd
9c4a050aff mfd: pm8921-core: Sync up to our copy
Pull in all our to this file up to quic/msm-3.4 merge from
quic/msm-3.0.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:31:47 -08:00
Asish Bhattacharya
065bd4444f ASoC: wcd9xxx: Move to a generic framework for codec core driver.
The current core assumes TABLA as the only codec driver registering.
To support single binary for multiple targets its essential that
we remove this restriction and move to a generic framework
to support multiple codec. This can be done by moving all codec
specific code to dedicated codec driver and use core driver to probe
the codec based on slimbus device id and do generic setup for the
codec. This also helps to have same boards with different flavours
of codec variants.

The WCD9XXX family of codecs share the initial codec register
mapping which holds the Slimbus device id to identify the
codec existing on the target.Core driver now registers the
codec device based on this check.

Change-Id: I4c43d5f04c20696f4f5138411460681ec7879d34
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2013-02-25 11:31:46 -08:00
David Collins
ef43639219 mfd: pm8xxx: Add PM8xxx battery alarm driver
Add a driver to control the battery alarm module of PMIC PM8xxx
devices.  This module uses a pair of comparators to determine
when battery under and over-voltage take place.  A wakeup
interrupt is triggered in these cases which can then run any
notifiers which have been registered.  Also add APIs to
configure the threshold voltages and the frequency at which the
hardware checks the state of the battery voltage.

Change-Id: Id0b82f9090b29ce743b5e0faac17853c94111771
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:45 -08:00
Asish Bhattacharya
ab125a4d10 mfd: pm8xxx-spk: Add support for class D speaker amplifier driver
The driver adds support for configuring the following parameters for
external pmic speaker amp driver
1. Gain
2. Mute/Unmute
3. Speaker enable/Disable
The above operations are supported by driver by exported apis
from kernel space.The Machine driver from ALSA would use these
to configure speaker.

Change-Id: I9817f5d5c2952ca423b84f35162a842123e4d413
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2013-02-25 11:31:45 -08:00
David Collins
e79d4e36e8 mfd: pm8xxx-misc: Add a PMIC 8XXX misc driver to hold various APIs
Add a PMIC 8XXX driver which will contain several miscellanous APIs.
The API that is needed is pm8xxx_reset_pwr_off.

Change-Id: I923d01cfd9dc3f8e760ae45d70799f80af65e88c
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:44 -08:00
Willie Ruan
e70d3fa4a2 mfd: pm8xxx-pwm: add pm8xxx PWM driver
Qualcomm PM8xxx chips, such as PM8058 and PM8921, have 8 channels of
PWM, also called LPG (Light Pulse Generator) in HW specs. All PWM
channels can be used as simple PWM machine or as a more advanced PWM
pattern generator using programmed lookup table.

This patch supports all APIs listed in <linux/pwm.h> with a small
difference. The two parameters (duty_ns and period_ns) in pwm_config()
are used as values in microseconds instead of nanoseconds. Otherwise a
32-bit integer can't fit for a range of 7 us to 300+ seconds.

Change-Id: Ic8f59e96360ea3dabef591e0b257a4ffe0796d9b
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
2013-02-25 11:31:43 -08:00
Stephen Boyd
d1b9398d86 mfd: pm8xxx-irq: Sync up to our version
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:31:42 -08:00
Jay Chokshi
e013f8d6d3 mfd: PM8821: Add support for PM8821 IRQ controller
Add support for the irq controller in Qualcomm PM8821 pmic. The
interrupt controller provides control for MPPs configured as
interrupts in addition to other subdevice interrupts.

The PM8821 IRQ controller is simpler than Secure IRQ controller
in other PMIC4 family of chips, i.e. PM8921. Also, it does not adhere
to SSBI register layout of Secure IRQ controller. This driver follows
the SSBI register layout of PM8821 IRQ controller and  supports only
PM8821 IRQ controller.

The interrupt controller also provides a way to read the real time
status of an interrupt. This real time status is the only way one
can get the input values of gpio and mpp lines.

CRs-Fixed: 366276
Change-Id: Id4b9cbf42f296c26d4f8780590389bb2265e46c0
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
2013-02-25 11:31:41 -08:00
Jay Chokshi
a72653eb2d mfd: pm8038: Add PMIC 8038 core driver
Add support for the Qualcomm PM8038 PMIC chip. The core driver
will communicate with the PMIC chip via the MSM SSBI bus.

Initial support is provided for: IRQ, GPIO, MPP, RTC, Power Key,
Misc, and Debug.

Change-Id: I83f995cc238699100a05e82d04b45ea2a63eb667
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
2013-02-25 11:31:40 -08:00
David Collins
6c2382fd4b mfd: pm8018: Add PMIC 8018 core driver
Add support for the Qualcomm PM8018 PMIC chip. The core driver
will communicate with the PMIC chip via the MSM SSBI bus.

Initial support is provided for: IRQ, GPIO, MPP, RTC, Power Key,
Misc, and Debug

Change-Id: I5787768603cb34bd3c9486d5c7d3fcf27a781ee9
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:40 -08:00
Jay Chokshi
208dea470f mfd: 8821: Add support for pm8821 core driver
Add support for the Qualcomm PM8821 PMIC chip. The core driver
will communicate with the PMIC chip via the MSM SSBI bus.

Initial support is provided for: IRQ, MPP, and Debug

Change-Id: Ic072e634c55925292196a3e710d2dc628cbf2780
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
2013-02-25 11:31:39 -08:00
Stephen Boyd
d984dfb6b4 power: pm8xxx-ccadc: Add pm8xxx ccadc subdevice
Until now only the BMS system was using the ccadc so there was
no need to create a separate ccadc driver.

However we can run in a configuration with BMS disabled
and clients won't be able to read battery current via ccadc.

Separate the ccadc from the bms, this change in is preparation
to add a ccadc api to read the battery current.

Change-Id: Ib96b146d91d01d196df9291eb23432cd430db4d0
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
[sboyd: Take only 8921-core parts]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:31:37 -08:00
Stephen Boyd
6ab81dd41d power: pm8921-bms: use eoc interrupt for writing trim values
The bms driver calibrates the ccadc channel every few minutes
for offset and gain.

The offset value calibrated needs to be written to the bms hardware
which it uses to adjust all the ccadc readings.
The software has to only adjust for gain for ccadc based readings.

One is not supposed to program the trim offset values in while a
bms conversion in progress. Update the code to try only two times
instead of 10 to check if the conversion is finished, if not enable
the ccadc eoc interrupt and write the values then.

Change-Id: I1a1a16feb5ffb927f630850f0f2539ad75805fb1
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
[sboyd: droped bms driver change]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:31:36 -08:00
Jay Chokshi
8f02c16c7f leds-pm8xxx: Pass LED flags from board file
Instead of hard coding the flag into led driver, pass it
from board file.
While at it, re-factor the code to separate led upstream
core data with board specific data.

Change-Id: I9726f8444d422fdbebdbd5d5e0c5beb6288aa5b1
Signed-off-by: Jay Chokshi <jchokshi@codeaurora.org>
[sboyd: only take pm8921 part]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-02-25 11:31:35 -08:00
David Collins
06ee07da0c mfd: pm8921-core: Fix possible null pointer dereference in pm8921_remove
It is possible to dereference the pmic pointer even if it is null;
fix this.

Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:35 -08:00
Anirudh Ghayal
7ff767d87a mfd: pm8921: Add cell data for pm8921 vibrator
Change-Id: I0ddf2555d80ff8575ae85250b13aed46e21a0f0a
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2013-02-25 11:31:33 -08:00
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
David Collins
ecfc5de329 mfd: pm8921-core: Print out PMIC version and revision names
Print out the PMIC version and revision names in human readable
form inside of the PM8921 probe function.

Change-Id: I0cfcbd25ab67834a8187d91e34d286cac806fd98
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:26 -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
255d011443 mfd: pm8921-core: Use SINGLE_IRQ_RESOURCE wherever possible
The charger cell introduced SINGLE_IRQ_RESOURCE. Use it for other cells
too.

Change-Id: I3e53810b792216135453baef229101f8fed98ea9
Signed-off-by: Abhijeet Dharmapurikar <adharmap@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
a73d9053f1 mfd: pm8xxx: add pm8xxx debugfs read/write interface
This driver will provide a means to read and write arbitrary PMIC
PM8XXX SSBI registers via debugfs.  It will first be used on the
PM8921 chip for MSM 8960.

Change-Id: I71c8b98cafec088ad864a89fa39e7ca14d212c7f
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:21 -08:00
David Collins
eb511f3d95 mfd: pm8921: change PM8921 core and regulator init to postcore
The pm8921-core and pm8921-regulator drivers are currently registered
in the subsys init level.  This is not soon enough because the
acpuclock driver needs them to be available during the arch init
level.  Therefore, change them to postcore init so that they are
ready in time.

Change-Id: I6ec7d42e0ef459e7f76621ce518cf9a9c9093c3c
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:31:20 -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
Willie Ruan
2662b0a108 mfd: add pmic8058 driver for QCOM PM8058 chip
This driver is to provide a shim layer between ssbi driver (under i2c
framework) and other function drivers like keypad. It provides interrupt
multiplexing and GPIO configuration.

Signed-off-by: Willie Ruan <wruan@quicinc.com>
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
Stephen Boyd
5fff0510b8 mfd: pm8xxx-mpp: Add pm8xxx MPP driver
Add support for multi-purpose pins (MPPs) on Qualcomm PM8xxx
PMIC chips.

PM8xxx MPPs can be configured as digital or analog inputs or
outputs, current sinks, or buffers.

Note that mpp pins appear as gpio lines to the kernel. However they
are implemented separately from the pmic's gpio driver as
mpps have different configuration attributes and have different
register controls than the pmic's gpio controller. Basically they are
different set of pins.

Change-Id: Iab39b2f7c2ba3f35ef6ac74d37ee7add8c70681f
Signed-off-by: David Collins <collinsd@codeaurora.org>
2013-02-25 11:29:34 -08:00
Stephen Boyd
c49fbcf469 gpio: pm8xxx-gpio: Add pm8xxx gpio driver
Add support for GPIO on Qualcomm PM8xxx PMIC chips.

Change-Id: I5c00baeedc6c40ed40065d15c83577051e6ac9c6
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2013-02-25 11:29:34 -08:00
Russ Dill
13176a89e1 mfd: Fix build breakage in omap-usb-host.c
'ARM: OMAP3: USB: Fix the EHCI ULPI PHY reset issue' removes the include for
linux/gpio.h from omap-usb-host.c. This include indirectly includes plat/cpu.h
which is required by omap-usb-host.c. Fix the build breakage by including
it directly.

Acked-by: Keshava Munegowda <keshava_mgowda@ti.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Tested-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Russ Dill <Russ.Dill@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-05-01 11:55:04 +02:00
Paul Gortmaker
82ea267f7d mfd: Fix modular builds of rc5t583 regulator support
The combination of commit 1b1247dd75

    "mfd: Add support for RICOH PMIC RC5T583"

and commit 6ffc3270210efa2bea526953a142ffc908f5bd86

    "regulator: Add support for RICOH PMIC RC5T583 regulator"

are causing the i386 allmodconfig builds to fail with this:

  ERROR: "rc5t583_update" [drivers/regulator/rc5t583-regulator.ko] undefined!
  ERROR: "rc5t583_set_bits" [drivers/regulator/rc5t583-regulator.ko] undefined!
  ERROR: "rc5t583_clear_bits" [drivers/regulator/rc5t583-regulator.ko] undefined!
  ERROR: "rc5t583_read" [drivers/regulator/rc5t583-regulator.ko] undefined!

and this:

  ERROR: "rc5t583_ext_power_req_config" [drivers/regulator/rc5t583-regulator.ko] undefined!

For the 1st four, make the simple ops static inline, instead of
polluting the namespace with trivial exports.  For the last one,
add an EXPORT_SYMBOL.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-04-16 21:27:07 +02:00
Dmitry Artamonow
02269ab10f mfd: Fix asic3_gpio_to_irq
Assumption that irq numbers of asic3 gpios start at
IRQ_BOARD_START is certainly wrong - driver may as well
use any other base for its irqs (consider for example
the imaginary case of two ASIC3 chips onboard)

Furthermore, some platforms even don't have IRQ_BOARD_START
defined, so driver will fail to build on them:
-------------------------------------------------------
drivers/mfd/asic3.c: In function 'asic3_gpio_to_irq':
drivers/mfd/asic3.c:530: error: 'IRQ_BOARD_START' undeclared (first use in this function)
drivers/mfd/asic3.c:530: error: (Each undeclared identifier is reported only once
drivers/mfd/asic3.c:530: error: for each function it appears in.)
-------------------------------------------------------

Fix it by using irq_base from driver data.

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-04-16 18:57:26 +02:00
Keshava Munegowda
1fcb57d0f6 ARM: OMAP3: USB: Fix the EHCI ULPI PHY reset issue
It is observed that the echi ports of 3430 sdp board
are not working due to the random timing of programming
the associated GPIOs of the ULPI PHYs of the EHCI for reset.
If the PHYs are reset at during usbhs core driver, host ports will
not work because EHCI driver is loaded after the resetting PHYs.
The PHYs should be in reset state while initializing the EHCI
controller.
The code which does the GPIO pins associated with the PHYs
are programmed to reset is moved from the USB host core driver
to EHCI driver.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
Reviewed-by: Partha Basak <parthab@india.ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-04-16 18:47:00 +02:00
Peter Ujfalusi
8eaeb93933 mfd: Convert twl6040 to i2c driver, and separate it from twl core
Complete the separation of the twl6040 from the twl core since
it is a separate chip, not part of the twl6030 PMIC.

Make the needed Kconfig changes for the depending drivers at the
same time to avoid breaking the kernel build (vibra, ASoC components).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Mark Brown <broonie@opensource.wolfsonicro.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2012-04-16 16:45:34 +02:00