summaryrefslogtreecommitdiffstats
path: root/sys/arm/conf
diff options
context:
space:
mode:
authorloos <loos@FreeBSD.org>2015-07-03 14:11:01 +0000
committerloos <loos@FreeBSD.org>2015-07-03 14:11:01 +0000
commit608f583b4ae1f568202d3934bcd89a580dcc7738 (patch)
treec0f6c5f237b89d3d8cad86e7f63a83c5f1545a50 /sys/arm/conf
parent1962880fa3400b8ad71e27d8312339527507ea91 (diff)
downloadFreeBSD-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/CUBIEBOARD4
-rw-r--r--sys/arm/conf/CUBIEBOARD24
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.
OpenPOWER on IntegriCloud