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 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 (6): 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 .../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 | 228 ++++++++++++++++++ drivers/fsi/fsi-master-i2cr.h | 24 ++ drivers/fsi/fsi-master.h | 3 +- drivers/fsi/fsi-scom.c | 8 + drivers/fsi/fsi-slave.h | 28 +++ drivers/fsi/i2cr-scom.c | 158 ++++++++++++ include/trace/events/fsi_master_i2cr.h | 109 +++++++++ 15 files changed, 659 insertions(+), 27 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