# SPDX-License-Identifier: GPL-2.0-only %YAML 1.2 --- $id: http://devicetree.org/schemas/clock/ti/ti,gate-clock.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Texas Instruments gate clock maintainers: - Tero Kristo description: | *Deprecated design pattern: one node per clock* This clock is quite much similar to the basic gate-clock [1], however, it supports a number of additional features. If no register is provided for this clock, the code assumes that a clockdomain will be controlled instead and the corresponding hw-ops for that is used. [1] Documentation/devicetree/bindings/clock/gpio-gate-clock.yaml [2] Documentation/devicetree/bindings/clock/ti/clockdomain.txt properties: compatible: enum: - ti,gate-clock # basic gate clock - ti,wait-gate-clock # gate clock which waits until clock is # active before returning from clk_enable() - ti,dss-gate-clock # gate clock with DSS specific hardware # handling - ti,am35xx-gate-clock # gate clock with AM35xx specific hardware # handling - ti,clkdm-gate-clock # clockdomain gate clock, which derives its # functional clock directly from a # clockdomain, see [2] how to map # clockdomains properly - ti,hsdiv-gate-clock # gate clock with OMAP36xx specific hardware # handling, required for a hardware errata - ti,composite-gate-clock # composite gate clock, to be part of # composite clock - ti,composite-no-wait-gate-clock # composite gate clock that does not # wait for clock to be active before # returning from clk_enable() "#clock-cells": const: 0 clocks: true clock-output-names: maxItems: 1 reg: maxItems: 1 ti,bit-shift: $ref: /schemas/types.yaml#/definitions/uint32 description: Number of bits to shift the bit-mask maximum: 31 default: 0 ti,set-bit-to-disable: type: boolean description: Inverts default gate programming. Setting the bit gates the clock and clearing the bit ungates the clock. ti,set-rate-parent: type: boolean description: clk_set_rate is propagated to parent clock, if: properties: compatible: contains: const: ti,clkdm-gate-clock then: properties: reg: false required: - compatible - "#clock-cells" - clocks else: required: - compatible - "#clock-cells" - clocks - reg additionalProperties: false examples: - | bus { #address-cells = <1>; #size-cells = <0>; clock-controller@a00 { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&core_96m_fck>; reg = <0x0a00>; ti,bit-shift = <25>; }; clock-controller@d00 { compatible = "ti,hsdiv-gate-clock"; reg = <0x0d00>; #clock-cells = <0>; clocks = <&dpll4_m2x2_mul_ck>; ti,bit-shift = <0x1b>; ti,set-bit-to-disable; }; }; - | clock-controller { #clock-cells = <0>; compatible = "ti,clkdm-gate-clock"; clocks = <&emu_src_mux_ck>; };