linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).