qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Corey Minyard <cminyard@mvista.com>
To: Patrick Venture <venture@google.com>
Cc: wuhaotsh@google.com, qemu-arm@nongnu.org, hskinnemoen@google.com,
	qemu-devel@nongnu.org
Subject: Re: [PATCH 0/2] hw/i2c: Adds pca954x i2c mux switch device
Date: Mon, 5 Apr 2021 14:58:34 -0500	[thread overview]
Message-ID: <20210405195834.GF7167@minyard.net> (raw)
In-Reply-To: <20210403222810.3481372-1-venture@google.com>

On Sat, Apr 03, 2021 at 03:28:08PM -0700, Patrick Venture wrote:
> The i2c mux device pca954x implements two devices:
>  - the pca9546 and pca9548.
> 
> Patrick Venture (2):
>   hw/i2c/core: add reachable state boolean
>   hw/i2c: add pca954x i2c-mux switch

Looking this over, the code looks good, but I have a few general
questions:

* Can you register the same slave address on different channels?  That's
  something you could do with real hardware and might be required at
  some time.  It looks like to me that you can't with this patch set,
  but maybe I'm missing something.

* Can you add devices to the secondary I2C busses on the mux using the
  standard QEMU device model, or is the function call required?

I ask because I did a pca9540 and pca9541 device, but I've never
submitted it because I didn't think it would ever be needed.  It takes a
different tack on the problem; it creates the secondary busses as
standard QEMU I2C busses and bridges them.  You can see it at

   github.com:cminyard/qemu.git master-i2c-rebase

If you design can do the things I ask, then it's better.  If not, then
I'm not sure.

-corey

> 
>  MAINTAINERS                      |   6 +
>  hw/i2c/Kconfig                   |   4 +
>  hw/i2c/core.c                    |   6 +
>  hw/i2c/i2c_mux_pca954x.c         | 182 +++++++++++++++++++++++++++++++
>  hw/i2c/meson.build               |   1 +
>  hw/i2c/trace-events              |   5 +
>  include/hw/i2c/i2c.h             |   3 +
>  include/hw/i2c/i2c_mux_pca954x.h |  60 ++++++++++
>  8 files changed, 267 insertions(+)
>  create mode 100644 hw/i2c/i2c_mux_pca954x.c
>  create mode 100644 include/hw/i2c/i2c_mux_pca954x.h
> 
> -- 
> 2.31.0.208.g409f899ff0-goog
> 


  parent reply	other threads:[~2021-04-05 19:59 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-03 22:28 [PATCH 0/2] hw/i2c: Adds pca954x i2c mux switch device Patrick Venture
2021-04-03 22:28 ` [PATCH 1/2] hw/i2c/core: add reachable state boolean Patrick Venture
2021-04-03 22:28 ` [PATCH 2/2] hw/i2c: add pca954x i2c-mux switch Patrick Venture
2021-04-05 19:58 ` Corey Minyard [this message]
2021-04-06 15:41   ` [PATCH 0/2] hw/i2c: Adds pca954x i2c mux switch device Patrick Venture
2021-04-06 15:55     ` Patrick Venture
2021-04-06 18:36       ` Corey Minyard
2021-04-06 22:21         ` Patrick Venture
2021-04-06 23:39           ` Corey Minyard
2021-04-07 23:25             ` Patrick Venture
2021-04-06 16:47     ` Corey Minyard

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=20210405195834.GF7167@minyard.net \
    --to=cminyard@mvista.com \
    --cc=hskinnemoen@google.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=venture@google.com \
    --cc=wuhaotsh@google.com \
    /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).