Message ID | 20180926135256.2098-28-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="XPJmbfW5"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42L0C24dFfz9s4s for <incoming@patchwork.ozlabs.org>; Thu, 27 Sep 2018 00:07:58 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 41E53C21E0F; Wed, 26 Sep 2018 14:02:05 +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 AEE84C21F68; Wed, 26 Sep 2018 13:48:59 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D6021C21F3A; Wed, 26 Sep 2018 13:48:56 +0000 (UTC) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80043.outbound.protection.outlook.com [40.107.8.43]) by lists.denx.de (Postfix) with ESMTPS id 24A7CC21F38 for <u-boot@lists.denx.de>; Wed, 26 Sep 2018 13:48:31 +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=XPJmbfW5D7O3nQ6svQNKDhvUCq7TBvFKggMW5UbNOLs9nJdaSBt+IIN+T7McnGgG2eEn0zhGwIzfUXvm/8oXdMYUger8YVga8fZs8b+GPv71AuEg5jm+mBodYaTdrEmEm7B2wGImOGwVz/6u0T3c+9vVAcDGBrQJwgkrzkoAvaE= Received: from linux-u7w5.ap.freescale.net.net (92.121.68.129) by AM0PR04MB4482.eurprd04.prod.outlook.com (2603:10a6:208:73::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1164.22; Wed, 26 Sep 2018 13:48:28 +0000 From: Peng Fan <peng.fan@nxp.com> To: sbabic@denx.de, agust@denx.de Date: Wed, 26 Sep 2018 21:52:51 +0800 Message-Id: <20180926135256.2098-28-peng.fan@nxp.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180926135256.2098-1-peng.fan@nxp.com> References: <20180926135256.2098-1-peng.fan@nxp.com> MIME-Version: 1.0 X-Originating-IP: [92.121.68.129] X-ClientProxiedBy: HK0PR01CA0053.apcprd01.prod.exchangelabs.com (2603:1096:203:a6::17) To AM0PR04MB4482.eurprd04.prod.outlook.com (2603:10a6:208:73::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e69e9010-4cca-48b6-4284-08d623b6be38 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534165)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM0PR04MB4482; X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4482; 3:np4tuCFjaCOnCQVBRz8WTjIocLhACcdQAKwE+4bpSstGKL41drq17NBPUbW4NCjya7JC8nTl0CF8l5bZsniXsISFZkUFKN+Te6Mk53EmNtlP6M4B2JvPeLd0cIsVCAKG/PJRn5iXq6f4CxwuaKZJon4uzbopi9YmTpzSFFMB5gPrwkiHfNLvXWn9x3nyx9zDhgxb8tR69pPxoTk97GTZDRzLMPomaj0ZNVv9Y4qzArSQ/pz5h1134SOAYeyK+4u3; 25:S8BdXeROxg6Kh58Yd1OsWk4eNoqQQj9Lsu4j9E/F0A8J2kgkEHH46b7rSgF6sQk8AC7hl9wpo1hVVNQ35/OHzk4LtfbJGuy4HC7LC2W20CKnzpO0KBvaau4ptWJgmuGNVldOHxvrzAACvnXwQJ+q14eRQK/DGF9CIkzvbwRLvI2myl+KyqilFCtsHnjn2se+l6yxOuFCUB7CBVqiaK6TXkBw4DuVyikvKe27QITjc5Uef8q/FUi8/8RuLw7Cd8nb/AAPdBSUtcsPCmG4mdt0iKkAV7eTB9qL4OktAVqW/aEjkG+eQLfJ0HV1+6y2TJdR65qEPBozLW7Tk+8eiwm7mA==; 31:YI7IvxuAgsHJP5STAi5dfmY3vMspNPWM4ofn2XGkbY/c+K6WzqVqHD3bkkELkHgZN7xt/hhMjGGgI/tEMLGVET0lkP3IYvQgu1fDgwIGz/md/pO7TXoqOf6zQB6RZKStxQP5kmAG0KVMMKKOCYTOBYTpZPZ2YPXFriFOxZ8Ioo2MpjI9udbAp4BG1zt34StynzdN+i/Aw3MRwIdGzxI1PsFPKKw+wuaFxGugYxcs/hQ= X-MS-TrafficTypeDiagnostic: AM0PR04MB4482: X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4482; 20:O+YE5DqSXLZMQjn/vJ32V3NNaqW+KjjbcJGI0cphdaNK1ZL9IyI7CHW1JkwmmlF1q5HBwoMq0KTTLi3+rP99PmmMiSTLMu/9sIhG4Ry5baaRQujKe0JYHnwWZlq/3Oas2eBX0ea4txcYMSVP4ETY6XS2uQBJWmTADSiOZ9TxnXnBbxDpblKInfk2rabpfWWh+I0bL4o5ypX5wBl1y7+WH6AB5uNnc6lfrveQLJ256G/TorZqQkCRtJ6Kp5EPXneUfHU4FbdXi+s/aHQiT4v8aOICawBpIyVQ9egLNHT14cusMmideqIYA9RjEiC4vUCH0YI+SVnrneyw8qst5jto7Li+NbW4BXAMRXj/Y2yRSC4pFVlAH21f6taIeG6YcMROB/opMD54sBLrpmF4kRU/w9m7wiyIpq2ewdbPgr519/SD6M+vy/w1b5ncLaaNz+KsZHaVeg9ABhJQMzIdo97Wl4LK9fiKUBxqhokpIBcrHebqMU1zwkE0c2xki/9mEPGK; 4:RNxq4CfhEl2RxsUEmi6r9BBueD0pyn8ukpOVh/JKCE9fDTo2mh14mN+Z3xayy2FRajZjABDKBLCfKRouyBQnP9JNeCgncpUHpBBs5JCy8dhVpslgGF5eAtIzhLlCvsqEJyviZZ82lbn5H/XLCtcJbK+Xv56rPQ9Qou4sp6ifHHPpy9QDBTLnBbEDOOVBM89yNR0PwzpbTaXy5L14meGOwtV0f7/n/3+ib1eJ1K3ZUWj6rxVMpQnll9ox+VG2I5kpWOp4kM6EGLySY5w4t4VrhjVqzv9VsIcEb6qPMpZGuhhfb01CYlquFLvjcuuydoGz X-Microsoft-Antispam-PRVS: <AM0PR04MB44826886025696914E14FEB288150@AM0PR04MB4482.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)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991041); SRVR:AM0PR04MB4482; BCL:0; PCL:0; RULEID:; SRVR:AM0PR04MB4482; X-Forefront-PRVS: 08076ABC99 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(136003)(39860400002)(366004)(376002)(346002)(396003)(189003)(199004)(16586007)(34290500001)(3846002)(6116002)(76176011)(51416003)(52116002)(305945005)(7736002)(36756003)(47776003)(66066001)(6486002)(105586002)(53936002)(1076002)(386003)(6506007)(6512007)(106356001)(86362001)(50226002)(186003)(97736004)(478600001)(16526019)(48376002)(486006)(476003)(50466002)(2616005)(446003)(11346002)(8676002)(8936002)(81166006)(44832011)(81156014)(4326008)(2906002)(25786009)(6666003)(5660300001)(6346003)(26005)(68736007)(316002)(956004); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR04MB4482; 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) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peng.fan@nxp.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM0PR04MB4482; 23:G2JFAJgxgSFK5OX53ccu0PUg1dzI4Y140DcRanPLV?= SdfUZXKL9JM7EIj52yABgfLiqZbfmukcI//NvfT071gTiZOU+u448p8e3Favo+Ua4/eHX8T/d4fng3hEzC1ps5SB+XlPwMQFRrhgMGxIZqPi4CMsVwkB/DzYksxJjFDfpukc8A8HTr0EvQafUTXOT5NbZA8j5SNBHMjUPy102WZVMApV3Bjxah/rX5uecpr9Vz8CbTbW7cRg52OfvsSLVG2ojQTCOalTNo8G8Q1FGNq0XzIrbyZX9iCeLXQORjDSxBJlu3F+2UJJCSz268sXMYfFdGCaUsRD5ReXqCOUUIMoS6jsHbAlNABK1EQ1U1hti5k5XvNZlOmynghClNGhkU2wJ+WDvKhw9b/DhhbMuJbTx4BBwUSiLULj5fTrq3T/yvQP3NZwGc79K1bN2I+FO9fnncMfFfqAQ0/hO7WLW+fKk4YNkWphxYanWZV4weBL8oCSMAHIzSI8CslxAZvueZ0k/+HhAjJIX429RP5yxm8t7hg7cTuR8+wSUbP9gl6t1/N1APuLCh6zUo5YjmsqoYPgOehIhULie3f/kEMof2cX/9aDEoLsfTKvLiHgEgmfnBK0ag+YzCMEY5VT0ZSf4t/+B4K7XJgjTAao4967VS9o+zqa0tnQ+syfNinj1K1/z6sYU/gnXX8Y2PQSaSSH8faO7wlM8nHHUJpNz0WvUH42nxr5ROQlqAjm003GbNBOaYmBebMVg0j+mFx2vRF6y6lgeXBg5xPm65zQ9EWaI6+y9PrbLa3LTCWE7eaeQX6bxSCnHP1XeqMjpjPixfn3biwA6v1RJTB9jIHC48ultKTns1MIr4QBg02VO4ITptPGBatMWB3JLDw72avbNeYG4+m9c9q88bn33jZ8bbo1hkcxQZ2exqXA0PpSr4a5fA+0iFMYTVH2s8kCq1txq1Jz50uildnEHRZnAEGkH+i3uSnYeFH01cP4VhnSnqLMqJYTFjWrzvWTlsgDhiE7YYNfp98wVw+C3mueTKfoEhWHwcDgBaI4oXK0HfvumNjcnbHru2t5pWMEwFwaXZKOYaN1hTySVmmEQoKPhvI+8T3TZwwfo0444v+/xXKYD36Le6FEk6L9kdu/2zBrUVHmGNoS0og790QzsLqbBKqgc2jC1P+YVpZXTNVaC9JqxsVauV4N3iBrwOC2lNvpv7ejiHo2f75gS365nuVdHX0tsLZPZ1iLQ== X-Microsoft-Antispam-Message-Info: 5KkwiiMVWsAIM0Y2IAhswp++CE2aUG6mha9B7vwOGuaIbyYlmR1M4xQr+N4J/S0sgU3RnAHpXvWjXUnRacYcQcg+nnLnnfrw4GRqos0CYDg1ZvEe7eZTkDV/A0uXPsAr9M8FKDeS/2SswQY42wjwe0QRjjkhHXf8HTkJeardtcwB4OVu2/VbcOWrHMgJyPoghSNB6c/Ab/r7L9P/dfE1xtBpRZ9RxIMeJ2aIo2q8n2kpJhAO+Du+2P2ZQ+sdDgdTr0Ukv03E+3/r5cWBHpduipBbfSwiwnp3GOo3ffUtPZpeDXSFvigzQKabwjJdnZyZdzc4MBk9VH3D6zm6fUAAsMC4a/1cZMv6Imzf1x6/sOo= X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4482; 6:MFy8c/hsGAsWR53l6EchQcTbMyL+XMncTt3ssdjAND0aDECYBFEei8UkVs9DjcZ24yD9ggy4sI5/beUw+RIbMwXQnpeFjxni8mY9Ptpsid0eXhcCM07Kuy6fneE9DU3kFuE6ALM6usRGipgIrafgRW+J1j/89wnlwHM5i3U0G5/dyFTPLcKIq4njiQbk7+2JyaxO1IXbuFU0hQtkj3IZM4lB8wTguD8ChqBB8s7j0qhNPEaw6/y2pycVgbpNgw2ifAOIfLQHZ8ZcQJ7RCkbnviqinGCXQF3Mdd83lh/HAbnBgSZV/AIoECNiaOzwwgOjHCBDJ2Z4btsy8xm1Iq7xtNCbLMMPHyIhGLFP0REUaifhe3E8zPBMzYhgzau1I1+yB/B+VRt7oTDdlWpwHZDJYvZCDGWvoOnufiDOR4vI2TyDiPdt4GqkIEgi35wD2hJOfTk556thjoSCW1FRuCHnHA==; 5:54V0x229R6TU9+buF5c3tPkTTdGtPwn9lYvFfqpnhSbaKdTh0fR8il3xy7gZpQpr3rlzCt8BlmT8/BgbliPBnTHY6TSoSbw6UWY2RUXv3KRCDkegVzdYI7KBOztTMtHMJNW2waGm6/OCfgObnbCWJesyP84CLHtq8qjfXBhCKTo=; 7:+0A3CQASpHqufuBGIA9zeqWQJ/BKL8WSkOSc3eghcTa0iJ2MWVICcgzbGdyhd6mvkAF3AujDDVFsvlGv01K0fF4XweBIE0na3a6rPSTBLEmeN69URgCFU/UqkJk1CQ5KZ02BlDk/cBeN2FZF+K2s+vLI/+7LQTIwgIvEC1hxNs95qBbTDX0tqOgxjx7vKfh0XzQugsmTQ8+BHCS3Yg5dp2prX3gm07DZJhOpnxKRVydQTKuzj3a+81ftzLZhTCPp SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2018 13:48:28.0163 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e69e9010-4cca-48b6-4284-08d623b6be38 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4482 Cc: u-boot@lists.denx.de Subject: [U-Boot] [PATCH V5 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 <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 |
i.MX: Add i.MX8QXP support
|
expand
|
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);