From: Heiko Stuebner <heiko@sntech.de>
To: lee@kernel.org, jdelvare@suse.com, linux@roeck-us.net,
dmitry.torokhov@gmail.com, pavel@ucw.cz
Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
heiko@sntech.de, ukleinek@debian.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-hwmon@vger.kernel.org,
linux-input@vger.kernel.org, linux-leds@vger.kernel.org
Subject: [PATCH 0/7] Drivers to support the MCU on QNAP NAS devices
Date: Thu, 25 Jul 2024 21:45:32 +0200 [thread overview]
Message-ID: <20240725194539.1780790-1-heiko@sntech.de> (raw)
This implements a set of drivers for the MCU used on QNAP NAS devices.
Of course no documentation for the serial protocol is available, so
thankfully QNAP has a tool on their rescue-inird to talk to the MCU and
I found interceptty [0] to listen to what goes over the serial connection.
In general it looks like there are two different generations in general,
an "EC" device and now this "MCU" - referenced in the strings of the
userspace handlers for those devices.
For the MCU "SPEC3" and "SPEC4" are listed which is configured in
the model.conf of the device. When setting the value from SPEC4 to
SPEC3 on my TS433, the supported commands change, but the command
interface stays the same and especially the version command is the
same.
The binding also does not expose any interals of the device that
might change, so hopefully there shouldn't be big roadblocks to
support different devices, apart from possibly adapting the commands.
[0] https://github.com/geoffmeyers/interceptty
Heiko Stuebner (7):
dt-bindings: mfd: add binding for qnap,mcu devices
mfd: add base driver for qnap-mcu devices
leds: add driver for LEDs from qnap-mcu devices
Input: add driver for the input part of qnap-mcu devices
hwmon: add driver for the hwmon parts of qnap-mcu devices
arm64: dts: rockchip: hook up the MCU on the QNAP TS433
arm64: dts: rockchip: set hdd led labels on qnap-ts433
.../devicetree/bindings/mfd/qnap,mcu.yaml | 43 +++
.../boot/dts/rockchip/rk3568-qnap-ts433.dts | 58 +++
drivers/hwmon/Kconfig | 12 +
drivers/hwmon/Makefile | 1 +
drivers/hwmon/qnap-mcu-hwmon.c | 352 +++++++++++++++++
drivers/input/misc/Kconfig | 12 +
drivers/input/misc/Makefile | 1 +
drivers/input/misc/qnap-mcu-input.c | 156 ++++++++
drivers/leds/Kconfig | 11 +
drivers/leds/Makefile | 1 +
drivers/leds/leds-qnap-mcu.c | 247 ++++++++++++
drivers/mfd/Kconfig | 10 +
drivers/mfd/Makefile | 2 +
drivers/mfd/qnap-mcu.c | 356 ++++++++++++++++++
include/linux/mfd/qnap-mcu.h | 28 ++
15 files changed, 1290 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/qnap,mcu.yaml
create mode 100644 drivers/hwmon/qnap-mcu-hwmon.c
create mode 100644 drivers/input/misc/qnap-mcu-input.c
create mode 100644 drivers/leds/leds-qnap-mcu.c
create mode 100644 drivers/mfd/qnap-mcu.c
create mode 100644 include/linux/mfd/qnap-mcu.h
--
2.39.2
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next reply other threads:[~2024-07-25 19:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-25 19:45 Heiko Stuebner [this message]
2024-07-25 19:45 ` [PATCH 1/7] dt-bindings: mfd: add binding for qnap,mcu devices Heiko Stuebner
2024-07-26 10:04 ` Krzysztof Kozlowski
2024-07-25 19:45 ` [PATCH 2/7] mfd: add base driver for qnap-mcu devices Heiko Stuebner
2024-07-25 19:45 ` [PATCH 3/7] leds: add driver for LEDs from " Heiko Stuebner
2024-07-25 19:45 ` [PATCH 4/7] Input: add driver for the input part of " Heiko Stuebner
2024-07-25 19:45 ` [PATCH 5/7] hwmon: add driver for the hwmon parts " Heiko Stuebner
2024-07-26 14:15 ` Guenter Roeck
2024-07-25 19:45 ` [PATCH 6/7] arm64: dts: rockchip: hook up the MCU on the QNAP TS433 Heiko Stuebner
2024-07-25 19:45 ` [PATCH 7/7] arm64: dts: rockchip: set hdd led labels on qnap-ts433 Heiko Stuebner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240725194539.1780790-1-heiko@sntech.de \
--to=heiko@sntech.de \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=jdelvare@suse.com \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux@roeck-us.net \
--cc=pavel@ucw.cz \
--cc=robh@kernel.org \
--cc=ukleinek@debian.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox