From patchwork Sun Feb 24 14:04:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marc Zyngier X-Patchwork-Id: 10827991 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 E2F5D1575 for ; Sun, 24 Feb 2019 14:07:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CE88D29B3A for ; Sun, 24 Feb 2019 14:07:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C10482B471; Sun, 24 Feb 2019 14:07:53 +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_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=unavailable 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 6EABF29B3A for ; Sun, 24 Feb 2019 14:07:53 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version: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=e43qQGpzbrovgCRk1uHOYBFiZutu0oDONGpb/oB/82I=; b=SReB7fLkdggEyj YLU6mz8cyrLcIk+wJ7aJJ5owOo3iSNPpBjuz05UB3MLIkivCSInXIcfz4lnbaIknOETn0iPaszWIq ygQ3G1WxLaf/VMA+C4HWDFnYvs1kQX2BCTxlWg7XPJAi3vhfmlKf5ZbMM9n4sETs6SSJIR28p3VC2 KZkfnDE7HkpQ3ZbkK1y5R26x4LnHjazGiBRgQqBS2WeqRlJz8Lh6zoARxB1bz4+Zm84hZbb2ksrjA aeZBjg/Nw6ECqsLztu5F5Jn8XrEQxEP6YUsMQwZ1YZrttB5gu7mrQzT6ZRcF8ZCqUBMEcVWHYwmSl P/ruOu7DHgPgZ8Rk1/Ag==; 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 1gxuPP-0007iJ-AF; Sun, 24 Feb 2019 14:05:35 +0000 Received: from foss.arm.com ([217.140.101.70]) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gxuP8-0007Yd-FR; Sun, 24 Feb 2019 14:05:21 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4D2D91596; Sun, 24 Feb 2019 06:05:12 -0800 (PST) Received: from why.lan (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3166C3F690; Sun, 24 Feb 2019 06:05:09 -0800 (PST) From: Marc Zyngier To: Amitkumar Karwar , Enric Balletbo i Serra , Ganapathi Bhat , Heiko Stuebner , Kalle Valo , Nishant Sarmukadam , Rob Herring , Xinming Hu Subject: [PATCH 1/4] dt-bindings/marvell-8xxx: Allow wake-up interrupt to be placed in a separate node Date: Sun, 24 Feb 2019 14:04:23 +0000 Message-Id: <20190224140426.3267-2-marc.zyngier@arm.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190224140426.3267-1-marc.zyngier@arm.com> References: <20190224140426.3267-1-marc.zyngier@arm.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190224_060518_521184_74369415 X-CRM114-Status: GOOD ( 15.61 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, "David S. Miller" , linux-arm-kernel@lists.infradead.org Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+patchwork-linux-rockchip=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP The DT binding for the PCI version of the Marvell 8xxx wifi devices is pretty broken (the fact that a PCI device requires a DT binding is quite telling on its own). The binding allows the description of a wake-up interrupt as a sideband signal, allowing the wifi device to wake-up the system. So far, so good. Until you realise that placing an interrupt in the PCI device DT node has a specific meaning, and applies to the actual PCI function, and not some random sideband stuff. This is of course in total violation of the OF specification (IEEE Std 1275-1994), but hey, who cares. Let's thus change the binding to be somewhat compatible with the spec, by placing the wake-up interrupt in a subnode called "wake-up". This still is an optional property, but a recommended one for PCI devices. Signed-off-by: Marc Zyngier --- .../bindings/net/wireless/marvell-8xxx.txt | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt b/Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt index 9bf9bbac16e2..f9340ca37047 100644 --- a/Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt +++ b/Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt @@ -33,10 +33,16 @@ Optional properties: this interrupt number. during system suspend, the irq will be enabled so that the wifi chip can wakeup host platform under certain condition. during system resume, the irq will be disabled to make sure - unnecessary interrupt is not received. + unnecessary interrupt is not received. For PCI devices, it + is recommended that this property is placed in a "wake-up" + sub-node in order to limit the ambiguity with PCI legacy + interrupts. - vmmc-supply: a phandle of a regulator, supplying VCC to the card - mmc-pwrseq: phandle to the MMC power sequence node. See "mmc-pwrseq-*" for documentation of MMC power sequence bindings. + - wake-up: a subnode containing the interrupt specifier for a wake-up + interrupt. This is the recommended configuration for PCI + devices. Example: @@ -66,3 +72,18 @@ so that firmware can wakeup host using this device side pin. marvell,wakeup-pin = <3>; }; }; + +&pci_rootport { + mvl_wifi: wifi@0,0 { + compatible = "pci1b4b,2b42"; + reg = <0x83010000 0x0 0x00000000 0x0 0x00100000 + 0x83010000 0x0 0x00100000 0x0 0x00100000>; + pinctrl-names = "default"; + pinctrl-0 = <&wlan_host_wake_l>; + wake-up { + interrupt-parent = <&gpio0>; + interrupts = <8 IRQ_TYPE_LEVEL_LOW>; + wakeup-source; + }; + }; +};