diff options
Diffstat (limited to 'sys/contrib/device-tree/Bindings/clock/brcm,kona-ccu.yaml')
| -rw-r--r-- | sys/contrib/device-tree/Bindings/clock/brcm,kona-ccu.yaml | 181 | 
1 files changed, 181 insertions, 0 deletions
diff --git a/sys/contrib/device-tree/Bindings/clock/brcm,kona-ccu.yaml b/sys/contrib/device-tree/Bindings/clock/brcm,kona-ccu.yaml new file mode 100644 index 000000000000..e5656950b3bd --- /dev/null +++ b/sys/contrib/device-tree/Bindings/clock/brcm,kona-ccu.yaml @@ -0,0 +1,181 @@ +# 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 <florian.fainelli@broadcom.com> +  - Ray Jui <rjui@broadcom.com> +  - Scott Branden <sbranden@broadcom.com> + +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"; +    }; +...  | 
