From patchwork Fri Oct 8 15:39:38 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: 12545585 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 844ACC433F5 for ; Fri, 8 Oct 2021 15:41:48 +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 4D9246101A for ; Fri, 8 Oct 2021 15:41:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 4D9246101A 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=ZK8hc+RTreCuzSZ71H5NrDa2y7rhVJgL2f0BD6r3o3Y=; b=qzam58I5JO2OM9 QhMD6w3zzZRO2QNfUqFieMzopk4Nx9/uGjChNn2U21pvZBSLgDyqzJc2k326ab7UA+6op2TrtnGx4 DSJBzKASGkoDA/4J49siNen3GhcH2sofw4tDE1S/keHvUNSDgacCYgksqGuQU770M+g4p0s+9nUYg 9Z7i1aThVUU9zWa3Ydr4DOoNKADq7h8xW7qOqQJ98pcJAkm5ypDC0jNTX7M3SsiEVpWra4kNXtejR idvK2U/AIWKz/buiDKvLompxsBbHR7Ca0hW2mopGLTzFCuaqyS0YqYWs8GIPkbTiO5RHW/5+oGOa3 KqmwIjt6Z0+CBrSawY9Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mYryW-003G8c-J0; Fri, 08 Oct 2021 15:39:56 +0000 Received: from mail-lf1-x130.google.com ([2a00:1450:4864:20::130]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mYryS-003G6p-SF for linux-arm-kernel@lists.infradead.org; Fri, 08 Oct 2021 15:39:54 +0000 Received: by mail-lf1-x130.google.com with SMTP id n8so38566464lfk.6 for ; Fri, 08 Oct 2021 08:39:50 -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=YG9Ar+cG6qU5gjsx0O70Gv7O+SgzCIkgLxuZkibpVvY=; b=Rp3jX2X5Q2u65KiRr3g/piNYKnrDJC2jZOLAUfByXB2AGTC07WXW5XePdlrQw99Aar zbsia3AwKyGZ8ftEu53n3kN8egySix/0sd7EcBUq075kUTS3DPWxrR9E5LEUt9fjyZNB CBHBDUVQiWAScCqipee54dOmmF9xcgpWVuNa++10gTRt0TlPf454p5li5/iL6EgM7vgN UTPpemXcwz4e4ANAqlyIwD7NPWfo8DC4MLDTWH/AlubcC4IBYS6ek9n+gnnwr13/Ut3z iE5uYJFqIbeV2TZ8ASTgJtSMTIYJMePoRzsuEXjAeVtdltTmy74aUCzPJ5cLbYaZArvC r6Vw== 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=YG9Ar+cG6qU5gjsx0O70Gv7O+SgzCIkgLxuZkibpVvY=; b=R2alWeR+skAdxFnxWDSBlraoeQ8b6hjDqxJ4G3Yum55SPfQTGWSCSzKp0LIfHmTB+v M+p7F0A7NDBLepL9HMvdxigZVBJSmv2Kqni0ntl5PIYXXLOqiaq3URHxdUfdIzVIVUMQ g0VliUmkwtrYi4UaUtlNnAC878tCRdMYNRbd5LWXphY1xDpZMyrt7n8EDoGbre0eeLLa aJfTlOhHp8bT+KN6qVp6INVKY+b04ORdEquH/rOHa3V7m7hT7CF0I/JUwnVy5o2GnLqf sPg4/+d3aDbuPAXVafCzAqIwCqgT3dbtwVSH1N1RvSi6N25bTgYigtYE+1a0bbtxLcTR ClTA== X-Gm-Message-State: AOAM532XOgX+6zHScev6kprmK6T8qIibvhEh0TQofd8HK5/gLfL8fHmI odMfoOiAxgHPEQXerHombv4= X-Google-Smtp-Source: ABdhPJyqXmlhUIDibjr4Kkw0USEAAWrWl3xzaH/JKr6l6aGts+0NJDKTXoAj9KESuBfR0MGeczeH0Q== X-Received: by 2002:a2e:5359:: with SMTP id t25mr4286576ljd.18.1633707588461; Fri, 08 Oct 2021 08:39:48 -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 u27sm156851lfm.275.2021.10.08.08.39.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Oct 2021 08:39:47 -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 V2 linux-pinctrl 1/2] Revert "dt-bindings: pinctrl: bcm4708-pinmux: rework binding to use syscon" Date: Fri, 8 Oct 2021 17:39:38 +0200 Message-Id: <20211008153939.19685-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_083952_967289_4DA2B075 X-CRM114-Status: GOOD ( 16.19 ) 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 --- V2: Update brcm,cru.yaml to avoid new yamllint warnings/errors --- .../devicetree/bindings/mfd/brcm,cru.yaml | 11 +++++---- .../bindings/pinctrl/brcm,ns-pinmux.yaml | 23 +++++++++++-------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/mfd/brcm,cru.yaml b/Documentation/devicetree/bindings/mfd/brcm,cru.yaml index fc1317ab3226..28ac60acf4ac 100644 --- a/Documentation/devicetree/bindings/mfd/brcm,cru.yaml +++ b/Documentation/devicetree/bindings/mfd/brcm,cru.yaml @@ -32,13 +32,13 @@ properties: "#size-cells": const: 1 - pinctrl: - $ref: ../pinctrl/brcm,ns-pinmux.yaml - patternProperties: '^clock-controller@[a-f0-9]+$': $ref: ../clock/brcm,iproc-clocks.yaml + '^pin-controller@[a-f0-9]+$': + $ref: ../pinctrl/brcm,ns-pinmux.yaml + '^thermal@[a-f0-9]+$': $ref: ../thermal/brcm,ns-thermal.yaml @@ -73,9 +73,10 @@ examples: "iprocfast", "sata1", "sata2"; }; - pinctrl { + pin-controller@1c0 { compatible = "brcm,bcm4708-pinmux"; - offset = <0x1c0>; + reg = <0x1c0 0x24>; + reg-names = "cru_gpio_control"; }; thermal@2c0 { 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 15:39:39 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: 12545583 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 12785C433EF for ; Fri, 8 Oct 2021 15:41:48 +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 D455B6101A for ; Fri, 8 Oct 2021 15:41:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org D455B6101A 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=OgGlQUuGK1WEiZ WqHVVaUY/WexJv9iEIzCikYyUM8UBIKWu7XF2sbmEvExuNR4TkUDDv0fn+ZO0rsItYwZLUDJEtJ/i EywjN3BLA3mY6WMP3Q2Ot0nloBFUL/ebuAgBctCWFPYaRw74uviYT/KB91N4MvcFzXHbBMf/FhF+4 wDFLXygPUrRXStcKrv8EOtSgiAfAFJyhYU6I/2oyyHxSsrxQg25b+EeCaLRGE1ugXExggcUaVXAP4 he6zuHdSn4WSgeIxty1YrUVwonAriVV1miPaZRsLwn6z8nKvpdmHg1IjHLMz6FBnJkAfzNVkDYFiy adtdGC91Mddneth3cpEA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mYryh-003GAL-UQ; Fri, 08 Oct 2021 15:40: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 1mYryT-003G6x-Ac for linux-arm-kernel@lists.infradead.org; Fri, 08 Oct 2021 15:39:54 +0000 Received: by mail-lf1-x131.google.com with SMTP id y15so40931453lfk.7 for ; Fri, 08 Oct 2021 08:39: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:in-reply-to:references :mime-version:content-transfer-encoding; bh=gDyEXWIeYRFxChu9VxQR3xwCXz9T0mgyC95BWcs1m1I=; b=jGK19TX4C59UJgY1shXWdZHtXz7jMJBPg866ZeCN71fkOHlLX2tqaebuU9SGhPfWsW lsi97Pj1w/DcjPWH1QhAPRJMUFhmYkQZzVNLiFgOekPlb4f/pMj7OOh+xq3JRsfdrUYP AI8cxBpncxGkrbZKkfdNsXEzkB0Dyr72CReHcocIn3U20VxGds4aIMEzEXIOV6YdFT8p AoQhEZF3UKqiJ7ARxr69LByA580j3LpwJoUSC1mIXucKI4YzfRTxXuoe/4mdBi2YQgFN FaqGPZrujj05+ycejlyxdRLsDOANEQ98tF7uCcW4yEaPniJuf+IklNM7LaxW/B/li5tg hTJQ== 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=egyKN8lJKJ+7e/krAdHd/Kr7qSk8d0o2mbEIpVOdrgS0PEU9QzqFTOPqa5rB3w6meN ZbSEyEewkF4sCnLqKE2CHt6Q3SCjCXO5OdFB/lpeAzh4+p5tI4ev1IPRNRu4b/FBmi1U SzixLdobtx1KunBjzi2KFIz0yOBibylTl88FLIPOF/tb7CeKmTHSA7Mz0BC4mLgOP0xP O22WuPr7GAc2NI/9biz9STBdFC2DsgIHQi4ipwRVFXzahnezQMTgPbzKaHnOTanke3TO UI1sIMKgKQwqM3UNThTYKx3qOk3/P2EUPwRALfp4sX9bruUfSL4ck61gUqPEcXvCtpoV n4aQ== X-Gm-Message-State: AOAM530yqOO9qwSeYgskGZUSbC4r8l/PeMYsZAiBH+wlvz1JmXrIUe2h flBIC+r5+QbJ/+brx5EScD4= X-Google-Smtp-Source: ABdhPJyrPWldKwHWPwzsouIKLWc2KVmxKlBBTf362iEc8sEfyXu0e4IBIQuQ18iRsscGlWPiOhO2bw== X-Received: by 2002:ac2:4e47:: with SMTP id f7mr11155438lfr.615.1633707590279; Fri, 08 Oct 2021 08:39: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 u27sm156851lfm.275.2021.10.08.08.39.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Oct 2021 08:39: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 V2 linux-pinctrl 2/2] Revert "pinctrl: bcm: ns: support updated DT binding as syscon subnode" Date: Fri, 8 Oct 2021 17:39:39 +0200 Message-Id: <20211008153939.19685-2-zajec5@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20211008153939.19685-1-zajec5@gmail.com> References: <20211008153939.19685-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_083953_392926_96DD8E40 X-CRM114-Status: GOOD ( 19.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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));