aboutsummaryrefslogtreecommitdiff
path: root/include/linux/mfd
AgeCommit message (Collapse)AuthorFilesLines
2012-03-16mfd: Add anatop mfd driverYing-Chun Liu (PaulLiu)1-0/+40
Signed-off-by: Ying-Chun Liu (PaulLiu) <[email protected]> Acked-by: Shawn Guo <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]> Reviewed-by: Mark Brown <[email protected]> Cc: Venu Byravarasu <[email protected]> Cc: Peter Korsgaard <[email protected]> Cc: Rob Lee <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16mfd: Fix compilation error in tps65910.hVenu Byravarasu1-0/+2
'struct gpio_chip' is declared in include/asm-generic/gpio.h which is included by include/linux/gpio.h. However without including gpio.h, TPS65910.h declares a member of this type as part of 'struct tps65910' declaration. This causes compilation error, if gpio.h is not included before including tps65910.h, in source files. Signed-off-by: Venu Byravarasu <[email protected]> Reviewed-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16mfd: Add 8420 variant to db8500-prcmuBengt Jonsson1-0/+1
Signed-off-by: Bengt Jonsson <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16mfd: Add 8520 PRCMU variant to db8500-prcmuBengt Jonsson1-0/+1
Signed-off-by: Bengt Jonsson <[email protected]> Reviewed-by: Mattias Nilssson <[email protected]> Reviewed-by: Jonas Aberg <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16mfd: Remove obsolete hwacc implementation for db8500-prmcuMattias Nilsson1-43/+0
This patch removes the obsolete hwacc implementation in the DB8500 PRCMU driver. Signed-off-by: Mattias Nilsson <[email protected]> Reviewed-by: Jonas Aberg <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16mfd: Add support for RICOH PMIC RC5T583Laxman Dewangan1-0/+295
Ricoh power management IC RC5T583 contains is multi functional device having multiple sub devices inside this. This device has multiple dcdc/ldo regulators, gpios, interrupt controllers, on-key, RTCs, ADCs. This device have 4 DCDCs, 8 LDOs, 8 GPIOs, 6 ADCs, 3 RTCs etc. Signed-off-by: Laxman Dewangan <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16mfd: Make use of the ab8500 firmware read-modify-write serviceMattias Nilsson1-2/+4
This patch updates the AB8500 driver to make use of the I2C read-modify-write service in the PRCMU firmware. Signed-off-by: Mattias Nilsson <[email protected]> Reviewed-by: Mattias Wallin <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16mfd: Add a prcmu_abb_write_masked routine to db8500-prcmuMattias Nilsson1-0/+7
This patch adds driver support for the I2C read-modify-write service in the U8500 PRCMU firmware. Signed-off-by: Mattias Nilsson <[email protected]> Reviewed-by: Jonas ABERG <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16mfd: Support for the AB8500 AB8505 variantBengt Jonsson1-42/+57
This builds upon the changes done to support AB9540 so as also to support the AB8505 derivative of the AB8500 circuit. Signed-off-by: Bengt Jonsson <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16mfd: Remove unused LDO supply field from WM8994 pdataMark Brown1-1/+0
It's causing confusion with the regulator level field of the same name and serves no useful function. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16mfd: Add platform data for MAX8997 haptic driverChanwoo Choi1-1/+52
MAX8997 device does not support haptic function of it. This patch adds platform data for for MAX8997 haptic driver. Signed-off-by: Donggeun Kim <[email protected]> Signed-off-by: Myungjoo Ham <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-16device.h: audit and cleanup users in main include dirPaul Gortmaker6-6/+10
The <linux/device.h> header includes a lot of stuff, and it in turn gets a lot of use just for the basic "struct device" which appears so often. Clean up the users as follows: 1) For those headers only needing "struct device" as a pointer in fcn args, replace the include with exactly that. 2) For headers not really using anything from device.h, simply delete the include altogether. 3) For headers relying on getting device.h implicitly before being included themselves, now explicitly include device.h 4) For files in which doing #1 or #2 uncovers an implicit dependency on some other header, fix by explicitly adding the required header(s). Any C files that were implicitly relying on device.h to be present have already been dealt with in advance. Total removals from #1 and #2: 51. Total additions coming from #3: 9. Total other implicit dependencies from #4: 7. As of 3.3-rc1, there were 110, so a net removal of 42 gives about a 38% reduction in device.h presence in include/* Signed-off-by: Paul Gortmaker <[email protected]>
2012-03-11regulator: tps65910: Sleep off rails when ext sleep configuredLaxman Dewangan1-3/+2
Keep the rails OFF in sleep mode only when the rails are controlled by external sleep control. The devices tps65910 and tps65911, both has the sleep input. The tps65911's sleep input is not same as tps65910's EN3 and hence taking care of SLEEP input as separate external sleep control input. Signed-off-by: Laxman Dewangan <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-03-06mfd : Check if the other db8500 core is in WFIDaniel Lezcano2-0/+9
This patch allows to check if the other core is in WFI mode. It is the last check the idle routine has to do before entering into the retention state. Signed-off-by: Daniel Lezcano <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd : Check if the db8500 prcmu has pending irqDaniel Lezcano2-0/+9
This patch allows to check if there are some pending irqs on the prcmu. Signed-off-by: Daniel Lezcano <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd : Copy the db8500 gic setting to the prcmuDaniel Lezcano2-0/+9
In the case we go to the retention mode, we decoupled the gic in order to have the A9 core to reach a stable WFI state. But we want the prcmu to wake up the A9 when the gic has a pending irq which is done by copying the gic settings to the to the prcmu. Signed-off-by: Daniel Lezcano <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd : Check if there are pending irq on the db8500 gicDaniel Lezcano2-0/+9
This patch introduces a routine to check if there are some irqs pending on the gic. Usually this check is not relevant because it appears racy (an irq can arrive right after this check), but in the ux500 it makes sense because the prcmu decouples the gic from the A9 cores. Signed-off-by: Daniel Lezcano <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Add power control interface for pm8606 chipJett.Zhou1-0/+22
The reference group and internal oscillator are shared by sub-devs like led, backlight and vibrator in PM8606 chip. Now introduce a voting mechanism to enable/disable it. Add pm8606_osc_enable() and pm8606_osc_disable() interface and related defines to support this. This interface will be called by vibrator led and backlight driver.The refernce group and internal oscillator are enabled only when at least one of it's clients holds it on or disabled only all the clients don't use it any more based on the above mechanism. Signed-off-by: Jett.Zhou <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Use regmap for tps65910 register access.Laxman Dewangan1-0/+1
Using regmap apis for accessing the device registers and using RBTREE caching mechanims for caching registers. Enabling caching of the registers which is used for voltage controls. By doing this, the modify_bits operation is faster as it does not involve the i2c register read from device, just read from cache. This results faster set voltage operation. Signed-off-by: Laxman Dewangan <[email protected]> Reviewed-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Add ability to wake the system for 88pm860xJett.Zhou1-0/+1
For 88pm860x pmic, it can wake the system from low power mode by irq, its sub-devs like RTC and onkey can be enabled for this usage. Signed-off-by: Jett.Zhou <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Remove unused io_lock mutex from da9052Axel Lin1-2/+0
da9052 has been converted to use regmap API, so we can remove the unused io_lock mutex. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Decouple/recouple gic from the ux500 PRCMUDaniel Lezcano2-0/+18
This patch allows to decouple and recouple the gic from the PRCMU. This is needed to put the A9 core in retention mode with the cpuidle driver. It is based on top of the "DB8500 PRCMU update" patchset. Signed-off-by: Daniel Lezcano <[email protected]> Acked-by: Rickard Andersson <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Support AB9540 ab8500 variantLinus Walleij3-2/+91
The AB9540 variant of the AB8500 is basically close enough to use the same driver. This adds the new registers and deviations for this new chip variant. Reviewed-by: Mark Brown <[email protected]> Signed-off-by: Maxime Coquelin <[email protected]> Signed-off-by: Alex Macro <[email protected]> Signed-off-by: Michel Jaouen <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Parametrize ab8500 IRQ masks and registersLinus Walleij1-2/+7
This makes the AB8500 state struct contain the IRQ mask and register offsets previously hard-coded so as to make room for more AB8500 variants. Reviewed-by: Mark Brown <[email protected]> Signed-off-by: Maxime Coquelin <[email protected]> Signed-off-by: Alex Macro <[email protected]> Signed-off-by: Michel Jaouen <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Add ab8500 version detection and enforcingLinus Walleij2-8/+58
There are currently four different versions of the AB8500 around: AB8500, AB8505, AB9540 and AB8540. Unfortunately: - Some of the chips (AB8500, AB8505, AB9540) cannot read the AB8500_REV_REG register but return errors - Some of them have the same ID value in the hardware register AB8500_REV_REV, for example the first versions of AB8505 and AB9540 have 0xFF in this register - just like the AB8500. So we need to be able to enforce a certain version from the platform. We do this by using the id of the platform device that provides the read/write functions. Reviewed-by: Mark Brown <[email protected]> Signed-off-by: Maxime Coquelin <[email protected]> Signed-off-by: Alex Macro <[email protected]> Signed-off-by: Michel Jaouen <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Add support for no-interrupt stmpe configChris Blair1-0/+1
Adds support for boards which have an STMPE device without the interrupt pin connected. Acked-by: Viresh Kumar <[email protected]> Signed-off-by: Chris Blair <[email protected]> Tested-by: Michel Jaouen <[email protected]> Reviewed-by: Srinidhi Kasagar <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Acked-by: Viresh Kumar <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Add initial db8500 prcmu register access apiMattias Nilsson2-12/+154
This patch adds an initial PRCMU register access API, which for now should only be used for a very limited set of registers. The idea about this API is that we split the PRCMU driver in one part that deals with interaction with the PRCMU firmware and one part that simply provide write accessors in the PRCMU register range. The latter are just a collection of registers exposed in the PRCMU register range for various purposes and not related to the PRCMU firmware. Currently we support some limited GPIO, SPI and UART settings through this API. Signed-off-by: Mattias Nilsson <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: db8500 OPP and sleep handling updateMattias Nilsson2-2/+38
This updates the operating point handling code by: - Supporting the DDR OPP retention state. - Supporting another low operating point named APE_50_PARTLY_25_OPP - Adding an interface to figure out if the sleep state change was properly achieved. Signed-off-by: Shreshtha Kumar Sahu <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Mattias Nilsson <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: db8500 clock handling updateMattias Nilsson1-0/+47
This updates the clock handling in the DB8500 PRCMU driver with the latest findings and API changes related to changes in the backing firmware in the PRCMU. - Add the necessary interfaces to get the frequencies of the clocks and set the rate of some of the clocks. - Add support for controlling the clocks PLLSOC0, PLLDSI, DSI0, DSI1 and DSI escape clocks (DSInESCCLK). - Correct the PLLSDI enable/disable sequence by using the DSIPLL_CLAMPI bit. After this we will have the interfaces and code to implement the U8500 clock framework properly. Reviewed-by: Jonas Aberg <[email protected]> Signed-off-by: Mattias Nilsson <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Update abstract dbx500 interfaceMattias Nilsson2-53/+183
This prefixes a number of accessor functions with db8500_* since they are DB8500-specific and we need to move to this naming scheme. We also replace numerous instances of machine_is() with cpu_is() which covers the right type of ASICs rather than entire machines i.e. boards. Signed-off-by: Mattias Nilsson <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Function for obtaining the db8500 prcmu firmware versionMattias Nilsson1-0/+18
This patch exports a function that can be used to tell which version of the DB8500 PRCMU firmware is available, and revamps the firmware detection code a bit. Reviewed-by: Bengt Jonsson <[email protected]> Reviewed-by: Jonas Aberg <[email protected]> Signed-off-by: Mattias Nilsson <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Remove db8500-prcmu U8400 legacyDaniel Willerud1-6/+0
This removes the U8400 legacy from PRCMU and cpufreq drivers. This platform has no current in-kernel users. Signed-off-by: Daniel Willerud <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Add pdata to set mc13783-ts conversion delayMichael Thalmeier1-1/+15
MC13783 can be programmed to wait some clock cycles between the touchscreen polarization and the resistance conversion. This is needed to adjust for touchscreens with high capacitance between plates. Signed-off-by: Michael Thalmeier <[email protected]> Acked-by: Uwe Kleine-König <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-03-06mfd: Add new mfd device for TPS65217AnilKumar Ch1-0/+283
The TPS65217 chip is a power management IC for Portable Navigation Systems and Tablet Computing devices. It contains the following components: - Regulators - White LED - USB battery charger This patch adds support for tps65217 mfd device. At this time only the regulator functionality is made available. Signed-off-by: AnilKumar Ch <[email protected]> Reviwed-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-02-28Merge branch 'irqdomain/next' into gpio/nextGrant Likely1-0/+2
2012-02-22Merge branch 'for_3.4/gpio/runtime-pm-cleanup' of ↵Grant Likely2-10/+7
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into gpio/next
2012-02-21ASoC: wm8994: Support external capacitors on MICBIAS2 with jack detectionMark Brown1-0/+3
When an external capacitor is connected to MICBIAS2 on devices with jack detection (which is not required but may be done in some systems) then the loading may mean that better performance is obtained when the microphone bias is enabled normally rather than using the low power mode. Provide platform data allowing systems to indicate if they require this. Signed-off-by: Mark Brown <[email protected]>
2012-02-18MFD: ucb1x00-core: add wakeup supportRussell King1-0/+4
Add genirq wakeup support for the ucb1x00 device. This allows an attached gpio_keys driver to wakeup the system. Touchscreen is also possible. When there are no wakeup sources, ask the platform to assert the reset signal to avoid any unexpected behaviour; this also puts the reset signal at the right level when power is removed from the device. Acked-by: Jochen Friedrich <[email protected]> Signed-off-by: Russell King <[email protected]>
2012-02-18MFD: ucb1x00: convert to use genirqRussell King1-18/+4
Convert the ucb1x00 driver to use genirq's interrupt services, rather than its own private implementation. This allows a wider range of drivers to use the GPIO interrupts (such as the gpio_keys driver) without being aware of the UCB1x00's private IRQ system. This prevents the UCB1x00 core driver from being built as a module, so adjust the configuration to add that restriction. Acked-by: Jochen Friedrich <[email protected]> Signed-off-by: Russell King <[email protected]>
2012-02-18MFD: mcp-core: remove legacy driver suspend/resume methodsRussell King1-2/+0
The legacy driver suspend/resume methods are no longer used, so get rid of them. Acked-by: Jochen Friedrich <[email protected]> Signed-off-by: Russell King <[email protected]>
2012-02-18MFD: ucb1x00-core: convert to use dev_pm_opsRussell King1-1/+1
Convert the ucb1x00-core driver to use dev_pm_ops rather than the legacy members in the mcp driver. Acked-by: Jochen Friedrich <[email protected]> Signed-off-by: Russell King <[email protected]>
2012-02-18MFD: ucb1x00-core: use mutexes instead of semaphoresRussell King1-2/+2
Convert the ucb1x00 driver to use mutexes rather than the depreciated semaphores for exclusive access to the ADC. Acked-by: Jochen Friedrich <[email protected]> Signed-off-by: Russell King <[email protected]>
2012-02-18MFD: ucb1x00-core: add handling for ucb1x00 resetRussell King1-0/+7
Provide a way to handle the software controlled ucb1x00 reset signal from the ucb1x00-core driver without having to code platform specifics into these drivers. Acked-by: Jochen Friedrich <[email protected]> Signed-off-by: Russell King <[email protected]>
2012-02-18MFD: mcp/ucb1x00: separate ucb1x00 driver data from the MCP dataRussell King2-2/+4
Patch taken from 5dd7bf59e0 (ARM: sa11x0: Implement autoloading of codec and codec pdata for mcp bus.) by Jochen Friedrich <[email protected]>. This adds just the codec data part of the patch. Acked-by: Jochen Friedrich <[email protected]> Signed-off-by: Russell King <[email protected]>
2012-02-05gpio: tps65910: Add sleep control supportLaxman Dewangan1-0/+8
The device tps65910/tps65911 supports the sleep functionality in some of gpios. If gpio is configured in output mode and sleep is enabled then during device sleep state, the output of gpio becomes LOW regardless of non-sleep output value. Such gpio can be used to control regulator switch such that output of regulator is off in device sleep state. Signed-off-by: Laxman Dewangan <[email protected]> Signed-off-by: Grant Likely <[email protected]> Acked-by: Linus Walleij <[email protected]>
2012-02-03mfd: Store twl6040-codec mclk configurationPeter Ujfalusi1-0/+2
Store the last used mclk configuration for the PLL. Signed-off-by: Peter Ujfalusi <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2012-02-03MFD: mcp-sa11x0: remove DMA initializers and variablesRussell King1-6/+0
The dma_device_t variables are only ever written to by mcp-sa11x0 and never read. As the old SA11x0 DMA support will be removed, remove these so that it no longer depends on the old SA11x0 DMA definitions. Acked-by: Jochen Friedrich <[email protected]> Signed-off-by: Russell King <[email protected]>
2012-02-03MFD: mcp-core: sanitize host creation/removalRussell King1-2/+3
host_unregister() gives us no chance between removing the device and the mcp data structure being freed to access the data inbetween, which drivers may need to do if they need to iounmap() pointers in their private data structures. Therefore, re-jig the interfaces, which are now, on creation: mcp = mcp_host_alloc() if (mcp) { ret = mcp_host_add(mcp, data); if (!ret) mcp_host_free(mcp); } and on removal: mcp_host_del(mcp); ... access mcp ... mcp_host_free(mcp); The free does the final put_device() on the struct device as one would expect. Acked-by: Jochen Friedrich <[email protected]> Signed-off-by: Russell King <[email protected]>
2012-01-30regulator: tps65910: Sleep control through external inputsLaxman Dewangan1-0/+8
Add support for sleep controls of different regulator through external inputs EN1, EN2 or EN3. Each regulator's output will be active when its external input is high and turns to OFF/Low power mode when its external input is low. The configuration parameters for sleep control is provided through board specific platform data. Signed-off-by: Laxman Dewangan <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-01-21MFD: mcp-core: fix mcp_priv() to be more type safeRussell King1-1/+4
mcp_priv() does unexpected things when passed a void pointer. Make it a typed inline function, which ensures that it works correctly in these cases. Signed-off-by: Russell King <[email protected]>