[RFC 0/3] add Inter Chip Communication framework

From: fixed-term.Oleksij.Rempel
Date: Wed Nov 09 2016 - 01:04:38 EST


From: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx>

Hallo all,

i'm working on upstreamable version of ICC (Inter Chip Communication)
framework. It is used to provide kernel level abstraction for functionality
located in neighbor SoC or MCU.
The idea is not really different from existing driver/hsi, but currently it
seems to be painful to rework it to fit our needs.
The structure of ICC is fallowing:
- transport level: currently only SSI32 (based on SPI) is provided.
I can imagine that HSI (drivers/hsi) and HTC (ath9k-htc) can be placed
here too.
- icc bus: provides an upstraction level for icc clients
- icc clients. Drivers for: char device, watchdog, rtc, CAN, gpio.

Current patchset I a request for comments, before I'll start to bug you will
patch reviews und PRs.
Please let me know if i'm going to right or wrong direction.

Oleksij Rempel (3):
icc: add add SSI32 transport driver
watchdog: add icc watchdog driver
char: add icc_char device

drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/char/Kconfig | 9 ++
drivers/char/Makefile | 1 +
drivers/char/icc_char.c | 280 +++++++++++++++++++++++++++++++++++
drivers/icc/Kconfig | 13 ++
drivers/icc/Makefile | 5 +
drivers/icc/icc_bus.c | 204 ++++++++++++++++++++++++++
drivers/icc/ssi32/Kconfig | 12 ++
drivers/icc/ssi32/Makefile | 6 +
drivers/icc/ssi32/ssi32_prot.c | 256 ++++++++++++++++++++++++++++++++
drivers/icc/ssi32/ssi32_prot.h | 94 ++++++++++++
drivers/icc/ssi32/ssi32_spi_hif.c | 300 ++++++++++++++++++++++++++++++++++++++
drivers/icc/ssi32/ssi32_spi_hif.h | 40 +++++
drivers/watchdog/Kconfig | 8 +
drivers/watchdog/Makefile | 1 +
drivers/watchdog/icc_wdt.c | 185 +++++++++++++++++++++++
include/linux/icc/icc.h | 88 +++++++++++
include/linux/icc/ssi32.h | 32 ++++
19 files changed, 1537 insertions(+)
create mode 100644 drivers/char/icc_char.c
create mode 100644 drivers/icc/Kconfig
create mode 100644 drivers/icc/Makefile
create mode 100644 drivers/icc/icc_bus.c
create mode 100644 drivers/icc/ssi32/Kconfig
create mode 100644 drivers/icc/ssi32/Makefile
create mode 100644 drivers/icc/ssi32/ssi32_prot.c
create mode 100644 drivers/icc/ssi32/ssi32_prot.h
create mode 100644 drivers/icc/ssi32/ssi32_spi_hif.c
create mode 100644 drivers/icc/ssi32/ssi32_spi_hif.h
create mode 100644 drivers/watchdog/icc_wdt.c
create mode 100644 include/linux/icc/icc.h
create mode 100644 include/linux/icc/ssi32.h

--
1.9.1