LKML Archive on lore.kernel.org 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 v8 01/42] dt-bindings: clock: Add new bindings for TI Davinci PLL clocks Date: Thu, 15 Mar 2018 21:52:17 -0500 [thread overview] Message-ID: <1521168778-27236-2-git-send-email-david@lechnology.com> (raw) In-Reply-To: <1521168778-27236-1-git-send-email-david@lechnology.com> This adds a new binding for the PLL IP blocks in the mach-davinci family of processors. Currently, only da850 has device tree support but these bindings can also work for other SoCs in this family just by adding new compatible strings. Note: Although these PLL controllers are very similar to the TI Keystone SoCs, we are not re-using those bindings. The Keystone bindings use a legacy one-node-per-clock binding. Furthermore, the mach-davinici SoCs have a slightly different PLL register layout and a number of quirks that can't be handled by the existing bindings, so the keystone bindings could not be used as-is anyway. Signed-off-by: David Lechner <david@lechnology.com> Reviewed-by: Rob Herring <robh@kernel.org> --- v8 changes: - None v7 changes: - None (there was some debate about having child nodes, but the consensus was that this is "good enough" as it is) v6 changes: - Added clock-names property - Added ti,clkmode-square-wave property - Added pllout child node - Added obsclk child node - Expanded examples .../devicetree/bindings/clock/ti/davinci/pll.txt | 96 ++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/ti/davinci/pll.txt diff --git a/Documentation/devicetree/bindings/clock/ti/davinci/pll.txt b/Documentation/devicetree/bindings/clock/ti/davinci/pll.txt new file mode 100644 index 0000000..36998e1 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/ti/davinci/pll.txt @@ -0,0 +1,96 @@ +Binding for TI DaVinci PLL Controllers + +The PLL provides clocks to most of the components on the SoC. In addition +to the PLL itself, this controller also contains bypasses, gates, dividers, +an multiplexers for various clock signals. + +Required properties: +- compatible: shall be one of: + - "ti,da850-pll0" for PLL0 on DA850/OMAP-L138/AM18XX + - "ti,da850-pll1" for PLL1 on DA850/OMAP-L138/AM18XX +- reg: physical base address and size of the controller's register area. +- clocks: phandles corresponding to the clock names +- clock-names: names of the clock sources - depends on compatible string + - for "ti,da850-pll0", shall be "clksrc", "extclksrc" + - for "ti,da850-pll1", shall be "clksrc" + +Optional properties: +- ti,clkmode-square-wave: Indicates that the the board is supplying a square + wave input on the OSCIN pin instead of using a crystal oscillator. + This property is only valid when compatible = "ti,da850-pll0". + + +Optional child nodes: + +pllout + Describes the main PLL clock output (before POSTDIV). The node name must + be "pllout". + + Required properties: + - #clock-cells: shall be 0 + +sysclk + Describes the PLLDIVn divider clocks that provide the SYSCLKn clock + domains. The node name must be "sysclk". Consumers of this node should + use "n" in "SYSCLKn" as the index parameter for the clock cell. + + Required properties: + - #clock-cells: shall be 1 + +auxclk + Describes the AUXCLK output of the PLL. The node name must be "auxclk". + This child node is only valid when compatible = "ti,da850-pll0". + + Required properties: + - #clock-cells: shall be 0 + +obsclk + Describes the OBSCLK output of the PLL. The node name must be "obsclk". + + Required properties: + - #clock-cells: shall be 0 + + +Examples: + + pll0: clock-controller@11000 { + compatible = "ti,da850-pll0"; + reg = <0x11000 0x1000>; + clocks = <&ref_clk>, <&pll1_sysclk 3>; + clock-names = "clksrc", "extclksrc"; + ti,clkmode-square-wave; + + pll0_pllout: pllout { + #clock-cells = <0>; + }; + + pll0_sysclk: sysclk { + #clock-cells = <1>; + }; + + pll0_auxclk: auxclk { + #clock-cells = <0>; + }; + + pll0_obsclk: obsclk { + #clock-cells = <0>; + }; + }; + + pll1: clock-controller@21a000 { + compatible = "ti,da850-pll1"; + reg = <0x21a000 0x1000>; + clocks = <&ref_clk>; + clock-names = "clksrc"; + + pll0_sysclk: sysclk { + #clock-cells = <1>; + }; + + pll0_obsclk: obsclk { + #clock-cells = <0>; + }; + }; + +Also see: +- Documentation/devicetree/bindings/clock/clock-bindings.txt -- 2.7.4
next prev parent reply other threads:[~2018-03-16 2:53 UTC|newest] Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-03-16 2:52 [PATCH v8 00/42] ARM: davinci: convert to common clock framework David Lechner 2018-03-16 2:52 ` David Lechner [this message] 2018-03-20 17:03 ` [PATCH v8 01/42] dt-bindings: clock: Add new bindings for TI Davinci PLL clocks Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 02/42] clk: davinci: New driver for davinci " David Lechner 2018-03-20 16:56 ` Stephen Boyd 2018-03-20 17:03 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 03/42] clk: davinci: Add platform information for TI DA830 PLL David Lechner 2018-03-20 17:03 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 04/42] clk: davinci: Add platform information for TI DA850 PLL David Lechner 2018-03-20 17:03 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 05/42] clk: davinci: Add platform information for TI DM355 PLL David Lechner 2018-03-20 17:03 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 06/42] clk: davinci: Add platform information for TI DM365 PLL David Lechner 2018-03-20 17:03 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 07/42] clk: davinci: Add platform information for TI DM644x PLL David Lechner 2018-03-20 17:03 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 08/42] clk: davinci: Add platform information for TI DM646x PLL David Lechner 2018-03-20 17:03 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 09/42] dt-bindings: clock: New bindings for TI Davinci PSC David Lechner 2018-03-20 17:03 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 10/42] clk: davinci: New driver for davinci PSC clocks David Lechner 2018-03-20 17:03 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 11/42] clk: davinci: Add platform information for TI DA830 PSC David Lechner 2018-03-20 17:04 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 12/42] clk: davinci: Add platform information for TI DA850 PSC David Lechner 2018-03-16 3:11 ` David Lechner 2018-03-20 17:04 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 13/42] clk: davinci: Add platform information for TI DM355 PSC David Lechner 2018-03-20 16:58 ` Stephen Boyd 2018-03-20 17:04 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 14/42] clk: davinci: Add platform information for TI DM365 PSC David Lechner 2018-03-20 17:04 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 15/42] clk: davinci: Add platform information for TI DM644x PSC David Lechner 2018-03-20 17:04 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 16/42] clk: davinci: Add platform information for TI DM646x PSC David Lechner 2018-03-20 17:04 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 17/42] dt-bindings: clock: Add bindings for DA8XX CFGCHIP clocks David Lechner 2018-03-20 17:04 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 18/42] clk: davinci: New driver for TI " David Lechner 2018-03-20 16:54 ` Stephen Boyd 2018-03-20 16:57 ` David Lechner 2018-03-20 17:04 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 19/42] clk: davinci: cfgchip: Add TI DA8XX USB PHY clocks David Lechner 2018-03-20 17:04 ` Stephen Boyd 2018-03-16 2:52 ` [PATCH v8 20/42] ARM: davinci: pass clock as parameter to davinci_timer_init() David Lechner 2018-04-05 12:12 ` Sekhar Nori 2018-03-16 2:52 ` [PATCH v8 21/42] ARM: davinci: da830: add new clock init using common clock framework David Lechner 2018-03-16 2:52 ` [PATCH v8 22/42] ARM: davinci: da850: " David Lechner 2018-03-16 2:52 ` [PATCH v8 23/42] ARM: davinci: dm355: " David Lechner 2018-03-16 2:52 ` [PATCH v8 24/42] ARM: davinci: dm365: " David Lechner 2018-03-16 2:52 ` [PATCH v8 25/42] ARM: davinci: dm644x: " David Lechner 2018-04-03 10:26 ` Sekhar Nori 2018-04-03 16:30 ` David Lechner 2018-04-04 6:47 ` Sekhar Nori 2018-04-04 12:44 ` Sekhar Nori 2018-04-04 16:21 ` David Lechner 2018-03-16 2:52 ` [PATCH v8 26/42] ARM: davinci: dm646x: " David Lechner 2018-03-16 2:52 ` [PATCH v8 27/42] ARM: davinci: da8xx: add new USB PHY " David Lechner 2018-03-16 2:52 ` [PATCH v8 28/42] ARM: davinci: da8xx: add new sata_refclk " David Lechner 2018-03-16 2:52 ` [PATCH v8 29/42] ARM: davinci: remove CONFIG_DAVINCI_RESET_CLOCKS David Lechner 2018-03-16 2:52 ` [PATCH v8 30/42] ARM: davinci_all_defconfig: " David Lechner 2018-03-16 2:52 ` [PATCH v8 31/42] ARM: davinci: switch to common clock framework David Lechner 2018-03-16 2:52 ` [PATCH v8 32/42] ARM: davinci: da830: Remove legacy clock init David Lechner 2018-03-16 2:52 ` [PATCH v8 33/42] ARM: davinci: da850: " David Lechner 2018-03-16 2:52 ` [PATCH v8 34/42] ARM: davinci: dm355: " David Lechner 2018-03-16 2:52 ` [PATCH v8 35/42] ARM: davinci: dm365: " David Lechner 2018-03-16 2:52 ` [PATCH v8 36/42] ARM: davinci: dm644x: " David Lechner 2018-03-16 2:52 ` [PATCH v8 37/42] ARM: davinci: dm646x: " David Lechner 2018-03-16 2:52 ` [PATCH v8 38/42] ARM: davinci: da8xx: Remove legacy USB and SATA " David Lechner 2018-03-16 2:52 ` [PATCH v8 39/42] ARM: davinci: remove legacy clocks David Lechner 2018-03-16 2:52 ` [PATCH v8 40/42] ARM: davinci: add device tree support to timer David Lechner 2018-04-05 11:30 ` Sekhar Nori 2018-03-16 2:52 ` [PATCH v8 41/42] ARM: davinci: da8xx-dt: switch to device tree clocks David Lechner 2018-03-16 2:52 ` [PATCH v8 42/42] ARM: dts: da850: Add clocks David Lechner 2018-03-16 17:20 ` David Lechner 2018-04-02 11:12 ` Sekhar Nori 2018-04-02 16:15 ` David Lechner 2018-04-03 5:43 ` Sekhar Nori 2018-03-16 2:59 ` [PATCH v8 00/42] ARM: davinci: convert to common clock framework David Lechner 2018-03-19 13:17 ` Bartosz Golaszewski 2018-03-19 15:59 ` David Lechner 2018-03-19 16:11 ` Adam Ford 2018-03-19 16:14 ` Bartosz Golaszewski 2018-03-19 16:15 ` Bartosz Golaszewski 2018-03-19 17:52 ` Adam Ford 2018-03-19 22:54 ` David Lechner 2018-03-19 22:14 ` David Lechner 2018-03-20 0:53 ` Stephen Boyd 2018-03-20 13:52 ` Sekhar Nori
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=1521168778-27236-2-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: linkBe 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).