From patchwork Fri Jun 2 15:26:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Hugo Villeneuve X-Patchwork-Id: 102611 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1114505vqr; Fri, 2 Jun 2023 08:33:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7gzl7akZJTFdDqJg3rRp3EHasB4J1spHwkIz8orcvOLfphs8bxbBt4WX1lIF7OqZv8xPRH X-Received: by 2002:a17:90b:4c44:b0:256:5a84:c837 with SMTP id np4-20020a17090b4c4400b002565a84c837mr168228pjb.39.1685720035459; Fri, 02 Jun 2023 08:33:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685720035; cv=none; d=google.com; s=arc-20160816; b=f2HkMwhyr8pqLjltNE+ql8XarmJVyFiZimSYZRdNPerNdgNmVQyPUsqpLkVNe2Y+rJ /naPjEBjDozQ8kb6ceBQVwLdSQJnRB3VuU13w1+Qzk0b6/DK0L0TcgMFb7SIMhXX9PuI NRbC1RTrLm9MZ1i1W+G7PcnGA2uo4jhHX1GzIh2TA3kIKEI2pDI6fMqWqCGHZyLeJ38L T6Oyr2+sprMgvxNVBYvrZ5mI+ja0igQqun0JV8FdR3qirmWujnAhoZPqFfCqnVEQxNNS 8i0rNjkDLgjH5AyetisWW5vYx2l/L3NYw57WQN5LjbO5llJW5KbgU+JnoK2tUxhlPRr4 v9Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from:dkim-signature; bh=vlvSfJ7BB6pGJBxrOhJ5IMJLf95UIyksZ/69U1YnCu4=; b=a4BHi6S27lG/45aTqo+ih1bQ8fTPDVFHMjMinaK18G56/zhyyRoJmQhfHa7kQ7TwtC hDO2K0GfBm3VchZPgzUGG2NFcOG8TB/XjFyNMsmYFR4AvwrnwH0V1JRBMNHX6T7JKxAS hgclA2DcE1J9ppcQwF01i4vyUomtD636bZQttdJKePoSpi0C+B7EB3PJKoR0Saixnujg 0evw3i8vSHL4w8pU/Bw1D4Bl0kjTAm9HadF0bcpCjjEZYXSD4UuD5obcKpmGusNCjAyL 99pUAW3tiOh55do0Jmqr3zJu2fKz7lKZ1leMmUrssubzst0Voc9ESIKOfgBtmDDYIzKI rw0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=bKChWXh4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pg18-20020a17090b1e1200b00256822ea116si2969927pjb.164.2023.06.02.08.33.43; Fri, 02 Jun 2023 08:33:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=bKChWXh4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236631AbjFBP0p (ORCPT + 99 others); Fri, 2 Jun 2023 11:26:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41810 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235715AbjFBP0m (ORCPT ); Fri, 2 Jun 2023 11:26:42 -0400 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 67F4D1BB; Fri, 2 Jun 2023 08:26:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:Content-Type:MIME-Version: References:In-Reply-To:Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=vlvSfJ7BB6pGJBxrOhJ5IMJLf95UIyksZ/69U1YnCu4=; b=bKChWXh4jkp3ScQwcUn5nZ+CEx OVkmEl5LRViMYgTLztidHjR/jn72t/IgFwBltYly5wbMs5ruLeb5Fk8lNHwzqFBCnbZPTrfHEfL7J J8ilXzfm69XjobFU+SWs/xoI3luVcwY2LZKai7CQjpKaTF59Byv5pfIDKczayLuqIucg=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:50948 helo=pettiford.lan) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from ) id 1q56ff-0008Hq-Bd; Fri, 02 Jun 2023 11:26:31 -0400 From: Hugo Villeneuve To: gregkh@linuxfoundation.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jirislaby@kernel.org, jringle@gridpoint.com, tomasz.mon@camlingroup.com, l.perczak@camlintechnologies.com Cc: linux-serial@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, hugo@hugovil.com, linux-gpio@vger.kernel.org, Hugo Villeneuve , stable@vger.kernel.org, =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Lech Perczak Date: Fri, 2 Jun 2023 11:26:17 -0400 Message-Id: <20230602152626.284324-2-hugo@hugovil.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230602152626.284324-1-hugo@hugovil.com> References: <20230602152626.284324-1-hugo@hugovil.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH v7 1/9] serial: sc16is7xx: fix broken port 0 uart init X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767605572225894004?= X-GMAIL-MSGID: =?utf-8?q?1767605572225894004?= From: Hugo Villeneuve The sc16is7xx_config_rs485() function is called only for the second port (index 1, channel B), causing initialization problems for the first port. For the sc16is7xx driver, port->membase and port->mapbase are not set, and their default values are 0. And we set port->iobase to the device index. This means that when the first device is registered using the uart_add_one_port() function, the following values will be in the port structure: port->membase = 0 port->mapbase = 0 port->iobase = 0 Therefore, the function uart_configure_port() in serial_core.c will exit early because of the following check: /* * If there isn't a port here, don't do anything further. */ if (!port->iobase && !port->mapbase && !port->membase) return; Typically, I2C and SPI drivers do not set port->membase and port->mapbase. The max310x driver sets port->membase to ~0 (all ones). By implementing the same change in this driver, uart_configure_port() is now correctly executed for all ports. Fixes: dfeae619d781 ("serial: sc16is7xx") Cc: # 6.1.x Signed-off-by: Hugo Villeneuve Reviewed-by: Ilpo Järvinen Reviewed-by: Lech Perczak Tested-by: Lech Perczak --- drivers/tty/serial/sc16is7xx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index abad091baeea..faa51a58671f 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -1436,6 +1436,7 @@ static int sc16is7xx_probe(struct device *dev, s->p[i].port.fifosize = SC16IS7XX_FIFO_SIZE; s->p[i].port.flags = UPF_FIXED_TYPE | UPF_LOW_LATENCY; s->p[i].port.iobase = i; + s->p[i].port.membase = (void __iomem *)~0; s->p[i].port.iotype = UPIO_PORT; s->p[i].port.uartclk = freq; s->p[i].port.rs485_config = sc16is7xx_config_rs485; From patchwork Fri Jun 2 15:26:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugo Villeneuve X-Patchwork-Id: 102615 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1116268vqr; Fri, 2 Jun 2023 08:36:37 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5y3xcX5YncrxxklU5cllUuCgC113Oq+svlRI2jlLWEQ8o2AXEc2bw8bvlWtRYGhO6hfiUJ X-Received: by 2002:a05:6a20:9382:b0:10b:cc13:5ac8 with SMTP id x2-20020a056a20938200b0010bcc135ac8mr10554237pzh.27.1685720196834; Fri, 02 Jun 2023 08:36:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685720196; cv=none; d=google.com; s=arc-20160816; b=A/0UAlB05Y6nERRmzmoS1o+KPAUzCpp2gWU72iNTeLAkx1xv359rEDgdi5U9KAdq7J NLFDR9S8UmvcG2wzyJ8nP63IYEV6Azxdxj1sSJkC09Z1G2eTrr1jjD8duHqyn/O9nMDx v0W2DE0WOiK44uMBBEarbEfnNumkZ2/f5qrJsOKKr6GTDb15E+MkwxmN5RyQWREq+Y3/ UixZMoXrj9bnXSPMK/hB8Mj7t1eYyTo5sGmiPVYi/ym+C9JLessvZZewOIQmjSs/L2x1 ouEB2Yr/rb4r/TKC7e6bBGT/RIEPB4dQbt9B3n9ZzBbwgEZzPEdpXYhZtfNGGw158NHl X0DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from:dkim-signature; bh=T/ybH+luXFJtRUNLsANdxNj5MlosRcBXIwuB3tKL/mQ=; b=0azlW8fgIDZM5EaafyxeyVb6fa1RMVOKolBupitHwvo1whoqBzRcoSDX11U0rTh/LV kT+uQ+8A7V4gCMPWLLNunx052U89yiZ6LhZMOXZUfvrypn4tzAcoSc5c46GNBj3cs9LF MmoqWXMR1hWOWgduCoUjmCjrXQVF6G11Azdudkz/VZbrdgWgS7sPMjJ4VUA8Njw1P5B2 YAlDsn3APtqUmccXRGdjb9JDmQbGXaXUL/nqYsOpsK3/ew8UtExBV03I45PLSFHu+c0i kwzHPLnczqJnROWkA/AbYiPATzexYjtdaFWrvvBycCSWf++DOctiEa2617mlL6iO1Gky Go7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=mfUCMr5p; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k62-20020a636f41000000b0053feb93b539si1171596pgc.330.2023.06.02.08.36.25; Fri, 02 Jun 2023 08:36:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=mfUCMr5p; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236609AbjFBP0t (ORCPT + 99 others); Fri, 2 Jun 2023 11:26:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234614AbjFBP0m (ORCPT ); Fri, 2 Jun 2023 11:26:42 -0400 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DB091E48; Fri, 2 Jun 2023 08:26:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=T/ybH+luXFJtRUNLsANdxNj5MlosRcBXIwuB3tKL/mQ=; b=mfUCMr5pnhOaMZd6Tjl11cca/Y +vzCLQNE7U1/zzQhoFUG4z43sad9XKUbj86/KTp5DTcdI54/0P76d8nptwHG2/uPiAFKjFOPTT3lz dmvtpr0Tgkura6XniRxx3zOrhLQkVi1cH7LJ+FM0Y3IsQYNmYbk9GEcoZYhTGddv3F+Y=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:50948 helo=pettiford.lan) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from ) id 1q56fg-0008Hq-Jh; Fri, 02 Jun 2023 11:26:33 -0400 From: Hugo Villeneuve To: gregkh@linuxfoundation.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jirislaby@kernel.org, jringle@gridpoint.com, tomasz.mon@camlingroup.com, l.perczak@camlintechnologies.com Cc: linux-serial@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, hugo@hugovil.com, linux-gpio@vger.kernel.org, Hugo Villeneuve , stable@vger.kernel.org, Lech Perczak Date: Fri, 2 Jun 2023 11:26:18 -0400 Message-Id: <20230602152626.284324-3-hugo@hugovil.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230602152626.284324-1-hugo@hugovil.com> References: <20230602152626.284324-1-hugo@hugovil.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH v7 2/9] serial: sc16is7xx: mark IOCONTROL register as volatile X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767605741180364449?= X-GMAIL-MSGID: =?utf-8?q?1767605741180364449?= From: Hugo Villeneuve Bit SRESET (3) is cleared when a reset operation is completed. Having the IOCONTROL register as non-volatile will always read SRESET as 1, which is incorrect. Also, if IOCONTROL register is not a volatile register, the upcoming patch "serial: sc16is7xx: fix regression with GPIO configuration" doesn't work when setting some shared GPIO lines as modem control lines. Therefore mark IOCONTROL register as a volatile register. Cc: # 6.1.x Signed-off-by: Hugo Villeneuve Reviewed-by: Lech Perczak Tested-by: Lech Perczak --- drivers/tty/serial/sc16is7xx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index faa51a58671f..0c903d44429c 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -488,6 +488,7 @@ static bool sc16is7xx_regmap_volatile(struct device *dev, unsigned int reg) case SC16IS7XX_TXLVL_REG: case SC16IS7XX_RXLVL_REG: case SC16IS7XX_IOSTATE_REG: + case SC16IS7XX_IOCONTROL_REG: return true; default: break; From patchwork Fri Jun 2 15:26:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugo Villeneuve X-Patchwork-Id: 102612 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1115083vqr; Fri, 2 Jun 2023 08:34:48 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5UAb+NOWhCJRACi7OGZUjQV4LAFNcUQCvNEeAEpbOQd6pfskE23Z5pZmFncPd0ILB6OKLS X-Received: by 2002:a17:903:2343:b0:1b1:c0f7:cd27 with SMTP id c3-20020a170903234300b001b1c0f7cd27mr168829plh.22.1685720087763; Fri, 02 Jun 2023 08:34:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685720087; cv=none; d=google.com; s=arc-20160816; b=NuHJxn/RW9YILZFTdyEdI3YdlS8bqxAmWRM8wTjHupYvsmbmzI+CPMqkTufkpsC2VS L9LgeM5B8l1E948q6nbzTjGCeW+CYkGy7X4uat9q6moJJEQauTOmpaeo19uAgfcE13Q7 4a8mepwcdeT53ifJAFsF14QvL92lmPaspKP2rA4cM5rDXbtlyJiE8hZCjStWQHCnPiPY +2Pyfgyu9BZhQDSrfb7xHOhN/r9jJTEve5U5aAe2Se6oQyXrneo62d4XaDwVFSDyEYLe husoYMK3v2GIRaGnVYbmX/qhbcnbUG5y+R6wTHthUQvtu1LT9VJbx6ewIg8JDpNjJ8kW OJkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from:dkim-signature; bh=PvKU1KZMqnBynFfs1LyL8913fUHPvhHtVoFLTU7Udeg=; b=Jddq6qJ5lkQkE2mm+UdFkB0cbIICItlrbwPDkw+beLo3kurVS6mglUorlw88CeaSee X+dUi7SvAuyg+TMcws2m7V965jV6aDLRGeYQQL/MvMW7iD+S0l+eSEnIxzJ7+4gcWsjP HCrT6UBr0Adt8mFlb90F6UTgAUmZ3AsA4nlpHtZLOJ5CSMv8E/IRTh9M9fsUMu437kBf xNOh3dpEYf10Dw0Z5SQnyEs6FooQyvms5POi9yqkumLlQaQzefUjiaT40f/Ea04Jq1Kq j9qD9Wy39XU84BHgkk6VuGPtqYqUe1eMfamVRKtR5w9N5aPt8p8P9fn08dfTKLIWNcVh EbCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=BV5gsTU3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q2-20020a170902edc200b001ab1fb8cc83si1036683plk.161.2023.06.02.08.34.34; Fri, 02 Jun 2023 08:34:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=BV5gsTU3; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236665AbjFBP0v (ORCPT + 99 others); Fri, 2 Jun 2023 11:26:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236530AbjFBP0n (ORCPT ); Fri, 2 Jun 2023 11:26:43 -0400 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 43CE7E41; Fri, 2 Jun 2023 08:26:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=PvKU1KZMqnBynFfs1LyL8913fUHPvhHtVoFLTU7Udeg=; b=BV5gsTU3lZM+pr49QxIjGrjiOO JY7GPXSkxNy+S0wKWIGlnPvOzFAp27U1752vlfGTOjPU33N/QAnXnOr2lu3ETtKjdA+JAFwUpA7X9 UUCOVxzTpkPnR7VB8Lc8UrV9yMjnvZqILDrqzLFCPu/P03PVlUSZn6gAKVd++0mgLXWw=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:50948 helo=pettiford.lan) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from ) id 1q56fh-0008Hq-RU; Fri, 02 Jun 2023 11:26:34 -0400 From: Hugo Villeneuve To: gregkh@linuxfoundation.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jirislaby@kernel.org, jringle@gridpoint.com, tomasz.mon@camlingroup.com, l.perczak@camlintechnologies.com Cc: linux-serial@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, hugo@hugovil.com, linux-gpio@vger.kernel.org, Hugo Villeneuve , stable@vger.kernel.org, Lech Perczak Date: Fri, 2 Jun 2023 11:26:19 -0400 Message-Id: <20230602152626.284324-4-hugo@hugovil.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230602152626.284324-1-hugo@hugovil.com> References: <20230602152626.284324-1-hugo@hugovil.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH v7 3/9] serial: sc16is7xx: refactor GPIO controller registration X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767605626613190448?= X-GMAIL-MSGID: =?utf-8?q?1767605626613190448?= From: Hugo Villeneuve In preparation for upcoming patch "fix regression with GPIO configuration". To facilitate review and make code more modular. Cc: # 6.1.x Signed-off-by: Hugo Villeneuve Reviewed-by: Lech Perczak Tested-by: Lech Perczak --- drivers/tty/serial/sc16is7xx.c | 39 ++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 0c903d44429c..7d50674d2d0e 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -1349,6 +1349,26 @@ static int sc16is7xx_gpio_direction_output(struct gpio_chip *chip, return 0; } + +static int sc16is7xx_setup_gpio_chip(struct device *dev) +{ + struct sc16is7xx_port *s = dev_get_drvdata(dev); + + if (!s->devtype->nr_gpio) + return 0; + + s->gpio.owner = THIS_MODULE; + s->gpio.parent = dev; + s->gpio.label = dev_name(dev); + s->gpio.direction_input = sc16is7xx_gpio_direction_input; + s->gpio.get = sc16is7xx_gpio_get; + s->gpio.direction_output = sc16is7xx_gpio_direction_output; + s->gpio.set = sc16is7xx_gpio_set; + s->gpio.base = -1; + s->gpio.ngpio = s->devtype->nr_gpio; + s->gpio.can_sleep = 1; + return gpiochip_add_data(&s->gpio, s); +} #endif static const struct serial_rs485 sc16is7xx_rs485_supported = { @@ -1502,22 +1522,9 @@ static int sc16is7xx_probe(struct device *dev, } #ifdef CONFIG_GPIOLIB - if (devtype->nr_gpio) { - /* Setup GPIO cotroller */ - s->gpio.owner = THIS_MODULE; - s->gpio.parent = dev; - s->gpio.label = dev_name(dev); - s->gpio.direction_input = sc16is7xx_gpio_direction_input; - s->gpio.get = sc16is7xx_gpio_get; - s->gpio.direction_output = sc16is7xx_gpio_direction_output; - s->gpio.set = sc16is7xx_gpio_set; - s->gpio.base = -1; - s->gpio.ngpio = devtype->nr_gpio; - s->gpio.can_sleep = 1; - ret = gpiochip_add_data(&s->gpio, s); - if (ret) - goto out_thread; - } + ret = sc16is7xx_setup_gpio_chip(dev); + if (ret) + goto out_thread; #endif /* From patchwork Fri Jun 2 15:26:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugo Villeneuve X-Patchwork-Id: 102621 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1117522vqr; Fri, 2 Jun 2023 08:38:31 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6MALjrPuK8xB/wz2i8UO9O6gLVOb+GjCJKNHAaDplJa7Vr4EewvoG16FNuIATi3/7H2mUy X-Received: by 2002:a05:6a20:144f:b0:114:28dc:2d93 with SMTP id a15-20020a056a20144f00b0011428dc2d93mr857808pzi.17.1685720310666; Fri, 02 Jun 2023 08:38:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685720310; cv=none; d=google.com; s=arc-20160816; b=m+OT9127z25c9KsUm9hyWtedW32OCDbr9TMX/YgzbfnbBjgdeFAZjaBXlsDo08gNJc WkK7mYLvA8l2oxgpMhTqGxfz0uqcPCBT/umxKm4xeMR/3n1+5XA7GSSEqm6rRowralcy UM/ZIhBFjIs07f8YvYClaZNK9Nj8YHcYM+U8lFWqEerThvojHHXvXdskbm6xF1HP0OYB G/tsH1QUI7Eor1xCm0IPTNy0oN2nsjmbwjNWDiIk6+oUpQkkHFG8p05djk8IIKipMYVv SFA7pMkItKJc0xj0jOKSrSEXzjXMy00Iy4pV7HphLzHThxX7h1+VY3C82BEBCou39AD5 sihA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from:dkim-signature; bh=SuJQI5JxUPzY+H5j7N6gL+Df0hCmvZbTgQvKUtpTEpg=; b=0kfoxvkPm4dGvKURLD2osy9ztO6jzK4uXluPlpeVDjzn0nhsX3U+iTA6euR6XDXEZ/ 6dv/85Mxp2//8dF5Q3lYOPyVezcjyeDZp+BE6MrTtef6CGh3L06a/mLvsQ8fKvTkHU0D vQ0qWjfFZ5OW0bgkdUogU21tuZLT33GbjDQF/TWZWs1R2dmgAxTg/9gtuzxugMKBijlQ 7ZeNGbvRLmHxirndrBMno1m/D+cvGzxbz9oInJLeVD1IJ1zK9GjimocVK3mSfhnuOOte 8D+UV+ck/Xb8B75juxTiJvvX0Iuhuou3ieuDGoeM2SzeRQJS067JyGmP8Fv1CTrhTpDE 7r8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=YrlbI3uP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b10-20020a170903228a00b001afe7fcb257si1143979plh.64.2023.06.02.08.38.17; Fri, 02 Jun 2023 08:38:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=YrlbI3uP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236671AbjFBP0x (ORCPT + 99 others); Fri, 2 Jun 2023 11:26:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41846 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236613AbjFBP0o (ORCPT ); Fri, 2 Jun 2023 11:26:44 -0400 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 83A2B18D; Fri, 2 Jun 2023 08:26:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=SuJQI5JxUPzY+H5j7N6gL+Df0hCmvZbTgQvKUtpTEpg=; b=YrlbI3uPnMhTfUHWK0iSG06B3R UctC7P53n+VUxJa9vM3J9xTuVlRcB5E8sHvORNwd6SYhKaL5yqCQR331+uTlPW/GUVKX4WoJoWtff Jx7pfR/5G+RS2V85igMRgI/6mGZF71eU3sjTgOIKHueI/cPLUTx854kuvg8SHkm81lks=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:50948 helo=pettiford.lan) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from ) id 1q56fj-0008Hq-7a; Fri, 02 Jun 2023 11:26:36 -0400 From: Hugo Villeneuve To: gregkh@linuxfoundation.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jirislaby@kernel.org, jringle@gridpoint.com, tomasz.mon@camlingroup.com, l.perczak@camlintechnologies.com Cc: linux-serial@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, hugo@hugovil.com, linux-gpio@vger.kernel.org, Hugo Villeneuve , stable@vger.kernel.org, Conor Dooley , Lech Perczak Date: Fri, 2 Jun 2023 11:26:20 -0400 Message-Id: <20230602152626.284324-5-hugo@hugovil.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230602152626.284324-1-hugo@hugovil.com> References: <20230602152626.284324-1-hugo@hugovil.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH v7 4/9] dt-bindings: sc16is7xx: Add property to change GPIO function X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767605860438289002?= X-GMAIL-MSGID: =?utf-8?q?1767605860438289002?= From: Hugo Villeneuve Some variants in this series of UART controllers have GPIO pins that are shared between GPIO and modem control lines. The pin mux mode (GPIO or modem control lines) can be set for each ports (channels) supported by the variant. This adds a property to the device tree to set the GPIO pin mux to modem control lines on selected ports if needed. Cc: # 6.1.x Signed-off-by: Hugo Villeneuve Acked-by: Conor Dooley Reviewed-by: Lech Perczak --- .../bindings/serial/nxp,sc16is7xx.txt | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt index 0fa8e3e43bf8..1a7e4bff0456 100644 --- a/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt +++ b/Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt @@ -23,6 +23,9 @@ Optional properties: 1 = active low. - irda-mode-ports: An array that lists the indices of the port that should operate in IrDA mode. +- nxp,modem-control-line-ports: An array that lists the indices of the port that + should have shared GPIO lines configured as + modem control lines. Example: sc16is750: sc16is750@51 { @@ -35,6 +38,26 @@ Example: #gpio-cells = <2>; }; + sc16is752: sc16is752@53 { + compatible = "nxp,sc16is752"; + reg = <0x53>; + clocks = <&clk20m>; + interrupt-parent = <&gpio3>; + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; + nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */ + gpio-controller; /* Port 0 as GPIOs */ + #gpio-cells = <2>; + }; + + sc16is752: sc16is752@54 { + compatible = "nxp,sc16is752"; + reg = <0x54>; + clocks = <&clk20m>; + interrupt-parent = <&gpio3>; + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; + nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */ + }; + * spi as bus Required properties: @@ -59,6 +82,9 @@ Optional properties: 1 = active low. - irda-mode-ports: An array that lists the indices of the port that should operate in IrDA mode. +- nxp,modem-control-line-ports: An array that lists the indices of the port that + should have shared GPIO lines configured as + modem control lines. Example: sc16is750: sc16is750@0 { @@ -70,3 +96,23 @@ Example: gpio-controller; #gpio-cells = <2>; }; + + sc16is752: sc16is752@1 { + compatible = "nxp,sc16is752"; + reg = <1>; + clocks = <&clk20m>; + interrupt-parent = <&gpio3>; + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; + nxp,modem-control-line-ports = <1>; /* Port 1 as modem control lines */ + gpio-controller; /* Port 0 as GPIOs */ + #gpio-cells = <2>; + }; + + sc16is752: sc16is752@2 { + compatible = "nxp,sc16is752"; + reg = <2>; + clocks = <&clk20m>; + interrupt-parent = <&gpio3>; + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; + nxp,modem-control-line-ports = <0 1>; /* Ports 0 and 1 as modem control lines */ + }; From patchwork Fri Jun 2 15:26:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugo Villeneuve X-Patchwork-Id: 102617 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1116473vqr; Fri, 2 Jun 2023 08:36:56 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4ZehwbYcLcPpJDTp/z7wKuPPBXYXKSVfZawCOYQADrmn4482UDNTrb+W0e8r6B8fI/wr3l X-Received: by 2002:a17:90a:e396:b0:258:b676:59 with SMTP id b22-20020a17090ae39600b00258b6760059mr281735pjz.19.1685720216556; Fri, 02 Jun 2023 08:36:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685720216; cv=none; d=google.com; s=arc-20160816; b=KOV99V+mEPYaMXdoWgfpOHYYFN8OKclKv/0v4FoDLEF2RKhJ7oh9KmWM3ddhOWX1HY jdSi5OYKRPEVeyTAJX0cEZfdD4hhEKQW6+5sUhA4smMWe5iYkUdFka3Z6T9h0rRAFA/g 2ZNJTAUQC21P2AiK5IKiovkdKdzSEdm301N17BQ1jdSj1JrTxZo1pvm9+Pmo8gO10Rhu Y+xYEdPG4+525ZWYu9JJilQdTIYBnwk10Rrv2TMjiE9Lab/8yqcQo8sE+AnD3Lpz2b2h opEmp3lUijSfaZwEucheUAmisYUftLa3ywz5bh3nAEANZs+HnpvwugFwwls8OgF4YZda kBJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from:dkim-signature; bh=etX1eReG3B/ARZ7SD1XT7kh2ByzRv1fad++pPUx0hY4=; b=YHbky8E3cfIFxHpD3oVcdriE2wBokk2QGcseKd7LBV3vNmHGAC3AS2A1oZK4LS/9jp U6FqyAgVgYIX6EcUP3bu1VPwMIWN8zcCnoIsiJ2a0CCkUslQcy1Tex2AiKAGvXQHk3ty f+HbbX2c/TmJdJqG6KiMyTNme7N4RJ0SoGlTK9shY+2gdN+n3v9GrWSCx7Hrp3B+9rA5 2YyEnSKG3b1qFby8kxLP7hk7auRb+m7GgyaikEGAk/FEO+gzmfU5kbSPmcH/uE6MvjTm AfXWdmmqPGPoUhyrBnhKvA8ylEQw94agCAvwbGjb3EOtqZTGuFpldhb/TYHvqxPWyoer vcZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=JKL29oOd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id nd13-20020a17090b4ccd00b0025374850796si2929612pjb.176.2023.06.02.08.36.44; Fri, 02 Jun 2023 08:36:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=JKL29oOd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236632AbjFBP1W (ORCPT + 99 others); Fri, 2 Jun 2023 11:27:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41876 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236652AbjFBP0s (ORCPT ); Fri, 2 Jun 2023 11:26:48 -0400 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D47DE51; Fri, 2 Jun 2023 08:26:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=etX1eReG3B/ARZ7SD1XT7kh2ByzRv1fad++pPUx0hY4=; b=JKL29oOdYC2HW/+7FoZA0EUav8 4WzsQ3YrXmeLiyxhvFKxuW/zsOMZAIkrF+iiJsiqVFxk4208WxqIX4V9K18DvCstc7EY5JHGQv6/d pgc/LTkZ+FdpOpPWJqnKMht0WX7i5k8HAk1Svc4GChZyolDwbMm0eluMMBwAN1/paT/0=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:50948 helo=pettiford.lan) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from ) id 1q56fl-0008Hq-2s; Fri, 02 Jun 2023 11:26:38 -0400 From: Hugo Villeneuve To: gregkh@linuxfoundation.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jirislaby@kernel.org, jringle@gridpoint.com, tomasz.mon@camlingroup.com, l.perczak@camlintechnologies.com Cc: linux-serial@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, hugo@hugovil.com, linux-gpio@vger.kernel.org, Hugo Villeneuve , stable@vger.kernel.org, Andy Shevchenko Date: Fri, 2 Jun 2023 11:26:21 -0400 Message-Id: <20230602152626.284324-6-hugo@hugovil.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230602152626.284324-1-hugo@hugovil.com> References: <20230602152626.284324-1-hugo@hugovil.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH v7 5/9] serial: sc16is7xx: fix regression with GPIO configuration X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767605761427343395?= X-GMAIL-MSGID: =?utf-8?q?1767605761427343395?= From: Hugo Villeneuve Commit 679875d1d880 ("sc16is7xx: Separate GPIOs from modem control lines") and commit 21144bab4f11 ("sc16is7xx: Handle modem status lines") changed the function of the GPIOs pins to act as modem control lines without any possibility of selecting GPIO function. As a consequence, applications that depends on GPIO lines configured by default as GPIO pins no longer work as expected. Also, the change to select modem control lines function was done only for channel A of dual UART variants (752/762). This was not documented in the log message. Allow to specify GPIO or modem control line function in the device tree, and for each of the ports (A or B). Do so by using the new device-tree property named "modem-control-line-ports" (property added in separate patch). When registering GPIO chip controller, mask-out GPIO pins declared as modem control lines according to this new "modem-control-line-ports" DT property. Boards that need to have GPIOS configured as modem control lines should add that property to their device tree. Here is a list of boards using the sc16is7xx driver in their device tree and that may need to be modified: arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts mips/boot/dts/ingenic/cu1830-neo.dts mips/boot/dts/ingenic/cu1000-neo.dts Fixes: 679875d1d880 ("sc16is7xx: Separate GPIOs from modem control lines") Fixes: 21144bab4f11 ("sc16is7xx: Handle modem status lines") Cc: # 6.1.x: 35210b22 dt-bindings: sc16is7xx: Add property to change GPIO function Cc: # 6.1.x: 7d61ca47 serial: sc16is7xx: refactor GPIO controller registration Cc: # 6.1.x: 322470ed serial: sc16is7xx: mark IOCONTROL register as volatile Cc: # 6.1.x: a0077362 serial: sc16is7xx: fix broken port 0 uart init Cc: # 6.1.x Signed-off-by: Hugo Villeneuve Reviewed-by: Andy Shevchenko --- drivers/tty/serial/sc16is7xx.c | 103 ++++++++++++++++++++++++++------- 1 file changed, 82 insertions(+), 21 deletions(-) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 7d50674d2d0e..edc83f5f6340 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -236,7 +236,8 @@ /* IOControl register bits (Only 750/760) */ #define SC16IS7XX_IOCONTROL_LATCH_BIT (1 << 0) /* Enable input latching */ -#define SC16IS7XX_IOCONTROL_MODEM_BIT (1 << 1) /* Enable GPIO[7:4] as modem pins */ +#define SC16IS7XX_IOCONTROL_MODEM_A_BIT (1 << 1) /* Enable GPIO[7:4] as modem A pins */ +#define SC16IS7XX_IOCONTROL_MODEM_B_BIT (1 << 2) /* Enable GPIO[3:0] as modem B pins */ #define SC16IS7XX_IOCONTROL_SRESET_BIT (1 << 3) /* Software Reset */ /* EFCR register bits */ @@ -301,12 +302,12 @@ /* Misc definitions */ #define SC16IS7XX_FIFO_SIZE (64) #define SC16IS7XX_REG_SHIFT 2 +#define SC16IS7XX_GPIOS_PER_BANK 4 struct sc16is7xx_devtype { char name[10]; int nr_gpio; int nr_uart; - int has_mctrl; }; #define SC16IS7XX_RECONF_MD (1 << 0) @@ -336,6 +337,7 @@ struct sc16is7xx_port { struct clk *clk; #ifdef CONFIG_GPIOLIB struct gpio_chip gpio; + unsigned long gpio_valid_mask; #endif unsigned char buf[SC16IS7XX_FIFO_SIZE]; struct kthread_worker kworker; @@ -447,35 +449,30 @@ static const struct sc16is7xx_devtype sc16is74x_devtype = { .name = "SC16IS74X", .nr_gpio = 0, .nr_uart = 1, - .has_mctrl = 0, }; static const struct sc16is7xx_devtype sc16is750_devtype = { .name = "SC16IS750", - .nr_gpio = 4, + .nr_gpio = 8, .nr_uart = 1, - .has_mctrl = 1, }; static const struct sc16is7xx_devtype sc16is752_devtype = { .name = "SC16IS752", - .nr_gpio = 0, + .nr_gpio = 8, .nr_uart = 2, - .has_mctrl = 1, }; static const struct sc16is7xx_devtype sc16is760_devtype = { .name = "SC16IS760", - .nr_gpio = 4, + .nr_gpio = 8, .nr_uart = 1, - .has_mctrl = 1, }; static const struct sc16is7xx_devtype sc16is762_devtype = { .name = "SC16IS762", - .nr_gpio = 0, + .nr_gpio = 8, .nr_uart = 2, - .has_mctrl = 1, }; static bool sc16is7xx_regmap_volatile(struct device *dev, unsigned int reg) @@ -1350,16 +1347,45 @@ static int sc16is7xx_gpio_direction_output(struct gpio_chip *chip, return 0; } -static int sc16is7xx_setup_gpio_chip(struct device *dev) +static int sc16is7xx_gpio_init_valid_mask(struct gpio_chip *chip, + unsigned long *valid_mask, + unsigned int ngpios) +{ + struct sc16is7xx_port *s = gpiochip_get_data(chip); + + *valid_mask = s->gpio_valid_mask; + + return 0; +} + +static int sc16is7xx_setup_gpio_chip(struct device *dev, u8 mctrl_mask) { struct sc16is7xx_port *s = dev_get_drvdata(dev); if (!s->devtype->nr_gpio) return 0; + switch (mctrl_mask) { + case 0: + s->gpio_valid_mask = GENMASK(7, 0); + break; + case SC16IS7XX_IOCONTROL_MODEM_A_BIT: + s->gpio_valid_mask = GENMASK(3, 0); + break; + case SC16IS7XX_IOCONTROL_MODEM_B_BIT: + s->gpio_valid_mask = GENMASK(7, 4); + break; + default: + break; + } + + if (s->gpio_valid_mask == 0) + return 0; + s->gpio.owner = THIS_MODULE; s->gpio.parent = dev; s->gpio.label = dev_name(dev); + s->gpio.init_valid_mask = sc16is7xx_gpio_init_valid_mask; s->gpio.direction_input = sc16is7xx_gpio_direction_input; s->gpio.get = sc16is7xx_gpio_get; s->gpio.direction_output = sc16is7xx_gpio_direction_output; @@ -1371,6 +1397,44 @@ static int sc16is7xx_setup_gpio_chip(struct device *dev) } #endif +static u8 sc16is7xx_setup_mctrl_ports(struct device *dev) +{ + struct sc16is7xx_port *s = dev_get_drvdata(dev); + int i; + int ret; + int count; + u32 mctrl_port[2]; + u8 mctrl_mask; + + count = device_property_count_u32(dev, "nxp,modem-control-line-ports"); + if (count < 0 || count > ARRAY_SIZE(mctrl_port)) + return 0; + + ret = device_property_read_u32_array(dev, "nxp,modem-control-line-ports", + mctrl_port, count); + if (ret) + return 0; + + mctrl_mask = 0; + + for (i = 0; i < count; i++) { + /* Use GPIO lines as modem control lines */ + if (mctrl_port[i] == 0) + mctrl_mask |= SC16IS7XX_IOCONTROL_MODEM_A_BIT; + else if (mctrl_port[i] == 1) + mctrl_mask |= SC16IS7XX_IOCONTROL_MODEM_B_BIT; + } + + if (mctrl_mask) + regmap_update_bits( + s->regmap, + SC16IS7XX_IOCONTROL_REG << SC16IS7XX_REG_SHIFT, + SC16IS7XX_IOCONTROL_MODEM_A_BIT | + SC16IS7XX_IOCONTROL_MODEM_B_BIT, mctrl_mask); + + return mctrl_mask; +} + static const struct serial_rs485 sc16is7xx_rs485_supported = { .flags = SER_RS485_ENABLED | SER_RS485_RTS_AFTER_SEND, .delay_rts_before_send = 1, @@ -1383,6 +1447,7 @@ static int sc16is7xx_probe(struct device *dev, { unsigned long freq = 0, *pfreq = dev_get_platdata(dev); unsigned int val; + u8 mctrl_mask; u32 uartclk = 0; int i, ret; struct sc16is7xx_port *s; @@ -1478,12 +1543,6 @@ static int sc16is7xx_probe(struct device *dev, SC16IS7XX_EFCR_RXDISABLE_BIT | SC16IS7XX_EFCR_TXDISABLE_BIT); - /* Use GPIO lines as modem status registers */ - if (devtype->has_mctrl) - sc16is7xx_port_write(&s->p[i].port, - SC16IS7XX_IOCONTROL_REG, - SC16IS7XX_IOCONTROL_MODEM_BIT); - /* Initialize kthread work structs */ kthread_init_work(&s->p[i].tx_work, sc16is7xx_tx_proc); kthread_init_work(&s->p[i].reg_work, sc16is7xx_reg_proc); @@ -1521,8 +1580,10 @@ static int sc16is7xx_probe(struct device *dev, s->p[u].irda_mode = true; } + mctrl_mask = sc16is7xx_setup_mctrl_ports(dev); + #ifdef CONFIG_GPIOLIB - ret = sc16is7xx_setup_gpio_chip(dev); + ret = sc16is7xx_setup_gpio_chip(dev, mctrl_mask); if (ret) goto out_thread; #endif @@ -1547,7 +1608,7 @@ static int sc16is7xx_probe(struct device *dev, return 0; #ifdef CONFIG_GPIOLIB - if (devtype->nr_gpio) + if (s->gpio_valid_mask) gpiochip_remove(&s->gpio); out_thread: @@ -1573,7 +1634,7 @@ static void sc16is7xx_remove(struct device *dev) int i; #ifdef CONFIG_GPIOLIB - if (s->devtype->nr_gpio) + if (s->gpio_valid_mask) gpiochip_remove(&s->gpio); #endif From patchwork Fri Jun 2 15:26:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugo Villeneuve X-Patchwork-Id: 102620 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1117471vqr; Fri, 2 Jun 2023 08:38:26 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4ias4kSed2FHKmkbLBQzljy6xkZfkKiEuI/lwFSOjOg5bmg9mG3wcjJ2YMtbSSXxfGsUxE X-Received: by 2002:a17:903:2343:b0:1b0:3cda:635b with SMTP id c3-20020a170903234300b001b03cda635bmr565990plh.0.1685720306659; Fri, 02 Jun 2023 08:38:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685720306; cv=none; d=google.com; s=arc-20160816; b=t9rPPCnQQ5h/WM3BPWhP/9bKaNkcMOufBcjPM8l8W6JhPA440ajwYn2I+JQcn01JXS tHY7E468T3K0x7eZrGXI2NZ81l2BQAu87FpzEatqs3xKSzIW8/lVIkkomCBXJcxcpxCb xSsAsYC2onFcvRbiXjvm4tHDDqdo2fn63t3WERTttYxGHsUSR+lnuMCTTL+dUnd1goEh Iqr3fbI+zE2pjRMnSR1DzbY4qdi5JNOHIYeLYWvVYelxibimcoyu87Ees/IUyggF8u9Y kESOilkhFRODYgUd8qk5lftvwUc6cwjG7wCL0trChbJSpD2wtlSRRTBHdhC2NaP220JK 9hZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from:dkim-signature; bh=F+OtOza9kCclwmhBndBsNrgMCRnZz0z0MFxdqH7dsnQ=; b=zWCOjZlvnSd3Rh/OWhoxgjcT2buZhV5wGel+c1nCl6h2TVN90amVon2g8eWQcpGa95 9XOeGivr59ocFBmbPD8PoSnvZ3CTTG9EKWOsHASZPGSvUeoQHCXXkCIRrRxwrjW0LdZm qRpKv3UMkpErmdP607/1tjYdnS2j8kCPofSn/wLLxjJvo65bc7Ym0UqGQNqcPJkksUCV gMeC87tqfqScMe7FQg9npkLOQqMpL1mRKp478dAHih5XFex05WVdaP8xcB7JsqNkhjIi lH1OCHyUaEJ+FKzMUuOxqeeHJ4JTYFzdid+T1jYBzxl9rxBtlS/9EoU/3z8KIT6bAYET VPZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=zJmgaYlp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j9-20020a170903024900b001ae1bb70a41si1102248plh.168.2023.06.02.08.38.14; Fri, 02 Jun 2023 08:38:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=zJmgaYlp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236683AbjFBP07 (ORCPT + 99 others); Fri, 2 Jun 2023 11:26:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236632AbjFBP0p (ORCPT ); Fri, 2 Jun 2023 11:26:45 -0400 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 92F311B6; Fri, 2 Jun 2023 08:26:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=F+OtOza9kCclwmhBndBsNrgMCRnZz0z0MFxdqH7dsnQ=; b=zJmgaYlpdwTU6I6B4ustmc8ti2 hiH5vk/C3l4vp8Pdlz7lp+KTPAZkTqIURLJkpW5Us+KLge5jTwMiWfzgL7cxAQ3P18sWRi8zXDIgv cQfSWU3o6oTUn+kXVPSABtoiniVkNwoIMqGkuMC5lJ7v0EIV2EcIpCVofbmTFqtVgZeQ=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:50948 helo=pettiford.lan) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from ) id 1q56fn-0008Hq-8m; Fri, 02 Jun 2023 11:26:39 -0400 From: Hugo Villeneuve To: gregkh@linuxfoundation.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jirislaby@kernel.org, jringle@gridpoint.com, tomasz.mon@camlingroup.com, l.perczak@camlintechnologies.com Cc: linux-serial@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, hugo@hugovil.com, linux-gpio@vger.kernel.org, Hugo Villeneuve , stable@vger.kernel.org, Lech Perczak Date: Fri, 2 Jun 2023 11:26:22 -0400 Message-Id: <20230602152626.284324-7-hugo@hugovil.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230602152626.284324-1-hugo@hugovil.com> References: <20230602152626.284324-1-hugo@hugovil.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH v7 6/9] serial: sc16is7xx: fix bug when first setting GPIO direction X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767605855939317736?= X-GMAIL-MSGID: =?utf-8?q?1767605855939317736?= From: Hugo Villeneuve When configuring a pin as an output pin with a value of logic 0, we end up as having a value of logic 1 on the output pin. Setting a logic 0 a second time (or more) after that will correctly output a logic 0 on the output pin. By default, all GPIO pins are configured as inputs. When we enter sc16is7xx_gpio_direction_output() for the first time, we first set the desired value in IOSTATE, and then we configure the pin as an output. The datasheet states that writing to IOSTATE register will trigger a transfer of the value to the I/O pin configured as output, so if the pin is configured as an input, nothing will be transferred. Therefore, set the direction first in IODIR, and then set the desired value in IOSTATE. This is what is done in NXP application note AN10587. Fixes: dfeae619d781 ("serial: sc16is7xx") Cc: Signed-off-by: Hugo Villeneuve Reviewed-by: Lech Perczak Tested-by: Lech Perczak --- drivers/tty/serial/sc16is7xx.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index edc83f5f6340..7a9b91f0c710 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -1340,9 +1340,18 @@ static int sc16is7xx_gpio_direction_output(struct gpio_chip *chip, state |= BIT(offset); else state &= ~BIT(offset); - sc16is7xx_port_write(port, SC16IS7XX_IOSTATE_REG, state); + + /* + * If we write IOSTATE first, and then IODIR, the output value is not + * transferred to the corresponding I/O pin. + * The datasheet states that each register bit will be transferred to + * the corresponding I/O pin programmed as output when writing to + * IOSTATE. Therefore, configure direction first with IODIR, and then + * set value after with IOSTATE. + */ sc16is7xx_port_update(port, SC16IS7XX_IODIR_REG, BIT(offset), BIT(offset)); + sc16is7xx_port_write(port, SC16IS7XX_IOSTATE_REG, state); return 0; } From patchwork Fri Jun 2 15:26:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Hugo Villeneuve X-Patchwork-Id: 102619 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1116856vqr; Fri, 2 Jun 2023 08:37:29 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ41j97OirhDZ6FP9e5E1hETm0FLFVegTVjp/UGfUJ70DY+7cNrtdW1KSN/SsXboAk2eaHSs X-Received: by 2002:a17:902:ab59:b0:1aa:d235:6dd4 with SMTP id ij25-20020a170902ab5900b001aad2356dd4mr172414plb.19.1685720249429; Fri, 02 Jun 2023 08:37:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685720249; cv=none; d=google.com; s=arc-20160816; b=Peev/RJuTkzitLQ7KmE+XVNeypYAVateOxZze+N8zy8NqSTwTMWfTZfd3ss7ojI+Vc MzkmYW+ESdjVZxnTrXLeBgf6JFPGFECJDGiRk71GDFDnNqbVjkU3N9q5v3tHm52CSKtO KcDKc1zldFWuwHEZaaj5NoWmR0LHlDTspkfEjLIorpVXOwHjqso5uFY2lDzEeWwF+SrC L46In4GFnYMpv4nIbWcS5DFX6t0Ir5fX60q4EYkgOlnxm+7HXo+zAhpWCda04hMu8VhH 8cBTo6gTbUn8Wbj79rlJfNsA7gHh+9cde3Q48Nm98JvGFAHFg/86pD8MsRD9bOezsdGS /Zgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from:dkim-signature; bh=CszQL7eYvui36nayCd/uiEjw7JXAIliYcxjDYDSZAaU=; b=kdCjp5yx+9Vfo75NNJ5zMHI8iYg0rGXvpaGNumPaIBzlUCgkYQnYf0ENj/hCnu4rCC KIEIJTLtVMyR8h5Jp7DAYEgX52drf7SgMuKX2q8Cjfl0C05vNGhfY8IkcLXDaYHJSOPd iJUwukhhzZMW9NH/wQRSV90ZnkUVjb3Df58BDwduYdIJo1AszI8r1Fqu92qQ3s+CP4pn UJIVKJqdphUR1nN9LIQWRVO2gklPW1lg/TBvAwdKk/4caFTPBobQQBQ72Yz0SVG9pHsD 9Wn1wkc972s3ZsSO27eKzAEbzATKXWIo1IvpalIViGauRkUyPW9ezk9AH721MFf/n6bD 2aeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=rEapo3bm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y4-20020a17090322c400b001ae5e5c275asi1062121plg.364.2023.06.02.08.37.17; Fri, 02 Jun 2023 08:37:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=rEapo3bm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236734AbjFBP1P (ORCPT + 99 others); Fri, 2 Jun 2023 11:27:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41922 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236644AbjFBP0r (ORCPT ); Fri, 2 Jun 2023 11:26:47 -0400 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F06DD18D; Fri, 2 Jun 2023 08:26:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:Content-Type:MIME-Version: References:In-Reply-To:Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=CszQL7eYvui36nayCd/uiEjw7JXAIliYcxjDYDSZAaU=; b=rEapo3bmJH3C3qHlVJEvbN/lFZ OgUuiuXkHGMrVTlcc2PVoBuosNExmQNtKjLYiqk7GUEKt4O8k1jGdvLlNd+ibNCiSLGSd3dEdkJiO T14Okn9uc/QT5U/AGa4D2TRJq9L95xf5K6zfXEf7mTW6JARsNs+pqmpCvQmIdBRLjpEU=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:50948 helo=pettiford.lan) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from ) id 1q56fo-0008Hq-Hw; Fri, 02 Jun 2023 11:26:41 -0400 From: Hugo Villeneuve To: gregkh@linuxfoundation.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jirislaby@kernel.org, jringle@gridpoint.com, tomasz.mon@camlingroup.com, l.perczak@camlintechnologies.com Cc: linux-serial@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, hugo@hugovil.com, linux-gpio@vger.kernel.org, Hugo Villeneuve , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Lech Perczak Date: Fri, 2 Jun 2023 11:26:23 -0400 Message-Id: <20230602152626.284324-8-hugo@hugovil.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230602152626.284324-1-hugo@hugovil.com> References: <20230602152626.284324-1-hugo@hugovil.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH v7 7/9] serial: sc16is7xx: add call to get rs485 DT flags and properties X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767605796235368293?= X-GMAIL-MSGID: =?utf-8?q?1767605796235368293?= From: Hugo Villeneuve Add call to uart_get_rs485_mode() to probe for RS485 flags and properties from device tree. Signed-off-by: Hugo Villeneuve Reviewed-by: Ilpo Järvinen Reviewed-by: Lech Perczak Tested-by: Lech Perczak --- drivers/tty/serial/sc16is7xx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 7a9b91f0c710..9eef7fcd8863 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -1545,6 +1545,10 @@ static int sc16is7xx_probe(struct device *dev, goto out_ports; } + ret = uart_get_rs485_mode(&s->p[i].port); + if (ret) + goto out_ports; + /* Disable all interrupts */ sc16is7xx_port_write(&s->p[i].port, SC16IS7XX_IER_REG, 0); /* Disable TX/RX */ From patchwork Fri Jun 2 15:26:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugo Villeneuve X-Patchwork-Id: 102623 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1118084vqr; Fri, 2 Jun 2023 08:39:26 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6D/aV7gLb1+LSkgWNDFpd0OTY0wU1+XSyIA0KGTrcEzkTVIvCxZ5yCLUBFsF/3WgVLOA00 X-Received: by 2002:a05:6358:3a19:b0:127:c640:5c05 with SMTP id g25-20020a0563583a1900b00127c6405c05mr7817434rwe.13.1685720366416; Fri, 02 Jun 2023 08:39:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685720366; cv=none; d=google.com; s=arc-20160816; b=r4/XVWiMTJg3YGjhXW3UYC7cGj6IK0HvRe2pPePf3ueaHzm5KEupW4t/zgTm4on10O jWZl2v4pRcE3ZyLR/pe8bxSVIPLT/fznYsf7FHpTx3DKAShXpuopnTaPX3OTnDy0FQmj xD+G+G3y3h8Jzx14xM6wQE+pNaUxTIaB0OZIByWgsIVZenKNmRqU2OLlxx6VB7zo/mNf gtbdi7iccufeWL9gw6qQvsZ9wA3c8ART+6wyrjq2vRrm2UTi30DQYX0vgH99fmwbIbNk A4Y6UhNCnqUuQa0jnCanOf9PHQDn+Mc8k1atbx/gW0U8dtjHnSCJ5RNjZlOlUMuWQaEG aw5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from:dkim-signature; bh=3T6UXLK3EsXDF6+uvRiO5BPvcjJvRpCunMRH973U/yc=; b=Suqfor9i3V5CvpNkWNeu3Cpt9h/fuvixZt/RYHMXz8eyAT4gysagHlUAJ+V50OASvy r3Wz+WJDodkAdvcQlYEdpDB4D9/ShX3qzvjLC0qDJFRUmajNiVcnv8qvBxTsPXHnnmw/ jR18Ce+rURRCYXMsJltQM+SZ9yxM6Ig6SUu6SqBj9dqRMEkByYcdn7eGJaGSBLgNzTNL 51rUDsPIAEowNP/1uW9amXKqk0JBsVojnEx9cNuV8QzbALA9dWBSYLZgAIXeef0x8L8w ShI+wrb0lTQ17EIa50LNn2bLNpXpH2MaQzPAK0q9Id8hEoNx94R4Y7JBdKYtxqkTjsh0 ocew== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=IWbv5cJr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ot5-20020a17090b3b4500b0024df0aab0e2si1281016pjb.8.2023.06.02.08.39.14; Fri, 02 Jun 2023 08:39:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=IWbv5cJr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236642AbjFBP1S (ORCPT + 99 others); Fri, 2 Jun 2023 11:27:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236645AbjFBP0s (ORCPT ); Fri, 2 Jun 2023 11:26:48 -0400 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 25B301B7; Fri, 2 Jun 2023 08:26:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=3T6UXLK3EsXDF6+uvRiO5BPvcjJvRpCunMRH973U/yc=; b=IWbv5cJrEbvgdh9mUvH5bINuFD 2oHO1BEH+LOzjgWhDXigNyh3JmOtiO2697y3ULeIG5DrsRN6C+atDqvKThX7BUIpf/CdYyV18/u9H ClObCmJZ2RaGZfDsVsNDe+nA62TKqtoXF2RHhswEFbn6jEjYFmTaymZ6Oal8jDPqcNmQ=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:50948 helo=pettiford.lan) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from ) id 1q56fp-0008Hq-Os; Fri, 02 Jun 2023 11:26:42 -0400 From: Hugo Villeneuve To: gregkh@linuxfoundation.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jirislaby@kernel.org, jringle@gridpoint.com, tomasz.mon@camlingroup.com, l.perczak@camlintechnologies.com Cc: linux-serial@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, hugo@hugovil.com, linux-gpio@vger.kernel.org, Hugo Villeneuve , Lech Perczak Date: Fri, 2 Jun 2023 11:26:24 -0400 Message-Id: <20230602152626.284324-9-hugo@hugovil.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230602152626.284324-1-hugo@hugovil.com> References: <20230602152626.284324-1-hugo@hugovil.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH v7 8/9] serial: sc16is7xx: add post reset delay X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767605918684975276?= X-GMAIL-MSGID: =?utf-8?q?1767605918684975276?= From: Hugo Villeneuve Make sure we wait at least 3us before initiating communication with the device after reset. Signed-off-by: Hugo Villeneuve Reviewed-by: Lech Perczak Tested-by: Lech Perczak --- drivers/tty/serial/sc16is7xx.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 9eef7fcd8863..6a8d594a90c8 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -1522,6 +1522,12 @@ static int sc16is7xx_probe(struct device *dev, regmap_write(s->regmap, SC16IS7XX_IOCONTROL_REG << SC16IS7XX_REG_SHIFT, SC16IS7XX_IOCONTROL_SRESET_BIT); + /* + * After reset, the host must wait at least 3us before initializing a + * communication with the device. + */ + usleep_range(5, 10); + for (i = 0; i < devtype->nr_uart; ++i) { s->p[i].line = i; /* Initialize port data */ From patchwork Fri Jun 2 15:26:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hugo Villeneuve X-Patchwork-Id: 102610 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1114012vqr; Fri, 2 Jun 2023 08:33:13 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ79lXk7KbYSJhaZPyiGt1FOSERunswRHUELyrlCxA5kQnqipPTwMnsza3xiJ5AbfyN0V8OS X-Received: by 2002:a17:90a:41:b0:246:9c75:351a with SMTP id 1-20020a17090a004100b002469c75351amr176338pjb.12.1685719993140; Fri, 02 Jun 2023 08:33:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685719993; cv=none; d=google.com; s=arc-20160816; b=vBqZMLAOQ8VuN2msG1cCbbuOb0gd4u2leb+sb6kINb1aDvqWNyONJFoBJ0KQBntGxU Pu6jgsbpvN3uC9SqQJTTO51aN3ptS4KwJm484mScw42gL/xv6SzdW1TLEMgdnIaWZOH2 CQSry1/XVd2+zHpSQSh4gefX+yvDC5lQ7hO9Sn952F11bIT1NtoHUISHkDE+GaFIw6qC F/Pwjr/HcKj7oKnN5zprFFSd6EQu/8RMc05I9mQUi8J7+UGi+TFyPTJHm3R3sbvB6Irk kwK1aqtSKgiaLSBW0BZBtj9HYOObkzVqGhh9mUhABycWvbXNAsYPzwgddiFoa8yULnGv nYRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from:dkim-signature; bh=LSPzUrj24OeoMmKs7T5Fwr30B3kGDkk3V6m6gcNeguU=; b=ec+lgnpi7RjTgYUQqrCpqItEFyDBxczzsIxpzR4g4P/INhq746COJbNyIl+DBV0pEh cCUvs3iP28ZA28kOSpWsGK+TbfZJZOELclejX+ZXncCOLGBBk+F4aJ/+EChkfJ44PH32 VM/4HLUTEQVkODsGfagheDxiKNfyq5DIgyk/hG7cv04PMYg6r1uoU2J5PB30hhGk1sAW 4I0+3tMf/MW2wdM1REgXlZ4zUQDC0Tgtt4fEtiE5xKZZxvJoHRuUeK0NL5PxLZX0SBdi yhQiATcGFk+F9fW0qE0mmDYAtvs3X5LcyplXAuqqMfEIy9Ktn6rt82ai2xbGVRvx/g7w WmvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=YVEAW44a; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ot5-20020a17090b3b4500b0024df0aab0e2si1281016pjb.8.2023.06.02.08.33.00; Fri, 02 Jun 2023 08:33:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@hugovil.com header.s=x header.b=YVEAW44a; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236688AbjFBP1Z (ORCPT + 99 others); Fri, 2 Jun 2023 11:27:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41968 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236654AbjFBP0s (ORCPT ); Fri, 2 Jun 2023 11:26:48 -0400 Received: from mail.hugovil.com (mail.hugovil.com [162.243.120.170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C8145E53; Fri, 2 Jun 2023 08:26:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hugovil.com ; s=x; h=Subject:Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=LSPzUrj24OeoMmKs7T5Fwr30B3kGDkk3V6m6gcNeguU=; b=YVEAW44arLTlr2B77jk6TS3Fq5 8nKMZkNbBjQqC7QaFIVrE5K9gtrP4tyb5HCzBF5iwt0BMGWmMemuwXi4eOL92P2tIQB2eRvdMDuaU 1ejgbafcbM/+bHc7+J/Mbw5bVIM6OBjL2ChLYOenZMn6c9GMDgLuajq991XAPashJ8ok=; Received: from modemcable168.174-80-70.mc.videotron.ca ([70.80.174.168]:50948 helo=pettiford.lan) by mail.hugovil.com with esmtpa (Exim 4.92) (envelope-from ) id 1q56fr-0008Hq-1A; Fri, 02 Jun 2023 11:26:43 -0400 From: Hugo Villeneuve To: gregkh@linuxfoundation.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, jirislaby@kernel.org, jringle@gridpoint.com, tomasz.mon@camlingroup.com, l.perczak@camlintechnologies.com Cc: linux-serial@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, hugo@hugovil.com, linux-gpio@vger.kernel.org, Hugo Villeneuve , Lech Perczak Date: Fri, 2 Jun 2023 11:26:25 -0400 Message-Id: <20230602152626.284324-10-hugo@hugovil.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230602152626.284324-1-hugo@hugovil.com> References: <20230602152626.284324-1-hugo@hugovil.com> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 70.80.174.168 X-SA-Exim-Mail-From: hugo@hugovil.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH v7 9/9] serial: sc16is7xx: improve comments about variants X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.hugovil.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1767605527425990275?= X-GMAIL-MSGID: =?utf-8?q?1767605527425990275?= From: Hugo Villeneuve Replace 740/750/760 with generic terms like 74x/75x/76x to account for variants like 741, 752 and 762. Signed-off-by: Hugo Villeneuve Reviewed-by: Lech Perczak --- drivers/tty/serial/sc16is7xx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 6a8d594a90c8..a085f9894b35 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -223,7 +223,7 @@ * trigger levels. Trigger levels from 4 characters to 60 characters are * available with a granularity of four. * - * When the trigger level setting in TLR is zero, the SC16IS740/750/760 uses the + * When the trigger level setting in TLR is zero, the SC16IS74x/75x/76x uses the * trigger level setting defined in FCR. If TLR has non-zero trigger level value * the trigger level defined in FCR is discarded. This applies to both transmit * FIFO and receive FIFO trigger level setting. @@ -234,7 +234,7 @@ #define SC16IS7XX_TLR_TX_TRIGGER(words) ((((words) / 4) & 0x0f) << 0) #define SC16IS7XX_TLR_RX_TRIGGER(words) ((((words) / 4) & 0x0f) << 4) -/* IOControl register bits (Only 750/760) */ +/* IOControl register bits (Only 75x/76x) */ #define SC16IS7XX_IOCONTROL_LATCH_BIT (1 << 0) /* Enable input latching */ #define SC16IS7XX_IOCONTROL_MODEM_A_BIT (1 << 1) /* Enable GPIO[7:4] as modem A pins */ #define SC16IS7XX_IOCONTROL_MODEM_B_BIT (1 << 2) /* Enable GPIO[3:0] as modem B pins */ @@ -249,9 +249,9 @@ #define SC16IS7XX_EFCR_RTS_INVERT_BIT (1 << 5) /* RTS output inversion */ #define SC16IS7XX_EFCR_IRDA_MODE_BIT (1 << 7) /* IrDA mode * 0 = rate upto 115.2 kbit/s - * - Only 750/760 + * - Only 75x/76x * 1 = rate upto 1.152 Mbit/s - * - Only 760 + * - Only 76x */ /* EFR register bits */