]> git.dujemihanovic.xyz Git - u-boot.git/commit
ahci: provide sunxi SATA driver using AHCI platform framework
authorIan Campbell <ijc@hellion.org.uk>
Fri, 18 Jul 2014 19:38:41 +0000 (20:38 +0100)
committerHans de Goede <hdegoede@redhat.com>
Thu, 31 Jul 2014 13:37:22 +0000 (15:37 +0200)
commita6e50a88d8d3724fc75f1c6959b80a6c7c69cbad
tree820888fa2425b2cb4a3fa8dee2cae624ed4702af
parent25b4adbba018633b943a99322bfb2fb819c0bafb
ahci: provide sunxi SATA driver using AHCI platform framework

This enables the necessary clocks, in AHB0 and in PLL6_CFG. This is done
for sun7i only since I don't have access to any other sunxi platforms
with sata included.

The PHY setup is derived from the Alwinner releases and Linux, but is mostly
undocumented.

The Allwinner AHCI controller also requires some magic (and, again,
undocumented) DMA initialisation when starting a port.  This is added under a
suitable ifdef.

This option is enabled for Cubieboard, Cubieboard2 and Cubietruck based on
contents of Linux DTS files, including SATA power pin config taken from the
DTS. All build tested, but runtime tested on Cubieboard2 and Cubietruck only.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
12 files changed:
arch/arm/cpu/armv7/sunxi/clock_sun4i.c
arch/arm/include/asm/arch-sunxi/clock_sun4i.h
board/sunxi/Makefile
board/sunxi/ahci.c [new file with mode: 0644]
configs/Cubieboard2_FEL_defconfig
configs/Cubieboard2_defconfig
configs/Cubieboard_defconfig
configs/Cubietruck_FEL_defconfig
configs/Cubietruck_defconfig
drivers/block/ahci.c
include/ahci.h
include/configs/sunxi-common.h