drivers: ethernet: adin2111: add Open Alliance SPI support

Add Open Alliance spi protocol support.

Open Alliance is a chunk-based SPI protocol, based on sending
over SPI an ethernet frame divided in smaller chunks, using a
specific 32-bit header for each chunk transferred. All chunks
can be sent or received by a single dma transfer.

Default mode is set to Open Alliance SPI without protection,
since the adin2111 dev. board comes shipped this way.

Tested:
- Open Alliance SPI, no protection (default board shipped)
- Open Alliance SPI, protection
- Generic SPI, no crc
- Generic SPI, with crc8

Signed-off-by: Angelo Dureghello <adureghello@baylibre.com>
This commit is contained in:
Angelo Dureghello 2024-02-07 15:20:02 +01:00 committed by Carles Cufí
commit 0ca8b0756b
7 changed files with 488 additions and 45 deletions

View file

@ -53,6 +53,12 @@ properties:
reset-gpios:
type: phandle-array
description: The reset pin of ADIN2111.
spi-oa:
type: boolean
description: Enables Open Alliance SPI protocol.
spi-oa-protection:
type: boolean
description: Enables Open Alliance SPI protocol protection.
child-binding:
description: Port properties