From patchwork Thu May 9 20:59:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 10937713 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EAFB3112C for ; Thu, 9 May 2019 21:01:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DC8A128BB6 for ; Thu, 9 May 2019 21:01:39 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DA24D28AD1; Thu, 9 May 2019 21:01:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 8B94A28C57 for ; Thu, 9 May 2019 21:01:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=VOCPsq4y9zy8JWjsdxR+mgvN1FQxL+d5UhffYRIzuwM=; b=rqV+xs9GCwkuuBbR6aEl82MaVe SfJsJvirpLPniKzQl2lbJvrRHTKxJuwbYsch0tykcBNCHROw41mdjhIZ+fVseF5JrxrCETyx3u8MU 5TDbZibMmQD6RLb0lFn4IDlsg4PdjOW7loRV+pGXrDGwY8fOLZbYlppaH4XDSF5TyrI2szBUGKlpz FmzSlpiFlJW6TPbNm++z0ujFaerFADAthAEQTAmGuNYz0l+y8ZMI2nzihmESVXlL5cenJgYKdo262 4fLYqoBl1dVRr0iFPTymSTJxT7PLA+kaxAG47s7QaKL4QUO32H+bNhfYzXYFsJuXOwikVAW+Sqoq2 ZvAfG2lw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hOqAV-0003VW-ER; Thu, 09 May 2019 21:01:31 +0000 Received: from mail-pg1-x542.google.com ([2607:f8b0:4864:20::542]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hOqAL-0003If-Kd; Thu, 09 May 2019 21:01:22 +0000 Received: by mail-pg1-x542.google.com with SMTP id d31so1818383pgl.7; Thu, 09 May 2019 14:01:21 -0700 (PDT) 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; bh=Rji3Tsx4QdgFefM8jscUiPkqR6jrOJsimIgfbLEWBM8=; b=qI6ufmv32wwIJe/P5xoB6V2LwPg2k0uATPOsgYvQ/FktxohPd6qokjj0qp9drwdjwg 7CY8GzyGig23rFHllc8aINFtiVD/Z3RRCWKgqgzBaQwIVpnVOcJ3xUci/n/LZjr7OXwG riavwMw5bWNSE5/ZuR04jHA757v7RbyirigrVoJ7wYr8QcdVHk/eEsjQYPoJ8GUuJd9+ oHL8ssMVpWeCHfz3VGUl5BBg/muHwDEkERYzioFgnWXKLKWMfQKrEwjj6HZPzP/ggSpO +9duQoHcTE00N9LzP1sG02BuG7Rp9uYVSUvQrF++uqpsGhn5OuBfNbvRUHDDCJPh7jqx 3hwQ== 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; bh=Rji3Tsx4QdgFefM8jscUiPkqR6jrOJsimIgfbLEWBM8=; b=oQZHszV0en0OlbI48DwkETmthTUMasqS3yzvAcCbZ+d9bapAh8/CC7gBKa6UqnpT8s lKPd9+UjeJ98a048dsSHUOq7w+9jqliM6zCakmKHtax8IoETHNRSwdFJENnonLHXvYq2 PkT4nNkVYYX/Zs8kM1iT10UnUYz28IuSXfXrfbMLn823YnmTkD2vXN0FP4nA0QKau2hL GiNZrAKERn45KjLNHQYxqx3OTw61KN0lMmUE6qucRfptL60lLEhXG19ODI3izTTWlKsw xp+pkA++bGuqacAak4JBhulckEs4fNJ5zKr1wdS4sXOpiYEqrbKuH4+Btf5M2MdYYBMA ZSLA== X-Gm-Message-State: APjAAAUbYHqScVkB28nWlAmBjeVHBRq8p01HHKb/F4A1PhJNDXztS/KB 3BiMBF44TjvrY8+I6wqc7aPRDpRy X-Google-Smtp-Source: APXvYqxGsWxzMY/zvlEJjq4i52EZgy9WmOXV9oY/+hUqUu+ZAT9UlzzCIOeZHOjiUYsD90CSHX8NQQ== X-Received: by 2002:a65:554d:: with SMTP id t13mr8487941pgr.171.1557435680626; Thu, 09 May 2019 14:01:20 -0700 (PDT) Received: from fainelli-desktop.igp.broadcom.net ([192.19.223.250]) by smtp.gmail.com with ESMTPSA id d15sm10989209pfm.186.2019.05.09.14.01.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 May 2019 14:01:19 -0700 (PDT) From: Florian Fainelli To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 1/3] dt-bindings: pinctrl: bcm2835-gpio: Document BCM7211 compatible Date: Thu, 9 May 2019 13:59:53 -0700 Message-Id: <20190509205955.27842-2-f.fainelli@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190509205955.27842-1-f.fainelli@gmail.com> References: <20190509205955.27842-1-f.fainelli@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190509_140121_674400_DC2A3FE2 X-CRM114-Status: GOOD ( 13.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Stefan Wahren , Florian Fainelli , Scott Branden , Matheus Castello , Ray Jui , Linus Walleij , Al Cooper , Lukas Wunner , open list , Eric Anholt , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Rob Herring , "maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE..." , "moderated list:BROADCOM BCM2835 ARM ARCHITECTURE" , "open list:PIN CONTROL SUBSYSTEM" , =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= , Doug Berger , Nathan Chancellor MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP BCM7211 has a slightly different block layout and some additional GPIO registers that were added, document the compatible string. Signed-off-by: Florian Fainelli --- .../devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt b/Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt index 3fac0a061bcc..ac6d614d74e0 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt @@ -5,6 +5,9 @@ controller, and pinmux/control device. Required properties: - compatible: "brcm,bcm2835-gpio" +- compatible: should be one of: + "brcm,bcm2835-gpio" - BCM2835 compatible pinctrl + "brcm,bcm7211-gpio" - BCM7211 compatible pinctrl - reg: Should contain the physical address of the GPIO module's registers. - gpio-controller: Marks the device node as a GPIO controller. - #gpio-cells : Should be two. The first cell is the pin number and the From patchwork Thu May 9 20:59:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 10937715 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2E5A3112C for ; Thu, 9 May 2019 21:01:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1E1FB28C47 for ; Thu, 9 May 2019 21:01:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1B06428C3F; Thu, 9 May 2019 21:01:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B1A5E28C38 for ; Thu, 9 May 2019 21:01:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=+D+4XlfUrp+IhM3164wscgklQG7w1CiTIZJ1h7pENW0=; b=X6ZH+z/xYsAJ5x9CYgYemhKWbB Wn1dhOBGhI/foSQKowgXt6Wei9zeM0vQ1sy/UmRf5qB0yUS+hYTOuvas7nGys6cMxtHFMa4OohIk8 VipcSyI7lewl9PYOiFnyIT8JUATypFSw+15KgYzsMIIQyHBCRpQQfbnnjxJi6juPxH6liZsPhbGl3 S8pbPH6qd2gGxVdf9s1fulSAm9LsdEA5p8TsuhOdx4t0R00uYqgjm1h55pjq/88vY+2OALccQLe0d Us0ejmEbzZAUV65fKytabpeEnra0jUKPTExUDnA9PPkVggTib1+JkK0enB7UrfOSg6A1q5X7A+TNd f/9V4ziA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hOqAg-0003iZ-3X; Thu, 09 May 2019 21:01:42 +0000 Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hOqAN-0003KM-C3; Thu, 09 May 2019 21:01:26 +0000 Received: by mail-pl1-x644.google.com with SMTP id a59so1717014pla.5; Thu, 09 May 2019 14:01:23 -0700 (PDT) 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; bh=MSJ4xqUm9vrKGdI4mtkTYOHlvZbHUnqDBUPly/F4wuQ=; b=VbXUipzv50tdvMoMxdrUTgpcDcs34w51583wOCbZx5EJFh7Xd77s+q29KSaW/yS7g6 JNxwi/WnVdjh8pUPCUgV11QhmHxVm80pZh4OVtep3YHZLRd203cfRDrOYRF9BMuAS14J /S/EneJHu+RnuRGuDOToccv2aHYe54l5LvbN6f82wjbvn54k2/j8ttYQoS/I4lH6h19e 38MNG/HClLzYyMxdnOlHOctn9iCYaTi7OqgjmZC72NEVvc+7KKz9DIfDC0GJunFVPh4A Kp09m4HYTwdo2j0AZl6EQKr/BAlfL/834LoBlfpc4niflErnXXU/iD8ZowHd/gOVGbf3 I0eQ== 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; bh=MSJ4xqUm9vrKGdI4mtkTYOHlvZbHUnqDBUPly/F4wuQ=; b=CIOhXxR73MCIMMkAxtGjuUZrfVkAl3PiBCUk9XpLnpHQ4i14dRYEd5vDh41iD7idL/ fnurDvB3XX9Y+sUmHHwEe6XGf1GaBPN3MnD32CLxtbOidDjqqMQTOboAmHnLTHCxcnMf qxfsvOC0HTExU1OaAHJ9EqmmuapJNrsCzr0mv9V89BbNE/FVG7DnHE3GSA4Ij57fwLmO Ei5OCbrUvsRAkajJ7ZyxULsKZusgubAI8og9fBU2kjEKdrMc1smogD0J3DdOWzgu+DC6 UK5DSnF3GlFOu5bLhVirXI2pn7nLdFNHcn/ebgoOEDOWCeevKUKiD65hWVEmYzZC4ehN ppiA== X-Gm-Message-State: APjAAAUvRTl9XTgIsxUQD1bm1DjOQl6eDHtHSvvvkc6KoArINnDYIUvI jnKo0QHJnp+S2+IcQTtQ1w08+niY X-Google-Smtp-Source: APXvYqzeZd/pZ43yTx99GwwYFgQ+ou7UuhYXuksIA98japswJFhif//e+t0t5Uj11uv//Zcv5bgqIA== X-Received: by 2002:a17:902:e091:: with SMTP id cb17mr8039710plb.222.1557435682568; Thu, 09 May 2019 14:01:22 -0700 (PDT) Received: from fainelli-desktop.igp.broadcom.net ([192.19.223.250]) by smtp.gmail.com with ESMTPSA id d15sm10989209pfm.186.2019.05.09.14.01.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 May 2019 14:01:21 -0700 (PDT) From: Florian Fainelli To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 2/3] pinctrl: bcm: Allow PINCTRL_BCM2835 for ARCH_BRCMSTB Date: Thu, 9 May 2019 13:59:54 -0700 Message-Id: <20190509205955.27842-3-f.fainelli@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190509205955.27842-1-f.fainelli@gmail.com> References: <20190509205955.27842-1-f.fainelli@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190509_140123_656563_E2F1FEBB X-CRM114-Status: GOOD ( 14.50 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Stefan Wahren , Florian Fainelli , Scott Branden , Matheus Castello , Ray Jui , Linus Walleij , Al Cooper , open list , Rob Herring , Eric Anholt , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Doug Berger , "maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE..." , "moderated list:BROADCOM BCM2835 ARM ARCHITECTURE" , "open list:PIN CONTROL SUBSYSTEM" , =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= , Lukas Wunner , Nathan Chancellor MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Doug Berger ARCH_BRCMSTB needs to use the BCM2835 pin controller for chips like BCM7211 which adopted that pin controller for GPIO. This commit makes the option menu configurable with default enabled for ARCH_BRCMSTB and ARCH_BCM2835. Signed-off-by: Doug Berger Signed-off-by: Florian Fainelli --- drivers/pinctrl/bcm/Kconfig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/pinctrl/bcm/Kconfig b/drivers/pinctrl/bcm/Kconfig index c8575399d6f7..c57f1d9259d8 100644 --- a/drivers/pinctrl/bcm/Kconfig +++ b/drivers/pinctrl/bcm/Kconfig @@ -17,11 +17,15 @@ config PINCTRL_BCM281XX framework. GPIO is provided by a separate GPIO driver. config PINCTRL_BCM2835 - bool + bool "Broadcom BCM2835 GPIO (with PINCONF) driver" + depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST select PINMUX select PINCONF select GENERIC_PINCONF select GPIOLIB_IRQCHIP + default ARCH_BCM2835 || ARCH_BRCMSTB + help + Say Y here to enable the Broadcom BCM2835 GPIO driver. config PINCTRL_IPROC_GPIO bool "Broadcom iProc GPIO (with PINCONF) driver" From patchwork Thu May 9 20:59:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 10937717 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A0D2D1390 for ; Thu, 9 May 2019 21:02:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8B38628C55 for ; Thu, 9 May 2019 21:02:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 884A228C57; Thu, 9 May 2019 21:02:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 0578628BC4 for ; Thu, 9 May 2019 21:02:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=Wu+t90OyKaZ4eoiA8Q54VCh7UC5I6Cn0bypUxKemOIk=; b=uoeIZVz3xPzKgVe1woOCOoHAvi 6nQ+scuonJH4+VvRhtrd+cBLTnGKgYqrazjQdxlXNs1GA34Btas2JQM7xfVrV4346xdaq68KylJ64 6ynXtqllQIWYfezyfP1jCzcLI4ODchHt8R7KSdw4/1kQN7wpxra4y3XcpIdENw5hJ1l6XhrtBmCne A33L/YcSS0eH4vk0MuUtK1soNZsnK4ApHPzHWlrQvz1OREoWYkowDHRD9BJioVd+OjXFqVBooI/a8 LYQ7x+gov5PwGZFsAWThyaMScEV4144WPkoCEoVQWiUzi2kGKkNu87kSUtp3BNPTkcVIMQXEBoeSD K/lmdf4g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hOqAu-000427-Le; Thu, 09 May 2019 21:01:56 +0000 Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hOqAP-0003Mq-CF; Thu, 09 May 2019 21:01:29 +0000 Received: by mail-pl1-x643.google.com with SMTP id b3so1713988plr.7; Thu, 09 May 2019 14:01:25 -0700 (PDT) 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; bh=XIfv0w8R9hbMpIkYecRyvbKImnAIaPLF4+t0eBmtucc=; b=eicyC2LYjnQM70p4GVW8AY2eMq2ucpBRLYd8qbc6RiNh7HpQ+14/Imu7oCe49giLcz OsQs4iFWp1m2yWVTc9GJxU0BX1mZt9QFFP/uKk2rNpjj2WK/PHPgUsz95JyOdh8DkPO9 68TuxjHgop54Tp3vJ3Pr2DD/xvW6b+a5UYYQ9wuznYgD00LtCRJgQ1+c2R1H+4l7hw20 MexlNgZRhdzMQszkqV95NLYZnslJCDDG5TbQ2DvwqWxIZXJjBJEzLC3KsIzDlzE87mI5 gRG+kqvBlZLFW1WcEKgtqB/7HD85ZuUERRV9G5KNHIgQTkzv/3dSnB+oCs5b/H1e3AqV k8Lg== 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; bh=XIfv0w8R9hbMpIkYecRyvbKImnAIaPLF4+t0eBmtucc=; b=dxI8vORSVXlZMYej0t/LXg09VWw+4TJv87q1sdYdVw/sM1Gu/ggJGRBeFc4ITHBvW5 mUeF07ol04segF/BWCsrPRx0+1dWif9IT9IEylKQy3kf4izVLvAELMhtAL1PPKt8rx5J FbmFaF6DHodEow3O1GhtKo/1c9iTCLcJ36K0SRqDIJe7XWR0HqFU1bMnby6diPZ2EwsJ NPKMeDiva60/vBp2anVIE9o1WY7pA3Qtq61IjEbxz/qaYBeUn1AwyOQkI+iH9PToUYZR QgTbXIntmSUEQkXP0utW3VvASpfKOcET0jc6yWfCdX319csU5nvF04PXlgnGcoih1Dti 20aA== X-Gm-Message-State: APjAAAWNPhuwKLxTPxi+UtWRclYZXSIi78gxaqMMOv+4Y/QgJm4D4kzW dH9DSrSyyFy+Xk93IMhfrwXzcKAt X-Google-Smtp-Source: APXvYqwcw7GiVnjrYj1XiTQi0Bq0hzC69oqOsJ7LlYVQptq7h8VhaR08IPnOqeMHrT9EEpuiPK89Cg== X-Received: by 2002:a17:902:9a83:: with SMTP id w3mr8129940plp.241.1557435684380; Thu, 09 May 2019 14:01:24 -0700 (PDT) Received: from fainelli-desktop.igp.broadcom.net ([192.19.223.250]) by smtp.gmail.com with ESMTPSA id d15sm10989209pfm.186.2019.05.09.14.01.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 May 2019 14:01:23 -0700 (PDT) From: Florian Fainelli To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 3/3] pinctrl: bcm2835: bcm7211: Add support for 7211 pull-up functionality Date: Thu, 9 May 2019 13:59:55 -0700 Message-Id: <20190509205955.27842-4-f.fainelli@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190509205955.27842-1-f.fainelli@gmail.com> References: <20190509205955.27842-1-f.fainelli@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190509_140125_625781_4B0693D4 X-CRM114-Status: GOOD ( 21.50 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Stefan Wahren , Florian Fainelli , Scott Branden , Matheus Castello , Ray Jui , Linus Walleij , Al Cooper , Lukas Wunner , open list , Eric Anholt , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Rob Herring , "maintainer:BROADCOM BCM281XX/BCM11XXX/BCM216XX ARM ARCHITE..." , "moderated list:BROADCOM BCM2835 ARM ARCHITECTURE" , "open list:PIN CONTROL SUBSYSTEM" , =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= , Doug Berger , Nathan Chancellor MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Al Cooper The 7211 has a new way of selecting the pull-up/pull-down setting for a GPIO pin. The registers used for the bcm2837, GP_PUD and GP_PUDCLKn0, are no longer connected. A new set of registers, GP_GPIO_PUP_PDN_CNTRL_REGx must be used. This commit will add a new compatible string "brcm,bcm7211-gpio" and the kernel driver will use it to select which method is used to select pull-up/pull-down. Signed-off-by: Al Cooper Signed-off-by: Florian Fainelli --- drivers/pinctrl/bcm/pinctrl-bcm2835.c | 85 +++++++++++++++++++++++++-- 1 file changed, 80 insertions(+), 5 deletions(-) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c index 183d1ffe6a75..35d9f9593000 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -57,15 +57,26 @@ #define GPAFEN0 0x88 /* Pin Async Falling Edge Detect */ #define GPPUD 0x94 /* Pin Pull-up/down Enable */ #define GPPUDCLK0 0x98 /* Pin Pull-up/down Enable Clock */ +#define GP_GPIO_PUP_PDN_CNTRL_REG0 0xe4 /* 7211 Pin Pull-up/down select */ #define FSEL_REG(p) (GPFSEL0 + (((p) / 10) * 4)) #define FSEL_SHIFT(p) (((p) % 10) * 3) #define GPIO_REG_OFFSET(p) ((p) / 32) #define GPIO_REG_SHIFT(p) ((p) % 32) +#define PUD_7211_MASK 0x3 +#define PUD_7211_REG_OFFSET(p) ((p) / 16) +#define PUD_7211_REG_SHIFT(p) (((p) % 16) * 2) + /* argument: bcm2835_pinconf_pull */ #define BCM2835_PINCONF_PARAM_PULL (PIN_CONFIG_END + 1) +enum bcm7211_pinconf_pull { + BCM7211_PINCONFIG_PULL_NONE, + BCM7211_PINCONFIG_PULL_UP, + BCM7211_PINCONFIG_PULL_DOWN, +}; + struct bcm2835_pinctrl { struct device *dev; void __iomem *base; @@ -975,6 +986,55 @@ static const struct pinconf_ops bcm2835_pinconf_ops = { .pin_config_set = bcm2835_pinconf_set, }; +static int bcm7211_pinconf_set(struct pinctrl_dev *pctldev, + unsigned int pin, unsigned long *configs, + unsigned int num_configs) +{ + struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev); + u32 param, arg; + u32 shifter; + u32 value; + u32 off; + int i; + + for (i = 0; i < num_configs; i++) { + param = pinconf_to_config_param(configs[i]); + if (param != BCM2835_PINCONF_PARAM_PULL) + return -EINVAL; + arg = pinconf_to_config_argument(configs[i]); + + /* convert to 7211 value */ + switch (arg) { + case PIN_CONFIG_BIAS_DISABLE: + arg = BCM7211_PINCONFIG_PULL_NONE; + break; + case PIN_CONFIG_BIAS_PULL_DOWN: + arg = BCM7211_PINCONFIG_PULL_DOWN; + break; + case PIN_CONFIG_BIAS_PULL_UP: + arg = BCM7211_PINCONFIG_PULL_UP; + break; + } + + off = PUD_7211_REG_OFFSET(pin); + shifter = PUD_7211_REG_SHIFT(pin); + + value = bcm2835_gpio_rd(pc, GP_GPIO_PUP_PDN_CNTRL_REG0 + + (off * 4)); + value &= ~(PUD_7211_MASK << shifter); + value |= (arg << shifter); + bcm2835_gpio_wr(pc, GP_GPIO_PUP_PDN_CNTRL_REG0 + (off * 4), + value); + } /* for each config */ + + return 0; +} + +static const struct pinconf_ops bcm7211_pinconf_ops = { + .pin_config_get = bcm2835_pinconf_get, + .pin_config_set = bcm7211_pinconf_set, +}; + static struct pinctrl_desc bcm2835_pinctrl_desc = { .name = MODULE_NAME, .pins = bcm2835_gpio_pins, @@ -990,6 +1050,18 @@ static struct pinctrl_gpio_range bcm2835_pinctrl_gpio_range = { .npins = BCM2835_NUM_GPIOS, }; +static const struct of_device_id bcm2835_pinctrl_match[] = { + { + .compatible = "brcm,bcm2835-gpio", + .data = &bcm2835_pinconf_ops, + }, + { + .compatible = "brcm,bcm7211-gpio", + .data = &bcm7211_pinconf_ops, + }, + {} +}; + static int bcm2835_pinctrl_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -997,6 +1069,8 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) struct bcm2835_pinctrl *pc; struct resource iomem; int err, i; + const struct of_device_id *match; + BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_pins) != BCM2835_NUM_GPIOS); BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_groups) != BCM2835_NUM_GPIOS); @@ -1073,6 +1147,12 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) bcm2835_gpio_irq_handler); } + match = of_match_node(bcm2835_pinctrl_match, pdev->dev.of_node); + if (match) { + bcm2835_pinctrl_desc.confops = + (const struct pinconf_ops *)match->data; + } + pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc); if (IS_ERR(pc->pctl_dev)) { gpiochip_remove(&pc->gpio_chip); @@ -1087,11 +1167,6 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) return 0; } -static const struct of_device_id bcm2835_pinctrl_match[] = { - { .compatible = "brcm,bcm2835-gpio" }, - {} -}; - static struct platform_driver bcm2835_pinctrl_driver = { .probe = bcm2835_pinctrl_probe, .driver = {