From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759282AbdEOHtN (ORCPT ); Mon, 15 May 2017 03:49:13 -0400 Received: from mail-by2nam01on0081.outbound.protection.outlook.com ([104.47.34.81]:33216 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1758869AbdEOHtJ (ORCPT ); Mon, 15 May 2017 03:49:09 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; From: Dong Aisheng To: CC: , , , , , , , , , Dong Aisheng Subject: [PATCH V2 2/6] tty: serial: lpuart: add little endian 32 bit register support Date: Mon, 15 May 2017 15:48:55 +0800 Message-ID: <1494834539-17523-3-git-send-email-aisheng.dong@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1494834539-17523-1-git-send-email-aisheng.dong@nxp.com> References: <1494834539-17523-1-git-send-email-aisheng.dong@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131393081473478751;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(336005)(39400400002)(39850400002)(39860400002)(39410400002)(39840400002)(39380400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(9170700003)(4326008)(39060400002)(36756003)(54906002)(8656002)(356003)(53936002)(76176999)(50986999)(110136004)(38730400002)(498600001)(104016004)(6666003)(6916009)(2950100002)(189998001)(5003940100001)(77096006)(50226002)(8676002)(81166006)(8936002)(33646002)(105606002)(106466001)(47776003)(5660300001)(2906002)(85426001)(86362001)(2351001)(7416002)(50466002)(305945005)(48376002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR0301MB0909;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:ovrnspm;MX:1;A:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD035;1:b7oRSHbu7+flhzjQNmQGpoyDfb9pv/g2O4xkWkN1CHvxVwTdG3sbuEJh6rsWkiHDoLaIOulND+75ZpRpZiyvq/fc+8tezeVJMu1u5BKq6eRhacCMBEmKAqnca0aUqv6NwiaI12gEzaWGNdc9iPN3fjcz3Xc9NIjkkYNePPSXtQM0j4qEItACm89exU3+dED1svHNmZYqie1U5EojYWEWEoAfsvgYQz2/DoyjjBdhGGZqk8GeWLpcjTEWjn64zb6mTvA28HP6cAB0n6NB6NmSytrlBnnO94CPUHNMz+gcY0he/z5AL1EwUlLs9m3nBWHaGy2OVV2rX7el9Q6jOpiDm6XNcqdzLUQecA3qcnCKACTHiHHpi2oZllLSldTjKUBXPFkiCjtkHmiEZ9lVdZ/ztk7q8JCJR9GD8JvbuGY/gPCyjDn9Rb1Dn5Y+TRtwBtNBeFgT+3mgP1zDDTuUcFKBSHrlo9fvCKqgyuCD6nxjvHSMPnKg6Bya9530GsHVg/egLqA5mBxEnr8MYQJBPnSgcGUKJ8ohns1Kviz6aS5KfshX5GOXmI2RuYt9GEg5QRK4i2fwKrf+Ua2x5g5MrlTLVtmsPBVz6cke0jOaSXA3p6X+TijvmxJ9eu58ZHfI7np4gKnR2INVS5DAiPRzPsX7UKO0RoqXxA4uaHuXuIutqEscGvrqsEIKl9JCeOWmUqeAWob3j4Rs6vkhIBd4DIXlA3B7nCKW3HDsgyDd/WF/Aeg= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: efb16307-1051-4cc6-4efe-08d49b66dda0 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131430075)(201703131517081);SRVR:DM2PR0301MB0909; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0909;3:n8wTCEEHZCgdrDmQmO8/4soxcokTTKvqjPFMUDj4HJEdxkKm+nRl7TG5lK1f6BPZe8b4Vw4xhYHp/bipcaHBPBbl/tlC6aG6HTggzbM2wrIctVccwHuJdeOFp6Imc+7bH5IEK/l1njzwZdkUDJekhJquuk8d/6tn53cwgTs2rDMnxAez4iU8owmxF2vNRpkdDn0aHXS1HHZtMnZxf44VdLh4sdAiZZmzw3StILw3DligVgG/Ba77Hg4e98pCj9EMxxfmCu5+8eJ68MCfSecjMePL0JNVnYFBlhpRXu4AkscDcUFuUwVs6SChzMJn1FQ2kHD0r0xUhv7kHDtS2N1+qIcoanyWl86D88lQB6BVjGkQwRMFUQTytsVxlOw5mSmyms+bpm1PovusluCs72LLDtBjQMs+KWgl7ep6Sui0TNxSyjuBt4994FziEHEiH212;25:kteq376BRIylKAlBkXLFAnKbznaM785jaKtf4f8j2EqasmHHSnMWjXjpIB5mgCCJONWQT33G8KZj9kISxDsG71NheEl9ihehO9HfHqG2WqB65bBzQr2agwt8PPmEiWqxRMoMqNLcYRQ5WJiUf7kP3oAhqp0Mko4zXFIOp4e9/LJm3Vxvi8ZNyn3Gx12yyGBso8dr12b9TvgQPXhMa04jPfqHLafWHtlsqMYAhTl2Rv32aY7tDzVNES1zc/CDp499aQc26XyIHZCcBOy7BsRMKi+TRxVpbyMgcmIf7ynGox/rBkE5G4/KZ7FOdani8zOMSS0ww4y5d0b2xMMY5yIjtrfpcRlosmuwMlIJfZXNrqPdqj3NRm1BsJfpSr/B7gUdzyS1VaTkFMjdS7G78Sofjrz4+8zvqt8iAEpggjSX4qp7frxy8avlyHysT31j5JkyRcM6ucxCGW9cP6Syd0EwJA== X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0909;31:X0OhVm+WNF1TM0zJJpGyxLa46gawlUip3l6oBwO4aTA/WO/1aFUoJXzF/+Obcn81LoIX3freOdzUQSmNDk4dMqJermbkWOtv8VmcyZoIJm+Xt4vuFpCcLwEh/FjsW07nYAtft7MolZ5QenGGcb2nnhLjVtYdDhGCupfXGwz3SUmFFvLUn1SMArKVT3qF3I2/A9gGrNC8WHfNQRDKcYTvsHfBWznHcBolPHBP47sZ8YMcMuJCrM51KVGmW5tjp1KFf6fMkgd2GuboKqEmKJdpyA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095135)(601004)(2401047)(13023025)(13018025)(13024025)(5005006)(8121501046)(13015025)(13017025)(3002001)(93006095)(93001095)(10201501046)(6055026)(6096035)(20161123561025)(20161123565025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123556025)(20161123559100)(20161123563025);SRVR:DM2PR0301MB0909;BCL:0;PCL:0;RULEID:(400006);SRVR:DM2PR0301MB0909; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR0301MB0909;4:ViX5jrkAAlZd0aGVFKfgTradV0oc1nFZl7DRpAJv?= =?us-ascii?Q?ufI5pUqYj+dvVYxkKhRC7wuj1/2hJnFC77LDBXHT+pW5uZsSS8oir7lqRSHa?= =?us-ascii?Q?YaRwySwgJwqOZU9WN4NCi6Au6Qpsk/dnw1HtwiQBbtRt7dwjcrqx6qWtIK4z?= =?us-ascii?Q?H2BQ7AXwo//VC09l/M053TjFhsxZL5rC74pFzhLnnWQ8Qv7zdCM82789YAhm?= =?us-ascii?Q?I8lLthA0rprhV9X3yWsxlG95CaWI5dqFvJkOWUolTYV60ZCPrk0KoGOG7Rxm?= =?us-ascii?Q?D+Lk9YHg2jzaURvdkz8hk5fdEz1vAQDrQvMmQ7/moM0kNJLGV+JOl8nFJhVM?= =?us-ascii?Q?6dNePpvl+6R5gd3PV8i5jDoOEOgzRV97KOWUAwtgVRn7+g1WjJz6NL4VYv1P?= =?us-ascii?Q?V8b0+fe/s5SHdYndfVxndtnzQG/6BQrmcjK8I5EjJ1n79CnDUqa6dIzrGvcK?= =?us-ascii?Q?eEEa27ya1Z+xUE1304rZUIVyyUF9cig6xKGlT7T3lvRScm8lXkIzIr1V3QWG?= =?us-ascii?Q?TjbBH6OmCMSCBN3HuppNpB9fWW2Xj2Pgu1CHXa6FkF7gd0bU9HXerxPFhPXl?= =?us-ascii?Q?ywfAOPixnMXOtTWz5RleMPEwzrPv9svCCWiqEUJ8K24EulJlW7dcSO+dMEdy?= =?us-ascii?Q?FNyOJ4/FZot+FeUB8W/qp1k9xkXlizgbwN9UGzNJLgynMb3ma5ElDwuz3cq0?= =?us-ascii?Q?WK23oDkllQB5514AIoJ+ZK610zUH9ZpB0aoe4UrIfNbcxSKJmQfSOTJ/jQPk?= =?us-ascii?Q?mSdPiH1ecl+lazcOyBgUTeqyaWULLvWqTqylydwzdH2h1u/CribXGz9AqCZx?= =?us-ascii?Q?j6nLAZRM4FjttBo1TNtEKsirEAEi69WTC3ZHKb1tCbgjU42wnpTlLw9xS7sK?= =?us-ascii?Q?sbqF96/rab611+qEE/pIhamwHMgE8+1pURkx2/jgCTO2g/Y8UWJIByQjXilE?= =?us-ascii?Q?om/+Z4KGDjhUBuWw8ByGEXnffPkDGHkZQbE84LCDoQ=3D=3D?= X-Forefront-PRVS: 0308EE423E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR0301MB0909;23:O0QKRpuqWAqhX0kJR6MzxWETg4K2OrwZS4ZWkRN?= =?us-ascii?Q?0JPT50aRy1e5bBgwAIBKBLh3dtIC8NW3d0vKLYt643l3EqF90iFdYy6X7rT6?= =?us-ascii?Q?AvzMndQ9qvDurXdoZFoTqZdYqRXRNJ/dvhcsqMFlYMl/lAp3zwVYIHFp2vJd?= =?us-ascii?Q?sDpNc9A6apHw3KwlmUvgnvWgrAeLxCtuGdL4OozRepgh+KR0I6LB9w0riKbU?= =?us-ascii?Q?GYn+ZGaMjOKt1AxtrBexwKoH1fmfDfkaWVk77RKfFkxXMMXhqulysAZjzOHf?= =?us-ascii?Q?m1MJARlFpmtd6sGJSYwlW1goHQCVrMYhiTS1qoFzGHwdQJZvxUHF1rukcw1B?= =?us-ascii?Q?GRmtfudFxJ2FBmEF3swJoog7pOPi1rOLNnvY/7dWkkQYZRo/EmUcVNp0leWI?= =?us-ascii?Q?ooajJVJ9wXT07Jt3QGj+FUZnM05ah0hiFp3F3AfLGCuwL+b+UE8gNstsWOMw?= =?us-ascii?Q?fiIir2YIHnwKOX5UA+HPq940xjo3HWZFDTm3jSeeYnhHjHKcrH1Zm3QL0v49?= =?us-ascii?Q?NzrW35R404q6WFTWJl0swYkY7kIP3IXGNRYOpk/GmPHV5r3kaycH3lT88U7n?= =?us-ascii?Q?7nYfY8yZEpSJ0tUxXu6+m5+fdqdA8e1234OvNBpyi9BKn7C80mh1WctbkISP?= =?us-ascii?Q?527orGbym2/GBH2nWKpHrapvV2/w5k5sT6/ympc4jKcvZ4QRaRJvfMmUBYbo?= =?us-ascii?Q?FUE7DDTcRKipnDYmYoYQsMVWDbMDX/QTjgO0lqAiGtC5XSZ5s+yQgeb24n7G?= =?us-ascii?Q?alhN52GbhH95l5SKjKB4JjL7KD4wQcnAWPWd9tnBE0kePo+V1IxLO34e+Yek?= =?us-ascii?Q?jlLbR6kMvWAmkJMU+cVlQ0yn9T6pYQ560p/M8kGk9a3WNf6dEukpZgeFejri?= =?us-ascii?Q?78TKXbw+X3A86BHGWP79Adb80K2RoGY3YVTAjMocN/Iz/9c+IN7QjeOWnQlE?= =?us-ascii?Q?TAWuCOixtpr20ZzbRShDS5jQYka6U3AyLed5twaDxrRrM6by7h5ZlPe8bjj1?= =?us-ascii?Q?cpmvX8DbyhYlBt64cXQ5SpRzzTSUREBb/LdFhOVMk5lpo2YG1PvQCktOpSYa?= =?us-ascii?Q?NPnFQhQ+ssgel2qF1xq3wu6wRIfqINfdIxKdW9Os6cGAMXvOCDTO9qNe4GJd?= =?us-ascii?Q?mDZg5HgZv9mm8KYIC3Y1X9VfcpyLmN70+bJyqzzQuXs/bQP8kkqsRpR/N2O0?= =?us-ascii?Q?P3ci9rEONrwz3TLFLem/Oc7pOfsOXRNP8ZM+F4ExdY81XCUyKGlFcPBGg7PA?= =?us-ascii?Q?lo/6KS2M8M3Y/cn5EfNmjpPNrdQEnCjDIpA1/2uHWzIVpvANh5rbLcUFu/Yj?= =?us-ascii?Q?s2A=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0909;6:fBYbMdjc7u275GN5djsRsBc9/CDquk5pccKpMFY44dFyl+4sm1ULVvFrPiRZgZVlfB2f7J2f4jEP1AUnHUQnlmFIN/6Q77KIhzFhpmmMH5dwJm7wWGJmShGo5F30UN8k3OrzhB2JkthXNZJFgb18C1DeECAGcyyUrOM+RlckIGatV5are/C+nE1rzXgWb9gTRZg/KsVl+q8ykVv6ZI+LW7YebLFRnNio9jMtdZtiwMI++ELPbhdo6l37WmKuLDPvzW2LKkCAm1mYwGDukFudPw+8EG+wqiN1SyfvnWKKLloYUrXu+kYo+7xnEUH43ZpkMx24l6aeFjGLgBniaXUpFTqhacoSyBIl6Wc0TWjxCV4kZVVgGGDKOkWjTc1KDC8YAIQaXYBhhPrW9ip2xa3NHUx/pooDffzcxw2yfN4LJv8NRb6a1YX8HPbfNNIrxZVQzmwgAU2giNx2UnQURU+Usa6zVNrpMxJ+9L6r3UMlcIqn39mLnNyEckjyVd6uNXyrRN06WknDlCskL20mkWswzg==;5:WFkG8VFm4s6tSn+9J/6pm7A4QS42KAUNbw8OBGDekSYQaB0uPKjLON12cpnxB9u9ZfIIGjC8ql/DeHr55wle+Ub8F2s+LikXrM+R+iePRkNAqR7hcArs0DgnrqPt+X95D0wQH7ziNzD2hE1RX0FKTfQHoAUJf1s/0zUVtuyluXAVslCvTCMD2/OLxBzECrIi;24:blNNEfuaVrrzX6Uy9Tct1EQpND1MLAG5aFCrwQnHyJhT7mMeQ+o6DSmzbxe1KE9la8ZHq9Kq7ras/9bKJeq4ZEG+q8vc5jlaw9nNgIvgsoU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0909;7:z3lG0UARQfciDB2N24M7/gOnom1cvMVsj61R8qt43wpDW6lcfcr+Jd+HtfOm8EmbvRhWbrds1w5yE9f8oLBhyFT+43a8YJ4paq0oPOlDwQgOvMbxCSY7lflHo8JE/+NrQzyikJbiRhMy1Cy3XB17VjD7f+AOTcb6n8v3vgt2HavdoDAIDIcPSi9c9i5aEf+ZCff5kxmtbJ1rcMYOBYQrACtG5tcgIlYOXxaJp77/k3oOmp87f5rv8d3FaWQ4JMab0C2gP4mZgi6ohM9LN0fVi47NyAUHZ3M2FxIyftbF/d2LwbxGq54+eliwgauy0xCLet5tA/UBXPJyGMg6mLmf0A== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2017 07:49:07.1762 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0909 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It's based on the exist lpuart32 read/write implementation. Cc: Greg Kroah-Hartman Cc: Jiri Slaby (supporter:TTY LAYER) Cc: Stefan Agner Cc: Mingkai Hu Cc: Yangbo Lu Acked-by: Fugang Duan Signed-off-by: Dong Aisheng --- drivers/tty/serial/fsl_lpuart.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index 7204103..e72b397 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -231,6 +231,8 @@ #define DEV_NAME "ttyLP" #define UART_NR 6 +static bool lpuart_is_be; + struct lpuart_port { struct uart_port port; struct clk *clk; @@ -260,6 +262,7 @@ struct lpuart_port { struct lpuart_soc_data { bool is_32; + bool is_be; }; static const struct lpuart_soc_data vf_data = { @@ -268,6 +271,7 @@ static const struct lpuart_soc_data vf_data = { static const struct lpuart_soc_data ls_data = { .is_32 = true, + .is_be = true, }; static const struct of_device_id lpuart_dt_ids[] = { @@ -282,12 +286,15 @@ static void lpuart_dma_tx_complete(void *arg); static u32 lpuart32_read(void __iomem *addr) { - return ioread32be(addr); + return lpuart_is_be ? ioread32be(addr) : readl(addr); } static void lpuart32_write(u32 val, void __iomem *addr) { - iowrite32be(val, addr); + if (lpuart_is_be) + iowrite32be(val, addr); + else + writel(val, addr); } static void lpuart_stop_tx(struct uart_port *port) @@ -2000,6 +2007,7 @@ static int lpuart_probe(struct platform_device *pdev) } sport->port.line = ret; sport->lpuart32 = sdata->is_32; + lpuart_is_be = sdata->is_be; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); sport->port.membase = devm_ioremap_resource(&pdev->dev, res); -- 2.7.4