Skip to content

Commit

Permalink
w1: Add 1-wire slave device driver for DS28E04-100
Browse files Browse the repository at this point in the history
Signed-off-by: Markus Franke <franm@hrz.tu-chemnitz.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Markus Franke authored and Greg Kroah-Hartman committed Jun 13, 2012
1 parent a59d629 commit fbf7f7b
Show file tree
Hide file tree
Showing 6 changed files with 535 additions and 0 deletions.
15 changes: 15 additions & 0 deletions Documentation/ABI/stable/sysfs-driver-w1_ds28e04
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
What: /sys/bus/w1/devices/.../pio
Date: May 2012
Contact: Markus Franke <franm@hrz.tu-chemnitz.de>
Description: read/write the contents of the two PIO's of the DS28E04-100
see Documentation/w1/slaves/w1_ds28e04 for detailed information
Users: any user space application which wants to communicate with DS28E04-100



What: /sys/bus/w1/devices/.../eeprom
Date: May 2012
Contact: Markus Franke <franm@hrz.tu-chemnitz.de>
Description: read/write the contents of the EEPROM memory of the DS28E04-100
see Documentation/w1/slaves/w1_ds28e04 for detailed information
Users: any user space application which wants to communicate with DS28E04-100
36 changes: 36 additions & 0 deletions Documentation/w1/slaves/w1_ds28e04
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Kernel driver w1_ds28e04
========================

Supported chips:
* Maxim DS28E04-100 4096-Bit Addressable 1-Wire EEPROM with PIO

supported family codes:
W1_FAMILY_DS28E04 0x1C

Author: Markus Franke, <franke.m@sebakmt.com> <franm@hrz.tu-chemnitz.de>

Description
-----------

Support is provided through the sysfs files "eeprom" and "pio". CRC checking
during memory accesses can optionally be enabled/disabled via the device
attribute "crccheck". The strong pull-up can optionally be enabled/disabled
via the module parameter "w1_strong_pullup".

Memory Access

A read operation on the "eeprom" file reads the given amount of bytes
from the EEPROM of the DS28E04.

A write operation on the "eeprom" file writes the given byte sequence
to the EEPROM of the DS28E04. If CRC checking mode is enabled only
fully alligned blocks of 32 bytes with valid CRC16 values (in bytes 30
and 31) are allowed to be written.

PIO Access

The 2 PIOs of the DS28E04-100 are accessible via the "pio" sysfs file.

The current status of the PIO's is returned as an 8 bit value. Bit 0/1
represent the state of PIO_0/PIO_1. Bits 2..7 do not care. The PIO's are
driven low-active, i.e. the driver delivers/expects low-active values.
13 changes: 13 additions & 0 deletions drivers/w1/slaves/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,19 @@ config W1_SLAVE_DS2781

If you are unsure, say N.

config W1_SLAVE_DS28E04
tristate "4096-Bit Addressable 1-Wire EEPROM with PIO (DS28E04-100)"
depends on W1
select CRC16
help
If you enable this you will have the DS28E04-100
chip support.

Say Y here if you want to use a 1-wire
4kb EEPROM with PIO family device (DS28E04).

If you are unsure, say N.

config W1_SLAVE_BQ27000
tristate "BQ27000 slave support"
depends on W1
Expand Down
1 change: 1 addition & 0 deletions drivers/w1/slaves/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ obj-$(CONFIG_W1_SLAVE_DS2760) += w1_ds2760.o
obj-$(CONFIG_W1_SLAVE_DS2780) += w1_ds2780.o
obj-$(CONFIG_W1_SLAVE_DS2781) += w1_ds2781.o
obj-$(CONFIG_W1_SLAVE_BQ27000) += w1_bq27000.o
obj-$(CONFIG_W1_SLAVE_DS28E04) += w1_ds28e04.o
Loading

0 comments on commit fbf7f7b

Please sign in to comment.