[PATCH v7 0/7] fsi: Add IBM I2C Responder virtual FSI master

Eddie James
2023-03-03T17:04:50Z

The I2C Responder (I2CR) is an I2C device that translates I2C commands
to CFAM or SCOM operations, effectively implementing an FSI master and
bus.

Changes since v6:
- Drop conversions to BE except in the FSI core interface
- Emulate the CFAM config table since it doesn't exist off the I2CR
- Drop status check during probe
- Add release function for device
- Update SCOM driver with newer interfaces and drop BE conversion
- New sbefifo change to not check state during probe

Changes since v5:
- Make I2CR scom driver depend on I2CR FSI master

Changes since v4:
- Add I2CR scom driver and associated patches
- Use compatible strings for FSI drivers if specified
- Include aliased device numbering patch
- Restructure the trace events to eliminate holes

Changes since v3:
- Rework the endian-ness in i2cr_write
- Rework the tracing to include the i2c bus and device address

Changes since v2:
- Fix the bindings again, sorry for the spam

Changes since v1:
- Fix the binding document
- Change the binding name
- Clean up the size argument checking
- Reduce __force by using packed struct for the command

Eddie James (7):
fsi: Move fsi_slave structure definition to header
dt-bindings: fsi: Document the IBM I2C Responder virtual FSI master
fsi: Add IBM I2C Responder virtual FSI master
fsi: Add I2C Responder SCOM driver
fsi: Add aliased device numbering
fsi: Use of_match_table for bus matching if specified
fsi: sbefifo: Don't check status during probe

.../bindings/fsi/ibm,i2cr-fsi-master.yaml | 41 +++
drivers/fsi/Kconfig | 17 +
drivers/fsi/Makefile | 2 +
drivers/fsi/fsi-core.c | 60 ++--
drivers/fsi/fsi-master-aspeed.c | 2 +-
drivers/fsi/fsi-master-ast-cf.c | 2 +-
drivers/fsi/fsi-master-gpio.c | 2 +-
drivers/fsi/fsi-master-hub.c | 2 +-
drivers/fsi/fsi-master-i2cr.c | 312 ++++++++++++++++++
drivers/fsi/fsi-master-i2cr.h | 24 ++
drivers/fsi/fsi-master.h | 3 +-
drivers/fsi/fsi-sbefifo.c | 8 -
drivers/fsi/fsi-scom.c | 8 +
drivers/fsi/fsi-slave.h | 28 ++
drivers/fsi/i2cr-scom.c | 154 +++++++++
include/trace/events/fsi_master_i2cr.h | 107 ++++++
16 files changed, 737 insertions(+), 35 deletions(-)
create mode 100644 Documentation/devicetree/bindings/fsi/ibm,i2cr-fsi-master.yaml
create mode 100644 drivers/fsi/fsi-master-i2cr.c
create mode 100644 drivers/fsi/fsi-master-i2cr.h
create mode 100644 drivers/fsi/fsi-slave.h
create mode 100644 drivers/fsi/i2cr-scom.c
create mode 100644 include/trace/events/fsi_master_i2cr.h

--
2.31.1