[PATCH 00/33] fsi: Interrupt support
From: Eddie James
Date: Thu Feb 15 2024 - 17:08:49 EST
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