Commit | Line | Data |
---|---|---|
94859308 SA |
1 | w1_ds2406 kernel driver |
2 | ======================= | |
3 | ||
4 | Supported chips: | |
5 | * Maxim DS2406 (and other family 0x12) addressable switches | |
6 | ||
7 | Author: Scott Alfter <scott@alfter.us> | |
8 | ||
9 | Description | |
10 | ----------- | |
11 | ||
12 | The w1_ds2406 driver allows connected devices to be switched on and off. | |
13 | These chips also provide 128 bytes of OTP EPROM, but reading/writing it is | |
14 | not supported. In TSOC-6 form, the DS2406 provides two switch outputs and | |
15 | can be provided with power on a dedicated input. In TO-92 form, it provides | |
16 | one output and uses parasitic power only. | |
17 | ||
18 | The driver provides two sysfs files. state is readable; it gives the | |
19 | current state of each switch, with PIO A in bit 0 and PIO B in bit 1. The | |
20 | driver ORs this state with 0x30, so shell scripts get an ASCII 0/1/2/3 to | |
21 | work with. output is writable; bits 0 and 1 control PIO A and B, | |
22 | respectively. Bits 2-7 are ignored, so it's safe to write ASCII data. | |
23 | ||
24 | CRCs are checked on read and write. Failed checks cause an I/O error to be | |
25 | returned. On a failed write, the switch status is not changed. |