From nobody Wed Apr 29 00:39:08 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1C8E4C352AA for ; Thu, 26 May 2022 14:37:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347688AbiEZOhf (ORCPT ); Thu, 26 May 2022 10:37:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36688 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235749AbiEZOh3 (ORCPT ); Thu, 26 May 2022 10:37:29 -0400 Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F98DCC170 for ; Thu, 26 May 2022 07:37:23 -0700 (PDT) Received: by mail-ed1-x535.google.com with SMTP id er5so2042287edb.12 for ; Thu, 26 May 2022 07:37:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zNSo7HTnhss/iN+yIa+zDeGfGrWjHSHbXmTwg6rvYSg=; b=WMbm+hYGQ9xqTT/qhKPIxU89RPI9AFSdjCzL9SY5HuOaGS9ulotU5V5OPAg4yEco0q i2Uy2vZzSgdQ2n5nuAIsy4CUWxzuGvp9yDHxZBeIl/uD2oZ8XpCQUdorqY5yXyEiCPHP FzzrgBDIuD66PkeBb39LoSJropq75pzDe23C3g7Dooi2MAlCpneL61n0gDU3fd8P6vbJ hTXWQaB/aSvAhNU8w2l1PZzQgU7raUiJml6qjgzW9r+PUOBxpyZKgjrRHf4Iyan5k54o iFY9p2gZ37C9u7U8SiUH1R7lR0yJWm6ckmTcGwq3cY64xwrQE8H5ns2caX5zGtK4bvDy 8F7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zNSo7HTnhss/iN+yIa+zDeGfGrWjHSHbXmTwg6rvYSg=; b=Tla5J7i7QCiBOxcxdgeGK7LNhVOdh000ZAFl9uEaQ+YZ/rPO5pF5gCrJ8OBypSFq5L GT/cBFhg/qUaBDEEoScixbhl6PkttYpjssw152JvggT9aiDJRZErS3469spX/DO9hOvS i2KWQF6Sp0X1odK75khmbYaAP7IYAWoRwYd8LUfTuib40P8Mw1g3yUPrqOEu+mynNJE0 KCXKrE6/YE/lrLB91GGxq8VS17lrz7hgZmon6qOOaUU9a+SfGkydBUcJce1tszCDdPsx pHc652eGlrD39ua1A4dChDdiPYDsoaGE/n1Vf0umb7RU8Su/F3F0nIJvpYFZMoCvX+SR VcaQ== X-Gm-Message-State: AOAM532qgB/X8txqfs4nyOf2wzlqaP4OJpNn9oGDhfj9UqhGu7w+645v hCOGsb/nMNc5otmpRZogVH5uYg== X-Google-Smtp-Source: ABdhPJymHiX88K/xjCvH2KfypXYu/3gtAaIbA2GNOdZO2h8pLUJbffiE7mdcw5T7++JcYYXhO3sR/w== X-Received: by 2002:aa7:d412:0:b0:42a:b8bf:89f7 with SMTP id z18-20020aa7d412000000b0042ab8bf89f7mr40717484edq.410.1653575841960; Thu, 26 May 2022 07:37:21 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id f27-20020a50a6db000000b0042be2dfa8bdsm267962edc.81.2022.05.26.07.37.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 07:37:21 -0700 (PDT) From: Krzysztof Kozlowski To: Rob Herring , Krzysztof Kozlowski , Alim Akhtar , Tomasz Figa , Sylwester Nawrocki , Linus Walleij , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org Cc: Krzysztof Kozlowski Subject: [PATCH 1/7] ARM: dts: s3c2410: use local header for pinctrl register values Date: Thu, 26 May 2022 16:37:01 +0200 Message-Id: <20220526143707.767490-2-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> References: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The DTS uses hardware register values directly in pin controller pin configuration. These are not some IDs or other abstraction layer but raw numbers used in the registers. These numbers were previously put in the bindings header to avoid code duplication and to provide some context meaning (name), but they do not fit the purpose of bindings. It is also quite confusing to use constants prefixed with Exynos for other SoC, because there is actually nothing here in common, except the actual value. Store the constants in a header next to DTS and use them instead of bindings. Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/s3c2410-pinctrl.h | 19 +++++++++++++ arch/arm/boot/dts/s3c2416-pinctrl.dtsi | 38 +++++++++++++------------- 2 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 arch/arm/boot/dts/s3c2410-pinctrl.h diff --git a/arch/arm/boot/dts/s3c2410-pinctrl.h b/arch/arm/boot/dts/s3c241= 0-pinctrl.h new file mode 100644 index 000000000000..71cb0ac815b3 --- /dev/null +++ b/arch/arm/boot/dts/s3c2410-pinctrl.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Samsung's Exynos pinctrl bindings + * + * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * Copyright (c) 2022 Linaro Ltd + * Author: Krzysztof Kozlowski + */ + +#ifndef __DTS_ARM_SAMSUNG_S3C2410_PINCTRL_H__ +#define __DTS_ARM_SAMSUNG_S3C2410_PINCTRL_H__ + +#define S3C2410_PIN_FUNC_INPUT 0 +#define S3C2410_PIN_FUNC_OUTPUT 1 +#define S3C2410_PIN_FUNC_2 2 +#define S3C2410_PIN_FUNC_3 3 + +#endif /* __DTS_ARM_SAMSUNG_S3C2410_PINCTRL_H__ */ diff --git a/arch/arm/boot/dts/s3c2416-pinctrl.dtsi b/arch/arm/boot/dts/s3c= 2416-pinctrl.dtsi index 20a7d72827c2..3268366bd8bc 100644 --- a/arch/arm/boot/dts/s3c2416-pinctrl.dtsi +++ b/arch/arm/boot/dts/s3c2416-pinctrl.dtsi @@ -5,7 +5,7 @@ * Copyright (c) 2013 Heiko Stuebner */ =20 -#include +#include "s3c2410-pinctrl.h" =20 &pinctrl_0 { /* @@ -82,91 +82,91 @@ gpm: gpm-gpio-bank { =20 uart0_data: uart0-data-pins { samsung,pins =3D "gph-0", "gph-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 uart0_fctl: uart0-fctl-pins { samsung,pins =3D "gph-8", "gph-9"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 uart1_data: uart1-data-pins { samsung,pins =3D "gph-2", "gph-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 uart1_fctl: uart1-fctl-pins { samsung,pins =3D "gph-10", "gph-11"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 uart2_data: uart2-data-pins { samsung,pins =3D "gph-4", "gph-5"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 uart2_fctl: uart2-fctl-pins { samsung,pins =3D "gph-6", "gph-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 uart3_data: uart3-data-pins { samsung,pins =3D "gph-6", "gph-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 extuart_clk: extuart-clk-pins { samsung,pins =3D "gph-12"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 i2c0_bus: i2c0-bus-pins { samsung,pins =3D "gpe-14", "gpe-15"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 spi0_bus: spi0-bus-pins { samsung,pins =3D "gpe-11", "gpe-12", "gpe-13"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 sd0_clk: sd0-clk-pins { samsung,pins =3D "gpe-5"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 sd0_cmd: sd0-cmd-pins { samsung,pins =3D "gpe-6"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 sd0_bus1: sd0-bus1-pins { samsung,pins =3D "gpe-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 sd0_bus4: sd0-bus4-pins { samsung,pins =3D "gpe-8", "gpe-9", "gpe-10"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 sd1_cmd: sd1-cmd-pins { samsung,pins =3D "gpl-8"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 sd1_clk: sd1-clk-pins { samsung,pins =3D "gpl-9"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 sd1_bus1: sd1-bus1-pins { samsung,pins =3D "gpl-0"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; =20 sd1_bus4: sd1-bus4-pins { samsung,pins =3D "gpl-1", "gpl-2", "gpl-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; }; }; --=20 2.34.1 From nobody Wed Apr 29 00:39:08 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 38611C4321E for ; Thu, 26 May 2022 14:37:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236715AbiEZOhm (ORCPT ); Thu, 26 May 2022 10:37:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36764 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347658AbiEZOhc (ORCPT ); Thu, 26 May 2022 10:37:32 -0400 Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 21537CC163 for ; Thu, 26 May 2022 07:37:25 -0700 (PDT) Received: by mail-ed1-x52b.google.com with SMTP id t5so2080412edc.2 for ; Thu, 26 May 2022 07:37:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BsO5tD8lbeUbvCqX/AdAUOgD0pAzTYl6nBjokqdz3+E=; b=IOJANgPLsY1kx5wRmBUBelnayx4lRHMyb8B81O7wSBgLHN3iDE5RXzfkvlMNLtt4EA Z+3n5Mjr4IrD4vCWwJl738RdKsS7UphCAhyNuJ2ei3xMxVFcuhP7KaX5yEHoHkyE9ZR6 dWA0A2PS1T78m5ycIMxl9SSWTDG0q6xHw5gtOeFKvire9QvQvja8Pj3ulFHBgWO1IzOB cIsuUjgOa0vVjfCghEUS4efOwb/3ES2X+HZPoVIj02vv03VUyn9ZNZ9upbsjGF9lpdH5 UgN4xi0gxvzxpNNz/ZEhAClvXHTZUZMYvn0Q5gxnsB3bYnDodBtXSgpZKlWCew8u8Etz rY4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BsO5tD8lbeUbvCqX/AdAUOgD0pAzTYl6nBjokqdz3+E=; b=VuU5O7F7iksBoQRMK9MeVg93NSkKHzQ8DuRGrQL9ZG0IqX2YLQO8puEIpFuX4qJS2C XimPIkHAaaXia8NQR1s9PmSTXTeQ2yEtulEbtHjfdMY3p+VkPV/+7s6zLvzDfuJwPl4T VKwoXvRdreNwbWR3fy9bZw7gwV/Dz5lN1MVOSQqP0no9Wl+LPVBK6gJDr4h+p+F+7Lwr xJDwCTAW/CkTdZyYECKdif8MQoBQmk44nxMXOmEZ068ASGqhiggH5K9HZSkMmPGB5Tuk 05+yTwx1KCSVJfZpQz/Y0I+H7RJ/2mwa9QC4KyombiPYxXKsXWenIOFiMg1YhKh2pmIb Ilyg== X-Gm-Message-State: AOAM532Xlgy9tt7wb4VDadKgym+s52LVVcaCOVta9LrqOhkgwCmb6NM1 /0C/TBxEDGQFV3l+BUCAsBo0Eg== X-Google-Smtp-Source: ABdhPJxn2zTX2dSDKLlWT8a+GQgSYC5RBWImlKcLWPKbwKtqD6HLz1Yr++3wjWx6oapEbMOlw+uUCA== X-Received: by 2002:a05:6402:5c9:b0:420:aac6:257b with SMTP id n9-20020a05640205c900b00420aac6257bmr39541317edx.128.1653575843255; Thu, 26 May 2022 07:37:23 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id f27-20020a50a6db000000b0042be2dfa8bdsm267962edc.81.2022.05.26.07.37.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 07:37:22 -0700 (PDT) From: Krzysztof Kozlowski To: Rob Herring , Krzysztof Kozlowski , Alim Akhtar , Tomasz Figa , Sylwester Nawrocki , Linus Walleij , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org Cc: Krzysztof Kozlowski Subject: [PATCH 2/7] ARM: dts: s3c64xx: use local header for pinctrl register values Date: Thu, 26 May 2022 16:37:02 +0200 Message-Id: <20220526143707.767490-3-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> References: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The DTS uses hardware register values directly in pin controller pin configuration. These are not some IDs or other abstraction layer but raw numbers used in the registers. These numbers were previously put in the bindings header to avoid code duplication and to provide some context meaning (name), but they do not fit the purpose of bindings. It is also quite confusing to use constants prefixed with Exynos for other SoC, because there is actually nothing here in common, except the actual value. Store the constants in a header next to DTS and use them instead of bindings. Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 178 ++++++++++++------------- arch/arm/boot/dts/s3c64xx-pinctrl.h | 27 ++++ 2 files changed, 116 insertions(+), 89 deletions(-) create mode 100644 arch/arm/boot/dts/s3c64xx-pinctrl.h diff --git a/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi b/arch/arm/boot/dts/s3c= 64xx-pinctrl.dtsi index 0a3186d57cb5..f53959b7d031 100644 --- a/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi +++ b/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi @@ -9,7 +9,7 @@ * listed as device tree nodes in this file. */ =20 -#include +#include "s3c64xx-pinctrl.h" =20 &pinctrl0 { /* @@ -133,219 +133,219 @@ gpq: gpq-gpio-bank { =20 uart0_data: uart0-data-pins { samsung,pins =3D "gpa-0", "gpa-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 uart0_fctl: uart0-fctl-pins { samsung,pins =3D "gpa-2", "gpa-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 uart1_data: uart1-data-pins { samsung,pins =3D "gpa-4", "gpa-5"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 uart1_fctl: uart1-fctl-pins { samsung,pins =3D "gpa-6", "gpa-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 uart2_data: uart2-data-pins { samsung,pins =3D "gpb-0", "gpb-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 uart3_data: uart3-data-pins { samsung,pins =3D "gpb-2", "gpb-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 ext_dma_0: ext-dma-0-pins { samsung,pins =3D "gpb-0", "gpb-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 ext_dma_1: ext-dma-1-pins { samsung,pins =3D "gpb-2", "gpb-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 irda_data_0: irda-data-0-pins { samsung,pins =3D "gpb-0", "gpb-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 irda_data_1: irda-data-1-pins { samsung,pins =3D "gpb-2", "gpb-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 irda_sdbw: irda-sdbw-pins { samsung,pins =3D "gpb-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 i2c0_bus: i2c0-bus-pins { samsung,pins =3D "gpb-5", "gpb-6"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 i2c1_bus: i2c1-bus-pins { /* S3C6410-only */ samsung,pins =3D "gpb-2", "gpb-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 spi0_bus: spi0-bus-pins { samsung,pins =3D "gpc-0", "gpc-1", "gpc-2"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 spi0_cs: spi0-cs-pins { samsung,pins =3D "gpc-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 spi1_bus: spi1-bus-pins { samsung,pins =3D "gpc-4", "gpc-5", "gpc-6"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 spi1_cs: spi1-cs-pins { samsung,pins =3D "gpc-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd0_cmd: sd0-cmd-pins { samsung,pins =3D "gpg-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd0_clk: sd0-clk-pins { samsung,pins =3D "gpg-0"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd0_bus1: sd0-bus1-pins { samsung,pins =3D "gpg-2"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd0_bus4: sd0-bus4-pins { samsung,pins =3D "gpg-2", "gpg-3", "gpg-4", "gpg-5"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd0_cd: sd0-cd-pins { samsung,pins =3D "gpg-6"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd1_cmd: sd1-cmd-pins { samsung,pins =3D "gph-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd1_clk: sd1-clk-pins { samsung,pins =3D "gph-0"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd1_bus1: sd1-bus1-pins { samsung,pins =3D "gph-2"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd1_bus4: sd1-bus4-pins { samsung,pins =3D "gph-2", "gph-3", "gph-4", "gph-5"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd1_bus8: sd1-bus8-pins { samsung,pins =3D "gph-2", "gph-3", "gph-4", "gph-5", "gph-6", "gph-7", "gph-8", "gph-9"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd1_cd: sd1-cd-pins { samsung,pins =3D "gpg-6"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd2_cmd: sd2-cmd-pins { samsung,pins =3D "gpc-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd2_clk: sd2-clk-pins { samsung,pins =3D "gpc-5"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd2_bus1: sd2-bus1-pins { samsung,pins =3D "gph-6"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 sd2_bus4: sd2-bus4-pins { samsung,pins =3D "gph-6", "gph-7", "gph-8", "gph-9"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 i2s0_bus: i2s0-bus-pins { samsung,pins =3D "gpd-0", "gpd-2", "gpd-3", "gpd-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 i2s0_cdclk: i2s0-cdclk-pins { samsung,pins =3D "gpd-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 i2s1_bus: i2s1-bus-pins { samsung,pins =3D "gpe-0", "gpe-2", "gpe-3", "gpe-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 i2s1_cdclk: i2s1-cdclk-pins { samsung,pins =3D "gpe-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 @@ -353,50 +353,50 @@ i2s2_bus: i2s2-bus-pins { /* S3C6410-only */ samsung,pins =3D "gpc-4", "gpc-5", "gpc-6", "gph-6", "gph-8", "gph-9"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 i2s2_cdclk: i2s2-cdclk-pins { /* S3C6410-only */ samsung,pins =3D "gph-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 pcm0_bus: pcm0-bus-pins { samsung,pins =3D "gpd-0", "gpd-2", "gpd-3", "gpd-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 pcm0_extclk: pcm0-extclk-pins { samsung,pins =3D "gpd-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 pcm1_bus: pcm1-bus-pins { samsung,pins =3D "gpe-0", "gpe-2", "gpe-3", "gpe-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 pcm1_extclk: pcm1-extclk-pins { samsung,pins =3D "gpe-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 ac97_bus_0: ac97-bus-0-pins { samsung,pins =3D "gpd-0", "gpd-1", "gpd-2", "gpd-3", "gpd-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 ac97_bus_1: ac97-bus-1-pins { samsung,pins =3D "gpe-0", "gpe-1", "gpe-2", "gpe-3", "gpe-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 @@ -404,242 +404,242 @@ cam_port: cam-port-pins { samsung,pins =3D "gpf-0", "gpf-1", "gpf-2", "gpf-4", "gpf-5", "gpf-6", "gpf-7", "gpf-8", "gpf-9", "gpf-10", "gpf-11", "gpf-12"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 cam_rst: cam-rst-pins { samsung,pins =3D "gpf-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 cam_field: cam-field-pins { /* S3C6410-only */ samsung,pins =3D "gpb-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 pwm_extclk: pwm-extclk-pins { samsung,pins =3D "gpf-13"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 pwm0_out: pwm0-out-pins { samsung,pins =3D "gpf-14"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 pwm1_out: pwm1-out-pins { samsung,pins =3D "gpf-15"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 clkout0: clkout-0-pins { samsung,pins =3D "gpf-14"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col0_0: keypad-col0-0-pins { samsung,pins =3D "gph-0"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col1_0: keypad-col1-0-pins { samsung,pins =3D "gph-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col2_0: keypad-col2-0-pins { samsung,pins =3D "gph-2"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col3_0: keypad-col3-0-pins { samsung,pins =3D "gph-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col4_0: keypad-col4-0-pins { samsung,pins =3D "gph-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col5_0: keypad-col5-0-pins { samsung,pins =3D "gph-5"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col6_0: keypad-col6-0-pins { samsung,pins =3D "gph-6"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col7_0: keypad-col7-0-pins { samsung,pins =3D "gph-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col0_1: keypad-col0-1-pins { samsung,pins =3D "gpl-0"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col1_1: keypad-col1-1-pins { samsung,pins =3D "gpl-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col2_1: keypad-col2-1-pins { samsung,pins =3D "gpl-2"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col3_1: keypad-col3-1-pins { samsung,pins =3D "gpl-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col4_1: keypad-col4-1-pins { samsung,pins =3D "gpl-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col5_1: keypad-col5-1-pins { samsung,pins =3D "gpl-5"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col6_1: keypad-col6-1-pins { samsung,pins =3D "gpl-6"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_col7_1: keypad-col7-1-pins { samsung,pins =3D "gpl-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row0_0: keypad-row0-0-pins { samsung,pins =3D "gpk-8"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row1_0: keypad-row1-0-pins { samsung,pins =3D "gpk-9"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row2_0: keypad-row2-0-pins { samsung,pins =3D "gpk-10"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row3_0: keypad-row3-0-pins { samsung,pins =3D "gpk-11"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row4_0: keypad-row4-0-pins { samsung,pins =3D "gpk-12"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row5_0: keypad-row5-0-pins { samsung,pins =3D "gpk-13"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row6_0: keypad-row6-0-pins { samsung,pins =3D "gpk-14"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row7_0: keypad-row7-0-pins { samsung,pins =3D "gpk-15"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row0_1: keypad-row0-1-pins { samsung,pins =3D "gpn-0"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row1_1: keypad-row1-1-pins { samsung,pins =3D "gpn-1"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row2_1: keypad-row2-1-pins { samsung,pins =3D "gpn-2"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row3_1: keypad-row3-1-pins { samsung,pins =3D "gpn-3"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row4_1: keypad-row4-1-pins { samsung,pins =3D "gpn-4"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row5_1: keypad-row5-1-pins { samsung,pins =3D "gpn-5"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row6_1: keypad-row6-1-pins { samsung,pins =3D "gpn-6"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 keypad_row7_1: keypad-row7-1-pins { samsung,pins =3D "gpn-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 lcd_ctrl: lcd-ctrl-pins { samsung,pins =3D "gpj-8", "gpj-9", "gpj-10", "gpj-11"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 @@ -648,7 +648,7 @@ lcd_data16: lcd-data-width16-pins { "gpi-7", "gpi-10", "gpi-11", "gpi-12", "gpi-13", "gpi-14", "gpi-15", "gpj-3", "gpj-4", "gpj-5", "gpj-6", "gpj-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 @@ -658,7 +658,7 @@ lcd_data18: lcd-data-width18-pins { "gpi-12", "gpi-13", "gpi-14", "gpi-15", "gpj-2", "gpj-3", "gpj-4", "gpj-5", "gpj-6", "gpj-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 @@ -669,14 +669,14 @@ lcd_data24: lcd-data-width24-pins { "gpi-12", "gpi-13", "gpi-14", "gpi-15", "gpj-0", "gpj-1", "gpj-2", "gpj-3", "gpj-4", "gpj-5", "gpj-6", "gpj-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; =20 hsi_bus: hsi-bus-pins { samsung,pins =3D "gpk-0", "gpk-1", "gpk-2", "gpk-3", "gpk-4", "gpk-5", "gpk-6", "gpk-7"; - samsung,pin-function =3D ; + samsung,pin-function =3D ; samsung,pin-pud =3D ; }; }; diff --git a/arch/arm/boot/dts/s3c64xx-pinctrl.h b/arch/arm/boot/dts/s3c64x= x-pinctrl.h new file mode 100644 index 000000000000..c2c88ff96881 --- /dev/null +++ b/arch/arm/boot/dts/s3c64xx-pinctrl.h @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Samsung's Exynos pinctrl bindings + * + * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * Copyright (c) 2022 Linaro Ltd + * Author: Krzysztof Kozlowski + */ + +#ifndef __DTS_ARM_SAMSUNG_S3C64XX_PINCTRL_H__ +#define __DTS_ARM_SAMSUNG_S3C64XX_PINCTRL_H__ + +#define S3C64XX_PIN_PULL_NONE 0 +#define S3C64XX_PIN_PULL_DOWN 1 +#define S3C64XX_PIN_PULL_UP 2 + +#define S3C64XX_PIN_FUNC_INPUT 0 +#define S3C64XX_PIN_FUNC_OUTPUT 1 +#define S3C64XX_PIN_FUNC_2 2 +#define S3C64XX_PIN_FUNC_3 3 +#define S3C64XX_PIN_FUNC_4 4 +#define S3C64XX_PIN_FUNC_5 5 +#define S3C64XX_PIN_FUNC_6 6 +#define S3C64XX_PIN_FUNC_EINT 7 + +#endif /* __DTS_ARM_SAMSUNG_S3C64XX_PINCTRL_H__ */ --=20 2.34.1 From nobody Wed Apr 29 00:39:08 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 87FC6C433EF for ; Thu, 26 May 2022 14:37:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347705AbiEZOhq (ORCPT ); Thu, 26 May 2022 10:37:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36798 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347665AbiEZOhd (ORCPT ); Thu, 26 May 2022 10:37:33 -0400 Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5A578CEBB1 for ; Thu, 26 May 2022 07:37:26 -0700 (PDT) Received: by mail-ed1-x536.google.com with SMTP id q15so2043132edb.11 for ; Thu, 26 May 2022 07:37:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EvQNX3D7qOPXalVBRGNjE8WEf+NnKbp5zSzWzGj2YZY=; b=yZr8gWynMDhSjkkCEIuAsSrQF8xeDV6asGZdz3oE8hORHS4s8ma39Y6WDVu9CzViCf /+YY8CjmknDW+o7be8JlrJHcwTiamRUa2OJJV5KQHyzKgFSNjHVUsrugKANeCsorApc1 HzQHaxvxElKwkdzj/rJVetlcoZX4PPz7Sd8ejoQh6WS9D8FhqM96M+J0Ge6AzsZd9vhC Hk9KySGQpJAVaVYSk4QkndDUEoFhOhPxF/eFPZ4gKAYpajk0XVoMUCMbO8KgJUgoXwwn HEK32e6l6wdFGe0/R6iS1rBOlx4CeOpkQCvBBkMl3ZsegB/OacOnrMcESpziGuSa4wOx sy1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EvQNX3D7qOPXalVBRGNjE8WEf+NnKbp5zSzWzGj2YZY=; b=rPDfZXY55bFk4CCnUImCXvY/OOROZJSNBoTLsWlKY2b7/t/WBYvTAYcip14VvFfHnT 5nADsakbcQI9aabdeYGwc9BSNlhbv03BhCeOJz4IuS2Agxic9pX9CK47WvmR9kApcgpW ler4nft8/xwSOuNhGVsUGIzHN6WU5Ayqqg+7iwqaxzE5Gh1+K4QWYNavEgJoPJPCAPNv p3Rsi00HnIUtbASGKoE5D+ImoxpB4MYX8CRJAziUtmE0nbG/pEXW0A+93lgpN9LNNdsq sKiQQWeti8LaoFrt1XybyYH5+WlyEoz40Xv9ftS3w+PXS80n9RggVfPMCOl+pd+VIhMe Z/9Q== X-Gm-Message-State: AOAM532YdcWgh+6VM9J0/rpiqB+3sdBQp/YYdFdld4JRqqLJrdr7N0Jj w0d1A96WbOVchwmnnF7BeT98kA== X-Google-Smtp-Source: ABdhPJw0n6VhLZu4xtJwtjXwJnEnEBdNERczo1chysUtqzZArYKojmX25sEBMJCydqEo6wsuidPTuw== X-Received: by 2002:aa7:c683:0:b0:42a:b2cc:b345 with SMTP id n3-20020aa7c683000000b0042ab2ccb345mr39786124edq.282.1653575844574; Thu, 26 May 2022 07:37:24 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id f27-20020a50a6db000000b0042be2dfa8bdsm267962edc.81.2022.05.26.07.37.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 07:37:24 -0700 (PDT) From: Krzysztof Kozlowski To: Rob Herring , Krzysztof Kozlowski , Alim Akhtar , Tomasz Figa , Sylwester Nawrocki , Linus Walleij , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org Cc: Krzysztof Kozlowski Subject: [PATCH 3/7] ARM: dts: s5pv210: use local header for pinctrl register values Date: Thu, 26 May 2022 16:37:03 +0200 Message-Id: <20220526143707.767490-4-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> References: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The DTS uses hardware register values directly in pin controller pin configuration. These are not some IDs or other abstraction layer but raw numbers used in the registers. These numbers were previously put in the bindings header to avoid code duplication and to provide some context meaning (name), but they do not fit the purpose of bindings. It is also quite confusing to use constants prefixed with Exynos for other SoC, because there is actually nothing here in common, except the actual value. Store the constants in a header next to DTS and use them instead of bindings. Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/s5pv210-aquila.dts | 4 +- arch/arm/boot/dts/s5pv210-aries.dtsi | 134 +++--- arch/arm/boot/dts/s5pv210-fascinate4g.dts | 22 +- arch/arm/boot/dts/s5pv210-galaxys.dts | 34 +- arch/arm/boot/dts/s5pv210-pinctrl.dtsi | 480 +++++++++++----------- arch/arm/boot/dts/s5pv210-pinctrl.h | 39 ++ 6 files changed, 376 insertions(+), 337 deletions(-) create mode 100644 arch/arm/boot/dts/s5pv210-pinctrl.h diff --git a/arch/arm/boot/dts/s5pv210-aquila.dts b/arch/arm/boot/dts/s5pv2= 10-aquila.dts index bc0b7354b6c0..0f5c6cd0f3a1 100644 --- a/arch/arm/boot/dts/s5pv210-aquila.dts +++ b/arch/arm/boot/dts/s5pv210-aquila.dts @@ -392,7 +392,7 @@ timing0: timing { &pinctrl0 { t_flash_detect: t-flash-detect-pins { samsung,pins =3D "gph3-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; }; }; diff --git a/arch/arm/boot/dts/s5pv210-aries.dtsi b/arch/arm/boot/dts/s5pv2= 10-aries.dtsi index daa1067055c8..5541df4df628 100644 --- a/arch/arm/boot/dts/s5pv210-aries.dtsi +++ b/arch/arm/boot/dts/s5pv210-aries.dtsi @@ -646,183 +646,183 @@ &mfc { &pinctrl0 { bt_reset: bt-reset-pins { samsung,pins =3D "gpb-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 wlan_bt_en: wlan-bt-en-pins { samsung,pins =3D "gpb-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; samsung,pin-val =3D <1>; }; =20 codec_ldo: codec-ldo-pins { samsung,pins =3D "gpf3-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; }; =20 prox_i2c_pins: gp2a-i2c-pins { samsung,pins =3D "gpg0-2", "gpg2-2"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 wlan_gpio_rst: wlan-gpio-rst-pins { samsung,pins =3D "gpg1-2"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; }; =20 bt_wake: bt-wake-pins { samsung,pins =3D "gpg3-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; }; =20 gp2a_irq: gp2a-irq-pins { samsung,pins =3D "gph0-2"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 pmic_dvs_pins: pmic-dvs-pins { samsung,pins =3D "gph0-3", "gph0-4", "gph0-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; samsung,pin-val =3D <0>; }; =20 pmic_irq: pmic-irq-pins { samsung,pins =3D "gph0-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 wifi_host_wake: wifi-host-wake-pins { samsung,pins =3D "gph2-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 bt_host_wake: bt-host-wake-pins { samsung,pins =3D "gph2-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 musb_irq: musq-irq-pins { samsung,pins =3D "gph2-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 tf_detect: tf-detect-pins { samsung,pins =3D "gph3-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 wifi_wake: wifi-wake-pins { samsung,pins =3D "gph3-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; }; =20 magnetometer_i2c_pins: yas529-i2c-pins-pins { samsung,pins =3D "gpj0-0", "gpj0-1"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 ts_irq: ts-irq-pins { samsung,pins =3D "gpj0-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 vibrator_ena: vibrator-ena-pins { samsung,pins =3D "gpj1-1"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 gp2a_power: gp2a-power-pins { samsung,pins =3D "gpj1-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 touchkey_i2c_pins: touchkey-i2c-pins { samsung,pins =3D "gpj3-0", "gpj3-1"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 touchkey_vdd_ena: touchkey-vdd-ena-pins { samsung,pins =3D "gpj3-2"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 musb_i2c_pins: musb-i2c-pins { samsung,pins =3D "gpj3-4", "gpj3-5"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 accel_i2c_pins: accel-i2c-pins { samsung,pins =3D "gpj3-6", "gpj3-7"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 pmic_i2c_pins: pmic-i2c-pins-pins { samsung,pins =3D "gpj4-0", "gpj4-3"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 touchkey_irq: touchkey-irq-pins { samsung,pins =3D "gpj4-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 lcd_spi_pins: spi-lcd-pins { samsung,pins =3D "mp01-1", "mp04-1", "mp04-3"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 fg_i2c_pins: fg-i2c-pins { samsung,pins =3D "mp05-0", "mp05-1"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sound_i2c_pins: sound-i2c-pins { samsung,pins =3D "mp05-2", "mp05-3"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 panel_rst: panel-rst-pins { samsung,pins =3D "mp05-5"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; }; =20 diff --git a/arch/arm/boot/dts/s5pv210-fascinate4g.dts b/arch/arm/boot/dts/= s5pv210-fascinate4g.dts index dfb2ee65e4a8..eae51b197ee9 100644 --- a/arch/arm/boot/dts/s5pv210-fascinate4g.dts +++ b/arch/arm/boot/dts/s5pv210-fascinate4g.dts @@ -128,33 +128,33 @@ &pinctrl0 { =20 headset_det: headset-det-pins { samsung,pins =3D "gph0-6", "gph3-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; }; =20 fg_irq: fg-irq-pins { samsung,pins =3D "gph3-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 headset_micbias_ena: headset-micbias-ena-pins { samsung,pins =3D "gpj2-5"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 earpath_sel: earpath-sel-pins { samsung,pins =3D "gpj2-6"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 main_micbias_ena: main-micbias-ena-pins { samsung,pins =3D "gpj4-2"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 /* Based on vendor kernel v2.6.35.7 */ diff --git a/arch/arm/boot/dts/s5pv210-galaxys.dts b/arch/arm/boot/dts/s5pv= 210-galaxys.dts index a78caaa1f3c5..aaf880792f36 100644 --- a/arch/arm/boot/dts/s5pv210-galaxys.dts +++ b/arch/arm/boot/dts/s5pv210-galaxys.dts @@ -152,47 +152,47 @@ &pinctrl0 { =20 fm_i2c_pins: fm-i2c-pins-pins { samsung,pins =3D "gpd1-2", "gpd1-3"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 headset_det: headset-det-pins { samsung,pins =3D "gph0-6", "gph3-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; }; =20 fm_irq: fm-irq-pins { samsung,pins =3D "gpj2-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 fm_rst: fm-rst-pins { samsung,pins =3D "gpj2-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 earpath_sel: earpath-sel-pins { samsung,pins =3D "gpj2-6"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 massmemory_en: massmemory-en-pins { samsung,pins =3D "gpj2-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 micbias_reg_ena: micbias-reg-ena-pins { samsung,pins =3D "gpj4-2"; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 /* Based on CyanogenMod 3.0.101 kernel */ diff --git a/arch/arm/boot/dts/s5pv210-pinctrl.dtsi b/arch/arm/boot/dts/s5p= v210-pinctrl.dtsi index ae34e7e57892..6d6daef9fb7a 100644 --- a/arch/arm/boot/dts/s5pv210-pinctrl.dtsi +++ b/arch/arm/boot/dts/s5pv210-pinctrl.dtsi @@ -16,13 +16,13 @@ * nodes can be added to this file. */ =20 -#include +#include "s5pv210-pinctrl.h" =20 #define PIN_SLP(_pin, _mode, _pull) \ _pin { \ samsung,pins =3D #_pin; \ - samsung,pin-con-pdn =3D ; \ - samsung,pin-pud-pdn =3D ; \ + samsung,pin-con-pdn =3D ; \ + samsung,pin-pud-pdn =3D ; \ } =20 &pinctrl0 { @@ -280,559 +280,559 @@ gph3: gph3-gpio-bank { =20 uart0_data: uart0-data-pins { samsung,pins =3D "gpa0-0", "gpa0-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 uart0_fctl: uart0-fctl-pins { samsung,pins =3D "gpa0-2", "gpa0-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 uart1_data: uart1-data-pins { samsung,pins =3D "gpa0-4", "gpa0-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 uart1_fctl: uart1-fctl-pins { samsung,pins =3D "gpa0-6", "gpa0-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 uart2_data: uart2-data-pins { samsung,pins =3D "gpa1-0", "gpa1-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 uart2_fctl: uart2-fctl-pins { samsung,pins =3D "gpa1-2", "gpa1-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 uart3_data: uart3-data-pins { samsung,pins =3D "gpa1-2", "gpa1-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 uart_audio: uart-audio-pins { samsung,pins =3D "gpa1-2", "gpa1-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 spi0_bus: spi0-bus-pins { samsung,pins =3D "gpb-0", "gpb-2", "gpb-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 spi1_bus: spi1-bus-pins { samsung,pins =3D "gpb-4", "gpb-6", "gpb-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 i2s0_bus: i2s0-bus-pins { samsung,pins =3D "gpi-0", "gpi-1", "gpi-2", "gpi-3", "gpi-4", "gpi-5", "gpi-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 i2s1_bus: i2s1-bus-pins { samsung,pins =3D "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3", "gpc0-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 i2s2_bus: i2s2-bus-pins { samsung,pins =3D "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", "gpc1-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 pcm1_bus: pcm1-bus-pins { samsung,pins =3D "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3", "gpc0-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 ac97_bus: ac97-bus-pins { samsung,pins =3D "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3", "gpc0-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 i2s2_bus: i2s2-bus-pins { samsung,pins =3D "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", "gpc1-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 pcm2_bus: pcm2-bus-pins { samsung,pins =3D "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", "gpc1-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 spdif_bus: spdif-bus-pins { samsung,pins =3D "gpc1-0", "gpc1-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 spi2_bus: spi2-bus-pins { samsung,pins =3D "gpc1-1", "gpc1-2", "gpc1-3", "gpc1-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 i2c0_bus: i2c0-bus-pins { samsung,pins =3D "gpd1-0", "gpd1-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 i2c1_bus: i2c1-bus-pins { samsung,pins =3D "gpd1-2", "gpd1-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 i2c2_bus: i2c2-bus-pins { samsung,pins =3D "gpd1-4", "gpd1-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 pwm0_out: pwm0-out-pins { samsung,pins =3D "gpd0-0"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 pwm1_out: pwm1-out-pins { samsung,pins =3D "gpd0-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 pwm2_out: pwm2-out-pins { samsung,pins =3D "gpd0-2"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 pwm3_out: pwm3-out-pins { samsung,pins =3D "gpd0-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_row0: keypad-row-0-pins { samsung,pins =3D "gph3-0"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_row1: keypad-row-1-pins { samsung,pins =3D "gph3-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_row2: keypad-row-2-pins { samsung,pins =3D "gph3-2"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_row3: keypad-row-3-pins { samsung,pins =3D "gph3-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_row4: keypad-row-4-pins { samsung,pins =3D "gph3-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_row5: keypad-row-5-pins { samsung,pins =3D "gph3-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_row6: keypad-row-6-pins { samsung,pins =3D "gph3-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_row7: keypad-row-7-pins { samsung,pins =3D "gph3-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_col0: keypad-col-0-pins { samsung,pins =3D "gph2-0"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_col1: keypad-col-1-pins { samsung,pins =3D "gph2-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_col2: keypad-col-2-pins { samsung,pins =3D "gph2-2"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_col3: keypad-col-3-pins { samsung,pins =3D "gph2-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_col4: keypad-col-4-pins { samsung,pins =3D "gph2-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_col5: keypad-col-5-pins { samsung,pins =3D "gph2-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_col6: keypad-col-6-pins { samsung,pins =3D "gph2-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 keypad_col7: keypad-col-7-pins { samsung,pins =3D "gph2-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd0_clk: sd0-clk-pins { samsung,pins =3D "gpg0-0"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd0_cmd: sd0-cmd-pins { samsung,pins =3D "gpg0-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd0_cd: sd0-cd-pins { samsung,pins =3D "gpg0-2"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd0_bus1: sd0-bus-width1-pins { samsung,pins =3D "gpg0-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd0_bus4: sd0-bus-width4-pins { samsung,pins =3D "gpg0-3", "gpg0-4", "gpg0-5", "gpg0-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd0_bus8: sd0-bus-width8-pins { samsung,pins =3D "gpg1-3", "gpg1-4", "gpg1-5", "gpg1-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd1_clk: sd1-clk-pins { samsung,pins =3D "gpg1-0"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd1_cmd: sd1-cmd-pins { samsung,pins =3D "gpg1-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd1_cd: sd1-cd-pins { samsung,pins =3D "gpg1-2"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd1_bus1: sd1-bus-width1-pins { samsung,pins =3D "gpg1-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd1_bus4: sd1-bus-width4-pins { samsung,pins =3D "gpg1-3", "gpg1-4", "gpg1-5", "gpg1-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd2_clk: sd2-clk-pins { samsung,pins =3D "gpg2-0"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd2_cmd: sd2-cmd-pins { samsung,pins =3D "gpg2-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd2_cd: sd2-cd-pins { samsung,pins =3D "gpg2-2"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd2_bus1: sd2-bus-width1-pins { samsung,pins =3D "gpg2-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd2_bus4: sd2-bus-width4-pins { samsung,pins =3D "gpg2-3", "gpg2-4", "gpg2-5", "gpg2-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd2_bus8: sd2-bus-width8-pins { samsung,pins =3D "gpg3-3", "gpg3-4", "gpg3-5", "gpg3-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd3_clk: sd3-clk-pins { samsung,pins =3D "gpg3-0"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd3_cmd: sd3-cmd-pins { samsung,pins =3D "gpg3-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd3_cd: sd3-cd-pins { samsung,pins =3D "gpg3-2"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd3_bus1: sd3-bus-width1-pins { samsung,pins =3D "gpg3-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 sd3_bus4: sd3-bus-width4-pins { samsung,pins =3D "gpg3-3", "gpg3-4", "gpg3-5", "gpg3-6"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 eint0: ext-int0-pins { samsung,pins =3D "gph0-0"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 eint8: ext-int8-pins { samsung,pins =3D "gph1-0"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 eint15: ext-int15-pins { samsung,pins =3D "gph1-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 eint16: ext-int16-pins { samsung,pins =3D "gph2-0"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 eint31: ext-int31-pins { samsung,pins =3D "gph3-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 cam_port_a_io: cam-port-a-io-pins { samsung,pins =3D "gpe0-0", "gpe0-1", "gpe0-2", "gpe0-3", "gpe0-4", "gpe0-5", "gpe0-6", "gpe0-7", "gpe1-0", "gpe1-1", "gpe1-2", "gpe1-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 cam_port_a_clk_active: cam-port-a-clk-active-pins { samsung,pins =3D "gpe1-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 cam_port_a_clk_idle: cam-port-a-clk-idle-pins { samsung,pins =3D "gpe1-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 cam_port_b_io: cam-port-b-io-pins { samsung,pins =3D "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3", "gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7", "gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 cam_port_b_clk_active: cam-port-b-clk-active-pins { samsung,pins =3D "gpj1-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 cam_port_b_clk_idle: cam-port-b-clk-idle-pins { samsung,pins =3D "gpj1-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 lcd_ctrl: lcd-ctrl-pins { samsung,pins =3D "gpd0-0", "gpd0-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 lcd_sync: lcd-sync-pins { samsung,pins =3D "gpf0-0", "gpf0-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 lcd_clk: lcd-clk-pins { samsung,pins =3D "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 lcd_data24: lcd-data-width24-pins { @@ -842,8 +842,8 @@ lcd_data24: lcd-data-width24-pins { "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; }; diff --git a/arch/arm/boot/dts/s5pv210-pinctrl.h b/arch/arm/boot/dts/s5pv21= 0-pinctrl.h new file mode 100644 index 000000000000..2b067bcdca60 --- /dev/null +++ b/arch/arm/boot/dts/s5pv210-pinctrl.h @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Samsung's Exynos pinctrl bindings + * + * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * Copyright (c) 2022 Linaro Ltd + * Author: Krzysztof Kozlowski + */ + +#ifndef __DTS_ARM_SAMSUNG_S5PV210_PINCTRL_H__ +#define __DTS_ARM_SAMSUNG_S5PV210_PINCTRL_H__ + +#define S5PV210_PIN_PULL_NONE 0 +#define S5PV210_PIN_PULL_DOWN 1 +#define S5PV210_PIN_PULL_UP 2 + +/* Pin function in power down mode */ +#define S5PV210_PIN_PDN_OUT0 0 +#define S5PV210_PIN_PDN_OUT1 1 +#define S5PV210_PIN_PDN_INPUT 2 +#define S5PV210_PIN_PDN_PREV 3 + +#define S5PV210_PIN_DRV_LV1 0 +#define S5PV210_PIN_DRV_LV2 2 +#define S5PV210_PIN_DRV_LV3 1 +#define S5PV210_PIN_DRV_LV4 3 + +#define S5PV210_PIN_FUNC_INPUT 0 +#define S5PV210_PIN_FUNC_OUTPUT 1 +#define S5PV210_PIN_FUNC_2 2 +#define S5PV210_PIN_FUNC_3 3 +#define S5PV210_PIN_FUNC_4 4 +#define S5PV210_PIN_FUNC_5 5 +#define S5PV210_PIN_FUNC_6 6 +#define S5PV210_PIN_FUNC_EINT 0xf +#define S5PV210_PIN_FUNC_F S5PV210_PIN_FUNC_EINT + +#endif /* __DTS_ARM_SAMSUNG_S5PV210_PINCTRL_H__ */ --=20 2.34.1 From nobody Wed Apr 29 00:39:08 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4C364C433FE for ; Thu, 26 May 2022 14:37:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347721AbiEZOhs (ORCPT ); Thu, 26 May 2022 10:37:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36806 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347669AbiEZOhd (ORCPT ); Thu, 26 May 2022 10:37:33 -0400 Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8F81DCFE14 for ; Thu, 26 May 2022 07:37:27 -0700 (PDT) Received: by mail-ej1-x62b.google.com with SMTP id rq11so3430363ejc.4 for ; Thu, 26 May 2022 07:37:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WJmcWhJedvtcAjo+j/3Du5ncLIVMWf7SK53AaOQi+fo=; b=SN7wiGemmQNeEVblaLi2mtCv6WB0+wyJ0SdVyzC6EUv2g4/3z+qxLmJQT3IRU3cFpX DArpt1KyWOljFY7tI77RmdCdjH5zoi2TIK51Ng5OfFbN1bk+zNjaWz1aLDtBtpByyAVk NFiZvZsh5qmlqmGS/nauBCgoiPAXQWC8lokCIQ/8cUQZlN6Gt+Im8+8IANBt6VnXBfZk ypR45lFNI7bVSsz63n597M0r0WsVnpibxrPgMqGwn0oAfbxRKL3kucN1n5vBtDuYWx1F /DOnoNT6yRj6HOYfki2nRRO6Fap+ZWcGoXQsXC5ibsP55h7zSwI48rVRwrthshkLkMz9 e2bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WJmcWhJedvtcAjo+j/3Du5ncLIVMWf7SK53AaOQi+fo=; b=Uf6TRDNWwFkxcgp1XaZrnufOnZqiSqe8QWA88ajGB/KqGmADhAC5Rkt+CY9bfzJFuJ vJ2uhQHtM9CXHIlYMK4MWUIpPzGtKhQAe0J/3G+jESJDVNwke3SWVzGEN+WcV0/ZX94D TK87FvoKOjh9tzmcTlhyTCxSI+uD93qcHFA5s/HcDrY5cyskHc4TKhDetdpiCJVhc7Fj 8Hxvmde/rvA88U/oxxPHWZX7+e3CBg1ei86A1rwx83uN/+rp3dWa1uQW63tyqKMLT0o0 WIkYUHxXjT8HROiUfY8qC/GVV7j6xr4RPtxuFvv2yuv55CcwWLfqs6/wlD4vWDSDPlRt eW6A== X-Gm-Message-State: AOAM530Cb4cYKvICwILVgjnFDsV4JvuT1DHr8a9yaeY21AN7cIUuG2qc JHDPbYJ9dwHJyIVk+3GhIkt3Kw== X-Google-Smtp-Source: ABdhPJx2xrSY0c+2+H54SwAGuUmhzFRo8nhpO/9DPmdxqXJmVWAhCw7HXa42Tb5ojlGhGv9MMXQFqw== X-Received: by 2002:a17:907:6d1f:b0:6fe:e53b:7f53 with SMTP id sa31-20020a1709076d1f00b006fee53b7f53mr18495027ejc.375.1653575845845; Thu, 26 May 2022 07:37:25 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id f27-20020a50a6db000000b0042be2dfa8bdsm267962edc.81.2022.05.26.07.37.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 07:37:25 -0700 (PDT) From: Krzysztof Kozlowski To: Rob Herring , Krzysztof Kozlowski , Alim Akhtar , Tomasz Figa , Sylwester Nawrocki , Linus Walleij , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org Cc: Krzysztof Kozlowski Subject: [PATCH 4/7] ARM: dts: exynos: use local header for pinctrl register values Date: Thu, 26 May 2022 16:37:04 +0200 Message-Id: <20220526143707.767490-5-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> References: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The DTS uses hardware register values directly in pin controller pin configuration. These are not some IDs or other abstraction layer but raw numbers used in the registers. These numbers were previously put in the bindings header to avoid code duplication and to provide some context meaning (name), but they do not fit the purpose of bindings. Store the constants in a header next to DTS and use them instead of bindings. Signed-off-by: Krzysztof Kozlowski --- arch/arm/boot/dts/exynos-pinctrl.h | 55 +++++++++++++++++++++++ arch/arm/boot/dts/exynos3250-pinctrl.dtsi | 2 +- arch/arm/boot/dts/exynos4210-pinctrl.dtsi | 2 +- arch/arm/boot/dts/exynos4412-midas.dtsi | 3 +- arch/arm/boot/dts/exynos4412-p4note.dtsi | 2 +- arch/arm/boot/dts/exynos4412-pinctrl.dtsi | 2 +- arch/arm/boot/dts/exynos5250-pinctrl.dtsi | 2 +- arch/arm/boot/dts/exynos5260-pinctrl.dtsi | 2 +- arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 2 +- arch/arm/boot/dts/exynos5420-pinctrl.dtsi | 2 +- 10 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 arch/arm/boot/dts/exynos-pinctrl.h diff --git a/arch/arm/boot/dts/exynos-pinctrl.h b/arch/arm/boot/dts/exynos-= pinctrl.h new file mode 100644 index 000000000000..3a96915ae9b6 --- /dev/null +++ b/arch/arm/boot/dts/exynos-pinctrl.h @@ -0,0 +1,55 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Samsung's Exynos pinctrl bindings + * + * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * Copyright (c) 2022 Linaro Ltd + * Author: Krzysztof Kozlowski + */ + +#ifndef __DTS_ARM_SAMSUNG_EXYNOS_PINCTRL_H__ +#define __DTS_ARM_SAMSUNG_EXYNOS_PINCTRL_H__ + +#define EXYNOS_PIN_PULL_NONE 0 +#define EXYNOS_PIN_PULL_DOWN 1 +#define EXYNOS_PIN_PULL_UP 3 + +/* Pin function in power down mode */ +#define EXYNOS_PIN_PDN_OUT0 0 +#define EXYNOS_PIN_PDN_OUT1 1 +#define EXYNOS_PIN_PDN_INPUT 2 +#define EXYNOS_PIN_PDN_PREV 3 + +/* Drive strengths for Exynos3250, Exynos4 (all) and Exynos5250 */ +#define EXYNOS4_PIN_DRV_LV1 0 +#define EXYNOS4_PIN_DRV_LV2 2 +#define EXYNOS4_PIN_DRV_LV3 1 +#define EXYNOS4_PIN_DRV_LV4 3 + +/* Drive strengths for Exynos5260 */ +#define EXYNOS5260_PIN_DRV_LV1 0 +#define EXYNOS5260_PIN_DRV_LV2 1 +#define EXYNOS5260_PIN_DRV_LV4 2 +#define EXYNOS5260_PIN_DRV_LV6 3 + +/* + * Drive strengths for Exynos5410, Exynos542x, Exynos5800 and Exynos850 (e= xcept + * GPIO_HSI block) + */ +#define EXYNOS5420_PIN_DRV_LV1 0 +#define EXYNOS5420_PIN_DRV_LV2 1 +#define EXYNOS5420_PIN_DRV_LV3 2 +#define EXYNOS5420_PIN_DRV_LV4 3 + +#define EXYNOS_PIN_FUNC_INPUT 0 +#define EXYNOS_PIN_FUNC_OUTPUT 1 +#define EXYNOS_PIN_FUNC_2 2 +#define EXYNOS_PIN_FUNC_3 3 +#define EXYNOS_PIN_FUNC_4 4 +#define EXYNOS_PIN_FUNC_5 5 +#define EXYNOS_PIN_FUNC_6 6 +#define EXYNOS_PIN_FUNC_EINT 0xf +#define EXYNOS_PIN_FUNC_F EXYNOS_PIN_FUNC_EINT + +#endif /* __DTS_ARM_SAMSUNG_EXYNOS_PINCTRL_H__ */ diff --git a/arch/arm/boot/dts/exynos3250-pinctrl.dtsi b/arch/arm/boot/dts/= exynos3250-pinctrl.dtsi index cc30d154ec94..011ba2eff29e 100644 --- a/arch/arm/boot/dts/exynos3250-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos3250-pinctrl.dtsi @@ -9,7 +9,7 @@ * tree nodes are listed in this file. */ =20 -#include +#include "exynos-pinctrl.h" =20 #define PIN_IN(_pin, _pull, _drv) \ pin- ## _pin { \ diff --git a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi b/arch/arm/boot/dts/= exynos4210-pinctrl.dtsi index 6373009bb727..76f44ae0de46 100644 --- a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi @@ -11,7 +11,7 @@ * tree nodes are listed in this file. */ =20 -#include +#include "exynos-pinctrl.h" =20 &pinctrl_0 { gpa0: gpa0-gpio-bank { diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/ex= ynos4412-midas.dtsi index 23f50c9be527..b967397a46c5 100644 --- a/arch/arm/boot/dts/exynos4412-midas.dtsi +++ b/arch/arm/boot/dts/exynos4412-midas.dtsi @@ -12,11 +12,12 @@ /dts-v1/; #include "exynos4412.dtsi" #include "exynos4412-ppmu-common.dtsi" + #include #include #include #include -#include +#include "exynos-pinctrl.h" =20 / { compatible =3D "samsung,midas", "samsung,exynos4412", "samsung,exynos4"; diff --git a/arch/arm/boot/dts/exynos4412-p4note.dtsi b/arch/arm/boot/dts/e= xynos4412-p4note.dtsi index 97f131b1014b..286a547b110e 100644 --- a/arch/arm/boot/dts/exynos4412-p4note.dtsi +++ b/arch/arm/boot/dts/exynos4412-p4note.dtsi @@ -15,8 +15,8 @@ #include #include #include -#include #include +#include "exynos-pinctrl.h" =20 / { compatible =3D "samsung,p4note", "samsung,exynos4412", "samsung,exynos4"; diff --git a/arch/arm/boot/dts/exynos4412-pinctrl.dtsi b/arch/arm/boot/dts/= exynos4412-pinctrl.dtsi index 88b8afd55664..58847d4fa846 100644 --- a/arch/arm/boot/dts/exynos4412-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos4412-pinctrl.dtsi @@ -9,7 +9,7 @@ * tree nodes are listed in this file. */ =20 -#include +#include "exynos-pinctrl.h" =20 #define PIN_SLP(_pin, _mode, _pull) \ _pin { \ diff --git a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi b/arch/arm/boot/dts/= exynos5250-pinctrl.dtsi index 918947a3897e..48732edadff1 100644 --- a/arch/arm/boot/dts/exynos5250-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos5250-pinctrl.dtsi @@ -9,7 +9,7 @@ * tree nodes are listed in this file. */ =20 -#include +#include "exynos-pinctrl.h" =20 &pinctrl_0 { gpa0: gpa0-gpio-bank { diff --git a/arch/arm/boot/dts/exynos5260-pinctrl.dtsi b/arch/arm/boot/dts/= exynos5260-pinctrl.dtsi index 150607f8103d..43e4a541f479 100644 --- a/arch/arm/boot/dts/exynos5260-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos5260-pinctrl.dtsi @@ -9,7 +9,7 @@ * tree nodes are listed in this file. */ =20 -#include +#include "exynos-pinctrl.h" =20 &pinctrl_0 { gpa0: gpa0-gpio-bank { diff --git a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi b/arch/arm/boot/dts/= exynos5410-pinctrl.dtsi index 6c7814b4372e..f7b923382892 100644 --- a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos5410-pinctrl.dtsi @@ -6,7 +6,7 @@ * https://www.hardkernel.com */ =20 -#include +#include "exynos-pinctrl.h" =20 &pinctrl_0 { gpa0: gpa0-gpio-bank { diff --git a/arch/arm/boot/dts/exynos5420-pinctrl.dtsi b/arch/arm/boot/dts/= exynos5420-pinctrl.dtsi index 546ba274f4e5..14cf9c4ca0ed 100644 --- a/arch/arm/boot/dts/exynos5420-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos5420-pinctrl.dtsi @@ -9,7 +9,7 @@ * tree nodes are listed in this file. */ =20 -#include +#include "exynos-pinctrl.h" =20 &pinctrl_0 { gpy7: gpy7-gpio-bank { --=20 2.34.1 From nobody Wed Apr 29 00:39:08 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A38C0C433EF for ; Thu, 26 May 2022 14:38:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347742AbiEZOiH (ORCPT ); Thu, 26 May 2022 10:38:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36840 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347676AbiEZOhe (ORCPT ); Thu, 26 May 2022 10:37:34 -0400 Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com [IPv6:2a00:1450:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B0A9ED0291 for ; Thu, 26 May 2022 07:37:28 -0700 (PDT) Received: by mail-ej1-x635.google.com with SMTP id ck4so3330984ejb.8 for ; Thu, 26 May 2022 07:37:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=XotmoyGENTKzdFs/kjENA5hkXRoByzTebnhMnOPE5tI=; b=n8Q5DTSWxDAsPwKd8qW3GDt+fIVtOob3bl5Agkda8Bb3nlL0081p7JoRvBoTMvzZnr ASrvWz5qQbUo+fHvdv/nGUUszsc28dGk6AFs9J7+Svlx8erqW9gAGtHmp6F78zaF7HNS 9sxmOjvW9M/Eiwq9JL7fZuDDVG7WG359ltBUf/LWraBDSVc0fAWUcH4p8COFcLhoISWe Eq2mxr8D/c8a28hLgL0ORKWQfWJq/9hUQJVirKUCpx5bDRBLKjUMwC4mT4ivzepOpRGQ CPnur06UHGWlQiYQ+UxYkRnueP1VXYlxjAgoVHd1aN3lBKVV4OK1qV8/BEt81DXohfLi hH9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XotmoyGENTKzdFs/kjENA5hkXRoByzTebnhMnOPE5tI=; b=xGVtHIPoVqpfw0pcdOyQ7qchevXpUy6bYg9P+5W7TnMYfqjYMtBd5Q4ORLOZLKTA/t 6yFLXTjSMcpZF8HU30nyZv+bBphkzOl6ZS/gO2lQP/Vd3UL96tFzf3Y4X4qcw0Ni1eaU VwMmMFT3JUAbd6Hrk1/UWrzmENhYSaF65TNFwRbcsltJbVSl4v1a8gY1T6X096cv0ltL ioMxFw+VvmXUmI5K0MG0rkKYmBkCyXqTGkFC9wS8t1ixjm0+0ckGxfzT/X+JLrmUS93t vPdmtTv/yVkZlVhsdCdPVqS2Q6jOLvZMJEgjsLTZyES5iMVGRVk8inCbFH8VqXPjY/a+ RkVw== X-Gm-Message-State: AOAM532dcABkIBIZGKTqKXSlbxxD+QE39yF7tnak4ZdItCXVPE3hdLQR LCcgIZovAmUMEi22ZjeTCd785w== X-Google-Smtp-Source: ABdhPJwNVEqxQwr83S5CUUojKyQ2oom79sHVNvzSZbkfFAmGRGYFIVxamqmTiwB4Kqme1/jZjcR6gw== X-Received: by 2002:a17:907:7f1b:b0:6ff:159a:5502 with SMTP id qf27-20020a1709077f1b00b006ff159a5502mr7083000ejc.738.1653575847044; Thu, 26 May 2022 07:37:27 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id f27-20020a50a6db000000b0042be2dfa8bdsm267962edc.81.2022.05.26.07.37.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 07:37:26 -0700 (PDT) From: Krzysztof Kozlowski To: Rob Herring , Krzysztof Kozlowski , Alim Akhtar , Tomasz Figa , Sylwester Nawrocki , Linus Walleij , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org Cc: Krzysztof Kozlowski Subject: [PATCH 5/7] arm64: dts: exynos: use local header for pinctrl register values Date: Thu, 26 May 2022 16:37:05 +0200 Message-Id: <20220526143707.767490-6-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> References: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The DTS uses hardware register values directly in pin controller pin configuration. These are not some IDs or other abstraction layer but raw numbers used in the registers. These numbers were previously put in the bindings header to avoid code duplication and to provide some context meaning (name), but they do not fit the purpose of bindings. Store the constants in a header next to DTS and use them instead of bindings. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Chanho Park Tested-by: Chanho Park --- arch/arm64/boot/dts/exynos/exynos-pinctrl.h | 79 +++++++++++++++++++ .../boot/dts/exynos/exynos5433-pinctrl.dtsi | 2 +- .../boot/dts/exynos/exynos7-espresso.dts | 6 +- .../boot/dts/exynos/exynos7-pinctrl.dtsi | 72 ++++++++--------- .../boot/dts/exynos/exynos7885-pinctrl.dtsi | 2 +- .../boot/dts/exynos/exynos850-pinctrl.dtsi | 2 +- .../boot/dts/exynos/exynosautov9-pinctrl.dtsi | 2 +- 7 files changed, 122 insertions(+), 43 deletions(-) create mode 100644 arch/arm64/boot/dts/exynos/exynos-pinctrl.h diff --git a/arch/arm64/boot/dts/exynos/exynos-pinctrl.h b/arch/arm64/boot/= dts/exynos/exynos-pinctrl.h new file mode 100644 index 000000000000..1a23c7817057 --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos-pinctrl.h @@ -0,0 +1,79 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Samsung's Exynos pinctrl bindings + * + * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * Copyright (c) 2022 Linaro Ltd + * Author: Krzysztof Kozlowski + */ + +#ifndef __DTS_ARM64_SAMSUNG_EXYNOS_PINCTRL_H__ +#define __DTS_ARM64_SAMSUNG_EXYNOS_PINCTRL_H__ + +#define EXYNOS_PIN_PULL_NONE 0 +#define EXYNOS_PIN_PULL_DOWN 1 +#define EXYNOS_PIN_PULL_UP 3 + +/* Pin function in power down mode */ +#define EXYNOS_PIN_PDN_OUT0 0 +#define EXYNOS_PIN_PDN_OUT1 1 +#define EXYNOS_PIN_PDN_INPUT 2 +#define EXYNOS_PIN_PDN_PREV 3 + +/* + * Drive strengths for Exynos5410, Exynos542x, Exynos5800, Exynos7885, Exy= nos850 + * (except GPIO_HSI block), ExynosAutov9 (FSI0, PERIC1) + */ +#define EXYNOS5420_PIN_DRV_LV1 0 +#define EXYNOS5420_PIN_DRV_LV2 1 +#define EXYNOS5420_PIN_DRV_LV3 2 +#define EXYNOS5420_PIN_DRV_LV4 3 + +/* Drive strengths for Exynos5433 */ +#define EXYNOS5433_PIN_DRV_FAST_SR1 0 +#define EXYNOS5433_PIN_DRV_FAST_SR2 1 +#define EXYNOS5433_PIN_DRV_FAST_SR3 2 +#define EXYNOS5433_PIN_DRV_FAST_SR4 3 +#define EXYNOS5433_PIN_DRV_FAST_SR5 4 +#define EXYNOS5433_PIN_DRV_FAST_SR6 5 +#define EXYNOS5433_PIN_DRV_SLOW_SR1 8 +#define EXYNOS5433_PIN_DRV_SLOW_SR2 9 +#define EXYNOS5433_PIN_DRV_SLOW_SR3 0xa +#define EXYNOS5433_PIN_DRV_SLOW_SR4 0xb +#define EXYNOS5433_PIN_DRV_SLOW_SR5 0xc +#define EXYNOS5433_PIN_DRV_SLOW_SR6 0xf + +/* Drive strengths for Exynos7 (except FSYS1) */ +#define EXYNOS7_PIN_DRV_LV1 0 +#define EXYNOS7_PIN_DRV_LV2 2 +#define EXYNOS7_PIN_DRV_LV3 1 +#define EXYNOS7_PIN_DRV_LV4 3 + +/* Drive strengths for Exynos7 FSYS1 block */ +#define EXYNOS7_FSYS1_PIN_DRV_LV1 0 +#define EXYNOS7_FSYS1_PIN_DRV_LV2 4 +#define EXYNOS7_FSYS1_PIN_DRV_LV3 2 +#define EXYNOS7_FSYS1_PIN_DRV_LV4 6 +#define EXYNOS7_FSYS1_PIN_DRV_LV5 1 +#define EXYNOS7_FSYS1_PIN_DRV_LV6 5 + +/* Drive strengths for Exynos850 GPIO_HSI block */ +#define EXYNOS850_HSI_PIN_DRV_LV1 0 /* 1x */ +#define EXYNOS850_HSI_PIN_DRV_LV1_5 1 /* 1.5x */ +#define EXYNOS850_HSI_PIN_DRV_LV2 2 /* 2x */ +#define EXYNOS850_HSI_PIN_DRV_LV2_5 3 /* 2.5x */ +#define EXYNOS850_HSI_PIN_DRV_LV3 4 /* 3x */ +#define EXYNOS850_HSI_PIN_DRV_LV4 5 /* 4x */ + +#define EXYNOS_PIN_FUNC_INPUT 0 +#define EXYNOS_PIN_FUNC_OUTPUT 1 +#define EXYNOS_PIN_FUNC_2 2 +#define EXYNOS_PIN_FUNC_3 3 +#define EXYNOS_PIN_FUNC_4 4 +#define EXYNOS_PIN_FUNC_5 5 +#define EXYNOS_PIN_FUNC_6 6 +#define EXYNOS_PIN_FUNC_EINT 0xf +#define EXYNOS_PIN_FUNC_F EXYNOS_PIN_FUNC_EINT + +#endif /* __DTS_ARM64_SAMSUNG_EXYNOS_PINCTRL_H__ */ diff --git a/arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi b/arch/arm6= 4/boot/dts/exynos/exynos5433-pinctrl.dtsi index 4b46af3e164d..681553577ebc 100644 --- a/arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi @@ -9,7 +9,7 @@ * tree nodes are listed in this file. */ =20 -#include +#include "exynos-pinctrl.h" =20 #define PIN(_pin, _func, _pull, _drv) \ pin- ## _pin { \ diff --git a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts b/arch/arm64/b= oot/dts/exynos/exynos7-espresso.dts index 0895e818d3c1..e38c59cf18dc 100644 --- a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts +++ b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts @@ -357,7 +357,7 @@ &pinctrl_alive { pmic_irq: pmic-irq-pins { samsung,pins =3D "gpa0-2"; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; }; =20 @@ -397,14 +397,14 @@ usb30_vbus_en: usb30-vbus-en-pins { samsung,pins =3D "gph1-1"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 usb3drd_boost_en: usb3drd-boost-en-pins { samsung,pins =3D "gpf4-1"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; }; =20 diff --git a/arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi b/arch/arm64/b= oot/dts/exynos/exynos7-pinctrl.dtsi index be9b971f3697..ee9c24a226f3 100644 --- a/arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi @@ -9,7 +9,7 @@ * device tree nodes in this file. */ =20 -#include +#include "exynos-pinctrl.h" =20 &pinctrl_alive { gpa0: gpa0-gpio-bank { @@ -188,161 +188,161 @@ hs_i2c10_bus: hs-i2c10-bus-pins { samsung,pins =3D "gpb0-1", "gpb0-0"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c11_bus: hs-i2c11-bus-pins { samsung,pins =3D "gpb0-3", "gpb0-2"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c2_bus: hs-i2c2-bus-pins { samsung,pins =3D "gpd0-3", "gpd0-2"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 uart0_data: uart0-data-pins { samsung,pins =3D "gpd0-0", "gpd0-1"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 uart0_fctl: uart0-fctl-pins { samsung,pins =3D "gpd0-2", "gpd0-3"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 uart2_data: uart2-data-pins { samsung,pins =3D "gpd1-4", "gpd1-5"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c3_bus: hs-i2c3-bus-pins { samsung,pins =3D "gpd1-3", "gpd1-2"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 uart1_data: uart1-data-pins { samsung,pins =3D "gpd1-0", "gpd1-1"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 uart1_fctl: uart1-fctl-pins { samsung,pins =3D "gpd1-2", "gpd1-3"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c0_bus: hs-i2c0-bus-pins { samsung,pins =3D "gpd2-1", "gpd2-0"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c1_bus: hs-i2c1-bus-pins { samsung,pins =3D "gpd2-3", "gpd2-2"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c9_bus: hs-i2c9-bus-pins { samsung,pins =3D "gpd2-7", "gpd2-6"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 pwm0_out: pwm0-out-pins { samsung,pins =3D "gpd2-4"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 pwm1_out: pwm1-out-pins { samsung,pins =3D "gpd2-5"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 pwm2_out: pwm2-out-pins { samsung,pins =3D "gpd2-6"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 pwm3_out: pwm3-out-pins { samsung,pins =3D "gpd2-7"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c8_bus: hs-i2c8-bus-pins { samsung,pins =3D "gpd5-3", "gpd5-2"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 uart3_data: uart3-data-pins { samsung,pins =3D "gpd5-0", "gpd5-1"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 spi2_bus: spi2-bus-pins { samsung,pins =3D "gpd5-0", "gpd5-1", "gpd5-2", "gpd5-3"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 spi1_bus: spi1-bus-pins { samsung,pins =3D "gpd6-2", "gpd6-3", "gpd6-4", "gpd6-5"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 spi0_bus: spi0-bus-pins { samsung,pins =3D "gpd8-0", "gpd8-1", "gpd6-0", "gpd6-1"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c4_bus: hs-i2c4-bus-pins { samsung,pins =3D "gpg3-1", "gpg3-0"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c5_bus: hs-i2c5-bus-pins { samsung,pins =3D "gpg3-3", "gpg3-2"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; }; =20 @@ -359,7 +359,7 @@ hs_i2c6_bus: hs-i2c6-bus-pins { samsung,pins =3D "gpj0-1", "gpj0-0"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; }; =20 @@ -376,7 +376,7 @@ hs_i2c7_bus: hs-i2c7-bus-pins { samsung,pins =3D "gpj1-1", "gpj1-0"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; }; =20 @@ -393,7 +393,7 @@ spi3_bus: spi3-bus-pins { samsung,pins =3D "gpg4-0", "gpg4-1", "gpg4-2", "gpg4-3"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; }; =20 @@ -410,7 +410,7 @@ spi4_bus: spi4-bus-pins { samsung,pins =3D "gpv7-0", "gpv7-1", "gpv7-2", "gpv7-3"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; }; =20 @@ -427,35 +427,35 @@ sd2_clk: sd2-clk-pins { samsung,pins =3D "gpr4-0"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 sd2_cmd: sd2-cmd-pins { samsung,pins =3D "gpr4-1"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 sd2_cd: sd2-cd-pins { samsung,pins =3D "gpr4-2"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 sd2_bus1: sd2-bus-width1-pins { samsung,pins =3D "gpr4-3"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 sd2_bus4: sd2-bus-width4-pins { samsung,pins =3D "gpr4-4", "gpr4-5", "gpr4-6"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; }; =20 @@ -683,20 +683,20 @@ spi5_bus: spi5-bus-pins { samsung,pins =3D "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 ufs_refclk_out: ufs-refclk-out-pins { samsung,pins =3D "gpg2-4"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; =20 ufs_rst_n: ufs-rst-n-pins { samsung,pins =3D "gph1-5"; samsung,pin-function =3D ; samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-drv =3D ; }; }; diff --git a/arch/arm64/boot/dts/exynos/exynos7885-pinctrl.dtsi b/arch/arm6= 4/boot/dts/exynos/exynos7885-pinctrl.dtsi index a50c1dbd5545..34bb12191955 100644 --- a/arch/arm64/boot/dts/exynos/exynos7885-pinctrl.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos7885-pinctrl.dtsi @@ -9,8 +9,8 @@ * device tree nodes in this file. */ =20 -#include #include +#include "exynos-pinctrl.h" =20 &pinctrl_alive { etc0: etc0-gpio-bank { diff --git a/arch/arm64/boot/dts/exynos/exynos850-pinctrl.dtsi b/arch/arm64= /boot/dts/exynos/exynos850-pinctrl.dtsi index f43e4a206282..424bc80bde68 100644 --- a/arch/arm64/boot/dts/exynos/exynos850-pinctrl.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos850-pinctrl.dtsi @@ -10,7 +10,7 @@ */ =20 #include -#include +#include "exynos-pinctrl.h" =20 &pinctrl_alive { gpa0: gpa0-gpio-bank { diff --git a/arch/arm64/boot/dts/exynos/exynosautov9-pinctrl.dtsi b/arch/ar= m64/boot/dts/exynos/exynosautov9-pinctrl.dtsi index ef0349d1c3d0..2a616d23c09f 100644 --- a/arch/arm64/boot/dts/exynos/exynosautov9-pinctrl.dtsi +++ b/arch/arm64/boot/dts/exynos/exynosautov9-pinctrl.dtsi @@ -8,7 +8,7 @@ * device tree nodes in this file. */ =20 -#include +#include "exynos-pinctrl.h" =20 &pinctrl_alive { gpa0: gpa0-gpio-bank { --=20 2.34.1 From nobody Wed Apr 29 00:39:08 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25EFDC433F5 for ; Thu, 26 May 2022 14:37:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347658AbiEZOhy (ORCPT ); Thu, 26 May 2022 10:37:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347684AbiEZOhf (ORCPT ); Thu, 26 May 2022 10:37:35 -0400 Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com [IPv6:2a00:1450:4864:20::636]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9947D6808 for ; Thu, 26 May 2022 07:37:29 -0700 (PDT) Received: by mail-ej1-x636.google.com with SMTP id rs12so3306477ejb.13 for ; Thu, 26 May 2022 07:37:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5+cxzUTIAOQ2vW1sOL2DwsyFdSec9plqVTSIjq63BKo=; b=e0B5XBPgjISPi/r5g3zDTwsFNddtKDAwhAfGANoKvYPTCQn6i/AU/HqUyac+nR2sMW FEDYh506t/jCzhpp3RVGsgejH1oh57XlPXWdPQkgExvX/i5T4GmkU0t+Ii9ok4Qr0pSB zTTpyW0wQi6WtKqeRKAuEl+iG3cfzCxsNRz8hRLAAL13529eVcYkvf6QrbhsNSMuIdtD B9N/QmhNHffZKnnGDY1rYIz7+ix1U4+4YfFTk3btcTcY0rZCJuGnUX6a+PbknOrP/cfR 6HIIsIUq7iz0CbjbC7+sO/FFkCbCaYeIGx7UTX0jYIQMiKAWDXSmpDmXAE9t4cNxaA5J NYCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5+cxzUTIAOQ2vW1sOL2DwsyFdSec9plqVTSIjq63BKo=; b=gos7x+JTZGcVCZdRJrjwoQrKwwpqGVHI/G4JFXxKjRLSrC4Sb8LWfVIshbj+OBErze esdAh+ZdiHmi0qT5Bw0kzREShpd91Z0QsQZav0XCo4rHnQcbawPv6rORoPL+yAymhQpE hrjaU9KIohzkTw7gz2oCFiQC6aZhiurxQv1FLAArNKG9rAbwdwLS3i+aL2kdta1nJKzs G0ty0QQTgcXcOUMqUdsSrkuxUsSYug0SyLK4qxYtUi2KlJP5/E4Kubo8N/n7pPUnAZtp 6RnRg9K/u/dVAzOXWjRkVA8pcExTf63kJ8l5Iysk+8PynWXWA+qet3xTMqqfloYcweq2 xbEA== X-Gm-Message-State: AOAM531y+hnc1maMHA+gVu8kYrT8jDk5R5SwYgcrlbbdUNEPf2VHDsZ6 h/7sWqnQMuM32DhEhl5RE4rWwg== X-Google-Smtp-Source: ABdhPJxIz22f17UNx4PiyYwdS4AyEZUC41NdrOQgGbJXDsD76fmpzMtAOAllEl9nKhtpktpjgkWuJw== X-Received: by 2002:a17:907:7396:b0:6fe:9a92:6c2b with SMTP id er22-20020a170907739600b006fe9a926c2bmr32354464ejc.113.1653575848112; Thu, 26 May 2022 07:37:28 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id f27-20020a50a6db000000b0042be2dfa8bdsm267962edc.81.2022.05.26.07.37.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 07:37:27 -0700 (PDT) From: Krzysztof Kozlowski To: Rob Herring , Krzysztof Kozlowski , Alim Akhtar , Tomasz Figa , Sylwester Nawrocki , Linus Walleij , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org Cc: Krzysztof Kozlowski Subject: [PATCH 6/7] arm64: dts: fsd: use local header for pinctrl register values Date: Thu, 26 May 2022 16:37:06 +0200 Message-Id: <20220526143707.767490-7-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> References: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The DTS uses hardware register values directly in pin controller pin configuration. These are not some IDs or other abstraction layer but raw numbers used in the registers. These numbers were previously put in the bindings header to avoid code duplication and to provide some context meaning (name), but they do not fit the purpose of bindings. It is also quite confusing to use constants prefixed with Exynos for other SoC, because there is actually nothing here in common, except the actual value. Store the constants in a header next to DTS and use them instead of bindings. Signed-off-by: Krzysztof Kozlowski --- arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi | 92 +++++++++++----------- arch/arm64/boot/dts/tesla/fsd-pinctrl.h | 33 ++++++++ 2 files changed, 79 insertions(+), 46 deletions(-) create mode 100644 arch/arm64/boot/dts/tesla/fsd-pinctrl.h diff --git a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi b/arch/arm64/boot/d= ts/tesla/fsd-pinctrl.dtsi index d4d0cb005712..257e1d3efcb6 100644 --- a/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi +++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.dtsi @@ -8,7 +8,7 @@ * https://www.tesla.com */ =20 -#include +#include "fsd-pinctrl.h" =20 &pinctrl_fsys0 { gpf0: gpf0-gpio-bank { @@ -223,107 +223,107 @@ gpg7: gpg7-gpio-bank { =20 pwm0_out: pwm0-out-pins { samsung,pins =3D "gpb6-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 pwm1_out: pwm1-out-pins { samsung,pins =3D "gpb6-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c0_bus: hs-i2c0-bus-pins { samsung,pins =3D "gpb0-0", "gpb0-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c1_bus: hs-i2c1-bus-pins { samsung,pins =3D "gpb0-2", "gpb0-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c2_bus: hs-i2c2-bus-pins { samsung,pins =3D "gpb0-4", "gpb0-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c3_bus: hs-i2c3-bus-pins { samsung,pins =3D "gpb0-6", "gpb0-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c4_bus: hs-i2c4-bus-pins { samsung,pins =3D "gpb1-0", "gpb1-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c5_bus: hs-i2c5-bus-pins { samsung,pins =3D "gpb1-2", "gpb1-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c6_bus: hs-i2c6-bus-pins { samsung,pins =3D "gpb1-4", "gpb1-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 hs_i2c7_bus: hs-i2c7-bus-pins { samsung,pins =3D "gpb1-6", "gpb1-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 uart0_data: uart0-data-pins { samsung,pins =3D "gpb7-0", "gpb7-1"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 uart1_data: uart1-data-pins { samsung,pins =3D "gpb7-4", "gpb7-5"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 spi0_bus: spi0-bus-pins { samsung,pins =3D "gpb4-0", "gpb4-2", "gpb4-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 spi1_bus: spi1-bus-pins { samsung,pins =3D "gpb4-4", "gpb4-6", "gpb4-7"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; =20 spi2_bus: spi2-bus-pins { samsung,pins =3D "gpb5-0", "gpb5-2", "gpb5-3"; - samsung,pin-function =3D ; - samsung,pin-pud =3D ; - samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; }; }; =20 diff --git a/arch/arm64/boot/dts/tesla/fsd-pinctrl.h b/arch/arm64/boot/dts/= tesla/fsd-pinctrl.h new file mode 100644 index 000000000000..63703d2e9148 --- /dev/null +++ b/arch/arm64/boot/dts/tesla/fsd-pinctrl.h @@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Samsung's Exynos pinctrl bindings + * + * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * http://www.samsung.com + * Copyright (c) 2022 Linaro Ltd + * Author: Krzysztof Kozlowski + */ + +#ifndef __DTS_ARM64_TESLA_FSD_PINCTRL_H__ +#define __DTS_ARM64_TESLA_FSD_PINCTRL_H__ + +#define FSD_PIN_PULL_NONE 0 +#define FSD_PIN_PULL_DOWN 1 +#define FSD_PIN_PULL_UP 3 + +#define FSD_PIN_DRV_LV1 0 +#define FSD_PIN_DRV_LV2 2 +#define FSD_PIN_DRV_LV3 1 +#define FSD_PIN_DRV_LV4 3 + +#define FSD_PIN_FUNC_INPUT 0 +#define FSD_PIN_FUNC_OUTPUT 1 +#define FSD_PIN_FUNC_2 2 +#define FSD_PIN_FUNC_3 3 +#define FSD_PIN_FUNC_4 4 +#define FSD_PIN_FUNC_5 5 +#define FSD_PIN_FUNC_6 6 +#define FSD_PIN_FUNC_EINT 0xf +#define FSD_PIN_FUNC_F FSD_PIN_FUNC_EINT + +#endif /* __DTS_ARM64_TESLA_FSD_PINCTRL_H__ */ --=20 2.34.1 From nobody Wed Apr 29 00:39:08 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 70175C433FE for ; Thu, 26 May 2022 14:38:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347740AbiEZOiD (ORCPT ); Thu, 26 May 2022 10:38:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36916 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233650AbiEZOhg (ORCPT ); Thu, 26 May 2022 10:37:36 -0400 Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 052CED6820 for ; Thu, 26 May 2022 07:37:31 -0700 (PDT) Received: by mail-ej1-x62b.google.com with SMTP id i27so3326523ejd.9 for ; Thu, 26 May 2022 07:37:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=j0PQ9KvLcDyhGe/3AHaycqSIR9icXjVWVlUf+JYxn18=; b=ERm27+39gtNECxQMYFX5EkW3ltwET1+2QLwXKG10T6xvWxBHHxrlFqCWX3PptaiPXg Otbc2egol/N+bCdp22qnTPAiTop/KSIiuRi2pW/Qyugyy8Eb0LWGNet2rKcY54LDmpyC GSGV/P5YYmV2gciXxlUxFxehFmYZsYOKWxW9ygr0XX9s/v11mVMJMr+VFRXjPcasdTaC 7nitZtcw4E5HimUb9YTQS49PwBD3b0mgqoMWsJpbadGOygjkDROVl7u52ACrO8Vr4ZxE T89UCdcpRqdZk9w5hiu3x/k9PIWTTkg/wE8UNH7pCm4HOlK93XkeOXMpYrmvZdYdMtWl U85g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=j0PQ9KvLcDyhGe/3AHaycqSIR9icXjVWVlUf+JYxn18=; b=71pln+ewYXeRt5THFAGRAzJq9pe+EK+2uOiXAUyLe1AgzqARj4JxNDyHZF+AoLCeS/ Y42rsFztD7cErRdlnKg+H0fNA2Bb0bjHhmt3e1f2HY1xBMqlpBpWtZHEokbKCz6Ge+wu c8tHcSzl583G5eHW5pSoYWipceRahGVPy3A1C94kmLis27T08e4eo0pXMTLsjhwH7HDy 4tRTRT6UjD4sugbH0txTA73BN4q3CR44JzLSDStb1zYXE34I1cQ9MwL1WbHi4YznHN2O U23t5YvS/mRSoyJcKLmPpUN/LqhUBXUqw7LvWe/GO4oI8sSyMNvkTGvUzgNmgvkS9MLg AtOg== X-Gm-Message-State: AOAM533SqeOPV20p1i9QkOCShQ8bU5m6W8wmjFxs+uASZ5DSjzv57Rz3 o5s5GtEJUniVC7962+k/670ixw== X-Google-Smtp-Source: ABdhPJz0TGEj4D8JCwSgEF4ZkDJuijpUzGCx6tNkMnvHxE5o9H5mGyw//NzbhGFp79EzYVL9MUj2+A== X-Received: by 2002:a17:906:b048:b0:6fe:be4a:3ecf with SMTP id bj8-20020a170906b04800b006febe4a3ecfmr23471529ejb.104.1653575849408; Thu, 26 May 2022 07:37:29 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id f27-20020a50a6db000000b0042be2dfa8bdsm267962edc.81.2022.05.26.07.37.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 07:37:28 -0700 (PDT) From: Krzysztof Kozlowski To: Rob Herring , Krzysztof Kozlowski , Alim Akhtar , Tomasz Figa , Sylwester Nawrocki , Linus Walleij , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org Cc: Krzysztof Kozlowski Subject: [PATCH 7/7] dt-bindings: pinctrl: deprecate header with register constants Date: Thu, 26 May 2022 16:37:07 +0200 Message-Id: <20220526143707.767490-8-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> References: <20220526143707.767490-1-krzysztof.kozlowski@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" For convenience (less code duplication, some meaning added to raw number), the pin controller pin configuration register values were defined in the bindings header. These are not some IDs or other abstraction layer but raw numbers used in the registers These constants do not fit the purpose of bindings. They do not provide any abstraction, any hardware and driver independent ID. With minor exceptions, the Linux drivers actually do not use the bindings header at all. All of the constants were moved already to headers local to DTS (residing in DTS directory), so remove any references to the bindings header and add a warning tha tit is deprecated. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Linus Walleij --- drivers/pinctrl/samsung/pinctrl-exynos.c | 6 ++---- drivers/pinctrl/samsung/pinctrl-exynos.h | 3 +++ drivers/pinctrl/samsung/pinctrl-samsung.c | 4 +--- drivers/pinctrl/samsung/pinctrl-samsung.h | 8 ++++++++ include/dt-bindings/pinctrl/samsung.h | 3 +++ 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/sam= sung/pinctrl-exynos.c index 6d7ca1758292..a8212fc126bf 100644 --- a/drivers/pinctrl/samsung/pinctrl-exynos.c +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c @@ -27,8 +27,6 @@ #include #include =20 -#include - #include "pinctrl-samsung.h" #include "pinctrl-exynos.h" =20 @@ -173,7 +171,7 @@ static int exynos_irq_request_resources(struct irq_data= *irqd) =20 con =3D readl(bank->pctl_base + reg_con); con &=3D ~(mask << shift); - con |=3D EXYNOS_PIN_FUNC_EINT << shift; + con |=3D EXYNOS_PIN_CON_FUNC_EINT << shift; writel(con, bank->pctl_base + reg_con); =20 raw_spin_unlock_irqrestore(&bank->slock, flags); @@ -196,7 +194,7 @@ static void exynos_irq_release_resources(struct irq_dat= a *irqd) =20 con =3D readl(bank->pctl_base + reg_con); con &=3D ~(mask << shift); - con |=3D EXYNOS_PIN_FUNC_INPUT << shift; + con |=3D PIN_CON_FUNC_INPUT << shift; writel(con, bank->pctl_base + reg_con); =20 raw_spin_unlock_irqrestore(&bank->slock, flags); diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.h b/drivers/pinctrl/sam= sung/pinctrl-exynos.h index bfad1ced8017..7bd6d82c9f36 100644 --- a/drivers/pinctrl/samsung/pinctrl-exynos.h +++ b/drivers/pinctrl/samsung/pinctrl-exynos.h @@ -16,6 +16,9 @@ #ifndef __PINCTRL_SAMSUNG_EXYNOS_H #define __PINCTRL_SAMSUNG_EXYNOS_H =20 +/* Values for the pin CON register */ +#define EXYNOS_PIN_CON_FUNC_EINT 0xf + /* External GPIO and wakeup interrupt related definitions */ #define EXYNOS_GPIO_ECON_OFFSET 0x700 #define EXYNOS_GPIO_EFLTCON_OFFSET 0x800 diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/sa= msung/pinctrl-samsung.c index 26d309d2516d..4837bceb767b 100644 --- a/drivers/pinctrl/samsung/pinctrl-samsung.c +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c @@ -26,8 +26,6 @@ #include #include =20 -#include - #include "../core.h" #include "pinctrl-samsung.h" =20 @@ -614,7 +612,7 @@ static int samsung_gpio_set_direction(struct gpio_chip = *gc, data =3D readl(reg); data &=3D ~(mask << shift); if (!input) - data |=3D EXYNOS_PIN_FUNC_OUTPUT << shift; + data |=3D PIN_CON_FUNC_OUTPUT << shift; writel(data, reg); =20 return 0; diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.h b/drivers/pinctrl/sa= msung/pinctrl-samsung.h index fc6f5199c548..9af93e3d8d9f 100644 --- a/drivers/pinctrl/samsung/pinctrl-samsung.h +++ b/drivers/pinctrl/samsung/pinctrl-samsung.h @@ -53,6 +53,14 @@ enum pincfg_type { #define PINCFG_UNPACK_TYPE(cfg) ((cfg) & PINCFG_TYPE_MASK) #define PINCFG_UNPACK_VALUE(cfg) (((cfg) & PINCFG_VALUE_MASK) >> \ PINCFG_VALUE_SHIFT) +/* + * Values for the pin CON register, choosing pin function. + * The basic set (input and output) are same between: S3C24xx, S3C64xx, S5= PV210, + * Exynos ARMv7, Exynos ARMv8, Tesla FSD. + */ +#define PIN_CON_FUNC_INPUT 0x0 +#define PIN_CON_FUNC_OUTPUT 0x1 + /** * enum eint_type - possible external interrupt types. * @EINT_TYPE_NONE: bank does not support external interrupts diff --git a/include/dt-bindings/pinctrl/samsung.h b/include/dt-bindings/pi= nctrl/samsung.h index 950970634dfe..23e2ffcf6ab8 100644 --- a/include/dt-bindings/pinctrl/samsung.h +++ b/include/dt-bindings/pinctrl/samsung.h @@ -10,6 +10,9 @@ #ifndef __DT_BINDINGS_PINCTRL_SAMSUNG_H__ #define __DT_BINDINGS_PINCTRL_SAMSUNG_H__ =20 +#warning "These bindings were deprecated, because they do not match the ac= tual bindings but register values." \ + "Instead include the header in the DTS source directory." + #define EXYNOS_PIN_PULL_NONE 0 #define EXYNOS_PIN_PULL_DOWN 1 #define EXYNOS_PIN_PULL_UP 3 --=20 2.34.1