This series primarily adds interrupt support to the FSI driver subsystem. The series first improves the clocking model in the FSI core to provide real clock rates to the engine drivers. Then there are various quality, trace, and organizational improvements. Another substantial part of the series is to make some master code common through the use of a regmap to access master structures. This will prove more useful as additional FSI master drivers are added. Finally, interrupt support is added to the I2C driver as an alternative to polling. Eddie James (33): dt-bindings: clock: ast2600: Add FSI clock clk: ast2600: Add FSI parent clock with correct rate fsi: Move slave definitions to fsi-slave.h fsi: Improve master indexing fsi: Use a defined value for default echo delay fsi: Expose master-specific local bus clock divider ARM: dts: aspeed: p10 and tacoma: Set FSI clock frequency fsi: core: Improve master read/write/error traces fsi: core: Add slave error trace fsi: aspeed: Add AST2700 support fsi: core: Add slave spinlock fsi: core: Allow cfam device type aliases fsi: core: Add common regmap master functions fsi: hub: Use common initialization and link enable fsi: aspeed: Use common initialization and link enable fsi: aspeed: Remove cfam reset sysfs file in error path and remove fsi: aspeed: Refactor trace functions fsi: aspeed: Don't clear all IRQs during OPB transfers fsi: aspeed: Only read result register for successful read fsi: aspeed: Switch to spinlock fsi: aspeed: Disable relative addressing and IPOLL for cfam reset fsi: aspeed: Use common master error handler fsi: core: Add interrupt support fsi: aspeed: Add interrupt support fsi: hub: Add interrupt support ARM: dts: aspeed: FSI interrupt support i2c: fsi: Calculate clock divider from local bus frequency i2c: fsi: Improve formatting i2c: fsi: Change fsi_i2c_write_reg to accept data instead of a pointer i2c: fsi: Remove list structure of ports i2c: fsi: Define a function to check status error bits i2c: fsi: Add boolean for skip stop command on abort i2c: fsi: Add interrupt support .../boot/dts/aspeed/aspeed-bmc-opp-tacoma.dts | 1 + arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 4 + .../arm/boot/dts/aspeed/ibm-power10-dual.dtsi | 3 + drivers/clk/clk-ast2600.c | 7 +- drivers/fsi/Kconfig | 2 + drivers/fsi/fsi-core.c | 528 ++++++++++++++---- drivers/fsi/fsi-master-aspeed.c | 391 +++++++------ drivers/fsi/fsi-master-hub.c | 231 ++++---- drivers/fsi/fsi-master.h | 27 + drivers/fsi/fsi-slave.h | 89 +++ drivers/i2c/busses/i2c-fsi.c | 464 ++++++++++----- include/dt-bindings/clock/ast2600-clock.h | 1 + include/linux/fsi.h | 3 + include/trace/events/fsi.h | 190 ++++--- include/trace/events/fsi_master_aspeed.h | 86 ++- include/trace/events/i2c_fsi.h | 45 ++ 16 files changed, 1432 insertions(+), 640 deletions(-) create mode 100644 include/trace/events/i2c_fsi.h -- 2.39.3