From patchwork Mon Aug 6 02:50:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 953678 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="T1guHRpK"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 41kMy30Czkz9ryt for ; Mon, 6 Aug 2018 13:07:06 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 9D313C21E56; Mon, 6 Aug 2018 03:00:26 +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, 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 37547C21F8F; Mon, 6 Aug 2018 02:47:01 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 4E46CC21FA5; Mon, 6 Aug 2018 02:46:59 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80054.outbound.protection.outlook.com [40.107.8.54]) by lists.denx.de (Postfix) with ESMTPS id 1B71AC21E4F for ; Mon, 6 Aug 2018 02:46:30 +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=5KCum7JTqfEH568bK92hYlDXuNIgC0qTiRqqR0OE06U=; b=T1guHRpKfCpNvvk8PJvm1m1jLQ5u2OH/oe4cP/NgLXtH/BGUkaGXoTs+yfiEwqeQSWUbrEuALBYZCj6Cwl6mGaC4sVKRMLcirVITaT3V6xFrulcGw5mWDzm4E81pvPBofq2peCaFDns49Xqx+9wBUvO2qT8DEGIQd37qemE1DHA= 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 AM6PR04MB4486.eurprd04.prod.outlook.com (2603:10a6:20b:23::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.15; Mon, 6 Aug 2018 02:46:26 +0000 From: Peng Fan To: sbabic@denx.de Date: Mon, 6 Aug 2018 10:50:42 +0800 Message-Id: <20180806025047.25320-28-peng.fan@nxp.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180806025047.25320-1-peng.fan@nxp.com> References: <20180806025047.25320-1-peng.fan@nxp.com> MIME-Version: 1.0 X-Originating-IP: [92.121.68.129] X-ClientProxiedBy: HK0PR03CA0068.apcprd03.prod.outlook.com (2603:1096:203:52::32) To AM6PR04MB4486.eurprd04.prod.outlook.com (2603:10a6:20b:23::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 87e77427-7199-4871-6205-08d5fb46cf81 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM6PR04MB4486; X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4486; 3:I5IntQU6ElR+dNP3i6rH36kFP0h4/WqyGSoagXrzSgexGP9V59g46EH3JYAu8s/NXiXJ7yP8/VuMXnQJKe5zl6MYxDnM5w0bkwxgsw0VzRmBtlpFgPtci1wcD7S9ai+wyCgkbGyMV8ftSAws335Azd5njFw6WCNQuNmlB77dKY9oRr1G9c6tH312fC/yRNUl5SevrcwyQBmdCirpT+610VI+BuzFIfiXJHQXJjowYB96Wr420k0QbwOAX+59IjUp; 25:QpyGLtKTEx1J+gEZr7EPx4Pa8ND38v2HrVptG93EkYr/1qAsGw5iZ+NES1G2M8Be90LSAZuAW0yCZd1aOLsLj8QPRnOI+3KTTL8Qb1QctPQCtdgORGwZhjPkvAc3vdcSnqibaqZUxguDdxYF+unsHgyJcQgoetK/gXQ9dRDj59b8TzsKKPBcXBuUTs9LqRxGNqXipvfpxzyJNA7gKjQtykFnggsglEbSj2Sj/6ooSf0NikOWhAxqDkhZO8C544KvqQ3exQ9orU++1i0KBE3fUw3CJUwiIXi8fi6wkiSFZMvwvxj9YW0wUVaCLH4QhiJJhjZu2tmH/jYLFj6DPQVWdw==; 31:p9CbgWG0gKkdnb31L/eQ1Q3MlqLcL1QOD5cOJYgBDA9yJIoHL4LKCSuzsEa6BSPuPbVHTgn6HVQuIj1sYPhlMm13OMSDhtTdTrl5V1wJq0wmAlBczO68KLBUhFA1cTkrL/r6iI3yizpT7WiayumGhgmxy6pYl1PXm6JAwPzAbc5j80I/9bz6d5DQri1MzHKi+HBY+yM5qzWfyVlFzQG1sQjZn8bJncNIMt1Bt4Hx2Gw= X-MS-TrafficTypeDiagnostic: AM6PR04MB4486: X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4486; 20:byn6/TjjMZAUOOgco/KTsE4f24nEgT3JB1bSScCkgKrq1Z3NnNV9FieSfj8N+YLYu6TZSVLXt8nhxwIr/nJKWNsurkozRnwboiToVtt/rdJf54uZ+gOnokBNqm1cg5chnpB0YO5dOFtVH86YsB6vjc8nN99zmSZMydyM+4/nEnFmtXcRygXPyEnfSj+BvCvPixN18SPDZFOkOaFfKQujmC2AehiYzk/KPsORMacFXDy8ySuZ75cADsQ7es82FZXIyNVtQOUN+i6GENrsb6cLLgV62FSVoUTBy2lYFp/vWofJOFpQF4I/Pl8R0oP0j5alco7DreDJyA20hr7eTyc+MwRI5SAQhxi9QcSTW/8B3a1BI18U3B4AAEn5sb9e+L2apj4dBN3C5Is9eNGUr2M8YLHYp6kSL6V+cBLXq8W0muQTPaLqC/Ut2ejDO+rZ9SGgBMEWaBwLwGWyTSRWcSHQmir+XaK/8BZFKAbbOzPKIyBEKz0XAIzPbWx4qJGRWPj+; 4:GFXI3eCrSW/AIucvT/tl/uSUlj0A0IHQMoefaGbSb82/O2/+cmZwno+cnhrRUI9+XahTJ0HJVP3psJuoCAW93Fm8zHsmv0vexC8zpN6wQcTH/vZFKpg56sGoS4/sy5BWRMkp+ABwg3VgTde21eTd1Z7oJWc6DX1e1GcKx2rLCZ6PbsIbONx4kNvwDSKiO2w1K8ALveFCWdlVMvWWE+imr/L1zziXzUY34KulZ0hZTTvxNmkxnb85MkHu4M0EYiBMFZzUs5ZaT2fbAxuWkaTSseIn+rCJhpiZdiGkITzE28fbkTxE9LIHdXpie11QLAey 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)(10201501046)(93006095)(93001095)(3002001)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:AM6PR04MB4486; BCL:0; PCL:0; RULEID:; SRVR:AM6PR04MB4486; X-Forefront-PRVS: 07562C22DA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(1496009)(396003)(136003)(39860400002)(366004)(376002)(346002)(189003)(199004)(51416003)(44832011)(6506007)(386003)(2906002)(316002)(16526019)(52116002)(26005)(186003)(97736004)(5660300001)(4326008)(81166006)(81156014)(86362001)(8676002)(476003)(76176011)(956004)(446003)(2616005)(11346002)(486006)(68736007)(50466002)(50226002)(25786009)(16586007)(48376002)(8936002)(6116002)(2361001)(105586002)(3846002)(1076002)(6512007)(6666003)(53936002)(2351001)(6916009)(36756003)(66066001)(305945005)(6486002)(106356001)(7736002)(47776003)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR04MB4486; H:linux-u7w5.ap.freescale.net.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM6PR04MB4486; 23:ZT+QP0eUG8T6Y1G0cuQJ+q14VJpXBpJOqDFyPq2Be?= YSoT1kDAoR20RYAmRUygQM3ElRCdSMjRUvdySXWJwwlvYm8/xPYsSZBWm8hwErjPqGPNH1ekYIgJgkEg4oLNSULcDwoa+lb2/HylG4wXnLtXp9XvT5OB5euNQUIM1KXQvV8w6UsqPqNvzNxB5IBiLrXa7JczBuCwUDuOzWCGzMIVMARWZ3ZYzf5HWx4RpsxKwtbnyiZ28QqhfVo3esgxI2wSaZqaHUz8vqEn3UpwLA/yv+4QaKoeQpe+DG7PBmhLlg0Ahg0aD1bJp7NDJnpzf8rdTWJ2sCZFCKApETxniuV6wp19nugSuDvU+Dx/xGmv1NO2fFlSDs9V2BtnTMVBYeGU2kGA16EWFpTz1bXV7Kbqan3LsRoz6OorVu3mblTYTQxqUwDylyM0vK7kh6/5PuNdakjuauHnFQlYAbska3CwvaZXeZ9kn5vthXWNnHxYYyU8zDgCYIwwYSDfWSwkQF5Ri0uW02sSd2Lg474+2agyWMmZHYBKrgrtTHGf0pINedRBy+1V+DzA28ar54VJZMEolx6gvVSemu7tLXwJVOYx7YyiokyxQTQaagwPTuC/iFpSUZ5TFwrvgxBGQoDCtZFBiOmRPm3X7sWM9HA6e3JhpZqQgQJtZiCoiCq1VuzUG/Ck5K956qZBRnBCAsgsJIstkpicVjqeQYG/PYTsIIz/gf1Be7bdiAKrnS4SNe8OIFEC7qFDQiVJbFqotmZiKqb592ZSO8XW3hQpGgH31kbDYlelLqEhEUAxm19oUvXACAlB32/VPa/x4w4PTthllp5adMrG3apNq44c6JBqMlA4nez0CkFbWlq4u1jeSQi/wRUZ1eABLIq4JtGxPM10gHAg9t7d/fpSahpYLZn2N/H1yFKG7jA8cm8EKt2iZvMYb9+29YAam+g2GuO0cYxS+tC2ZYzA2lxCse7IeJkepnfIc4VaGzEiQsy0txT21mtpoBMILGOeUDygLjn6dq3SPdXcXRhyLk6o38rAxQWzOiCewBo0YHcCCMdqRr68GhnNuS2yA/3wesmkbC5WgoAYJb8gIe9bclF0eIaYsQ+9Z102kWSmUg/1EJblxdwij8UhqHIhX8SIHo5EWfhzbMykjcqgiKwGJf6Ry05xlAFs+WzKMq6a/L76nASFeTf8fhIeL7YhTLAQvuYf9VJNn+6mwf7/BVz694eOwm0FfIEvuJjCUFzF9IY6IfuoMz5Pnthr3r0orG3kNV3q0ksc3zhgjuB X-Microsoft-Antispam-Message-Info: jui0thsQoZUcIRpeXNwz0wGtegEZ6K1/8JivgZWK2JYxdUL+qKKSM5e7867+5zFvkCUo5bLhNYx/ad5DM1HhUjaDZUutNb7uwQbEJEAj8RWEe379jCmBq5122cvOYx1+9IpCXryLEpts/kYPx7KnRv7snCGkHnEGb+oNjs3ta61gnGopk7fDdIfE+/+hgB20HtRON9l+xMM87NEMpnA86T5F7/e7iO/sQt2X+DCtYbir4mWbKzureUvPhw0fz8C+EQjvaCtjKsA6LA0EzX2nLIA7OInKe2BXn1ZYc/GSr0ydhgT2yCvql9JVv9Gz87VpEq6YWRWd92fCIz+nEywJeIVB226uVtldqErPJwu6DlY= X-Microsoft-Exchange-Diagnostics: 1; AM6PR04MB4486; 6:8PzuMSLxRTmDW8Vek3ox+eceaEgojk2fbCzzaPifn08XgzXy03HINxzEIKMXTNi/7wiyQma1QskAW5Mr9cpuyNMhpnaicr5N/+Krpv8Hw062b9PELi9imZqt1Fp6aFunM/l0XLHxFT/48KefEKE0dB5FfLXACYSXrLh9d1KSYPOOC1eI1YNM21r3d9r9ERilw159GdERFLCIfheUgmU6VPCYBW6AdZfYS8zR33PQL4uXtMceqS3hZonN1tnYULo7E/LIPaPc4770MWd2rI1wqL/ztzJpEvcQ10lhWsif+Vg9jOrFTiumNBPao+I7CaBCg2qXSQ20+aYtUWNJ1cO4MT6qvcQrl7uhfe4rLHZAa2b0dU1SC6B62X0wqnyimn6AwBkIyOMAN5ug7wTT0UvDt9eU/ZPCN/82/gBT0PhQuLY8+J9PCfcwBq4RGnoxDA83BoW9VfiIHULKs1g9MCYYJw==; 5:1S+DsHjQel0Uxfzuyg2xeKs5RSypfTVKf6L3HI2qAjlWdQCGhIPnnKp75YWm/0gbdHAfsnQotDP+YI8sY0smU65uQ0yrd6kQrtMoEjK6RULwBZquwEu3y3quDOIOxbXkMfFQhpNpltNsPBRC3rEhC7VMenrkHmgXyjeF1Kyd0Zc=; 7:S2K56dU9I35iwydOj1C+y52hXdCdgOCIwSl1ZU2/hnVgoif2YEdR54jlp4IKg91hrBGqln7/J6wEtWpnFrDhe46ByWm1uv8wj9ZcUxZiuwoMKcXvVBodU1OOO9xJaHQH/+iRJWYAoDmzhwMMzDdzzBWCA3klaKGLS9uM2E/PnThelVaIOvC0PnyqfdYWi5XGOVxbwkuqWPaINNbfYg2v7KdxK/pg3R4dNvuKw3zObXUTMg78R3E3UM90epsFiaYl SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Aug 2018 02:46:26.7422 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 87e77427-7199-4871-6205-08d5fb46cf81 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4486 Cc: fabio.estevam@nxp.com, u-boot@lists.denx.de, linux-imx@nxp.com Subject: [U-Boot] [PATCH V3 27/32] 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 c14a8105c9..b28f7cf68d 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 BIT(14) +#define FIFO_TXFLUSH BIT(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_ARCH_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);