blob: 4ab9ca346b44ed1d6db3fa9d1fca382e93c0011e [file] [log] [blame]
Mauro Carvalho Chehab9cdd2732019-07-31 17:08:50 -03001===========================
Guenter Roeck3ce88592012-08-18 09:06:27 -07002Kernel driver spi-sc18is602
3===========================
4
5Supported chips:
Mauro Carvalho Chehab9cdd2732019-07-31 17:08:50 -03006
Guenter Roeck3ce88592012-08-18 09:06:27 -07007 * NXP SI18IS602/602B/603
Mauro Carvalho Chehab9cdd2732019-07-31 17:08:50 -03008
Alexander A. Klimov3ea4eac2020-07-08 21:44:00 +02009 Datasheet: https://www.nxp.com/documents/data_sheet/SC18IS602_602B_603.pdf
Guenter Roeck3ce88592012-08-18 09:06:27 -070010
11Author:
12 Guenter Roeck <linux@roeck-us.net>
13
14
15Description
16-----------
17
18This driver provides connects a NXP SC18IS602/603 I2C-bus to SPI bridge to the
19kernel's SPI core subsystem.
20
21The driver does not probe for supported chips, since the SI18IS602/603 does not
22support Chip ID registers. You will have to instantiate the devices explicitly.
Mauro Carvalho Chehabccf988b2019-07-26 09:51:16 -030023Please see Documentation/i2c/instantiating-devices.rst for details.
Guenter Roeck3ce88592012-08-18 09:06:27 -070024
25
26Usage Notes
27-----------
28
29This driver requires the I2C adapter driver to support raw I2C messages. I2C
30adapter drivers which can only handle the SMBus protocol are not supported.
31
32The maximum SPI message size supported by SC18IS602/603 is 200 bytes. Attempts
33to initiate longer transfers will fail with -EINVAL. EEPROM read operations and
34similar large accesses have to be split into multiple chunks of no more than
35200 bytes per SPI message (128 bytes of data per message is recommended). This
36means that programs such as "cp" or "od", which automatically use large block
37sizes to access a device, can not be used directly to read data from EEPROM.
38Programs such as dd, where the block size can be specified, should be used
39instead.