diff options
author | loos <loos@FreeBSD.org> | 2015-07-03 14:11:01 +0000 |
---|---|---|
committer | loos <loos@FreeBSD.org> | 2015-07-03 14:11:01 +0000 |
commit | 608f583b4ae1f568202d3934bcd89a580dcc7738 (patch) | |
tree | c0f6c5f237b89d3d8cad86e7f63a83c5f1545a50 /sys/arm/conf | |
parent | 1962880fa3400b8ad71e27d8312339527507ea91 (diff) | |
download | FreeBSD-src-608f583b4ae1f568202d3934bcd89a580dcc7738.zip FreeBSD-src-608f583b4ae1f568202d3934bcd89a580dcc7738.tar.gz |
Add AHCI attachment code for Allwinner A10/A20 SoCs.
The Allwinner SoC has an AHCI device on its internal main bus rather
than the PCI bus. This SoC is somewhat underdocumented, and its SATA
controller is no exception. The methods to support this chip were
harvested from the Linux Allwinner SDK, and then constants invented to
describe what's going on based on low-level constants contained in the
SATA standard and guess work.
This SoC requires a specific AHCI channel setup in order to start the
operations on the channel properly.
Clock setup and AHCI channel setup idea came from NetBSD.
Tested on Cubieboard 2 and Banana pi (and attachment on Cubieboard by
Pratik Singhal).
Differential Revision: https://reviews.freebsd.org/D737
Submitted by: imp
Reviewed by: imp, ganbold, mav, andrew
Diffstat (limited to 'sys/arm/conf')
-rw-r--r-- | sys/arm/conf/CUBIEBOARD | 4 | ||||
-rw-r--r-- | sys/arm/conf/CUBIEBOARD2 | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/arm/conf/CUBIEBOARD b/sys/arm/conf/CUBIEBOARD index c1df03a..2de16f7 100644 --- a/sys/arm/conf/CUBIEBOARD +++ b/sys/arm/conf/CUBIEBOARD @@ -57,7 +57,7 @@ device mmc # mmc/sd bus device mmcsd # mmc/sd flash cards # ATA controllers -#device ahci # AHCI-compatible SATA controllers +device ahci # AHCI-compatible SATA controllers #device ata # Legacy ATA/SATA controllers #options ATA_STATIC_ID # Static device numbering @@ -78,7 +78,7 @@ device gpio device scbus # SCSI bus (required for ATA/SCSI) device da # Direct Access (disks) -device pass +device pass # Passthrough device (direct ATA/SCSI access) # USB support options USB_HOST_ALIGN=64 # Align usb buffers to cache line size. diff --git a/sys/arm/conf/CUBIEBOARD2 b/sys/arm/conf/CUBIEBOARD2 index c8fded0..5330725 100644 --- a/sys/arm/conf/CUBIEBOARD2 +++ b/sys/arm/conf/CUBIEBOARD2 @@ -61,7 +61,7 @@ device mmc # mmc/sd bus device mmcsd # mmc/sd flash cards # ATA controllers -#device ahci # AHCI-compatible SATA controllers +device ahci # AHCI-compatible SATA controllers #device ata # Legacy ATA/SATA controllers #options ATA_STATIC_ID # Static device numbering @@ -82,7 +82,7 @@ device gpio device scbus # SCSI bus (required for ATA/SCSI) device da # Direct Access (disks) -device pass +device pass # Passthrough device (direct ATA/SCSI access) # USB support options USB_HOST_ALIGN=64 # Align usb buffers to cache line size. |