| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/clock/ti,clkctrl.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Texas Instruments clkctrl clock | |
| maintainers: | |
| - Tony Lindgren <tony@atomide.com> | |
| - Andreas Kemnade <andreas@kemnade.info> | |
| description: | | |
| Texas Instruments SoCs can have a clkctrl clock controller for each | |
| interconnect target module. The clkctrl clock controller manages functional | |
| and interface clocks for each module. Each clkctrl controller can also | |
| gate one or more optional functional clocks for a module, and can have one | |
| or more clock muxes. There is a clkctrl clock controller typically for each | |
| interconnect target module on omap4 and later variants. | |
| The clock consumers can specify the index of the clkctrl clock using | |
| the hardware offset from the clkctrl instance register space. The optional | |
| clocks can be specified by clkctrl hardware offset and the index of the | |
| optional clock. | |
| properties: | |
| compatible: | |
| enum: | |
| - ti,clkctrl | |
| - ti,clkctrl-l4-cfg | |
| - ti,clkctrl-l4-per | |
| - ti,clkctrl-l4-secure | |
| - ti,clkctrl-l4-wkup | |
| "#clock-cells": | |
| const: 2 | |
| clock-output-names: | |
| maxItems: 1 | |
| reg: | |
| minItems: 1 | |
| maxItems: 8 # arbitrary, should be enough | |
| required: | |
| - compatible | |
| - "#clock-cells" | |
| - clock-output-names | |
| - reg | |
| additionalProperties: false | |
| examples: | |
| - | | |
| bus { | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| clock@20 { | |
| compatible = "ti,clkctrl"; | |
| clock-output-names = "l4_per"; | |
| reg = <0x20 0x1b0>; | |
| #clock-cells = <2>; | |
| }; | |
| }; |