From patchwork Tue Aug 2 11:03:26 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Z.Q. Hou" X-Patchwork-Id: 654679 X-Patchwork-Delegate: yorksun@freescale.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3s3Ysx1vktz9t3V for ; Tue, 2 Aug 2016 21:30:45 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 8D8B0A7528; Tue, 2 Aug 2016 13:30:43 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id c3uI6w7UjtH9; Tue, 2 Aug 2016 13:30:43 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 9F722A7516; Tue, 2 Aug 2016 13:30:42 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 25227A7516 for ; Tue, 2 Aug 2016 13:30:40 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ePjoivIJER7n for ; Tue, 2 Aug 2016 13:30:40 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0048.outbound.protection.outlook.com [104.47.42.48]) by theia.denx.de (Postfix) with ESMTPS id 6D60EA74FB for ; Tue, 2 Aug 2016 13:30:35 +0200 (CEST) Received: from BLUPR0301CA0026.namprd03.prod.outlook.com (10.162.113.164) by BY2PR0301MB0694.namprd03.prod.outlook.com (10.160.63.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15; Tue, 2 Aug 2016 11:15:00 +0000 Received: from BY2FFO11FD006.protection.gbl (2a01:111:f400:7c0c::148) by BLUPR0301CA0026.outlook.office365.com (2a01:111:e400:5259::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15 via Frontend Transport; Tue, 2 Aug 2016 11:14:59 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11FD006.mail.protection.outlook.com (10.1.14.127) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.549.5 via Frontend Transport; Tue, 2 Aug 2016 11:15:00 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u72BEcjl024982; Tue, 2 Aug 2016 04:14:55 -0700 From: Zhiqiang Hou To: , , , , , , Date: Tue, 2 Aug 2016 19:03:26 +0800 Message-ID: <1470135807-48880-5-git-send-email-Zhiqiang.Hou@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1470135807-48880-1-git-send-email-Zhiqiang.Hou@nxp.com> References: <1470135807-48880-1-git-send-email-Zhiqiang.Hou@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131146101004360399; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(86362001)(19580405001)(48376002)(19580395003)(2201001)(5003940100001)(104016004)(77096005)(87936001)(76176999)(229853001)(50986999)(106466001)(2950100001)(105606002)(189998001)(85426001)(50466002)(586003)(8666005)(4326007)(36756003)(356003)(97736004)(5001770100001)(68736007)(47776003)(92566002)(50226002)(81166006)(81156014)(8936002)(305945005)(7846002)(8676002)(2906002)(7416002)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0301MB0694; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD006; 1:Vdc1ZRuHkKxjAJKyEGV1+8ODmYiV+NNlvm9YTYoZ0coqjQW5B8uUKKjQUr4yoqRRO5OBYynMrAzNorbKO8LF+00M26tCqhfl+B12NjZE71Hb8XDIaWCoDbf1vB9M9oT1LoE8hZl5z1sRmJcx1FDDn4LmeeE3sKFpV+t0TVD9uPDNDCMUCJfbRht/1CgFjdvvV7C7uj8v0t7N2lja47wISj5gmcN/vaIlg5cdKlh7o3TlGLxQaxXvifHdGMZdTqnt3G6ucqJixmBdEiaRZp9xqeyX0QX4zJNtjyVagX7w77FrejNDZOR4KohseRVA17DywvVSbnaZWJhczyd9RmAm3GpYZLd/YXf0tdDtxQglJzwUoyfKrWTZ3nVo/885pQJ3tlcQz/7nBVj5OLnSlYL/eM3/Nq8xZ0Gb0kH5KQObn+WhDwHOO5J2b9iNtrAsKFy64Q5w3eJNs5cEGCAxClOHP2qfqTiOqb7xcWXYwxaIZaaGz/LQ9UOPrE3y5g5TxmLBvBPCFO6UhW+0QVoEDJ57t0HUanqcSYQxKu7dsVAg55dRmkspfSZr2uvQ8Ue/5MpWeqpfkSnWoIAIEoTfavAuXkEbJyIHPLaNF9GEz3IAgPBuoamI6kb/nMtWZ1dPMbzzTYPF8t4G5bKc58WQxJDb7LLcDnh6mqjhH5lqdQVZ7j8BxM1fflGBtv/3ThHDH4EoWGwIGnUU/LXAkgZ3Qu732JuItvGJZY2QOIOYzJntjmc= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: a4c029d7-2ba2-4364-cfbf-08d3bac63e6e X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0694; 2:UZ/QhTzoTHCSARUvEgTGqxg6E1tBgvHqBiyoCImftuOjr53uWdeO85/NY+lpm9vgQOW4EqU8zOBa5pkvUx30Kh2kTyZ+l3mC6OUo/l+pbfrpZ3dHROtXch4gx8vNsr6830Etas93CNS3oJAYPpkutbYFmSokhCHYX/Y2rj3ZB00dDSeMbImePBwaN56LggQv; 3:aT5lvaVw/NTdWVikOsEMotXTkfg/qx3O4ZsPTiY/SOYMPdvm7uxSRjzrXyTO9P9/RH2Em3kFRnnBqGVIChMcCTwqmLp6RkcFTboa0XGFBbn2BatHBU2AMwF1GWH7khH6Wcqr2HVCLRbBzmROYJ4cxwNmTyyBRfFGx4AtEvw+3DdGvZL73D7ycDCeWbQHgOPMPpTDsRbPGZo4TCUdq5Y7TADQeSfIZdM0Vn3yRP8FrqE= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB0694; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0694; 25:STWiGwUI6+KkrfC7Ye1C8C+EE0qfXvVzf8UYpjorrJqGTaUw/BJcGEpo5BN56rPfLtKIMGuMZLOTSjRPy436pREihNTq6lE5OJo1GrWawjU1PiAfP589PFr+D1Zst6o+AGnmvnxD0AaSo2/wp8PCCyMavGYTgOZcjdV6Z7QlFk5lPPZXXOxGRCCaJzt8pGvTCpSJLfZtKxJOup55ppR19AE+COTXnClQSCVM8nUrTQ/p3uNb5VuBrZzNw1KRuIS5I9NxolT6hyCDc3Vq77QibmPEIVwMJjKtXpxNsPrmhHhkMrgneaaM5bYKFaBZJJWT1ja8MLRhBWMNYcBKYiyZqxd/LsuwP4WJJuN5xc8UAE/77X/k7pdU8+ou/lAbmivHHVCX5wJN+AfhH3hQxlbxJsqacB4n0DHUJpJQJGrtPDiQA+ATrtsc5s6RG7PC9lmWZTogrBSLQqbQiEUu2TzY29VGaG4G1Fo790g3HihXVpC9qNnCwieIt8qDEAmHqc5J2G82NNBTEVJbdGwNO5TnoXL228YCHFkPa/UOnHhm+mBG2TDCbshEbyaLTi2abZjmO5OCVRx4oElIFbisfdm/nq8QPs75/XeuYvX0FWVTJJHYy2ZR5EJMXnEhO8brZDyXD7v+bAAXuGfjSPsxddPtkKy2bXSTWgXjDQmlxzRi7QRXe8Q9uzsrOvDYmFwR7/YsqZl4unQQH0juJCrvw7kaMw9JBxwacxxKyhyJbn1+QqT/8US6NcQU/c7+bNWlMIjU X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0694; 31:j6ckMV59T2e3YqNNm7FG0BsM6bsBb80kiPsWOR0o1w9V94j4YL16zx62F0rJtWwo8Ak73BE1Ox3XD/39vSFjEkBID9E6AgJizgL2JrcM9sJnZm2HlyYaakhvkPEFchmklx5jvJcrZDEt8y0yhxVdIlyKcM1R15PvgVAu6nQ+UT/fTt24nR9OnS4go+rys2qqwCW76uDyok5dENoLR4yF9eQ5JwKgjAXqSkPPwdAGtXw=; 4:STAjTvtgEhdegvxMvo7xKe+OqnWZMDV2pygL9NkzmDsR4ruNBVYcXr37JXosRPsjN8xEHKUaj6wZGYjYvI67JJ5za/qAETglx+9m6gA0H1oJsLyKanblpMSu9MEc4S54e2XKOj3Ca4g6la6MIdvhzAFDsZDWTZl7lYD5fKZ0NWve07kpURF5LYphNHeV7F4kX+wSvmdbRxMiHBYhe18mOMrmOWhecpwhkJTTgBYmHniTTQVvdoRlV+N5Iiyt36kDxVlQoBYM8aqaboZPBbANodw7SrQuQQNE1CVv0KKZLP96t6oPsoVaJaT/hF4txXjrfI1N+uQ6HARmTv4Z75T3qjHiViFibDxaDL5FdcwMMsj2hkTrbGyEPjJsj/gu9IeW8uTMsFZfTcHpJbn3ZeI3iFL47Pp3inyJ3cjVZ2ZfrALdvY4szTLEXnR7NIsCo1IX5U4BzZt0MP+1xaIrx4BconDDE1VCWYR2p+FsBka2a8AmdNqFDzzMrurzLvU2ynMKSVJbFil1AO36aCnrrqSdOQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(13017025)(13023025)(13018025)(13015025)(13024025)(3002001)(10201501046)(6055026); SRVR:BY2PR0301MB0694; BCL:0; PCL:0; RULEID:(400006); SRVR:BY2PR0301MB0694; X-Forefront-PRVS: 0022134A87 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB0694; 23:izTur4WrA3J7lVcp80suCPX5afILhe2/r5mhMhj?= =?us-ascii?Q?Lezkgi8Q4qn5TvmN9P2X69s2okynHZijBWrkq9WzkPzp9r5LJXID44XaX8JF?= =?us-ascii?Q?KdGuj9J2ewk102C8sB5Bx0EnphTFvjtleGWJOGZKuzBTILCoYs/htsTuQ4XR?= =?us-ascii?Q?Ghze/FxCrJMwrFsTWXavL0y7j1C1Q2rYKQ78X/OoGIeek992TlOU6v1sNSYB?= =?us-ascii?Q?8ytp+iXYnm2GBBC5NOFTMpCEJA9HzHHTXCREEZyr+RWbJBrop4scCZ04fDs8?= =?us-ascii?Q?ieZ3fDaC7RWVAKGBLQ5quyJPgc9PXLOFnn3xiRSwJ59AuaPktJ5FE0tVRiE1?= =?us-ascii?Q?pCuVVSnlQ8mn+rfo+ayS95T80EPKegDilDax9WqtVbBC3Lh5td6Vien4eFAv?= =?us-ascii?Q?yGvju9aRNAgT/F+YnlA+8wg9PRnuAu3QzoWxg3UAtwuC7ezYo7mFP88Uvle8?= =?us-ascii?Q?RyGLszBD5JcpAzdoxH6te54O3WL21nhqfzj9X96kjrOwLLGQI1vpQU6KJhVI?= =?us-ascii?Q?tEM6Ut5fpS8d4KqnJX6LbDKs99wexyZV3onfCvSM/kHZCAcyibQluRdLsU+M?= =?us-ascii?Q?IhJxPWsqfba3K7EsRHWen5sPMB6HEWp4KBTG90K/Lrf/le5uDlBuKiAMQ/Bb?= =?us-ascii?Q?gNzAIftaLhlr/BiVsixnkOTzUVzfgYkiGX0P6AndvQfM0lb3HpiXOV/1MNNA?= =?us-ascii?Q?Kl5lvJuBOhxliyhaGQcNKtJ1e/r0gpCYmE5nNA6M48dkTFJcQh+incroiqhl?= =?us-ascii?Q?Fm1FApFa8+u5KUect9bUV3TNvPqB+tj15Q+M2+9oIyrJm0awZOYGPjrNcps+?= =?us-ascii?Q?YC0gM9P+afSSsUsYFuyjIps3dnHwIhj0E2R+AbdbiOvEpSrmqGqrkLQcexnM?= =?us-ascii?Q?NzcXMH7iUn6SyKrA0Zdn+6iLfWHrviVBQincvq83keyG8QYXERDcEEgbfgNZ?= =?us-ascii?Q?3m9a4tos4eGnjSEh2DExmu2olm32lnHJr+y+Zz6kCzMJmLo0scwQM+xTnm4f?= =?us-ascii?Q?R14avJLi+fJiz+d8spcrvwQ1IYwm4aU1fuZm1ljRFR4vrrKIbBS4fhkIgKkp?= =?us-ascii?Q?7XZ2SJcWdgghYqEJ1+6+6Q18USV5qWJyo+NktCmx6s0suCkLZYkuMA32VFWs?= =?us-ascii?Q?m0HvUoSy8/5Y=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0694; 6:RR/nEWxU6JcVRuKVR8b3eZ2Jvh56+TWkTabYUcExrxntQ1t50flZdCO1CoOS5zhnpYK4yUuwy/zgL2Yc3gbEmZydUEgZ0+rn5N/kzbotG/O/FqVkizx1utskbu3mvX9wWRSp9qJmzxA66tW4hOGEzZk4nsvWbzrzTsOosw7cnw1zKS4ZuknCVtRKGwyI8eI33u3nRUp2SjJJnrICpslkz1qt+GQhvL8pKefpgAdWok3J5aQypOx2vun+Si2KNB1dKYbXH7CSDiMJX7zIr8kpxMNX2MBkPFd1PVnl6KJMFm4=; 5:uRfxjT5tSgz2bFOB4HT582E7J3wEmJxOzfnzlnS4zp+rJiWU0VK08hbhLXH1GpPNipW8XRQfcNtWl4QGZr2AlZfGxQro5WjIRL0yDHJs1dHJkEM0EqFPndJiGLBvqt0oA6ghXhEKZxvryQWo4LGXm+PkBWBdHWzIUagnMhZfTnQ=; 24:72743oZRfiuCOZfDDLISUvDyJvCvndDCXxVw8okbkjvXiPgf62fFoMNh+FHiB5BGt67CjktemEasNBJFsPyhkDnbZRkiMRIUmr8EivGxVf0=; 7:VUpZp8IARpAVA/ftk/gFD/IbU3HJIrqMCaCfAZnB6G0Duf5jrWezFTFD6RfOn+7V27PtBcBXzxKcPPod0B+kcYBCzHBDnIjfxVwVZ7XlhJMpyZ3N8l8SEMlNT48FVH2XGfeSoLn+nNZs8nfXlP6E2QXAUPIMa414DK+p4sjbyYWFtxXVj/nN/b68mVHXlRtdjQ8GnbDjnlxaaGNpjRsQlQGGQUgyiZBLuAWljrH6Kyr4TKbYcZd67hBI2tsJJwDC SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2016 11:15:00.1084 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB0694 Cc: Hou Zhiqiang Subject: [U-Boot] [PATCHv2 4/5] fsl: csu: add an API to set R/W permission to PCIe X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 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" From: Hou Zhiqiang Signed-off-by: Hou Zhiqiang --- .../include/asm/arch-fsl-layerscape/ns_access.h | 1 + board/freescale/common/ns_access.c | 28 ++++++++++++++++++++++ include/fsl_csu.h | 1 + 3 files changed, 30 insertions(+) diff --git a/arch/arm/include/asm/arch-fsl-layerscape/ns_access.h b/arch/arm/include/asm/arch-fsl-layerscape/ns_access.h index db76066..f46f1d8 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/ns_access.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/ns_access.h @@ -6,6 +6,7 @@ #ifndef __FSL_NS_ACCESS_H_ #define __FSL_NS_ACCESS_H_ +#include enum csu_cslx_ind { CSU_CSLX_PCIE2_IO = 0, diff --git a/board/freescale/common/ns_access.c b/board/freescale/common/ns_access.c index c3d7a5e..81c9211 100644 --- a/board/freescale/common/ns_access.c +++ b/board/freescale/common/ns_access.c @@ -8,6 +8,7 @@ #include #include #include +#include void set_devices_ns_access(struct csu_ns_dev *ns_dev, u16 val) { @@ -40,3 +41,30 @@ void enable_layerscape_ns_access(void) { enable_devices_ns_access(ns_dev, ARRAY_SIZE(ns_dev)); } + +void set_pcie_ns_access(int pcie, u16 val) +{ + switch (pcie) { +#ifdef CONFIG_PCIE1 + case PCIE1: + set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE1], val); + set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE1_IO], val); + return; +#endif +#ifdef CONFIG_PCIE2 + case PCIE2: + set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE2], val); + set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE2_IO], val); + return; +#endif +#ifdef CONFIG_PCIE3 + case PCIE3: + set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE3], val); + set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE3_IO], val); + return; +#endif + default: + debug("The PCIE%d doesn't exist!\n", pcie); + return; + } +} diff --git a/include/fsl_csu.h b/include/fsl_csu.h index 57a9985..8582ac0 100644 --- a/include/fsl_csu.h +++ b/include/fsl_csu.h @@ -31,5 +31,6 @@ struct csu_ns_dev { void enable_layerscape_ns_access(void); void set_devices_ns_access(struct csu_ns_dev *ns_dev, u16 val); +void set_pcie_ns_access(int pcie, u16 val); #endif