Merge remote-tracking branch 'sparc/master' into work.sparc32
[platform/kernel/linux-rpi.git] / Documentation / spi / spi-sc18is602.rst
1 ===========================
2 Kernel driver spi-sc18is602
3 ===========================
4
5 Supported chips:
6
7   * NXP SI18IS602/602B/603
8
9     Datasheet: https://www.nxp.com/documents/data_sheet/SC18IS602_602B_603.pdf
10
11 Author:
12         Guenter Roeck <linux@roeck-us.net>
13
14
15 Description
16 -----------
17
18 This driver provides connects a NXP SC18IS602/603 I2C-bus to SPI bridge to the
19 kernel's SPI core subsystem.
20
21 The driver does not probe for supported chips, since the SI18IS602/603 does not
22 support Chip ID registers. You will have to instantiate the devices explicitly.
23 Please see Documentation/i2c/instantiating-devices.rst for details.
24
25
26 Usage Notes
27 -----------
28
29 This driver requires the I2C adapter driver to support raw I2C messages. I2C
30 adapter drivers which can only handle the SMBus protocol are not supported.
31
32 The maximum SPI message size supported by SC18IS602/603 is 200 bytes. Attempts
33 to initiate longer transfers will fail with -EINVAL. EEPROM read operations and
34 similar large accesses have to be split into multiple chunks of no more than
35 200 bytes per SPI message (128 bytes of data per message is recommended). This
36 means that programs such as "cp" or "od", which automatically use large block
37 sizes to access a device, can not be used directly to read data from EEPROM.
38 Programs such as dd, where the block size can be specified, should be used
39 instead.