From: Paolo Pisati <p.pisati@gmail.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>,
Damien Le Moal <dlemoal@kernel.org>,
Niklas Cassel <cassel@kernel.org>
Cc: linux-m68k@lists.linux-m68k.org, linux-ide@vger.kernel.org,
linux-kernel@vger.kernel.org, Lee Jones <lee@kernel.org>,
mfd@lists.linux.dev
Subject: [PATCH v1 0/7] zorro: add a CS-Lab Warp 1260 MFD
Date: Wed, 11 Nov 2026 17:37:27 +0100 [thread overview]
Message-ID: <20261111163735.227286-1-p.pisati@gmail.com> (raw)
The CS-Lab Warp 1260 is an A1200 trapdoor multifunction accelerator: it
contains a 68060, an FPGA, an ARM co-processor and several sub-devices
hanging off them. The 68k drives the IDE interface and the RTG display
controller directly, through the FPGA; the ARM owns most of the rest -
USB, SD card, WiFi, audio, the Kickstart slots, the CPU clock, fan
control and the board telemetry - and the 68k reaches it through a
dual-port RAM mailbox.
pata_cswarp, merged in 7.4-rc1, binds the board's Zorro device for the
IDE window alone. This series puts an mfd parent on the device
instead, hands the IDE window to pata_cswarp as a cell, and uses the
mailbox for a first set of board functions, exposed as sysfs
attributes on the Zorro device:
1-3 the mfd parent, pata_cswarp as its first cell, defconfig
4 the dual-port RAM command channel and the board identity
5-7 voltages and temperatures, fan duty cycle, Kickstart slot
selection
The layout - an mfd parent in drivers/zorro/ handing cells to the
function drivers - is modelled on Geert's Zorro MFD experiments [1],
which were the inspiration for this series.
The RFC [2] got no replies, so its questions still stand:
- Geert, does this fit where you wanted to take the Zorro MFD work?
Should the parent stay in drivers/zorro/, as in your experiments,
or move to drivers/mfd/? Lee, I have Cc'd you for this one.
- Would you rather see the voltages, temperatures and fan in hwmon
than as plain sysfs attributes?
- Writing kickslot makes the ARM reset the machine on the spot. Is a
sysfs attribute acceptable for that?
Changes since the RFC:
- Rebased on v7.4-rc2, which has pata_cswarp and its defconfig patch.
- Dropped the WiFi configuration patch. The board commits the SSID and
the passphrase together when the passphrase arrives, so writing the
passphrase alone clears the SSID: two independent attributes cannot
express that.
- Documented the attributes in
Documentation/ABI/testing/sysfs-driver-warp-mfd and added a
MAINTAINERS entry.
- Created the attributes through .driver.dev_groups.
- pata_cswarp: mapped the cell with devm_ioremap_resource().
- The store callback takes a size_t count, the driver includes what it
uses, and the probe banner prints the board window with %pR.
Tested on a Warp 1260 (firmware 20.27) on top of v7.4-rc2. Every patch
builds warp-mfd and pata_cswarp with W=1 for m68k.
I wrote the original version of this driver myself, by hand. An LLM
coding assistant came in later: it was used to review that code
against CS-Lab's AmigaOS sources, to write several of the fixes folded
into these patches and the ABI documentation, to split the work into
this series and to draft the commit messages. I reviewed every change
and tested the result on my Warp 1260.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git/log/?h=zorro-mfd
[2] https://lore.kernel.org/r/20261021172910.134838-1-p.pisati@gmail.com
Paolo Pisati (7):
zorro: warp mfd: add the CS-Lab Warp multifunction parent
ata: pata_cswarp: bind to the Warp mfd cell instead of the Zorro
device
m68k: defconfig: enable WARP_MFD
zorro: warp mfd: add the dual-port RAM command channel and expose the
board identity
zorro: warp mfd: expose the voltage and temperature sensors
zorro: warp mfd: expose the fan duty cycle
zorro: warp mfd: expose the Kickstart slot selection
.../ABI/testing/sysfs-driver-warp-mfd | 53 ++
MAINTAINERS | 8 +
arch/m68k/configs/amiga_defconfig | 1 +
arch/m68k/configs/multi_defconfig | 1 +
drivers/ata/Kconfig | 2 +-
drivers/ata/pata_cswarp.c | 48 +-
drivers/zorro/Kconfig | 30 ++
drivers/zorro/Makefile | 2 +
drivers/zorro/warp-mfd.c | 473 ++++++++++++++++++
drivers/zorro/warp-mfd.h | 148 ++++++
10 files changed, 734 insertions(+), 32 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-driver-warp-mfd
create mode 100644 drivers/zorro/warp-mfd.c
create mode 100644 drivers/zorro/warp-mfd.h
base-commit: 7475ea8b58616b33c04afb976cf0fbaad9dd63fb
--
2.43.0
next reply other threads:[~2026-11-11 16:37 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-11 16:37 Paolo Pisati [this message]
2026-11-11 16:37 ` [PATCH v1 1/7] zorro: warp mfd: add the CS-Lab Warp multifunction parent Paolo Pisati
2026-11-11 17:03 ` sashiko-bot
2026-11-11 18:04 ` Lee Jones
2026-11-12 15:21 ` Paolo Pisati
2026-11-11 16:37 ` [PATCH v1 2/7] ata: pata_cswarp: bind to the Warp mfd cell instead of the Zorro device Paolo Pisati
2026-11-11 17:12 ` sashiko-bot
2026-11-11 16:37 ` [PATCH v1 3/7] m68k: defconfig: enable WARP_MFD Paolo Pisati
2026-11-11 16:37 ` [PATCH v1 4/7] zorro: warp mfd: add the dual-port RAM command channel and expose the board identity Paolo Pisati
2026-11-11 17:23 ` sashiko-bot
2026-11-11 16:37 ` [PATCH v1 5/7] zorro: warp mfd: expose the voltage and temperature sensors Paolo Pisati
2026-11-11 16:37 ` [PATCH v1 6/7] zorro: warp mfd: expose the fan duty cycle Paolo Pisati
2026-11-11 16:37 ` [PATCH v1 7/7] zorro: warp mfd: expose the Kickstart slot selection Paolo Pisati
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=20261111163735.227286-1-p.pisati@gmail.com \
--to=p.pisati@gmail.com \
--cc=cassel@kernel.org \
--cc=dlemoal@kernel.org \
--cc=geert@linux-m68k.org \
--cc=lee@kernel.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=mfd@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.