linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/6] Add support for the System Power Management Interface (SPMI)
@ 2014-02-03 23:05 Josh Cartwright
  2014-02-03 23:05 ` [PATCH v5 1/6] spmi: Linux driver framework for SPMI Josh Cartwright
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Josh Cartwright @ 2014-02-03 23:05 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-kernel
  Cc: linux-arm-kernel, linux-arm-msm, Sagar Dharia, Gilad Avidov,
	Michael Bohan

The System Power Management Interface (SPMI) is a high-speed,
low-latency, bi-directional, two-wire serial bus suitable for real-time
control of voltage and frequency scaled multi-core application
processors and its power management of auxiliary components. SPMI
obsoletes a number of legacy, custom point-to-point interfaces and
provides a low pin count, high-speed control bus for up to 4 Master and
16 Slave devices.

SPMI is specified by the MIPI (Mobile Industry Process Interface)
Alliance [1].

This patchset is intended both to provide a core implementation of SPMI and
also to provide a controller driver implementation.
  - Patches 1-2 implement the SPMI core functionality and provide basic
    DT binding documentation
  - Patches 3-5 provide an implementation of an SPMI controller, the
    Qualcomm SPMI PMIC Arbiter, currently used on the 8x74 SoCs.
  - Patch 6 rounds out regmap support for SPMI

Changes from v4[2]:
  - Fixed a few minor error-handling bugs found with further testing
  - Addressed Courtney Cavin's feedback regarding device tree bindings
  - Reworked Kconfig options a bit (allow for building PMIC arb when COMPILE_TEST=y)

Changes from v3[3]:
  - Dropped the pm8x41 PMIC driver and pm8xxx-rtc changes as part of this patchset.
     (will be sent out separately)
  - Rebased on v3.13-rc2
  - Move to simple_ida_* for controller ID allocation
  - Addressed documentation fixes and nits
  - Provide pm_runtime implementation, which leverages SPMI's SLEEP and WAKEUP
    commands
  - Address spmi_controller object lifetime issues

Changes from v2[4]:
  - Dropped RFC.
  - Add basic regmap support at Mark Brown's suggestion
  - Drop debugfs interface.  Debugging SPMI accesses can happen via the regmap
    debugfs interface if necessary.
  - Add second address-cell in SPMI generic device tree binding, encoding the
    address type (suggestion by Stephen Warren)
  - Implement interrupt handling functionality within the PMIC Arbiter driver
  - Provide basic MFD driver for the PMIC8x41 PMICs, demonstrating SPMI regmap
    client use
  - Adapt existing pm8xxx-rtc driver to work as a child of the PM8x41 mfd device

Changes from v1[5]:
  - Adopted patch (1/5) to #define for_each_available_node() shim
    in the !CONFIG_OF case
  - Moved device tree logic out of drivers/of and into spmi.c core (this
    mirrors what SPI is doing, and what i2c will soon be doing)
  - Move of_spmi_add_devices() call into spmi_device_add(), so drivers don't
    have to call it explicitly
  - Unconditionally build in debugfs code (rely on the underlying
    CONFIG_DEBUG_FS switch to throw unused code away)
  - Change pr_* print functions to their dev_* equivalents
  - Fix copy_{to,from}_user error handling
  - Renamed "board_lock" to "ctrl_idr_lock" to better describe it's purpose
  - Rework device object lifetime management
  - Rename PMIC arb binding document, add description of PMIC arb
  - Add generic SPMI device tree bindings

[1]: http://www.mipi.org/specifications/system-power-management-interface
[2]: http://lkml.kernel.org/r/cover.1389738151.git.joshc@codeaurora.org
[3]: http://lkml.kernel.org/r/cover.1382985169.git.joshc@codeaurora.org
[4]: http://lkml.kernel.org/r/cover.1377202730.git.joshc@codeaurora.org
[5]: http://lkml.kernel.org/r/cover.1376596224.git.joshc@codeaurora.org

Josh Cartwright (4):
  spmi: add generic SPMI controller binding documentation
  spmi: pmic_arb: add support for interrupt handling
  spmi: document the PMIC arbiter SPMI bindings
  regmap: spmi: support base and extended register spaces

Kenneth Heitke (2):
  spmi: Linux driver framework for SPMI
  spmi: Add MSM PMIC Arbiter SPMI controller

 .../bindings/spmi/qcom,spmi-pmic-arb.txt           |  60 ++
 Documentation/devicetree/bindings/spmi/spmi.txt    |  41 ++
 drivers/Kconfig                                    |   2 +
 drivers/Makefile                                   |   1 +
 drivers/base/regmap/regmap-spmi.c                  | 228 +++++-
 drivers/spmi/Kconfig                               |  24 +
 drivers/spmi/Makefile                              |   6 +
 drivers/spmi/spmi-pmic-arb.c                       | 778 +++++++++++++++++++++
 drivers/spmi/spmi.c                                | 609 ++++++++++++++++
 include/dt-bindings/spmi/spmi.h                    |  18 +
 include/linux/mod_devicetable.h                    |   8 +
 include/linux/regmap.h                             |  12 +-
 include/linux/spmi.h                               | 191 +++++
 13 files changed, 1943 insertions(+), 35 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
 create mode 100644 Documentation/devicetree/bindings/spmi/spmi.txt
 create mode 100644 drivers/spmi/Kconfig
 create mode 100644 drivers/spmi/Makefile
 create mode 100644 drivers/spmi/spmi-pmic-arb.c
 create mode 100644 drivers/spmi/spmi.c
 create mode 100644 include/dt-bindings/spmi/spmi.h
 create mode 100644 include/linux/spmi.h

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-02-18 18:58 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-03 23:05 [PATCH v5 0/6] Add support for the System Power Management Interface (SPMI) Josh Cartwright
2014-02-03 23:05 ` [PATCH v5 1/6] spmi: Linux driver framework for SPMI Josh Cartwright
2014-02-15 19:23   ` Greg Kroah-Hartman
2014-02-15 23:47   ` Felipe Balbi
2014-02-18 18:56     ` Josh Cartwright
2014-02-03 23:05 ` [PATCH v5 2/6] spmi: add generic SPMI controller binding documentation Josh Cartwright
2014-02-03 23:05 ` [PATCH v5 3/6] spmi: Add MSM PMIC Arbiter SPMI controller Josh Cartwright
2014-02-03 23:05 ` [PATCH v5 4/6] spmi: pmic_arb: add support for interrupt handling Josh Cartwright
2014-02-04 20:10   ` Thomas Gleixner
2014-02-04 20:57     ` Josh Cartwright
2014-02-03 23:05 ` [PATCH v5 5/6] spmi: document the PMIC arbiter SPMI bindings Josh Cartwright
2014-02-03 23:05 ` [PATCH v5 6/6] regmap: spmi: support base and extended register spaces Josh Cartwright

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).