1. 07 Sep, 2021 2 commits
  2. 06 Sep, 2021 1 commit
  3. 16 Aug, 2021 13 commits
  4. 09 Aug, 2021 1 commit
  5. 05 Aug, 2021 3 commits
    • Linus Walleij's avatar
      mfd: db8500-prcmu: Rename register header · 8f00b3c4
      Linus Walleij authored
      Drop the ambition to support dbx500, the other SoCs in this series
      were never deleted and the support for them has been deleted.
      DB8500 is what we support.
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      8f00b3c4
    • Hans de Goede's avatar
      mfd: axp20x: Add supplied-from property to axp288_fuel_gauge cell · 32679a7a
      Hans de Goede authored
      The power-supply framework has the notion of one power-supply device
      being supplied by another. A typical example of this is a charger
      charging a battery.
      
      A tablet getting plugged in to charge (or plugged out) only results in
      events seen by the axp288_charger device / MFD cell. Which means that
      a change udev-event only gets send for the charger power-supply class
      device, not for the battery (the axp288_fuel_gauge device).
      
      The axp288_fuel_gauge does have an external_power_change'd callback
      which will generate a change udev-event when called. But before this
      commit this never got called because the power-supply core only calls
      this when a power-supply class device's supplier changes and the
      supplier link from axp288_charger to axp288_fuel_gauge was missing.
      
      Add a "supplied-from" property to axp288_fuel_gauge cell, pointing
      to the "axp288_charger" power-supply class device, so that the
      axp288_fuel_gauge's external_power_change'd callback gets called on
      axp288_charger state changes.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Reviewed-by: default avatarChen-Yu Tsai <wens@csie.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      32679a7a
    • Marc Zyngier's avatar
      mfd: Don't use irq_create_mapping() to resolve a mapping · 9ff80e2d
      Marc Zyngier authored
      Although irq_create_mapping() is able to deal with duplicate
      mappings, it really isn't supposed to be a substitute for
      irq_find_mapping(), and can result in allocations that take place
      in atomic context if the mapping didn't exist.
      
      Fix the handful of MFD drivers that use irq_create_mapping() in
      interrupt context by using irq_find_mapping() instead.
      
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
      Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      9ff80e2d
  6. 03 Aug, 2021 1 commit
  7. 02 Aug, 2021 2 commits
  8. 20 Jul, 2021 2 commits
  9. 16 Jul, 2021 3 commits
    • Fei Shao's avatar
      mfd: mt6360: Sort regulator resources · 84742a98
      Fei Shao authored
      Reorder the regulator resources.
      Signed-off-by: default avatarFei Shao <fshao@chromium.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      84742a98
    • Martin Hundebøll's avatar
      mfd: intel-m10-bmc: Add N5010 variant · f4ab169e
      Martin Hundebøll authored
      The m10-bmc is used on the Silicom N5010 PAC too, so add it to list of
      m10bmc types.
      Signed-off-by: default avatarMartin Hundebøll <mhu@silicom.dk>
      Acked-by: default avatarMoritz Fischer <mdf@kernel.org>
      Reviewed-by: default avatarXu Yilun <yilun.xu@intel.com>
      Reviewed-by: default avatarMatthew Gerlach <matthew.gerlach@linux.intel.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      f4ab169e
    • Hans de Goede's avatar
      mfd: axp20x: Update AXP288 volatile ranges · f949a9eb
      Hans de Goede authored
      On Cherry Trail devices with an AXP288 PMIC the external SD-card slot
      used the AXP's DLDO2 as card-voltage and either DLDO3 or GPIO1LDO
      (GPIO1 pin in low noise LDO mode) as signal-voltage.
      
      These regulators are turned on/off and in case of the signal-voltage
      also have their output-voltage changed by the _PS0 and _PS3 power-
      management ACPI methods on the MMC-controllers ACPI fwnode as well as
      by the _DSM ACPI method for changing the signal voltage.
      
      The AML code implementing these methods is directly accessing the
      PMIC through ACPI I2C OpRegion accesses, instead of using the special
      PMIC OpRegion handled by drivers/acpi/pmic/intel_pmic_xpower.c .
      
      This means that the contents of the involved PMIC registers can change
      without the change being made through the regmap interface, so regmap
      should not cache the contents of these registers.
      
      Mark the regulator power on/off, the regulator voltage control and the
      GPIO1 control registers as volatile, to avoid regmap caching them.
      
      Specifically this fixes an issue on some models where the i915 driver
      toggles another LDO using the same on/off register on/off through
      MIPI sequences (through intel_soc_pmic_exec_mipi_pmic_seq_element())
      which then writes back a cached on/off register-value where the
      card-voltage is off causing the external sdcard slot to stop working
      when the screen goes blank, or comes back on again.
      
      The regulator register-range now marked volatile also includes the
      buck regulator control registers. This is done on purpose these are
      normally not touched by the AML code, but they are updated directly
      by the SoC's PUNIT which means that they may also change without going
      through regmap.
      
      Note the AXP288 PMIC is only used on Bay- and Cherry-Trail platforms,
      so even though this is an ACPI specific problem there is no need to
      make the new volatile ranges conditional since these platforms always
      use ACPI.
      
      Fixes: dc91c3b6 ("mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile")
      Fixes: cd532166 ("mfd: axp20x: Fix axp288 volatile ranges")
      Reported-and-tested-by: default avatarClamshell <clamfly@163.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Reviewed-by: default avatarChen-Yu Tsai <wens@csie.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      f949a9eb
  10. 15 Jul, 2021 2 commits
  11. 13 Jul, 2021 1 commit
  12. 11 Jul, 2021 9 commits