[U-Boot] [PATCH v3 0/7] dcache support for Raspberry Pi 1

Alexander Stein
2015-07-22T18:23:31Z

This patchset enables dcache support for Raspberry Pi 1.
First the cache support code for arm1136 and 1176 was merged.
CONFIG_SYS_CACHELINE_SIZE is defined as 32 bytes which is used as alignment
for mailbox buffer allocations.
Then rpi mailbox code has now dcache flush for writing the mailbox request and
a dcache invalidation for receiving the mailbox answer.
Finally the CONFIG_SYS_DCACHE_OFF switch got removed from rpi1 config. It is
still set for rpi2 config.

dcache supprt increases the MMC read performance on RPI 1 from 5,4 MiB/s to
12.3 MiB/s. TFTP download over USB Ethernet increases from 2,3 MiB/s to
2,6 to 3,3 MiB/s (seems to vary a lot).

This was tested by the following commands:
> fatload mmc 0:1 ${kernel_addr_r} zImage
and
> tftp u-boot.bin

Changes in v3:
* dwc2 dcache support
* Use ALLOC_CACHE_ALIGN_BUFFER for mailbox buffer allocation
* Use ARCH_DMA_MINALIGN for size to roundup

Changes in v2:
* Merge arm1136/1176 cache code
* Use cacheline size as mailbox buffer alignment
* Flush/invalidate mailbox buffer up to cacheline size

Alexander Stein (7):
arm1136: Remove dead code
arm1136/arm1176: Merge cache handling code
ARM: bcm283x: Define CONFIG_SYS_CACHELINE_SIZE
ARM: bcm283x: Allocate all mailbox buffers cacheline aligned
arm/mach-bcm283x/mbox: Flush and invalidate dcache when using fw
mailbox
dwc2: Add dcache support
arm/rpi: Enable dcache

arch/arm/cpu/arm11/Makefile | 8 ++
arch/arm/cpu/arm11/cpu.c | 150 ++++++++++++++++++++++++++++
arch/arm/cpu/arm1136/Makefile | 1 -
arch/arm/cpu/arm1136/cpu.c | 160 ------------------------------
arch/arm/cpu/arm1176/Makefile | 4 +-
arch/arm/cpu/arm1176/cpu.c | 51 ----------
arch/arm/mach-bcm283x/include/mach/mbox.h | 3 +
arch/arm/mach-bcm283x/mbox.c | 9 ++
board/raspberrypi/rpi/rpi.c | 10 +-
drivers/usb/host/dwc2.c | 16 ++-
drivers/video/bcm2835.c | 4 +-
include/configs/rpi-common.h | 2 +-
include/configs/rpi_2.h | 1 +
13 files changed, 195 insertions(+), 224 deletions(-)
create mode 100644 arch/arm/cpu/arm11/Makefile
create mode 100644 arch/arm/cpu/arm11/cpu.c
delete mode 100644 arch/arm/cpu/arm1136/cpu.c
delete mode 100644 arch/arm/cpu/arm1176/cpu.c

--
2.4.6