cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

w1_ds2413.rst (1836B)


      1=======================
      2Kernel driver w1_ds2413
      3=======================
      4
      5Supported chips:
      6
      7  * Maxim DS2413 1-Wire Dual Channel Addressable Switch
      8
      9supported family codes:
     10
     11        ================        ====
     12        W1_FAMILY_DS2413        0x3A
     13        ================        ====
     14
     15Author: Mariusz Bialonczyk <manio@skyboo.net>
     16
     17Description
     18-----------
     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 state
     24-------------
     25The "state" file provides one-byte value which is in the same format as for
     26the chip PIO_ACCESS_READ command (refer the datasheet for details):
     27
     28======== =============================================================
     29Bit 0:   PIOA Pin State
     30Bit 1:   PIOA Output Latch State
     31Bit 2:   PIOB Pin State
     32Bit 3:   PIOB Output Latch State
     33Bit 4-7: Complement of Bit 3 to Bit 0 (verified by the kernel module)
     34======== =============================================================
     35
     36This file is readonly.
     37
     38Writing output
     39--------------
     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:   PIOA
     46Bit 1:   PIOB
     47Bit 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 is
     54returning I/O error.
     55
     56When writing output, the master must repeat the PIO Output Data byte in
     57its inverted form and it is waiting for a confirmation.
     58If the write is unsuccessful for three times, the write also returns
     59I/O error.