From patchwork Mon May 28 12:25:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 921497 X-Patchwork-Delegate: sbabic@denx.de 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=) 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="BsBtd2Cn"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 40vbrV5yn0z9s0y for ; Mon, 28 May 2018 22:34:02 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 7D9B8C21DB6; Mon, 28 May 2018 12:29:01 +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 53D3AC21E2C; Mon, 28 May 2018 12:24:01 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 8CB1EC21C6A; Mon, 28 May 2018 12:22:44 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0073.outbound.protection.outlook.com [104.47.0.73]) by lists.denx.de (Postfix) with ESMTPS id 7D5F8C21E74 for ; Mon, 28 May 2018 12:22:39 +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=GEz1jErjcyrA4wY4SI+LeSc54PTM7c8fYdb+Vn2vTzM=; b=BsBtd2CnR3GTM50StjwXCZc1ozf7npqaTvVvvS24FBeAnS9bkNAngTvAHAZMEqMqMOGr0M9/8yMJzZ1TEk7LhiCPR/e54pNYjgdjFZL33/3DwnLEmKFoT0pCit6r09FCLPbjcRjXTilew8JSjgCqGdFzkN0NXc12hKRaNmxKy9A= 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:36 +0000 From: Peng Fan To: sbabic@denx.de, fabio.estevam@nxp.com Date: Mon, 28 May 2018 20:25:07 +0800 Message-Id: <20180528122526.20597-23-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:5At+UAyoJz2KGL4eC8hPy8sAkcf5kgaSyKpuWyLf8EtIYF9okaOMxuoAfdzNckrKVRJQMGX0dmVP4Us0eLMn34Z+b3AIJX2qZ3FQk7GoyP8Jf/esF0mpco1nDSWdJ7OG5C0xZctRHpucLL6xa9vV1LkZKB7CvB5RLcII3KolbpjwlYAUC2ZkUbGK+ozenmBFh1NYFJNcBfCtr0MbyekrIYKhpCyQxyPNhg7zGsc/sRQzGkqiphRGomJXzDAVdJnj; 25:sSc1kbwvAtxPijDyDrLfWM477XMiYNagryYTHZ3KTyDLwUIcfSxTsLbmc3Tcuq+XhT6s+Y43znktxV1GWbFg7iJ8YriUGkaq9bjDu6dqgFd5gCgNlsL4ClRFJPnc9xNuucoyDo6d11wqhxWgSqKxwJ8YaPo1k+nK2RUCxhzqYSMmx4zUq/zyrqTH+8keQpJ5O66FOfiJm+R1NOvRWNtX4OW3nsOZAmsnA5cQ5clCTCdr24+3dfRaHj+qbAoBBoyCCvKzFKpsI+7mPJYVT6wYcdJypvm9WUMtkBgo8l4okd0rMWvx7VY3D5Ojew+sDI4F3uwIne2iQ0tnMVoYM9ARsA==; 31:HfcPVtr9Pkx2PhLPmPjPnC9OfcDvg3HB5b/h9CA4l42+HvCLGXzibow6mkigYB3iI7tJ8Au7MUz/EVYSQJdIRl+x7S0PAtBaekdz81SxwrjLbKXT9IiYlxcldH/XvrBMQ5yKoIV+OGzD0hRdnF7zjW1oR39Q2M75q0JX+KsJal+u1FqXyjTRD0C9R4gUuPaC6tPrFOeK8ZYV5l4USM96KKZ0QgCg7zB6+E5v5XF4UCo= X-MS-TrafficTypeDiagnostic: VI1PR04MB3006: X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3006; 20:tFHbngQq2XITlbTq7omguzJWMcEDctx0LCbS4fR6IYcVGiIZcp/Wax1A5HEVCNN1+eANOWR2sJao1lS1jQHk4bOjGi4mFAoBmQfKVlw82qsdvs5zzM6Vbh1WlMVh6lVFExkhh23w+qi00aaL2sVKKpP7lE7Y3QQ9caUN/I53My2WJ2VbciSAB8Du7emO8JHlpFO7LiO5zko8TWMvNpIqv0k01OyyWdktPsX/NSjbrbN/MVRBgtJiKBM+4iJKS+WsxZN/lpwSJv2ohkf+5r20PRDS0Pe5zQDGzmnh+Gazk8OVmbOeM1xbNV0i3Nb1B1cMh1HHZgPbcX275Ty+qpkwOUssYSvxlqAzdSV9U1G/PCzTOalQQosKTwmuwGv0YqY3KUJ/3Qs2ZS75bHTIrzrPHs49rk1sjQuNeImAgqdcdn2PwXqUN+6ASudqvZnaNrHpYWO//pb/g54L+qIUEmpI88mkHstBFP8DJS1H8NNL3FQvR6gA1bmZtuMDTD4cVrBX; 4:FcL7Z+WRKMg1e+1zQEWDuQDjs6sRQCC2VcvOUYsnE0aLvCFU0X6JvK3S9/hy23l1xcn7xIdyvtPBt3MRnGE3hBGmlLeNe9cugnoVMRcG/TaTyNo5u5UYTOdxylSjXEk4N00LlQHyXyPgA9ABYF1IZlRtfdDcdCs1RfdRglsInNBER1Bd5FNIdf/MhRvqlj6GCU9lfaG740vT6p2h1Utwr4+WdFUHBaoct9NXEAg9cTdSB99x5/CW0SPWWfH35VE3iXABVAVBdJayjZ3EeHCFNry1vVg5HZLmgM3kaXs+Z1QuMlpoxLj7RMhOcyQPViHd X-Microsoft-Antispam-PRVS: 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)(575784001)(81166006)(81156014)(47776003)(11346002)(956004)(2616005)(476003)(446003)(25786009)(486006)(48376002)(106356001)(105586002)(186003)(50466002)(16526019)(2906002)(6512007)(53936002)(1076002)(66066001)(26005)(51416003)(478600001)(305945005)(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:llH6J+Y86UJMMFcczV9/h4a27uVRumjQtdYKpAbwg?= /T9+0e3Lt/lvMPk/PKv0gmVvbeShIQiaz3GgRNzFraQLn4yivvsO+f2PrQUckCe4C87bFSt/y6dh9OrhWJPbaAxX7W8ZUXHP4nZuZy0uoXaBu3LpPFLyuzlmgW5UuQNT+ZBZADh1XUtWrcg8oz2bnIXb4a8pZKMers9meguiprpLGdvmODfWkmMrCbnVk8V4ErIbJSbo1wx/Pj6toIXluvZ8NNCB1vV/y23jTPlxR5Cu/kC03Dy+P+98OUh1x9Mrt1qHjSE/hyRdVucu/m5rfNKg5pNsmFxNxInTgMRy4A4YBcUAMyZDw16uRP+hxUJfA7xnGw2j4hHMPGF3kyTrPoP9AnmTn/oOX5tVjV46mKBCr5zchhOsnMwM/PCgmltIp8rhTrbYyDyIe7ZJZ/zSdbHZhUTYSKtJF4gqt01q3ePam1R6cIejk8XrYx7OUnb39A6Bl9PwDimSSDt6ObxaSJIg1lZUefdUJ+2i/qmmq4xP/QBMtrvvfSIb+NtKAce4AldYE3SW+Y40OL5xyNN4YKW7WaCTcfBN8QAHfU4zDV6jUqj7Qik08jmRL3uhaJS/cfFotRba2R4GjYkFwIQAuocCi8vs1tB0jiw+IsG2Bo29Fos/kT0FuiwzAcnCCU1O/F2KQWYemqzYq0LGFiSo09J42BZ0PJllvIetMWuT0USUd5RdYGKsXbVqT23PZlNG9siQdySuKxiizmMNgRkCsr5gSZw5HduTiwCXwSO2yXEYGWA4dDlvAalIzTI01FK0ICIVQh8GPD6DARMwnL+8AysjSeDVwP+1bCobJjG4s0XUWOEPBymyQQCodKstxrEQdD3rdGRzfzIV/b1pUYGD65EMbvfKtQjjxVa8m/Ed0Q9+oq8YpYdKSnrj3sPZK6Gazt2Ta1ICMTWwkBQBUNvGu7pbKNnf7RWkv4cCmYwGD752kA6rZQEC+XikZTuruDoM9oZ5p9EYjF1PwiZOJgg4wAoVtiEUTBMsoFNPXpepyrVGopSG4ypQEhSbnDvxhwRWqth2fHuBkoVYAprPiJh1QyVIV006rU208uPrwyun/TuR4/Zmisot6ZDdBgGN2t2YNUutQCBuyUlHKSV1AVj+zGV+b4qmt2txbmRKsGnJC3v3IrYqq7rwNAG8WRertgw71+50KOtfsDpHiT8PkSuiuj1BUESYv69KVb7TyZNGmkCsCDwH2LwcKqyzPP8PVmJDGc= X-Microsoft-Antispam-Message-Info: NNQSMLJYxA0DmqabUTbe6EZ1i71ad9yTAOy/GtQf5E03D+L1+m4fh2WCEJ15aYcB4o3s3EIQlW+gzfdgElvME4Tc9ogRavjCf+jk5NaN1F/EWPzYuDC85dFChe5aMNFDDNcBvUl8h87Gm6zZnhfm8+KYy+/HIQQS47mNncZIdsi1hWMUPtmK+ObOmikvWIdE X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3006; 6:zxzM3Q/IRE7QTTWT6w2f9/VcIdUC7qlFWbEmGrigbh4R8BoixPAd1ugGW/JW3eYe390a+1mxxTqqTWlQKhxpl6lXQAMAeIlVHcXOXypV0gh25GxuxjS/fPO3f3FO1LhiX6Tw3qw75gicDBYrI3wEUeSFH0pXmV29E2aqd8dydfA684CN6ljXTbgDhgEf/ormQ59l8WIkT50J8v45Lj3LzliVH59Bsbh7rp0qptKQ0kU4qxA7nk3IzCAHvX+2bkUIkF4f83/lju4jaB1lAnA3PS5iSDFmS1042PlbN5/8goOcF51vkbuONSBz23Sy8gawnT5Du/nurHi5hV5/d8Thu0NRTfBTUbBLq1z6o78x1Rn8hnR16vAIyPHZzu7gtvd72P8FdNWDS91BLCfiIkalytDZO08GmPQKqVKrRuVVYnEj7ru2ooJJrgdVy8wA6ENtE8zIS567n5Na3lmW0mfWBA==; 5:n3UpLSc5J0F20yj75CTwhMvFhSGeX7xyS3geYjdJJYSPk8zdynsZ84F6DnvDIxC7Vk+xxG9pCV1qpeakvlpmwMrUBIy6cB2Oxtrpk93os+JFY4QhiPUhBEkxt0T29KNopNPTICK3MHHGTkj+7/zkDE8qKHkhXOPuV68xSfP/wN4=; 24:HEshuNpWVHfG7eClA2Ipc+HZtJWGXec8SSo05vMsGstVDErkVlQF1NYfWz1TB96kSyWPFYFORwE0dincIFbydJTO9+aNZEZB7TcstNWWJco= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3006; 7:VqYp5FE4CxpTdMh2LryxjLZwBzT2iUwsX9sJ5ITw1zuvA+pUss590cQJ+QiTjRxn1OhF6ftMiLkH5X8M0mqEMtufRpjwcVtT2DhyJBfnM2oUfG72aEdFAaKE6bwOQxa6Wl309sXCN9aEneaF+PSY3j0xV5CoKN+O21bc4sWwvAy3eOoAkpaY1mCjWIP8nXs6ueG28M+npOZBJkRn266fEjln9m3AvdVVvhbeHXp2xl4bTVTEK+KWkpEmu+aVfIQR X-MS-Office365-Filtering-Correlation-Id: e202a43f-6ee8-4093-bddf-08d5c495b37e X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2018 12:22:36.4016 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e202a43f-6ee8-4093-bddf-08d5c495b37e 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 Subject: [U-Boot] [PATCH 22/41] serial: lpuart: Enable RX and TX FIFO 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" From: Ye Li Enable the RX and TX FIFO in LPUART driver to avoid the input lost during u-boot boot up. Signed-off-by: Ye Li Acked-by: Peng Fan --- drivers/serial/serial_lpuart.c | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/drivers/serial/serial_lpuart.c b/drivers/serial/serial_lpuart.c index a5a2f65c77..e99a49d0d9 100644 --- a/drivers/serial/serial_lpuart.c +++ b/drivers/serial/serial_lpuart.c @@ -40,6 +40,12 @@ #define CTRL_TE (1 << 19) #define CTRL_RE (1 << 18) +#define FIFO_RXFLUSH (1 << 14) +#define FIFO_TXFLUSH (1 << 15) +#define FIFO_TXSIZE_MASK 0x70 +#define FIFO_TXSIZE_OFF 4 +#define FIFO_RXSIZE_MASK 0x7 +#define FIFO_RXSIZE_OFF 0 #define FIFO_TXFE 0x80 #ifdef CONFIG_IMX8 #define FIFO_RXFE 0x08 @@ -47,7 +53,7 @@ #define FIFO_RXFE 0x40 #endif -#define WATER_TXWATER_OFF 1 +#define WATER_TXWATER_OFF 0 #define WATER_RXWATER_OFF 16 DECLARE_GLOBAL_DATA_PTR; @@ -318,15 +324,28 @@ static int _lpuart32_serial_tstc(struct lpuart_serial_platdata *plat) static int _lpuart32_serial_init(struct lpuart_serial_platdata *plat) { struct lpuart_fsl_reg32 *base = (struct lpuart_fsl_reg32 *)plat->reg; - u32 ctrl; + u32 val, tx_fifo_size; - lpuart_read32(plat->flags, &base->ctrl, &ctrl); - ctrl &= ~CTRL_RE; - ctrl &= ~CTRL_TE; - lpuart_write32(plat->flags, &base->ctrl, ctrl); + lpuart_read32(plat->flags, &base->ctrl, &val); + val &= ~CTRL_RE; + val &= ~CTRL_TE; + lpuart_write32(plat->flags, &base->ctrl, val); lpuart_write32(plat->flags, &base->modir, 0); - lpuart_write32(plat->flags, &base->fifo, ~(FIFO_TXFE | FIFO_RXFE)); + + lpuart_read32(plat->flags, &base->fifo, &val); + tx_fifo_size = (val & FIFO_TXSIZE_MASK) >> FIFO_TXSIZE_OFF; + /* Set the TX water to half of FIFO size */ + if (tx_fifo_size > 1) + tx_fifo_size = tx_fifo_size >> 1; + + /* Set RX water to 0, to be triggered by any receive data */ + lpuart_write32(plat->flags, &base->water, + (tx_fifo_size << WATER_TXWATER_OFF)); + + /* Enable TX and RX FIFO */ + val |= (FIFO_TXFE | FIFO_RXFE | FIFO_TXFLUSH | FIFO_RXFLUSH); + lpuart_write32(plat->flags, &base->fifo, val); lpuart_write32(plat->flags, &base->match, 0);