[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1457733134-25090-1-git-send-email-u.kleine-koenig@pengutronix.de>
Date: Fri, 11 Mar 2016 22:52:11 +0100
From: Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>
To: linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: kernel@...gutronix.de
Subject: [RFC PATCH 0/3] new bus type siox
Hello,
this is a patch set for a new bus type called SIOX created by the German
company Eckelmann. This is a bus with four data lines. The signales DIN (from
devices to master) and DOUT (from master to devices) are daisy chained through
all devices. DLD and DCLK are shared. A pulse on DCLK pushs bits on the DIN and
DOUT chains in the respective direction. A pulse on DLD makes the devices
sample their input and output stated from/to DIN and DOUT.
There are still some open issues, at least:
- the bus logic is still broken somehow. When a bus with two devices is
instantiated and the siox-bus-gpio module is unloaded, the bus master
(siox-0) disappears, but the two devices (siox-0-0 and siox-0-1)
don't.
- no device tree binding doc for bus driver
- the devices should be polled each 25 ms, otherwise a per-device
watchdog resets the device. I'm currently using a workqueue for that,
and on a loaded machine sometimes the watchdog triggers. So maybe I
need a different approach here? But I didn't debug that yet, so this
is just FYI.
- some mechanism (I thought about an uevent) to report that a watchdog
triggered would be nice.
I asked a few questions in #kernelnewbies to solve the first issue, Greg
asked for a code drop, so here it is.
Thanks for your time and interest,
Uwe
Uwe Kleine-König (3):
siox: new driver/bus framework for Eckelmann SIOX
siox: add gpio bus driver
gpio: new driver to work with a 8x12 siox
drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/gpio/Kconfig | 5 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-siox.c | 280 +++++++++++++++++++++
drivers/siox/Kconfig | 9 +
drivers/siox/Makefile | 2 +
drivers/siox/siox-bus-gpio.c | 168 +++++++++++++
drivers/siox/siox-core.c | 572 +++++++++++++++++++++++++++++++++++++++++++
drivers/siox/siox.h | 48 ++++
include/linux/siox.h | 53 ++++
11 files changed, 1141 insertions(+)
create mode 100644 drivers/gpio/gpio-siox.c
create mode 100644 drivers/siox/Kconfig
create mode 100644 drivers/siox/Makefile
create mode 100644 drivers/siox/siox-bus-gpio.c
create mode 100644 drivers/siox/siox-core.c
create mode 100644 drivers/siox/siox.h
create mode 100644 include/linux/siox.h
--
2.7.0
Powered by blists - more mailing lists