Commit a7dbfa6f authored by Nishanth Menon's avatar Nishanth Menon Committed by Rob Herring
Browse files

dt-bindings: clock: Convert ti,sci-clk to json schema



Convert the ti,sci-clk to json schema for better checks and documentation.

Differences being:
 - Drop consumer example as they are documented in the corresponding
   bindings themselves.
 - Standardize the node name as clock-controller rather than clocks as
   it is more appropriate.
 - Drop phandle description for clock-cells as it is redundant.

Signed-off-by: default avatarNishanth Menon <nm@ti.com>
Reviewed-by: default avatarTero Kristo <kristo@kernel.org>
Acked-by: default avatarStephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20210426155457.21221-3-nm@ti.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 9a81b8cb
Loading
Loading
Loading
Loading
+0 −36
Original line number Diff line number Diff line
Texas Instruments TI-SCI Clocks
===============================

All clocks on Texas Instruments' SoCs that contain a System Controller,
are only controlled by this entity. Communication between a host processor
running an OS and the System Controller happens through a protocol known
as TI-SCI[1]. This clock implementation plugs into the common clock
framework and makes use of the TI-SCI protocol on clock API requests.

[1] Documentation/devicetree/bindings/arm/keystone/ti,sci.txt

Required properties:
-------------------
- compatible: Must be "ti,k2g-sci-clk"
- #clock-cells: Shall be 2.
  In clock consumers, this cell represents the device ID and clock ID
  exposed by the PM firmware. The list of valid values for the device IDs
  and clocks IDs for 66AK2G SoC are documented at
  http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data

Examples:
--------

pmmc: pmmc {
	compatible = "ti,k2g-sci";

	k2g_clks: clocks {
		compatible = "ti,k2g-sci-clk";
		#clock-cells = <2>;
	};
};

uart0: serial@2530c00 {
	compatible = "ns16550a";
	clocks = <&k2g_clks 0x2c 0>;
};
+49 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/ti,sci-clk.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: TI-SCI clock controller node bindings

maintainers:
  - Nishanth Menon <nm@ti.com>

description: |
  Some TI SoCs contain a system controller (like the Power Management Micro
  Controller (PMMC) on Keystone 66AK2G SoC) that are responsible for controlling
  the state of the various hardware modules present on the SoC. Communication
  between the host processor running an OS and the system controller happens
  through a protocol called TI System Control Interface (TI-SCI protocol).

  This clock controller node uses the TI SCI protocol to perform various clock
  management of various hardware modules (devices) present on the SoC. This
  node must be a child node of the associated TI-SCI system controller node.

properties:
  $nodename:
    pattern: "^clock-controller$"

  compatible:
    const: ti,k2g-sci-clk

  "#clock-cells":
    const: 2
    description:
      The two cells represent values that the TI-SCI controller defines.

      The first cell should contain the device ID.

      The second cell should contain the clock ID.

      Please see  http://processors.wiki.ti.com/index.php/TISCI for
      protocol documentation for the values to be used for different devices.

additionalProperties: false

examples:
  - |
    k3_clks: clock-controller {
        compatible = "ti,k2g-sci-clk";
        #clock-cells = <2>;
    };