From patchwork Tue Feb 4 17:28:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivaylo Ivanov X-Patchwork-Id: 13959476 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 68C61C02193 for ; Tue, 4 Feb 2025 17:32:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=AATmeIywhPXpmS9/RGfjUbh+83T1nTe0P9ZqfpWyPjs=; b=eNaIVDjfehS/9WlCQBn4W1jiPx Pp7PPz78YS9sWe1Dl7fK3qhmzdkgjpx/m35BBfgOeDtx3WHk8N+0c5igHrLem4ryEq1vnSkvgLldW C/Yz2Zzcq8VASd6nxtwWsD6FtXLM766DhHXSSJpALwy8uRbVncAB+o0Hmgnl18T322kRrTXKp8lrI s7Mo0ajLIhE7Gr2AGt8NgylQp1or2e9s+jy0WLPy5cUew2IrpgWw5sy1pjoQNTagftrTFxKCD0nzC cAfxsbBL4sjYohWyZufE4uHAkxWanH/Yk7WjyWbuGSc1EVWF9YbdXZzzouQHvRBQ1r/anktTiyXjp 9q1lf0qQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tfMm4-000000016If-3u4M; Tue, 04 Feb 2025 17:31:48 +0000 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tfMjS-000000015tr-3ce4 for linux-arm-kernel@lists.infradead.org; Tue, 04 Feb 2025 17:29:07 +0000 Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-5dccc90a52eso1310766a12.0 for ; Tue, 04 Feb 2025 09:29:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738690145; x=1739294945; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AATmeIywhPXpmS9/RGfjUbh+83T1nTe0P9ZqfpWyPjs=; b=Brq9rIPLoO6I2jo5ONIv7XiH0qGhksx8giU/PCFtHt06xdFh1zphrmFE+Yddzf3Kr7 m19sHXIzn9ERBNJVhbM1zzU/vnqLugGfBSUinUy1QWiJk71zHMZEGYdKwoZ6+JM6TaI8 nsorPf0v/pu3YJLpHGRvclG3zj1LlO85I98oyBtJvYSxDoXu+mXrPSfZRBRYj0W02oOa CzPFCbHJR6CIzBY0MwH63W09y40f4SahUzkVTcgR8Q4ixJSA/g2W3BC4IenoymJja0QN AIIT1WfCkNM2cN4zb+zpnY5p6I3hQ5OGqu3eQr1IA8pbqTMLnmUgizIzh77DDASWNV8x DlyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738690145; x=1739294945; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AATmeIywhPXpmS9/RGfjUbh+83T1nTe0P9ZqfpWyPjs=; b=s64myb91NUPCYWrPgumF7L1y9KuI5hzih9zVqYl/VCEQEXHhB9OUCl0gUSAeSlPPca 81+CXqidxE9ChUJnSalwU34mkZ7HFnO0mVhGDRkYqiAj+XNxOv6WqAAKqGzrHq44UKZX jk/ALW+tebfmeSXmDmrSVrFkkIGaHfxRQuitopkUNiB+vWQHHzIb4Jvj1z2yxvAWKrZL 6e6F8acBX7rjVo/7Cs5dH+iXw/QO/3XyMIFC9mpFq8rk0L/V3XF+LGkUavRGOjpNa1V8 ikz4H6jaoOCt8qfyWezNncFV1eOipqJYBcKMy8p/gWR5kV69YUGVu0iL3u7CjGnTS/cS nX2Q== X-Forwarded-Encrypted: i=1; AJvYcCVBNWlLxZIRFYyOb3nCeWkh75E+QSU/nPC3NND80bnzqIlhSakHd61oQ3c6uYCG0EwU8tIM1TIBBBSI6X7HcqbO@lists.infradead.org X-Gm-Message-State: AOJu0Yw9SohpOMjyGvvxPzSjmpoS/Tk1dRQ/zkG9495RF/Ap7FPWb0w4 BR00fkJhB+EsajaIV6RD/lzm3uwO5635WXngWiLqnLQnYKSq6EkF X-Gm-Gg: ASbGncvbZHkhtFqO7fcHM5FtBf0DEgaP+yEc4eZ6EzR2CqDVM22mRehWqKCh8MHrib4 8+4GqCCZF2joqDcrqlhb5a0hWCrPvSekGnzsMYOQ3f/NqnEc8MJ9qdKQJR6iLTI0CrvlO9es5r7 h+H75//JrGHg0A9uf6MuTSJTbACHLRg3tsIyFc5Frn8kJeqeMn7UbaboV58oSaW7KPjHADusjvm rGO9WFGQ7DQDzVmgUQKQ63WTXiRtZ+MDitpYKQpMSjgv6wJGfEl8IyugEoOyiIXjNp/D6qNl2kl OS8EeY/6esZYx63pSoCsTUy+wGj2ddlO1CrSvVmd3d+6B3ROFmVz+YztPxrMHn21vN4= X-Google-Smtp-Source: AGHT+IGrzVxahP7DJr8b9Lq1TbMOwGVsIuh1CHgdVq3igCl7cQiGRsBdPj1QOc6BEt4QbwZNmPprjw== X-Received: by 2002:a05:6402:3585:b0:5dc:cc90:a384 with SMTP id 4fb4d7f45d1cf-5dccc90a699mr2303236a12.22.1738690144629; Tue, 04 Feb 2025 09:29:04 -0800 (PST) Received: from ivaylo-T580.. (91-139-201-119.stz.ddns.bulsat.com. [91.139.201.119]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5dcd3156ec7sm664981a12.67.2025.02.04.09.29.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:29:04 -0800 (PST) From: Ivaylo Ivanov To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Sam Protsenko , Peter Griffin Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 1/4] dt-bindings: soc: samsung: usi: add USIv1 and samsung,exynos8895-usi Date: Tue, 4 Feb 2025 19:28:00 +0200 Message-ID: <20250204172803.3425496-2-ivo.ivanov.ivanov1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250204172803.3425496-1-ivo.ivanov.ivanov1@gmail.com> References: <20250204172803.3425496-1-ivo.ivanov.ivanov1@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250204_092906_905707_B20F12D6 X-CRM114-Status: GOOD ( 21.34 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add new constants for choosing the additional USIv1 configuration modes in device tree. Those are further used in the USI driver to figure out which value to write into SW_CONF register. Modify the current USI IP-core bindings to include information about USIv1 and a compatible for exynos8895. In the original bindings commit, protocol mode definitions were named with the version of the supported USI (in this case, V2) with the idea of leaving enough room in the future for other versions of this block. This, however, is not how the modes should be modelled. The modes are not version specific and you should not be able to tell USI which version of a mode to use - that has to be handled in the driver - thus encoding this information in the binding is meaningless. Only one constant per mode is needed, so while we're at it, add new constants with the prefix USI_MODE and mark the old ones as depracated. Signed-off-by: Ivaylo Ivanov Reviewed-by: Krzysztof Kozlowski --- .../bindings/soc/samsung/exynos-usi.yaml | 99 ++++++++++++------- include/dt-bindings/soc/samsung,exynos-usi.h | 17 +++- 2 files changed, 79 insertions(+), 37 deletions(-) diff --git a/Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml b/Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml index 5b046932f..f711e23c0 100644 --- a/Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml +++ b/Documentation/devicetree/bindings/soc/samsung/exynos-usi.yaml @@ -11,11 +11,21 @@ maintainers: - Krzysztof Kozlowski description: | - USI IP-core provides selectable serial protocol (UART, SPI or High-Speed I2C). - USI shares almost all internal circuits within each protocol, so only one - protocol can be chosen at a time. USI is modeled as a node with zero or more - child nodes, each representing a serial sub-node device. The mode setting - selects which particular function will be used. + The USI IP-core provides configurable support for serial protocols, enabling + different serial communication modes depending on the version. + + In USIv1, configurations are available to enable either one or two protocols + simultaneously in select combinations - High-Speed I2C0, High-Speed + I2C1, SPI, UART, High-Speed I2C0 and I2C1 or both High-Speed + I2C1 and UART. + + In USIv2, only one protocol can be active at a time, either UART, SPI, or + High-Speed I2C. + + The USI core shares internal circuits across protocols, meaning only the + selected configuration is active at any given time. USI is modeled as a node + with zero or more child nodes, each representing a serial sub-node device. The + mode setting selects which particular function will be used. properties: $nodename: @@ -31,6 +41,7 @@ properties: - const: samsung,exynos850-usi - enum: - samsung,exynos850-usi + - samsung,exynos8895-usi reg: maxItems: 1 @@ -64,7 +75,7 @@ properties: samsung,mode: $ref: /schemas/types.yaml#/definitions/uint32 - enum: [0, 1, 2, 3] + enum: [0, 1, 2, 3, 4, 5, 6] description: Selects USI function (which serial protocol to use). Refer to for valid USI mode values. @@ -101,37 +112,59 @@ required: - samsung,sysreg - samsung,mode -if: - properties: - compatible: - contains: - enum: - - samsung,exynos850-usi +allOf: + - if: + properties: + compatible: + contains: + enum: + - samsung,exynos850-usi + + then: + properties: + reg: + maxItems: 1 + + clocks: + items: + - description: Bus (APB) clock + - description: Operating clock for UART/SPI/I2C protocol + + clock-names: + maxItems: 2 + + samsung,mode: + enum: [0, 1, 2, 3] + + required: + - reg + - clocks + - clock-names + + - if: + properties: + compatible: + contains: + enum: + - samsung,exynos8895-usi -then: - properties: - reg: - maxItems: 1 + then: + properties: + reg: false - clocks: - items: - - description: Bus (APB) clock - - description: Operating clock for UART/SPI/I2C protocol + clocks: + items: + - description: Bus (APB) clock + - description: Operating clock for UART/SPI protocol - clock-names: - maxItems: 2 + clock-names: + maxItems: 2 - required: - - reg - - clocks - - clock-names + samsung,clkreq-on: false -else: - properties: - reg: false - clocks: false - clock-names: false - samsung,clkreq-on: false + required: + - clocks + - clock-names additionalProperties: false @@ -144,7 +177,7 @@ examples: compatible = "samsung,exynos850-usi"; reg = <0x138200c0 0x20>; samsung,sysreg = <&sysreg_peri 0x1010>; - samsung,mode = ; + samsung,mode = ; samsung,clkreq-on; /* needed for UART mode */ #address-cells = <1>; #size-cells = <1>; diff --git a/include/dt-bindings/soc/samsung,exynos-usi.h b/include/dt-bindings/soc/samsung,exynos-usi.h index a01af169d..b46de214d 100644 --- a/include/dt-bindings/soc/samsung,exynos-usi.h +++ b/include/dt-bindings/soc/samsung,exynos-usi.h @@ -9,9 +9,18 @@ #ifndef __DT_BINDINGS_SAMSUNG_EXYNOS_USI_H #define __DT_BINDINGS_SAMSUNG_EXYNOS_USI_H -#define USI_V2_NONE 0 -#define USI_V2_UART 1 -#define USI_V2_SPI 2 -#define USI_V2_I2C 3 +#define USI_MODE_NONE 0 +#define USI_MODE_UART 1 +#define USI_MODE_SPI 2 +#define USI_MODE_I2C 3 +#define USI_MODE_I2C1 4 +#define USI_MODE_I2C0_1 5 +#define USI_MODE_UART_I2C1 6 + +/* Deprecated */ +#define USI_V2_NONE USI_MODE_NONE +#define USI_V2_UART USI_MODE_UART +#define USI_V2_SPI USI_MODE_SPI +#define USI_V2_I2C USI_MODE_I2C #endif /* __DT_BINDINGS_SAMSUNG_EXYNOS_USI_H */ From patchwork Tue Feb 4 17:28:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivaylo Ivanov X-Patchwork-Id: 13959477 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0A649C02193 for ; Tue, 4 Feb 2025 17:33:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=l1ZYlfQ5I0ElNygZ6hE0CR1HQzjz8E0f5rQWW+uT53Q=; b=flrLJiTVATz5mZS147ziQ6Ojep RcIIE67QAXqb2zFg6QXKGB8rMFz3JfcAS8MT6ivBjvK7GfrjUbgw3hthRXslqVjCVQpyhJ9uyG6Qp 2h/BCGu1fqfevtY91mB2H4EVSt48EQZCTLShrQHjATsor8LHyEJ1qOcMRuTkHF3/U7s4ycgPatB6T wsbyXDpz6nyzrOT0Cnbeua7Ig4d67YLm7mD/b6Gu1hXooivNiSX/QAsyjr6qZaQ4vd7qCZUS2Jrlf xcDa3B/+O5Ltk6HVI7pMTQuW8zLQngmNQvD2HOL5kESNy6CtBLWcyRW7JKBWDX+TnmyavzuPSq3Wj M3oHghyg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tfMnN-000000016T9-2gAF; Tue, 04 Feb 2025 17:33:09 +0000 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tfMjU-000000015u9-0Ydg for linux-arm-kernel@lists.infradead.org; Tue, 04 Feb 2025 17:29:09 +0000 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-aaeec07b705so988294166b.2 for ; Tue, 04 Feb 2025 09:29:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738690146; x=1739294946; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=l1ZYlfQ5I0ElNygZ6hE0CR1HQzjz8E0f5rQWW+uT53Q=; b=BRMRWbvNw+lCPzRk+0mVKU49Cl9hNPKsm5PmBzFKOKSNDPmyLEcBvWHMg1maV1kBQN ROZjvcpWFhFdncAeGz7Hj1Wnm/nDsblmLBr7a7i4DzSaoSQ08XRop8i7pV/IGLZW0E+R Q3jaFHS7rSP4N3uBbIz69JTpVg8IG1EqeeYeUpX7yLhNWB813FeP/yzekJQNfHfebTT4 lGmzffyX1yRoqyXKiXY9NV6hHjlI7Xg4y0wCPMzEpN84t3o/yOT6wrFcpseENSc3R0oq yD6sFzRzYRG2SWdpJqC2ZY5FEpoajdjuVdsqWgtKZhN9qia8jtCr1Nd3pT2MTFR9xLyc /kgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738690146; x=1739294946; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=l1ZYlfQ5I0ElNygZ6hE0CR1HQzjz8E0f5rQWW+uT53Q=; b=f5laKSwv70D1eGwHnMaR8cGRMqY9p18Oq3SDsKaEXd9pEhQHvFGpTdmnBmM6SlVKpi Xd1ccfqMBFggfXF+fjVn+jr1HWfnOWJtQx7QoR0Y2DCs5kMtgl3i2cd2EkxjhuBQPk5p 9J2sBS97gwdG2SSIO1y1fbtykPrq0JCbL06XaILso8shWlnFWYLmH5hwCGp4mXM6pkDU N3zYU+9Vd5dZq9MMwV5V4RQUXAhd/ei+NV4Rv+JZjpS5ti/oXgmv9mWgdV8CG5brCBL8 SSgO5FQ8kLYhT5IbypmRi7ncNgs7FkR3BwXPB+ptVN6MniRm+w07e07hRh3sa4Tb1Gm6 w0Fg== X-Forwarded-Encrypted: i=1; AJvYcCX7YMXsXYKl9vUZiE4yu+ebv8taBxwohKrSoWlt+zDEm6WS7aQP4kFOZQggqSt3CuVbQvIhpI5yKCUNZEBGSXj9@lists.infradead.org X-Gm-Message-State: AOJu0Yy2ayuJtw6cbU5nBjFAmqD4VceicAQye+gvyzdxq3nHllnHkal9 HeDY0CbDf9QW6pPCGr6PqzO7Cdt1lXg6a47kjQB8GWlU9xQUpq1D X-Gm-Gg: ASbGncsgdUKHLBW3Ipbn15lP5KbENgUAAcwBPsAm5DdVS3hC6vgyWAgPAdG/muAP04d BtVHEkKcKr5Wt5McSo0xS7BcVINTN+xzE0qdyNjueP2wEmS/DtUgXy1ehq68veTM1Y84+k+X/YZ k9A+pdsd+mUSWUMTAPdXwsnWL3afvIXMVdPG5fTMsIh59wjO+0+NltlW3maQXAbTa9BxoK/JxpN najvvtxLPwlSdyXp/ZgZ98kQ8PnBK/GoBRnzWDbx5M3Zaz+mURkvZZ5Dpars/Ty2POKl73ELBo2 Xipl+yy0MDGls0qjMBKAWcV0F1X3eafDZHwRoMTv89eRw4nhXcm7AunsalEdGn5V8z0= X-Google-Smtp-Source: AGHT+IEpJOijiDcCjwtFF8cSqgFEaZCubHLE5XagVr3Cu6llzZV801QUD29OTEPZxbzLkYeWwSyXhg== X-Received: by 2002:a17:907:60c9:b0:ab7:1cdb:c274 with SMTP id a640c23a62f3a-ab71cdbc2bamr1356827966b.39.1738690145967; Tue, 04 Feb 2025 09:29:05 -0800 (PST) Received: from ivaylo-T580.. (91-139-201-119.stz.ddns.bulsat.com. [91.139.201.119]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5dcd3156ec7sm664981a12.67.2025.02.04.09.29.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:29:05 -0800 (PST) From: Ivaylo Ivanov To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Sam Protsenko , Peter Griffin Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 2/4] soc: samsung: usi: add a routine for unconfiguring the ip Date: Tue, 4 Feb 2025 19:28:01 +0200 Message-ID: <20250204172803.3425496-3-ivo.ivanov.ivanov1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250204172803.3425496-1-ivo.ivanov.ivanov1@gmail.com> References: <20250204172803.3425496-1-ivo.ivanov.ivanov1@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250204_092908_169051_F2B87FE8 X-CRM114-Status: GOOD ( 13.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add a devm_add_action_or_reset() routine for unconfiguring the USI IP block whenever the device gets removed. Signed-off-by: Ivaylo Ivanov --- drivers/soc/samsung/exynos-usi.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/drivers/soc/samsung/exynos-usi.c b/drivers/soc/samsung/exynos-usi.c index 114352695..85329d4e8 100644 --- a/drivers/soc/samsung/exynos-usi.c +++ b/drivers/soc/samsung/exynos-usi.c @@ -174,6 +174,30 @@ static int exynos_usi_configure(struct exynos_usi *usi) return 0; } +static void exynos_usi_unconfigure(void *data) +{ + struct exynos_usi *usi = data; + u32 val; + int ret; + + ret = clk_bulk_prepare_enable(usi->data->num_clks, usi->clks); + if (ret) + return; + + /* Make sure that we've stopped providing the clock to USI IP */ + val = readl(usi->regs + USI_OPTION); + val &= ~USI_OPTION_CLKREQ_ON; + val |= ~USI_OPTION_CLKSTOP_ON; + writel(val, usi->regs + USI_OPTION); + + /* Set USI block state to reset */ + val = readl(usi->regs + USI_CON); + val |= USI_CON_RESET; + writel(val, usi->regs + USI_CON); + + clk_bulk_disable_unprepare(usi->data->num_clks, usi->clks); +} + static int exynos_usi_parse_dt(struct device_node *np, struct exynos_usi *usi) { int ret; @@ -255,6 +279,10 @@ static int exynos_usi_probe(struct platform_device *pdev) if (ret) return ret; + ret = devm_add_action_or_reset(&pdev->dev, exynos_usi_unconfigure, usi); + if (ret) + return ret; + /* Make it possible to embed protocol nodes into USI np */ return of_platform_populate(np, NULL, NULL, dev); } From patchwork Tue Feb 4 17:28:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivaylo Ivanov X-Patchwork-Id: 13959499 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 92E7FC02193 for ; Tue, 4 Feb 2025 17:34:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=0PYzXjvsquXcuMSC+z/lM7F/lFFrKruUQntDKpcfZBw=; b=UxG6zR3zkUomKxsH/hyYnPfOeO jH7mN3fonTfnnvOkaa79tAlzG1Mbw7gaLKnLko1+wacJbL+stWxwOLvm3irBdGaZLgnrg14o09Epx FZPiRhjVBLPAhEj0Gw03+/asRWazPSSuWs4T9lLSvjP8gBWOvfw4DYC30/cIo2iVzpP8a7dPPJD+d 47QBkcVNNX3Wi1p9LKI9s7y3Ue3q6clW2+gW2/fU8H6IKNXTXWTkHD1XHVek7pHC1WKPE9cl74x2J 3+IuI4gi7FuUcLPCZaA9KYH4ezlBdz8toluIOx2lJwt5Ywxd+Dsvihtpo/ZOSgLZKbYIrsRoJc/Ph oby2Hvhg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tfMog-000000016eD-19r9; Tue, 04 Feb 2025 17:34:30 +0000 Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tfMjV-000000015ua-1Zcr for linux-arm-kernel@lists.infradead.org; Tue, 04 Feb 2025 17:29:10 +0000 Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-5d982de9547so11338646a12.2 for ; Tue, 04 Feb 2025 09:29:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738690147; x=1739294947; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0PYzXjvsquXcuMSC+z/lM7F/lFFrKruUQntDKpcfZBw=; b=DYQcm12nsgVgCLcPgKneVQ0CIntyTkGMuko1iaKe/WvR64drrcg7s2HZ6FfFZfiQI9 X1UoYsJeklEmzthttDHyW1zzGhhwwfi0mYYjv5tTtLXF72g1hZrRnlDqBO2T0B0QdX5L 4MZNJEIKt6dfsBf6z291WwsVvukDg5Am/Y8mf/ujA9fG3EvyH5XZDeLFQ2S1tRQLG3Pm MBHLEMrjFdqnsUg5ruK+Z69MjShcat24yN5R5XHnPs2Bk/2/ZTuG8OzwqI5rcWctO3y7 iy2waehCGPplwKxvYCAxl8iN7KXZI4DEFLbDdOkEDuB4wGMoDfDow3jkpfFTSOHfzBUM AlJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738690147; x=1739294947; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0PYzXjvsquXcuMSC+z/lM7F/lFFrKruUQntDKpcfZBw=; b=IPEMSJ4Fw/5IKsV4LoclJf0UmckJENPvgfIBBufiIgqwbvp05z6r1VFMAV5DtaXGiS Lta0yOlYpW9RtUg7waKKSLB+XsJBeqy7WqU4lZQEJ0tovlWHVJIVyXodeIPnf6mxss3Z BBCPSaTl8reE6Yo0icxS/pyh0jFgjvX1JEaLZh/8/gidB4P+/1nVBgbsb7Kg/qaK3NIM IVgc1yfAwBC4eoo/dEWezJnFKO8ggQqgxaxXnAtxZhmLLOUpGGPb+4+VVvIDyPQmFpnQ 2n/z3GXjGGIp8adDjT6NOf0v3Ec8j/bVu4clwqQdfTpQPNjYyf5AQR6XC/ZsXKqew8ZF iguA== X-Forwarded-Encrypted: i=1; AJvYcCXXYUx0TnTheGjNu7AJNH5e0cPeYYX1JYiNOdmRBc8LKBNNqAZsjw1UZaMdBX+jR88Afge1bawvJBEw/E+K42Ib@lists.infradead.org X-Gm-Message-State: AOJu0Ywv4ieacqVrDyXKggFfD1HXuB9cmVPaRF7SvumyYdvdqTDox7ql BNewBeEnHUeFbfhuEyy8YL129itszb4PiEhjZz0aeLR88ndi1JF0 X-Gm-Gg: ASbGnctXdbD36ZkPvaXpv6ltvLlnXoV2E8hbpW3oPmeBorlHNn1bLkcMqcfzRk3j/VF /94k3UEaaaGWoro/+MQAj7Vz+lQ1W1ZNIuGwpIKwz9F/TgFmlxvXZT3m57oBHbtT2dIdG7jHBWQ 0CMO/Oh7I+xmWiYB7eIRMKn1qhtpWlogvyTwrFEhLwqSCIJcqx7pvfnPhHTt1hdQ3bPwq0L+nqH 7LDvUl/n3VUpyxYJ21j1Md99O83AdSt58nDpa9ILfJzj6GFcEOVNDqjBMLrNgMDa8f1G8bN2svh m0fsyxQhcxMKM0h8snvSx14JaKpzYbVsMdVo/qQMjKPK+SJ2cn1tLcI/3ARZLNzp1io= X-Google-Smtp-Source: AGHT+IGKE1UpcPEwktj0pXPn+Jx+dBmAbbftJr17dD9s3ZCquQy0mlrfmNUjz/1zZKoEyVZO7n5A4A== X-Received: by 2002:a05:6402:388c:b0:5dc:90e7:d43 with SMTP id 4fb4d7f45d1cf-5dc90e7101amr15411085a12.26.1738690147137; Tue, 04 Feb 2025 09:29:07 -0800 (PST) Received: from ivaylo-T580.. (91-139-201-119.stz.ddns.bulsat.com. [91.139.201.119]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5dcd3156ec7sm664981a12.67.2025.02.04.09.29.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:29:06 -0800 (PST) From: Ivaylo Ivanov To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Sam Protsenko , Peter Griffin Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 3/4] soc: samsung: usi: implement support for USIv1 and exynos8895 Date: Tue, 4 Feb 2025 19:28:02 +0200 Message-ID: <20250204172803.3425496-4-ivo.ivanov.ivanov1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250204172803.3425496-1-ivo.ivanov.ivanov1@gmail.com> References: <20250204172803.3425496-1-ivo.ivanov.ivanov1@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250204_092909_415908_2D09831D X-CRM114-Status: GOOD ( 22.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org USIv1 IP-core is found on some ARM64 Exynos SoCs (like Exynos8895) and provides selectable serial protocols (one of: HSI2C0, HSI2C1, HSI2C0_1, SPI, UART, UART_HSI2C1). USIv1, unlike USIv2, doesn't have any known register map. Underlying protocols that it implements have no offset, like with Exynos850. Desired protocol can be chosen via SW_CONF register from System Register block of the same domain as USI. In order to select a particular protocol, the protocol has to be selected via the System Register. Unlike USIv2, there's no need for any setup before the given protocol becomes accessible apart from enabling the APB clock and the protocol operating clock. Modify the existing driver in order to allow USIv1 instances in Exynos8895 to probe and set their protocol. While we're at it, make use of the new mode constants in place of the old ones. Signed-off-by: Ivaylo Ivanov --- drivers/soc/samsung/exynos-usi.c | 71 ++++++++++++++++++++++++++------ 1 file changed, 58 insertions(+), 13 deletions(-) diff --git a/drivers/soc/samsung/exynos-usi.c b/drivers/soc/samsung/exynos-usi.c index 85329d4e8..773038770 100644 --- a/drivers/soc/samsung/exynos-usi.c +++ b/drivers/soc/samsung/exynos-usi.c @@ -16,6 +16,18 @@ #include +/* USIv1: System Register: SW_CONF register bits */ +#define USI_V1_SW_CONF_NONE 0x0 +#define USI_V1_SW_CONF_I2C0 0x1 +#define USI_V1_SW_CONF_I2C1 0x2 +#define USI_V1_SW_CONF_I2C0_1 0x3 +#define USI_V1_SW_CONF_SPI 0x4 +#define USI_V1_SW_CONF_UART 0x8 +#define USI_V1_SW_CONF_UART_I2C1 0xa +#define USI_V1_SW_CONF_MASK (USI_V1_SW_CONF_I2C0 | USI_V1_SW_CONF_I2C1 | \ + USI_V1_SW_CONF_I2C0_1 | USI_V1_SW_CONF_SPI | \ + USI_V1_SW_CONF_UART | USI_V1_SW_CONF_UART_I2C1) + /* USIv2: System Register: SW_CONF register bits */ #define USI_V2_SW_CONF_NONE 0x0 #define USI_V2_SW_CONF_UART BIT(0) @@ -34,7 +46,8 @@ #define USI_OPTION_CLKSTOP_ON BIT(2) enum exynos_usi_ver { - USI_VER2 = 2, + USI_VER1 = 0, + USI_VER2, }; struct exynos_usi_variant { @@ -66,19 +79,39 @@ struct exynos_usi_mode { unsigned int val; /* mode register value */ }; -static const struct exynos_usi_mode exynos_usi_modes[] = { - [USI_V2_NONE] = { .name = "none", .val = USI_V2_SW_CONF_NONE }, - [USI_V2_UART] = { .name = "uart", .val = USI_V2_SW_CONF_UART }, - [USI_V2_SPI] = { .name = "spi", .val = USI_V2_SW_CONF_SPI }, - [USI_V2_I2C] = { .name = "i2c", .val = USI_V2_SW_CONF_I2C }, +#define USI_MODES_MAX (USI_MODE_UART_I2C1 + 1) +static const struct exynos_usi_mode exynos_usi_modes[][USI_MODES_MAX] = { + [USI_VER1] = { + [USI_MODE_NONE] = { .name = "none", .val = USI_V1_SW_CONF_NONE }, + [USI_MODE_UART] = { .name = "uart", .val = USI_V1_SW_CONF_UART }, + [USI_MODE_SPI] = { .name = "spi", .val = USI_V1_SW_CONF_SPI }, + [USI_MODE_I2C] = { .name = "i2c", .val = USI_V1_SW_CONF_I2C0 }, + [USI_MODE_I2C1] = { .name = "i2c1", .val = USI_V1_SW_CONF_I2C1 }, + [USI_MODE_I2C0_1] = { .name = "i2c0_1", .val = USI_V1_SW_CONF_I2C0_1 }, + [USI_MODE_UART_I2C1] = { .name = "uart_i2c1", .val = USI_V1_SW_CONF_UART_I2C1 }, + }, [USI_VER2] = { + [USI_MODE_NONE] = { .name = "none", .val = USI_V2_SW_CONF_NONE }, + [USI_MODE_UART] = { .name = "uart", .val = USI_V2_SW_CONF_UART }, + [USI_MODE_SPI] = { .name = "spi", .val = USI_V2_SW_CONF_SPI }, + [USI_MODE_I2C] = { .name = "i2c", .val = USI_V2_SW_CONF_I2C }, + }, }; static const char * const exynos850_usi_clk_names[] = { "pclk", "ipclk" }; static const struct exynos_usi_variant exynos850_usi_data = { .ver = USI_VER2, .sw_conf_mask = USI_V2_SW_CONF_MASK, - .min_mode = USI_V2_NONE, - .max_mode = USI_V2_I2C, + .min_mode = USI_MODE_NONE, + .max_mode = USI_MODE_I2C, + .num_clks = ARRAY_SIZE(exynos850_usi_clk_names), + .clk_names = exynos850_usi_clk_names, +}; + +static const struct exynos_usi_variant exynos8895_usi_data = { + .ver = USI_VER1, + .sw_conf_mask = USI_V1_SW_CONF_MASK, + .min_mode = USI_MODE_NONE, + .max_mode = USI_MODE_UART_I2C1, .num_clks = ARRAY_SIZE(exynos850_usi_clk_names), .clk_names = exynos850_usi_clk_names, }; @@ -87,6 +120,9 @@ static const struct of_device_id exynos_usi_dt_match[] = { { .compatible = "samsung,exynos850-usi", .data = &exynos850_usi_data, + }, { + .compatible = "samsung,exynos8895-usi", + .data = &exynos8895_usi_data, }, { } /* sentinel */ }; @@ -109,14 +145,15 @@ static int exynos_usi_set_sw_conf(struct exynos_usi *usi, size_t mode) if (mode < usi->data->min_mode || mode > usi->data->max_mode) return -EINVAL; - val = exynos_usi_modes[mode].val; + val = exynos_usi_modes[usi->data->ver][mode].val; ret = regmap_update_bits(usi->sysreg, usi->sw_conf, usi->data->sw_conf_mask, val); if (ret) return ret; usi->mode = mode; - dev_dbg(usi->dev, "protocol: %s\n", exynos_usi_modes[usi->mode].name); + dev_dbg(usi->dev, "protocol: %s\n", + exynos_usi_modes[usi->data->ver][usi->mode].name); return 0; } @@ -168,10 +205,13 @@ static int exynos_usi_configure(struct exynos_usi *usi) if (ret) return ret; - if (usi->data->ver == USI_VER2) - return exynos_usi_enable(usi); + if (usi->data->ver == USI_VER1) + ret = clk_bulk_prepare_enable(usi->data->num_clks, + usi->clks); + else if (usi->data->ver == USI_VER2) + ret = exynos_usi_enable(usi); - return 0; + return ret; } static void exynos_usi_unconfigure(void *data) @@ -180,6 +220,11 @@ static void exynos_usi_unconfigure(void *data) u32 val; int ret; + if (usi->data->ver == USI_VER1) { + clk_bulk_disable_unprepare(usi->data->num_clks, usi->clks); + return; + } + ret = clk_bulk_prepare_enable(usi->data->num_clks, usi->clks); if (ret) return; From patchwork Tue Feb 4 17:28:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivaylo Ivanov X-Patchwork-Id: 13959500 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B9DAAC02197 for ; Tue, 4 Feb 2025 17:36:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ZBre3tfK9eNw0D6ztWoJ2B8wDlLW7jzGaVQPJWiVrhc=; b=JTpc1Za5KbTen+TvV7kmP+Ml/Q 8vcicTqXDoea+FKMG1r81til8l/xlhD9hBnw1d3TzxL5yHEjnkj8xxc8G5EhpKsEOVMxzzl8O00dT bZXxZJ+E/ytglf5Hn89lVEeKeDtB/5XHBU7KlD0578PqPf1UtU6KgGCFz1Yw6Ot/jmHPPp0ETkl2r CYmGeNeXI+D5RGvVJ+e7Ma9zP4G/CLVUvfpCUhMqLhgBGMkwDfO5tDl+Y37KYR3mjrG8khXAgBGEF j0zqF98EGYJnHLQycl1bjknxJfvMEcjfJCFhuTpyLJ9Y1FvD/Hm99z0j36jt3Uu0Ch/01wY9Fm3nW d8kO7Rgw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tfMpz-0000000173u-0Kh4; Tue, 04 Feb 2025 17:35:51 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tfMjW-000000015uv-2rBM for linux-arm-kernel@lists.infradead.org; Tue, 04 Feb 2025 17:29:11 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-5dcd3454922so889391a12.1 for ; Tue, 04 Feb 2025 09:29:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738690149; x=1739294949; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZBre3tfK9eNw0D6ztWoJ2B8wDlLW7jzGaVQPJWiVrhc=; b=N162RyNvYVXoSeQyZ9fvKDl6Yqv+W9derJCdjp7wLryyRZR7QgtSLTVUQ+m+5VV1Rd t53L/kIg+yjyBp9wHNQF1SmCxK+eNr6DyNpsWBHviR6xZm2RzD02DanWEOse2o05H6kZ CloK57wcfxk0DISUmkGRWiugR1/gIVyYze9+aSIt6rh82+X6rcs0aC4FqEN4/ynZtki4 W0LQ1WeO47Kp2SrhH680WvFWq8SmGS8PB71c4QriYuz3EcuUmkL6oqQaRBG7NUPSc0Ta /wRVc7kHKmdOUhwvI9F1F6gm4lXorr6gwHUY7Dk9C4G2TF36Bt7DplqYLkaOAlmIAQ2c SURQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738690149; x=1739294949; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZBre3tfK9eNw0D6ztWoJ2B8wDlLW7jzGaVQPJWiVrhc=; b=m7NnUUV3U33be0kE076G9PdiqhJ7TViMc2kBYtvJgGnRVggCHdLfesv9EXrrUtQhwG zpImxN+oHVcTIlTWmLez3x1Mv/uTDimxXZHLk/Wzp4gD5lfI2lbZvlz+J6o1LIw8OtwP 7MCQ4PgvuSgTA/sHSc1zRzxh6vKnG3ChHTfJJghYICCy+0oNV8S2RUzK0qaXkfE9mF0L 4umszKwEv5HlvUUvDIzw7lE2Gocaq6DR/8wnfNvfWLQmWvaOUWvrb78cGD9HaANsV56L QAKduyDeAkKPH2yntW3jfQnz3U70ONe8rhnG/gTQjYOVmTaST0IqSoJ0PvgK7BHGRXlo YKcg== X-Forwarded-Encrypted: i=1; AJvYcCXtceaxUBZAJIcs+YRUEuVWzA6/3WUK4URn8NIcn3EOl62aPys7cj1s4d8jUIl9/OEKMjQ6jd4mM8XtjgSL4P4q@lists.infradead.org X-Gm-Message-State: AOJu0YwcGUBjS8YMOHk3b1csFpAW6qkR3UibwE3uWAzIXs2YPcWNMq6+ 4dbSbuU7KuQTHuFWz9FVbesIzcSomQwiexyKrBiwPCVBvEEw8iIGJvVqcg== X-Gm-Gg: ASbGncuuvs/AprugcOJDT46vdF7cjOYI+ldKxO/w54Z4POH4Jef8qo4equ5gVHc3cF+ 4w31g/qRZrpnnwFhlE6dXvrHs9STfRnhtFqRmWwqAU0T0MCD83S97bQ1fCbLGEn/J6t+tJYOg+d L4RnVLHTB1s01QZl72TQShZs16FzmFYeaLaY965gZtE3BUeXKyW1PVeCn6hC4cUnUeG44ITk8hG QnVB+TvxC9kS5oanzXBk4iB0QhLG2aNrqSrn9rTtmrycrhvqMU/Jly5vTxOselCvWmhK02HN3zq 8sNMW9v/bSjUNrOXQ0PjFcXki53xo2sMX+BEP0UsDxanCOG66k8FGqQwbJB6o1fBUIg= X-Google-Smtp-Source: AGHT+IFu+slwz91GENh5QMjYcOh4lrpEqmBdNLas88SGUpO3WiuE6Ri0unHYb7Tl4RKE9yFsTn+Pnw== X-Received: by 2002:a05:6402:40c8:b0:5d0:ed71:3ce4 with SMTP id 4fb4d7f45d1cf-5dc5efad984mr33079113a12.6.1738690148448; Tue, 04 Feb 2025 09:29:08 -0800 (PST) Received: from ivaylo-T580.. (91-139-201-119.stz.ddns.bulsat.com. [91.139.201.119]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5dcd3156ec7sm664981a12.67.2025.02.04.09.29.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:29:07 -0800 (PST) From: Ivaylo Ivanov To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , Sam Protsenko , Peter Griffin Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 4/4] arm64: dts: exynos: update all samsung,mode constants Date: Tue, 4 Feb 2025 19:28:03 +0200 Message-ID: <20250204172803.3425496-5-ivo.ivanov.ivanov1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250204172803.3425496-1-ivo.ivanov.ivanov1@gmail.com> References: <20250204172803.3425496-1-ivo.ivanov.ivanov1@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250204_092910_723580_F78EFBBB X-CRM114-Status: GOOD ( 12.41 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Update all samsung,mode property values to account for renaming USI_V2 constants to USI_MODE in the bindings. Signed-off-by: Ivaylo Ivanov --- arch/arm64/boot/dts/exynos/exynos850.dtsi | 14 +++--- arch/arm64/boot/dts/exynos/exynosautov9.dtsi | 48 +++++++++---------- .../arm64/boot/dts/exynos/exynosautov920.dtsi | 2 +- .../boot/dts/exynos/google/gs101-oriole.dts | 4 +- arch/arm64/boot/dts/exynos/google/gs101.dtsi | 2 +- 5 files changed, 35 insertions(+), 35 deletions(-) diff --git a/arch/arm64/boot/dts/exynos/exynos850.dtsi b/arch/arm64/boot/dts/exynos/exynos850.dtsi index f1c8b4613..cb55015c8 100644 --- a/arch/arm64/boot/dts/exynos/exynos850.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos850.dtsi @@ -651,7 +651,7 @@ usi_uart: usi@138200c0 { compatible = "samsung,exynos850-usi"; reg = <0x138200c0 0x20>; samsung,sysreg = <&sysreg_peri 0x1010>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -677,7 +677,7 @@ usi_hsi2c_0: usi@138a00c0 { compatible = "samsung,exynos850-usi"; reg = <0x138a00c0 0x20>; samsung,sysreg = <&sysreg_peri 0x1020>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -706,7 +706,7 @@ usi_hsi2c_1: usi@138b00c0 { compatible = "samsung,exynos850-usi"; reg = <0x138b00c0 0x20>; samsung,sysreg = <&sysreg_peri 0x1030>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -735,7 +735,7 @@ usi_hsi2c_2: usi@138c00c0 { compatible = "samsung,exynos850-usi"; reg = <0x138c00c0 0x20>; samsung,sysreg = <&sysreg_peri 0x1040>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -764,7 +764,7 @@ usi_spi_0: usi@139400c0 { compatible = "samsung,exynos850-usi"; reg = <0x139400c0 0x20>; samsung,sysreg = <&sysreg_peri 0x1050>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -796,7 +796,7 @@ usi_cmgp0: usi@11d000c0 { compatible = "samsung,exynos850-usi"; reg = <0x11d000c0 0x20>; samsung,sysreg = <&sysreg_cmgp 0x2000>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -855,7 +855,7 @@ usi_cmgp1: usi@11d200c0 { compatible = "samsung,exynos850-usi"; reg = <0x11d200c0 0x20>; samsung,sysreg = <&sysreg_cmgp 0x2010>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; diff --git a/arch/arm64/boot/dts/exynos/exynosautov9.dtsi b/arch/arm64/boot/dts/exynos/exynosautov9.dtsi index b36292a7d..66628cb32 100644 --- a/arch/arm64/boot/dts/exynos/exynosautov9.dtsi +++ b/arch/arm64/boot/dts/exynos/exynosautov9.dtsi @@ -442,7 +442,7 @@ usi_0: usi@103000c0 { "samsung,exynos850-usi"; reg = <0x103000c0 0x20>; samsung,sysreg = <&syscon_peric0 0x1000>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -505,7 +505,7 @@ usi_i2c_0: usi@103100c0 { "samsung,exynos850-usi"; reg = <0x103100c0 0x20>; samsung,sysreg = <&syscon_peric0 0x1004>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -534,7 +534,7 @@ usi_1: usi@103200c0 { "samsung,exynos850-usi"; reg = <0x103200c0 0x20>; samsung,sysreg = <&syscon_peric0 0x1008>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -597,7 +597,7 @@ usi_i2c_1: usi@103300c0 { "samsung,exynos850-usi"; reg = <0x103300c0 0x20>; samsung,sysreg = <&syscon_peric0 0x100c>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -626,7 +626,7 @@ usi_2: usi@103400c0 { "samsung,exynos850-usi"; reg = <0x103400c0 0x20>; samsung,sysreg = <&syscon_peric0 0x1010>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -689,7 +689,7 @@ usi_i2c_2: usi@103500c0 { "samsung,exynos850-usi"; reg = <0x103500c0 0x20>; samsung,sysreg = <&syscon_peric0 0x1014>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -718,7 +718,7 @@ usi_3: usi@103600c0 { "samsung,exynos850-usi"; reg = <0x103600c0 0x20>; samsung,sysreg = <&syscon_peric0 0x1018>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -781,7 +781,7 @@ usi_i2c_3: usi@103700c0 { "samsung,exynos850-usi"; reg = <0x103700c0 0x20>; samsung,sysreg = <&syscon_peric0 0x101c>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -810,7 +810,7 @@ usi_4: usi@103800c0 { "samsung,exynos850-usi"; reg = <0x103800c0 0x20>; samsung,sysreg = <&syscon_peric0 0x1020>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -873,7 +873,7 @@ usi_i2c_4: usi@103900c0 { "samsung,exynos850-usi"; reg = <0x103900c0 0x20>; samsung,sysreg = <&syscon_peric0 0x1024>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -902,7 +902,7 @@ usi_5: usi@103a00c0 { "samsung,exynos850-usi"; reg = <0x103a00c0 0x20>; samsung,sysreg = <&syscon_peric0 0x1028>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -965,7 +965,7 @@ usi_i2c_5: usi@103b00c0 { "samsung,exynos850-usi"; reg = <0x103b00c0 0x20>; samsung,sysreg = <&syscon_peric0 0x102c>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -994,7 +994,7 @@ usi_6: usi@109000c0 { "samsung,exynos850-usi"; reg = <0x109000c0 0x20>; samsung,sysreg = <&syscon_peric1 0x1000>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1057,7 +1057,7 @@ usi_i2c_6: usi@109100c0 { "samsung,exynos850-usi"; reg = <0x109100c0 0x20>; samsung,sysreg = <&syscon_peric1 0x1004>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1086,7 +1086,7 @@ usi_7: usi@109200c0 { "samsung,exynos850-usi"; reg = <0x109200c0 0x20>; samsung,sysreg = <&syscon_peric1 0x1008>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1149,7 +1149,7 @@ usi_i2c_7: usi@109300c0 { "samsung,exynos850-usi"; reg = <0x109300c0 0x20>; samsung,sysreg = <&syscon_peric1 0x100c>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1178,7 +1178,7 @@ usi_8: usi@109400c0 { "samsung,exynos850-usi"; reg = <0x109400c0 0x20>; samsung,sysreg = <&syscon_peric1 0x1010>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1241,7 +1241,7 @@ usi_i2c_8: usi@109500c0 { "samsung,exynos850-usi"; reg = <0x109500c0 0x20>; samsung,sysreg = <&syscon_peric1 0x1014>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1270,7 +1270,7 @@ usi_9: usi@109600c0 { "samsung,exynos850-usi"; reg = <0x109600c0 0x20>; samsung,sysreg = <&syscon_peric1 0x1018>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1333,7 +1333,7 @@ usi_i2c_9: usi@109700c0 { "samsung,exynos850-usi"; reg = <0x109700c0 0x20>; samsung,sysreg = <&syscon_peric1 0x101c>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1362,7 +1362,7 @@ usi_10: usi@109800c0 { "samsung,exynos850-usi"; reg = <0x109800c0 0x20>; samsung,sysreg = <&syscon_peric1 0x1020>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1425,7 +1425,7 @@ usi_i2c_10: usi@109900c0 { "samsung,exynos850-usi"; reg = <0x109900c0 0x20>; samsung,sysreg = <&syscon_peric1 0x1024>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1454,7 +1454,7 @@ usi_11: usi@109a00c0 { "samsung,exynos850-usi"; reg = <0x109a00c0 0x20>; samsung,sysreg = <&syscon_peric1 0x1028>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; @@ -1515,7 +1515,7 @@ usi_i2c_11: usi@109b00c0 { "samsung,exynos850-usi"; reg = <0x109b00c0 0x20>; samsung,sysreg = <&syscon_peric1 0x102c>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; diff --git a/arch/arm64/boot/dts/exynos/exynosautov920.dtsi b/arch/arm64/boot/dts/exynos/exynosautov920.dtsi index c759134c9..6e9007518 100644 --- a/arch/arm64/boot/dts/exynos/exynosautov920.dtsi +++ b/arch/arm64/boot/dts/exynos/exynosautov920.dtsi @@ -223,7 +223,7 @@ usi_0: usi@108800c0 { "samsung,exynos850-usi"; reg = <0x108800c0 0x20>; samsung,sysreg = <&syscon_peric0 0x1000>; - samsung,mode = ; + samsung,mode = ; #address-cells = <1>; #size-cells = <1>; ranges; diff --git a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts index 387fb779b..b73c152c7 100644 --- a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts +++ b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts @@ -161,12 +161,12 @@ &usi_uart { }; &usi8 { - samsung,mode = ; + samsung,mode = ; status = "okay"; }; &usi12 { - samsung,mode = ; + samsung,mode = ; status = "okay"; }; diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi index 302c5beb2..473db46aa 100644 --- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi +++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi @@ -825,7 +825,7 @@ usi_uart: usi@10a000c0 { <&cmu_peric0 CLK_GOUT_PERIC0_PERIC0_TOP1_IPCLK_0>; clock-names = "pclk", "ipclk"; samsung,sysreg = <&sysreg_peric0 0x1020>; - samsung,mode = ; + samsung,mode = ; status = "disabled"; serial_0: serial@10a00000 {