From: p.zabel@pengutronix.de (Philipp Zabel)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 0/8] Reset controller API to reset IP modules on i.MX5 and i.MX6
Date: Tue, 26 Feb 2013 12:39:26 +0100 [thread overview]
Message-ID: <1361878774-6382-1-git-send-email-p.zabel@pengutronix.de> (raw)
[Added Len, Pavel, Rafael, and linux-pm to Cc, as there might be some
need for integration with the PM runtime infrastructure?]
The system reset controller (SRC) on i.MX51, i.MX53, and i.MX6q controls
reset lines to the GPU, VPU, IPU, and OpenVG IP modules.
The following patches add a simple API for devices to request being reset
by separate reset controller hardware and implements the reset signal
device tree binding proposed by Stephen Warren. Contrary to Tegra hardware,
the i.MX SRC contains self-deasserting reset registers, so I've included
both ops to manually assert/deassert a reset line, as well as a "reset"
operation that is supposed to assert the reset line and wait for it to
deassert.
Also included is a GPIO reset controller driver that can handle reset
lines of external ICs connected to GPIOs.
The i.MX SRC is enhanced to provide a reset controller and the IPU driver
is made to request being reset by calling the device_reset(&pdev->dev)
convenience wrapper during probing.
I'm not sure how integration with the PM runtime should look like, since
there are quite different use cases for pulling a reset line. (Does the
device need to be reset once, or to be reset every time it comes out of
suspend? Or maybe the reset is just needed when the device gets stuck).
Changes since v3:
- Addressed Stephen's concerns, adding id translation
functionality and the missing devm_put_reset_controller
to the core,
- switched the gpio-reset driver's reset-delays property to
microseconds and added an optional initially-in-reset property,
- and reworked the gpio-reset probe function to better handle
requested GPIOs returning -EPROBE_DEFER.
regards
Philipp
---
.../devicetree/bindings/reset/fsl,imx-src.txt | 49 ++++
.../devicetree/bindings/reset/gpio-reset.txt | 37 +++
Documentation/devicetree/bindings/reset/reset.txt | 75 +++++
.../bindings/staging/imx-drm/fsl-imx-drm.txt | 3 +
arch/arm/boot/dts/imx51.dtsi | 7 +
arch/arm/boot/dts/imx53.dtsi | 7 +
arch/arm/boot/dts/imx6q.dtsi | 1 +
arch/arm/boot/dts/imx6qdl.dtsi | 4 +-
arch/arm/mach-imx/Kconfig | 3 +
arch/arm/mach-imx/mm-imx5.c | 2 +
arch/arm/mach-imx/src.c | 69 ++++-
drivers/Kconfig | 2 +
drivers/Makefile | 3 +
drivers/reset/Kconfig | 26 ++
drivers/reset/Makefile | 2 +
drivers/reset/core.c | 298 ++++++++++++++++++++
drivers/reset/gpio-reset.c | 208 ++++++++++++++
drivers/staging/imx-drm/ipu-v3/ipu-common.c | 12 +-
include/linux/reset-controller.h | 51 ++++
include/linux/reset.h | 17 ++
20 files changed, 871 insertions(+), 5 deletions(-)
next reply other threads:[~2013-02-26 11:39 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-26 11:39 Philipp Zabel [this message]
2013-02-26 11:39 ` [PATCH v4 1/8] dt: describe base reset signal binding Philipp Zabel
2013-02-26 11:39 ` [PATCH v4 2/8] reset: Add reset controller API Philipp Zabel
2013-03-01 20:00 ` Stephen Warren
2013-03-04 8:33 ` Philipp Zabel
2013-03-04 17:03 ` Stephen Warren
2013-02-26 11:39 ` [PATCH v4 3/8] ARM i.MX6q: Add GPU, VPU, IPU, and OpenVG resets to System Reset Controller (SRC) Philipp Zabel
2013-03-01 20:05 ` Stephen Warren
2013-03-01 20:07 ` Stephen Warren
2013-02-26 11:39 ` [PATCH v4 4/8] ARM i.MX6q: Link system reset controller (SRC) to IPU in DT Philipp Zabel
2013-02-26 11:39 ` [PATCH v4 5/8] staging: drm/imx: Use SRC to reset IPU Philipp Zabel
2013-02-26 11:39 ` [PATCH v4 6/8] ARM i.MX5: Add System Reset Controller (SRC) support for i.MX51 and i.MX53 Philipp Zabel
2013-02-26 11:39 ` [PATCH v4 7/8] ARM i.MX5: Add system reset controller (SRC) to i.MX51 and i.MX53 device tree Philipp Zabel
2013-02-26 11:39 ` [PATCH v4 8/8] reset: Add driver for gpio-controlled reset pins Philipp Zabel
2013-03-01 20:13 ` Stephen Warren
2013-05-27 16:25 ` Fabio Estevam
2013-05-28 15:05 ` Philipp Zabel
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=1361878774-6382-1-git-send-email-p.zabel@pengutronix.de \
--to=p.zabel@pengutronix.de \
--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;
as well as URLs for NNTP newsgroup(s).