1 ======================== 1 ======================== 2 Kernel driver w1_ds28e17 2 Kernel driver w1_ds28e17 3 ======================== 3 ======================== 4 4 5 Supported chips: 5 Supported chips: 6 6 7 * Maxim DS28E17 1-Wire-to-I2C Master Bridge 7 * Maxim DS28E17 1-Wire-to-I2C Master Bridge 8 8 9 supported family codes: 9 supported family codes: 10 10 11 ================= ==== 11 ================= ==== 12 W1_FAMILY_DS28E17 0x19 12 W1_FAMILY_DS28E17 0x19 13 ================= ==== 13 ================= ==== 14 14 15 Author: Jan Kandziora <jjj@gmx.de> 15 Author: Jan Kandziora <jjj@gmx.de> 16 16 17 17 18 Description 18 Description 19 ----------- 19 ----------- 20 The DS28E17 is a Onewire slave device which ac 20 The DS28E17 is a Onewire slave device which acts as an I2C bus master. 21 21 22 This driver creates a new I2C bus for any DS28 22 This driver creates a new I2C bus for any DS28E17 device detected. I2C buses 23 come and go as the DS28E17 devices come and go 23 come and go as the DS28E17 devices come and go. I2C slave devices connected to 24 a DS28E17 can be accessed by the kernel or use 24 a DS28E17 can be accessed by the kernel or userspace tools as if they were 25 connected to a "native" I2C bus master. 25 connected to a "native" I2C bus master. 26 26 27 27 28 An udev rule like the following:: 28 An udev rule like the following:: 29 29 30 SUBSYSTEM=="i2c-dev", KERNEL=="i2c-[0-9]*", 30 SUBSYSTEM=="i2c-dev", KERNEL=="i2c-[0-9]*", ATTRS{name}=="w1-19-*", \ 31 SYMLINK+="i2c-$attr{name}" 31 SYMLINK+="i2c-$attr{name}" 32 32 33 may be used to create stable /dev/i2c- entries 33 may be used to create stable /dev/i2c- entries based on the unique id of the 34 DS28E17 chip. 34 DS28E17 chip. 35 35 36 36 37 Driver parameters are: 37 Driver parameters are: 38 38 39 speed: 39 speed: 40 This sets up the default I2C speed a D 40 This sets up the default I2C speed a DS28E17 get configured for as soon 41 it is connected. The power-on default 41 it is connected. The power-on default of the DS28E17 is 400kBaud, but 42 chips may come and go on the Onewire b 42 chips may come and go on the Onewire bus without being de-powered and 43 as soon the "w1_ds28e17" driver notice 43 as soon the "w1_ds28e17" driver notices a freshly connected, or 44 reconnected DS28E17 device on the Onew 44 reconnected DS28E17 device on the Onewire bus, it will re-apply this 45 setting. 45 setting. 46 46 47 Valid values are 100, 400, 900 [kBaud] 47 Valid values are 100, 400, 900 [kBaud]. Any other value means to leave 48 alone the current DS28E17 setting on d 48 alone the current DS28E17 setting on detect. The default value is 100. 49 49 50 stretch: 50 stretch: 51 This sets up the default stretch value 51 This sets up the default stretch value used for freshly connected 52 DS28E17 devices. It is a multiplier us 52 DS28E17 devices. It is a multiplier used on the calculation of the busy 53 wait time for an I2C transfer. This is 53 wait time for an I2C transfer. This is to account for I2C slave devices 54 which make heavy use of the I2C clock 54 which make heavy use of the I2C clock stretching feature and thus, the 55 needed timeout cannot be pre-calculate 55 needed timeout cannot be pre-calculated correctly. As the w1_ds28e17 56 driver checks the DS28E17's busy flag 56 driver checks the DS28E17's busy flag in a loop after the precalculated 57 wait time, it should be hardly needed 57 wait time, it should be hardly needed to tweak this setting. 58 58 59 Leave it at 1 unless you get ETIMEDOUT 59 Leave it at 1 unless you get ETIMEDOUT errors and a "w1_slave_driver 60 19-00000002dbd8: busy timeout" in the 60 19-00000002dbd8: busy timeout" in the kernel log. 61 61 62 Valid values are 1 to 9. The default i 62 Valid values are 1 to 9. The default is 1. 63 63 64 64 65 The driver creates sysfs files /sys/bus/w1/dev 65 The driver creates sysfs files /sys/bus/w1/devices/19-<id>/speed and 66 /sys/bus/w1/devices/19-<id>/stretch for each d 66 /sys/bus/w1/devices/19-<id>/stretch for each device, preloaded with the default 67 settings from the driver parameters. They may 67 settings from the driver parameters. They may be changed anytime. In addition a 68 directory /sys/bus/w1/devices/19-<id>/i2c-<nnn 68 directory /sys/bus/w1/devices/19-<id>/i2c-<nnn> for the I2C bus master sysfs 69 structure is created. 69 structure is created. 70 70 71 71 72 See https://github.com/ianka/w1_ds28e17 for ev 72 See https://github.com/ianka/w1_ds28e17 for even more information.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.