From: Xu Yilun <yilun.xu@linux.intel.com>
To: Heiko Schocher <hs@nabladev.com>
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-fpga@vger.kernel.org,
Bartosz Golaszewski <brgl@kernel.org>,
Linus Walleij <linusw@kernel.org>,
Michal Simek <michal.simek@amd.com>,
Moritz Fischer <mdf@kernel.org>, Tom Rix <trix@redhat.com>,
Xu Yilun <yilun.xu@intel.com>,
linux-gpio@vger.kernel.org
Subject: Re: [PATCH v4] driver: fpga: xilinx-selectmap: add csi and rdwr support
Date: Wed, 9 Sep 2026 02:59:32 +0800 [thread overview]
Message-ID: <aqBbFGExUpS0k0yE@yilunxu-OptiPlex-7050> (raw)
In-Reply-To: <6a489d2b-b5d1-0455-793f-f4100fd3b3d1@nabladev.com>
> I would change v5 commit message to:
> """
> The driver requests the optional CSI_B and RDWR_B GPIOs with
> GPIOD_OUT_HIGH and never touches them again. That flag carries a
> logical value, so both signals end up asserted on every board,
> whatever polarity the device tree states.
Yeah, that's clear now.
>
> Keeping them asserted works as long as a single FPGA owns the
> SelectMAP port. That FPGA is the only device on the bus, so it may
> stay selected, and the driver never reads from it, so the port may
> stay in write mode.
I think keeping them asserted is a bad idea even for single FPGA, isn't
it?
>
> It stops working as soon as two FPGAs share one SelectMAP data bus,
> which is the case CSI_B exists for. Both devices are selected all
> the time, so every byte written for one of them is clocked into the
> other as well, and neither can be configured on its own.
>
> CSI_B (Chip Select) selects the target FPGA. Assert it before the
> configuration data is transferred and deassert it afterwards, so that
> only the intended device sees the bus cycles.
What if we re-program the 2 FPGAs at the same time? Is there still
chance the 2 CS lines are all asserted? Can they be correctly
re-programmed in this case?
I mean I think this patch does fix the problem of "always assertion",
which is good to me. But the changelog seems stop me, it talks all about
2 FPGAs sharing the same bus, which seems more complex than just
manipulating the CS.
Thanks,
Yilun
>
> RDWR_B (Read/Write) selects the transfer direction on the SelectMAP
> interface. Assert it for the write cycles that carry the bitstream and
> deassert it afterwards. UG570 wants RDWR_B settled before CSI_B is
> asserted, a change while the device is selected aborts the
> configuration on the next CCLK.
>
> Both are requested with GPIOD_OUT_LOW now, the logical 0 that leaves
> them deasserted, and their descriptors are kept in the driver private
> data.
>
> A board with one FPGA keeps working. SelectMAP allows the bitstream to
> be loaded non-continuously, with CSI_B deasserted between the data
> transfers, and a deselected device ignores the bus.
> """
next prev parent reply other threads:[~2026-09-08 18:59 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-10 6:20 [PATCH v4] driver: fpga: xilinx-selectmap: add csi and rdwr support Heiko Schocher
2026-09-02 4:54 ` Heiko Schocher
2026-09-06 16:45 ` Xu Yilun
2026-09-07 5:36 ` Heiko Schocher
2026-09-08 18:59 ` Xu Yilun [this message]
[not found] ` <fb783b51-d5cb-c2ae-9d26-11df39e40aa8@nabladev.com>
2026-09-09 6:43 ` Xu Yilun
2026-09-09 10:06 ` Heiko Schocher
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=aqBbFGExUpS0k0yE@yilunxu-OptiPlex-7050 \
--to=yilun.xu@linux.intel.com \
--cc=brgl@kernel.org \
--cc=hs@nabladev.com \
--cc=linusw@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fpga@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mdf@kernel.org \
--cc=michal.simek@amd.com \
--cc=trix@redhat.com \
--cc=yilun.xu@intel.com \
/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