linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Introducing a kernel driver for the DS28E17 Onewire to I2C master bridge; Feature request: introduce I2C_FUNC_STOP
@ 2016-07-13 10:07 Jan Kandziora
  2016-07-14  9:58 ` Wolfram Sang
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Kandziora @ 2016-07-13 10:07 UTC (permalink / raw)
  To: linux-i2c

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-07-16  4:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-13 10:07 Introducing a kernel driver for the DS28E17 Onewire to I2C master bridge; Feature request: introduce I2C_FUNC_STOP Jan Kandziora
2016-07-14  9:58 ` 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

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