From patchwork Mon Nov 26 10:03:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Parthiban Nallathambi X-Patchwork-Id: 10697931 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 2585D16B1 for ; Mon, 26 Nov 2018 10:05:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1025D292D1 for ; Mon, 26 Nov 2018 10:05:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 012B02974E; Mon, 26 Nov 2018 10:05:33 +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=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 05227292D1 for ; Mon, 26 Nov 2018 10:05:32 +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: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:In-Reply-To: References:List-Owner; bh=tHbLtdwjsqFBtIqCvoXXxEmnINwGFnN+Jo29uug7o2M=; b=hPR Ni33W843eqxOd02jOndrYrvV042AYrqhZepF9LRrg8Fd34BSPGvfZgcZObb6jWGa9knudTId0c/76 Gs/aqN9BtQrRSPI32RMc8/U/VV1cscLofAntCfpxA34kmvebJjDXFM7BybcEFMb9m1AMADVAGP14Z WEycXFMIlzM3opLbQwimQXga4lorUyqgTTs6BO4WyzNL6LWPT5XV29Azv21l6zBLobkmsE+JX53se HNvkk6FthxPqzi4u/F02IutFfAb3K/A1ZNap25EvhLc4fKoIb4gaw1Lp7Z4pspcZ0D96tzbXFRnYy ydGEtDi3/+GM3CSNo4E1wEoQiaJuOSA==; 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 1gRDlj-0002g9-Bv; Mon, 26 Nov 2018 10:05:31 +0000 Received: from mail-out.m-online.net ([2001:a60:0:28:0:1:25:1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gRDl0-0000si-KA for linux-arm-kernel@lists.infradead.org; Mon, 26 Nov 2018 10:04:50 +0000 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 433Mvp63zgz1r0gc; Mon, 26 Nov 2018 11:04:22 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 433Mvn70mxz1qrnD; Mon, 26 Nov 2018 11:04:21 +0100 (CET) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id o4M988OONLLE; Mon, 26 Nov 2018 11:04:19 +0100 (CET) X-Auth-Info: GFw8rKSdpbRcbWIH92I8BHAB1iLGsqN4VfwyPHTvRxA= Received: from xpert.denx.de (unknown [62.91.23.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 26 Nov 2018 11:04:19 +0100 (CET) From: Parthiban Nallathambi To: marc.zyngier@arm.com, tglx@linutronix.de, jason@lakedaemon.net, robh+dt@kernel.org, mark.rutland@arm.com, afaerber@suse.de, catalin.marinas@arm.com, will.deacon@arm.com, manivannan.sadhasivam@linaro.org Subject: [PATCH v3 0/4] Add Actions Semi Owl family sirq support Date: Mon, 26 Nov 2018 11:03:52 +0100 Message-Id: <20181126100356.2840578-1-pn@denx.de> X-Mailer: git-send-email 2.17.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181126_020446_815849_92AEA591 X-CRM114-Status: GOOD ( 12.82 ) 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: devicetree@vger.kernel.org, linux@cubietech.com, guilherme.simoes@lsitec.org.br, laisa.costa@lsitec.org.br, mkzuffo@lsi.usp.br, linux-kernel@vger.kernel.org, thomas.liau@actions-semi.com, mp-cs@actions-semi.com, Parthiban Nallathambi , edgar.righi@lsitec.org.br, linux-arm-kernel@lists.infradead.org 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 This patch series add support for external interrupt controller in Actions Semi Owl famil of SoC's (S500, S700 and S900). Actions provides support for external interrupt controller to be connected with it's SoC's using 3 SIRQ pins. Each line can be configures independently, i.e 3 independent external interrupt controller can be connected and managed parallely. Device tree node is created only for S700 after testing it in Cubieboard7. Changelog in v3: - Set default operating frequency to 24MHz - Falling edge and Low Level interrupts translated to rising edge and high level - Introduced common function with lock handling for register read and write - Used direct GIC interrupt number for interrupt local hwirq and finding offset using DT entry (range) when registers are shared - Changed irq_ack to irq_eoi - Added translation method for irq_domain_ops - Clearing interrupt pending based on bitmask for edge triggered - Added pinctrl definition for sirq for cubieboard7. This depends on, https://lore.kernel.org/patchwork/patch/1012859/ Changelog in v2: - Added SIRQ as hierarchical chip GIC <----> SIRQ <----> External interrupt controller/Child devices - Device binding updates with vendor prefix - Register sharing handled globally and common init sequence/data for all actions SoC family Thanks, Parthiban Saravanan Parthiban Nallathambi (4): dt-bindings: interrupt-controller: Actions external interrupt controller drivers/irqchip: Add Actions external interrupts support arm64: dts: actions: Add sirq node for Actions Semi S700 arm64: dts: actions: s700-cubieboard7: Enable SIRQ .../interrupt-controller/actions,owl-sirq.txt | 57 ++++ .../boot/dts/actions/s700-cubieboard7.dts | 19 ++ arch/arm64/boot/dts/actions/s700.dtsi | 10 + drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-owl-sirq.c | 301 ++++++++++++++++++ 5 files changed, 388 insertions(+) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/actions,owl-sirq.txt create mode 100644 drivers/irqchip/irq-owl-sirq.c