From patchwork Tue Dec 8 07:55:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergio Paracuellos X-Patchwork-Id: 340603 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A0571C4167B for ; Tue, 8 Dec 2020 07:56:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5C49923A61 for ; Tue, 8 Dec 2020 07:56:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726777AbgLHH4L (ORCPT ); Tue, 8 Dec 2020 02:56:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33132 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725768AbgLHH4K (ORCPT ); Tue, 8 Dec 2020 02:56:10 -0500 Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD2B0C0613D6; Mon, 7 Dec 2020 23:55:29 -0800 (PST) Received: by mail-wr1-x433.google.com with SMTP id c1so3302770wrq.6; Mon, 07 Dec 2020 23:55:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=iZBg6NYc1fDrXniV/VR86/1qE8M8HyWt002YbvqPFwA=; b=NR05I4W5IgbtZCAnyadH1WNM+a0Jdb5V5V1FIjmJJVoOHLm//pyynVhvfizCaUPjK0 tCCeaCiEB8i4eIUV6SVZmOKVMrxsmKwVxJkQtD+BRWEzlbBs9SxGtvZm8eUJyAysMV41 HeMuYpg3tCm4k1SBKEtaUVJXOeCrxQ4BXnnG5lMBXYD9W2udo3cYB773g4zsHj/IsTC3 EwkVLp1wF32XosN1nqJLnIZGCf4czVFzPJkI420+bvjBCEOJwlHC/G7urFnxQz71BT9r GcECxPo0Uedxz6v1MNZz9/ZKylnMwfhLpD4oc4W7C3slmjdmZ93weTNTt3ylpw/IRd2c Ughw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iZBg6NYc1fDrXniV/VR86/1qE8M8HyWt002YbvqPFwA=; b=T4LikJuaeoPzM9gNES7MAQ42B8DM4rNHjhiY/R+ddXorHC0kwE1bVYvmp9885hahWf KLxvqzZuZmAxSZCuFhIcyghacpWAT999blmyEiqO9rIq9ULaVfjWxXRqKI+qZQQlQ07M WyDcbD3VvTo7qe4uKa76e6hVoVhMTL+pzo57Ni3GdAeNSyTv1l+ZMiXoSVB7EZiZMj1m 1oAkVElpjOidkMkVxQge92LalAPNNuvsp6l+nwPkUA2zm4KdsPCYxwLlxQX6UIUAD7Qe ET4KURUCPdxLH4wmBNHEbem4Zf0VH1ZPWJ83TljhYqL+PDxefsEyyp1SCduipcJ+LqJU +hOw== X-Gm-Message-State: AOAM5329BEm3Dnkavc/CLOITeABa0tCEFhMWeBts9PdAhWhL0JAQSflP hkhmlpNni/awHqQHDAe28yVQ82IP04o= X-Google-Smtp-Source: ABdhPJxxbsnv9uCrap7/LBgI68S6qea6ttTGtNj92JTHuHMUhjs2jiRWobIn4D8wOMzmenDEgBrc5w== X-Received: by 2002:a5d:610d:: with SMTP id v13mr23845962wrt.425.1607414128460; Mon, 07 Dec 2020 23:55:28 -0800 (PST) Received: from localhost.localdomain (188.red-81-44-87.dynamicip.rima-tde.net. [81.44.87.188]) by smtp.gmail.com with ESMTPSA id h184sm1620735wmh.23.2020.12.07.23.55.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 Dec 2020 23:55:27 -0800 (PST) From: Sergio Paracuellos To: linus.walleij@linaro.org Cc: robh+dt@kernel.org, gregkh@linuxfoundation.org, yanaijie@huawei.com, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, devel@driverdev.osuosl.org Subject: [PATCH v2 1/2] dt-bindings: pinctrl: rt2880: add binding document Date: Tue, 8 Dec 2020 08:55:22 +0100 Message-Id: <20201208075523.7060-2-sergio.paracuellos@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201208075523.7060-1-sergio.paracuellos@gmail.com> References: <20201208075523.7060-1-sergio.paracuellos@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org The commit adds rt2880 compatible node in binding document. Signed-off-by: Sergio Paracuellos --- .../pinctrl/ralink,rt2880-pinmux.yaml | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/ralink,rt2880-pinmux.yaml diff --git a/Documentation/devicetree/bindings/pinctrl/ralink,rt2880-pinmux.yaml b/Documentation/devicetree/bindings/pinctrl/ralink,rt2880-pinmux.yaml new file mode 100644 index 000000000000..7dea3e26d99e --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/ralink,rt2880-pinmux.yaml @@ -0,0 +1,70 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/ralink,rt2880-pinmux.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Ralink rt2880 pinmux controller + +maintainers: + - Sergio Paracuellos + +description: + The rt2880 pinmux can only set the muxing of pin groups. muxing indiviual pins + is not supported. There is no pinconf support. + +properties: + compatible: + enum: + - ralink,rt2880-pinmux + + pinctrl-0: + description: + A phandle to the node containing the subnodes containing default + configurations. This is for pinctrl hogs. + + pinctrl-names: + description: + A pinctrl state named "default" can be defined. + const: default + +required: + - compatible + +patternProperties: + '[a-z0-9_-]+': + if: + type: object + description: node for pinctrl. + $ref: "pinmux-node.yaml" + then: + properties: + groups: + description: Name of the pin group to use for the functions. + enum: [i2c, spi, uart1, uart2, uart3, rgmii1, rgmii2, mdio, + pcie, sdhci] + function: + description: The mux function to select + enum: [gpio, i2c, spi, uart1, uart2, uart3, rgmii1, rgmii2, + mdio, nand1, nand2, sdhci] + +additionalProperties: false + +examples: + # Pinmux controller node + - | + pinctrl { + compatible = "ralink,rt2880-pinmux"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + }; + + i2c_pins: i2c0 { + i2c0 { + groups = "i2c"; + function = "i2c"; + }; + }; + }; From patchwork Tue Dec 8 07:55:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergio Paracuellos X-Patchwork-Id: 339979 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D6850C2BB40 for ; Tue, 8 Dec 2020 07:56:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A2B4623A5B for ; Tue, 8 Dec 2020 07:56:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726830AbgLHH4R (ORCPT ); Tue, 8 Dec 2020 02:56:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725768AbgLHH4R (ORCPT ); Tue, 8 Dec 2020 02:56:17 -0500 Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C1A11C061793; Mon, 7 Dec 2020 23:55:30 -0800 (PST) Received: by mail-wr1-x444.google.com with SMTP id u12so15301647wrt.0; Mon, 07 Dec 2020 23:55:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Ayd3fQc8l6P/RxnDS6QWsiDxVLFEYSLFLxEtwtNZ46c=; b=OWCB4kcU+bpPtAwpPOS26YAwXm9aqlP0G0V0pT/iMoUpfagWuJVx9m2noZHBLeVL1F /nH2tE7NvotMlNTGqQ2CRdGClEaCSvGP4sD1N2ZbSUCpS/D1yVevQH4L2ZhLc2e0H1pV UQEPWY9N1BtkMrusKeZQXOAIwp3qTD5g+04z14T/AYIp3AM+iHqFLWkSz7yhL7EK1ctM 5sqQJh14+DIYtOkwaZVJ/hEB5BZrdPuHnxknXUqyiyNY6y1Pp6dmRhjs1ZLzc+Gocnly 06WWuZxQradZF3gPUxBIJOxd+0x9EVohqOnENdFTsDcb60z3CNRqwxVVM2T1dG4owzKx hEjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ayd3fQc8l6P/RxnDS6QWsiDxVLFEYSLFLxEtwtNZ46c=; b=q7xXlZMYYzZ5q+tlKGzg9FpLVb8LC7YkfDnxTGWG9/oMIrJpDvhxEahsIpiQInu9Nu 5FNS1xKcfinAiAqvgdZFXj6vgAFSmHqMF/UU3ayhs9I0C56zc6NNDfggUCqpKQ0CfLsw A5A/B+kIpNASknJ5jd98eMEOhKK0AQ6EwTDglWyR8Ps7FDf64cnQ1G8y3+AJlzSsoo7d ytzQDCXviDuJXrtbdkjZHORW/FfQLr4ITcrBS04KecjqKOuDjljs7wnN6fM5yu6ENIzS 4dWnpd9oesKFffDcJAagZtplg+R+oPeRyI+l3CLlCFGz8sgyNArObjUdU3LvTp0XlTJq aphw== X-Gm-Message-State: AOAM531GiZPSXLWI++45Ct5hfXPkrkEbD8EptYkhMAIqAvZzoPXqtogG 4Jfr3X0VT/Pq3CUC8f/XvVDX6EkHDd0= X-Google-Smtp-Source: ABdhPJzWKwwhUjmCuQc6/DlRyZiq9PJ+Q3SycIsMVD9G10Z/AMU9xu7YWObyh5P5es4N/QHPszKm3g== X-Received: by 2002:adf:b1ca:: with SMTP id r10mr78869wra.252.1607414129564; Mon, 07 Dec 2020 23:55:29 -0800 (PST) Received: from localhost.localdomain (188.red-81-44-87.dynamicip.rima-tde.net. [81.44.87.188]) by smtp.gmail.com with ESMTPSA id h184sm1620735wmh.23.2020.12.07.23.55.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 Dec 2020 23:55:29 -0800 (PST) From: Sergio Paracuellos To: linus.walleij@linaro.org Cc: robh+dt@kernel.org, gregkh@linuxfoundation.org, yanaijie@huawei.com, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, devel@driverdev.osuosl.org Subject: [PATCH v2 2/2] pinctrl: ralink: add a pinctrl driver for the rt2880 family Date: Tue, 8 Dec 2020 08:55:23 +0100 Message-Id: <20201208075523.7060-3-sergio.paracuellos@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201208075523.7060-1-sergio.paracuellos@gmail.com> References: <20201208075523.7060-1-sergio.paracuellos@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org These Socs have 1-3 banks of 8-32 gpios. Rather then setting the muxing of each pin individually, these socs have mux groups that when set will effect 1-N pins. Pin groups have a 2, 4 or 8 different muxes. Acked-by: Linus Walleij Signed-off-by: Sergio Paracuellos --- drivers/pinctrl/Kconfig | 1 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/ralink/Kconfig | 14 ++++++++++++++ .../mt7621-pinctrl => pinctrl/ralink}/Makefile | 2 -- .../ralink}/pinctrl-rt2880.c | 4 ++-- drivers/staging/Kconfig | 2 -- drivers/staging/Makefile | 1 - drivers/staging/mt7621-pinctrl/Kconfig | 6 ------ drivers/staging/mt7621-pinctrl/TODO | 6 ------ 9 files changed, 18 insertions(+), 19 deletions(-) create mode 100644 drivers/pinctrl/ralink/Kconfig rename drivers/{staging/mt7621-pinctrl => pinctrl/ralink}/Makefile (66%) rename drivers/{staging/mt7621-pinctrl => pinctrl/ralink}/pinctrl-rt2880.c (99%) delete mode 100644 drivers/staging/mt7621-pinctrl/Kconfig delete mode 100644 drivers/staging/mt7621-pinctrl/TODO diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig index 815095326e2d..453acce3d0c3 100644 --- a/drivers/pinctrl/Kconfig +++ b/drivers/pinctrl/Kconfig @@ -385,6 +385,7 @@ source "drivers/pinctrl/nomadik/Kconfig" source "drivers/pinctrl/nuvoton/Kconfig" source "drivers/pinctrl/pxa/Kconfig" source "drivers/pinctrl/qcom/Kconfig" +source "drivers/pinctrl/ralink/Kconfig" source "drivers/pinctrl/renesas/Kconfig" source "drivers/pinctrl/samsung/Kconfig" source "drivers/pinctrl/spear/Kconfig" diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile index f53933b2ff02..3cdb6529db95 100644 --- a/drivers/pinctrl/Makefile +++ b/drivers/pinctrl/Makefile @@ -59,6 +59,7 @@ obj-y += nomadik/ obj-$(CONFIG_ARCH_NPCM7XX) += nuvoton/ obj-$(CONFIG_PINCTRL_PXA) += pxa/ obj-$(CONFIG_ARCH_QCOM) += qcom/ +obj-$(CONFIG_PINCTRL_RALINK) += ralink/ obj-$(CONFIG_PINCTRL_RENESAS) += renesas/ obj-$(CONFIG_PINCTRL_SAMSUNG) += samsung/ obj-$(CONFIG_PINCTRL_SPEAR) += spear/ diff --git a/drivers/pinctrl/ralink/Kconfig b/drivers/pinctrl/ralink/Kconfig new file mode 100644 index 000000000000..8c5f6341477f --- /dev/null +++ b/drivers/pinctrl/ralink/Kconfig @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: GPL-2.0-only +menu "Ralink pinctrl drivers" + depends on RALINK + +config PINCTRL_RALINK + bool "Ralink pin control support" + default y if RALINK + +config PINCTRL_RT2880 + bool "RT2880 pinctrl driver for RALINK/Mediatek SOCs" + select PINMUX + select GENERIC_PINCONF + +endmenu diff --git a/drivers/staging/mt7621-pinctrl/Makefile b/drivers/pinctrl/ralink/Makefile similarity index 66% rename from drivers/staging/mt7621-pinctrl/Makefile rename to drivers/pinctrl/ralink/Makefile index 49445f40c3cd..242554298d07 100644 --- a/drivers/staging/mt7621-pinctrl/Makefile +++ b/drivers/pinctrl/ralink/Makefile @@ -1,4 +1,2 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_PINCTRL_RT2880) += pinctrl-rt2880.o - -ccflags-y += -I$(srctree)/drivers/pinctrl diff --git a/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c b/drivers/pinctrl/ralink/pinctrl-rt2880.c similarity index 99% rename from drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c rename to drivers/pinctrl/ralink/pinctrl-rt2880.c index e61dbe186bc9..42b1c6cecb57 100644 --- a/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c +++ b/drivers/pinctrl/ralink/pinctrl-rt2880.c @@ -20,8 +20,8 @@ #include #include -#include "core.h" -#include "pinctrl-utils.h" +#include "../core.h" +#include "../pinctrl-utils.h" #define SYSC_REG_GPIO_MODE 0x60 #define SYSC_REG_GPIO_MODE2 0x64 diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index 9b7cb7c5766a..c42708e60afc 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -94,8 +94,6 @@ source "drivers/staging/mt7621-pci/Kconfig" source "drivers/staging/mt7621-pci-phy/Kconfig" -source "drivers/staging/mt7621-pinctrl/Kconfig" - source "drivers/staging/mt7621-dma/Kconfig" source "drivers/staging/ralink-gdma/Kconfig" diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index 38226737c9f3..ebcc646d7b51 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -37,7 +37,6 @@ obj-$(CONFIG_BCM2835_VCHIQ) += vc04_services/ obj-$(CONFIG_PI433) += pi433/ obj-$(CONFIG_PCI_MT7621) += mt7621-pci/ obj-$(CONFIG_PCI_MT7621_PHY) += mt7621-pci-phy/ -obj-$(CONFIG_PINCTRL_RT2880) += mt7621-pinctrl/ obj-$(CONFIG_SOC_MT7621) += mt7621-dma/ obj-$(CONFIG_DMA_RALINK) += ralink-gdma/ obj-$(CONFIG_SOC_MT7621) += mt7621-dts/ diff --git a/drivers/staging/mt7621-pinctrl/Kconfig b/drivers/staging/mt7621-pinctrl/Kconfig deleted file mode 100644 index f42974026480..000000000000 --- a/drivers/staging/mt7621-pinctrl/Kconfig +++ /dev/null @@ -1,6 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -config PINCTRL_RT2880 - bool "RT2800 pinctrl driver for RALINK/Mediatek SOCs" - depends on RALINK - select PINMUX - select GENERIC_PINCONF diff --git a/drivers/staging/mt7621-pinctrl/TODO b/drivers/staging/mt7621-pinctrl/TODO deleted file mode 100644 index b2c235a16d5c..000000000000 --- a/drivers/staging/mt7621-pinctrl/TODO +++ /dev/null @@ -1,6 +0,0 @@ - -- general code review and cleanup -- should probably be always selected by 'config RALINK' -- ensure device-tree requirements are documented - -Cc: NeilBrown