[PATCH 3/3] riscv: dts: allwinner: d1-t113: Add the hardware spinlock
Conor Dooley
conor.dooley at microchip.com
Fri Oct 2 00:32:51 PDT 2026
On Wed, Sep 30, 2026 at 02:05:47PM +0000, Wilken Gottwalt wrote:
> On Wed, 30 Sep 2026 20:02:21 +0700
> Nguyen Minh Tien <tien.nguyenminh at embeddedlinux.blog> wrote:
>
> > Hi Wilken,
> >
> > > Wouldn't it make more sense to add the "allwinner,sun20i-d1-hwspinlock" line to
> > > the driver in the sun6i_hwspinlock_ids struct, drop
> > > "allwinner,sun6i-a31-hwspinlock" here in the D1 device tree and update the yaml
> > > file accordingly?
> >
> > Thanks for looking at it. Bjorn hasn't replied yet, so I looked a bit
> > more at the naming. I'd like to keep the A31 fallback: it's the usual
> > pattern, other blocks in this dtsi do the same (timer, I2S, LED
> > controller), and Conor already acked the binding in 2/3. If Bjorn
> > prefers a driver entry instead, I'm fine to change it.
>
> Yeah, Conor was a bit quick to act here, such things happen often with patchsets
> made out of documentation/devicetrees and code. Though, the get clock and resets
> patch is fine. The driver could use some modernization.
I dunno, was I too quick to act? The patched looked correct to me, since
it was using a fallback to a device that it appears to be compatible
with. Had the series done what you're suggesting, my review feedback
would have been to tell the Tien to add a fallback.
> > Bjorn, what do you think? Just stay with the "allwinner,sun6i-a31-hwspinlock"
> > string or add all the possible combinations like
> > "allwinner,sun8i-h2-plus-hwspinlock" or "allwinner,sun8i-a83t-hwspinlock".
> > I mean, it is just a naming game and there are 10+ SoCs supporting this
> > spinlock register file
All devices compatible with the a31 should use the a31 as a fallback.
>
> > > Oh, and I may be able to test it against the D1, I own a Sipeed Nezha.
> >
> > That would be great. You don't need FreeRTOS for it: I tested with a
> > small Linux module that takes each lock and checks the status
> > register. I can clean it up for the single-core D1 and send it.
>
> Uhm, the Linux-only test doesn't work as a hwspinlock test, it misses the entire
> point of the primitive. A hwspinlock arbitrates between two independent agents,
> in this case, Linux running on the C906 core and FreeRTOS running on the HiFi
> DSP, both sharing the same memory bus and other hardware. If Linux is the only
> one who ever takes the locks, it is simultaneously writer and reader of the status
> register, so the test cannot fail even for a broken (or fake) implementation. That
> would basically test nothing at all, well, maybe it would be some kind of bring-up
> test, but overall quite useless.
>
> greetings,
> Wilken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-riscv/attachments/20261002/3edac4ad/attachment.sig>
More information about the linux-riscv
mailing list