• Angelo Dureghello's avatar
    w1: new driver. DS2430 chip · c6bf3842
    Angelo Dureghello authored
    add support for ds2430, 1 page, 256bit (32bytes) eeprom
    (family 0x14).
    
    Tests done:
    
    32 bytes dump:
    
    x@y:~# hexdump -C -n 32 /sys/bus/w1/devices/14-00000158556e/eeprom
    00000000  39 39 0a 00 00 36 0a ff  ff ff ff ff ff ff ff ff
    00000010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff
    00000020
    
    34 bytes dump: 32 only displayed
    
    x@y:~# hexdump -C -n 34 /sys/bus/w1/devices/14-00000158556e/eeprom
    00000000  39 39 0a 00 00 36 0a ff  ff ff ff ff ff ff ff ff
    00000010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff
    00000020
    
    pattern write:
    
    x@y:~# echo 123456789 > /sys/bus/w1/devices/14-00000158556e/eeprom
    x@y:~# hexdump -C -n 54 /sys/bus/w1/devices/14-00000158556e/eeprom
    00000000  31 32 33 34 35 36 37 38  39 0a ff ff ff ff ff ff
    00000010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff
    00000020
    
    specific address 1-byte write
    
    x@y:~# dd if=/dev/zero of=/sys/bus/w1/devices/14-00000158556e/eeprom \
    		count=1 bs=1 seek=4
    1+0 records in
    1+0 records out
    x@y:~# hexdump -C -n 54 /sys/bus/w1/devices/14-00000158556e/eeprom
    00000000  31 32 33 34 00 36 37 38  39 0a ff ff ff ff ff ff
    00000010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff
    00000020
    
    writing binary block
    
    x@y:~# cat dump-128bytes.bin > /sys/bus/w1/devices/14-00000158556e/eeprom
    cat: write error: File too large
    
    x@y:~# cat dump-32bytes.bin > /sys/bus/w1/devices/14-00000158556e/eeprom
    x@y:~# hexdump -C -n 54 /sys/bus/w1/devices/14-00000158556e/eeprom
    00000000  10 0b 5b ff ff ff ff ff  ff ff ff ff ff ff ff ff
    00000010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff 40
    00000020
    Signed-off-by: default avatarAngelo Dureghello <angelo.dureghello@timesys.com>
    Link: https://lore.kernel.org/r/20191019204015.61474-1-angelo.dureghello@timesys.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    c6bf3842
Makefile 846 Bytes