60 lines · plain
1=======================2Kernel driver w1_ds24133=======================4 5Supported chips:6 7 * Maxim DS2413 1-Wire Dual Channel Addressable Switch8 9supported family codes:10 11 ================ ====12 W1_FAMILY_DS2413 0x3A13 ================ ====14 15Author: Mariusz Bialonczyk <manio@skyboo.net>16 17Description18-----------19 20The DS2413 chip has two open-drain outputs (PIO A and PIO B).21Support is provided through the sysfs files "output" and "state".22 23Reading state24-------------25The "state" file provides one-byte value which is in the same format as for26the chip PIO_ACCESS_READ command (refer the datasheet for details):27 28======== =============================================================29Bit 0: PIOA Pin State30Bit 1: PIOA Output Latch State31Bit 2: PIOB Pin State32Bit 3: PIOB Output Latch State33Bit 4-7: Complement of Bit 3 to Bit 0 (verified by the kernel module)34======== =============================================================35 36This file is readonly.37 38Writing output39--------------40You can set the PIO pins using the "output" file.41It is writable, you can write one-byte value to this sysfs file.42Similarly the byte format is the same as for the PIO_ACCESS_WRITE command:43 44======== ======================================45Bit 0: PIOA46Bit 1: PIOB47Bit 2-7: No matter (driver will set it to "1"s)48======== ======================================49 50 51The chip has some kind of basic protection against transmission errors.52When reading the state, there is a four complement bits.53The driver is checking this complement, and when it is wrong then it is54returning I/O error.55 56When writing output, the master must repeat the PIO Output Data byte in57its inverted form and it is waiting for a confirmation.58If the write is unsuccessful for three times, the write also returns59I/O error.60