From patchwork Tue Jul 28 09:18:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Grzegorz Jaszczyk X-Patchwork-Id: 247212 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp361308ilg; Tue, 28 Jul 2020 02:19:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyUd2BztuokO2MIrhBrH2+8NK+Ju2MrI7wHaBvPwIuG1bYSo4rTjF2ZogBy/WXTB91JcloC X-Received: by 2002:a17:906:3958:: with SMTP id g24mr24055563eje.26.1595927978362; Tue, 28 Jul 2020 02:19:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595927978; cv=none; d=google.com; s=arc-20160816; b=rRS/9VA316b+XQDTwqgTVafmylRvuvt3rFDxZg6H61HEGJjhujChjGYdm0X3Up1Xc0 rIiKuY4JawL6hvGMnnZiBOw7Xp1QFrHMgScV++GnFpr++KzLAM+FelkCh2mwjPDFwdVi 98yS9jTMHbhmcz2bz4wjUn+14nEuHf+OOj9516iSN4yH+K/RDnBlgDY38S/dTxDjMDMo tVzzPfLnd4wi+XIeiy2+KF3ThIvmrFXPrGXUIgTP4OAESjd9sm6M62R8wf+JgGuUBGnw GhE4ix+66sJ7KpjRTdeNL4x7ucDUxSXwjlU2N4eGeLS2m/RiXzXlpluR7XL0F6X0uQZ1 5LTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=Jlap9/5dk8KWtoGhWc1HZn/eJR07N3yz1dFQNoUI38w=; b=r8kgKLmOcZKEUEnQI9jiQzg0B8ksf7VUOaMtmUDlXFEjy7EawGoPb9XB5KkkDRJsBc Tk2EZHmpwwYi8Cezyx9JA1UOvgrTYGHBm3B2lD4QsXtG6+4UEhF0MgZVIy7IJKmMmIJ+ Oejdb/rN6ZAOHLYD/wqlf8zm++55Yuy1HyqVEjh/nsElf+aSPZVgYULqLsXu/KlBcXaJ 3wnnmjs7VsMgmwcKZT70pc4l2AvUtHBQf3b987BAUba3yXOgYioh10AIKKgwazUzWOAQ fEMYQqUMsbu8udCY2R+HaOO13KKLol6p4+AX1NVFcOUy/+RwqLEqLNsHBmaW/3VhyDjx isBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mziHtOWc; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dp16si10863322ejc.417.2020.07.28.02.19.38; Tue, 28 Jul 2020 02:19:38 -0700 (PDT) Received-SPF: pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mziHtOWc; spf=pass (google.com: domain of devicetree-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728185AbgG1JTh (ORCPT + 6 others); Tue, 28 Jul 2020 05:19:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44184 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728081AbgG1JTh (ORCPT ); Tue, 28 Jul 2020 05:19:37 -0400 Received: from mail-lj1-x244.google.com (mail-lj1-x244.google.com [IPv6:2a00:1450:4864:20::244]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 144B4C0619D2 for ; Tue, 28 Jul 2020 02:19:37 -0700 (PDT) Received: by mail-lj1-x244.google.com with SMTP id r19so20307702ljn.12 for ; Tue, 28 Jul 2020 02:19:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=Jlap9/5dk8KWtoGhWc1HZn/eJR07N3yz1dFQNoUI38w=; b=mziHtOWcHiK9xk6wplNEr+rCLC0uTh86OzZiTA4tEgTmuB7tv/AE3R7555cvtrDOOo XjWKr4SfobnGZOL1fZ8zA/sGslNPbu/b6ghKwF0UqQdhb/uVmllgJ4JUbJdYNV1F2vKq FPNssOe2JNWl21ebgCs9pRR+LdXWxncEWz4n0Hhq6ZCpNDBVuXPXtcc9cjD3PT3pU/wg Hbh/TiYQlsXo3vJnnntu3izDQN4Cb1+n5aEinkh+ZHKN28Rp3DyWCFU6OPB2TDz2Xh4B TtcyiQgzlP835rYBfW6tk12eFNyZnnEmtPkZK+idJ4dLw6dlyND6n15c2j+hNthSTVw2 eB3g== 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; bh=Jlap9/5dk8KWtoGhWc1HZn/eJR07N3yz1dFQNoUI38w=; b=hWiMcjKNKQl8EkqoYhQpx+8djP9NryAWqXOUSpVGKeRvH5FSP/gsGs0f06H+TTAV1z RWj5JtGbxg9+Y45s3Kz0XS4a8w0jP3Yh88T3T3GfWuMJAKJjKudohwwLm5iEEySsHxG4 i8bVXvOUoFUGJJqpIQfwuH6eJWqA+ZMr/vk6cpvXa5feybZmZ0pjRy3Lnlx7O5UokMAq arfxrcS0Zn4U0AqNImdQSualX0q7sf1X2GV5vUJR2Utk0D7Wp0tPFvOi3O36ohwX1HBe YYFpat/Pm/xDZszb+w7f5o4TSx634h1XcGm9rfVfALLQZreknTjoSxeCBW+ycz1+Kty3 ZYDA== X-Gm-Message-State: AOAM530czLBa+AVNPO7HdTcRqoe0wepaLxaoIaFFF0ftw9zP0jD0aKPT yWEMZJulVY1M8ye6sEGS8Rbnvw== X-Received: by 2002:a2e:964d:: with SMTP id z13mr11721612ljh.98.1595927975435; Tue, 28 Jul 2020 02:19:35 -0700 (PDT) Received: from gilgamesh.semihalf.com (193-106-246-138.noc.fibertech.net.pl. [193.106.246.138]) by smtp.gmail.com with ESMTPSA id q22sm3643270lfc.33.2020.07.28.02.19.34 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Jul 2020 02:19:34 -0700 (PDT) From: Grzegorz Jaszczyk To: tglx@linutronix.de, jason@lakedaemon.net, maz@kernel.org, s-anna@ti.com Cc: grzegorz.jaszczyk@linaro.org, robh+dt@kernel.org, lee.jones@linaro.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, david@lechnology.com, wmills@ti.com, praneeth@ti.com Subject: [PATCH v4 0/5] Add TI PRUSS Local Interrupt Controller IRQChip driver Date: Tue, 28 Jul 2020 11:18:33 +0200 Message-Id: <1595927918-19845-1-git-send-email-grzegorz.jaszczyk@linaro.org> X-Mailer: git-send-email 2.7.4 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hi All, The following is a v4 version of the series [1][2][3] that adds an IRQChip driver for the local interrupt controller present within a Programmable Real-Time Unit and Industrial Communication Subsystem (PRU-ICSS) present on a number of TI SoCs including OMAP architecture based AM335x, AM437x, AM57xx SoCs, Keystone 2 architecture based 66AK2G SoCs, Davinci architecture based OMAP-L138/DA850 SoCs and the latest K3 architecture based AM65x and J721E SoCs. Please see the v1 cover-letter [1] for details about the features of this interrupt controller. More details can be found in any of the supported SoC TRMs. Eg: Chapter 30.1.6 of AM5728 TRM [4] Please see the individual patches for exact changes in each patch, following are the main changes from v3: - Change interrupt-cells to 3 in order to provide 2-level mapping description in DT for interrupts routed to the main CPU as Marc requested (patch #1 and patch #2). - Get rid of the two distinct code paths in the xlate function and allow to proceed only with 3 parameters description as Marc suggested (patch #2). - Due to above modification squash patch #6 of previous patchset into patch #2. - Merge the irqs-reserved and irqs-shared to one property (patch #1 and #2). [1] https://patchwork.kernel.org/cover/11034561/ [2] https://patchwork.kernel.org/cover/11069749/ [3] https://patchwork.kernel.org/cover/11639055/ [4] http://www.ti.com/lit/pdf/spruhz6 Best regards Grzegorz David Lechner (1): irqchip/irq-pruss-intc: Implement irq_{get,set}_irqchip_state ops Grzegorz Jaszczyk (1): irqchip/irq-pruss-intc: Add a PRUSS irqchip driver for PRUSS interrupts Suman Anna (3): dt-bindings: irqchip: Add PRU-ICSS interrupt controller bindings irqchip/irq-pruss-intc: Add logic for handling reserved interrupts irqchip/irq-pruss-intc: Add support for ICSSG INTC on K3 SoCs .../interrupt-controller/ti,pruss-intc.yaml | 157 +++++ drivers/irqchip/Kconfig | 10 + drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-pruss-intc.c | 659 +++++++++++++++++++++ 4 files changed, 827 insertions(+) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,pruss-intc.yaml create mode 100644 drivers/irqchip/irq-pruss-intc.c -- 2.7.4 Signed-off-by: David Lechner