From patchwork Thu Oct 3 16:02:57 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 20806 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-yh0-f72.google.com (mail-yh0-f72.google.com [209.85.213.72]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 005B425CAB for ; Thu, 3 Oct 2013 16:03:10 +0000 (UTC) Received: by mail-yh0-f72.google.com with SMTP id z20sf5719221yhz.11 for ; Thu, 03 Oct 2013 09:03:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=mime-version:x-gm-message-state:delivered-to:from:to:cc:subject :date:message-id:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-unsubscribe; bh=s7oMmJ/22Yqg+vBkL3cOTjhH5tLWp0ZTGUCjoL+4X34=; b=bJVEj/Q/IB97vUSf4VI07W7d3+Q/g8kH+r9pgXrL8ByNJuJuY4g8PGSfO0ZSdSRJtC PYXA5zBqKSpN8ViKNta1ABaWjeHV/sCXjwzCnoPHR0oyCs46HbHL++XhPbT6jBfX+54k SEXHiVhWC+3TJp9AtsqGExXrOAa3rpbsSzvvAddThd0DQ0t8kKxgW1xb2iWrQ9KXVASH aiJsu/bHrwLnuSlk72xQBfetDp/0TWNQp6+VVjapt2dHYvphQ6NC5/W8e9UR2IjfWYEr 0tYDGqYmQpdNYoXyajhwNn1CPUXHIoffNBKjKpd5rLCbNK/PjG1hsLlrUVHAMjRr9iZZ CXKA== X-Received: by 10.58.181.103 with SMTP id dv7mr1422625vec.15.1380816190481; Thu, 03 Oct 2013 09:03:10 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.49.71.83 with SMTP id s19ls1060445qeu.7.gmail; Thu, 03 Oct 2013 09:03:10 -0700 (PDT) X-Received: by 10.52.27.243 with SMTP id w19mr6480008vdg.3.1380816190370; Thu, 03 Oct 2013 09:03:10 -0700 (PDT) Received: from mail-vc0-f176.google.com (mail-vc0-f176.google.com [209.85.220.176]) by mx.google.com with ESMTPS id vv9si1886298vec.119.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 03 Oct 2013 09:03:10 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.220.176 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.220.176; Received: by mail-vc0-f176.google.com with SMTP id lf11so1069484vcb.21 for ; Thu, 03 Oct 2013 09:03:10 -0700 (PDT) X-Gm-Message-State: ALoCoQnakLzA7+2h5T38Z/diwqrl2fkTko5RdJffRJSeXcllviFjLWEaKE2pfAGha4cze1d4X+1e X-Received: by 10.52.34.109 with SMTP id y13mr6932325vdi.8.1380816190225; Thu, 03 Oct 2013 09:03:10 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patches@linaro.org Received: by 10.220.174.196 with SMTP id u4csp189640vcz; Thu, 3 Oct 2013 09:03:09 -0700 (PDT) X-Received: by 10.14.177.199 with SMTP id d47mr13651206eem.14.1380816188964; Thu, 03 Oct 2013 09:03:08 -0700 (PDT) Received: from mail-ea0-f181.google.com (mail-ea0-f181.google.com [209.85.215.181]) by mx.google.com with ESMTPS id l42si6586488eef.208.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 03 Oct 2013 09:03:08 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.215.181 is neither permitted nor denied by best guess record for domain of linus.walleij@linaro.org) client-ip=209.85.215.181; Received: by mail-ea0-f181.google.com with SMTP id d10so1189368eaj.26 for ; Thu, 03 Oct 2013 09:03:08 -0700 (PDT) X-Received: by 10.14.107.68 with SMTP id n44mr13893635eeg.26.1380816188426; Thu, 03 Oct 2013 09:03:08 -0700 (PDT) Received: from localhost.localdomain ([85.235.11.236]) by mx.google.com with ESMTPSA id b45sm17302981eef.4.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 03 Oct 2013 09:03:07 -0700 (PDT) From: Linus Walleij To: linux-arm-kernel@lists.infradead.org Cc: Linus Walleij Subject: [PATCH 1/6] ARM: integrator: get the LM interrupts from DT Date: Thu, 3 Oct 2013 18:02:57 +0200 Message-Id: <1380816177-3046-1-git-send-email-linus.walleij@linaro.org> X-Mailer: git-send-email 1.8.3.1 X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: linus.walleij@linaro.org X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.220.176 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Precedence: list Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org List-ID: X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , The OF/DT boot path needs to get the LM (Logical Module) IRQs from the device tree for coherency. This augments the DT syscon node to contain these IRQs and alter the DT LM code to get them from there. Signed-off-by: Linus Walleij --- Documentation/devicetree/bindings/arm/arm-boards | 20 ++++++++++++++++++++ arch/arm/boot/dts/integratorap.dts | 3 +++ arch/arm/mach-integrator/integrator_ap.c | 2 +- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/arm/arm-boards b/Documentation/devicetree/bindings/arm/arm-boards index db5858e..06e5370 100644 --- a/Documentation/devicetree/bindings/arm/arm-boards +++ b/Documentation/devicetree/bindings/arm/arm-boards @@ -9,9 +9,29 @@ Required properties (in root node): FPGA type interrupt controllers, see the versatile-fpga-irq binding doc. +Required nodes: + In the root node the Integrator/CP must have a /cpcon node pointing to the CP control registers, and the Integrator/AP must have a /syscon node pointing to the Integrator/AP system controller. +The AP syscon node must include the logical module interrupts, +example: + +/dts-v1/; +/include/ "integrator.dtsi" + +/ { + model = "ARM Integrator/AP"; + compatible = "arm,integrator-ap"; + + syscon { + /* AP system controller registers */ + reg = <0x11000000 0x100>; + interrupt-parent = <&pic>; + /* These are the logical module IRQs */ + interrupts = <9 10 11 12>; + }; +}; ARM Versatile Application and Platform Baseboards diff --git a/arch/arm/boot/dts/integratorap.dts b/arch/arm/boot/dts/integratorap.dts index b6b82ec..7c8925f 100644 --- a/arch/arm/boot/dts/integratorap.dts +++ b/arch/arm/boot/dts/integratorap.dts @@ -21,6 +21,9 @@ syscon { /* AP system controller registers */ reg = <0x11000000 0x100>; + interrupt-parent = <&pic>; + /* These are the logical module IRQs */ + interrupts = <9 10 11 12>; }; timer0: timer@13000000 { diff --git a/arch/arm/mach-integrator/integrator_ap.c b/arch/arm/mach-integrator/integrator_ap.c index d9e95e6..f5fbd8a 100644 --- a/arch/arm/mach-integrator/integrator_ap.c +++ b/arch/arm/mach-integrator/integrator_ap.c @@ -541,7 +541,7 @@ static void __init ap_init_of(void) lmdev->resource.start = 0xc0000000 + 0x10000000 * i; lmdev->resource.end = lmdev->resource.start + 0x0fffffff; lmdev->resource.flags = IORESOURCE_MEM; - lmdev->irq = IRQ_AP_EXPINT0 + i; + lmdev->irq = irq_of_parse_and_map(syscon, i); lmdev->id = i; lm_device_register(lmdev);