[U-Boot] [U-Boot, 7/8] rockchip: spi: add driver-data and a 'rxonly_manages_fifo' flag

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Tue Apr 23 14:31:21 UTC 2019


> The SPI controller's documentation (I only had access to the RK3399,
> RK3368 and PX30 TRMs) specifies that, when operating in master-mode,
> the controller will stop the SCLK to avoid RXFIFO overruns and TXFIFO
> underruns.  Looks like my worries that we'd need to support DMA-330
> (aka PL330) to make any further progress were unfounded.
> 
> This adds a driver-data structure to capture hardware-specific
> settings of individual controller instances (after all, we don't know
> if all versions are well-behaved) and adds a 'master_manages_fifo'
> flag to it.  The first use of said flag is in the optimised
> receive-only transfer-handler, which can now request 64Kframe
> (i.e. 128KByte) bursts of data on each reprogramming of CTRLR1
> (i.e. every time through the loop).
> 
> This improves throughput to 46.85MBit/s (a 94.65% bus-utilisation).
> 
> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
> ---
> 
>  drivers/spi/rk_spi.c | 24 ++++++++++++++++++++++--
>  1 file changed, 22 insertions(+), 2 deletions(-)
> 

Applied to u-boot-rockchip, thanks!


More information about the U-Boot mailing list