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