The NXP i.MX6 CPU Quad and Dual variants include an integrated Serial Advanced Technology Attachment (SATA) controller that is compatible with the Advanced Host Controller Interface (AHCI) specification.

The ConnectCore 6 SBC includes one SATA connector.

Kernel configuration

You can manage SATA driver support through the following kernel configuration option:

  • Serial ATA and Parallel ATA drivers (CONFIG_SATA_AHCI_PLATFORM)

This option is enabled as built-in on the ConnectCore 6 SBC kernel configuration file.

Kernel driver

The AHCI SATA platform driver is located at drivers/ata/ahci_imx.c.

Device tree bindings and customization

File Description

Documentation/devicetree/bindings/ata/ahci-platform.txt

AHCI platform device tree binding

The device tree node for the AHCI SATA driver is defined in the common i.MX6 device tree:

Common ConnectCore 6 device tree
sata: sata@2200000 {
	compatible = "fsl,imx6q-ahci";
	reg = <0x02200000 0x4000>;
	interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
	clocks = <&clks IMX6QDL_CLK_SATA>,
	         <&clks IMX6QDL_CLK_SATA_REF_100M>,
	         <&clks IMX6QDL_CLK_AHB>;
	clock-names = "sata", "sata_ref", "ahb";
	status = "disabled";
};

SATA is enabled on the ConnectCore 6 SBC device tree:

ConnectCore 6 SBC device tree
&sata {
	status = "okay";
};

SATA user space usage

Serial ATA disks are detected by the kernel during the boot process and assigned a device node in the form sdx. Partitions in the drive appear as nodes in the form sdxN, N being the partition number.

Serial ATA disks support hot-plugging as long as the proper power cables are used. Adaptors from legacy Molex-type connectors to SATA connectors will not provide safe hotplugging.