From: krzk@kernel.org (Krzysztof Kozlowski)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v11 2/8] power: add power sequence library
Date: Sat, 7 Jan 2017 10:54:56 +0200 [thread overview]
Message-ID: <20170107085456.w5dhm7qadqa6tc7v@kozik-lap> (raw)
In-Reply-To: <1483596119-27508-3-git-send-email-peter.chen@nxp.com>
On Thu, Jan 05, 2017 at 02:01:53PM +0800, Peter Chen wrote:
> We have an well-known problem that the device needs to do some power
> sequence before it can be recognized by related host, the typical
> example like hard-wired mmc devices and usb devices.
>
> This power sequence is hard to be described at device tree and handled by
> related host driver, so we have created a common power sequence
> library to cover this requirement. The core code has supplied
> some common helpers for host driver, and individual power sequence
> libraries handle kinds of power sequence for devices. The pwrseq
> librares always need to allocate extra instance for compatible
> string match.
>
> pwrseq_generic is intended for general purpose of power sequence, which
> handles gpios and clocks currently, and can cover other controls in
> future. The host driver just needs to call of_pwrseq_on/of_pwrseq_off
> if only one power sequence is needed, else call of_pwrseq_on_list
> /of_pwrseq_off_list instead (eg, USB hub driver).
>
> For new power sequence library, it can add its compatible string
> to pwrseq_of_match_table, then the pwrseq core will match it with
> DT's, and choose this library at runtime.
>
> Signed-off-by: Peter Chen <peter.chen@nxp.com>
> Tested-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
> Tested-by Joshua Clayton <stillcompiling@gmail.com>
> Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
> Tested-by: Matthias Kaehlcke <mka@chromium.org>
> ---
> MAINTAINERS | 9 +
> drivers/power/Kconfig | 1 +
> drivers/power/Makefile | 1 +
> drivers/power/pwrseq/Kconfig | 20 ++
> drivers/power/pwrseq/Makefile | 2 +
> drivers/power/pwrseq/core.c | 335 ++++++++++++++++++++++++++++++++++
> drivers/power/pwrseq/pwrseq_generic.c | 224 +++++++++++++++++++++++
> include/linux/power/pwrseq.h | 81 ++++++++
> 8 files changed, 673 insertions(+)
> create mode 100644 drivers/power/pwrseq/Kconfig
> create mode 100644 drivers/power/pwrseq/Makefile
> create mode 100644 drivers/power/pwrseq/core.c
> create mode 100644 drivers/power/pwrseq/pwrseq_generic.c
> create mode 100644 include/linux/power/pwrseq.h
>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Tested on Odroid U3 (reset sequence for LAN9730):
Tested-by: Krzysztof Kozlowski <krzk@kernel.org>
Best regards,
Krzysztof
next prev parent reply other threads:[~2017-01-07 8:54 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-05 6:01 [PATCH v11 0/8] power: add power sequence library Peter Chen
2017-01-05 6:01 ` [PATCH v11 1/8] binding-doc: power: pwrseq-generic: add binding doc for generic " Peter Chen
2017-01-07 8:53 ` Krzysztof Kozlowski
2017-01-05 6:01 ` [PATCH v11 2/8] power: add " Peter Chen
2017-01-07 8:54 ` Krzysztof Kozlowski [this message]
2017-01-10 7:02 ` Peter Chen
2017-01-20 7:52 ` Peter Chen
2017-01-20 10:21 ` Rafael J. Wysocki
2017-01-22 2:14 ` Peter Chen
2017-01-05 6:01 ` [PATCH v11 3/8] binding-doc: usb: usb-device: add optional properties for power sequence Peter Chen
2017-01-07 8:55 ` Krzysztof Kozlowski
2017-01-05 6:01 ` [PATCH v11 4/8] usb: core: add power sequence handling for USB devices Peter Chen
2017-01-07 8:56 ` Krzysztof Kozlowski
2017-01-05 6:01 ` [PATCH v11 5/8] usb: chipidea: let chipidea core device of_node equal's glue layer device of_node Peter Chen
2017-01-05 6:01 ` [PATCH v11 6/8] ARM: dts: imx6qdl: Enable usb node children with <reg> Peter Chen
2017-01-05 6:01 ` [PATCH v11 7/8] ARM: dts: imx6qdl-udoo.dtsi: fix onboard USB HUB property Peter Chen
2017-01-05 6:01 ` [PATCH v11 8/8] ARM: dts: imx6q-evi: Fix onboard hub reset line Peter Chen
2017-01-06 15:18 ` [PATCH v11 0/8] power: add power sequence library Krzysztof Kozlowski
2017-01-06 17:08 ` Krzysztof Kozlowski
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=20170107085456.w5dhm7qadqa6tc7v@kozik-lap \
--to=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox