aboutsummaryrefslogtreecommitdiff
path: root/include/linux/mfd
AgeCommit message (Collapse)AuthorFilesLines
2013-04-17regulator: palmas: support for external regulator through control outputsLaxman Dewangan1-0/+6
Palmas device have control outputs like REGEN1, REGEN2, REGEN3, SYSEN1 and SYSEN2. These control outputs can be used for controlling external voltage switches to enabled/disable voltage outputs. Add support of these control outputs through regulator framework. Signed-off-by: Laxman Dewangan <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2013-04-16ab8500_{bmdata,fg}: Add const attributes to some data arraysHongbo Zhang1-3/+3
This patch adds const attributes to AB8500 power and temperature related read-only data arrays. Signed-off-by: Hongbo Zhang <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2013-04-16ab8500_btemp: Make ab8500_btemp_get* interfaces publicHongbo Zhang1-0/+1
Make ab8500_btemp_get_temp interface public, export it and also export the ab8500_btemp_get, ab8500_btemp_get_batctrl_temp interfaces, so that the ab8500 hwmon driver can use them. Signed-off-by: Hongbo Zhang <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2013-04-12Merge remote-tracking branch 'asoc/topic/wm8994' into asoc-nextMark Brown1-0/+8
2013-04-12Merge remote-tracking branch 'asoc/topic/arizona' into asoc-nextMark Brown2-0/+45
2013-04-09Merge branch 'mxs/cleanup' into next/multiplatformArnd Bergmann1-0/+23
This is a dependency for mxs/multiplatform Signed-off-by: Arnd Bergmann <[email protected]> Conflicts: drivers/clocksource/Makefile
2013-04-09mfd: support stmpe1801 18 bits enhanced port expanderJean-Nicolas Graux1-0/+3
Provides support for 1801 variant of stmpe gpio port expanders. This chip has 18 gpios configurable as GPI, GPO, keypad matrix, special key or dedicated key function. Note that special/dedicated key function is not supported yet. Signed-off-by: Jean-Nicolas Graux <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-09mfd: syscon: Add missing struct device_node declarationSylwester Nawrocki1-0/+2
syscon.h header uses struct device_node in functions' declarations without declaring it. This causes compilation warnings like: include/linux/mfd/syscon.h:20: warning: ‘struct device_node’ declared inside parameter list include/linux/mfd/syscon.h:20: warning: its scope is only this definition or declaration, which is probably not what you want Fix it by adding a forward declaration of struct device_node. Signed-off-by: Sylwester Nawrocki <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Acked-by: Dong Aisheng <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-08mfd: arizona: Define additional FLL control registersMark Brown1-0/+40
Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-08mfd: tps65090: Fix enum in header fileRhyland Klein1-0/+1
The enum is missing the definition for the first bit, which makes all the rest off by one. Add definition for the TPS65090_IRQ_INTERRUPT bit which at 0. Signed-off-by: Rhyland Klein <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-08mfd: palmas: is_palmas_charger needed by multiple driversIan Lartey1-1/+11
is_palmas_charger checks for the presence of charging functionality in the device Signed-off-by: Graeme Gregory <[email protected]> Signed-off-by: Ian Lartey <[email protected]> Acked-by: Laxman Dewangani <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-08Merge tag 'ux500-multiplatform-mfd' of ↵Samuel Ortiz2-41/+7
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson MFD portions of the ux500 multiplatform branch. A second tag for the ARM SoC tree will build upon this one. This mainly removes the header file dependencies from the PRCMU driver in the MFD subsystem, and moves the PM functions to the machine. Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-08mfd: arizona: Support configuring MICBIASes into bypass modeMark Brown1-0/+1
Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-08mfd: arizona: Allow GPIO to be specified for IRQ lineMark Brown1-0/+3
If a GPIO is specified for the chip IRQ line then request it. This improves support for systems that do not put pins into input mode when used as interrupts. Also use this GPIO when the primary IRQ is in edge triggered mode to detect if we have handled pending interrupts in order to improve robustness. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-08mfd: arizona: Basic support for edge triggered IRQsMark Brown1-1/+2
Allow the user to configure edge triggered IRQs, though we do not yet fully handle new interrupts occurring while an interrupt is being handled. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-08ARM: ux500: split out prcmu initializationArnd Bergmann1-0/+2
This untangles the final bits of the prcmu code from the platform code: * The IRQ_PRCMU_* definitions move from irqs-db8500.h into prcmu.c because they are only of local significance. * u8500_thsens_device goes into the prcmu, because it uses a PRCMU IRQ that the platform does not see. * IRQ_DB8500_AB8500 and IRQ_PRCMU_BASE go into the platform data because the PRCMU does not see it. Acked-by: Samuel Ortiz <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]> [Fixed a oneliner bug] Signed-off-by: Linus Walleij <[email protected]>
2013-04-08ARM: ux500: move PM-related PRCMU functions to machineLinus Walleij2-36/+0
We are trying to decompose and decentralize the code in the DB8500 PRCMU out into subdrivers. The code moved in this patch concerns a group of functions used for decoupling and recoupling the IRQs from the GIC. During sleep and idle the Ux500 system will transfer all IRQ handling to the PRCMU using these functions. Basically we are left with the two alternatives of code placement as: - arch/arm/mach-ux500/pm.c - this because the code is closely related to the GIC, and takes ownership of some of the registers from the PRCMU related to this PM functionality. - drivers/mfd/db8500-prcmu-pm.c - because the code is affecting stuff in the PRCMU register range. But then this code needs to remap and handle GIC registers. This patch implementation is taking the first approach. Currently the cpuidle driver is the only piece of code using this set of functions, but it will later also be used by the suspend/resume code which is currently under review. The header file is moved to: <linux/platform_data/arm-ux500-pm.h> The function prototypes need to be placed in a globally visible header since the CPUidle code is planned to move out to drivers/cpuidle. Acked-by: Samuel Ortiz <[email protected]> Acked-by: Rickard Andersson <[email protected]> Acked-by: Daniel Lezcano <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-04-08mfd: prcmu: pass a base and size with the early initcallLinus Walleij2-5/+5
This patch will make an early remapping of the PRCMU, to be used when setting up the clocks, that will call down into parts of the PRCMU driver before it is probed. Going forward this will be removed like this: - The mailbox subsystem need to be merged. http://marc.info/?l=linux-kernel&m=136314559201983&w=2 - At this point the PRCMU clock code can be moved over to the ux500 clock driver in drivers/clk/ux500/* and maintained there in a decentralized manner. - This early initcall and PRCMU base parameters become part of the ux500_clk_init() call instead. Cc: Suman Anna <[email protected]> Cc: Loic Pallardy <[email protected]> Acked-by: Samuel Ortiz <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Ulf Hansson <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2013-04-08Merge branch 'for-mfd-and-power' of ↵Samuel Ortiz6-23/+148
git://git.linaro.org/people/ljones/linux-3.0-ux500 Conflicts: drivers/mfd/ab8500-gpadc.c Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-05mfd: syscon: Add non-DT supportAlexander Shiyan1-0/+1
This patch allow using syscon driver from the platform data, i.e. possibility using driver on systems without oftree support. For search syscon device from the client drivers, "syscon_regmap_lookup_by_pdevname" function was added. Signed-off-by: Alexander Shiyan <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-05mfd: Add ChromeOS EC implementationSimon Glass1-0/+170
This is the base EC implementation, which provides a high level interface to the EC for use by the rest of the kernel. The actual communcations is dealt with by a separate protocol driver which registers itself with this interface. Interrupts are passed on through a notifier. A simple message structure is used to pass messages to the protocol driver. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Che-Liang Chiou <[email protected]> Signed-off-by: Jonathan Kliegman <[email protected]> Signed-off-by: Luigi Semenzato <[email protected]> Signed-off-by: Olof Johansson <[email protected]> Signed-off-by: Vincent Palatin <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-05mfd: Add ChromeOS EC messages headerSimon Glass1-0/+1369
This file is included verbatim from the ChromeOS EC respository. Ideally we would prefer to avoid changing it, to make it easier to track this rapidly-changing file. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Che-Liang Chiou <[email protected]> Signed-off-by: Vincent Palatin <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-04-03Merge tag 'extcon-arizona-v3.10' of ↵Greg Kroah-Hartman2-0/+25
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc into char-misc-next Mark writes: extcon: arizona: Updates for v3.10 There's a bunch of different things in this series, I can split them out if need be: - Support for configuring the button detection circuit to reflect the accessories supplied with the system. - Improvements in the HPDET based detection scheme. - Additional robustness against more pathological use cases. - A few small standalone fixes.
2013-04-03ARM: ux500: Pass regulator platform data using the new formatLee Jones1-9/+2
Regulator platform data is now passed though a single structure as opposed to the old way where four separate struct elements were required. This patch makes use of the new format. Signed-off-by: Lee Jones <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2013-04-02extcon: arizona: Make mic detection timeout configurableMark Brown1-0/+3
Signed-off-by: Mark Brown <[email protected]>
2013-04-02extcon: arizona: Allow additional debounce during microphone detectionMark Brown1-0/+3
Help mitigate against mechanical bounce during the initial detection by allowing the configuration of an additional debounce on top of that the hardware does during the initial phase of microphone detection operation. Signed-off-by: Mark Brown <[email protected]>
2013-04-02extcon: arizona: Simplify HPDET based identificationMark Brown1-0/+3
Rather than measuring both HP channels we can simply directly measure the microphone impedance and then rely on MICDET for final confirmation of the presence of a suitable microphone. This improves the overall performance of the identification process. Signed-off-by: Mark Brown <[email protected]>
2013-04-02extcon: arizona: Allow pull to be disabled on GPIO5 when used for JACKETMark Brown1-0/+3
In some designs an external pull won't be needed. Signed-off-by: Mark Brown <[email protected]>
2013-04-02extcon: arizona: Allow configuration of button detectionMark Brown1-0/+9
The Arizona button detection circuit is configurable, allowing the system integrator to program a range of thresholds for the buttons supported on the accessory but currently the driver uses the default button ranges and does not provide any flexibility in how this is exposed to the application layer. Provide platform data allowing the user to control this and to map the buttons to keys in the input subsystem. Signed-off-by: Mark Brown <[email protected]>
2013-04-01mfd: wm5102: Add registers for microphone detection level configurationMark Brown1-0/+4
Signed-off-by: Mark Brown <[email protected]>
2013-03-28Merge tag 'char-misc-3.9-rc4' of ↵Linus Torvalds1-0/+23
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver fixes from Greg Kroah-Hartman: "Here are some small char/misc driver fixes that resolve issues recently reported against the 3.9-rc kernels. All have been in linux-next for a while." * tag 'char-misc-3.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: VMCI: Fix process-to-process DRGAMs. mei: ME hardware reset needs to be synchronized mei: add mei_stop function to stop mei device extcon: max77693: Initialize register of MUIC device to bring up it without platform data extcon: max77693: Fix bug of wrong pointer when platform data is not used extcon: max8997: Check the pointer of platform data to protect null pointer error
2013-03-26Merge branch 'char-misc-linus' into char-misc-nextGreg Kroah-Hartman1-0/+23
This picks up the MEI fixes that we need in this branch now. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-03-26Merge tag 'arizona-extcon-asoc' of ↵Mark Brown5-1/+8
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc into asoc-arizona ASoC/extcon: arizona: Fix interaction between HPDET and headphone outputs This patch series covers both ASoC and extcon subsystems and fixes an interaction between the HPDET function and the headphone outputs - we really shouldn't run HPDET while the headphone is active. The first patch is a refactoring to make the extcon side easier.
2013-03-26ASoC: arizona: Fix interaction between headphone outputs and identificationMark Brown1-0/+3
Running HPDET while the headphone outputs are enabled can disrupt the operation of HPDET. In order to avoid this HPDET needs to disable the headphone outputs and ASoC needs to not enable them while HPDET is running. Do the ASoC side of this by storing the enable state in the core driver structure and only writing to the device if a flag indicating that the accessory detection side is in a state where it can have the headphone output stage enabled. Signed-off-by: Mark Brown <[email protected]>
2013-03-21mfd: wm5102: Add additional speaker control registersMark Brown1-0/+2
Signed-off-by: Mark Brown <[email protected]>
2013-03-21ASoC: wm8994: Support constraining the maximum number of channels clockedMark Brown1-0/+8
Some systems use the audio CODEC to clock a DAI with multiple data lines in parallel, meaning that bit clocks are only required for a smaller number of channels than data is sent for. In some cases providing the extra bit clocks can take the other devices on the audio bus out of spec. Support such systems by allowing a maximum number of channels to be specified. Signed-off-by: Mark Brown <[email protected]>
2013-03-18power_supply: Add support for tps65090-chargerRhyland Klein1-0/+5
This patch adds support for the tps65090 charger driver. This driver is responsible for controlling the charger aspect of the tps65090 mfd. Currently, this mainly consists of turning on and off the charger, but some features of the charger can be supported through this driver including: - Enable Auto Recharge based on Battery voltage - Fast Charge Safety Timer - Maximum battery discharge current - Maximum battery adapter current - Enable External Charge - Disable charging termination based on low charger current (supported) Once the driver is accepted, later patches can add support for the features above which are not yet supported. Based on work by: Syed Rafiuddin <[email protected]> Laxman Dewangan <[email protected]> Signed-off-by: Rhyland Klein <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2013-03-18Merge branch 'for-mfd-and-power' of ↵Anton Vorontsov6-23/+148
git://git.linaro.org/people/ljones/linux-3.0-ux500 From Lee Jones <[email protected]>: "Please find the next instalment of the AB8500 Power drivers upgrade. A lot of work has taken place on the internal development track, but little effort has gone into mainlining it. There is a large backlog of patches which are in need of forward-porting, then upstreaming. This patch-set aims to make a large dent into them." Conflicts: drivers/mfd/ab8500-gpadc.c
2013-03-13extcon: max77693: Initialize register of MUIC device to bring up it without ↵Chanwoo Choi1-0/+23
platform data This patch set default value of MUIC register to bring up MUIC device. If user don't set some initial value for MUIC device through platform data, extcon-max77693 driver use 'default_init_data' to bring up base operation of MAX77693 MUIC device. Signed-off-by: Chanwoo Choi <[email protected]> Signed-off-by: Myungjoo Ham <[email protected]>
2013-03-12mfd: wm831x: Don't forward declare enum wm831x_auxadcMark Brown2-1/+3
We can't forward declare enums. Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-03-12mfd: tps65912: Declare and use tps65912_irq_exit()Mark Brown1-0/+1
Clean up interrupts on exit, silencing a sparse warning caused by tps65912_irq_exit() being defined but not prototyped as we go. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-03-12mfd: palmas: Provide irq flags through DT/platform dataLaxman Dewangan1-0/+1
Currently driver sets the irq type to IRQF_TRIGGER_LOW which is causing interrupt registration failure in ARM based SoCs as: [ 0.208479] genirq: Setting trigger mode 8 for irq 118 failed (gic_set_type+0x0/0xf0) [ 0.208513] dummy 0-0059: Failed to request IRQ 118: -22 Provide the irq flags through platform data if device is registered through board file or get the irq type from DT node property in place of hardcoding the irq flag in driver to support multiple platforms. Also configure the device to generate the interrupt signal according to flag type. Signed-off-by: Laxman Dewangan <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2013-03-07ab8500-charger: Add UsbLineCtrl2 referenceMarcus Cooper1-0/+1
When the state of USB Charge detection is changed then the calls use a define for another register in other bank. This change creates a new define for the correct register and removes the magic numbers that are present. Signed-off-by: Marcus Cooper <[email protected]> Signed-off-by: Lee Jones <[email protected]> Reviewed-by: Hakan BERG <[email protected]> Reviewed-by: Jonas ABERG <[email protected]>
2013-03-07ab8500-bm: Add support for the new ab8540 platformLee Jones2-2/+13
Provide AB8540 platform specific information required to run the Battery Management subsystem on AB8540 based devices. For this to happen we see the introduction of separate platform specific data structures and a means in which to process them. Signed-off-by: Lee Jones <[email protected]>
2013-03-07ab8500-bm: Add usb power path supportLee Jones3-0/+17
AB8540 supports power path function in USB charging mode for fast power up with dead and weak battery, and it could extend the battery age. When USB charging starts, if the Vbattrue is below than SW cut off voltage, power path and pre-charge should be enabled. If Vbattrue is higher than SW cut off voltage, power path and pre-charge should be disabled. This is to make sure full current to battery charge. At the end of charge, power path should be enable again to reduce charging the battery again. Signed-off-by: Lee Jones <[email protected]>
2013-03-07ab8500-bm: Charge only mode fixes for the ab9540Lee Jones1-0/+2
Fix for charging not getting enabled in charge only mode by external charger. Signed-off-by: Lee Jones <[email protected]>
2013-03-07ab8500-bm: Quick re-attach charging behaviourLee Jones1-0/+1
Due to a bug in some AB8500 ASICs charger removal cannot always be detected if the removal and reinsertion is done to close in time. This patch detects above described case and handles the situation so that charging will be kept turned on. Signed-off-by: Lee Jones <[email protected]>
2013-03-07ab8500-charger: Add backup battery charge voltages on the ab8540Yang QU1-4/+20
Add 2.7v, 2.9v, 3.0v, 3.2v and 3.3v charging voltages for backup battery. Before that only 2.5v, 2.6v, 2.8v, 3.1v were available. Signed-off-by: Yang QU <[email protected]> Signed-off-by: Lee Jones <[email protected]> Reviewed-by: Maxime COQUELIN <[email protected]> Reviewed-by: Marcus COOPER <[email protected]> Tested-by: Xiao Mei ZHANG <[email protected]>
2013-03-07ab8500-fg: Add power cut feature for ab8505 and ab8540Lee Jones2-0/+28
Add support for a power cut feature which allows user to configure when ab8505 and ab8540 based platforms should shut down system due to low battery. Signed-off-by: Lee Jones <[email protected]>
2013-03-07mfd: ab8500-debug: Add support for the AB8540Lee Jones1-0/+3
Allow GPADC debug information to be shown when executing on an AB8540 based platform. Signed-off-by: Alexandre Bourdiol <[email protected]> Reviewed-by: Marcus COOPER <[email protected]> Reviewed-by: Philippe LANGLAIS <[email protected]> Acked-by: Samuel Ortiz <[email protected]>