Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/clock/ti/ti,composite-clock.yaml
Extension
.yaml
Size
2089 bytes
Lines
83
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/ti/ti,composite-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments composite clock

maintainers:
  - Tero Kristo <kristo@kernel.org>

description: |
  *Deprecated design pattern: one node per clock*

  This binding assumes a register-mapped composite clock with multiple
  different sub-types:

    a multiplexer clock with multiple input clock signals or parents, one
    of which can be selected as output, this behaves exactly as [1].

    an adjustable clock rate divider, this behaves exactly as [2].

    a gating function which can be used to enable and disable the output
    clock, this behaves exactly as [3].

  The binding must provide a list of the component clocks that shall be
  merged to this clock. The component clocks shall be of one of the
  "ti,*composite*-clock" types.

  [1] Documentation/devicetree/bindings/clock/ti/ti,mux-clock.yaml
  [2] Documentation/devicetree/bindings/clock/ti/ti,divider-clock.yaml
  [3] Documentation/devicetree/bindings/clock/ti/ti,gate-clock.yaml

properties:
  compatible:
    const: ti,composite-clock

  "#clock-cells":
    const: 0

  clocks: true

  clock-output-names:
    maxItems: 1

required:
  - compatible
  - "#clock-cells"
  - clocks

additionalProperties: false

examples:
  - |
    bus {
      #address-cells = <1>;
      #size-cells = <0>;

      usb_l4_gate_ick: clock-controller@a10 {
        #clock-cells = <0>;
        compatible = "ti,composite-gate-clock";
        clocks = <&l4_ick>;
        ti,bit-shift = <5>;
        reg = <0x0a10>;
      };

      usb_l4_div_ick: clock-controller@a40 {
        #clock-cells = <0>;
        compatible = "ti,composite-divider-clock";
        clocks = <&l4_ick>;

Annotation

Implementation Notes