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@02200000 {
    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.