Introducing a kernel driver for the DS28E17 Onewire to I2C master bridge; Feature request: introduce I2C_FUNC_STOP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux