From patchwork Tue Sep 30 10:22:26 2014 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: 394883 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 941EC14013F for ; Tue, 30 Sep 2014 20:25:23 +1000 (EST) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1XYuaH-0000oU-Dr; Tue, 30 Sep 2014 10:23:05 +0000 Received: from mail-we0-x234.google.com ([2a00:1450:400c:c03::234]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XYuaD-0000hG-LW for linux-arm-kernel@lists.infradead.org; Tue, 30 Sep 2014 10:23:02 +0000 Received: by mail-we0-f180.google.com with SMTP id x48so3905654wes.11 for ; Tue, 30 Sep 2014 03:22:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=9LxHgMB2c/PdRFzp1lskcjD/6I1MyT0IzD+eG84GHrg=; b=tFnLiFv+DQ6Ys/VHBFgJB1U3pAwC8o9ApzWQJbCsXjK+GRqdH2ugYhLg4eA5ml7CRH 6EbU40+0tyAiTY9mksuBMyb92ArddkRhALplq/Mm0gUlh+KbFLg7BLweMXlEQC6RH5fU aicr2fP+xHsTcnndS87/ALOa9k0iD63GWfEi9QQ9lnIrKUxCG0rWVBXXge/4jomnvTxi 5OtR99sZjdspJYn6cROKr4gsk58duD/7gsCV3rQBEX1wVYIx38NxUcWsA1Kjb3GnYuK4 rGX1/raS04DZ7fsKrJkKiF1f/RLPeGxJnf6P3jQ/HVqCB7056fGA1Hi2W6+Hui11FrTY Q4wQ== X-Received: by 10.194.11.10 with SMTP id m10mr49860378wjb.77.1412072558126; Tue, 30 Sep 2014 03:22:38 -0700 (PDT) Received: from linux-tdhb.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by mx.google.com with ESMTPSA id hk8sm14656263wib.18.2014.09.30.03.22.36 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 Sep 2014 03:22:37 -0700 (PDT) From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= To: "John W. Linville" , linux-wireless@vger.kernel.org Subject: [PATCH V3] bcma: use device from DT (brcm, bus-chipcommon) for SoC GPIO chip Date: Tue, 30 Sep 2014 12:22:26 +0200 Message-Id: <1412072546-3529-1-git-send-email-zajec5@gmail.com> X-Mailer: git-send-email 1.8.4.5 In-Reply-To: <1411892641-5662-1-git-send-email-zajec5@gmail.com> References: <1411892641-5662-1-git-send-email-zajec5@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140930_032301_882070_4A09DC03 X-CRM114-Status: GOOD ( 11.23 ) X-Spam-Score: -0.6 (/) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-0.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [2a00:1450:400c:c03:0:0:0:234 listed in] [list.dnswl.org] 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (zajec5[at]gmail.com) 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (zajec5[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain Cc: Hauke Mehrtens , =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , arnd@arndb.de, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org This will allow us to define GPIO-attached devices (LEDs, buttons) in the the device tree. Signed-off-by: Rafał Miłecki --- This is based on top of [PATCH v6] bcma: register bcma as device tree driver that I hope will reach wireless-next git tree. V2: Describe axi chilren and make gpio a child of chipcommon core. V3: Make chipcommon a GPIO controller (avoid extra sub-child) Speed up finding OF node in driver_gpio.c --- Documentation/devicetree/bindings/bus/bcma.txt | 13 +++++++++++++ drivers/bcma/driver_gpio.c | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/Documentation/devicetree/bindings/bus/bcma.txt b/Documentation/devicetree/bindings/bus/bcma.txt index e9070c1..0538692 100644 --- a/Documentation/devicetree/bindings/bus/bcma.txt +++ b/Documentation/devicetree/bindings/bus/bcma.txt @@ -9,6 +9,11 @@ Required properties: The cores on the AXI bus are automatically detected by bcma with the memory ranges they are using and they get registered afterwards. +The top-level axi bus may contain children representing attached cores +(devices). This is needed since some hardware details can't be auto +detected (e.g. IRQ numbers). Also some of the cores may be responsible +for extra things, e.g. ChipCommon providing access to the GPIO chip. + Example: axi@18000000 { @@ -17,4 +22,12 @@ Example: ranges = <0x00000000 0x18000000 0x00100000>; #address-cells = <1>; #size-cells = <1>; + + chipcommon { + compatible = "brcm,bus-chipcommon"; + reg = <0x00000000 0x1000>; + + gpio-controller; + #gpio-cells = <2>; + }; }; diff --git a/drivers/bcma/driver_gpio.c b/drivers/bcma/driver_gpio.c index 8ea497c..28bdbe5 100644 --- a/drivers/bcma/driver_gpio.c +++ b/drivers/bcma/driver_gpio.c @@ -218,6 +218,12 @@ int bcma_gpio_init(struct bcma_drv_cc *cc) #if IS_BUILTIN(CONFIG_BCM47XX) chip->to_irq = bcma_gpio_to_irq; #endif +#if IS_BUILTIN(CONFIG_OF) + if (cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC) + chip->of_node = of_find_compatible_node( + bus->host_pdev->dev.of_node, NULL, + "brcm,bus-chipcommon"); +#endif switch (cc->core->bus->chipinfo.id) { case BCMA_CHIP_ID_BCM5357: case BCMA_CHIP_ID_BCM53572: