From: Stefan Hajnoczi <stefanha@gmail.com>
To: qemu-devel <qemu-devel@nongnu.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Jim Mussared <jim@groklearning.com>,
Joel Stanley <joel@jms.id.au>,
Jonathan Austin <jonny@microbit.org>
Subject: [Qemu-devel] Internship idea: I2C passthrough
Date: Wed, 9 Jan 2019 17:09:23 +0000 [thread overview]
Message-ID: <CAJSP0QVOnFchhTyJsVG5E=FrZ7Ti-_ve4t1WxqkFXO=XK-Sh6Q@mail.gmail.com> (raw)
Hi folks,
You may be interested in I2C passthrough support in QEMU. Paolo and I
brainstormed the idea and I've written up a rough project summary
below. It still needs some work to make this a solid internship
project idea.
Any thoughts? Would you like to co-mentor this summer?
=== I2C Passthrough ===
'''Summary:''' Implement I2C bus passthrough on Linux hosts so that
emulated Raspberry Pi or micro:bit boards can talk to real I2C
devices.
QEMU emulates I2C devices in software but currently cannot pass
through real I2C devices from the host to the guest. It would be
useful to access real I2C devices from inside the guest, for example
for developers writing and testing software under QEMU on their
computer.
The project consists of the following tasks:
* Implement -object i2c-bus-passthrough,adapter=N,id=my-i2c-bus
* Add i2c-bus-passthrough support to at least 1 existing emulated I2C controller
* Implement micro:bit TWI controller emulation on the nRF51 system-on-chip
This project will allow you to learn about the I2C bus and how to
write device emulation code in QEMU. You will enjoy it if you like
working with physical hardware.
'''Links:'''
* [https://en.wikipedia.org/wiki/I%C2%B2C I2C wikipedia page]
* [https://elinux.org/Interfacing_with_I2C_Devices Overview of Linux
I2C programming interfaces]
* [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Documentation/i2c/dev-interface
Linux I2C userspace interface documentation]
'''Details:'''
* Skill level: intermediate
* Language: C
* Mentor: Paolo Bonzini <pbonzini@redhat.com> ("bonzini" on IRC),
Stefan Hajnoczi <stefanha@redhat.com> ("stefanha" on IRC)
next reply other threads:[~2019-01-09 17:09 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-09 17:09 Stefan Hajnoczi [this message]
2019-01-09 18:23 ` [Qemu-devel] Internship idea: I2C passthrough BALATON Zoltan
2019-01-09 21:16 ` Paolo Bonzini
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='CAJSP0QVOnFchhTyJsVG5E=FrZ7Ti-_ve4t1WxqkFXO=XK-Sh6Q@mail.gmail.com' \
--to=stefanha@gmail.com \
--cc=jim@groklearning.com \
--cc=joel@jms.id.au \
--cc=jonny@microbit.org \
--cc=pbonzini@redhat.com \
--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 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).