Message ID | 20180528122526.20597-25-peng.fan@nxp.com |
---|---|
State | Superseded |
Delegated to: | Stefano Babic |
Headers | show
Return-Path: <u-boot-bounces@lists.denx.de> 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=<UNKNOWN>) 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="gsB382gX"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 40vc9C01fZz9s0q for <incoming@patchwork.ozlabs.org>; Mon, 28 May 2018 22:48:30 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id AE028C21E0B; Mon, 28 May 2018 12:28:23 +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=BAD_ENC_HEADER, RCVD_IN_DNSWL_BLOCKED, 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 A47AAC21DFF; Mon, 28 May 2018 12:23:50 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 326B4C21E16; Mon, 28 May 2018 12:22:50 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0053.outbound.protection.outlook.com [104.47.0.53]) by lists.denx.de (Postfix) with ESMTPS id 10FD2C21E73 for <u-boot@lists.denx.de>; Mon, 28 May 2018 12:22:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D+c/RG5d22eDy8+ty1un5q4R1DZBDg7ToX2Ncvv59/8=; b=gsB382gXkumFqkMNj1GaAzquL5EPjzL0FdJ+PXLEcLes0nRW7EEpVXWNLkGCi9DGjNNXmpRNUDzLtTMG5zDvA5M0R+MGAg6M2AOOog8lpNT7lM05QI4joOWrHDadg4mYA6TS/EDIaV4GXAtbsSFoUAaPslaVaL06uSjz1PUeGe8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peng.fan@nxp.com; Received: from linux-u7w5.ap.freescale.net.net (92.121.68.129) by VI1PR04MB3006.eurprd04.prod.outlook.com (2603:10a6:802:9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.797.11; Mon, 28 May 2018 12:22:42 +0000 From: Peng Fan <peng.fan@nxp.com> To: sbabic@denx.de, fabio.estevam@nxp.com Date: Mon, 28 May 2018 20:25:09 +0800 Message-Id: <20180528122526.20597-25-peng.fan@nxp.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180528122526.20597-1-peng.fan@nxp.com> References: <20180528122526.20597-1-peng.fan@nxp.com> MIME-Version: 1.0 X-Originating-IP: [92.121.68.129] X-ClientProxiedBy: HK2PR02CA0175.apcprd02.prod.outlook.com (2603:1096:201:21::11) To VI1PR04MB3006.eurprd04.prod.outlook.com (2603:10a6:802:9::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB3006; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3006; 3:bYD9Yh2/PX8FNIn4/G8C387svdCl79hE+XCD0ES2iXlHOd3PvYqRCyTjQz0X+oRn11a0gRuRAMGW8HwtHHMETOGeopWw9Npo3y+Jci7IsDgv/VOQeWHZ3Zw68bX2+grJGVxN+Eihkx1MIIhxIQ4xeSQHEboJyzx7s4l8aoiQmXIn+cfV73wOAOH7PnDGBVfQ39uS85b+Y91ZmIO70HX0tdJcMpqJRVdNMppTyNsOV9lcluyBY0QWwquEjjGIQIjy; 25:ZYk5H2h++Kg/gWNXNBmnfW/l0dza67i+vILYa3f1j7QJ0nPc7QFs9u+D+mS1zE/L3mK1M2s5SC0Xhv4bwoDBAVg/L5nzlUePxM1PK4fwYJlu13LM9W9ZxtrBqo0bhN7q2LhY4HZdNFOlH3qhnju5Y3WUItXp0pp0hJoh+39K6vKvn0FUIUEwfCV6o6237wYD99VPmhfZjC+K0w7dGl8R5v9cDeFxSErC4Lk+VW/4Jm8ptMUW4vP3kx8aOs9ebWC26uTJsWcTPJTIn0HkLo6Pvt1eUJ6ulsjoTKG//JsNKc4JD+6mZo5IHeDboRwFRHAVf9pwsKBKSjdusQrTCh88lg==; 31:pzg6YKTk0sP+21VXSvwYCxea+Yfc3bXONELcOVRNg2s45R9kHJx8GPTTo5RYk96JhihgHdh1rCIyplZ2s8A2jpkc1AdXK4hZzJLjheJdnQHLrK+XenMlJgdA88olPOQQHoN7wcjQcK1ErA00gC9WjtTMRVRaZJG23KnhvM4sT4aiLjLNrEfq04MOUbz2N8eMl05wHItJwV2RmvFBz1SzJjJXKTAdEZvgdptFZ7Nv43A= X-MS-TrafficTypeDiagnostic: VI1PR04MB3006: X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3006; 20:LeOJQ20xsSZz8JLctjVqGoyXPtGdH+YV6vK9NOiBSsuoklix+bnSIgZOTakX8P9gYWNyhjxsOHo7unpFzysiBySSGil67Hem12OlRiM1k0G+pEPBDPudbr981/XaImHCUMokf5MXSxuMVaCvZLzXxMEbdIengA/DSYWvLE1XqDJfdTNo1ENFMbHPuGCGX95rVgPiZW+y99OdOIQAqx2wAYJ1Qrz79fxWSUHIZASmsdJ7vGyj2wTzZ5txjyW6UFst5aPyLpR9x/MnBui5XjM+gO1AZyZg1cp5/n83Do0QDV0na+kM7WOd6HCBgQ3ocLYOLCj0aYoCkrlIlBEMQOJDJ4Mi0WGTgkEwChPZJiXaL1b/jOES7vWw8s9oHzaMReG3sbkgJ/L7Ncoc6tqDJhHT8mWYgWxePyEpKhbE4u/N7w6uZx4ReNOI0hwVY/PgU4pJYgqMlwkhcluCnXCZOx6/mYYxzQl/SgZKLBr91u894HVemHqmUVbhF460f0gWWeKT; 4:dHM6SfJUoy5ENdVv27hlowpebk5f53qprWrjLSWQw+PLa0AimB+aLZAoAyYD1fOC5YLvruzHEyjD//Ra7TzVeAgm2UlouIevStto9mC37rPMLWkR8EIHUNwRDKP1aOp/b8SpZT41egq/WPty2USisAyOR13xVHKHTMFLHoMDAwuo+Fa0u3ugBYd1Ausmbo0C2YPeWt06ArvECgeE+YvGVX24kic9HKdDq4iABvICSEDQuKI/jlp9gfuqyMvgEYd1uo6ZOKQa8NpbVomP6CJejb/FmLO1CXPzoLTUIEDz7GpSfvV1muV/dpEusYGQ6dYe X-Microsoft-Antispam-PRVS: <VI1PR04MB3006E6EF7507267EFD38E24D886E0@VI1PR04MB3006.eurprd04.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:VI1PR04MB3006; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB3006; X-Forefront-PRVS: 06860EDC7B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(39380400002)(396003)(39860400002)(376002)(346002)(199004)(189003)(36756003)(97736004)(6636002)(6666003)(68736007)(86362001)(8676002)(44832011)(8936002)(81166006)(81156014)(47776003)(11346002)(956004)(2616005)(476003)(446003)(25786009)(486006)(48376002)(106356001)(105586002)(186003)(50466002)(16526019)(2906002)(6512007)(53936002)(1076002)(59450400001)(66066001)(26005)(51416003)(478600001)(305945005)(54906003)(50226002)(6486002)(5660300001)(6116002)(76176011)(3846002)(16586007)(52116002)(6506007)(4326008)(316002)(7736002)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB3006; H:linux-u7w5.ap.freescale.net.net; 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-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR04MB3006; 23:Kzz5lQT/zp5pz7tMlxaMQnzuoKWs8ztg6xNFUOmXp?= g+B5YXCOnRv0x3QPCfAGd94TiyzbPFmdNnOay66LQ62dbfrbTPu8VVNtZ0BYQz876Jckxqx8wdt95IfRCAxK8TSX9kVSk4eRXTpBRXNtwXWLnr8H7cSPzU5auJAWSe+DIvnCll31DaIdbfafEZs1H0me6d8BvrhsBR2H2dVrC2rd6ypliSPoi1+p20hxZTivE0RovgyQ4ZcuBEZ94FDPZAcdbofNGiUlkO7lJy3UT4Y3uZ64bGmp/D1MGtIwoNKX99DGWIgwLWbcWweDvNwFzKYCOn/X/7YEq20K0jOfnFeNtIlMSaCuqsQ9l0b+9JvpjIJKWSw8X1N9QKrcvM9myGE0+6hzWw5zmyS0UDgdJeL/5D7jqSZJqDP8OjPNOe6+QmPnP194WAYSnlC9C6y5eyjuVNKdOSKghBM9tS9zAQCYlk656hTBrg0mNZksfbWuP4XAB3iWLyvIWqXwu2Ie7N7+s/QhViQFtXh9S8x7hp7XaOLuo58gaU6/pnPSgYkKmidDR5XMtHSoYqpx4xokn5XB5OfyXtvjur9A7+Slc+hSQahm/YjZ+xjg8NtipEhxjOWWXjzyDADFSZrKqreBxPd8ChfkQXH2EOJm1sreYB8+b5m/pD8yztr2zzpk1h2TRGrdFwSt7zKyLXB12K241GH3oExolhYcL30tzv0udhO+23WLB3lGf7YK8g9Bd3+byGWi79Lda4vRJ6xefQ2snjFSMuFoV/RpyHIryXLOnvi3f+EuHTxdfREjShCvJ6djnkFfnveENiQlzOLGEP7fprlIS3fNz1dVxut735IOsyzdckCd5emZzFvvUM1DJ/9EcCDySHI6xZ4b4QIAoZLDmfbElDc1DFp89EdtNxTns3AGrjDQdY+70xeTJy72pu6cughd8EwFHvESO1PHSiKL59XlbxlBU7W/7YAEslpA7KmttPBpgRiw/qBE0X6phJRJEh5inkmFBaYgxLbKDUYjo2CrrhOUE3AI1PtSV+ARJnNPC/zf+yGIQHWczR7YrGpVyNHvdip2WBnWagZWK713Tfllgd68o0rjQBMwfYhN7/Ro5jnsXkFQGqSBcrvX4vGzQX/mAElIExmN7jT30KN9D34LG9h9cvGqZGm1PlodZwSiXN2zHbnNRtzUfcJAF7Bx5v1OYVx23gM+dDPkmfb//Jxw6LFM9d9pUBK+sLwgXonGBMg0tsxJ4am4UkqwdAE1cJ5uItx5W1oKl8+mEnfu2Yv X-Microsoft-Antispam-Message-Info: dDu2XJviFXPJ1s0imdmNnckuHnqfz5myFz7M2BUxiNhUm36+Jvo2C/yQgjodM1n8ITGjHNBFPfFma1sUh2VY550fCLC5HD0SLelREViO5wQnRWi2BqhSYvWYR+8B9vwVQoGTpXFoTmi8OCy03JSXSQ5AuyHYx2hAni+jPMjtq6+XUWDE1ERrhQuH7gfQjuFR X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3006; 6:zmZ9zLR/uLFfThy1wlGo8A6g2cKsQDv4FOK0NFnfCOZ4tXTkBGrzTTqSX8wGawF3/LmnGh8cTH4YGaBriODF53gmEMO6lX3irHanfY9Y6YmHq77i3swI3VO/c91b9na0EFDsRTnjYbqSApjLU9wPcl8CMtKZ+Q3rfFMRfdsDyrITE2hvDkjsg9SxGLpIB6PHJFWKlA/QtjBT2M3lwtB20JtFFwQ/sN/XAUbxnTKC6AwuT0SSqcJcHdevoWxQNwQslQ41jKpylQYB57raDV34AlpSRP6aObBDPjAe1Mdawy1noMoukpLWddmVXtBXuZaxnWyIYVwm7Xu42hDA5QVd0PeVuwoENA4HHpLEMJ0NF+Xqi3g2nuG3VRbOj3Y6aHYM1Jzlt9qNEHFtJBE8GCeaxFPPeM6alcMmu2ReoAJFFUqHE22lEXCzGdp+JWU+T+B4q0EsuMDwfQ86Y5vo0kkXGw==; 5:daM5eqL0vEemFR3XV5SQ3qgqGV7l5/edQ6+59YCPBatPxKI3L/AqM3q+kL6PD473j8oHtf6hvOUbCm9mmvgmiOeQ6P6ykGfkJjEm/NfMca91i7SnL97Q4A3A2ti/egA6r0mZ6wyVCl4lytjpRV2UMWjiTIioL5Ui93laCbxmWqs=; 24:yS1jeqoQujZJKncW6GfCug2te6bLJf3Yv5HIIsUQjAGC6z3eG6SOBGnqVhOvWoEFdOeRpYH6ONC2ra4Hbp3JVmG7UjSPpMOjNP6gTJ5fqLE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3006; 7:VHRtUWMENvhJ0KS58JxxRWSvXwYZrZW/mLQ5GeclWeVmKhmc8GDGfoP6pV9FO5mnbtqaSx4YItQq8lreDYVj3L+5qqdFSTOmcI7xE5BYtb5/t4xo6lnlqErNAyJE8rqdOmr/NYvUtWFW1p/Q9sW0nsm7hkD3O2wM7ZHCzNFhyiwcJ17TG/8YTCkjGlYlVegCRYqQbxSBHnfnzHg55fnbpVf5bXh3Zr3R0gJyruPk19PIut6yeUc3oX2OzkukSVC4 X-MS-Office365-Filtering-Correlation-Id: 44977057-4b98-4af9-9381-08d5c495b75e X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2018 12:22:42.2611 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 44977057-4b98-4af9-9381-08d5c495b75e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3006 Cc: u-boot@lists.denx.de, Gao Pan <pandy.gao@nxp.com> Subject: [U-Boot] [PATCH 24/41] imx: lpi2c: fix clock issue when NACK detected X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion <u-boot.lists.denx.de> List-Unsubscribe: <https://lists.denx.de/options/u-boot>, <mailto:u-boot-request@lists.denx.de?subject=unsubscribe> List-Archive: <http://lists.denx.de/pipermail/u-boot/> List-Post: <mailto:u-boot@lists.denx.de> List-Help: <mailto:u-boot-request@lists.denx.de?subject=help> List-Subscribe: <https://lists.denx.de/listinfo/u-boot>, <mailto:u-boot-request@lists.denx.de?subject=subscribe> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" <u-boot-bounces@lists.denx.de> |
Series |
imx: add i.MX8QXP support
|
expand
|
Hello Peng, Am 28.05.2018 um 14:25 schrieb Peng Fan: > From: Gao Pan <pandy.gao@nxp.com> > > For LPI2C IP, NACK is detected by the rising edge of the ninth clock. > In current uboot driver, once NACK is detected, it will reset and then > disable LPI2C master. As a result, we can never see the falling edge > of the ninth clock. > > Signed-off-by: Gao Pan <pandy.gao@nxp.com> > Signed-off-by: Peng Fan <peng.fan@nxp.com> > Cc: Heiko Schocher <hs@denx.de> > --- > drivers/i2c/imx_lpi2c.c | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) Thanks! Reviewed-by: Heiko Schocher <hs@denx.de> bye, Heiko
diff --git a/drivers/i2c/imx_lpi2c.c b/drivers/i2c/imx_lpi2c.c index a6e41c5c91..d2e11b411b 100644 --- a/drivers/i2c/imx_lpi2c.c +++ b/drivers/i2c/imx_lpi2c.c @@ -15,6 +15,7 @@ #include <i2c.h> #define LPI2C_FIFO_SIZE 4 +#define LPI2C_NACK_TOUT_MS 1 #define LPI2C_TIMEOUT_MS 100 /* Weak linked function for overridden by some SoC power function */ @@ -184,6 +185,7 @@ static int bus_i2c_stop(struct imx_lpi2c_reg *regs) { lpi2c_status_t result; u32 status; + ulong start_time; result = bus_i2c_wait_for_tx_ready(regs); if (result) { @@ -194,7 +196,8 @@ static int bus_i2c_stop(struct imx_lpi2c_reg *regs) /* send stop command */ writel(LPI2C_MTDR_CMD(0x2), ®s->mtdr); - while (result == LPI2C_SUCESS) { + start_time = get_timer(0); + while (1) { status = readl(®s->msr); result = imx_lpci2c_check_clear_error(regs); /* stop detect flag */ @@ -204,6 +207,11 @@ static int bus_i2c_stop(struct imx_lpi2c_reg *regs) writel(status, ®s->msr); break; } + + if (get_timer(start_time) > LPI2C_NACK_TOUT_MS) { + debug("stop timeout\n"); + return -ETIMEDOUT; + } } return result; @@ -363,10 +371,8 @@ static int imx_lpi2c_probe_chip(struct udevice *bus, u32 chip, } result = bus_i2c_stop(regs); - if (result) { + if (result) bus_i2c_init(bus, 100000); - return -result; - } return result; }