From patchwork Fri Jul 28 16:33:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ruchika Gupta X-Patchwork-Id: 794808 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3xJmrr3zgTz9s5L for ; Fri, 28 Jul 2017 21:31:40 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 6C8BEC21F9C; Fri, 28 Jul 2017 11:31:34 +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=2.4 required=5.0 tests=BAD_ENC_HEADER, DATE_IN_FUTURE_03_06, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id C6FECC21D93; Fri, 28 Jul 2017 11:31:31 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id BDD24C21D93; Fri, 28 Jul 2017 11:31:29 +0000 (UTC) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0057.outbound.protection.outlook.com [104.47.38.57]) by lists.denx.de (Postfix) with ESMTPS id DC0AFC21C40 for ; Fri, 28 Jul 2017 11:31:28 +0000 (UTC) Received: from MWHPR03CA0041.namprd03.prod.outlook.com (10.174.173.158) by CY1PR0301MB2121.namprd03.prod.outlook.com (10.164.2.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1282.10; Fri, 28 Jul 2017 11:31:26 +0000 Received: from BN1AFFO11FD010.protection.gbl (2a01:111:f400:7c10::143) by MWHPR03CA0041.outlook.office365.com (2603:10b6:301:3b::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1282.10 via Frontend Transport; Fri, 28 Jul 2017 11:31:26 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1AFFO11FD010.mail.protection.outlook.com (10.58.52.70) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1282.16 via Frontend Transport; Fri, 28 Jul 2017 11:31:25 +0000 Received: from perf-idc04.ap.freescale.net (perf-idc04.ap.freescale.net [10.232.14.49]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v6SBVMXf008995; Fri, 28 Jul 2017 04:31:23 -0700 From: Ruchika Gupta To: Date: Fri, 28 Jul 2017 22:03:12 +0530 Message-ID: <1501259592-21298-1-git-send-email-ruchika.gupta@nxp.com> X-Mailer: git-send-email 1.8.1.4 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131457150854854039; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39860400002)(39450400003)(39840400002)(39850400002)(39380400002)(39400400002)(39410400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(53936002)(498600001)(50466002)(8676002)(81166006)(8936002)(81156014)(50226002)(2351001)(77096006)(5660300001)(38730400002)(626005)(305945005)(4326008)(2906002)(110136004)(6666003)(6916009)(4720700003)(86362001)(189998001)(5003940100001)(97736004)(85426001)(50986999)(47776003)(104016004)(105606002)(69596002)(8656003)(48376002)(36756003)(356003)(33646002)(106466001)(68736007); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB2121; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1AFFO11FD010; 1:+jZaGdng4MXk/X74lt7VsPIWQE/JcXc7NqvF5ASAu?= =?us-ascii?Q?GCdTfUdnPRzpNQ+R0bqT0Z8oDLQW+febsfuy5cBatvu66XBI+evuzT85XM7R?= =?us-ascii?Q?RlOeL7pTZdTAVP3TisBsSyWiD1PK0mMszamBTlOFhPT1+XyfzyyQHQT/6sVf?= =?us-ascii?Q?7yvz98tw6/QOCVecfOu9q9VDW3Kps4hz+v4qT98N9aaEelQfpq9LqLLzdb3V?= =?us-ascii?Q?UJVl54cUxJsUZO998DEi8U/niqG0rChp8VXvtMIoCKihC2UesbgXtJKFkbY8?= =?us-ascii?Q?8dvi1X2+2I0tCobOYlISqrBal4BkPDacK2B9+vHaj+1u4oGMQHr+q6ZgHzom?= =?us-ascii?Q?SCDuZoDGhkQ0GUaVIWLu2DRqG0NjQjmzCSOlrXsSxASgBuwK9varTudng7YW?= =?us-ascii?Q?kBGKmDIxB46AsiGDGAH2NBEGk+uK7jhH5fSC0JycDOV3E06Vzwms4BRSS1kF?= =?us-ascii?Q?+LA+Y22JRj7O2uITpH/IVndJCbAUNpOOQD13KqEIJelHdzw4Umttd+zpm7wp?= =?us-ascii?Q?W0nvp/pHWtBfnvS3kZXyV47QhmSvu9/cvYgNfZdzT68QQZyOtjJG6Nco3+WH?= =?us-ascii?Q?2eYhzwbo7zfyy3xWzpgT02rQs7NfDAyeku/D0HmUWG6rjzijD56W8JjVmwGX?= =?us-ascii?Q?VXAAh2lDEM4AgGW/+yWna4clkqDdsi41xkhNVZzYVchJlOX3j3+OKajFitPD?= =?us-ascii?Q?tgPYNVdiQoPkZvkq7xHF8JocnzrZ0AJgFuyPLOhRq8EbJFoH+80eIzMM3R3F?= =?us-ascii?Q?TSG1c+9y6c3jnxZGw3UOCY6HJwuyX2x21sjOZeLAYb2ZW8pwnYslBDMMRPI9?= =?us-ascii?Q?In+gCAtlb1HelVRDELbpjQmGUNvneV6iP58GXiFp/6LrRKm01gO4UhCOhkQ9?= =?us-ascii?Q?yHkGY5z4VZ8ovdV60br3mZXBnKF/8WZVu66h8Vg3mq1WNREruOTk14CtMTLB?= =?us-ascii?Q?FisaY48Vnv79E0pq+m2GhgC97zYBU27Pa1F7NHDmQ=3D=3D?= MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8919d27a-1787-4539-7597-08d4d5ac2e5a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CY1PR0301MB2121; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB2121; 3:z0XcQv52gj5kBexD0+FK7sJTbV94obNHjY6jZvicCnI/5pCvJmFgN3047wRsppFbkFRkq3jedZMvPClXFhGrnPpPoqnS3o1/tfMrIu1Y7mR1ih3uAhjMA2S59pruufBfts1EA2+1WrsCNYHqOpuP8sDLAl0Fk98dVw7SClQga6yYLIrf3Y9b2SRxtLk+QoS7CqDy5I+Js7cAS97fzizgaiAR8Q/MERgStSfVo8MRlM0kGlTpwGCkNBYUnDZvIbR4pjHH+3uw6DeDBtoM/ljNupPXoyj7mkqRZ2GKbh70tz95yDzsJGgY93tLefG0z0D7E7+zx8qXg6N2/Wptt++xWz0Ex2nFs/qD9q84xE08s3/8f77WW2AYs5X4/OPEqW+0peX6CX7zKuENLyb7qS/y6Fp0VI7IHTC+YC2VU8qgA5vdYi8kIgPv+rr3zIBTsOxdPB3GXe4dudPz0d+iDcsHAmhyUVPJS/jDdhWD0wYPwBnQdoQWuG4WV/nvJUKHgFEmeQFidSIVattMEkpq7WEorpHBUDLK6hiHghBLfVrS5qiNvPndSbAReXgyLT467iY1W92Bj8a9zJ2WmyKBMRSCLCdDXfRVQI69K8DDLK3lFQO53zHEW77YV1k0UbEdmQlezsWWP+zg7P0yf09KnjOwH82jF5TbGqqdnyy6wlHh/Y7qBM3C0OeL9K17kIaq3RjzrLE7WVTbQxDOMyoizf2ax2xyx1O/1l6fBBcTAyO1u1OFq8061NWHtrpd+taY4ty3bTGsqK/1fJcvNSWnFZtogpMEjZM6s7iIj8BFZ2N6RBBM+2gGKBlB3uCcEs+hucvuQetqDIzVmHQPJpLLRrwYutm3lpxVFEwduqw1C9MmN5gwZkApDoTG0RSzuU1XC6V5 X-MS-TrafficTypeDiagnostic: CY1PR0301MB2121: X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB2121; 25:XYQf8MlgDl8PG+iuhsH9f73McC5fzIFHYMJvkWAiTvau0CfIOJLzc8QHPEpztJSo0OAwhXSdah7uKVMr50urGxeMVCDdle+Rn54zHDxla2/fKqFFsWKWE38nItPCVh8qgY7YLHMKqYbk7ThukSi4+p63ESg9dqYZfvvlNYjIfYR+CDQGLteGCyTZPDq4tOPvyTXsAWagFJ0JkW+dSZw/l8wE8ef5Z5HPdn5gPqBVtMQgMp853PQlL+YMrXzYUCt+/g2b3Es5yIjBU9ouOgxeDhhMQokhcdEjw3SsMxQ2WV2tQnzq5/tZZAMcsRasCw7fQTh4mcakyKFH3wUqVaT7WsHvd9JwyaMA1DRkW0CE98NZ0gSJq/RkcCrnTIu/8G4PDLls0SCWZaq6rN9L86iIK9IqbRXrt01jFKCFWPyh9qQXtnPsautzHBp1ZQChDlZ7PBTbvjB9OUUeh35dC22cDjaUJaX4zG5KH1mTXvwOSmsCpPS+GJX+KvmIfJ/nQHALN6bqTDOUPCIKjsbcUrlu/INtBYFnvh3ywH9o8y1j3RFSTbyFOa/7sNQu6DA5O+WqO25djyeRuiOfp7Oe/l4MHXS4mqEPDHUk3Z4+zpu5unZxsZLZvbWtFJnQ+cb7gqzy9EObuJ9Mu2xhArSesiXBTtCwpXvzu6dLoJ2D5y2fVXfbkFrYsFGXKjZy5CkxSSaSvhV0P8LyUdokIVtV15ZCHaChF9SvJrdO5Gk0h8yVB1WJtVVwbEMHWGeSZyZA1ktZjuKqrPVnDe0hC7xgfX12ntdIBceYGR/5V/DXVez0gZHKikP4qSOpRAfTigupFgtzkSU9QWK551DIwlpWIjSHdUec0D+5aWovLhACwuvIZvFaHUYyk2Qdug2xv5CNdvMbQwbPCVS3oUojzS4rD89ipFzUTtMD3xLkJ7sK/f/iM2A= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB2121; 31:fnYqeNIRYkYkfocDbmpS8+/PufPPrj3Rg2q7cn7PiLZRxjyUIUvhIcEVxEfTwo+ZHcjZX92xyRBdVvw8GS3TjuqHq9tvt0A3ZHmQjabAKXGyjuAURTyvP3ZAaCinwQ30i0ZsKdIzipK4GQ8HMDDUuaYP5ZXSRSXBnsgCNZnd4Ub6zsoLq4ZRV+QpEsaltKdB4c6haXWbHCNcNMI3OlsPHZ/67NC2o1VGG2KWwpPTYEOuL5InOfgPyOtAPvqD8TlJfkMnvCbgVkE46YtFqRqa2rK/D6Irf9NxhjwmhUrwakg/aRO8Etq7mh1jKPeAXP7yBGLz1jVJB3J7aVfpHR4FBeUA7XtO3a0yR9paLbha0phU5KzWOIJ8f0Cg3+DyiVPywE4FJAQuavSBhkepOLceJXr9Tj+chvQntiL0Wh+L/2Zj+83P159Ibm8gQHvqsWEd30zxStMcqiqR5SySaFUHshMHjkus4MJ0XEWMqeDnmSnDpU33i+2tLH3mShd1q9512rTAcoYTvIWzYhny9h/Lid9Qc5YtPpC1Cyzywif7LP0ZTtn/SOf0h92H/zmmSbPsHqXEIhsLbm4LuPLwGpEAo/1+74gHaBbxXbfh4NoFKrbBD85U0ioPas6XGQcmQD9k8aWHE6844DYBTQ0DRTM3Ls8AWMWE6BFLQLuqmAzjfHgBWzBNnO9UnuVC9fqnS/32 X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(8121501046)(5005006)(13016025)(13018025)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6096035)(20161123559100)(20161123565025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123561025)(20161123563025)(20161123556025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR0301MB2121; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR0301MB2121; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB2121; 4:mHTNFTJtK+moIOE3os+mtyqkDSixjhiKcxs+Q9ct?= =?us-ascii?Q?y/mbKrGpQ3zfb42lQ0b93/RpSqWARGwx8fFjMDxnwk8gYZrpoKK9qImaqrOs?= =?us-ascii?Q?iL13F8+jfZjF4nLIbuZ4zO9FO1bkS8wngZJ+V4fKgrsJVTb0QTbfZ/+n8aiC?= =?us-ascii?Q?XLW2oPLFPR7/VOhvUO7jzbhrvZPBO+cOif5Tabla5SLqXWmDl8aKW+IYEsqb?= =?us-ascii?Q?3dI4gKY/dVdk/KMkg5kfBEsn4BTUrxfOadwNcHYWaR69HSMR/3TFWBltaFCg?= =?us-ascii?Q?xScF62dWZkfKnpFVe5dgANgkoUZUUtwOFnmKse+2+qGjWbmMEL9npq7YLjcs?= =?us-ascii?Q?Wh2jX9jgcJ6soHHBIyk3XydBup+GlayUpa2KQPB+usfUHZplY3e07pA/Vehu?= =?us-ascii?Q?z482qz3k/jGpQKxENqnRvU9M+GGNYUO1ck3bE6t5WwjlZ34eLy0zfXzD2V+e?= =?us-ascii?Q?w6hygFqkR1n0Yaxh4tNN0UmH0lwwCdnDlrijtPzBPMXz3MDI3ZY/tdtnS4cB?= =?us-ascii?Q?qf+tsRpYlCPCwKD0xImw4+DNuF2DIcrTpYHxz0gDRothu9vEnBEqFkAdTjyb?= =?us-ascii?Q?ruAHSQCejVs4Ivxpn4ObOBi+jHhBeb5EqhE/xjrivfTKnuXEZu1jCz+1Gs+K?= =?us-ascii?Q?QLVEPwmUXjOPuczNCMEEXAD6iRs7Mxy6EwVbASEc+lVdczbj2hsAZLr0gpdg?= =?us-ascii?Q?+ve3pg0UmZl//dMceTXpCruHbPl5jZeJwLB9uS/eIZaxVgXzKgFcG8twZD0Z?= =?us-ascii?Q?4hFO196WHtOWyxjU30AqGUEuBuYL69pjfb72PlydQnBqeRE0iI9eN4W9siWI?= =?us-ascii?Q?3FMIXOzCb8hrJI6jAwx1W0LG+xQd7/wIS6YeDwJxPbUo0/mhWencICAmp8+N?= =?us-ascii?Q?l2bwKwD2/J1+PxC3BsWbjzjt1We8lNNaonGW1xpvFc0G9WNQqvgtc9CczS2Y?= =?us-ascii?Q?Qw37y320p9C4tx/rP14bq7u8zHKevt1CTaQkk+FunjhjggK57tk9nUr10vYW?= =?us-ascii?Q?s11n1kas7R7xsMMHOTuiud8/Iwc5hBlTYYPpHE1y3A1Sb0eThWwbDdTaMbmX?= =?us-ascii?Q?ysWgkPqGbJown0URBO2cKzlYy4uS7UUbk37IlP8bil1nMrFvSWvAKQX20Qnk?= =?us-ascii?Q?6UKC5Pwn5XWedePrtbYMxK1HzSSLIjxDh21zK7pDZ1rQzVAPKaNToKHoGRKG?= =?us-ascii?Q?25GNhb93Idc/Sx19TEP26f8GgNfCemIrNPqDxXmTPrbRG1f0xQ9W16QA0uR8?= =?us-ascii?Q?zn7dugzd1rRxn4NKXeNm/h1+zoQ5MgeGH5fDaZW8?= X-Forefront-PRVS: 03827AF76E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB2121; 23:8ooPN0PFNyWrHak207AOE5q86w7EGJzrz2VsS3a?= =?us-ascii?Q?I82saR283HznK7wYS1uXUE7qAjgUGq6n1aG/9euolI3gAGLjvniCCASA/tsi?= =?us-ascii?Q?6Sc62if3PM4TYa//0jXNGFobECyICZegcQR6NimYcndYv++sG4WnBTMKXOxr?= =?us-ascii?Q?GxDR5v7WXPUzN8Ho0RYv12XYuUGihXd471RtSEse7YIWWu5/+Vwe9AfSce+1?= =?us-ascii?Q?YrmHc+JpEgqfmUHO+pteAVqlImMHJADBPYftVX178JTPJAOiZ238Iz9qcMQe?= =?us-ascii?Q?6O3Nt4NPC1tLQv6hASLxZ9yph+PDxokyVjARhbuv+e4YpDU63jBydVjyvZpB?= =?us-ascii?Q?49lG9EMJBs/kN6X9c5WkJEwy9nEGNbGMOtzKAWEIHjg0yoSbY+lNS/e1SzZF?= =?us-ascii?Q?StbLJiDYm5/Q/NhlxyBtPhtaNqidRiBiW/BT90WiWlvICY7MoJrh8Og6JJW/?= =?us-ascii?Q?pf2AUEaHqMFmbohd33Sq3khMFzToi5QGs8gIMjstHt9K4LYWUAhg+RkXWbqN?= =?us-ascii?Q?WskDP0z8n++dub+euxu/MQIx1Wh9y+t1BuY3Mn+Y44Lwh94cO6lTucr5d1ER?= =?us-ascii?Q?GWxBO2o5Xup72Y/LRpn8+JgdQyhRUAQp3z1mAkjg2w1W+EexUPzdrPor9qle?= =?us-ascii?Q?TCIbDAV6ZtnifJAiz6c1R0I728a+bPZwf7A2vUcfU6fnGDvw4AqHakPq++41?= =?us-ascii?Q?dv1KL8VldhO24BfkLvhfhbBvwYnDM1Bvn7C9x0S1PVRo78DEUPcNV92Q4ObX?= =?us-ascii?Q?w4eIX8pI2IcgtS7D8SdmtvuhbmiXdRdYJSyxQG/T/33rOqAWyXncpPVn6zHO?= =?us-ascii?Q?J3VYavDhpLFEiCySwp1eYgyQ/z0yk+dNApTq6tY45yN7U6vei2DXKrKmNUsh?= =?us-ascii?Q?DpuYdRAc2PONnJHKgcoZt/E/i6+QrtUtSeZqnjPEGKxvCcMes+n9UcZ38FjX?= =?us-ascii?Q?W+SfllBlpg8bjWzj1GOUJvkqRUZnXe56yDLZpokJQ04MM/Huh/EUDfdgoYkI?= =?us-ascii?Q?zh56iPNx63VBxIKbOShi6RmSSYNxFyQwZHhoGpO7duRXWfO+s76H7xVlW+b/?= =?us-ascii?Q?6IJ0cTkxs3E8QRttu6TgsD84Rf9rdBiy+N1A6RSVqquOIkFQQmMjgnZeh/Th?= =?us-ascii?Q?iUi9z4BdH0hNKykHx9APCSjxreRYlkf11W8djhmkw0O8tzsid0UgZII4sBJq?= =?us-ascii?Q?AHWwZQGmp2NP3TiA5shxperr3rWTzWGgiDeTuXbydvg4P8V6mT0M1N42gp7X?= =?us-ascii?Q?bui4Q1PGqxmVTXTcqReDI4/mKTk58vgmdr5Zbz5Oj?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB2121; 6:hrfR1ygpRpCgguUDbC8+glhD0s4YAWZE5PBnObhA?= =?us-ascii?Q?0KZqP86XQCV+lovBbgG/xsahzVzkh3TwgO8QlrU5Gsznvu1MHbDB8eVxucQm?= =?us-ascii?Q?mF8FNE01E9EXBuFTAWOGxEmJVprqS90RwKHLdI41Xw49IMHo1AcMXMw9MC1k?= =?us-ascii?Q?zfREzktAdBNkV8BDr7E4avjyw5xROlcbpXeBLlGf36F6jWwDGBPbviJbPfas?= =?us-ascii?Q?U7bg2I+nWTezfa6kkjvbgi1PdwVxIZe+Oh3OyJncAiz2p5I1YCeG18LqLrE9?= =?us-ascii?Q?zJ4J33eSRSmTkPSbe1ZWYddQXSJyf8+aMslocHu5IahO6AjqYvXvEsZGDnCr?= =?us-ascii?Q?D6U9srTWYPzGa/Hi0qrfgQvk6h+2nOdn/kjUzDKwHq1zmCuCYPHweTq0/t5V?= =?us-ascii?Q?Ebrwun4NqxuHFyqHrZlLzVWUZDtYxVEjJhEnKiW7m4LrlcBvwskGbZIppN+d?= =?us-ascii?Q?xtzkSUAxSiMOcBMCDUjEIMCjM5eqDmg2DCTORQCGjxvjINQImN5OFNCH4p06?= =?us-ascii?Q?Fnl26n6aJY0Uzldfh0ogdMLhGMtsOSpVit6gD5u6kN/FqsqRgVtjtVCbc3Zc?= =?us-ascii?Q?hl61f6XGVnPDp4FsCCWlgT/IroZ5pI4pARnqvbzHsee0SNkfiKIu4bmLYeua?= =?us-ascii?Q?Jk2t/iDtvmGu3R8F+SJ8/47LCyMrNQUIUA7LwMcT/qd/ag7K1LB4TkcH+ZBK?= =?us-ascii?Q?oeb6quDDV8Z71iVasqhACyY28N9yd8on60FP+CHcpvxTx5mxwnKag5fHHRQa?= =?us-ascii?Q?QeP7EaR89taws4wq6Xm7xZ6IkcXKWWzNvsVHIxRci1qBgkrus9ZuAFChtueo?= =?us-ascii?Q?Cezx6/Dyrg5F4tgW5z3RDGv1kzhuXTwhKiEom1SHZdCQ7X6vE4u6jZwZypMg?= =?us-ascii?Q?DdUA4g4q+4fM/kdVrGSGkPVDCbsa2ebjPlqmw+q/mSlXLlh5mXuhhNLw4WE8?= =?us-ascii?Q?t7/r3d1dBivK375cz4ujhz4509oZvGbhoQwtw59TOA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB2121; 5:vS4cAcHBF/IXcCysaM1tzRZ5SJhTXPerJApec87AEZ5DAf5CDeJdKrQoS8W/Jg6mmo5vGHSeoC2APMy75vysiZBEs9oB/rD/SUSVKXED8ijQJU6ipJFWQlIbNnjMq96amgh96o2CXSH5UIJh1SxZOHvEhvrgO66kwOwH3rN6zuGe90q67ZaMSwJAFN2wuS2s3uk7eWiWJOhyuSsbxIl4JP5K6WPPziqtJliPYrQCLwUeX9JiVJmNe+M+QDM8i4BFZie+1mHNHbvbDHfarV5I8mvw0n4Fndj7Uz9Uy5kZyO8b5QoCjKomr0cINBebEXyBZd7VbM4U6q+9ynTCq+hYAfqamjCAf8qihLLyins6ZM9z5X1xv046mpFxbO0mw3xxFlQGkIzuuwLPZNW1BN6a407zB730SUChT2wLvcf6MnInuOQZkS/5+rPh2lczuH+i1T5cRcAYWeT7eJzgP6isLYhqtzhzUi8xLJkj1wWqPYSPTOi7fOwfIvJtjppXtdR/pKWZlrtJV8CRM7x6iJJndQ==; 24:QTn7GkcA3tiTqSTmcQ0Cr1Wq0Ahl16W8ezbI/l8C9w4wOGmmv91ZXCtMV4q6HS8ZN6IOVPAqlWk0YA7Tz4/TZZppSuXbP8xjy7j2FovImZY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB2121; 7:2S+FIkWqz71wmRKph21JBMqDc+yEoFyVb2APPrkmvIYJIaFvWNPDwvBIjTS5ogrX5CKSYkKd2gGpxmh/wrqJws1IDPRXI6vId6OF+OeNhDmgluKjcNlvV6JTaqiX2xsqhAhvyFbCfk5/rC2cFj1/yjDMa74hs3OgIrhZGVPfqP5yen6dOD5DpxKjtw7VQ6rqxRbqRin4dSZ3zS5JMci0nQ/NBgE2IQkLH0NiY2r4daX+wEd2r+ruMc9Rw8qr2YeTPdDXluFecquQMRuCy2d4NT2u7kqLcmbBPaADsH2HEglHeAH8fRlUOPN8FjSDMP0CZM9vKiEqUjxEuTZhgYTGAzuQrDcnsf3COWxAvGpU3uBm7uy2mFLD8q9ANfiWlnr6yzMxcw+N8hOR162a3gvLb8JVEUgx7s894H7s3mMWxqxEs2dGlEaYZkJ1/wf5YEIAWs5cRrpIHB19M42zfTW2HnJ8LOm1nPHdOtasvSaa36fwtptNI73SYS551QN1/EE6W0Mu4cNrUZJkoSr/n+/1gnb7ABuKHXfaJjkkwzvcJruobgQ5fQU+uDgBf5qGr2ZYpQ2MpGPGSj0SoCtafP6HA3nHIB+5JRjxk77/zmBx6kainCURcwI+kLX9SacIt6NOWugHes2bMnHd+evIjyza2C7qQkJ0v9iOSgBkGN/LWW7EkHVZhR/TSouwd9Oop3mSOcoph4nPLkIxrj7UZbtU4EPHtkbkOK40BTZI2T5AMm9+KfSyUuQedUVWHIo1cvLBBRlqZWjdvkY2K2607OPS6VG62KGSGAUgU/wrU8nlFkY= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jul 2017 11:31:25.2514 (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.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB2121 Cc: Ruchika Gupta Subject: [U-Boot] [PATCH][v2] ARMv8/sec_firmware : Update chosen/kaslr-seed with random number 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" kASLR support in kernel requires a random number to be passed via chosen/kaslr-seed propert. sec_firmware generates this random seed which can then be passed in the device tree node. sec_firmware reserves JR3 for it's own usage. Node for JR3 is removed from device-tree. Signed-off-by: Ruchika Gupta --- Changes from v1 - Extra spaces removed from the patch - Support added for LSCH3 devices in the patch - of calls replaced with fdt calls to remove compilation error with latest uboot arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 75 +++++++++++++++++++++++++++++-- arch/arm/cpu/armv8/sec_firmware.c | 53 ++++++++++++++++++++++ arch/arm/include/asm/armv8/sec_firmware.h | 8 ++++ 3 files changed, 133 insertions(+), 3 deletions(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c index f5f4840..8a21583 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c @@ -345,11 +345,78 @@ static void fdt_fixup_msi(void *blob) } #endif +int fdt_fixup_kaslr(void *fdt) +{ + int nodeoffset; + int err, ret = 0; + u8 rand[8]; + +#if defined(CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT) + /* Check if random seed generation is supported */ + if (sec_firmware_support_hwrng() == false) + return 0; + + ret = sec_firmware_get_random(rand, 8); + if (ret < 0) { + printf("WARNING: could not get random number to set" + "kaslr-seed\n"); + return 0; + } + + err = fdt_check_header(fdt); + if (err < 0) { + printf("fdt_chosen: %s\n", fdt_strerror(err)); + return 0; + } + + /* find or create "/chosen" node. */ + nodeoffset = fdt_find_or_add_subnode(fdt, 0, "chosen"); + if (nodeoffset < 0) + return 0; + + err = fdt_setprop(fdt, nodeoffset, "kaslr-seed", rand, + sizeof(rand)); + if (err < 0) { + printf("WARNING: could not set kaslr-seed %s.\n", + fdt_strerror(err)); + return 0; + } + ret = 1; +#endif + + return ret; +} + +/* Remove JR node used by SEC firmware */ +void fdt_fixup_remove_jr(void *blob) +{ + int jr_node, addr_cells, len; + int crypto_node = fdt_path_offset(blob, "crypto"); + u64 jr_offset, used_jr; + fdt32_t *reg; + + used_jr = sec_firmware_used_jobring_offset(); + fdt_support_default_count_cells(blob, crypto_node, &addr_cells, NULL); + + jr_node = fdt_node_offset_by_compatible(blob, crypto_node, + "fsl,sec-v4.0-job-ring"); + + while (jr_node != -FDT_ERR_NOTFOUND) { + reg = (fdt32_t *)fdt_getprop(blob, jr_node, "reg", &len); + jr_offset = fdt_read_number(reg, addr_cells); + if (jr_offset == used_jr) { + fdt_del_node(blob, jr_node); + break; + } + jr_node = fdt_node_offset_by_compatible(blob, jr_node, + "fsl,sec-v4.0-job-ring"); + } +} + void ft_cpu_setup(void *blob, bd_t *bd) { -#ifdef CONFIG_FSL_LSCH2 struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR); - unsigned int svr = in_be32(&gur->svr); + unsigned int svr = gur_in32(&gur->svr); /* delete crypto node if not on an E-processor */ if (!IS_E_PROCESSOR(svr)) @@ -358,11 +425,13 @@ void ft_cpu_setup(void *blob, bd_t *bd) else { ccsr_sec_t __iomem *sec; + if (fdt_fixup_kaslr(blob)) + fdt_fixup_remove_jr(blob); + sec = (void __iomem *)CONFIG_SYS_FSL_SEC_ADDR; fdt_fixup_crypto_node(blob, sec_in32(&sec->secvid_ms)); } #endif -#endif #ifdef CONFIG_MP ft_fixup_cpu(blob); diff --git a/arch/arm/cpu/armv8/sec_firmware.c b/arch/arm/cpu/armv8/sec_firmware.c index fffce71..5481e04 100644 --- a/arch/arm/cpu/armv8/sec_firmware.c +++ b/arch/arm/cpu/armv8/sec_firmware.c @@ -232,6 +232,59 @@ unsigned int sec_firmware_support_psci_version(void) #endif /* + * Check with sec_firmware if it supports random number generation + * via HW RNG + * + * The return value will be true if it is supported + */ +bool sec_firmware_support_hwrng(void) +{ + uint8_t rand[8]; + if (sec_firmware_addr & SEC_FIRMWARE_RUNNING) { + if (!sec_firmware_get_random(rand, 8)) + return true; + } + + return false; +} + +/* + * sec_firmware_get_random - Initialize the SEC Firmware + * @rand: random number buffer to be filled + * @bytes: Number of bytes of random number to be supported + * @eret: -1 in case of error, 0 for success + */ +int sec_firmware_get_random(uint8_t *rand, int bytes) +{ + unsigned long long num; + struct pt_regs regs; + int param1; + + if (!bytes || bytes > 8) { + printf("Max Random bytes genration supported is 8\n"); + return -1; + } +#define SIP_RNG_64 0xC200FF11 + regs.regs[0] = SIP_RNG_64; + + if (bytes <= 4) + param1 = 0; + else + param1 = 1; + regs.regs[1] = param1; + + smc_call(®s); + + if (regs.regs[0]) + return -1; + + num = regs.regs[1]; + memcpy(rand, &num, bytes); + + return 0; +} + +/* * sec_firmware_init - Initialize the SEC Firmware * @sec_firmware_img: the SEC Firmware image address * @eret_hold_l: the address to hold exception return address low diff --git a/arch/arm/include/asm/armv8/sec_firmware.h b/arch/arm/include/asm/armv8/sec_firmware.h index bc1d97d..7cd267f 100644 --- a/arch/arm/include/asm/armv8/sec_firmware.h +++ b/arch/arm/include/asm/armv8/sec_firmware.h @@ -8,10 +8,13 @@ #define __SEC_FIRMWARE_H_ #define PSCI_INVALID_VER 0xffffffff +#define SEC_JR3_OFFSET 0x40000 int sec_firmware_init(const void *, u32 *, u32 *); int _sec_firmware_entry(const void *, u32 *, u32 *); bool sec_firmware_is_valid(const void *); +bool sec_firmware_support_hwrng(void); +int sec_firmware_get_random(uint8_t *rand, int bytes); #ifdef CONFIG_SEC_FIRMWARE_ARMV8_PSCI unsigned int sec_firmware_support_psci_version(void); unsigned int _sec_firmware_support_psci_version(void); @@ -22,4 +25,9 @@ static inline unsigned int sec_firmware_support_psci_version(void) } #endif +static inline unsigned int sec_firmware_used_jobring_offset(void) +{ + return SEC_JR3_OFFSET; +} + #endif /* __SEC_FIRMWARE_H_ */