dt-bindings: clock: ti: Convert fixed-factor-clock to yaml

This uses the ti,autoidle.yaml for clock autoidle support. Clean up the example
to meet the current standards.

Add the creator of the original binding as a maintainer.

Signed-off-by: Sukrut Bellary <sbellary@baylibre.com>
Link: https://lore.kernel.org/r/20250516081612.767559-3-sbellary@baylibre.com
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
Sukrut Bellary
2025-05-16 01:16:11 -07:00
committed by Stephen Boyd
parent 5ffe2d2f53
commit a7953b62de
2 changed files with 76 additions and 42 deletions

View File

@@ -1,42 +0,0 @@
Binding for TI fixed factor rate clock sources.
This binding uses the common clock binding[1], and also uses the autoidle
support from TI autoidle clock [2].
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
[2] Documentation/devicetree/bindings/clock/ti/autoidle.txt
Required properties:
- compatible : shall be "ti,fixed-factor-clock".
- #clock-cells : from common clock binding; shall be set to 0.
- ti,clock-div: fixed divider.
- ti,clock-mult: fixed multiplier.
- clocks: parent clock.
Optional properties:
- clock-output-names : from common clock binding.
- ti,autoidle-shift: bit shift of the autoidle enable bit for the clock,
see [2]
- reg: offset for the autoidle register of this clock, see [2]
- ti,invert-autoidle-bit: autoidle is enabled by setting the bit to 0, see [2]
- ti,set-rate-parent: clk_set_rate is propagated to parent
Example:
clock {
compatible = "ti,fixed-factor-clock";
clocks = <&parentclk>;
#clock-cells = <0>;
ti,clock-div = <2>;
ti,clock-mult = <1>;
};
dpll_usb_clkdcoldo_ck: dpll_usb_clkdcoldo_ck {
#clock-cells = <0>;
compatible = "ti,fixed-factor-clock";
clocks = <&dpll_usb_ck>;
ti,clock-div = <1>;
ti,autoidle-shift = <8>;
reg = <0x01b4>;
ti,clock-mult = <1>;
ti,invert-autoidle-bit;
};

View File

@@ -0,0 +1,76 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/ti/ti,fixed-factor-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI fixed factor rate clock sources
maintainers:
- Tero Kristo <kristo@kernel.org>
- Sukrut Bellary <sbellary@baylibre.com>
description:
This consists of a divider and a multiplier used to generate a fixed rate
clock. This also uses the autoidle support from TI autoidle clock.
allOf:
- $ref: ti,autoidle.yaml#
properties:
compatible:
const: ti,fixed-factor-clock
"#clock-cells":
const: 0
reg:
maxItems: 1
ti,clock-div:
$ref: /schemas/types.yaml#/definitions/uint32
description: Fixed divider
minimum: 1
ti,clock-mult:
$ref: /schemas/types.yaml#/definitions/uint32
description: Fixed multiplier
minimum: 1
clocks:
maxItems: 1
clock-output-names:
maxItems: 1
ti,set-rate-parent:
description:
Propagate to parent clock
type: boolean
required:
- compatible
- clocks
- "#clock-cells"
- ti,clock-mult
- ti,clock-div
unevaluatedProperties: false
examples:
- |
bus{
#address-cells = <1>;
#size-cells = <0>;
clock@1b4 {
compatible = "ti,fixed-factor-clock";
reg = <0x1b4>;
clocks = <&dpll_usb_ck>;
#clock-cells = <0>;
ti,clock-mult = <1>;
ti,clock-div = <1>;
ti,autoidle-shift = <8>;
ti,invert-autoidle-bit;
};
};