summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorJan Kandziora <jjj@gmx.de>2017-09-20 17:52:46 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-10-04 04:29:22 -0400
commitebc4768ac4971eab4b570e733e47ac9dfd0e4175 (patch)
treecfe3e1128131d87a19cbcb81a92db4b1925931e0 /Documentation
parenteb8470db8bc018fc28901e4e3b0f48e33f1ea7df (diff)
add w1_ds28e17 driver for the DS28E17 Onewire to I2C master bridge
This subpatch adds a driver for the DS28E17 Onewire to I2C master bridge. Signed-off-by: Jan Kandziora <jjj@gmx.de> Acked-by: Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ABI/testing/sysfs-driver-w1_ds28e1721
-rw-r--r--Documentation/w1/slaves/00-INDEX2
-rw-r--r--Documentation/w1/slaves/w1_ds28e1768
3 files changed, 91 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-driver-w1_ds28e17 b/Documentation/ABI/testing/sysfs-driver-w1_ds28e17
new file mode 100644
index 000000000000..d301e7017afe
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-driver-w1_ds28e17
@@ -0,0 +1,21 @@
1What: /sys/bus/w1/devices/19-<id>/speed
2Date: Sep 2017
3KernelVersion: 4.14
4Contact: Jan Kandziora <jjj@gmx.de>
5Description: When written, this file sets the I2C speed on the connected
6 DS28E17 chip. When read, it reads the current setting from
7 the DS28E17 chip.
8 Valid values: 100, 400, 900 [kBaud].
9 Default 100, can be set by w1_ds28e17.speed= module parameter.
10Users: w1_ds28e17 driver
11
12What: /sys/bus/w1/devices/19-<id>/stretch
13Date: Sep 2017
14KernelVersion: 4.14
15Contact: Jan Kandziora <jjj@gmx.de>
16Description: When written, this file sets the multiplier used to calculate
17 the busy timeout for I2C operations on the connected DS28E17
18 chip. When read, returns the current setting.
19 Valid values: 1 to 9.
20 Default 1, can be set by w1_ds28e17.stretch= module parameter.
21Users: w1_ds28e17 driver
diff --git a/Documentation/w1/slaves/00-INDEX b/Documentation/w1/slaves/00-INDEX
index 8d76718e1ea2..68946f83e579 100644
--- a/Documentation/w1/slaves/00-INDEX
+++ b/Documentation/w1/slaves/00-INDEX
@@ -10,3 +10,5 @@ w1_ds2438
10 - The Maxim/Dallas Semiconductor ds2438 smart battery monitor. 10 - The Maxim/Dallas Semiconductor ds2438 smart battery monitor.
11w1_ds28e04 11w1_ds28e04
12 - The Maxim/Dallas Semiconductor ds28e04 eeprom. 12 - The Maxim/Dallas Semiconductor ds28e04 eeprom.
13w1_ds28e17
14 - The Maxim/Dallas Semiconductor ds28e17 1-Wire-to-I2C Master Bridge.
diff --git a/Documentation/w1/slaves/w1_ds28e17 b/Documentation/w1/slaves/w1_ds28e17
new file mode 100644
index 000000000000..7fcfad5b4a37
--- /dev/null
+++ b/Documentation/w1/slaves/w1_ds28e17
@@ -0,0 +1,68 @@
1Kernel driver w1_ds28e17
2========================
3
4Supported chips:
5 * Maxim DS28E17 1-Wire-to-I2C Master Bridge
6
7supported family codes:
8 W1_FAMILY_DS28E17 0x19
9
10Author: Jan Kandziora <jjj@gmx.de>
11
12
13Description
14-----------
15The DS28E17 is a Onewire slave device which acts as an I2C bus master.
16
17This driver creates a new I2C bus for any DS28E17 device detected. I2C buses
18come and go as the DS28E17 devices come and go. I2C slave devices connected to
19a DS28E17 can be accessed by the kernel or userspace tools as if they were
20connected to a "native" I2C bus master.
21
22
23An udev rule like the following
24-------------------------------------------------------------------------------
25SUBSYSTEM=="i2c-dev", KERNEL=="i2c-[0-9]*", ATTRS{name}=="w1-19-*", \
26 SYMLINK+="i2c-$attr{name}"
27-------------------------------------------------------------------------------
28may be used to create stable /dev/i2c- entries based on the unique id of the
29DS28E17 chip.
30
31
32Driver parameters are:
33
34speed:
35 This sets up the default I2C speed a DS28E17 get configured for as soon
36 it is connected. The power-on default of the DS28E17 is 400kBaud, but
37 chips may come and go on the Onewire bus without being de-powered and
38 as soon the "w1_ds28e17" driver notices a freshly connected, or
39 reconnected DS28E17 device on the Onewire bus, it will re-apply this
40 setting.
41
42 Valid values are 100, 400, 900 [kBaud]. Any other value means to leave
43 alone the current DS28E17 setting on detect. The default value is 100.
44
45stretch:
46 This sets up the default stretch value used for freshly connected
47 DS28E17 devices. It is a multiplier used on the calculation of the busy
48 wait time for an I2C transfer. This is to account for I2C slave devices
49 which make heavy use of the I2C clock stretching feature and thus, the
50 needed timeout cannot be pre-calculated correctly. As the w1_ds28e17
51 driver checks the DS28E17's busy flag in a loop after the precalculated
52 wait time, it should be hardly needed to tweak this setting.
53
54 Leave it at 1 unless you get ETIMEDOUT errors and a "w1_slave_driver
55 19-00000002dbd8: busy timeout" in the kernel log.
56
57 Valid values are 1 to 9. The default is 1.
58
59
60The driver creates sysfs files /sys/bus/w1/devices/19-<id>/speed and
61/sys/bus/w1/devices/19-<id>/stretch for each device, preloaded with the default
62settings from the driver parameters. They may be changed anytime. In addition a
63directory /sys/bus/w1/devices/19-<id>/i2c-<nnn> for the I2C bus master sysfs
64structure is created.
65
66
67See https://github.com/ianka/w1_ds28e17 for even more information.
68