123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- ========================
- Kernel driver w1_ds28e17
- ========================
- Supported chips:
- * Maxim DS28E17 1-Wire-to-I2C Master Bridge
- supported family codes:
- ================= ====
- W1_FAMILY_DS28E17 0x19
- ================= ====
- Author: Jan Kandziora <[email protected]>
- Description
- -----------
- The DS28E17 is a Onewire slave device which acts as an I2C bus master.
- This driver creates a new I2C bus for any DS28E17 device detected. I2C buses
- come and go as the DS28E17 devices come and go. I2C slave devices connected to
- a DS28E17 can be accessed by the kernel or userspace tools as if they were
- connected to a "native" I2C bus master.
- An udev rule like the following::
- SUBSYSTEM=="i2c-dev", KERNEL=="i2c-[0-9]*", ATTRS{name}=="w1-19-*", \
- SYMLINK+="i2c-$attr{name}"
- may be used to create stable /dev/i2c- entries based on the unique id of the
- DS28E17 chip.
- Driver parameters are:
- speed:
- This sets up the default I2C speed a DS28E17 get configured for as soon
- it is connected. The power-on default of the DS28E17 is 400kBaud, but
- chips may come and go on the Onewire bus without being de-powered and
- as soon the "w1_ds28e17" driver notices a freshly connected, or
- reconnected DS28E17 device on the Onewire bus, it will re-apply this
- setting.
- Valid values are 100, 400, 900 [kBaud]. Any other value means to leave
- alone the current DS28E17 setting on detect. The default value is 100.
- stretch:
- This sets up the default stretch value used for freshly connected
- DS28E17 devices. It is a multiplier used on the calculation of the busy
- wait time for an I2C transfer. This is to account for I2C slave devices
- which make heavy use of the I2C clock stretching feature and thus, the
- needed timeout cannot be pre-calculated correctly. As the w1_ds28e17
- driver checks the DS28E17's busy flag in a loop after the precalculated
- wait time, it should be hardly needed to tweak this setting.
- Leave it at 1 unless you get ETIMEDOUT errors and a "w1_slave_driver
- 19-00000002dbd8: busy timeout" in the kernel log.
- Valid values are 1 to 9. The default is 1.
- The driver creates sysfs files /sys/bus/w1/devices/19-<id>/speed and
- /sys/bus/w1/devices/19-<id>/stretch for each device, preloaded with the default
- settings from the driver parameters. They may be changed anytime. In addition a
- directory /sys/bus/w1/devices/19-<id>/i2c-<nnn> for the I2C bus master sysfs
- structure is created.
- See https://github.com/ianka/w1_ds28e17 for even more information.
|