# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/clock/brcm,kona-ccu.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Broadcom Kona family clock control units (CCU) maintainers: - Florian Fainelli - Ray Jui - Scott Branden description: | Broadcom "Kona" style clock control unit (CCU) is a clock provider that manages a set of clock signals. All available clock IDs are defined in - include/dt-bindings/clock/bcm281xx.h for BCM281XX family - include/dt-bindings/clock/bcm21664.h for BCM21664 family properties: compatible: enum: - brcm,bcm11351-aon-ccu - brcm,bcm11351-hub-ccu - brcm,bcm11351-master-ccu - brcm,bcm11351-root-ccu - brcm,bcm11351-slave-ccu - brcm,bcm21664-aon-ccu - brcm,bcm21664-master-ccu - brcm,bcm21664-root-ccu - brcm,bcm21664-slave-ccu reg: maxItems: 1 '#clock-cells': const: 1 clock-output-names: minItems: 1 maxItems: 10 required: - compatible - reg - '#clock-cells' - clock-output-names allOf: - if: properties: compatible: contains: const: brcm,bcm11351-aon-ccu then: properties: clock-output-names: items: - const: hub_timer - const: pmu_bsc - const: pmu_bsc_var - if: properties: compatible: contains: const: brcm,bcm11351-hub-ccu then: properties: clock-output-names: const: tmon_1m - if: properties: compatible: contains: const: brcm,bcm11351-master-ccu then: properties: clock-output-names: items: - const: sdio1 - const: sdio2 - const: sdio3 - const: sdio4 - const: usb_ic - const: hsic2_48m - const: hsic2_12m - if: properties: compatible: contains: enum: - brcm,bcm11351-root-ccu - brcm,bcm21664-root-ccu then: properties: clock-output-names: const: frac_1m - if: properties: compatible: contains: const: brcm,bcm11351-slave-ccu then: properties: clock-output-names: items: - const: uartb - const: uartb2 - const: uartb3 - const: uartb4 - const: ssp0 - const: ssp2 - const: bsc1 - const: bsc2 - const: bsc3 - const: pwm - if: properties: compatible: contains: const: brcm,bcm21664-aon-ccu then: properties: clock-output-names: const: hub_timer - if: properties: compatible: contains: const: brcm,bcm21664-master-ccu then: properties: clock-output-names: items: - const: sdio1 - const: sdio2 - const: sdio3 - const: sdio4 - const: sdio1_sleep - const: sdio2_sleep - const: sdio3_sleep - const: sdio4_sleep - if: properties: compatible: contains: const: brcm,bcm21664-slave-ccu then: properties: clock-output-names: items: - const: uartb - const: uartb2 - const: uartb3 - const: bsc1 - const: bsc2 - const: bsc3 - const: bsc4 additionalProperties: false examples: - | clock-controller@3e011000 { compatible = "brcm,bcm11351-slave-ccu"; reg = <0x3e011000 0x0f00>; #clock-cells = <1>; clock-output-names = "uartb", "uartb2", "uartb3", "uartb4", "ssp0", "ssp2", "bsc1", "bsc2", "bsc3", "pwm"; }; ...