From patchwork Fri Oct 8 08:29:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 12544571 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00E36C433F5 for ; Fri, 8 Oct 2021 08:31:49 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B75C760EBD for ; Fri, 8 Oct 2021 08:31:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org B75C760EBD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=+Gljtn59gtGvEeoxm6xa2Omx70rfl35V0Ay2dUnnVqo=; b=jryfG1I2EE5AA+ L4c0npdFxtf3KFeJBLAOJMpFym8gNm1ddg+qexXsIf6aPY2yE69ObNyl+HXJw5X/TfGpirJLPZqwL pxSL10lbJoSbCb3L8JYp0OzAUJLJPvQvN1Afmtp/WJEW65rC3LFTAE4wduqrhT91fSnjAfJEU86ff 5+0romA6U7PLmfPL88nnMB3R5iNltjNwT48Za58e4gaQA78uwUhffJigS+5sKEEiDP6DeX+PIrUBL FPbRB0mH4bJKgC5kEB/j0RFvngELgCelG55M3jO+jlUc+UrX+ySyhvvmUZKCoFNdA+8p6EqgLokkH spkW1Wpemcn01qurpMXQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mYlGO-0021n0-Bn; Fri, 08 Oct 2021 08:29:56 +0000 Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mYlGK-0021lq-FI for linux-arm-kernel@lists.infradead.org; Fri, 08 Oct 2021 08:29:53 +0000 Received: by mail-lf1-x12a.google.com with SMTP id x27so36190762lfu.5 for ; Fri, 08 Oct 2021 01:29:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Lkb1rpTxp3ezL8W0CzTqYzbSnbCPEH62gOKXD45LUwI=; b=poefWLp6aXgSyy/BL1sqVpqpaxXamaYwTrj//ErZkBKT0FfIZbNtXk6TE2JTxjdDWX oFSG6sDm9E3UC88GSSOrDAtlNtR69B3+clLsRDOl3WdwlLnkTOi7aom+yxW+wq4oZEvC EtXsMpWkNyPM9qeAF0hxd+NHKEPf8fHn5ZrTvtLIZnuJjyZzxWwCY9D74GzaA+3iYTXN HPwHCcJyZlARKh3rz+x7/CjbeCmCda+9MJcmax3CyMxR99k/Q1CiWQjhpx3lBS6TDnCa k+WuPTrxIb35PpKVexDVTb4c6/FbyQwLAVH11xLDuBTyy0fZvJtqycbTFOzWeTwS7KQk 6Kiw== 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:mime-version :content-transfer-encoding; bh=Lkb1rpTxp3ezL8W0CzTqYzbSnbCPEH62gOKXD45LUwI=; b=llSIGdKpExbtFafNZg8k+ZuHdK1dlavHlUAfX0UsbWcoj+vvTO2wW4evrUyuso7uRQ hqgHt5PFKLMSALu98ZnC6Y0z9B97HZemgFd3gU1ZxexDmyFfP+cEcU6GeJYwhBxDZDMW d1ZuGP+ZYxXuIjnxDRc8+f1c6sLS66SUj9ob6ltf2ZRW0YnYfvqi1T0/IlB9eT4rNkL5 FfcrOJvauTNi7XPyxyxmL3w9C4Tzz+P+PY38P3axDe56WJLHbBb6KFXOrAKowNQ6tADR HGSMeHrzfiTPx/5BFEHpLsoeZKBWzaa0DTUrg1xLcAk7g6hk+mXVKihMCZE7dHevDM0b Z5Xg== X-Gm-Message-State: AOAM532RUvvGQsocHs9j/1rVb2xuY75JhpH+ezHyBrNqsMOLPl0sFnaE chn0xgTTDw+2lMwI/mKTELo= X-Google-Smtp-Source: ABdhPJxjxeS3yG78Os9mx5PkCqbTxZpo+GPucqTwrhLqIHq+ADlBhrV3ZS0jYcpvZ5VLecVPl6BoOw== X-Received: by 2002:ac2:509a:: with SMTP id f26mr2838559lfm.563.1633681790434; Fri, 08 Oct 2021 01:29:50 -0700 (PDT) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id z24sm219930ljz.93.2021.10.08.01.29.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Oct 2021 01:29:49 -0700 (PDT) From: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= To: Linus Walleij , Rob Herring Cc: Ray Jui , Scott Branden , bcm-kernel-feedback-list@broadcom.com, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= Subject: [PATCH linux-pinctrl 1/2] Revert "dt-bindings: pinctrl: bcm4708-pinmux: rework binding to use syscon" Date: Fri, 8 Oct 2021 10:29:31 +0200 Message-Id: <20211008082932.1370-1-zajec5@gmail.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211008_012952_567411_5CD53CFF X-CRM114-Status: GOOD ( 16.05 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Rafał Miłecki This reverts commit 2ae80900f239484069569380e1fc4340fd6e0089. My rework was unneeded & wrong. It replaced a clear & correct "reg" property usage with a custom "offset" one. Back then I didn't understand how to properly handle CRU block binding. I heard / read about syscon and tried to use it in a totally invalid way. That change also missed Rob's review (obviously). Northstar's pin controller is a simple consistent hardware block that can be cleanly mapped using a 0x24 long reg space. Since the rework commit there wasn't any follow up modifying in-kernel DTS files to use the new binding. Broadcom also isn't known to use that bugged binding. There is close to zero chance this revert may actually cause problems / regressions. This commit is a simple revert. Example binding may (should) be updated / cleaned up but that can be handled separately. Signed-off-by: Rafał Miłecki --- .../bindings/pinctrl/brcm,ns-pinmux.yaml | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml b/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml index 470aff599c27..78600a8fe403 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml +++ b/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml @@ -17,9 +17,6 @@ description: A list of pins varies across chipsets so few bindings are available. - Node of the pinmux must be nested in the CRU (Central Resource Unit) "syscon" - node. - properties: compatible: enum: @@ -27,10 +24,11 @@ properties: - brcm,bcm4709-pinmux - brcm,bcm53012-pinmux - offset: - description: offset of pin registers in the CRU block + reg: maxItems: 1 - $ref: /schemas/types.yaml#/definitions/uint32-array + + reg-names: + const: cru_gpio_control patternProperties: '-pins$': @@ -72,19 +70,24 @@ allOf: uart1_grp ] required: - - offset + - reg + - reg-names additionalProperties: false examples: - | cru@1800c100 { - compatible = "syscon", "simple-mfd"; + compatible = "simple-bus"; reg = <0x1800c100 0x1a4>; + ranges; + #address-cells = <1>; + #size-cells = <1>; - pinctrl { + pin-controller@1c0 { compatible = "brcm,bcm4708-pinmux"; - offset = <0xc0>; + reg = <0x1c0 0x24>; + reg-names = "cru_gpio_control"; spi-pins { function = "spi"; From patchwork Fri Oct 8 08:29:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 12544573 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63007C433F5 for ; Fri, 8 Oct 2021 08:32:03 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2F4CA6103C for ; Fri, 8 Oct 2021 08:32:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 2F4CA6103C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=RC+llOrHf7WWq2EZpcqd+JtMkR+END3tEdxuhUs22gY=; b=ItO8vxEYQPE+aS 6rAa8bItHoe9tWQXhffVJCgPOCzTHScobpe1sWI+XzO0VQeLCwJtasrWcidK+I4YnRmj8DbYuj9OH b8zmndNuERhMvodVjIZJPX9Ro+tkzyVoQwajHsOmo1sda27crK14TBl2/7oRu26lzzW+fmC1FitV1 GXYa20ka1bFx1M8M8TPOXGitG0Udb6hJRImurPweCd8lHAuCNMwwxEPIU0lrBlFp+stq4a/JSjs07 OJypnK5ZSAbklJjxvd0mP//Y7DfpJTSi3s88HZOpalcjw55AgVIkmJE1k5VhukQfDjY1yOsRhov19 n7a5YvRCEv3jsJtCV2ug==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mYlGa-0021ok-Hd; Fri, 08 Oct 2021 08:30:08 +0000 Received: from mail-lf1-x131.google.com ([2a00:1450:4864:20::131]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mYlGM-0021mS-DK for linux-arm-kernel@lists.infradead.org; Fri, 08 Oct 2021 08:29:55 +0000 Received: by mail-lf1-x131.google.com with SMTP id y15so36153971lfk.7 for ; Fri, 08 Oct 2021 01:29:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gDyEXWIeYRFxChu9VxQR3xwCXz9T0mgyC95BWcs1m1I=; b=lCgVtYF39TaetQX+fP3GgnGa5ZwZiUbkeGZGtvAJ5h8TRigPsH2vpVX0W2XS+2YMFn +Uvr1r9M0n5AMLxWFsVdfZssif2j/qszowJ8ZjlbMl/w1GzU/9aoCh7izCp0bMJOf4mz zOAyC3AfjSi1QgjZCmDLSWLj+FUJztU9f7ss7TrS6+pY4EjBjzjS5LoIF5/zkY8/yvfg U3yFwqdN7cvKqtDvpoRQ8EVfIGIL3l3nWlYLHPQs1Q1bcs7eYnpZ8Tw9y/lJJQXLCChK 8odGC8gGiAuli41jgiKi+Z0yxzy91viTbfD8MY/KuKx+0F/p/D4u/eKghoU/hZuV/PRK 1B0w== 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=gDyEXWIeYRFxChu9VxQR3xwCXz9T0mgyC95BWcs1m1I=; b=ha0NBX6fCrL2Qp6RlqBqFO/FZpKiOwLOOjhNceb2xv4K/TdoXm0BPXdqqzDZkjQWcH tyhcxm4L12q6zF3ircxenqUn4LbpVOIPr7jrYXnvBWRyr1R87vFD/H7SCzhxDKZuAl2i 3BuxCgcABOd9JC/ucRHkzmYvCCnzOW8X0GkcKZ05Jov+eSt8JXUNfcsx4Gqvo+irZoiI 5aZa7EdgFi9s1AUl6WOG+lCi3kp3tfjqtylP7ARng4pCBpYdwFVHBMzgixx7FZlZSDCD SMvtqjyUZPu3en1bZ6V81cf6P6TQCj3apVMcdxR5YRW0A7EoZrWur56DXVqKt7cpBfmJ jMhQ== X-Gm-Message-State: AOAM5309/C1B/Haw2nA4mrHvxAffyle+6LFwVOcGkQr7uaCW/2Y7suIa qhplM2WQe6+81J+erkhrZ8U= X-Google-Smtp-Source: ABdhPJy8dX3FZ5iZPNCKX4bM1LtXOtx/Ccq2bAUoN7MfR8nKH0e6+EyqSpSJRzccPT5p7PaD1rC/SQ== X-Received: by 2002:a05:6512:3084:: with SMTP id z4mr8902913lfd.195.1633681792422; Fri, 08 Oct 2021 01:29:52 -0700 (PDT) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id z24sm219930ljz.93.2021.10.08.01.29.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Oct 2021 01:29:52 -0700 (PDT) From: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= To: Linus Walleij , Rob Herring Cc: Ray Jui , Scott Branden , bcm-kernel-feedback-list@broadcom.com, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= Subject: [PATCH linux-pinctrl 2/2] Revert "pinctrl: bcm: ns: support updated DT binding as syscon subnode" Date: Fri, 8 Oct 2021 10:29:32 +0200 Message-Id: <20211008082932.1370-2-zajec5@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20211008082932.1370-1-zajec5@gmail.com> References: <20211008082932.1370-1-zajec5@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211008_012954_478455_34D442E7 X-CRM114-Status: GOOD ( 19.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Rafał Miłecki This reverts commit a49d784d5a8272d0f63c448fe8dc69e589db006e. The updated binding was wrong / invalid and has been reverted. There isn't any upstream kernel DTS using it and Broadcom isn't known to use it neither. There is close to zero chance this will cause regression for anyone. Actually in-kernel bcm5301x.dtsi still uses the old good binding and so it's broken since the driver update. This revert fixes it. Signed-off-by: Rafał Miłecki --- drivers/pinctrl/bcm/pinctrl-ns.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/drivers/pinctrl/bcm/pinctrl-ns.c b/drivers/pinctrl/bcm/pinctrl-ns.c index e79690bd8b85..d7f8175d2c1c 100644 --- a/drivers/pinctrl/bcm/pinctrl-ns.c +++ b/drivers/pinctrl/bcm/pinctrl-ns.c @@ -5,7 +5,6 @@ #include #include -#include #include #include #include @@ -13,7 +12,6 @@ #include #include #include -#include #include #define FLAG_BCM4708 BIT(1) @@ -24,8 +22,7 @@ struct ns_pinctrl { struct device *dev; unsigned int chipset_flag; struct pinctrl_dev *pctldev; - struct regmap *regmap; - u32 offset; + void __iomem *base; struct pinctrl_desc pctldesc; struct ns_pinctrl_group *groups; @@ -232,9 +229,9 @@ static int ns_pinctrl_set_mux(struct pinctrl_dev *pctrl_dev, unset |= BIT(pin_number); } - regmap_read(ns_pinctrl->regmap, ns_pinctrl->offset, &tmp); + tmp = readl(ns_pinctrl->base); tmp &= ~unset; - regmap_write(ns_pinctrl->regmap, ns_pinctrl->offset, tmp); + writel(tmp, ns_pinctrl->base); return 0; } @@ -266,13 +263,13 @@ static const struct of_device_id ns_pinctrl_of_match_table[] = { static int ns_pinctrl_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; - struct device_node *np = dev->of_node; const struct of_device_id *of_id; struct ns_pinctrl *ns_pinctrl; struct pinctrl_desc *pctldesc; struct pinctrl_pin_desc *pin; struct ns_pinctrl_group *group; struct ns_pinctrl_function *function; + struct resource *res; int i; ns_pinctrl = devm_kzalloc(dev, sizeof(*ns_pinctrl), GFP_KERNEL); @@ -290,18 +287,12 @@ static int ns_pinctrl_probe(struct platform_device *pdev) return -EINVAL; ns_pinctrl->chipset_flag = (uintptr_t)of_id->data; - ns_pinctrl->regmap = syscon_node_to_regmap(of_get_parent(np)); - if (IS_ERR(ns_pinctrl->regmap)) { - int err = PTR_ERR(ns_pinctrl->regmap); - - dev_err(dev, "Failed to map pinctrl regs: %d\n", err); - - return err; - } - - if (of_property_read_u32(np, "offset", &ns_pinctrl->offset)) { - dev_err(dev, "Failed to get register offset\n"); - return -ENOENT; + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, + "cru_gpio_control"); + ns_pinctrl->base = devm_ioremap_resource(dev, res); + if (IS_ERR(ns_pinctrl->base)) { + dev_err(dev, "Failed to map pinctrl regs\n"); + return PTR_ERR(ns_pinctrl->base); } memcpy(pctldesc, &ns_pinctrl_desc, sizeof(*pctldesc));