1*944b074fSAndreas Kemnade# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*944b074fSAndreas Kemnade%YAML 1.2 3*944b074fSAndreas Kemnade--- 4*944b074fSAndreas Kemnade$id: http://devicetree.org/schemas/clock/ti,clkctrl.yaml# 5*944b074fSAndreas Kemnade$schema: http://devicetree.org/meta-schemas/core.yaml# 6*944b074fSAndreas Kemnade 7*944b074fSAndreas Kemnadetitle: Texas Instruments clkctrl clock 8*944b074fSAndreas Kemnade 9*944b074fSAndreas Kemnademaintainers: 10*944b074fSAndreas Kemnade - Tony Lindgren <tony@atomide.com> 11*944b074fSAndreas Kemnade - Andreas Kemnade <andreas@kemnade.info> 12*944b074fSAndreas Kemnade 13*944b074fSAndreas Kemnadedescription: | 14*944b074fSAndreas Kemnade Texas Instruments SoCs can have a clkctrl clock controller for each 15*944b074fSAndreas Kemnade interconnect target module. The clkctrl clock controller manages functional 16*944b074fSAndreas Kemnade and interface clocks for each module. Each clkctrl controller can also 17*944b074fSAndreas Kemnade gate one or more optional functional clocks for a module, and can have one 18*944b074fSAndreas Kemnade or more clock muxes. There is a clkctrl clock controller typically for each 19*944b074fSAndreas Kemnade interconnect target module on omap4 and later variants. 20*944b074fSAndreas Kemnade 21*944b074fSAndreas Kemnade The clock consumers can specify the index of the clkctrl clock using 22*944b074fSAndreas Kemnade the hardware offset from the clkctrl instance register space. The optional 23*944b074fSAndreas Kemnade clocks can be specified by clkctrl hardware offset and the index of the 24*944b074fSAndreas Kemnade optional clock. 25*944b074fSAndreas Kemnade 26*944b074fSAndreas Kemnadeproperties: 27*944b074fSAndreas Kemnade compatible: 28*944b074fSAndreas Kemnade enum: 29*944b074fSAndreas Kemnade - ti,clkctrl 30*944b074fSAndreas Kemnade - ti,clkctrl-l4-cfg 31*944b074fSAndreas Kemnade - ti,clkctrl-l4-per 32*944b074fSAndreas Kemnade - ti,clkctrl-l4-secure 33*944b074fSAndreas Kemnade - ti,clkctrl-l4-wkup 34*944b074fSAndreas Kemnade 35*944b074fSAndreas Kemnade "#clock-cells": 36*944b074fSAndreas Kemnade const: 2 37*944b074fSAndreas Kemnade 38*944b074fSAndreas Kemnade clock-output-names: 39*944b074fSAndreas Kemnade maxItems: 1 40*944b074fSAndreas Kemnade 41*944b074fSAndreas Kemnade reg: 42*944b074fSAndreas Kemnade minItems: 1 43*944b074fSAndreas Kemnade maxItems: 8 # arbitrary, should be enough 44*944b074fSAndreas Kemnade 45*944b074fSAndreas Kemnaderequired: 46*944b074fSAndreas Kemnade - compatible 47*944b074fSAndreas Kemnade - "#clock-cells" 48*944b074fSAndreas Kemnade - clock-output-names 49*944b074fSAndreas Kemnade - reg 50*944b074fSAndreas Kemnade 51*944b074fSAndreas KemnadeadditionalProperties: false 52*944b074fSAndreas Kemnade 53*944b074fSAndreas Kemnadeexamples: 54*944b074fSAndreas Kemnade - | 55*944b074fSAndreas Kemnade bus { 56*944b074fSAndreas Kemnade #address-cells = <1>; 57*944b074fSAndreas Kemnade #size-cells = <1>; 58*944b074fSAndreas Kemnade 59*944b074fSAndreas Kemnade clock@20 { 60*944b074fSAndreas Kemnade compatible = "ti,clkctrl"; 61*944b074fSAndreas Kemnade clock-output-names = "l4_per"; 62*944b074fSAndreas Kemnade reg = <0x20 0x1b0>; 63*944b074fSAndreas Kemnade #clock-cells = <2>; 64*944b074fSAndreas Kemnade }; 65*944b074fSAndreas Kemnade }; 66