From patchwork Fri Nov 15 09:23:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wasim Khan X-Patchwork-Id: 1195493 X-Patchwork-Delegate: priyanka.jain@nxp.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="h7ubOC5e"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 47DtHW293Gz9sPV for ; Fri, 15 Nov 2019 20:25:27 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id D7668C21E53; Fri, 15 Nov 2019 09:24:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=SPF_HELO_PASS, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 0EE99C21E36; Fri, 15 Nov 2019 09:23:59 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E38E0C21C57; Fri, 15 Nov 2019 09:23:45 +0000 (UTC) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70072.outbound.protection.outlook.com [40.107.7.72]) by lists.denx.de (Postfix) with ESMTPS id 556F9C21E36 for ; Fri, 15 Nov 2019 09:23:42 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YWbcVWtlEar7zKZwsI7dqiJBMS1aDaCMvMC5HTi9z4R6xBb+ZoXokzpSUEnnxwTvnfKzk4LmNwEU6OHvJXVoc+XBs3qtbhoMfnLg1l9uZVNwrIueV+NKTKr76jsGVgBTohUfjQzO7KDB8oyGGLKZD+b53eP7Xgu6WiQoihm+ABE/lmiNJZ/rr8y3s9uQQW5ltVSNtxgAOQDjENa0MXH3IhJct+1CaXyIdl5GdtG1REakkXwhaEcm/enp4QZ86yxNrypAW6DhneoXUH3ry5mpJgtL7B7sX1h4vKAZZO4kNDC3NmM7NvE42eEqcN3PkIVovl6VVmh2jd/7YIWeb2DO4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5+TH/ExNJq3KP/5ebzuflVnBbwfcYQ3A6I3iSqFmis4=; b=Jkkpb4QvwJQ8SdKfzJ5vonSb1PoEsnr12wA0cLmi9MZRLTeFigS3JTj7QzASj3L13cOhW70VK+fjOn7mZijX15zKiikOjFdswM5bTVPYgR9tWMzEWpbVKTCX1eiYaVRPOEvcNCvdZwSLG6j7CAkF/RUHF3NFFUz3N0p93uTaHzpbLQxzGkg4edOcLrTqLOLyUM3S58LtQvjOXLc5KpvCXCEqguUc+DfjuucOG0XKTJSVeONE38Fn9z6rj2UQlJpOlg2NpEVLcZS1UYWW1O31pOwznUhNxaoWZo7sZ9qIqRm4keE6Tg7IoYFCQJsc8QLJN2/2NzIexGJO2OJV/SUdhQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5+TH/ExNJq3KP/5ebzuflVnBbwfcYQ3A6I3iSqFmis4=; b=h7ubOC5eojVUA6koI1tc6ilO/1lQFrcM8RtG6KJBt79i/CuVZdQRFLJxtHFlmjXjLQNBZiKeRnVZ9+TedN87R6g5qI4yUyDF82Thr5wlDqpRoZ5o+cL6LiuN3NlMCLFHRTASqubnnBlpJz7E7MyYjE0TeObzgldJv3/Yag7zQDg= Received: from VE1PR04MB6702.eurprd04.prod.outlook.com (20.179.234.141) by VE1PR04MB6415.eurprd04.prod.outlook.com (20.179.232.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.23; Fri, 15 Nov 2019 09:23:41 +0000 Received: from VE1PR04MB6702.eurprd04.prod.outlook.com ([fe80::e5e3:ef9:4ad0:ecc]) by VE1PR04MB6702.eurprd04.prod.outlook.com ([fe80::e5e3:ef9:4ad0:ecc%7]) with mapi id 15.20.2451.029; Fri, 15 Nov 2019 09:23:41 +0000 From: Wasim Khan To: Priyanka Jain , "Z.q. Hou" Thread-Topic: [PATCH v3 6/9] pci: layerscape: Common device tree fixup for NXP SoCs Thread-Index: AQHVm5ZeXJOP3DR7n0yf657usXhndQ== Date: Fri, 15 Nov 2019 09:23:41 +0000 Message-ID: <1573809796-1196-7-git-send-email-wasim.khan@nxp.com> References: <1573809796-1196-1-git-send-email-wasim.khan@nxp.com> In-Reply-To: <1573809796-1196-1-git-send-email-wasim.khan@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SG2PR0302CA0001.apcprd03.prod.outlook.com (2603:1096:3:2::11) To VE1PR04MB6702.eurprd04.prod.outlook.com (2603:10a6:803:123::13) authentication-results: spf=none (sender IP is ) smtp.mailfrom=wasim.khan@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.7.4 x-originating-ip: [14.142.151.118] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: c7b7011d-9aac-42eb-2eeb-08d769ad80e3 x-ms-traffictypediagnostic: VE1PR04MB6415:|VE1PR04MB6415: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:163; x-forefront-prvs: 02229A4115 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6029001)(1496009)(4636009)(366004)(346002)(376002)(396003)(39860400002)(136003)(199004)(189003)(52116002)(316002)(71200400001)(71190400001)(66476007)(66556008)(66446008)(8936002)(478600001)(66066001)(64756008)(36756003)(186003)(66946007)(7736002)(110136005)(6636002)(102836004)(55236004)(6512007)(6506007)(386003)(256004)(26005)(305945005)(4326008)(6436002)(86362001)(3846002)(25786009)(2906002)(6116002)(50226002)(44832011)(5660300002)(54906003)(81166006)(81156014)(76176011)(6486002)(446003)(8676002)(99286004)(14454004)(11346002)(476003)(2616005)(486006); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR04MB6415; H:VE1PR04MB6702.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UKkD+o2zglyXIk5093qOgn0O5xP6rUJgEwzFPLBgtmtNM52WNM2KPbiGAC+fTsDDWScIpO1aenUyz3r+XBIq8//26wjC8uRxVwpke1pKB+fmMOJ9C2/Tv6PbcteQYefDrqgZ9RGN4tNvzemUEXCzPNMzUQ3XXhoN/l7jUG6qSFHeyBMnoX402NvRpn3d6KEDle5kdc/2sSrzYwsQRCInp2tsAt5/l128/xiev2DnCeuI2r+pbSK0s5nlBQBioIDkrcgri652lHRyZgOCI2KUZUZ6OE/Y7A/ZiX3GF0mYN56Hxg/p5z7L1tKa8ezr9MGSiRIK3UVkuoSMb21PphTaW+zsd/JZDRpqZfg4pAB2/jiwHPG9DEI/aKIUSwl/L/r59z8XxRyWYLHAeKeM7TY24xOGH2Lio2XJYpDtn2ZM3YXTpEPaoZhR++ZcafPpQvqa MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c7b7011d-9aac-42eb-2eeb-08d769ad80e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2019 09:23:41.0434 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ZsRA28gIyEX+YNGIH7XKpP+H/+jAh1wKDH8O/7eGDpFRb0o+LaUiZlrkBDJCYQT2ZAXrGIBMpZ1GzmuMf60hIg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB6415 Cc: "u-boot@lists.denx.de" Subject: [U-Boot] [PATCH v3 6/9] pci: layerscape: Common device tree fixup for NXP SoCs X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Add Common device tree fixup for NXP SoCs. Based on SoC and revision call pcie_layerscape or pcie_layerscape_gen4 fixup. Signed-off-by: Wasim Khan --- Changes in v3: fix compilation errors with lx2160aqds_tfa_SECURE_BOOT_defconfig and lx2160ardb_tfa_SECURE_BOOT_defconfig Changes in v2 Ported changes to latest codebase configs/lx2160aqds_tfa_SECURE_BOOT_defconfig | 1 + configs/lx2160aqds_tfa_defconfig | 1 + configs/lx2160ardb_tfa_SECURE_BOOT_defconfig | 1 + configs/lx2160ardb_tfa_defconfig | 1 + drivers/pci/Makefile | 5 +++-- drivers/pci/pcie_layerscape_fixup.c | 5 +++-- drivers/pci/pcie_layerscape_fixup_common.c | 29 ++++++++++++++++++++++++++++ drivers/pci/pcie_layerscape_fixup_common.h | 26 +++++++++++++++++++++++++ drivers/pci/pcie_layerscape_gen4_fixup.c | 5 +++-- 9 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 drivers/pci/pcie_layerscape_fixup_common.c create mode 100644 drivers/pci/pcie_layerscape_fixup_common.h diff --git a/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig b/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig index 3d4506b..2496ef0 100644 --- a/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig +++ b/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig @@ -54,6 +54,7 @@ CONFIG_PCI=y CONFIG_DM_PCI=y CONFIG_DM_PCI_COMPAT=y CONFIG_PCIE_LAYERSCAPE_GEN4=y +CONFIG_PCIE_LAYERSCAPE=y CONFIG_DM_RTC=y CONFIG_RTC_PCF2127=y CONFIG_DM_SCSI=y diff --git a/configs/lx2160aqds_tfa_defconfig b/configs/lx2160aqds_tfa_defconfig index ef774af..9d761d4 100644 --- a/configs/lx2160aqds_tfa_defconfig +++ b/configs/lx2160aqds_tfa_defconfig @@ -55,6 +55,7 @@ CONFIG_PCI=y CONFIG_DM_PCI=y CONFIG_DM_PCI_COMPAT=y CONFIG_PCIE_LAYERSCAPE_GEN4=y +CONFIG_PCIE_LAYERSCAPE=y CONFIG_DM_RTC=y CONFIG_RTC_PCF2127=y CONFIG_DM_SCSI=y diff --git a/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig b/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig index ede4e0f..45ec19a 100644 --- a/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig +++ b/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig @@ -50,6 +50,7 @@ CONFIG_PCI=y CONFIG_DM_PCI=y CONFIG_DM_PCI_COMPAT=y CONFIG_PCIE_LAYERSCAPE_GEN4=y +CONFIG_PCIE_LAYERSCAPE=y CONFIG_DM_RTC=y CONFIG_RTC_PCF2127=y CONFIG_DM_SCSI=y diff --git a/configs/lx2160ardb_tfa_defconfig b/configs/lx2160ardb_tfa_defconfig index 1ad4ad7..0cf1f07 100644 --- a/configs/lx2160ardb_tfa_defconfig +++ b/configs/lx2160ardb_tfa_defconfig @@ -54,6 +54,7 @@ CONFIG_PCI=y CONFIG_DM_PCI=y CONFIG_DM_PCI_COMPAT=y CONFIG_PCIE_LAYERSCAPE_GEN4=y +CONFIG_PCIE_LAYERSCAPE=y CONFIG_DM_RTC=y CONFIG_RTC_PCF2127=y CONFIG_DM_SCSI=y diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile index d6a9b8c..c044704 100644 --- a/drivers/pci/Makefile +++ b/drivers/pci/Makefile @@ -33,9 +33,10 @@ obj-$(CONFIG_PCI_AARDVARK) += pci-aardvark.o obj-$(CONFIG_PCIE_DW_MVEBU) += pcie_dw_mvebu.o obj-$(CONFIG_PCIE_FSL) += pcie_fsl.o pcie_fsl_fixup.o obj-$(CONFIG_PCIE_LAYERSCAPE) += pcie_layerscape.o -obj-$(CONFIG_PCIE_LAYERSCAPE) += pcie_layerscape_fixup.o +obj-$(CONFIG_PCIE_LAYERSCAPE) += pcie_layerscape_fixup.o pcie_layerscape_fixup_common.o obj-$(CONFIG_PCIE_LAYERSCAPE_GEN4) += pcie_layerscape_gen4.o \ - pcie_layerscape_gen4_fixup.o pcie_layerscape.o + pcie_layerscape_gen4_fixup.o \ + pcie_layerscape_fixup_common.o obj-$(CONFIG_PCI_XILINX) += pcie_xilinx.o obj-$(CONFIG_PCIE_INTEL_FPGA) += pcie_intel_fpga.o obj-$(CONFIG_PCI_KEYSTONE) += pcie_dw_ti.o diff --git a/drivers/pci/pcie_layerscape_fixup.c b/drivers/pci/pcie_layerscape_fixup.c index 3d23840..7635df7 100644 --- a/drivers/pci/pcie_layerscape_fixup.c +++ b/drivers/pci/pcie_layerscape_fixup.c @@ -17,6 +17,7 @@ #include #endif #include "pcie_layerscape.h" +#include "pcie_layerscape_fixup_common.h" #if defined(CONFIG_FSL_LSCH3) || defined(CONFIG_FSL_LSCH2) /* @@ -271,7 +272,7 @@ static void ft_pcie_ls_setup(void *blob, struct ls_pcie *pcie) } /* Fixup Kernel DT for PCIe */ -void ft_pci_setup(void *blob, bd_t *bd) +void ft_pci_setup_ls(void *blob, bd_t *bd) { struct ls_pcie *pcie; @@ -284,7 +285,7 @@ void ft_pci_setup(void *blob, bd_t *bd) } #else /* !CONFIG_OF_BOARD_SETUP */ -void ft_pci_setup(void *blob, bd_t *bd) +void ft_pci_setup_ls(void *blob, bd_t *bd) { } #endif diff --git a/drivers/pci/pcie_layerscape_fixup_common.c b/drivers/pci/pcie_layerscape_fixup_common.c new file mode 100644 index 0000000..b953952 --- /dev/null +++ b/drivers/pci/pcie_layerscape_fixup_common.c @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2019 NXP + * + * PCIe DT fixup for NXP Layerscape SoCs + * Author: Wasim Khan + * + */ + +#include +#include +#include +#include "pcie_layerscape_fixup_common.h" + +void ft_pci_setup(void *blob, bd_t *bd) +{ +#if defined(CONFIG_FSL_LAYERSCAPE) + uint svr; + + svr = SVR_SOC_VER(get_svr()); + + if (svr == SVR_LX2160A && IS_SVR_REV(get_svr(), 1, 0)) + ft_pci_setup_ls_gen4(blob, bd); + else + ft_pci_setup_ls(blob, bd); +#else /* CONFIG_FSL_LAYERSCAPE */ + ft_pci_setup_ls(blob, bd); +#endif /* CONFIG_FSL_LAYERSCAPE */ +} diff --git a/drivers/pci/pcie_layerscape_fixup_common.h b/drivers/pci/pcie_layerscape_fixup_common.h new file mode 100644 index 0000000..5640406 --- /dev/null +++ b/drivers/pci/pcie_layerscape_fixup_common.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2019 NXP + * + * PCIe DT fixup for NXP Layerscape SoCs + * Author: Wasim Khan + * + */ +#ifndef _PCIE_LAYERSCAPE_FIXUP_COMMON_H_ +#define _PCIE_LAYERSCAPE_FIXUP_COMMON_H_ + +#include + +void ft_pci_setup_ls(void *blob, bd_t *bd); + +#if defined(CONFIG_FSL_LAYERSCAPE) +#ifdef CONFIG_PCIE_LAYERSCAPE_GEN4 +void ft_pci_setup_ls_gen4(void *blob, bd_t *bd); +#else +static void ft_pci_setup_ls_gen4(void *blob, bd_t *bd) +{ +} +#endif +#endif /* CONFIG_FSL_LAYERSCAPE */ + +#endif //_PCIE_LAYERSCAPE_FIXUP_COMMON_H_ diff --git a/drivers/pci/pcie_layerscape_gen4_fixup.c b/drivers/pci/pcie_layerscape_gen4_fixup.c index b58ddd5..480d242 100644 --- a/drivers/pci/pcie_layerscape_gen4_fixup.c +++ b/drivers/pci/pcie_layerscape_gen4_fixup.c @@ -19,6 +19,7 @@ #include #endif #include "pcie_layerscape_gen4.h" +#include "pcie_layerscape_fixup_common.h" #if defined(CONFIG_FSL_LSCH3) || defined(CONFIG_FSL_LSCH2) /* @@ -234,7 +235,7 @@ static void ft_pcie_layerscape_gen4_setup(void *blob, struct ls_pcie_g4 *pcie) } /* Fixup Kernel DT for PCIe */ -void ft_pci_setup(void *blob, bd_t *bd) +void ft_pci_setup_ls_gen4(void *blob, bd_t *bd) { struct ls_pcie_g4 *pcie; @@ -247,7 +248,7 @@ void ft_pci_setup(void *blob, bd_t *bd) } #else /* !CONFIG_OF_BOARD_SETUP */ -void ft_pci_setup(void *blob, bd_t *bd) +void ft_pci_setup_ls_gen4(void *blob, bd_t *bd) { } #endif