linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Lechner <david@lechnology.com>
To: linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Cc: Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>, Sekhar Nori <nsekhar@ti.com>,
	Kevin Hilman <khilman@kernel.org>,
	Bartosz Golaszewski <bgolaszewski@baylibre.com>,
	Adam Ford <aford173@gmail.com>,
	linux-kernel@vger.kernel.org,
	David Lechner <david@lechnology.com>
Subject: [PATCH v6 09/41] dt-bindings: clock: New bindings for TI Davinci PSC
Date: Sat, 20 Jan 2018 11:13:48 -0600	[thread overview]
Message-ID: <1516468460-4908-10-git-send-email-david@lechnology.com> (raw)
In-Reply-To: <1516468460-4908-1-git-send-email-david@lechnology.com>

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 <david@lechnology.com>
---

v6 changes:
- added clocks and clock-names properties
- expanded examples

 .../devicetree/bindings/clock/ti/davinci/psc.txt   | 66 ++++++++++++++++++++++
 1 file changed, 66 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..0c2d2bd
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/ti/davinci/psc.txt
@@ -0,0 +1,66 @@
+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
+- 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 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 and not a reset.
+
+Examples:
+
+	psc0: clock-controller@10000 {
+		compatible = "ti,da850-psc0";
+		reg = <0x10000 0x1000>;
+		#clock-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>;
+		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>;
+		resets = <&psc0 15>;
+	};
+
+Also see:
+- Documentation/devicetree/bindings/clock/clock-bindings.txt
+- Documentation/devicetree/bindings/reset/reset.txt
-- 
2.7.4

  parent reply	other threads:[~2018-01-20 17:16 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-20 17:13 [PATCH v6 00/41] ARM: davinci: convert to common clock framework​ David Lechner
2018-01-20 17:13 ` [PATCH v6 01/41] dt-bindings: clock: Add new bindings for TI Davinci PLL clocks David Lechner
2018-01-29 19:53   ` Rob Herring
2018-01-29 21:14     ` David Lechner
2018-01-30 14:50       ` Rob Herring
2018-01-30 18:46         ` David Lechner
2018-01-31  4:58           ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 02/41] clk: davinci: New driver for davinci " David Lechner
2018-02-01  8:01   ` Sekhar Nori
2018-02-01 12:22     ` Sekhar Nori
2018-02-01 18:57     ` David Lechner
2018-02-02  8:12       ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 03/41] clk: davinci: Add platform information for TI DA830 PLL David Lechner
2018-02-01  8:10   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 04/41] clk: davinci: Add platform information for TI DA850 PLL David Lechner
2018-02-01  8:58   ` Sekhar Nori
2018-02-01 19:04     ` David Lechner
2018-02-02  8:23       ` Sekhar Nori
2018-02-01 19:22   ` David Lechner
2018-02-02  8:37     ` Sekhar Nori
2018-02-02 17:45       ` David Lechner
2018-01-20 17:13 ` [PATCH v6 05/41] clk: davinci: Add platform information for TI DM355 PLL David Lechner
2018-02-01  9:17   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 06/41] clk: davinci: Add platform information for TI DM365 PLL David Lechner
2018-02-01  9:28   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 07/41] clk: davinci: Add platform information for TI DM644x PLL David Lechner
2018-01-20 17:13 ` [PATCH v6 08/41] clk: davinci: Add platform information for TI DM646x PLL David Lechner
2018-01-20 17:13 ` David Lechner [this message]
2018-01-22 15:05   ` [PATCH v6 09/41] dt-bindings: clock: New bindings for TI Davinci PSC Rob Herring
2018-01-20 17:13 ` [PATCH v6 10/41] clk: davinci: New driver for davinci PSC clocks David Lechner
2018-02-01  9:55   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 11/41] clk: davinci: Add platform information for TI DA830 PSC David Lechner
2018-02-01 11:34   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 12/41] clk: davinci: Add platform information for TI DA850 PSC David Lechner
2018-02-01 11:42   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 13/41] clk: davinci: Add platform information for TI DM355 PSC David Lechner
2018-02-01 11:50   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 14/41] clk: davinci: Add platform information for TI DM365 PSC David Lechner
2018-02-01 11:55   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 15/41] clk: davinci: Add platform information for TI DM644x PSC David Lechner
2018-02-01 12:13   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 16/41] clk: davinci: Add platform information for TI DM646x PSC David Lechner
2018-02-01 12:17   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 17/41] dt-bindings: clock: Add bindings for DA8XX CFGCHIP clocks David Lechner
2018-01-29 19:59   ` Rob Herring
2018-02-02  6:20   ` Sekhar Nori
2018-02-02 17:50     ` David Lechner
2018-02-05  9:42       ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 18/41] clk: davinci: New driver for TI " David Lechner
2018-02-02 13:19   ` Sekhar Nori
2018-02-02 13:53     ` Sekhar Nori
2018-02-02 17:56     ` David Lechner
2018-01-20 17:13 ` [PATCH v6 19/41] clk: davinci: New driver for TI DA8XX USB PHY clocks David Lechner
2018-02-02 13:59   ` Sekhar Nori
2018-01-20 17:13 ` [PATCH v6 20/41] ARM: da830: add new clock init using common clock framework David Lechner
2018-01-22 17:15   ` David Lechner
2018-02-02 14:12   ` Sekhar Nori
2018-02-02 18:03     ` David Lechner
2018-02-05 11:06       ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 21/41] ARM: da850: " David Lechner
2018-02-02 14:20   ` Sekhar Nori
2018-02-02 18:05     ` David Lechner
2018-01-20 17:14 ` [PATCH v6 22/41] ARM: dm355: " David Lechner
2018-02-02 14:36   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 23/41] ARM: dm365: " David Lechner
2018-02-02 14:37   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 24/41] ARM: dm644x: " David Lechner
2018-02-02 14:39   ` Sekhar Nori
2018-02-02 18:06     ` David Lechner
2018-02-05  6:01       ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 25/41] ARM: dm646x: " David Lechner
2018-02-02 14:55   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 26/41] ARM: da8xx: add new USB PHY " David Lechner
2018-01-22 17:17   ` David Lechner
2018-01-20 17:14 ` [PATCH v6 27/41] ARM: da8xx: add new sata_refclk " David Lechner
2018-02-02 14:59   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 28/41] ARM: davinci: remove CONFIG_DAVINCI_RESET_CLOCKS David Lechner
2018-02-02 15:03   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 29/41] ARM: davinci_all_defconfig: " David Lechner
2018-02-02 15:04   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 30/41] ARM: davinci: switch to common clock framework David Lechner
2018-02-07 13:20   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 31/41] ARM: da830: Remove legacy clock init David Lechner
2018-02-07 13:28   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 32/41] ARM: da850: " David Lechner
2018-02-07 13:35   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 33/41] ARM: dm355: " David Lechner
2018-02-07 13:42   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 34/41] ARM: dm365: " David Lechner
2018-02-07 13:44   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 35/41] ARM: dm644x: " David Lechner
2018-02-07 13:46   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 36/41] ARM: dm646x: " David Lechner
2018-02-07 15:06   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 37/41] ARM: da8xx: " David Lechner
2018-02-07 15:16   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 38/41] ARM: davinci: remove legacy clocks David Lechner
2018-02-07 15:24   ` Sekhar Nori
2018-01-20 17:14 ` [PATCH v6 39/41] ARM: davinci: add device tree support to timer David Lechner
2018-01-20 17:14 ` [PATCH v6 40/41] ARM: da8xx-dt: switch to device tree clocks David Lechner
2018-01-24  3:26   ` David Lechner
2018-02-05 14:04     ` Bartosz Golaszewski
2018-02-05 15:33       ` Bartosz Golaszewski
2018-01-20 17:14 ` [PATCH v6 41/41] ARM: dts: da850: Add clocks David Lechner
2018-01-22 17:14   ` David Lechner
2018-01-24  4:08   ` David Lechner
2018-02-09 12:46   ` Sekhar Nori
2018-01-21 21:19 ` [PATCH v6 00/41] ARM: davinci: convert to common clock framework​ Adam Ford
2018-01-22 11:14 ` Bartosz Golaszewski
2018-01-22 17:30   ` David Lechner
2018-01-23 14:54     ` Bartosz Golaszewski
2018-01-23 16:03       ` David Lechner
2018-01-23 16:06         ` David Lechner
2018-01-23 17:03           ` Adam Ford
2018-01-23 18:10             ` Bartosz Golaszewski
2018-01-23 18:26               ` David Lechner
2018-01-23 18:34                 ` Bartosz Golaszewski
2018-01-23 19:24                   ` David Lechner
2018-01-23 19:53                     ` Bartosz Golaszewski
2018-01-23 20:01                       ` David Lechner
2018-01-23 20:05                         ` David Lechner
2018-01-23 20:23                           ` David Lechner
2018-01-24  8:03                             ` Bartosz Golaszewski
2018-01-25 12:53                               ` Sekhar Nori
2018-01-25 13:34                                 ` Bartosz Golaszewski
2018-01-25 16:18                                 ` David Lechner
2018-01-25 17:05                                   ` Sekhar Nori
2018-01-23 17:04         ` Bartosz Golaszewski
2018-01-22 13:29 ` Bartosz Golaszewski
2018-01-22 17:11   ` David Lechner
2018-01-23 14:56     ` Bartosz Golaszewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1516468460-4908-10-git-send-email-david@lechnology.com \
    --to=david@lechnology.com \
    --cc=aford173@gmail.com \
    --cc=bgolaszewski@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=khilman@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mturquette@baylibre.com \
    --cc=nsekhar@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).