From patchwork Wed Aug 2 11:24:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ruchika Gupta X-Patchwork-Id: 796513 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 3xMjmG2FT2z9t0F for ; Wed, 2 Aug 2017 16:22:52 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 21D48C21E0F; Wed, 2 Aug 2017 06:22:46 +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_H4, RCVD_IN_MSPIKE_WL, 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 6083BC21C51; Wed, 2 Aug 2017 06:22:43 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CFA21C21C51; Wed, 2 Aug 2017 06:22:41 +0000 (UTC) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0083.outbound.protection.outlook.com [104.47.41.83]) by lists.denx.de (Postfix) with ESMTPS id BD6ACC21C41 for ; Wed, 2 Aug 2017 06:22:40 +0000 (UTC) Received: from BN6PR03CA0088.namprd03.prod.outlook.com (10.164.122.154) by BN3PR0301MB0900.namprd03.prod.outlook.com (10.160.156.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1304.22; Wed, 2 Aug 2017 06:22:38 +0000 Received: from BY2FFO11OLC016.protection.gbl (2a01:111:f400:7c0c::147) by BN6PR03CA0088.outlook.office365.com (2603:10b6:405:6f::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1304.22 via Frontend Transport; Wed, 2 Aug 2017 06:22:38 +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 BY2FFO11OLC016.mail.protection.outlook.com (10.1.15.61) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1282.16 via Frontend Transport; Wed, 2 Aug 2017 06:22:37 +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 v726MP3a020010; Tue, 1 Aug 2017 23:22:26 -0700 From: Ruchika Gupta To: Date: Wed, 2 Aug 2017 16:54:04 +0530 Message-ID: <1501673044-14668-1-git-send-email-ruchika.gupta@nxp.com> X-Mailer: git-send-email 1.8.1.4 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131461285582310110; (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)(39850400002)(39380400002)(39840400002)(39400400002)(39450400003)(39860400002)(39410400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(81166006)(8656003)(8936002)(81156014)(8676002)(97736004)(36756003)(356003)(50466002)(48376002)(50226002)(305945005)(189998001)(104016004)(498600001)(85426001)(2906002)(86362001)(5660300001)(68736007)(626005)(105606002)(106466001)(2351001)(4720700003)(6916009)(33646002)(6666003)(50986999)(5003940100001)(69596002)(47776003)(53936002)(110136004)(77096006)(4326008)(38730400002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0301MB0900; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2FFO11OLC016; 1:3/o01hNbjer47KDogxsjl6E4hkON1Jdwo3sZY3igV?= =?us-ascii?Q?bnuekP7tbpg48y02zNUTmGIKZ3G3Hay9mX6Z6urOTlK+1W04tIE8OIGu6o8V?= =?us-ascii?Q?wJm+CzxnqX5kQZN8KSnRrVEPldyexTxwwObaUHsT9+qkSSko0oQmRdA263wu?= =?us-ascii?Q?eATOj1A8bF9licEYjZoTw9B0wDA24x4imlqP+tlre9yJNcQqjes/5D2Nx6He?= =?us-ascii?Q?uScwaSuv8HxGWTgqarvJhdmsgnOznaGql7ael2GkfbHMOZVCR87jgMfyJoI8?= =?us-ascii?Q?wFbTkfVvGzW7d59gHavIG9IO5p8t532kq2gfz226GpSjO9K6OBYE440Ybkg4?= =?us-ascii?Q?4WxZuublH4pu0dvS+oXR9dfT3hT35wJadsgyQ5LyopLANgKJaS1HASqGdRYQ?= =?us-ascii?Q?Is9NjsC94vW36RLBKX8rlZwBueokyz3lROiUCDRKoKGPZUKf5WkbsL58IP0p?= =?us-ascii?Q?MQ5xd3JY8xShCH/k+XI6iFr6cXqp0MWlIxlJ3Ork27wfaI+m0FtI8L0rGxxh?= =?us-ascii?Q?TSeJhyyS7zvOtUMztFiL0Q666+h7VBj6oZCLXgqq7OUYUFA9L9uomlqm+lgs?= =?us-ascii?Q?6JoqN/jPbhWLLy/KCHjlSiN2JInDCbmDb6k9BLVg9rs21DWUQ1LQFIPXvrts?= =?us-ascii?Q?fNRh1Js0YekX2OpwpOv6O/AiCOsdKJiVt+XnQcv3JPP7elvRqOCa7CNySYYU?= =?us-ascii?Q?WaAmVPEQdPoqpm/SzYx4tslZOg+GodLomXAmet3ZL0nzBu3+Um98jRV2Uinf?= =?us-ascii?Q?B3HdP/8sCuYGgWebff1lYuyQJwF/KgUCUsKVGkQ589ODV8zVSDjhivCZX4SM?= =?us-ascii?Q?Z5y9QbRjctovJ1gRoSKGPmGJJ3mQJiQjPADN2bjc/D5jz0EGU7WSRiNSHmvJ?= =?us-ascii?Q?61P61OuxZ4zMnsLJRzZK9GKlhZ3oZqdVZ3f5lEZcOWSnEyyF48EpXR1ULGP2?= =?us-ascii?Q?1IB//Vs57Xu4vUtB01kLUI851TIzZiutRd0F+oGlw=3D=3D?= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: f89ff558-6c5a-4a97-7fee-08d4d96edf3d 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:BN3PR0301MB0900; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0900; 3:Suzyo99yGHnmW5J04L1EhApHHYVP01/EI2jRScFjA4cghx5CQ44XlH35qk5pqYk3Tk3Kru4oz197hBVgryc9Of1WwooL4sNwq4UtdEWtDHIHv2juRlRWLnnYmqrAxkphi8HabnXHhz5bdS+hAnOQsnZSDOM2gsgtR4ew+p0HRTak0Wpw+ipo7WDoKknMc9GWLIQ3v591CL/IHPIsXOgAWi8LvzGtb/1VzGzIm1knNj3ZmSNBA4cwNiyYNYt9vIhrgsTtTBrf0+0rg/mqdzI3/xPph0gRCdURVrZrw7u8uCDp4XfsBjWb7swzX4Q5ShAqo7joO3k8oB7i83az3Ad6YF/0zqT5OJRk+woN14+DZvdeVc73niY8kI6nEKq9/7hT0LjeDsWVlshIDCHBaqxoF7FjtDxZiJ9cK6sztZzCxtaOHZ2AmtnY724lesVEFCkqY/672W37rblS5je36VZ5OwLqmD4kxCRedbHx5bBpm+HyVJ5eAAP2kIFlUC7fUqeZU4nYh51gNgJXgoxAKRUGDUwzL2iQUrCdKxAUYO/p44BTtFMq8f1EtZCc/34DoLbqArXak9vYPOCi9bDhdiAYJQythxf3ElsSYA9hNtoElAT+AhUvru7AUBHzMC1OhNq8jmQK50eTMkAMdu+rnCkDP49A1xxNfoT42BJ1fpSbdSAxrg0hIKWYYIhuDshw4pk/fP2ROqELWr39CEDwzWiY+FFRzjkCCZmIAoPzoALRGMF2LOPSwujgGX49BbG6xGOtmzTr0LWPFJN9YjFwaIpWVUm/qMOvktsIuGh12QkngRlH/8U5aNCYmM4zWT+ai35fL0bY9ETDj10xyuuxhnOcAmqNXxSO+5E9YcOsx7eE6ms= X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PR0301MB0900: X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0900; 25:k7nhgCiYYyoaTfYNuEpoKXchqJfCFuf4mOYD9yPx9uEQJ0HtolvlP46C7gBWhrOKr4dQVbqnh4DIjqdQ0WCpwexuFml0Ay1X7YhZ18puF/m3ZewCZ22ncDTl6m7mz10KBQxIYb9hOIFYw4OrRBZ9Ca4RDYE3nEV8rbF4rN3Nf2mv5j8ZAwUmLjLPITxsE2oEis+Sep+k0c1BJEmFE2rkz/F/EpUTZoSgU8o+TGGfux3GoUZZfm0/ayvmxESMXSbvcde/0RS4tElQyPGLYQWB9PSnqePhM8/jhofJGA3v7sIKlhQoSvvo9HfpkqHdMS81L0yBxMlsGh7dLjJhXEJ/VFYkn4p9cF9nXchTffgCccFteHOjELlQyK1ClOrnQiTpp3s9pmU8d6hfMDLan4EAvdtv2N2mJyCj3r56YbH0BPg9p9QnsG5JrnqTrVBORyahL+ZgFiFJgwbGM2Qd1aorcck53ZJ47hL1QC3iEPIal0aEsY4fbPLlDtQNYbSIsY4O5yyWRn+1CFz7ZpV126lRLb6alXK610JY4wRWSwgnNft1Dyb46DTBA0hbp/y+46S4/JHVoUvgvPWonxWzlwHhv1fStw02h1NE0ALWGa52Zy9KYQGQKMEITP/9YbrvFpY7/fPRY8ri/gDa9IO8yrHQJEFKxoauNK965pEMpmWK129l5sUxtm6dcNzE/w/BgL/QrykCFpsV3Yp5FYhn7qG69JJUQwj/5+S5ShOe75k2dqozjojfdcDIvsnX7aJYEa3lBGNyg+bloPBS02RSvUgXAbdSw79nCSU76tgMd5REdePdx1tRhkzL/nGyHrKpVKgkwUJdfVuyQxj3k9baCeZ7+FpsfY0/H2le7F3mtbgI1Ikun/+1JFoEfiOK6FdutQfb91xysZEBy8yuVVeXfQzyXFKNzyoV6cihIIXEUPaoJr8= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0900; 31:kwO7HuCzbFS0oX9kBJPPSi2O51rijr3MLLXFklFUjI2j7cwbajREQlXjBOaF6NKlulI/45GcWN1FU7hv4zKbMcHK9HwapWWw8OdF6m1GHRGuEs5JxLKzQt6ArlhWKNaUqXAe26X8EeZxQLcZT1vQNjcrcu7wlbtR/VrDl0u6ENG6HKpfu/LrNkQK/u6cAW50okYY6d7L3MKaOjgMkkNUKgDqS+eDtQ717UojNfA8wUJXPQLgUpsjyg7tUx22+XBgOqRAETQ9J9y8wdRjmwMozew1lPmy5IKLtq+CHHCYxFkUdfHXrCpBAz6I85DH769aiWhred0FNUKnl3Xd5KX1Z+86lxFEsIhYMBK/sg+/PyjgfXwy3sK6daOrOGJ753USmTTkeA1PCatV0876EkNlFVDTw6DUIqPniDiGg8pfJ/noINj6YiEIAxehHLYSw3niCHXASyhZEfSgp1cQrKSO15kP39Y3WExv/5feRrFvTSMcmp7tdjSXTwFW25xb4npoTCn6WY28sQjZu2tGk94hz3zGeQbDblouGbuESfZld3/0SYc5j+S8kkktdIu64EBRJUwK7T/teJFlE3Nd44CjPxjZuPzUHvZJ4Uqs05O/rlrOs40pqPLnGhnxtvNE8e24NoAMIFqRoAMPLtTMStr4drLUx+Kc+4szhZ3rQ5dqw+2B/pSnng6nTEMGRudZh6DxFCFhQIDMvHjaqJ2z8Prccw== 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)(5005006)(13018025)(13016025)(8121501046)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(6055026)(6096035)(20161123556025)(20161123565025)(20161123563025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123559100)(20161123561025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN3PR0301MB0900; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN3PR0301MB0900; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0301MB0900; 4:QqT+hVKL0rlkC6DJo9AuNxCXvW4rbJzgsC9VOj4+?= =?us-ascii?Q?bfnxCBe9GViFgApUlIZXv3ZMMXVocL3ZZ9DEvLtrka0wuqp3HMskZVjjh2wL?= =?us-ascii?Q?dj7r2fRO07ASH7oauKYcJrHlwufQtqgJDXlOZmShQqXinhDQAuSZBVV3Z0r4?= =?us-ascii?Q?nDMc3LgCIWtNZo7Uj4NVJ6njTYeaKNrUR6bam4BNKyKnVf9pCahc5wN1whgK?= =?us-ascii?Q?yrdBKqpvYneuCL2C+LzSCfosPHYZVuHbYscnGoRpkqta/x9Q0Qtn4wvEsTOI?= =?us-ascii?Q?goVILusMXqmouPyIdQ0gb+GmqXqvX0wOYy0XkuNjQI0DMQ2OO8XZDVZ9VGn3?= =?us-ascii?Q?I07NzrYs5+1TMzWBSrftCT73CqhjTVpEGmUp5Zpa8VLJefZWgNZzyV2IrdxF?= =?us-ascii?Q?WcylcKH50zEUDdXJNdG+AwOjvY9hQxKFaXt7w7gR5PIbAzA/uSuZvryXH+ex?= =?us-ascii?Q?e5db3Wrnnm4tfAOVSP+8v6iduX0TA3KopCVu5DJGPgNzziKntLizXd67wUxF?= =?us-ascii?Q?7vbN2ysCNC+KyXQvMmBaZqJFcLZlX8tST4R8fxzESwinV8nOypwbTWhDvjtQ?= =?us-ascii?Q?EAfu3GI0QwdeA7NfOKDCWz3ycLm1UA+8Ohh7wBQCq9v66GpKjMqtReSlINjO?= =?us-ascii?Q?cBWFBqhz5WmSymMx2nz2FLERL0SNMwTQ7YsfC1mSitun7H0hp1+v/3mKcvZl?= =?us-ascii?Q?hLnwlGyG3uhTuoH82o53u6UuW023XtqacbMhVsvQvhbmLDfhqzqQ7xVUilYn?= =?us-ascii?Q?1yUKeXf82hvWPSqA89sfLBzEXuvq2PdD5gHOSwLT5WdXkq/xue3xtCcD2fb5?= =?us-ascii?Q?sPyqeRRVeXC96Xjsrd1IadIK+aSd9d9+4Om01HOmxtfD+mlkasl/4oFp7zyt?= =?us-ascii?Q?Lv9KEGk0RG2Enfg+X/8tjy1DMNRNuPlwB/t4l5vHMhkQh2Slli/FeIAQVzn2?= =?us-ascii?Q?46jJHbG6uz+qCEjYtryqxLHVxyG7dlRUzRePNPVJ/bo8e0m+HSPM3MUFTv1o?= =?us-ascii?Q?36d1NyYtS/wdeKJNLJFo5PlTbi8l3TtpemGpxR0aTPi9X9IuFz1mZOOPIIN5?= =?us-ascii?Q?iXfK/3GjVkq3SlyHibxZZxQdo12PLDJ/FzHsJAybIzjdfXn8mYODaFZigDsj?= =?us-ascii?Q?0Iyxl0JjGkt4GuLK2ilT8wJvblwXt+f1ETn/dloSHjsSKPf1cKMso+sN1k2J?= =?us-ascii?Q?3UB4LbpsSBO/GOFVezzuTqgRpUlSR6XpPPaWO0b9wMQ3YkbetbItTd0eSNiY?= =?us-ascii?Q?mSPqf+ODutcZKNOaYTh1XmjiXM92KFP4Tq07Zt6u?= X-Forefront-PRVS: 0387D64A71 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0301MB0900; 23:CxaVnfamDvhzTig9XDs+mXvrhvJVzOMmULZkGTB?= =?us-ascii?Q?kXPdoXbS3kQW5E700tXVX+RTNi2Cl5cSPl2T46/jna+ZxsiHjimF2uuqGrgp?= =?us-ascii?Q?mTPm52AyPCVN94x6P13AB8hUiE0DW5Kf8d5Ml0zg2ocxNI/LJxGGjd2rnuWN?= =?us-ascii?Q?IlkIi4iO9sg1+vEIEKbT52wJK1uLo3OMhnkEKIPt7bPqHGFFNpzOUadeoTeY?= =?us-ascii?Q?06UhU1yNyxuzMuPprZeJ+lj43Yq0kitxBe5PAcVMmSMeIZByNN6g0ttBI4j2?= =?us-ascii?Q?tm/yQRxH5Jv9wAapJNhtCXK1vMYj7z1OY1FmohjTaMnbA2WFx7l/40Ieyd4n?= =?us-ascii?Q?QqOIEboO16RVRh975h/GcD/j6k+K3oLy5c3TDlJapJGF1zbyIrEbaih87Hea?= =?us-ascii?Q?r0z75DsVrmCCSDr1fYid0pjRUoyma2+G9BTZ/WIkmR8LT/JH17wXNduRtDKm?= =?us-ascii?Q?tl1BaGHiP/c+WyEF+O5dMM7TjrXVoaQ4n4qxN9eiDoiRR/klzg5lox8WT35E?= =?us-ascii?Q?2Qcw00j2hpkR5CzSgL18DDyGHyF+HmvQRFwzgosHRzhvCpURCv4kkJShiDp2?= =?us-ascii?Q?50bbWSAHfjatbJtCpuG9iloXaVKLaPNoK95pAFNQKLzZvmk/v3ix2ChX56Mh?= =?us-ascii?Q?UDCbiz/z306bEWWPIs50bGBrArk4N8AmA5llEKa/glMp4lVvT5rqQ8pNBfJY?= =?us-ascii?Q?QCW9rcSt0Mh5gn0wOrY6IRVDTmaJtZ9aQn5QNc+h1TVVRiz5pUxKsZE2pgL3?= =?us-ascii?Q?Cg1QJwj4ZzZemSkuklxG48yKS6KXgGlx12S/rVtsaN3SgpJy5eTNbHjdvJOl?= =?us-ascii?Q?bote+zXWZ/Q6Lw1YOmZGlYqq8JRvJo9IqerLu4e2lxJXbz74fIvWFvZ1l+fU?= =?us-ascii?Q?t+73l4CTE+Xm6smgFAmVaeI9l2N7j2DIOXrIuqKvOqkQCNsmUrD7+aUxeutA?= =?us-ascii?Q?xTxypbDVyCmUztVSJY86HI0EFqcTrgAIyAi6Kp08HVZ90PKdPc5M5SqJkeyl?= =?us-ascii?Q?1hIFn/BZZMzO/VTiTio6zwk2iJ7oLik+Ux6X4pFkviYz4bz7QwtcpURCEiQ+?= =?us-ascii?Q?ATs0zou5DjQb4ZhzOVOcdLgJ8kjHHROEWHBlbpzmFounYUXYTvHqwQE0nci0?= =?us-ascii?Q?rrLDnpp2IC4EIu+fBniiJz9w3dkG4MQBztYPrG1M7m/rdTsjcGMCWH+a7qCo?= =?us-ascii?Q?BLKwLCleyarkVAZlHr4siXYyFC6Itkgf2WA585VI+ZO8zSdikLZbyHjKBd/a?= =?us-ascii?Q?L84brcT21eCDIqd69MP5xlb0HRlaoNnl/v1Qt43nT?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0301MB0900; 6:DiMBvnofGzD0q1lBflRBed6F+kXo/btXD53fXbty?= =?us-ascii?Q?sVMuNGbvWNjb6EQzJo+VexfiPvuw6kaIIyGzjm8Bv0UC2xD81Ejes2+4i8rM?= =?us-ascii?Q?tnmRd2W2h8jestFqyHa3HF4+0aQxS2kyrTFnFFPr3vgAnfbi0wJZAPJHz/T8?= =?us-ascii?Q?Lzfz4ZnG1ae5v0hnuR/7jxiTZz8m4wvIFAm5qWU2rTvf19Tw6L45Yof9jhnR?= =?us-ascii?Q?nsvl5PG2dhhyeMDdLurb2pc6hsIlSQIu5Z4I+1ELe0VHWbzHrihu2G0/2qp/?= =?us-ascii?Q?+8O2l8l8KnbzoVBe5DjQ+QRJk4XWtpOTmMmmRM9C3Cf3UwIQWazO3Ms28HjO?= =?us-ascii?Q?fkf70Lb0usfEYs/ygKlFwHLhTor0Bw8OMdx4vBfloL1/TE46lacJhuamuPw1?= =?us-ascii?Q?LasEXRy2vWi/V38Lt/2WJtWWHVTawYBErLkGWx2AxlbbqAgHbRerB3JACd1F?= =?us-ascii?Q?FfpwI3llFDtuxHprzNgABEH9B7GIb43cHWs69BzrtiOG7sFN+OqrLrUqk6jL?= =?us-ascii?Q?EtThLn5zaLYlt4zCK7I/9lGGtq67ZOP63HoUrwqYO676cqO/P37w6MXLINZr?= =?us-ascii?Q?bgkjgvaGxhfDl1BCS7mgDrj218W6W5p9AMWte4NHAHafCjqpqcKlep8wJwcv?= =?us-ascii?Q?SOLduqWF8aQiSUs21KKcfWXxG2HdPp3mQjL/HBkc7eiZJNeb4fXEjTta5jw+?= =?us-ascii?Q?fFJL2mneZiuqSBQeuIIzPMBZBfSyOBkrikm4ksRMiuX2VjlBb5od7JWg2/85?= =?us-ascii?Q?3OFcN+F15VrUQHguWwSl5ItrZw8YDtFRG00VW7uiXov1SGuVYKko2J20jY15?= =?us-ascii?Q?ZoKtr694C3MlXeuZiGdiKulop6fIjWk8wxM3rnxyey3FexyhsaEKnRMd63b3?= =?us-ascii?Q?26R6/pzeH29c6ZbFWz8JPU8wLJmlXBPahd8CDst4x4tHToomdMvXOHh1oysY?= =?us-ascii?Q?a0W5zRYpPL4JzQcnZftIJ95pKDbPIGXDpDSXYRdRaw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0900; 5:qHrp6OJEPnkpZl/jkTwHivDsYPelYKOvSelhatN2jkkViAhkD4bM2lGtkYVKuvS8/m6dlDOTndWL0kOxkePv+wTGRuFF5gruClbVySvyORPEbJdKevdBT0X/g4Typ6vA9/l6hojh7N0CbVdx3oXLdy1oDcXrhWfdJ6UViQmTCmHQmvB3EaEKUdE6RCVF1YpxkysDKYFNmnVSYH9Erh1q/bpM+O8OzKyiYwCKgbYEmPqweGBBFHsNMIo7Z6DUj57t8cVFQqUlL9863JBg+Obsa0ftQZz6li33g6Z3gWxzYIp+R0NA+UtIt7d8/8BrwwmVwBDbW0PItKv7KfNYEf1bOwGfb3+lQSGPjUTzHiouLtRSmgOinY1mce1CaquNYk61UnvrhimORVUY9QIsTA5UrF1Yu3bQp64AIIJr0RFvN6iDOoPP9FY86THReKAERSkdARVCI6SxIn3FKSEkQo/SdNM6EQl9LwdRy0dXZfMyvskZ0j9seeiqJMd7jv5GlmS69ObcOSSqjPMqrXidFxDClA==; 24:tdpp+pB4t3ATnYc6vZsYr90ABEmko6V/C00DjlrwsYis3+WhUj1kS7BRndd+AmeN3YT9b1GkBDJ4iGzO90N/ni88kffRAQRZ69w2U+qJ9s4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR0301MB0900; 7:GJTGf4wMT4An9Xi2uIP2hV00TNd1j4OURw6wJ1vPbLVi9NIBJ8mAsv9BlMIrkRhhclkkXjb8zwGUnMTmDs4NxvC1MtViXMnp3gmTooR1Vw7tQvRVKOP+Dzg6lY6p/+oWrYdit2utgJnnWmOit0KtPaRpg2tAipdSC7jdh977xZSxINJQGFaag+nLHdnGbX8sdh7Rr9XfNqvD/uOlo3OR02ILAKGr5GXhgoHeO/4pPbl08+NL/VSU8ke0v/UY12s5k2oKV0M/cK/j3S23duNgfI2WB+R16g5ejb5YTTgmOL0Kmjmofw8Hegfucpd0wdyMOba5IuaaQez2X5/HeRTSXP4ohe2iQ0wrqaC6XZLzVI0vcEcvpPXs7WVDqLU7qXHFs6xCPm7bqby4wlmHZK/gsBO8S1czGJ3Dhx6E5HRsw5dkLEqu2cPP97z10CLMXej/JFU0MLt4EGpJLyZvXOG3xZWRI72FjU0BZxIeGQMn5zhzfDN5hvPe38dhObskcdP2YbZUXf5fpulFi1M1VakK63+V27WuUnfkA+0GzdvPuNMg9lfPl8YMZHvvjYXN3AlYmV7qIOKu5vO34OId8Ax0yR4kJicUccdRvcO4U1LfeHq4JIyPaINR7cGpytYL3TiHnkW+sx4DxwRJOC6bRsa9+Ena9B5tJXua4FZQBirygEAWzDQ10Qf5Srku+TOyb9Wk8aP5XJCnPJ0EGuV0qZFX8XcYRrNePVydSAvZ0tqK1W8OWQ6omcpxLwtxB4EgIkhxlFuDLLomjcqfj7I8xnMIfKKGCy61JRGaPfZt3sTw7Sk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2017 06:22:37.9814 (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: BN3PR0301MB0900 Cc: Ruchika Gupta Subject: [U-Boot] [PATCH][v3] 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 Reviewed-by: Tom Rini --- Changes from v2: fix-kaslr-seed moved to sec_firmware.c 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 | 33 ++++++++++- arch/arm/cpu/armv8/sec_firmware.c | 99 +++++++++++++++++++++++++++++++ arch/arm/include/asm/armv8/sec_firmware.h | 9 +++ 3 files changed, 138 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..7f58dbb 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c @@ -345,11 +345,36 @@ static void fdt_fixup_msi(void *blob) } #endif +/* 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 +383,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..0e74834 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 - Get a random number from 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 @@ -278,3 +331,49 @@ int sec_firmware_init(const void *sec_firmware_img, return 0; } + +/* + * fdt_fix_kaslr - Add kalsr-seed node in Device tree + * @fdt: Device tree + * @eret: 0 in case of error, 1 for success + */ +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: No 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: can't set kaslr-seed %s.\n", + fdt_strerror(err)); + return 0; + } + ret = 1; +#endif + + return ret; +} diff --git a/arch/arm/include/asm/armv8/sec_firmware.h b/arch/arm/include/asm/armv8/sec_firmware.h index bc1d97d..6d42a71 100644 --- a/arch/arm/include/asm/armv8/sec_firmware.h +++ b/arch/arm/include/asm/armv8/sec_firmware.h @@ -8,10 +8,14 @@ #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); +int fdt_fixup_kaslr(void *fdt); #ifdef CONFIG_SEC_FIRMWARE_ARMV8_PSCI unsigned int sec_firmware_support_psci_version(void); unsigned int _sec_firmware_support_psci_version(void); @@ -22,4 +26,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_ */