From: Josh Cartwright <joshc@codeaurora.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org,
Sagar Dharia <sdharia@codeaurora.org>,
Gilad Avidov <gavidov@codeaurora.org>,
Michael Bohan <mbohan@codeaurora.org>
Subject: [PATCH v4 0/6] Add support for the System Power Management Interface (SPMI)
Date: Tue, 14 Jan 2014 12:41:34 -0600 [thread overview]
Message-ID: <cover.1389738151.git.joshc@codeaurora.org> (raw)
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 series SoCs.
- Patch 6 rounds out regmap support for SPMI
Changes from v3[2]:
- Dropped the pm8x41 PMIC driver and pm8xxx-rtc changes as part of this patchset.
I'll be working with Stephen Boyd to see if we can't adapt his pm8xxx
patches[3] to suit the needs of the pm8x41.
- 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.1382985169.git.joshc@codeaurora.org
[3]: http://lkml.kernel.org/r/1389206270-3728-1-git-send-email-sboyd@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 | 46 ++
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 | 802 +++++++++++++++++++++
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, 1953 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
WARNING: multiple messages have this Message-ID (diff)
From: joshc@codeaurora.org (Josh Cartwright)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 0/6] Add support for the System Power Management Interface (SPMI)
Date: Tue, 14 Jan 2014 12:41:34 -0600 [thread overview]
Message-ID: <cover.1389738151.git.joshc@codeaurora.org> (raw)
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 series SoCs.
- Patch 6 rounds out regmap support for SPMI
Changes from v3[2]:
- Dropped the pm8x41 PMIC driver and pm8xxx-rtc changes as part of this patchset.
I'll be working with Stephen Boyd to see if we can't adapt his pm8xxx
patches[3] to suit the needs of the pm8x41.
- 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.1382985169.git.joshc at codeaurora.org
[3]: http://lkml.kernel.org/r/1389206270-3728-1-git-send-email-sboyd at codeaurora.org
[4]: http://lkml.kernel.org/r/cover.1377202730.git.joshc at codeaurora.org
[5]: http://lkml.kernel.org/r/cover.1376596224.git.joshc at 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 | 46 ++
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 | 802 +++++++++++++++++++++
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, 1953 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
next reply other threads:[~2014-01-14 18:41 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-14 18:41 Josh Cartwright [this message]
2014-01-14 18:41 ` [PATCH v4 0/6] Add support for the System Power Management Interface (SPMI) Josh Cartwright
2014-01-14 18:41 ` [PATCH v4 1/6] spmi: Linux driver framework for SPMI Josh Cartwright
2014-01-14 18:41 ` Josh Cartwright
2014-01-14 18:41 ` [PATCH v4 2/6] spmi: add generic SPMI controller binding documentation Josh Cartwright
2014-01-14 18:41 ` Josh Cartwright
2014-01-14 18:41 ` [PATCH v4 3/6] spmi: Add MSM PMIC Arbiter SPMI controller Josh Cartwright
2014-01-14 18:41 ` Josh Cartwright
2014-01-14 18:41 ` [PATCH v4 4/6] spmi: pmic_arb: add support for interrupt handling Josh Cartwright
2014-01-14 18:41 ` Josh Cartwright
2014-01-14 23:44 ` Courtney Cavin
2014-01-14 23:44 ` Courtney Cavin
2014-01-15 17:11 ` Josh Cartwright
2014-01-15 17:11 ` Josh Cartwright
[not found] ` <cover.1389738151.git.joshc-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-01-14 18:41 ` [PATCH v4 5/6] spmi: document the PMIC arbiter SPMI bindings Josh Cartwright
2014-01-14 18:41 ` Josh Cartwright
2014-01-14 18:41 ` Josh Cartwright
2014-01-15 0:13 ` Courtney Cavin
2014-01-15 0:13 ` Courtney Cavin
2014-01-15 16:38 ` Josh Cartwright
2014-01-15 16:38 ` Josh Cartwright
2014-01-14 18:41 ` [PATCH v4 6/6] regmap: spmi: support base and extended register spaces Josh Cartwright
2014-01-14 18:41 ` Josh Cartwright
2014-01-15 11:50 ` Mark Brown
2014-01-15 11:50 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1389738151.git.joshc@codeaurora.org \
--to=joshc@codeaurora.org \
--cc=gavidov@codeaurora.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mbohan@codeaurora.org \
--cc=sdharia@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.