On 2024/10/28 13:32, Troy Mitchell wrote: > This patch introduces basic I2C support for the SpacemiT K1 SoC, > utilizing interrupts for transfers. > > The driver has been tested using i2c-tools on a Bananapi-F3 board, > and basic I2C read/write operations have been confirmed to work. > > Signed-off-by: Troy Mitchell <TroyMitchell988@xxxxxxxxx> > --- > drivers/i2c/busses/Kconfig | 18 + > drivers/i2c/busses/Makefile | 1 + > drivers/i2c/busses/i2c-k1.c | 658 ++++++++++++++++++++++++++++++++++++ > 3 files changed, 677 insertions(+) > create mode 100644 drivers/i2c/busses/i2c-k1.c > > diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig > index 6b3ba7e5723a..38ebfd38dc41 100644 > --- a/drivers/i2c/busses/Kconfig > +++ b/drivers/i2c/busses/Kconfig > @@ -779,6 +779,24 @@ config I2C_JZ4780 > > If you don't know what to do here, say N. > > +config I2C_K1 > + tristate "Spacemit K1 I2C adapter" > + depends on HAS_IOMEM I think I should retain the depends on from v1, like this: depends on ARCH_SPACEMIT || COMPILE_TEST Krzysztof mentioned that there is no such thing as ARCH_SPACEMIT, that's because this patch depends on the basic DT from dlan: https://lore.kernel.org/all/20240730-k1-01-basic-dt-v5-0-98263aae83be@xxxxxxxxxx/ > + help > + This option enables support for the I2C interface on the Spacemit K1 > + platform. > + > + If you enable this configuration, the kernel will include support for > + the I2C adapter specific to the Spacemit K1 platform. This driver ca > + be used to manage I2C bus transactions, which are necessary for > + interfacing with I2C peripherals such as sensors, EEPROMs, and other > + devices. > + > + This driver can also be compiled as a module. If you choose to build > + it as a module, the resulting kernel module will be named `i2c-k1`. > + Loading this module will enable the I2C functionality for the K1 > + platform dynamically, without requiring a rebuild of the kernel. > + > config I2C_KEBA > tristate "KEBA I2C controller support" > depends on HAS_IOMEM -- Troy Mitchell