Message ID | 20180905021219.12828-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="rTOJOhr4"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 424njp5pxmz9s3Z for <incoming@patchwork.ozlabs.org>; Wed, 5 Sep 2018 12:30:22 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 824EFC21C6A; Wed, 5 Sep 2018 02:21:50 +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 928F9C21F2F; Wed, 5 Sep 2018 02:08:30 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 54A05C21F29; Wed, 5 Sep 2018 02:08:29 +0000 (UTC) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0083.outbound.protection.outlook.com [104.47.2.83]) by lists.denx.de (Postfix) with ESMTPS id CC1F9C21EE3 for <u-boot@lists.denx.de>; Wed, 5 Sep 2018 02:07:58 +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=rTOJOhr4231Ls/hZYEY7y9duR7xYcZpcLtkWSaCTVS1NawcWR57dFsfi8lPRRNaeczQLHMMVqN4lAYbN5K5dYPH+DnADDJX9t2FlVo5ZoxvWCTGwbjXTUw41oHDjAHpZlc9fTV8JiAwQhawo5d7xL73ISzHubezDU+kcd+rc4fQ= 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 VI1PR04MB4496.eurprd04.prod.outlook.com (2603:10a6:803:69::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Wed, 5 Sep 2018 02:07:54 +0000 From: Peng Fan <peng.fan@nxp.com> To: sbabic@denx.de Date: Wed, 5 Sep 2018 10:12:14 +0800 Message-Id: <20180905021219.12828-28-peng.fan@nxp.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180905021219.12828-1-peng.fan@nxp.com> References: <20180905021219.12828-1-peng.fan@nxp.com> MIME-Version: 1.0 X-Originating-IP: [92.121.68.129] X-ClientProxiedBy: HK0PR03CA0022.apcprd03.prod.outlook.com (2603:1096:203:2e::34) To VI1PR04MB4496.eurprd04.prod.outlook.com (2603:10a6:803:69::28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a2a9d430-e6ec-408c-9270-08d612d465d6 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB4496; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB4496; 3:F7HwPuzCtmUbCi54LyjxoGcSAP+B6ff4FJcr28V2YxcJxZId++jFRV4bgjQJvIAAYpo7ahA9RrMpFnbuxjLMkyqkF7fh6sl4bmkZp96G5soBF2wwYgMAmjIcu/aQXhWeDeiXiMNBszCv5xkZCAQlgAunpqK8ZYSwjfs8d9JzToS4dXCoLdheIVn23NNGnejk3MwzaRJYYqyJ99StJIHOgozr9LLbjkZw9qSD4TVBuY/0ZPE0kYHGQwD/lmKs2SQU; 25:8ef2k9lTW61G0wM01HWKgwIV6Q2bMZK76kqKh9cSadSfWl/jha4J+sZ2oP72KiVygqMnuCpEdQiTv/ERHKan5V7rz4p8okMYyDRR35ReuP/QaXtuho7Oz4Z8rGn6gvYT78HjfOGYAc6kk3HwfGWjgSNRyKV4WNDYJD8Z/AtoEaTOuWSz5FcHTv6aYAJ+Z1nOb3z5ybldJtaJ0+X/uSvXyPNDb8c2iuLrS7dreLLtyJt1kPTNIlZUJ4KPkqfvZcztoqMKbwza8QFcL/cnwaVMFfJfNV/SorJjH4vXqYlFo1pJndPbaZ/Hx0OkNygNX7ZEloAAcSXPUE1JoQMsC6KM9w==; 31:sCqWWF2kRZnyitvw/ecDE/QwbvFcobBB17hTq8V37GxFYvNOay9GSQM62W5lT9AFK2UoGS8yvN80JTaE3C5OCMaRSl1Ii4in0cSEoJB1U2oRNv7RXD4FWt4AM1ScZwSbHC/ZvQ6ob3YQM0djOVbt8+x36OR7WH0fTudNQMXAGIR7hlDgj6+8nHSmJGiXXNBaRjk/5PFAuCVcLOhtwrSaPGg+0IFz7TZJS/IVGNkq77I= X-MS-TrafficTypeDiagnostic: VI1PR04MB4496: X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB4496; 20:dIO/rvd+9KNaxRrDVs5MlNeBAHmIWFnF9sDcveTu9NxCEd7v/Gc8Z++DFSvpDv4aViDU3g20qQdJggQb4z84OoaA+FOzAQvGCEVcwaDDl85W28x9KRjw1j7T6WQ41TWjVrRq/VVLfkiaoLpvCrznCPIQJ2c4c+6cGtJjg2OsDHz9Dr0NlTZWSO/K7pN4gTjW8z2s5DL/r2tFkdNnGoOUm/bEb72hME/BtXDoSF49RrR+Tz+Nd0s8X+A25a5qlTF7N7HWhgX4o1T4HyyR33M3kYYqAyakzfvCNQoQ0VEVP+qIc7VlWlTFWeV3B/mGTT6lXBSiAB3CgpXaGjDkzS77vZXlxtrqM+GmrawNITFUn69auXIDDaj9fKN65AA+gQTwg6953U4Ewi8bKCsIt2DUr3BJG7dws+mZJKi+9NBksGLB9op35C1EW1oEvT4L8sCkBzv7UPTZFtFQUAnEWMdrGWuZVGgDjZ/IJgadPXPDa4D9BxSS6QUq76W6IpnycAE9; 4:HWZEdyquQou6HnYGFkMk/orr+t+RL3IqWdcr/+7uEoWA5dn5zXIL+xxMDK4hjyL0OhpXabCjXtFTPDgg4tEPQ2Q8pQTnu/vIn0gSL6KREFi7FC6RkFAdNFhNuXE6mobtXcaw02Xyyggt3SPHpRt3t8F8KKVY8GC/5sIKD7qqtETpx2LP6jbI8Ow2atISkNp2yLKgOtQe27HdJUF5Fh0V7Q+CReYGCZuIOP6CUghloHYgQn8truDswr6yXYjzUC477Ucm6PbwBByK3t0Jki1WYQPrveDl9eBmV8Xpee6yoVby3g6SEriyI9WnIejvkZLg X-Microsoft-Antispam-PRVS: <VI1PR04MB4496AB97881069A30DC87A9288020@VI1PR04MB4496.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)(823301075)(93006095)(93001095)(3231311)(944501410)(52105095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(201708071742011)(7699016); SRVR:VI1PR04MB4496; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB4496; X-Forefront-PRVS: 078693968A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(366004)(136003)(376002)(346002)(39860400002)(189003)(199004)(11346002)(305945005)(25786009)(7736002)(386003)(8936002)(478600001)(26005)(36756003)(6116002)(1076002)(3846002)(476003)(446003)(81166006)(50226002)(86362001)(6506007)(47776003)(50466002)(48376002)(8676002)(2616005)(81156014)(956004)(16526019)(186003)(16586007)(66066001)(53936002)(316002)(4326008)(76176011)(68736007)(5660300001)(6512007)(2361001)(51416003)(486006)(106356001)(97736004)(105586002)(6666003)(6486002)(6916009)(44832011)(2351001)(2906002)(52116002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB4496; 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; VI1PR04MB4496; 23:mD5DvHoszsNWwcg3RZ0gM8FaotKcS4nqmgbCqI8kQ?= n631duNrN9ycDhj2QeEgUYCQcGBPF5Bz+xfzxImr3x9vgIaabzj293j9HpkWOd8qR4e7jbc/8JnpQH2LFCjVUzd7mCsvPWjQfVvf0eS90Sw4N1NZwB2HV0gtIqIrqr0A+J3Z0lS7t/wnVCUANTQLutk2tMwfu93deej/3Y94ZKUBLYBEZ5RMpM/tK9rIUwNvaqrOziN6EVbgwwwq5UyoSdXEA5bBwk9TPHQM7HZNE4TOIkz33lNRk/rpUxGZaIW/fT/mdkp9H9m1DD7tpXD8H57K3CJcFW7/ylJj6dYBAbjETiQ+5jz/83jCLk1AHoxLLZUxNVFUGxmkZ2MPCqYSk89/IzvqzpK8MHnhLT5NFTycZ4BAC63bbEii51zp++HdvoOLwCr9KDZRmzV/ni6o0tCeXHjZVpjaDgotQWgoiwns9cEB1VB8Xg5wDjaLucR8ctG6c1tovH7xEcBTFffjcwdhqSIurTjD8TXbx0E6LVgKxQwY463uygk+jebiSiIp0Y3r58ucqENArix+iQAuUe/tZt18ayuohVjEsLukNPjE6iy7WJtBb9DfeKaNvi17Rfq9VFN2cVSnxbUcU9Venw6tLZ7w7TdFRyUOLT5ojYX3Obb2WNMezgxKsNL8Ub3ObiRHsjA55FgnwZAS+PQxo23yO5nlXI2FbnoJhHDxi7MS1mPQxDoGv3uKY8r71Pt9xrnOkzDdwIqWjwbM6dUhB1OgfkpmhTsLYSzMGg3bbp4vTZ/gFh3+O2k7zv/BLKQHfrP3bBxkdZX68XKacSZNsNUnZ8b8Rfvn9CvjDEZpBj59pWJqSvCImmosiUTwxmdHCQmxfDbk4Kf12S/EnBkmuMICuZdew1xo7w/2qJHKilBluZ3IyMAq1XbtwsbTg7PgiLpiPW3qhcmAXOYzJhIPJy2x4Df5qSjtkPgfoTCW3wxSiqp979iKoa51XNEsM8e0K3HzqhwoeFgWkq425F0TN9a99GKjRpFtZhFInMsqJ7yDPN/eZGwHr1b42xHS2hOUfGHoIzgo8oGy/3pulN4SMun/syVvs524RUY2koq0384NJSnt8Cn/5dHxKEgaXEb0zfaeTbUXXXVz0t0TFwxNS1C0gYy2cbdZqOx2zPiXI9WYE+0LLKJNgorj7QHZqwtogGApDXGJYFUKNZzcJx+JsGtRmtjNjuEmAHxHk4p3wKukZuchsO7Yl1n84atIcbd8x4= X-Microsoft-Antispam-Message-Info: fnIK2D2ps0bfaBf7nXqGd5MbtwmO7a+HdqxbNxl53XZOR2Mg/xweONhn+KnpM5+KGpXs9dcbY2M7n6ELdtn8rij9ifuKoGEag6yG6ZiKsCHsTZTYltVIVeoBafFr6tbq9xm5BoRWsXXGfAsxPlXbSlfrFiw/CCFgj541LESn0U4IccTb2hz0fr6CjabXPMNy7LgFC9eWGZbn/6zGMocBmEkcftng6H/m/PfAbpr5NgKnjCkUwNKM97M/dHgnz6o6dTsrZC1bTX8MzgLVvc7FOHhKCpzr2O5yHBUTsKO1VSgt68oleVfck0+dmfmRaTFWGY/26cOlohUCDTYVcYGaEh+TePGOEsar3263ClDhzfo= X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB4496; 6:HLX3nFxF8Hx2cweeVKjk99Wv62lT17qOlUEoMZQCMTkFiox3AeQN9CifGo9eCHWLk2tWlGjchbxQrfldew/leYFXS2EDCaw5wdpwFHFmREkQNLsUkhUQAt43ksuOExr5mNob9IJwAEqdfri0LbzYqrPgBGQxvZGvgaRStcaZejgHyfZgZoILfu8aBPI8C+9BesFvAWIM3Y5RSPB6OD7uzi8l2WHFGqZBQoqa+vnx3EGitzd0PTBscTnM8IGl27znwFeeLlgHFpAm5P/C3vlr45Nch5msSDFKzUkkJgzLKuQVo+pozU5TH756J2i5zuTVV2AU6HzdEfxfvoPgQtFI6M1NiEgEybePOoeEqKZRXkYsYqM4L3ADzVyWqJYzh+FZ8x2hWtzHVHbjh8OQtE/JLk2W1dQxUwRhC8dlvEMeyd/oXyhgZMRuqerkvIyCOR0vrgObFqsAqDLdVALG0VjogA==; 5:o9MHLw+aWmEDk8Q8uVV/bqZc2+PvpHJdztLlj9QHyVD2ejhwUMvYfAwta0XuQftEA2H3lffohy7Xy/08PheG3YD88uVHxjyu5YcIjSkHaLPeBaXqTtssxs9oxhNjA+9ocJAzOzgtKWxiFgVZVlHhJPXTxogDW/hvYaCrsas0xlQ=; 7:tPSnjlj/EHCevp+hG/v7Z2/6/G4QeooimEnWIBkdf800e8XtTUqwGRqtMQDcEtRQNvVb2iRtjy6DgWvxeOzl02BYKsoCQNe6HmWx9ctU0a/KiN1HMHB/JrG07HC6AKzOv2gNbYc6etD1v10mnekviRvQ1QLBERfjAdgNsTPJPxGE/txE82npt0XalrG/tmj8YKH1yBRkGj3SkAkkbGTUCy4cAC6oG/mnKPFeKTxVVnaU/ReiGwTtRTW2+yMi8a4e SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2018 02:07:54.5119 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a2a9d430-e6ec-408c-9270-08d612d465d6 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4496 Cc: fabio.estevam@nxp.com, u-boot@lists.denx.de Subject: [U-Boot] [PATCH V4 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);