summaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch')
-rw-r--r--target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch136
1 files changed, 0 insertions, 136 deletions
diff --git a/target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch b/target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch
deleted file mode 100644
index 5db5d9d69b..0000000000
--- a/target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From c5ea64dcf7b5d45e402e78b9f291d521669b7b80 Mon Sep 17 00:00:00 2001
-From: Kumar Gala <galak@codeaurora.org>
-Date: Fri, 30 May 2014 15:35:40 -0500
-Subject: [PATCH 142/182] ata: Add Qualcomm ARM SoC AHCI SATA host controller
- driver
-
-Add support for the Qualcomm AHCI SATA controller that exists on several
-SoC and specifically the IPQ806x family of chips. The IPQ806x SATA support
-requires the associated IPQ806x SATA PHY Driver to be enabled as well.
-
-Signed-off-by: Kumar Gala <galak@codeaurora.org>
----
- drivers/ata/Kconfig | 10 ++++++
- drivers/ata/Makefile | 1 +
- drivers/ata/ahci_qcom.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 97 insertions(+)
- create mode 100644 drivers/ata/ahci_qcom.c
-
---- a/drivers/ata/Kconfig
-+++ b/drivers/ata/Kconfig
-@@ -122,6 +122,16 @@ config AHCI_IMX
-
- If unsure, say N.
-
-+config AHCI_QCOM
-+ tristate "Qualcomm AHCI SATA support"
-+ depends on ARCH_QCOM
-+ help
-+ This option enables support for AHCI SATA controller
-+ integrated into Qualcomm ARM SoC chipsets. For more
-+ information please refer to http://www.qualcomm.com/chipsets.
-+
-+ If unsure, say N.
-+
- config SATA_FSL
- tristate "Freescale 3.0Gbps SATA support"
- depends on FSL_SOC
---- a/drivers/ata/Makefile
-+++ b/drivers/ata/Makefile
-@@ -11,6 +11,7 @@ obj-$(CONFIG_SATA_SIL24) += sata_sil24.o
- obj-$(CONFIG_SATA_DWC) += sata_dwc_460ex.o
- obj-$(CONFIG_SATA_HIGHBANK) += sata_highbank.o libahci.o
- obj-$(CONFIG_AHCI_IMX) += ahci_imx.o libahci.o libahci_platform.o
-+obj-$(CONFIG_AHCI_QCOM) += ahci_qcom.o libahci.o libahci_platform.o
-
- # SFF w/ custom DMA
- obj-$(CONFIG_PDC_ADMA) += pdc_adma.o
---- /dev/null
-+++ b/drivers/ata/ahci_qcom.c
-@@ -0,0 +1,86 @@
-+/*
-+ * Qualcomm ARM SoC AHCI SATA platform driver
-+ *
-+ * based on the AHCI SATA platform driver by Jeff Garzik and Anton Vorontsov
-+ *
-+ * Copyright (c) 2014, The Linux Foundation. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 and
-+ * only version 2 as published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/pm.h>
-+#include <linux/device.h>
-+#include <linux/platform_device.h>
-+#include <linux/libata.h>
-+#include <linux/ahci_platform.h>
-+#include "ahci.h"
-+
-+static const struct ata_port_info qcom_ahci_port_info = {
-+ .flags = AHCI_FLAG_COMMON,
-+ .pio_mask = ATA_PIO4,
-+ .udma_mask = ATA_UDMA6,
-+ .port_ops = &ahci_platform_ops,
-+};
-+
-+static int qcom_ahci_probe(struct platform_device *pdev)
-+{
-+ struct ahci_host_priv *hpriv;
-+ struct clk *rxoob_clk;
-+ int rc;
-+
-+ hpriv = ahci_platform_get_resources(pdev);
-+ if (IS_ERR(hpriv))
-+ return PTR_ERR(hpriv);
-+
-+ /* Try and set the rxoob clk to 100Mhz */
-+ rxoob_clk = of_clk_get_by_name(pdev->dev.of_node, "rxoob");
-+ if (IS_ERR(rxoob_clk))
-+ return PTR_ERR(rxoob_clk);
-+
-+ rc = clk_set_rate(rxoob_clk, 100000000);
-+ if (rc)
-+ return rc;
-+
-+ rc = ahci_platform_enable_resources(hpriv);
-+ if (rc)
-+ return rc;
-+
-+ rc = ahci_platform_init_host(pdev, hpriv, &qcom_ahci_port_info, 0, 0);
-+ if (rc)
-+ goto disable_resources;
-+
-+ return 0;
-+disable_resources:
-+ ahci_platform_disable_resources(hpriv);
-+ return rc;
-+}
-+
-+static const struct of_device_id qcom_ahci_of_match[] = {
-+ { .compatible = "qcom,msm-ahci", },
-+ {},
-+};
-+MODULE_DEVICE_TABLE(of, qcom_ahci_of_match);
-+
-+static struct platform_driver qcom_ahci_driver = {
-+ .probe = qcom_ahci_probe,
-+ .remove = ata_platform_remove_one,
-+ .driver = {
-+ .name = "qcom_ahci_qcom",
-+ .owner = THIS_MODULE,
-+ .of_match_table = qcom_ahci_of_match,
-+ },
-+};
-+module_platform_driver(qcom_ahci_driver);
-+
-+MODULE_DESCRIPTION("Qualcomm AHCI SATA platform driver");
-+MODULE_LICENSE("GPL v2");
-+MODULE_ALIAS("ahci:qcom");