From: Mauro Carvalho Chehab <mchehab@kernel.org>
To: Wolfram Sang <wsa@the-dreams.de>
Cc: Kieran Bingham <kieran.bingham@ideasonboard.com>,
"Daniel W. S. Almeida" <dwlsalmeida@gmail.com>,
sean@mess.org, Shuah Khan <skhan@linuxfoundation.org>,
"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
linux-media@vger.kernel.org
Subject: Re: A bit confused on i2c communication between modules
Date: Tue, 24 Mar 2020 12:30:33 +0100 [thread overview]
Message-ID: <20200324123033.5538c38d@coco.lan> (raw)
In-Reply-To: <20200324110122.GG1134@ninjato>
Em Tue, 24 Mar 2020 12:01:22 +0100
Wolfram Sang <wsa@the-dreams.de> escreveu:
> On Tue, Mar 24, 2020 at 10:49:55AM +0000, Kieran Bingham wrote:
> > +cc: linux-i2c@vger.kernel.org
> > Moving /this/ to the linux-i2c list ;-)
> >
> > Thanks Wolfram,
> >
> > On 24/03/2020 10:27, Wolfram Sang wrote:
> > >
> > >> Maybe we should have a whole virtual I2C bus for virtual devices :-)
> > >>
> > >> (Hrm, that started out as a joke, and now I'm not sure if it's a real
> > >> option or not...)
> > >
> > > Just one final thought: I think this is actually the best option. Zero
> > > chance of address collisions (which could happen if you have a not
> > > perfectly-described real HW bus). No RPM mangling of real and virtual
> > > devices. A clear seperation what is real and what is virtual. Plus, you
> > > can implement it right away, no need to wait for the dynamic address
> > > assignment.
> >
> > Agreed - even better all round! But I presume we don't yet have a
> > 'virtual' i2c bus? So it's a patch-set to do first? Or is it already
> > feasible?
>
> From what I understand, you won't need an API for that. What I
> understand:
>
> There will be a master device (a DVB or something). This will register
> its own i2c_adapter with a dummy .xfer callback. The sub-devices will be
> i2c_clients, then.
Yes. That's what the current drivers that have integrated hardware
at the same silicon (like rtl28xx) do: their .xfer callback splits the
I2C addresses reserved for "internal" devices, and use a different set
of registers to handle those, instead of the normal ones used to
communicate with a real I2C hardware.
The cx231xx uses a different strategy: it has multiple I2C buses, being
one of them reserved for its own integrated I2C like bus.
> I don't know how you want communication between
> those. Maybe the .xfer callback will need to do some message parsing?
>
Thanks,
Mauro
next prev parent reply other threads:[~2020-03-24 11:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <55204992-9060-6008-31c7-c2855f712e70@gmail.com>
[not found] ` <20200324082236.2c4d2ae4@coco.lan>
[not found] ` <bc91be3d-802c-a58c-bd27-740e15516180@ideasonboard.com>
[not found] ` <20200324095810.GC1134@ninjato>
[not found] ` <63742e62-d0b6-9d7a-b491-d7969f8ea7e2@ideasonboard.com>
[not found] ` <20200324102704.GD1134@ninjato>
2020-03-24 10:49 ` A bit confused on i2c communication between modules Kieran Bingham
2020-03-24 11:01 ` Wolfram Sang
2020-03-24 11:30 ` Mauro Carvalho Chehab [this message]
2020-03-24 11:22 ` Mauro Carvalho Chehab
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=20200324123033.5538c38d@coco.lan \
--to=mchehab@kernel.org \
--cc=dwlsalmeida@gmail.com \
--cc=kieran.bingham@ideasonboard.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=sean@mess.org \
--cc=skhan@linuxfoundation.org \
--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 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).