From: Igor Mitsyanko <i.mitsyanko@samsung.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: e.voevodin@samsung.com, qemu-devel@nongnu.org,
kyungmin.park@samsung.com, d.solodkiy@samsung.com,
m.kozlov@samsung.com, afaerber@suse.de
Subject: Re: [Qemu-devel] [PATCH V2 1/3] exynos4210: add Exynos4210 i2c implementation
Date: Wed, 21 Mar 2012 18:18:54 +0400 [thread overview]
Message-ID: <4F69E34E.1020300@samsung.com> (raw)
In-Reply-To: <CAFEAcA80C=72iU-1E1gA=UJNsV-+JjzC3QE6F7sgsCofq1XEVQ@mail.gmail.com>
On 03/21/2012 05:09 PM, Peter Maydell wrote:
> On 21 March 2012 13:07, Igor Mitsyanko<i.mitsyanko@samsung.com> wrote:
>> On 03/21/2012 03:55 PM, Peter Maydell wrote:
>>> I suspect that what's happening here is that the hardware
>>> lets you put the i2c controller into slave mode so some
>>> other device on the bus can be a master. But QEMU's
>>> i2c bus abstraction doesn't cover that use case at all...
>
>> Yes, I saw this statement in hw/i2c.h (and probably cpu i2c controller will
>> never be used as i2c slave device by anyone), but I think we still have to
>> implement devices exactly like they described in documentation.
>
> I agree with the sentiment, I'm just not sure if the code you've
> written is actually doing that. The right way to model this would
> be if our i2c bus implementation provided an interface so you
> could register as a device which is a master but can switch into
> slave mode.
I don't think we can do that without multiple inheritance, and it
wouldn't worth an effort for a feature that never going to be used.
Failing that, maybe we should just not support switching
> into slave mode at all.
Do you mean we shouldn't register EXYNOS4_I2C_SLAVE at all so some
hypothetical bus master wouldn't even find EXYNOS4_I2C_SLAVE on a bus?
Maybe the best solution is to make exynos4210_i2c_slave_send() and
exynos4210_i2c_slave_recv() always return -1, so a hypothetical bus
master will treat EXYNOS4_I2C_SLAVE as a broken device. But that seems
to behave exactly like "not register at all" approach..
And are we really sure that slave interface wouldn't work correctly in a
current implementation? For example, emulated Exynos CPU issues some
command to a device A on SPI line and device A in turn issues data on
i2c line connected to Exynos i2c controller configured as slave.
EXYNOS4_I2C_SLAVE receives a data and raises interrupt flag.
Registering as two separate devices on the
> i2c bus doesn't sound right to me.
>
Why? That's how it's done in hardware, I think we can roughly consider
it to be two separate devices multiplexing single bus.
--
Mitsyanko Igor
ASWG, Moscow R&D center, Samsung Electronics
email: i.mitsyanko@samsung.com
next prev parent reply other threads:[~2012-03-21 14:19 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-15 7:35 [Qemu-devel] [PATCH V2 0/3] Exynos: i2c, gpio and touchscreen support for NURI board Igor Mitsyanko
2012-03-15 7:35 ` [Qemu-devel] [PATCH V2 1/3] exynos4210: add Exynos4210 i2c implementation Igor Mitsyanko
2012-03-15 10:35 ` Andreas Färber
2012-03-21 11:55 ` Peter Maydell
2012-03-21 13:07 ` Igor Mitsyanko
2012-03-21 13:09 ` Peter Maydell
2012-03-21 14:18 ` Igor Mitsyanko [this message]
2012-03-21 14:24 ` Peter Maydell
2012-04-03 13:54 ` Dmitry Zhurikhin
2012-04-03 14:54 ` Igor Mitsyanko
2012-03-15 7:35 ` [Qemu-devel] [PATCH V2 2/3] exynos4210: add exynos4210 GPIO implementation Igor Mitsyanko
2012-03-15 11:06 ` Andreas Färber
2012-03-20 13:27 ` Peter Maydell
2012-03-21 13:01 ` Igor Mitsyanko
2012-03-15 7:35 ` [Qemu-devel] [PATCH V2 3/3] hw: add Atmel maxtouch touchscreen implementation Igor Mitsyanko
2012-03-15 9:48 ` Andreas Färber
2012-03-15 10:25 ` Dmitry Solodkiy
2012-03-15 10:41 ` Igor Mitsyanko
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=4F69E34E.1020300@samsung.com \
--to=i.mitsyanko@samsung.com \
--cc=afaerber@suse.de \
--cc=d.solodkiy@samsung.com \
--cc=e.voevodin@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=m.kozlov@samsung.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.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 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.