From patchwork Tue Jan 6 16:45:32 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Poirier X-Patchwork-Id: 425744 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44CA6140082 for ; Wed, 7 Jan 2015 03:45:47 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755365AbbAFQpq (ORCPT ); Tue, 6 Jan 2015 11:45:46 -0500 Received: from mail-pd0-f181.google.com ([209.85.192.181]:44706 "EHLO mail-pd0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755277AbbAFQpp (ORCPT ); Tue, 6 Jan 2015 11:45:45 -0500 Received: by mail-pd0-f181.google.com with SMTP id v10so30782483pde.40 for ; Tue, 06 Jan 2015 08:45:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Wg0KT/0C6ORNnRt2Bpv04BwU9VYYa/6L2iCk0L+NA1M=; b=gMD+ZIkYuNJcbTpEZsNN66BXaK3yDRAqTrsE+lwEUStQiniW9KuR+xROaYD+ivSGBF id2aDZebT7zmmNdX6YH1KPum/rRQkPMYEs1lnZ5yaK2TTfI2u2TAQverZBmKtb+xVHxp /JCHhuvpPNzHQq8qJ3WJufoY8je3M982wIJ0ypS/SvTn1ZYJVPChKhhJNNJOMb2ZoM+c 8X2D4IMlIAbu81nzxW6O5UijHg90LpfwSIbXHCiHIE1qpipOKha/zTMMCFcl6PqQ7q2q L9L1IrNQsO7iE30sGhJvJy/RSCQJwtEebP7Y+wej3nVg9Mw4Ky7kCCFgAFxGEJz5Z4B6 fEJg== X-Gm-Message-State: ALoCoQkmdIKfhVhEWfBU8i3VOVRr911PTwIIeZJsfGd9qpvDygWdpzUnPiJzqfaA++FCL8Ls6IjF X-Received: by 10.69.1.37 with SMTP id bd5mr89637411pbd.129.1420562745063; Tue, 06 Jan 2015 08:45:45 -0800 (PST) Received: from t430.cg.shawcable.net (S0106002369de4dac.cg.shawcable.net. [70.73.24.112]) by mx.google.com with ESMTPSA id v8sm57403101pdp.94.2015.01.06.08.45.43 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Jan 2015 08:45:44 -0800 (PST) From: mathieu.poirier@linaro.org To: robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, mathieu.poirier@linaro.org Subject: [PATCH] ARM: vexpress: bindings: Add generic PD awareness to the spc controller Date: Tue, 6 Jan 2015 09:45:32 -0700 Message-Id: <1420562732-4353-1-git-send-email-mathieu.poirier@linaro.org> X-Mailer: git-send-email 1.9.1 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Mathieu Poirier Among other things, the serial power controller (SPC) controls power to the A7 and A15 clusters. Theses clusters also happen to contains the coresight tracers used for HW assisted tracing. By modellling these to power domains in a way that is comprehensible to the generic power domain sub-system and using the runtime PM API in the coresight drivers, we can prevent power to the domains from being turned off while tracing related operations are still pending. Signed-off-by: Mathieu Poirier --- .../bindings/arm/vexpress-power-controller.txt | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/vexpress-power-controller.txt diff --git a/Documentation/devicetree/bindings/arm/vexpress-power-controller.txt b/Documentation/devicetree/bindings/arm/vexpress-power-controller.txt new file mode 100644 index 000000000000..3af5624dc5cb --- /dev/null +++ b/Documentation/devicetree/bindings/arm/vexpress-power-controller.txt @@ -0,0 +1,54 @@ +ARM Versatile Express Power Controller +-------------------------------------- + +This binding models the serial power controller (SPC) in a way that is +intelligible to the generic power domain subsystem and in accordance +with the guidelines from: + +Documentation/devicetree/bindings/power/power_domain.txt + +The binding doesn't have a '' property as the base address for HW +access is provided by the vexpress-scc sub-system. + +Required node properties: +- compatible value : = "arm,vexpress-power-controller"; +- #power-domain-cells : = Number of cells in a PM domain specifier, as + specified in "power_domain.txt" referenced above. + +Example: + A7_A15_cluster_pd: A7-A15-cluster-pd { + compatible = "arm,vexpress-power-controller"; + #power-domain-cells = <1>; + }; + + .... + + ptm@0,2201d000 { + compatible = "arm,coresight-etm3x", "arm,primecell"; + reg = <0 0x2201d000 0 0x1000>; + + cpu = <&cpu1>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + power-domains = <&A7_A15_cluster_pd 0>; + port { + ptm1_out_port: endpoint { + remote-endpoint = <&funnel_in_port1>; + }; + }; + }; + + etm@0,2203c000 { + compatible = "arm,coresight-etm3x", "arm,primecell"; + reg = <0 0x2203c000 0 0x1000>; + + cpu = <&cpu2>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + power-domains = <&A7_A15_cluster_pd 1>; + port { + etm0_out_port: endpoint { + remote-endpoint = <&funnel_in_port2>; + }; + }; + };