Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp1362428lqt; Sat, 20 Apr 2024 11:29:07 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUzEIwgVzlgc5ym7Hy5OkjShP0WOAqpCJ1QUcIg0XIETQCgeFHYuNlCB3awmiLfV8b200rwn7WRmMWjSTbM0gHaYMI4d8I1H3XaReQy0A== X-Google-Smtp-Source: AGHT+IGga6DBkuuW2DltKXMqK2S7QjmIgwYL92Kgix9/m56CojHV/+MJL/F+sa6o/Y4Az5mNi1FA X-Received: by 2002:a05:6a00:188e:b0:6ec:ff28:df5 with SMTP id x14-20020a056a00188e00b006ecff280df5mr7456806pfh.27.1713637746918; Sat, 20 Apr 2024 11:29:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713637746; cv=pass; d=google.com; s=arc-20160816; b=Bompn8iQrbg53FEqoQ0RkyxwaDzgWqMF4KQrnbH4Q3zxTCidylqHZtrIOmI+WSDA/J H6UgXr3RRJvaoIn7JDWNMmjb7LAvQTynFyISgOCLWfejutVi2/IuRucE3LXz1kFI4+DF ma0Bdnw89hTEKEVUa8VnnJuVWOp8EjQyFd99lVV4AP7JK67wtVqAR3JeqAlb6deDe1yr wx6GQ9b9D5CZE4EEAbwMiOAarUaqxjKZ7HqoYM1rztqcS7+WKKbFNWQmEShznA5IbU0b Dw3Y2qpe7u2MkaijeKx5jAPUmImlPLHQzMjzAKMibE6HDhmiSBNkNgARiCbvNA8oatV8 otKw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=33UBdqcP595C65pAcKcIwfasCnlVAcHEBUGywhm9LCg=; fh=ftk+pG97tSUknesSmdfwb/pWNx6WF2IifUbJmgTUEVk=; b=0EWUrfzRJvIIHVF5DKprcFsko7gDFI3/sebRGCj0VgckP5dvtHm41qxNrfWgdwy4ll /DkMQsqMzV8kpBrmc4QMkKWXWcMvRqlmu1aKWjvngduBQVmoINblGeESBLM2gzfotBj5 qbQrk5gNgJyq1Na3K3rNBsVPwRCv36hYRFrmwPQwi4APBkywFsIWBDXf5r34yNQhC53C VpKJRtYccq7mM2t7k0FYz/VAzf/r+k4D3EiWh/qRGX2R1iw/P3ItQC6TFA0tx+kzow7a g6vT0T0P2fhYCdJVPDyfWef6/VtT8kQnTTti3h6EaXGAuuoX81WzLlwDSjECv4IKDRwT RSbw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@ya.ru header.s=mail header.b=Vbkthjpq; arc=pass (i=1 spf=pass spfdomain=ya.ru dkim=pass dkdomain=ya.ru dmarc=pass fromdomain=ya.ru); spf=pass (google.com: domain of linux-kernel+bounces-152347-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-152347-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ya.ru Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id r62-20020a632b41000000b005d8b7053276si5133017pgr.160.2024.04.20.11.29.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Apr 2024 11:29:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-152347-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@ya.ru header.s=mail header.b=Vbkthjpq; arc=pass (i=1 spf=pass spfdomain=ya.ru dkim=pass dkdomain=ya.ru dmarc=pass fromdomain=ya.ru); spf=pass (google.com: domain of linux-kernel+bounces-152347-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-152347-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ya.ru Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id AA122B20CEC for ; Sat, 20 Apr 2024 18:29:02 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D13523D96A; Sat, 20 Apr 2024 18:28:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ya.ru header.i=@ya.ru header.b="Vbkthjpq" Received: from forward200a.mail.yandex.net (forward200a.mail.yandex.net [178.154.239.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58A0E625; Sat, 20 Apr 2024 18:28:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=178.154.239.93 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713637732; cv=none; b=ptq2mb3YTWbxmUq8jRaWWkwU8mFlnVoNLYRUgxyfFlRp0poQm4cIHIPMh3fpaV/H6eSF5PTq7KbrC2IWuGy27NVqFA0R+i9844uNabQdxoLgQRDU/BBddzb7YuKi0vuyP5IKk3EGk/uSGL98jKYKe1vf96pmlbmoYv9u7rjjozk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713637732; c=relaxed/simple; bh=pG4Ijf8DkiaTFtOBiAhASDucruDum0mw3xKepkVYn/M=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=modIm82Mv6NUz/a6zOBjwIpiIKVX7QO9XAHQ4PMDjblQUxlP/u4V74aP8Xlp5QvMovQdYi+UA3LZGrtAsP1cKd99huR0MzoZ56OrdhYVGKFtHEz6ZjGVwaW7yUxsuSk+4FwA9r1L0yMc+N6xtGvXxzDjgEyrasTSQk1rntQooJc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ya.ru; spf=pass smtp.mailfrom=ya.ru; dkim=pass (1024-bit key) header.d=ya.ru header.i=@ya.ru header.b=Vbkthjpq; arc=none smtp.client-ip=178.154.239.93 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ya.ru Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ya.ru Received: from forward102a.mail.yandex.net (forward102a.mail.yandex.net [IPv6:2a02:6b8:c0e:500:1:45:d181:d102]) by forward200a.mail.yandex.net (Yandex) with ESMTPS id 2F94F60E19; Sat, 20 Apr 2024 21:22:45 +0300 (MSK) Received: from mail-nwsmtp-smtp-production-main-31.vla.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-31.vla.yp-c.yandex.net [IPv6:2a02:6b8:c0f:60f:0:640:4965:0]) by forward102a.mail.yandex.net (Yandex) with ESMTPS id C6228608C5; Sat, 20 Apr 2024 21:22:36 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-31.vla.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id WMMqk3Bj1a60-PZk3C2Iw; Sat, 20 Apr 2024 21:22:35 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ya.ru; s=mail; t=1713637355; bh=33UBdqcP595C65pAcKcIwfasCnlVAcHEBUGywhm9LCg=; h=Message-ID:Date:Cc:Subject:To:From; b=Vbkthjpq0c4ZNdGFi+nMlqd5l9VrF/4hr891vpFHcl+xummAryxmp4YwDFUaYwVO2 k8IStj0vxvSiDRCsPPj312LnN1GtWCBYioySegoGcaUqLEkEW/kj35rmDpPV8cBwcg K2Dbt+WoiZJ39KGG7TMlFV8yycX9MktdMj6bHGdg= Authentication-Results: mail-nwsmtp-smtp-production-main-31.vla.yp-c.yandex.net; dkim=pass header.i=@ya.ru From: Konstantin Pugin To: Cc: krzk@kernel.org, conor@kernel.org, lkp@intel.com, vz@mleia.com, robh@kernel.org, jcmvbkbc@gmail.com, nicolas.ferre@microchip.com, manikanta.guntupalli@amd.com, corbet@lwn.net, ychuang3@nuvoton.com, u.kleine-koenig@pengutronix.de, Maarten.Brock@sttls.nl, Konstantin Pugin , Greg Kroah-Hartman , Jiri Slaby , Hugo Villeneuve , Andy Shevchenko , Lech Perczak , =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org Subject: [PATCH v5 0/3] add support for EXAR XR20M1172 UAR Date: Sat, 20 Apr 2024 21:22:03 +0300 Message-ID: <20240420182223.1153195-1-rilian.la.te@ya.ru> X-Mailer: git-send-email 2.44.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Konstantin Pugin EXAR XR20M1172 UART is mostly SC16IS762-compatible, but it has additional register which can change UART multiplier to 4x and 8x, similar to UPF_MAGIC_MULTIPLIER does. So, I used this flag to guard access to its specific DLD register. It seems than other EXAR SPI UART modules also have this register, but I tested only XR20M1172. Yes, in datasheet this register is called "DLD - Divisor Fractional" or "DLD - Divisor Fractional Register", calling depends on datasheet version. I am sorry about too many submissions and top post reply. About second - I do not know how to reply properly to this ML from GMail phone app. About first - I just get very good feedback from Andy Shevchenko, and want to fix his review picks ASAP. Changes in v2: - use full name in git authorship Changes in v3: - change formatting of commit messages to unify width - rework commit messages according to code review - add XR20M117X namespace for EXAR-specific register - do not use UPF_MAGIC_MULTIPLIER for checking EXAR chip, use s->devtype directly - replace while loop to fls function and expanded check - sort compatibles - reformat multiline comment. Changes in v4: - rebase onto tty-next branch - added Kconfig mention of the chip - used rounddown_power_of_two instead of fls and manual shift - used FIELD_PREP instead of custom macro - removed has_dld bit from common struct, replaced by check function, which checks directly by s->devtype - fixed tab count - properly apply Vladimir Zapolskiy's tag to patch 2 only Changes in v5: - fixes for tty-next branch - address a new code review picks - send properly to all participants - added Ack tag Konstantin Pugin (3): serial: sc16is7xx: announce support of SER_RS485_RTS_ON_SEND dt-bindings: sc16is7xx: Add compatible line for XR20M1172 UART serial: sc16is7xx: add support for EXAR XR20M1172 UART .../bindings/serial/nxp,sc16is7xx.yaml | 1 + drivers/tty/serial/Kconfig | 18 +++--- drivers/tty/serial/sc16is7xx.c | 62 +++++++++++++++++-- drivers/tty/serial/sc16is7xx.h | 1 + drivers/tty/serial/sc16is7xx_i2c.c | 1 + drivers/tty/serial/sc16is7xx_spi.c | 1 + 6 files changed, 71 insertions(+), 13 deletions(-) base-commit: f70f95b485d78838ad28dbec804b986d11ad7bb0 -- 2.44.0