From: Jan Kandziora <jjj@gmx.de>
To: linux-i2c@vger.kernel.org
Subject: Introducing a kernel driver for the DS28E17 Onewire to I2C master bridge; Feature request: introduce I2C_FUNC_STOP
Date: Wed, 13 Jul 2016 12:07:39 +0200 [thread overview]
Message-ID: <578612EB.1060709@gmx.de> (raw)
Hi
I have written a driver for the DS28E17 Onewire to I2C master bridge. It
acts as a slave device in the W1 subsystem and as a bus master in the
I2C subsystem.
It's available here:
https://github.com/ianka/w1_ds28e17
The kernel driver is in the files w1_ds28e17, Kconfig and Makefile. The
other files are test programs for the DS28E17 development kit as sold by
Maxim. Please see the README for further details.
I've already sent a mail to Evgeniy Polyakov, maintainer of the W1
subsystem and Wolfram Sang, maintainer of the I2C subsystem but got no
reply. Maybe due to holiday season.
It would be nice if someone with insight could give me a ping "that
looks okay" or "you have to fix this or that".
I also have a question/feature request for the i2c subsystem. The
DS28E17 can support I2C_M_STOP, which allows to combine write/read into
a single transaction for slaves which need the intermediate stop
condition – as the DS7505 from the evaluation board. Using I2C_M_STOP
instead of splitting the transaction into two would save some overhead
on the Onewire bus (8 bytes at 15kBaud == 4ms, of busy-looping when
Onewire is bitbanged.)
However, the test for the I2C_M_STOP feature is made with
I2C_FUNC_PROTOCOL_MANGLING, which also includes I2C_M_REV_DIR_ADDR,
I2C_M_IGNORE_NAK, I2C_M_NO_RD_ACK. All of these *are not* supported by
the DS28E17.
What's the right way to handle this on the I2C driver side? Could we
have a I2C_FUNC_STOP as we have a I2C_FUNC_NOSTART?
Kind regards
Jan
next reply other threads:[~2016-07-13 10:07 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-13 10:07 Jan Kandziora [this message]
2016-07-14 9:58 ` Introducing a kernel driver for the DS28E17 Onewire to I2C master bridge; Feature request: introduce I2C_FUNC_STOP Wolfram Sang
2016-07-14 12:53 ` Jan Kandziora
2016-07-14 13:19 ` Wolfram Sang
2016-07-15 11:13 ` Jan Kandziora
2016-07-15 11:26 ` Wolfram Sang
2016-07-15 17:27 ` Jan Kandziora
2016-07-15 18:52 ` Jan Kandziora
2016-07-16 4:51 ` Wolfram Sang
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=578612EB.1060709@gmx.de \
--to=jjj@gmx.de \
--cc=linux-i2c@vger.kernel.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).