KEBA PLCs use a PCIe FPGA to implement several functions in a common way. This is a first step to include basic support for this FPGA. Under drivers/misc the cp500 PCI driver is added. This drivers creates platform devices for every function inside the FPGA. As a first step it only creates platform devices for the I2C controllers. The I2C controller driver is added under drivers/i2c/busses like all the other I2C controller drivers. This patches enable access to the EEPROMs and to the hardware monitoring chip of KEBA PLCs. Gerhard Engleder (2): i2c: keba: Add KEBA I2C controller support misc: keba: Add basic KEBA CP500 system FPGA support drivers/i2c/busses/Kconfig | 10 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-keba.c | 585 +++++++++++++++++++++++++ drivers/misc/Kconfig | 1 + drivers/misc/Makefile | 1 + drivers/misc/keba/Kconfig | 12 + drivers/misc/keba/Makefile | 3 + drivers/misc/keba/cp500.c | 433 ++++++++++++++++++ include/linux/platform_data/i2c-keba.h | 23 + 9 files changed, 1069 insertions(+) create mode 100644 drivers/i2c/busses/i2c-keba.c create mode 100644 drivers/misc/keba/Kconfig create mode 100644 drivers/misc/keba/Makefile create mode 100644 drivers/misc/keba/cp500.c create mode 100644 include/linux/platform_data/i2c-keba.h -- 2.39.2