Received: by 10.213.65.68 with SMTP id h4csp127562imn; Thu, 15 Mar 2018 20:01:32 -0700 (PDT) X-Google-Smtp-Source: AG47ELuDJK48kajtuLndSY2BRxihsTlIOt1v/6SMjy2dOl85OzroIfDBAjSuWPo8R+6bYE16SgFk X-Received: by 2002:a17:902:a516:: with SMTP id s22-v6mr236649plq.191.1521169292295; Thu, 15 Mar 2018 20:01:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521169292; cv=none; d=google.com; s=arc-20160816; b=xhXgAnSR5FgL69G8hgk1KA7HlIIQjcYGhyhSOSbUTQjqibg6982wxkkPfPgrQABQ27 M7ZEYbvTn1UOKSUXh5bNOWP3W84FQSs7PqaET8zjfHi4oDf89QoRasgg1Scj7n/sk8GO RaiFwhKsYawWq1MjGIV2qxlpmFpTxM7ao4DTxLkSXyp8jZS4f/psP5Pbni+4rupkducm DXwk3iArYM8Ug5Tq0jRzBKb2lxFX0zlPGNVt/teCn++JCIsC0wSkm7UzMMrnQLEPoeg4 IfAvAL5bbq4Xni7IWtxJ9c2FqFZzayxCqfUzryTnnPPcVruD9S8KaUZbDcUR+paCioD5 OApQ== 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=3cTX4hTyu5N4CeL/Rlg+dNKz9k0c46UKKUuijt+k5/k=; b=gBsf1olOCSPHgONHg78m+eggklXoOOp23TuIyBGe5eq6kkI7yV3j+X/nWqwPka3qZb hvMoetSXBX1bsPbqFhOh+kMlp7wWlA8B00koEKfO4ELGQQ85Dhkp4qazcIzSpJQX7Dju ArFFrolunX7vf9/9fBDZ/pBUJ7ZfGXBFm2qo7G1ENTwYc1EPamsa4ETb87gEazuBSTAX WZ/kHwwB9037Z+oXcnyFZasl8Awvi6rIZ87474j1WuMyJV46+ZRCfk7kP6Isd9EIRwGo tVVGZIhPtJJubWz5P4MIBu41trPYlWUjIrc8BSf9QIrhhizEKrjnrTFuBacrgv1mhF/5 zdQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@lechnology.com header.s=default header.b=BvBf6WSR; 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 k15si4398182pgr.430.2018.03.15.20.01.17; Thu, 15 Mar 2018 20:01:32 -0700 (PDT) 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=BvBf6WSR; 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 S933389AbeCPC7g (ORCPT + 99 others); Thu, 15 Mar 2018 22:59:36 -0400 Received: from vern.gendns.com ([206.190.152.46]:55380 "EHLO vern.gendns.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932984AbeCPCxj (ORCPT ); Thu, 15 Mar 2018 22:53:39 -0400 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=3cTX4hTyu5N4CeL/Rlg+dNKz9k0c46UKKUuijt+k5/k=; b=BvBf6WSRrdPsBWO687J43s0AX ZQGF8x7B3kMYjMLAQHq5YaOZFfgqEcLdj7AebHQCH6CVFPn2N3l+xV9uJb1ew7suit+JINGNAAsC5 wUMOz7hOA30hAc+oBV6WvWA1BQ8B+2HGA8slzD7eITKYMMv1pyaKvYkIS6MhWn+7+wwXui1O437mp WYhFA2Yjwa94uindQr589JGN/jFC9C0cEKsFIh5xcIP+j1KZ71gBmDJeinyswMe+Uiih5eE1XwMLc FoTzNiiREAOVWCVO67fY78DLa7FnWsOGFzwt3T3s3Lcb36asqRq1JnF5oC5r5ui4POkedOW5E9W4K 0khXQpJ0Q==; Received: from 108-198-5-147.lightspeed.okcbok.sbcglobal.net ([108.198.5.147]:44986 helo=freyr.lechnology.com) by vern.gendns.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-SHA256:128) (Exim 4.89_1) (envelope-from ) id 1ewfT0-002UlD-5B; Thu, 15 Mar 2018 22:51:38 -0400 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 v8 09/42] dt-bindings: clock: New bindings for TI Davinci PSC Date: Thu, 15 Mar 2018 21:52:25 -0500 Message-Id: <1521168778-27236-10-git-send-email-david@lechnology.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1521168778-27236-1-git-send-email-david@lechnology.com> References: <1521168778-27236-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 Reviewed-by: Rob Herring --- v8 changes: - None 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