1. 01 11月, 2017 1 次提交
  2. 13 10月, 2017 4 次提交
  3. 05 9月, 2017 5 次提交
  4. 04 9月, 2017 1 次提交
  5. 21 8月, 2017 1 次提交
  6. 06 7月, 2017 4 次提交
    • K
      mfd: Add LP87565 PMIC support · 1e349600
      Keerthy 提交于
      The LP87565 chip is a power management IC for Portable Navigation Systems
      and Tablet Computing devices. It contains the following components:
      
              - Configurable Bucks(Single and multi-phase).
              - Configurable General Purpose Output Signals (GPO).
      
      The LP87565-Q1 variant device uses two 2-phase outputs configuration,
      Buck0 is master for Buck0/1 output and Buck2 is master for Buck2/3
      output.
      Signed-off-by: NKeerthy <j-keerthy@ti.com>
      Acked-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      1e349600
    • H
      mfd: axp20x-i2c: Document that this must be builtin on x86 · aaac4a2e
      Hans de Goede 提交于
      On x86 the AXP288 PMIC provides an ACPI OpRegion handler, which must be
      available before other drivers using it are loaded, which can only be
      ensured if the MFD, OpRegion and i2c-bus drivers are built-in.
      
      Since the AXP20x MFD code is used on non x86 too we cannot simply change
      this into a bool, I've tried some Kconfig magic with if x86 but I could
      not get this working correctly, so this commit just documents that this
      should be built-in on x86, which fixes errors like these during boot:
      
      mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA
      ACPI Error: No handler for Region [REGS] (ffff93543b0cc3a8) [UserDefinedRegion]
      ACPI Error: Region UserDefinedRegion (ID=143) has no handler (20170119/exfldio-2
      ACPI Error: Method parse/execution failed [\_SB.PCI0.I2C7.PMI5.GET] (Node ffff93
      ACPI Error: Method parse/execution failed [\_SB.PCI0.SHC1._PS0] (Node ffff93543b
      acpi 80860F14:02: Failed to change power state to D0
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Acked-by: NChen-Yu Tsai <wens@csie.org>
      Tested-by: Nrussianneuromancer <russianneuromancer@ya.ru>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      aaac4a2e
    • H
      mfd: Add Cherry Trail Whiskey Cove PMIC driver · de85d79f
      Hans de Goede 提交于
      Add mfd driver for Intel CHT Whiskey Cove PMIC, based on various non
      upstreamed CHT Whiskey Cove PMIC patches.
      
      This is a somewhat minimal version which adds irqchip support and cells
      for: ACPI PMIC opregion support, the i2c-controller driving the external
      charger irc and the pwrsrc/extcon block.
      
      Further cells can be added in the future if/when drivers are upstreamed
      for them.
      
      [The above patch caused a build error on some archetectures]
      
      From: Arnd Bergmann <arnd@arndb.de>
      
      I ran into a build error on ARM with a platform that has a non-standard
      clk implementation:
      
      drivers/clk/clk.o: In function `clk_disable':
      clk.c:(.text.clk_disable+0x0): multiple definition of `clk_disable'
      arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_disable+0x0): first defined here
      drivers/clk/clk.o: In function `clk_enable':
      clk.c:(.text.clk_enable+0x0): multiple definition of `clk_enable'
      arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_enable+0x0): first defined here
      
      The problem is a device driver that uses 'select COMMON_CLK', which is
      generally a bad idea: selecting a subsystem should only be done from
      a platform, otherwise we run into circular dependencies. The same driver
      also selects 'GPIOLIB' and 'I2C', which has a similar effect.
      
      This turns all three into 'depends on', as it should be.
      
      Finally, we can limit the build to x86, unless we are compile testing.
      
      First patch:
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      
      Fix for first patch (squashed):
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      de85d79f
    • H
      mfd: intel_soc_pmic: Select designware i2c-bus driver · acebcff9
      Hans de Goede 提交于
      The Crystal Cove PMIC provides an ACPI OPRegion handler, which must be
      available before other drivers using it are loaded, which is why
      INTEL_SOC_PMIC is a bool.
      
      Just having the driver is not enough, the driver for the i2c-bus must
      also be built in, to ensure this, this patch adds a select for it.
      
      This fixes errors like these during boot:
      
      mmc0: SDHCI controller on ACPI [80860F14:00] using ADMA
      ACPI Error: No handler for Region [REGS] (ffff93543b0cc3a8) [UserDefinedRegion] (20170119/evregion-166)
      ACPI Error: Region UserDefinedRegion (ID=143) has no handler (20170119/exfldio-299)
      ACPI Error: Method parse/execution failed [\_SB.PCI0.I2C7.PMI5.GET] (Node ffff93543b0cde10), AE_NOT_EXIST (20170119/psparse-543)
      ACPI Error: Method parse/execution failed [\_SB.PCI0.SHC1._PS0] (Node ffff93543b0b5cd0), AE_NOT_EXIST (20170119/psparse-543)
      acpi 80860F14:02: Failed to change power state to D0
      
      While at it this patch also changes the human readable name of the Kconfig
      option to make clear the INTEL_SOC_PMIC option selects support for the
      Intel Crystal Cove PMIC and documents why this is a bool.
      
      [The above patch caused a build error on some archetectures]
      
      From: Arnd Bergmann <arnd@arndb.de>
      
      I ran into a build error on ARM with a platform that has a non-standard
      clk implementation:
      
      drivers/clk/clk.o: In function `clk_disable':
      clk.c:(.text.clk_disable+0x0): multiple definition of `clk_disable'
      arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_disable+0x0): first defined here
      drivers/clk/clk.o: In function `clk_enable':
      clk.c:(.text.clk_enable+0x0): multiple definition of `clk_enable'
      arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_enable+0x0): first defined here
      
      The problem is a device driver that uses 'select COMMON_CLK', which is
      generally a bad idea: selecting a subsystem should only be done from
      a platform, otherwise we run into circular dependencies. The same driver
      also selects 'GPIOLIB' and 'I2C', which has a similar effect.
      
      This turns all three into 'depends on', as it should be.
      
      Finally, we can limit the build to x86, unless we are compile testing.
      
      First patch:
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      
      Fix for first patch (squashed):
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      acebcff9
  7. 27 4月, 2017 4 次提交
    • A
      mfd: intel_soc_pmic: Fix a mess with compilation units · b5238b41
      Andy Shevchenko 提交于
      Crystal Cove and Whiskey Cove are two different PMICs which are
      installed on Intel Atom SoC based platforms.
      
      Moreover there are two independent drivers that by some reason were
      supposed (*) to get into one kernel module.
      
      Fix the mess by clarifying Kconfig option for Crystal Cove and split
      Whiskey Cove out of it.
      
      (*) It looks like the configuration was never tested with
          INTEL_SOC_PMIC=n. The line in Makefile is actually wrong.
      
      Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> (supporter:ACPI)
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Acked-by: NZhang Rui <rui.zhang@intel.com>
      Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      b5238b41
    • S
      mfd: Add support for DA9061 · 656211b1
      Steve Twiss 提交于
      MFD support for DA9061 is provided as part of the DA9062 device driver.
      
      The registers header file adds two new chip variant IDs defined in DA9061
      and DA9062 hardware. The core header file adds new software enumerations
      for listing the valid DA9061 IRQs and a da9062_compatible_types enumeration
      for distinguishing between DA9061/62 devices in software.
      
      The core source code adds a new .compatible of_device_id entry. This is
      extended from DA9062 to support both "dlg,da9061" and "dlg,da9062". The
      .data entry now holds a reference to the enumerated device type.
      
      A new regmap_irq_chip model is added for DA9061 and this supports the new
      list of regmap_irq entries. A new mfd_cell da9061_devs[] array lists the
      new sub system components for DA9061. Support is added for a new DA9061
      regmap_config which lists the correct readable, writable and volatile
      ranges for this chip.
      
      The probe function uses the device tree compatible string to switch on the
      da9062_compatible_types and configure the correct mfd cells, irq chip and
      regmap config.
      
      Kconfig is updated to reflect support for DA9061 and DA9062 PMICs.
      Signed-off-by: NSteve Twiss <stwiss.opensource@diasemi.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      656211b1
    • B
      mfd: syscon: atmel-smc: Add new helpers to ease SMC regs manipulation · fe9d7cb2
      Boris Brezillon 提交于
      These new helpers + macro definitions are meant to replace the old ones
      which are unpractical to use.
      
      Note that the macros and function prefixes have been intentionally
      changed to ATMEL_[H]SMC_XX and atmel_[h]smc_ to reflect the fact that
      this IP is also embedded in avr32 SoCs (and not only in at91 ones).
      Signed-off-by: NBoris Brezillon <boris.brezillon@free-electrons.com>
      Acked-by: NNicolas Ferre <nicolas.ferre@microchip.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      fe9d7cb2
    • M
      mfd: Add TI LMU driver · d5aa11bf
      Milo Kim 提交于
      TI LMU (Lighting Management Unit) driver supports lighting devices below.
      
        LM3532, LM3631, LM3632, LM3633, LM3695 and LM3697.
      
      LMU devices have common features.
        - I2C interface for accessing device registers
        - Hardware enable pin control
        - Backlight brightness control
        - Notifier for hardware fault monitoring
        - Regulators for LCD display bias
      
      It contains fault monitor, backlight, LED and regulator driver.
      
      LMU fault monitor
      -----------------
        LM3633 and LM3697 provide hardware monitoring feature.
        It enables open or short circuit detection.
        After monitoring is done, each device should be re-initialized.
        Notifier is used for this case.
        Separate patch for 'ti-lmu-fault-monitor' will be sent later.
      
      Backlight
      ---------
        It's handled by TI LMU backlight consolidated driver and
        chip dependent data. Separate patchset will be sent later.
      
      LED indicator
      -------------
        LM3633 has 6 indicator LEDs. Programmable dimming pattern is also
        supported. Separate patch for 'leds-lm3633' will be sent later.
      
      Regulator
      ---------
        LM3631 has 5 regulators for the display bias.
        LM3632 supports 3 regulators. One consolidated driver enables it.
        The lm363x regulator driver is already upstreamed.
      Signed-off-by: NMilo Kim <milo.kim@ti.com>
      Tested-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      d5aa11bf
  8. 23 3月, 2017 1 次提交
  9. 13 2月, 2017 3 次提交
  10. 23 1月, 2017 1 次提交
    • B
      mfd: Add STM32 Timers driver · d0f949e2
      Benjamin Gaignard 提交于
      This hardware block could at used at same time for PWM generation
      and IIO timers.
      PWM and IIO timer configuration are mixed in the same registers
      so we need a multi fonction driver to be able to share those registers.
      
      version 7:
      - rebase on v4.10-rc2
      
      version 6:
      - rename files to stm32-timers
      - rename functions to stm32_timers_xxx
      
      version 5:
      - fix Lee comments about detect function
      - add missing dependency on REGMAP_MMIO
      
      version 4:
      - add a function to detect Auto Reload Register (ARR) size
      - rename the structure shared with other drivers
      
      version 2:
      - rename driver "stm32-gptimer" to be align with SoC documentation
      - only keep one compatible
      - use of_platform_populate() instead of devm_mfd_add_devices()
      Signed-off-by: NBenjamin Gaignard <benjamin.gaignard@st.com>
      Acked-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      d0f949e2
  11. 29 11月, 2016 6 次提交
  12. 21 11月, 2016 1 次提交
    • L
      mfd: qcom-pm8xxx: Clean up PM8XXX namespace · 40a3a0f2
      Linus Walleij 提交于
      The Kconfig and file naming for the PM8xxx driver is totally
      confusing:
      
      - Kconfig options MFD_PM8XXX and MFD_PM8921_CORE, some in-kernel
        users depending on or selecting either at random.
      - A driver file named pm8921-core.c even if it is indeed
        used by the whole PM8xxx family of chips.
      - An irqchip named pm8xxx since it was (I guess) realized that
        the driver was generic for all pm8xxx PMICs.
      
      As I may want to add support for PM8901 this is starting to get
      really messy. Fix this situation by:
      
      - Remove the MFD_PM8921_CORE symbol and rely solely on MFD_PM8XXX
        and convert all users, including LEDs Kconfig and ARM defconfigs
        for qcom and multi_v7 to use that single symbol.
      - Renaming the driver to qcom-pm8xxx.c to fit along the two
        other qcom* prefixed drivers.
      - Rename functions withing the driver from 8921 to 8xxx to
        indicate it is generic.
      - Just drop the =m config from the pxa_defconfig, I have no clue
        why it is even there, it is not a Qualcomm platform. (Possibly
        older Kconfig noise from saveconfig.)
      
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Reviewed-by: NAndy Gross <andy.gross@linaro.org>
      Acked-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      Acked-by: NJacek Anaszewski <j.anaszewski@samsung.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      40a3a0f2
  13. 04 10月, 2016 4 次提交
  14. 29 9月, 2016 1 次提交
  15. 31 8月, 2016 2 次提交
  16. 08 8月, 2016 1 次提交