linux-loongson/Documentation/devicetree/bindings/clock/allwinner,sun55i-a523-ccu.yaml
Andre Przywara 52dbf84857 dt-bindings: clk: sunxi-ng: document two Allwinner A523 CCUs
The Allwinner A523/T527 SoCs have four CCUs, this adds the binding for
the main and the PRCM R-CCU.

The source clock list differs in some annoying details, and folding this
into the existing Allwinner CCU clock binding document gets quite
unwieldy, so create a new document for these CCUs.
Add the new compatible string, along with the required input clock
lists. This conditionally describes the input clock lists, to make
adding support for the other two CCUs easier.

Also add the DT binding headers, listing all the clocks with their ID
numbers.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20250307002628.10684-5-andre.przywara@arm.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2025-03-12 11:58:09 +08:00

104 lines
2.2 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/allwinner,sun55i-a523-ccu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Allwinner A523 Clock Control Unit
maintainers:
- Andre Przywara <andre.przywara@arm.com>
properties:
"#clock-cells":
const: 1
"#reset-cells":
const: 1
compatible:
enum:
- allwinner,sun55i-a523-ccu
- allwinner,sun55i-a523-r-ccu
reg:
maxItems: 1
clocks:
minItems: 4
maxItems: 5
clock-names:
minItems: 4
maxItems: 5
required:
- "#clock-cells"
- "#reset-cells"
- compatible
- reg
- clocks
- clock-names
allOf:
- if:
properties:
compatible:
enum:
- allwinner,sun55i-a523-ccu
then:
properties:
clocks:
items:
- description: High Frequency Oscillator (usually at 24MHz)
- description: Low Frequency Oscillator (usually at 32kHz)
- description: Internal Oscillator
- description: Low Frequency Oscillator fanout
clock-names:
items:
- const: hosc
- const: losc
- const: iosc
- const: losc-fanout
- if:
properties:
compatible:
enum:
- allwinner,sun55i-a523-r-ccu
then:
properties:
clocks:
items:
- description: High Frequency Oscillator (usually at 24MHz)
- description: Low Frequency Oscillator (usually at 32kHz)
- description: Internal Oscillator
- description: Peripherals PLL
- description: Audio PLL
clock-names:
items:
- const: hosc
- const: losc
- const: iosc
- const: pll-periph
- const: pll-audio
additionalProperties: false
examples:
- |
clock-controller@2001000 {
compatible = "allwinner,sun55i-a523-ccu";
reg = <0x02001000 0x1000>;
clocks = <&osc24M>, <&osc32k>, <&iosc>, <&r_ccu 1>;
clock-names = "hosc", "losc", "iosc", "losc-fanout";
#clock-cells = <1>;
#reset-cells = <1>;
};
...