summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* i2c: convert i2c-isch to platform_deviceDenis Turischev2010-03-072-42/+28
| | | | | | | | Convert i2c-isch to platform_device for the lpc mfd core to add it at probe time. Signed-off-by: Denis Turischev <denis@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Use completion interrupt for WM831x AUXADCMark Brown2010-03-072-7/+31
| | | | | | | | | | | | | | Use the completion interrupt generated by the device rather than polling for conversions to complete. As a backup we still check the status of the AUXADC if we don't get a completion, mostly for systems that don't have the WM831x interrupt infrastructure hooked up. Also reduce the timeout for completion of conversions to 5ms from the previous 10ms, the lower timeout should be sufficient. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Use completion interrupt for WM835x AUXADCMark Brown2010-03-072-6/+31
| | | | | | | | | | | Use the completion interrupt generated by the device rather than polling for conversions to complete. As a backup we still check the state of the AUXADC if we don't get a completion, mostly for systems that don't have the WM8350 interrupt infrastructure hooked up. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Introduce remove_script function for twl4030Mike Turquette2010-03-072-0/+51
| | | | | | | | | | | | | New function twl4030_remove_script(u8 flags) takes a script type as defined in twl.h and prevents any script already loaded in that position from running. This is accomplished by programming SEQ_ADD_* to 0x3f, the END_OF_SCRIPT value, where SEQ_ADD_* is determined by flags. (Future) users of this function include OMAP board files for machines facing a race condition between sleep and warm reset. Signed-off-by: Mike Turquette <mturquette@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd/mmc: SDHI Kconfig updateMagnus Damm2010-03-072-2/+2
| | | | | | | | | Enable the sh_mobile_sdhi mfd driver on SH-Mobile ARM processors. While at it, make CONFIG_TMIO_MMC depend on CONFIG_MFD_SH_MOBILE_SDHI. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: sh_mobile_sdhi MMC_CAP_MMC_HIGHSPEED supportMagnus Damm2010-03-071-3/+3
| | | | | | | | Add MMC_CAP_MMC_HIGHSPEED support to the sh_mobile_sdhi driver. Also, remove type cast and FIXME comment. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* gpiolib: Force wm831x GPIOs into GPIO mode when requestedMark Brown2010-03-071-2/+4
| | | | | | | | | This is the chip default but it's possible the bootloader or OTP will have been configured to a different mode (eg, to provide feedback during startup). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add WM831x revision B supportMark Brown2010-03-074-5/+39
| | | | | | | | | | | | | | | Revision B of the WM831x devices changes the sense of the tristate bit for GPIO configuration, inverting it to become an enable instead. Take account of this in the gpiolib driver. A current sink regulation status bit has also been added in revision B, add a flag indicating if it's present but don't use it yet. This revision also adds an interrupt on key up for the ON pin event which the existing code is able to take advantage of. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* gpiolib: Correct debugfs display of WM831x GPIO inversionMark Brown2010-03-071-1/+1
| | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* gpiolib: Actually set output state in wm831x_gpio_direction_output()Mark Brown2010-03-071-7/+15
| | | | | | | | wm831x_gpio_direction_output() ignored the state passed into it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* tmio_mmc: Balance cell enable()/disable() callsMagnus Damm2010-03-071-2/+8
| | | | | | | | This patch adds cell->disable() calls to the tmio-mmc probe() error handling and the remove() function. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* tmio_mmc: Remove const from platform data V3Magnus Damm2010-03-071-1/+1
| | | | | | | | | | Remove const from the tmio-mmc platform data hclk V3. This change makes it possible to remove the type cast from the sh_mobile_sdhi driver which is using the clock framework to get the clock rate. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* tmio_mmc: Use 100ms mmc_detect_change() delayMagnus Damm2010-03-071-1/+1
| | | | | | | | | | | | | | | This patch changes the tmio_mmc driver to wait 100ms before checking the card detect status. This type of delay is quite common among mmc drivers, it seems that most hardware platforms need to give the hardware some time to settle before checking card availabilty. Hotplug is half-broken without this patch on the sh7724 Ecovec board. Hot insertion seems ok but eject is never detected without this patch. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* tmio_mmc: Add MMC_CAP_MMC_HIGHSPEED support V2Yusuke Goda2010-03-072-0/+2
| | | | | | | | | Enable MMC_CAP_XX support in the tmio_mmc driver if pdata->capabilities is set. Signed-off-by: Yusuke Goda <goda.yusuke@renesas.com> Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* tmio_mmc: Keep card-detect interrupts enabledGuennadi Liakhovetski2010-03-071-4/+2
| | | | | | | | | | On SuperH platforms the SDHI controller does not produce any command IRQs after a completed IO. This leads to card-detect interrupts staying disabled. Do not disable card-detect interrupts on DATA IRQs. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add twl6030 base addr for ID0, ID1, ID2Balaji T K2010-03-072-2/+10
| | | | | | | | | Add base address for generic slave ID0, ID1, ID2 and introduced one more entry to align RTC module number between twl4030 and twl6030 Signed-off-by: Balaji T K <balajitk@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Disable TWL4030/5030 I2C1/I2C4 internal pull-upsMoiz Sonasath2010-03-072-0/+28
| | | | | | | | | | | | | | | | | | This patch disables TWL4030/5030 I2C1 adn I2C4(SR) internal pull-up, to use only the external HW resistor >=470 Ohm for the assured functionality in HS mode. While testing the I2C in High Speed mode, it was discovered that without a proper pull-up resistor, there is data corruption during multi-byte transfer. RTC(time_set) test case was used for testing. From the analysis done, it was concluded that ideally we need a pull-up of 1.6k Ohm(recomended) or atleast 470 Ohm or greater for assured performance in HS mode. Signed-off-by: Moiz Sonasath <m-sonasath@ti.com> Signed-off-by: Allen Pais <allen.pais@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Introduce lpc_sch for Intel SCH LPC bridgeDenis Turischev2010-03-073-0/+143
| | | | | | | | | Intel Poulsbo (SCH) chipset LPC bridge controller contains several functions. Creating and MFD driver for the LPC bridge controller allows simultaneous use of SMBus and GPIO interfaces on the SCH. Signed-off-by: Denis Turischev <denis@compulab.co.il> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Check for ACPI conflictsSamuel Ortiz2010-03-071-0/+5
| | | | | | | For ACPI based systems, we should check for ACPI conflicts when adding the platform devices. The test will always succeed for non ACPI platforms. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix twl_has_pwrbutton typoEduardo Valentin2010-03-071-1/+1
| | | | | | | | | Change the typo CONFIG_INPUT_TWL4030_PWBUTTON_MODULE in the twl_has_pwrbutton definition to CONFIG_INPUT_TWL4030_PWRBUTTON_MODULE. Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com> Signed-off-by: Christoph Egger <siccegge@stud.informatik.uni-erlangen.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* input: Support onkey in 88pm860xHaojian Zhuang2010-03-073-0/+166
| | | | | | Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Use genirq in 88pm860xHaojian Zhuang2010-03-073-142/+311
| | | | | | | | | Use genirq to simplify IRQ handling in 88pm860x. Remove the interface of mask/free IRQs on 88pm860x. All these work is taken by genirq. Update the touchscreen driver of 88pm860x since IRQ handling is changed. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix WM8994 error handlingJoonyoung Shim2010-03-071-2/+2
| | | | | | | | | This patch fixes wrong goto statement for error handling on probe. Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Use i2c_dummy in 88pm860xHaojian Zhuang2010-03-071-52/+20
| | | | | | | Use i2c_dummy in 88pm860x driver to avoid using static in probe function. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Clean code in max8925Haojian Zhuang2010-03-071-17/+0
| | | | | | | Remove unused definitions. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* power_supply: Enable power supply of max8925Haojian Zhuang2010-03-073-0/+542
| | | | | | | MAX8925 is a PMIC that contains charger component Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* rtc: Enable rtc in max8925Haojian Zhuang2010-03-073-0/+325
| | | | | | | MAX8925 is a PMIC that contains RTC component. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Update irq handler in max8925Haojian Zhuang2010-03-073-257/+564
| | | | | | | | Update thread irq handler. Simply the interface of using thread irq. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Update i2c driver for max8925Haojian Zhuang2010-03-071-28/+29
| | | | | | | Update I2C driver in order to fit all of three I2C components in max8925. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Program twl4030 remap_sleep correctlyMike Turquette2010-03-071-1/+1
| | | | | | | | Variable remap was incorrectly referencing remap_off for the remap_sleep case when configuring TWL4030 power scripts. Signed-off-by: Mike Turquette <mturquette@ti.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* gpiolib: Add WM8994 GPIO supportMark Brown2010-03-073-0/+212
| | | | | | | The WM8994 has 11 GPIO lines. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add initial WM8994 supportMark Brown2010-03-076-0/+773
| | | | | | | | | | The WM8994 is a highly integrated ultra low power audio hub CODEC. Since it includes on-board regulators and GPIOs it is represented as a multi-function device, though the overwhelming majority of the functionality is provided by the ASoC CODEC driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add WM8994 register definitionsMark Brown2010-03-071-0/+4292
| | | | | | | As a separate patch due to the large size. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: htc-i2cpld depends on GPIOLIBRandy Dunlap2010-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | htc-i2cpld should depend on GPIOLIB, otherwise there are many build errors: drivers/mfd/htc-i2cpld.c:50: error: field 'chip_out' has incomplete type drivers/mfd/htc-i2cpld.c:54: error: field 'chip_in' has incomplete type drivers/mfd/htc-i2cpld.c:243: warning: type defaults to 'int' in declaration of '__mptr' drivers/mfd/htc-i2cpld.c:243: warning: initialization from incompatible pointer type drivers/mfd/htc-i2cpld.c:278: warning: type defaults to 'int' in declaration of '__mptr' drivers/mfd/htc-i2cpld.c:278: warning: initialization from incompatible pointer type drivers/mfd/htc-i2cpld.c:282: warning: type defaults to 'int' in declaration of '__mptr' drivers/mfd/htc-i2cpld.c:282: warning: initialization from incompatible pointer type drivers/mfd/htc-i2cpld.c:315: error: dereferencing pointer to incomplete type drivers/mfd/htc-i2cpld.c:322: warning: type defaults to 'int' in declaration of '__mptr' drivers/mfd/htc-i2cpld.c:322: warning: initialization from incompatible pointer type drivers/mfd/htc-i2cpld.c:467+: error: dereferencing pointer to incomplete type [19X] drivers/mfd/htc-i2cpld.c:490: error: implicit declaration of function 'gpiochip_add' drivers/mfd/htc-i2cpld.c:504: error: implicit declaration of function 'gpiochip_remove' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Remove leftover from discontinued TWL4030 battery patchChristoph Egger2010-03-072-25/+1
| | | | | | | | | | | The TWL4030_BCI_BATTERY config option originates from a patch to the omap git tree. However inclusion in linux was seemingly rejected and the functionality nears inclusion under a different name so this removes the bits of the old version that made it into the mainline kernel again. Signed-off-by: Christoph Egger <siccegge@stud.informatik.uni-erlangen.de> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Fix debugfs code in AB3100 OTP driverLinus Walleij2010-03-071-6/+7
| | | | | | | | | | | | This fixes the aged and unreachable debugfs code in the AB3100 OTP driver so that it's (A) reachable and (B) works. Bug detected in parallell by Christoph Egger using VAMOS and Robert P. J. Day by his kernel scanning script. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Cc: Christoph Egger <siccegge@stud.informatik.uni-erlangen.de> Cc: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Use AB3100 MFD core IRQ for interrupt randomnessLinus Walleij2010-03-072-10/+11
| | | | | | | | | | | | | | | This reintroduces the entropy sampling of the AB3100 IRQ as the IRQF_SAMPLE_RANDOM is going out according to the feature removal schedule. I'm trying to do this the right way then, so CC:ing some random people for a quick review. We add entropy for interrupt events in the AB3100 which are truly random in nature, like external cables being connected, voltages on batteries dropping below certain ranges, ADC triggers or overheating. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Cc: Robin Getz <rgetz@blackfin.uclinux.org> Acked-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add HTCPLD driverCory Maccarrone2010-03-074-0/+744
| | | | | | | | | | | | | | | | | | | | | | This change introduces a driver for the HTC PLD chip found on some smartphones, such as the HTC Wizard and HTC Herald. It works through the I2C bus and acts as a GPIO extender. Specifically: * it can have several sub-devices, each with its own I2C address * Each sub-device provides 8 output and 8 input pins * The chip attaches to one GPIO to signal when any of the input GPIOs change -- at which point all chips must be scanned for changes This driver implements the GPIOs throught the kernel's GPIO and IRQ framework. This allows any GPIO-servicing drivers to operate on htcpld pins, such as the gpio-keys and gpio-leds drivers. Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* regulator: Add max8925 supportHaojian Zhuang2010-03-073-0/+313
| | | | | | | | MAX8925 contains 3 Buck and 20 LDO regulator. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* backlight: Enable max8925 backlightHaojian Zhuang2010-03-073-0/+208
| | | | | | | Enable max8925 backlight sub device. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add subdevs in max8925Haojian Zhuang2010-03-073-0/+239
| | | | | | | | Add subdevs in MAX8925. MAX8925 includes regulator, backlight and touch components. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Initial max8925 supportHaojian Zhuang2010-03-075-0/+602
| | | | | | | | Basic Max8925 support, which is a power management IC from Maxim Semiconductor. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* regulator: Unsupport 88pm8607 A0 and A1Haojian Zhuang2010-03-071-213/+77
| | | | | | | | Remove the support 88PM8607 A0/A1 stepping. There's some register definition changes in B0 stepping. It can make software more efficient. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* input: Enable touch on 88pm860xHaojian Zhuang2010-03-074-0/+255
| | | | | | | | Enable touchscreen driver for the 88pm860x multi function core. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Acked-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* led: Enable led in 88pm860xHaojian Zhuang2010-03-073-0/+333
| | | | | | | | Enable led sub device in Marvell 88PM860x. Two LED arrays can be supported. Each LED array can be used for R,G,B leds. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* backlight: Enable backlight in 88pm860xHaojian Zhuang2010-03-073-0/+311
| | | | | | | At most, three backlight device can be supported in 88pm860x driver. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Append subdev into 88pm860x driverHaojian Zhuang2010-03-072-12/+356
| | | | | | | Append backlight, led & touch subdevs into 88pm860x driver. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Add irq support in 88pm860xHaojian Zhuang2010-03-072-33/+247
| | | | | | | | | | | 88PM860x is a complex PMIC device. It contains touch, charger, sound, rtc, backlight, led, and so on. Host communicates to 88PM860x by I2C bus. Use thread irq to support this usage case. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Rename 88pm8607 to 88pm860x in mfdHaojian Zhuang2010-03-073-12/+13
| | | | | | | Rename 88PM8607 to 88PM860X in both Makefile and Kconfig under mfd directory. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* mfd: Support 88pm8606 in 860x driverHaojian Zhuang2010-03-074-114/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 88PM8606 and 88PM8607 are two discrete chips used for power management. Hardware designer can use them together or only one of them according to requirement. There's some logic tightly linked between these two chips. For example, USB charger driver needs to access both chips by I2C interface. Now share one driver to these two devices. Only one I2C client is identified in platform init data. If another chip is also used, user should mark it in companion_addr field of platform init data. Then driver could create another I2C client for the companion chip. All I2C operations are accessed by 860x-i2c driver. In order to support both I2C client address, the read/write API is changed in below. reg_read(client, offset) reg_write(client, offset, data) The benefit is that client drivers only need one kind of read/write API. I2C and MFD driver can be shared in both 8606 and 8607. Since API is changed, update API in 8607 regulator driver. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
OpenPOWER on IntegriCloud