1*16f21256SEduard Bostina# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*16f21256SEduard Bostina%YAML 1.2 3*16f21256SEduard Bostina--- 4*16f21256SEduard Bostina$id: http://devicetree.org/schemas/clock/ti/ti,apll-clock.yaml# 5*16f21256SEduard Bostina$schema: http://devicetree.org/meta-schemas/core.yaml# 6*16f21256SEduard Bostina 7*16f21256SEduard Bostinatitle: Texas Instruments APLL clock 8*16f21256SEduard Bostina 9*16f21256SEduard Bostinamaintainers: 10*16f21256SEduard Bostina - Eduard Bostina <egbostina@gmail.com> 11*16f21256SEduard Bostina 12*16f21256SEduard BostinaallOf: 13*16f21256SEduard Bostina - $ref: /schemas/clock/clock.yaml# 14*16f21256SEduard Bostina 15*16f21256SEduard Bostinadescription: 16*16f21256SEduard Bostina This binding assumes a register-mapped APLL with usually two selectable 17*16f21256SEduard Bostina input clocks (reference clock and bypass clock), with analog phase locked 18*16f21256SEduard Bostina loop logic for multiplying the input clock to a desired output clock. 19*16f21256SEduard Bostina This clock also typically supports different operation modes (locked, low 20*16f21256SEduard Bostina power stop etc.) APLL mostly behaves like a subtype of a DPLL, although 21*16f21256SEduard Bostina a simplified one at that. 22*16f21256SEduard Bostina 23*16f21256SEduard Bostinaproperties: 24*16f21256SEduard Bostina compatible: 25*16f21256SEduard Bostina enum: 26*16f21256SEduard Bostina - ti,dra7-apll-clock 27*16f21256SEduard Bostina - ti,omap2-apll-clock 28*16f21256SEduard Bostina 29*16f21256SEduard Bostina "#clock-cells": 30*16f21256SEduard Bostina const: 0 31*16f21256SEduard Bostina 32*16f21256SEduard Bostina clocks: 33*16f21256SEduard Bostina minItems: 1 34*16f21256SEduard Bostina maxItems: 2 35*16f21256SEduard Bostina description: Link phandles of parent clocks (clk-ref and clk-bypass) 36*16f21256SEduard Bostina 37*16f21256SEduard Bostina reg: 38*16f21256SEduard Bostina minItems: 2 39*16f21256SEduard Bostina maxItems: 3 40*16f21256SEduard Bostina description: | 41*16f21256SEduard Bostina Address and length of the register set for controlling the APLL. 42*16f21256SEduard Bostina It contains the information of registers in the following order: 43*16f21256SEduard Bostina "control" - contains the control register offset 44*16f21256SEduard Bostina "idlest" - contains the idlest register offset 45*16f21256SEduard Bostina "autoidle" - contains the autoidle register offset (OMAP2 only) 46*16f21256SEduard Bostina 47*16f21256SEduard Bostina ti,clock-frequency: 48*16f21256SEduard Bostina $ref: /schemas/types.yaml#/definitions/uint32 49*16f21256SEduard Bostina description: static clock frequency for the clock (OMAP2 only) 50*16f21256SEduard Bostina 51*16f21256SEduard Bostina ti,idlest-shift: 52*16f21256SEduard Bostina $ref: /schemas/types.yaml#/definitions/uint32 53*16f21256SEduard Bostina description: bit-shift for the idlest field (OMAP2 only) 54*16f21256SEduard Bostina 55*16f21256SEduard Bostina ti,bit-shift: 56*16f21256SEduard Bostina $ref: /schemas/types.yaml#/definitions/uint32 57*16f21256SEduard Bostina description: bit-shift for enable and autoidle fields (OMAP2 only) 58*16f21256SEduard Bostina 59*16f21256SEduard Bostinarequired: 60*16f21256SEduard Bostina - compatible 61*16f21256SEduard Bostina - "#clock-cells" 62*16f21256SEduard Bostina - clocks 63*16f21256SEduard Bostina - reg 64*16f21256SEduard Bostina 65*16f21256SEduard BostinaunevaluatedProperties: false 66*16f21256SEduard Bostina 67*16f21256SEduard Bostinaexamples: 68*16f21256SEduard Bostina - | 69*16f21256SEduard Bostina bus { 70*16f21256SEduard Bostina #address-cells = <1>; 71*16f21256SEduard Bostina #size-cells = <0>; 72*16f21256SEduard Bostina 73*16f21256SEduard Bostina clock@21c { 74*16f21256SEduard Bostina #clock-cells = <0>; 75*16f21256SEduard Bostina compatible = "ti,dra7-apll-clock"; 76*16f21256SEduard Bostina clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>; 77*16f21256SEduard Bostina reg = <0x021c>, <0x0220>; 78*16f21256SEduard Bostina }; 79*16f21256SEduard Bostina 80*16f21256SEduard Bostina clock@500 { 81*16f21256SEduard Bostina #clock-cells = <0>; 82*16f21256SEduard Bostina compatible = "ti,omap2-apll-clock"; 83*16f21256SEduard Bostina clocks = <&sys_ck>; 84*16f21256SEduard Bostina ti,bit-shift = <2>; 85*16f21256SEduard Bostina ti,idlest-shift = <8>; 86*16f21256SEduard Bostina ti,clock-frequency = <96000000>; 87*16f21256SEduard Bostina reg = <0x0500>, <0x0530>, <0x0520>; 88*16f21256SEduard Bostina }; 89*16f21256SEduard Bostina }; 90