From patchwork Thu Jan 14 14:11:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kishon Vijay Abraham I X-Patchwork-Id: 59733 Delivered-To: patch@linaro.org Received: by 10.112.130.2 with SMTP id oa2csp4030011lbb; Thu, 14 Jan 2016 06:11:57 -0800 (PST) X-Received: by 10.66.234.226 with SMTP id uh2mr6204274pac.20.1452780716949; Thu, 14 Jan 2016 06:11:56 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id uw2si9635208pac.223.2016.01.14.06.11.56; Thu, 14 Jan 2016 06:11:56 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-omap-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-omap-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754419AbcANOLz (ORCPT + 3 others); Thu, 14 Jan 2016 09:11:55 -0500 Received: from devils.ext.ti.com ([198.47.26.153]:44427 "EHLO devils.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753019AbcANOLx (ORCPT ); Thu, 14 Jan 2016 09:11:53 -0500 Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by devils.ext.ti.com (8.13.7/8.13.7) with ESMTP id u0EEBQ4b032115; Thu, 14 Jan 2016 08:11:26 -0600 Received: from DLEE71.ent.ti.com (dlee71.ent.ti.com [157.170.170.114]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id u0EEBQuB029004; Thu, 14 Jan 2016 08:11:26 -0600 Received: from dflp33.itg.ti.com (10.64.6.16) by DLEE71.ent.ti.com (157.170.170.114) with Microsoft SMTP Server id 14.3.224.2; Thu, 14 Jan 2016 08:11:25 -0600 Received: from a0393678ub.india.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by dflp33.itg.ti.com (8.14.3/8.13.8) with ESMTP id u0EEBF3g026141; Thu, 14 Jan 2016 08:11:23 -0600 From: Kishon Vijay Abraham I To: Tony Lindgren , Bjorn Helgaas , CC: Russell King , Suman Anna , , , , , Subject: [PATCH v3 2/3] ARM: DRA7: add pdata-quirks to do reset of PCIe Date: Thu, 14 Jan 2016 19:41:11 +0530 Message-ID: <1452780672-14339-3-git-send-email-kishon@ti.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1452780672-14339-1-git-send-email-kishon@ti.com> References: <1452780672-14339-1-git-send-email-kishon@ti.com> MIME-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org Create platform data for PCIe and populate it with function pointers to perform assert and deassert of PCIe reset lines. The PCIe driver can use the callbacks provided here to reset the PCIe. This will be removed once the reset contoller driver is available to reset PCIe. Signed-off-by: Kishon Vijay Abraham I Signed-off-by: Sekhar Nori --- arch/arm/mach-omap2/pdata-quirks.c | 11 +++++++++++ include/linux/platform_data/pci-dra7xx.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 include/linux/platform_data/pci-dra7xx.h -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c index 5814477..f5a65fe 100644 --- a/arch/arm/mach-omap2/pdata-quirks.c +++ b/arch/arm/mach-omap2/pdata-quirks.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "common.h" #include "common-board-devices.h" @@ -404,6 +405,14 @@ static void __init omap5_uevm_legacy_init(void) } #endif +#ifdef CONFIG_SOC_DRA7XX +static struct pci_dra7xx_platform_data dra7xx_pci_pdata = { + .reset_name = "pcie", + .assert_reset = omap_device_assert_hardreset, + .deassert_reset = omap_device_deassert_hardreset, +}; +#endif + static struct pcs_pdata pcs_pdata; void omap_pcs_legacy_init(int irq, void (*rearm)(void)) @@ -474,6 +483,8 @@ static struct of_dev_auxdata omap_auxdata_lookup[] __initdata = { #endif #ifdef CONFIG_SOC_DRA7XX OF_DEV_AUXDATA("ti,dra7-padconf", 0x4a003400, "4a003400.pinmux", &pcs_pdata), + OF_DEV_AUXDATA("ti,dra7-pcie", 0x51000000, "51000000.pcie", &dra7xx_pci_pdata), + OF_DEV_AUXDATA("ti,dra7-pcie", 0x51800000, "51800000.pcie", &dra7xx_pci_pdata), #endif #ifdef CONFIG_SOC_AM43XX OF_DEV_AUXDATA("ti,am437-padconf", 0x44e10800, "44e10800.pinmux", &pcs_pdata), diff --git a/include/linux/platform_data/pci-dra7xx.h b/include/linux/platform_data/pci-dra7xx.h new file mode 100644 index 0000000..a3bab6b --- /dev/null +++ b/include/linux/platform_data/pci-dra7xx.h @@ -0,0 +1,29 @@ +/* + * pcie-dra7xx - Platform data for PCIe controller + * + * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/ + * + * Authors: Kishon Vijay Abraham I + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __PCI_DRA7XX_H +#define __PCI_DRA7XX_H + +/** + * struct pci_dra7xx_platform_data - platform data specific to pci in dra7xx + * @reset_name: name of the reset line + * @assert_reset: callback for performing assert reset operation + * @deassert_reset: callback for performing deassert reset operation + */ +struct pci_dra7xx_platform_data { + const char *reset_name; + + int (*assert_reset)(struct platform_device *pdev, const char *name); + int (*deassert_reset)(struct platform_device *pdev, const char *name); +}; + +#endif /* __PCI_DRA7XX_H */