From patchwork Wed Sep 26 13:52:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 975152 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="mKy87kCN"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42L08K4cCXz9s4s for ; Thu, 27 Sep 2018 00:05:36 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 06037C21E88; Wed, 26 Sep 2018 14:01:47 +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 DC24EC21F4F; Wed, 26 Sep 2018 13:48:57 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 96CF6C21EE3; Wed, 26 Sep 2018 13:48:55 +0000 (UTC) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20072.outbound.protection.outlook.com [40.107.2.72]) by lists.denx.de (Postfix) with ESMTPS id 40C9EC21EE3 for ; Wed, 26 Sep 2018 13:48:28 +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=9/X5gcJLMgA2Du4M64Uxnt9qNHqKIiOTHtesoPNZBcA=; b=mKy87kCNFYpdyhR4fz9LxDEbXtaK17cxAWVys4zAOX92WdUU9aBddJEwnJDM+xDQtLDXsH58b3vSDFwVDZ/UUR+YLzGKJpJPcyFyUFyPmcySFRPHA650JD70RJ569W9Ddp2N5MnvvMzo/gPrYmgubV5ZOCLklasGhHHHhG2yX8I= 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:25 +0000 From: Peng Fan To: sbabic@denx.de, agust@denx.de Date: Wed, 26 Sep 2018 21:52:50 +0800 Message-Id: <20180926135256.2098-27-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: 669e1871-c36d-4000-b831-08d623b6bc88 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:SKYxCCxqHhbYSRci0+zldwzMOyIRTmLW6JXSlQX04aAaNSWgDo7dnJRXw2vehNxbd2I9q8H/7IRrkr3y5OPTK9wPo97uJWJ9qkCZdWsYL+lEQIKzM1gd3PlrqCcaGQpBiaSClXN0IAS10O0xHvJL8eGzvzHIQsE8+sy3/XSxiDO4N6BcDzjJE04tJjyqHMp3GsL7D5Z8RArgTo1PaKiWZY2KuL+/EH2MmkDnXxcrFAM6Did5KOMuaderTw+Kc0SX; 25:ezJ393WXBN3L93mbVcLbwQyvIZh89ilXy4z4i1J5eENKFF+GJsuIfjFJqFtwF5cI1DQwSBtFVjwWxAEIbclVnquJyk5lINdazXlusY3doz5s+f5uEsjTMn/q5Ov6BslIYkgLN/Wbv5kX/Vee2QbT289l/Bh8Zb427mFMx8xoW5t/fsp+qDpQajmFmG09traUi4nbexdocMjYzoWOKjuTomSlMVr5lHT0quUn0kSnGskQMkwiDVOxv8vjkkbEpt+BE08BtgKdk3DiZdNdSaWrLUXLwjRCroKi0Mur4cwcim1/LRkn5lkLdF5GUEFTGXNnwAbE/GW2k2KZwzyNGNrBtQ==; 31:JL7Fd0bjWmHd0F00oNeaY1m/bqtQXFpdwPA+lVaRJZenk1QSrFeRIXl657xgbSj52v3w5ZWtyfAFI8FYhOVqX6yXYHkRVkYgKqvl6Gf05KZWoOV5T5zIW2TyvVVxoaLbr25y5J+OZE2RaYvYHh9vlJWP05kop2JQAeoa52Sem7uOVoZ0EdWsSKtAaxAMHDsoAMlkNgJSACJa/hDOTbF3uDCLpygrW39VYGOumY5J1Qs= X-MS-TrafficTypeDiagnostic: AM0PR04MB4482: X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4482; 20:O/eIaKBY49bYeqI5MdhDwrQ+7EEMOruklmUWkY02yCy/o2nsf5DAL2Ab3le3Tc7kbchqDhO9ZukA4oviMQ2ROahfmL8snelWlbRXT2oXuxjkQBFjHqfeQ4nhGi3Wbz6UaU4GnKYHzQOI+4GwPiSxa9b/erqIrhVtnF7N+TSTS+iCf3rl+Jf/Ep1/RnHZ5Ab7ZneoTnqMdnuEOVNv51jorIRHdC/A9N/10YZ4c3Vsi3NSi23t2/B5/diADrbUoP9fX3yKTJH1yJCumZlymueHQc1gERt5r5bCoGGMPscuSKaOtbnk6/myYgZwYM1oGHq/19gUJ81F/YmG6b36t/hEtwY0iXb4h2atfynR6ntKsA721dFVdptsrTeydPs8MdAvPHZqwv1Bn3oHD+V0+s57K9w9YuuNwVk6UVjc8WT7pJndLtQQMolaSeS4BcC7T0stB2vVu8P5N6yrTon4GaTYfTRZS+gk1CwZz5fG05nVvwQ4UGoWnyqOJHRV6f29yT5g; 4:XLnB1/yyoFCrCsIrIhZZKjlx+/Y5Ddwh1hJt1fVoYNjGdWJCSjB9l9ub/s0s+ZsMd4hCkGVaOHAnYC4Ql1t4YhETMJ9+wcCm/PlrbyqKaq65bB0wBY18w+lrOKJL8WFUF4Oej5MJniyz7GzXyVCGCGcM/b/Pcz0z2rgnar3162BACPSVG9fvLr2ho5AgR1QiNziQqt2w6S0lv45Pzs4/ZLGng2aYd1zdCxA1E7jMpJ4t8CY9zScUN2+yGdpDO4DsgAMnulYna1mnp0qyczS8jrQhiHGF1HrwjrcfUOYG6If5NZdQHwMo3ZO7CC15OIhC 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)(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)(14444005)(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:sKIYGDGC6Rac6dMU8eZnmne2ALD7PfMTLfXjiFZz8?= 2ilJf8TnemlS70X+G28hEI3ap/n9qC3NLZZ7/jSQjEM47py4GZBE+mUyXQvqTVzvvyWgMDjoVW8uHpnwYbWvey61oogSxMD7SDXRrqxWWUbDeKoyuqiwfEMEc27QYTkJcQfbFw9Qeq586hGaIEHzfEw779cQ5lQMODpzw2GwqDjzhM2qVlMGbxdbPgcA6ZAo4LMJ69VbR1ngE+N3Ory+NV9XPR4+8mGxRkfWKY3fGtcRPyab9Ng71/Qwllkvo92UPVqFiHAosStzKd/fDAA4SE9SwJFAkfvUXGUNymNo2xKlo9/X0xmUVRQOOc96GEQAzQA+/8KOjFz3tx+K0/BFyoR6EhwgJZM2BzqnoF2RN6H3feh2obxNF11iDVhTZhaF8PBYmGRPzbVR6DfKUWyFy9pBZ7zCrcoY6/BcOp5ZmX5vZAXvTkH8r0JLYCC5DLO3xpFO2i+9kr09YagO1P6zYxKvCiFRU9crNlMdWtjXCyJuw9Zz1HaHFruQUShubeQZHKHpb05cuB40TkbAExcpcagD1xN0acLZ0WYph0xoh6lqV1qcc/qm0YL9xIIHvJ9Pa3RCwJrdwBemLUJ5giXzxHlcgJblDOPWGaCTUeTeBG0F1fFWb0dNrhesCWNLeMZj1CYkfodgpSA1bbE/gdQkt45+5pFJx80mSQrywI1j4w3PXhqkhnv3+2z3e9Z9smVmUCSeR2m3MVN/cMpE9ztVCdDqExrVexU/lW1sU/PJ8YS/EwkedCZy7PHMzevnqkN/LoafRbWWA5WrIlK9Rzje4ZuMmi1SVMKIfG0h/um+Z0q49Od5D2jh+wrtg+zyecjeeZOOw95NtMen0JSPGVJIOWY1yx1q5qhudZuu2nBXKUsa/16kPLuJzIKAt0HR9pSU4JIH81Fjb2gK1xcljSzCppBhs+DgAwYxu6ZE+afW5MA8zhwsA3GKI/tuNKdW/1RNrLjwREk20S394TQyP0bAxlXkSUlr7DQR7744RmNiPalV7AEkMrnZ3C4hxOP0F8LrlnqR/WPZUVGjBOxwkDZv0vmmjSzEDBN7+mW58Ag50S0AAamtIN3klmzs+cNywALKTLjSnWypYcZXV0kxrq8oDwH+brXmjhjL9s9FJIQXJHiZYNwmKX/wYfXuJSW3QyLO4OsFCdFxIBfErxlcIOneFget8lnPO+ln1MNfDxThQgkYC54HTanDNkLcfJEn8O7MAM= X-Microsoft-Antispam-Message-Info: 4V1bUWvNth5NYf2tLVFMIbh3wOyUIJteHc3pBPTbINrreTGUqUnmSLAZArqXl66pV+TjTf8FnCbzHp6GbDF9GLLkfGj1sAVKDfHTCVx934n8CDm95B5xKqE6C8WOz8skWa58ZBFEpTNdBTXHevPqRAtVg2YAOOkFHp+8Pw/x/83DwJma4uorfS6jqUnLYaqTt6vuwXtc7aT+tnpkOWSJa1NkdTKYs+2VesoCssBhVAslczjBgyeBI351k3v9vB/9QOScIur43LGQcc4ti9RSt7psaDj8zklM7Ob0LzT+pVRaIy9lW9XgAaG/6mFZtsTs/gnBu+ccepZ14clWkVwgeA== X-Microsoft-Exchange-Diagnostics: 1; AM0PR04MB4482; 6:+iMlv1Yipl0CVLP6J/WVGTFtDsa7c1vPLaGgVmKDcv7dEvqsLehILjkTOd2w/3L6+VVbPn1dyW1Xs8Adnm1NN7/JaMSBSSGuTZi29wIBuXjB6Q/YV/5f3Cxi99Fqim+RUsp6lOyE14pU4XXOs62OEcMf6uJRbtFA673wd9IjrzGK+POUbb+C816ZL8sEQyqrXYwgHXiAIJy7ok68qYoOtDH3pcWCnhC8Q0zyGuKDxB4tCF5nHbKfURD5RsOkPj3VXlY/Q9voQba5FZNpgOY+qZpX7Me6ViJhxzmx09QMpSaCV4XFbEz9kIzgGT6k7UJQXQRcmx4inK+EW4VJLqXNCsR/zwE4Qp12tE4uHpXTBbbvWHXQmk4GLJkLogNlPirMhpr1bGkq5wjN9zTN69JeFT5xgsJG5ysuWJ0SzMOkOuIDhS6/ecmF5AbTSsY+jpIXbQ69eTeaBMNktJiJ3kJjPg==; 5:VUggwchFZLlH+cxi/7/wk2o4AnV1WzdXzKlbRHMK05A5M23f3T5CwRcwsnJCPIOMZHyUErTSpOMdhK4tyCxgAuJgx7pbp9KZw6oVktx9r4X/lGUbrzHMTMuQMhIGhL2tgNWEIGSTVUK+p4vDUxQF1BZQlPcHPoS8uTsu6QUGej8=; 7:x4ixCKpyWi9PQr8RXm2Tu8bywXBUb3Gz6UDxcQXv2FeY3wkb2lSPwOdAYzxb9uqYEdCAAmEwPKhp3Cceb58UOt25SX0gzzagOlu+//ezGuT28UroaBZ8j/BJoqQyInAHJ/D7UZT7khDfqWGHmlWrUt21DIhebqq+Aj5Zl9Ufoloa2IOYJWW02voWd0S0qE9AYfm5+5teABWZ9IJ8cTxeWIIYT71jM339xdV+iY+05c756w/5dH4XHo2PbST1IsG8 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2018 13:48:25.2037 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 669e1871-c36d-4000-b831-08d623b6bc88 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 26/32] serial_lpuart: Update lpuart driver to support i.MX8 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" Add i.MX8 compatible string and cpu type support to lpuart driver, to use little endian 32 bits configurations. Also, accroding to RM, the Receive FIFO Enable (RXFE) field in LPUART FIFO register is bit 3, so the definition should change to 0x08 not 0x40 for i.MX8, otherwise the Receive FIFO is not disabled. Signed-off-by: Peng Fan --- drivers/serial/serial_lpuart.c | 15 ++++++++++++--- include/fsl_lpuart.h | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/serial/serial_lpuart.c b/drivers/serial/serial_lpuart.c index 1212b72676..c14a8105c9 100644 --- a/drivers/serial/serial_lpuart.c +++ b/drivers/serial/serial_lpuart.c @@ -41,7 +41,11 @@ #define CTRL_RE (1 << 18) #define FIFO_TXFE 0x80 +#ifdef CONFIG_ARCH_IMX8 +#define FIFO_RXFE 0x08 +#else #define FIFO_RXFE 0x40 +#endif #define WATER_TXWATER_OFF 1 #define WATER_RXWATER_OFF 16 @@ -54,7 +58,8 @@ DECLARE_GLOBAL_DATA_PTR; enum lpuart_devtype { DEV_VF610 = 1, DEV_LS1021A, - DEV_MX7ULP + DEV_MX7ULP, + DEV_IMX8 }; struct lpuart_serial_platdata { @@ -325,7 +330,7 @@ static int _lpuart32_serial_init(struct lpuart_serial_platdata *plat) lpuart_write32(plat->flags, &base->match, 0); - if (plat->devtype == DEV_MX7ULP) { + if (plat->devtype == DEV_MX7ULP || plat->devtype == DEV_IMX8) { _lpuart32_serial_setbrg_7ulp(plat, gd->baudrate); } else { /* provide data bits, parity, stop bit, etc */ @@ -342,7 +347,7 @@ static int lpuart_serial_setbrg(struct udevice *dev, int baudrate) struct lpuart_serial_platdata *plat = dev->platdata; if (is_lpuart32(dev)) { - if (plat->devtype == DEV_MX7ULP) + if (plat->devtype == DEV_MX7ULP || plat->devtype == DEV_IMX8) _lpuart32_serial_setbrg_7ulp(plat, baudrate); else _lpuart32_serial_setbrg(plat, baudrate); @@ -427,6 +432,8 @@ static int lpuart_serial_ofdata_to_platdata(struct udevice *dev) plat->devtype = DEV_MX7ULP; else if (!fdt_node_check_compatible(blob, node, "fsl,vf610-lpuart")) plat->devtype = DEV_VF610; + else if (!fdt_node_check_compatible(blob, node, "fsl,imx8qm-lpuart")) + plat->devtype = DEV_IMX8; return 0; } @@ -444,6 +451,8 @@ static const struct udevice_id lpuart_serial_ids[] = { { .compatible = "fsl,imx7ulp-lpuart", .data = LPUART_FLAG_REGMAP_32BIT_REG }, { .compatible = "fsl,vf610-lpuart"}, + { .compatible = "fsl,imx8qm-lpuart", + .data = LPUART_FLAG_REGMAP_32BIT_REG }, { } }; diff --git a/include/fsl_lpuart.h b/include/fsl_lpuart.h index 02ebfefc74..fc517d4b7f 100644 --- a/include/fsl_lpuart.h +++ b/include/fsl_lpuart.h @@ -4,7 +4,7 @@ * */ -#ifdef CONFIG_ARCH_MX7ULP +#if defined(CONFIG_ARCH_MX7ULP) || defined(CONFIG_ARCH_IMX8) struct lpuart_fsl_reg32 { u32 verid; u32 param;