linux/drivers/misc/eeprom
Serge Semin cfad642538 eeprom: Add IDT 89HPESx EEPROM/CSR driver
This driver provides an access to EEPROM of IDT PCIe-switches. IDT PCIe-
switches expose a simple SMBus interface to perform IO-operations from/to
EEPROM, which is located at private (so called Master) SMBus. The driver
creates a simple binary sysfs-file to have an access to the EEPROM using
the SMBus-slave interface in the i2c-device susfs-directory:
     /sys/bus/i2c/devices/<bus>-<devaddr>/eeprom
In case if read-only flag is specified at dts-node of the device, User-space
applications won't be able to write to the EEPROM sysfs-node.

  Additionally IDT 89HPESx SMBus interface has an ability to read/write
values of device CSRs. This driver exposes debugfs-file to perform simple
IO-operations using that ability for just basic debug purpose. Particularly
the next file is created in the specific debugfs-directory:
     /sys/kernel/debug/idt_csr/
Format of the debugfs-file value is:
     $ cat /sys/kernel/debug/idt_csr/<bus>-<devaddr>/<devname>;
     <CSR address>:<CSR value>
So reading the content of the file gives current CSR address and it value.
If User-space application wishes to change current CSR address, it can just
write a proper value to the sysfs-file:
     $ echo "<CSR address>" >
         /sys/kernel/debug/idt_csr/<bus>-<devaddr>/<devname>
If it wants to change the CSR value as well, the format of the write
operation is:
     $ echo "<CSR address>:<CSR value>" > \
         /sys/kernel/debug/idt_csr/<bus>-<devaddr>/<devname>;
CSR address and value can be any of hexadecimal, decimal or octal format.

Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-01-19 11:39:57 +01:00
..
at24.c eeprom: at24: check if the chip is functional in probe() 2016-08-22 08:19:58 +02:00
at25.c at25: fix debug and error messaging 2016-09-27 12:43:35 +02:00
digsy_mtc_eeprom.c misc/eeprom: add eeprom access driver for digsy_mtc board 2011-07-25 20:57:16 -07:00
eeprom_93cx6.c eeprom-93cx6: Add (read-only) support for 8-bit mode 2014-11-25 15:42:53 +01:00
eeprom_93xx46.c eeprom: 93xx46: Fix SPI device leak 2016-05-01 14:04:19 -07:00
eeprom.c misc: eeprom: use kobj_to_dev() 2016-02-07 23:01:45 -08:00
idt_89hpesx.c eeprom: Add IDT 89HPESx EEPROM/CSR driver 2017-01-19 11:39:57 +01:00
Kconfig eeprom: Add IDT 89HPESx EEPROM/CSR driver 2017-01-19 11:39:57 +01:00
Makefile eeprom: Add IDT 89HPESx EEPROM/CSR driver 2017-01-19 11:39:57 +01:00
max6875.c Merge branch 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2015-09-08 16:16:26 -07:00