All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Wolfram Sang <wsa@the-dreams.de>
Cc: linux-i2c@vger.kernel.org, linux-sh@vger.kernel.org,
	Magnus Damm <magnus.damm@gmail.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
	Jan Luebbe <jlu@pengutronix.de>
Subject: Re: [RFC v2 2/4] dt-bindings: i2c: mux: demux-pinctrl: add bindings
Date: Mon, 11 Jan 2016 02:52:00 +0000	[thread overview]
Message-ID: <20160111025200.GA5993@rob-hp-laptop> (raw)
In-Reply-To: <1452088285-6427-3-git-send-email-wsa@the-dreams.de>

On Wed, Jan 06, 2016 at 02:51:23PM +0100, Wolfram Sang wrote:
> From: Wolfram Sang <wsa+renesas@sang-engineering.com>
> 
> These bindings allow an I2C bus to switch between multiple masters. This
> is not hot-swichting because connected I2C slaves will be

s/swichting/switching/

> 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 affetcing your use case.

This seems okay to me. I don't like not having the i2c devices under the 
i2c controller, but not really much we can do about that.

I have another usecase which might end up needing a similar structure 
as this. That is the whole question of how to deal with capes, hats, 
shields and various daughterboards. For I2C devices on a daughterboard, 
we need to be able to have a DT overlay for the daughterboard described 
in terms of the connector(s) and independent of the host. Then the 
base DT needs to define the mapping from the connector to the host 
controller. A complicating factor would be having devices on the same 
bus but split across the main and daughter boards. I don't see anything 
specific to change here, but just want to throw that out.

[...]

> +
> +Changing I2C controllers:
> +
> +The created mux-device will have a file "cur_master" in its sysfs-entry. Write
> +0 there for the first master listed in the "i2c-parent" property, 1 for the
> +second etc. Reading the file will give you a list with the active master
> +marked. Example from a Renesas Lager board:

This is Linux specific and should not be in the binding. You also need 
sysfs docs for these sysfs files.

Rob

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Wolfram Sang <wsa@the-dreams.de>
Cc: linux-i2c@vger.kernel.org, linux-sh@vger.kernel.org,
	Magnus Damm <magnus.damm@gmail.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
	Jan Luebbe <jlu@pengutronix.de>
Subject: Re: [RFC v2 2/4] dt-bindings: i2c: mux: demux-pinctrl: add bindings
Date: Sun, 10 Jan 2016 20:52:00 -0600	[thread overview]
Message-ID: <20160111025200.GA5993@rob-hp-laptop> (raw)
In-Reply-To: <1452088285-6427-3-git-send-email-wsa@the-dreams.de>

On Wed, Jan 06, 2016 at 02:51:23PM +0100, Wolfram Sang wrote:
> From: Wolfram Sang <wsa+renesas@sang-engineering.com>
> 
> These bindings allow an I2C bus to switch between multiple masters. This
> is not hot-swichting because connected I2C slaves will be

s/swichting/switching/

> 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 affetcing your use case.

This seems okay to me. I don't like not having the i2c devices under the 
i2c controller, but not really much we can do about that.

I have another usecase which might end up needing a similar structure 
as this. That is the whole question of how to deal with capes, hats, 
shields and various daughterboards. For I2C devices on a daughterboard, 
we need to be able to have a DT overlay for the daughterboard described 
in terms of the connector(s) and independent of the host. Then the 
base DT needs to define the mapping from the connector to the host 
controller. A complicating factor would be having devices on the same 
bus but split across the main and daughter boards. I don't see anything 
specific to change here, but just want to throw that out.

[...]

> +
> +Changing I2C controllers:
> +
> +The created mux-device will have a file "cur_master" in its sysfs-entry. Write
> +0 there for the first master listed in the "i2c-parent" property, 1 for the
> +second etc. Reading the file will give you a list with the active master
> +marked. Example from a Renesas Lager board:

This is Linux specific and should not be in the binding. You also need 
sysfs docs for these sysfs files.

Rob

  parent reply	other threads:[~2016-01-11  2:52 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-06 13:51 [RFC v2 0/4] i2c/of: switch I2C IP cores at runtime via OF_DYNAMIC Wolfram Sang
2016-01-06 13:51 ` Wolfram Sang
2016-01-06 13:51 ` [RFC v2 1/4] of: make of_mutex public Wolfram Sang
2016-01-06 13:51   ` Wolfram Sang
2016-01-06 14:26   ` Geert Uytterhoeven
2016-01-06 14:26     ` Geert Uytterhoeven
2016-01-06 13:51 ` [RFC v2 2/4] dt-bindings: i2c: mux: demux-pinctrl: add bindings Wolfram Sang
2016-01-06 13:51   ` Wolfram Sang
2016-01-06 14:30   ` Geert Uytterhoeven
2016-01-06 14:30     ` Geert Uytterhoeven
2016-01-13 12:52     ` Wolfram Sang
2016-01-13 12:52       ` Wolfram Sang
2016-01-13 14:07       ` Sergei Shtylyov
2016-01-13 14:07         ` Sergei Shtylyov
2016-01-07 16:56   ` Jan Lübbe
2016-01-07 16:56     ` Jan Lübbe
2016-01-13 13:02     ` Wolfram Sang
2016-01-13 13:02       ` Wolfram Sang
2016-01-11  2:52   ` Rob Herring [this message]
2016-01-11  2:52     ` Rob Herring
2016-01-11  8:01     ` Geert Uytterhoeven
2016-01-11  8:01       ` Geert Uytterhoeven
2016-01-06 13:51 ` [RFC v2 3/4] i2c: mux: demux-pinctrl: add driver Wolfram Sang
2016-01-06 13:51   ` Wolfram Sang
     [not found]   ` <1452088285-6427-4-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2016-01-06 14:20     ` Geert Uytterhoeven
2016-01-06 14:20       ` Geert Uytterhoeven
2016-01-06 14:20       ` Geert Uytterhoeven
2016-01-13 12:55       ` Wolfram Sang
2016-01-13 12:55         ` Wolfram Sang
2016-01-13 16:16         ` Geert Uytterhoeven
2016-01-13 16:16           ` Geert Uytterhoeven
2016-01-13 16:16           ` Geert Uytterhoeven
2016-01-06 17:08   ` Rob Herring
2016-01-06 17:08     ` Rob Herring
2016-01-13 12:55     ` Wolfram Sang
2016-01-13 12:55       ` Wolfram Sang
2016-01-06 13:51 ` [RFC v2 4/4] ARM: shmobile: r8a7790: rework dts to use i2c demuxer Wolfram Sang
2016-01-06 13:51   ` 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=20160111025200.GA5993@rob-hp-laptop \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jlu@pengutronix.de \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    --cc=pantelis.antoniou@konsulko.com \
    --cc=wsa@the-dreams.de \
    /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.