Received: by 10.223.185.116 with SMTP id b49csp4171096wrg; Mon, 19 Feb 2018 12:29:32 -0800 (PST) X-Google-Smtp-Source: AH8x224M2vi0YyyzxJ2vh+p0+lHOHzEANvGIf6KfaUGYkrjVvCyqMWlhdSYXRZQb9pp9eQXEOAnu X-Received: by 10.98.84.132 with SMTP id i126mr8134749pfb.157.1519072171861; Mon, 19 Feb 2018 12:29:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519072171; cv=none; d=google.com; s=arc-20160816; b=um9YfqJb+raDvmzrHyJ5FTRkzOBPII816H7ozmYPa333Pqxmr0nrd7QgT2izfnlaYM SLpakPaXAzoHGtr5ztW7drIssqwW3AGT3XI92Auy8u+z02ALHR9kT05YuB1Pzf3J72vA 4fVrcZgujAe9q9Hl1RGt06ckGcCgRqooiTgR7wgpJ/naNDHzSlcwjhs1+ETK1xXz/5KF wyPGqLjV5wKlKq7ypFKo2Od5WUaBs9niJv5lLj0ls8X0yGgOXNj/pqBRzWTHejRBRNLy PtHp+H2KSBi6TKzg974gcValWbTOOTDwrFROMFck5qX8+hfXCt75Wf3YBI9DIZ3MKjuH RWdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=6379jywM4aKkEhDFQsn7ql6ZhXS/DNn0nhMV9Vmkj3k=; b=iP6TgHMbbaVBKiKtt1vGN6GePnRgQdllazFAWt6DERE/q5Ik/8gAajptLLgL5erHkH lyvg2alVPGDdpFgVOrDOqCilXk/zDm60OSGJmfz/uM36omysSHwo5Sn+Mfs15jko5uqT Atl0pp3VCwXXle1Mm34XYDrEUqgnbCsgPd5uArFulrjZWQKQSoHCB7OfJR6OdXL3tl+/ /zmMf8k6s5iFFW9MFAtyW1C3BxYHn6BygIK/iSs8t6PGPtMVZBlF6A39Q0b3nYxBjoeq Vz6s+VPQCi8KlZfz5R3TLC3S6VCyWCpbmm7aFBHzB6WK6hwiBAaynvD6TIbpu+9l0tRL glUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@lechnology.com header.s=default header.b=pHgCDvAr; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d3si274256pgt.286.2018.02.19.12.29.17; Mon, 19 Feb 2018 12:29:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@lechnology.com header.s=default header.b=pHgCDvAr; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932287AbeBSU2Q (ORCPT + 99 others); Mon, 19 Feb 2018 15:28:16 -0500 Received: from vern.gendns.com ([206.190.152.46]:58474 "EHLO vern.gendns.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753899AbeBSUWu (ORCPT ); Mon, 19 Feb 2018 15:22:50 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lechnology.com; s=default; h=References:In-Reply-To:Message-Id:Date:Subject :Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=6379jywM4aKkEhDFQsn7ql6ZhXS/DNn0nhMV9Vmkj3k=; b=pHgCDvArHFPS9i6G9M/1hnlBx wMlBe2bJa6uMxXR1VJdH33oBeC3vhjFdS62g9ZVBVkP2Vs3iZALqzN8wxyedkKiXfh6U6nHdfFsyM /q/cN+WOIApfWr6eil/hJOLdSvL0Fjbt7hCe47b/h4aCHQYMiAs/CIAe8Veiy9/0y+lkqTWt6ftuu jDCrF6V18v+CvHz6XKgkPQaAQPtXxzXQBHIdqVsTaNBTCIQQrMwY2x9IWQZWrPEIm5g4WkDyQ6sM3 c9K1NEWserhDq2m022qKAzwJ1qnabU/tRt3vrqyQ0UfqK4WJ/bbePndxygyYYsGcUCVFKH2pxTl4a ZTAxg2wkA==; Received: from 108-198-5-147.lightspeed.okcbok.sbcglobal.net ([108.198.5.147]:48842 helo=freyr.lechnology.com) by vern.gendns.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-SHA256:128) (Exim 4.89_1) (envelope-from ) id 1enrwH-003xBV-Ct; Mon, 19 Feb 2018 15:21:29 -0500 From: David Lechner To: linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Michael Turquette , Stephen Boyd , Rob Herring , Mark Rutland , Sekhar Nori , Kevin Hilman , Bartosz Golaszewski , Adam Ford , linux-kernel@vger.kernel.org, David Lechner Subject: [PATCH v7 09/42] dt-bindings: clock: New bindings for TI Davinci PSC Date: Mon, 19 Feb 2018 14:21:30 -0600 Message-Id: <1519071723-31790-10-git-send-email-david@lechnology.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1519071723-31790-1-git-send-email-david@lechnology.com> References: <1519071723-31790-1-git-send-email-david@lechnology.com> X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vern.gendns.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lechnology.com X-Get-Message-Sender-Via: vern.gendns.com: authenticated_id: davidmain+lechnology.com/only user confirmed/virtual account not confirmed X-Authenticated-Sender: vern.gendns.com: davidmain@lechnology.com X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This adds a new binding for the Power Sleep Controller (PSC) for the mach-davinci family of processors. Note: Although TI Keystone has a very similar PSC, we are not using the existing bindings. Keystone is using a legacy one-node-per-clock binding (actually two nodes if you count the separate reset binding for the same IP block). Also, some davinci LPSCs have quirks that aren't handled by the keystone bindings, so we would be adding one compatible string per clock with quirks instead of just a new compatible string for each controller. Signed-off-by: David Lechner --- v7 changes: - Fixed clock-names property typo - Added #power-domain-cells property v6 changes: - added clocks and clock-names properties - expanded examples .../devicetree/bindings/clock/ti/davinci/psc.txt | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/ti/davinci/psc.txt diff --git a/Documentation/devicetree/bindings/clock/ti/davinci/psc.txt b/Documentation/devicetree/bindings/clock/ti/davinci/psc.txt new file mode 100644 index 0000000..dae4ad8 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/ti/davinci/psc.txt @@ -0,0 +1,71 @@ +Binding for TI DaVinci Power Sleep Controller (PSC) + +The PSC provides power management, clock gating and reset functionality. It is +primarily used for clocking. + +Required properties: +- compatible: shall be one of: + - "ti,da850-psc0" for PSC0 on DA850/OMAP-L138/AM18XX + - "ti,da850-psc1" for PSC1 on DA850/OMAP-L138/AM18XX +- reg: physical base address and size of the controller's register area +- #clock-cells: from common clock binding; shall be set to 1 +- #power-domain-cells: from generic power domain binding; shall be set to 1. +- clocks: phandles to clocks corresponding to the clock-names property +- clock-names: list of parent clock names - depends on compatible value + - for "ti,da850-psc0", shall be "pll0_sysclk1", "pll0_sysclk2", + "pll0_sysclk4", "pll0_sysclk6", "async1" + - for "ti,da850-psc1", shall be "pll0_sysclk2", "pll0_sysclk4", "async3" + +Optional properties: +- #reset-cells: from reset binding; shall be set to 1 - only applicable when + at least one local domain provides a local reset. + +Consumers: + + Clock, power domain and reset consumers shall use the local power domain + module ID (LPSC) as the index corresponding to the clock cell. Refer to + the device-specific datasheet to find these numbers. NB: Most local + domains only provide a clock/power domain and not a reset. + +Examples: + + psc0: clock-controller@10000 { + compatible = "ti,da850-psc0"; + reg = <0x10000 0x1000>; + #clock-cells = <1>; + #power-domain-cells = <1>; + #reset-cells = <1>; + clocks = <&pll0_sysclk 1>, <&pll0_sysclk 2>, + <&pll0_sysclk 4>, <&pll0_sysclk 6>, <&async1_clk>; + clock_names = "pll0_sysclk1", "pll0_sysclk2", + "pll0_sysclk4", "pll0_sysclk6", "async1"; + }; + psc1: clock-controller@227000 { + compatible = "ti,da850-psc1"; + reg = <0x227000 0x1000>; + #clock-cells = <1>; + #power-domain-cells = <1>; + clocks = <&pll0_sysclk 2>, <&pll0_sysclk 4>, <&async3_clk>; + clock_names = "pll0_sysclk2", "pll0_sysclk4", "async3"; + }; + + /* consumer */ + dsp: dsp@11800000 { + compatible = "ti,da850-dsp"; + reg = <0x11800000 0x40000>, + <0x11e00000 0x8000>, + <0x11f00000 0x8000>, + <0x01c14044 0x4>, + <0x01c14174 0x8>; + reg-names = "l2sram", "l1pram", "l1dram", "host1cfg", "chipsig"; + interrupt-parent = <&intc>; + interrupts = <28>; + clocks = <&psc0 15>; + power-domains = <&psc0 15>; + resets = <&psc0 15>; + }; + +Also see: +- Documentation/devicetree/bindings/clock/clock-bindings.txt +- Documentation/devicetree/bindings/power/power_domain.txt +- Documentation/devicetree/bindings/reset/reset.txt -- 2.7.4