From: wsa@the-dreams.de (Wolfram Sang)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 0/3] switch I2C IP cores at runtime
Date: Tue, 30 Jun 2015 23:44:08 +0200 [thread overview]
Message-ID: <1435700651-3543-1-git-send-email-wsa@the-dreams.de> (raw)
This series allows an I2C bus to switch between multiple masters. This is not
hot-switching because connected I2C slaves will be re-instantiated. It is meant
to select the best I2C core at runtime once the task is known. Example: Prefer
i2c-gpio over another I2C core because of HW errata affecting your use case.
It works by using OF_DYNAMIC and en-/disabling the devices as needed. See patch
2 for the implementation and more documentation.
Changes since alpha v2 (only sent to sh-devel):
* don't use the i2c-mux infrastructure but create own adapter
This makes the DT binding proper. Otherwise, they were nested
another level deeper only for a useless reg = <0>;
It makes the approach also less I2C specific.
* the bus can now be named
I like this and consider moving this out of this series and
implement it in the i2c-core.
* pinctrl states to be used are now named as the bus
"active" was just a too random name IMO.
* bugfixes (removed two OOPSes)
* more error checking
* beautified the sysfs-readout to make distinction of adapters
easier
So, this not only a brush up since the last version, rather a new revision.
I couldn't send this to the public with these obvious points left open :)
PS: Since these patches depend on two others, I pushed out a branch here:
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/ip-core-switch-v2-on-4.1-experimental
Wolfram Sang (3):
of: make of_mutex public
i2c: mux: demux-pinctrl: add driver
ARM: shmobile: r8a7790: rework dts to use i2c demuxer
.../devicetree/bindings/i2c/i2c-demux-pinctrl.txt | 44 ++++
arch/arm/boot/dts/r8a7790-lager.dts | 141 +++++++----
drivers/i2c/muxes/Kconfig | 9 +
drivers/i2c/muxes/Makefile | 2 +
drivers/i2c/muxes/i2c-demux-pinctrl.c | 266 +++++++++++++++++++++
drivers/of/of_private.h | 1 -
include/linux/of.h | 2 +
7 files changed, 411 insertions(+), 54 deletions(-)
create mode 100644 Documentation/devicetree/bindings/i2c/i2c-demux-pinctrl.txt
create mode 100644 drivers/i2c/muxes/i2c-demux-pinctrl.c
--
2.1.4
next reply other threads:[~2015-06-30 21:44 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-30 21:44 Wolfram Sang [this message]
2015-06-30 21:44 ` [RFC 1/3] of: make of_mutex public Wolfram Sang
2015-07-03 4:43 ` Rob Herring
2015-07-03 6:54 ` Pantelis Antoniou
2015-07-03 7:24 ` Wolfram Sang
2015-06-30 21:44 ` [RFC 2/3] i2c: mux: demux-pinctrl: add driver Wolfram Sang
2015-07-01 7:08 ` Geert Uytterhoeven
2015-07-01 10:07 ` Wolfram Sang
2015-06-30 21:44 ` [RFC 3/3] ARM: shmobile: r8a7790: rework dts to use i2c demuxer Wolfram Sang
2015-07-01 7:10 ` Geert Uytterhoeven
2015-07-01 10:08 ` Wolfram Sang
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=1435700651-3543-1-git-send-email-wsa@the-dreams.de \
--to=wsa@the-dreams.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).