Re: [PATCH net-next 3/5] dt-bindings: net: adi,adin1110: Add adi,spi-oa-tc6
From: Stolniceanu, Iustin
Date: Fri Nov 06 2026 - 06:36:20 EST
On Wed, Nov 04, 2026 at 03:12:41PM +0100, Alvin Šipraga wrote:
> Should this disallow the adi,spi-crc property if set?
Yes. adi,spi-crc only applies to the generic SPI protocol, so in v2
the binding no longer allows it together with adi,spi-oa-tc6.
> I also see that there's a similar protection concept in OA TC6, but that
> seems not to be supported here? Is that intrinsically the same as adi,spi-crc?
It is the same strap (SPI_CFG0) and the same bit (CONFIG0.PROTE), but
it's a different mechanism. In OA TC6 mode every control word is sent
together with its complement, whereas the generic protocol appends a
CRC8. PROTE is read-only and latched from SPI_CFG0 at reset.
It is supported, but it needs no DT property. oa_tc6_init() reads
CONFIG0.PROTE (oa_tc6_check_ctrl_protection()) and enables control
protection when the bit is set. I checked this on an EVAL-ADIN1110EBZ
with SPI_CFG0 in both positions. With protection strapped, CONFIG0 reads
0x8026 (PROTE set), every reply carries the complement, and the driver
works without any extra property.
That's also the difference between the two straps. SPI_CFG0
(protection/CRC) can be read back through CONFIG0.PROTE, but SPI_CFG1
(generic SPI vs OA TC6) has no register at all. So only the protocol
needs a DT property, which is why adi,spi-oa-tc6 exists.
Thanks,
Iustin