brintos

brintos / linux-shallow public Read only

0
0
Text · 2.9 KiB · 0f0f64b Raw
120 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0+ OR MIT)2%YAML 1.23---4$id: http://devicetree.org/schemas/clock/rockchip,px30-cru.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Rockchip PX30 Clock and Reset Unit (CRU)8 9maintainers:10  - Elaine Zhang <zhangqing@rock-chips.com>11  - Heiko Stuebner <heiko@sntech.de>12 13description: |14  The PX30 clock controller generates and supplies clocks to various15  controllers within the SoC and also implements a reset controller for SoC16  peripherals.17  Each clock is assigned an identifier and client nodes can use this identifier18  to specify the clock which they consume. All available clocks are defined as19  preprocessor macros in the dt-bindings/clock/px30-cru.h headers and can be20  used in device tree sources. Similar macros exist for the reset sources in21  these files.22  There are several clocks that are generated outside the SoC. It is expected23  that they are defined using standard clock bindings with following24  clock-output-names:25    - "xin24m"     - crystal input       - required26    - "xin32k"     - rtc clock           - optional27    - "i2sx_clkin" - external I2S clock  - optional28    - "gmac_clkin" - external GMAC clock - optional29 30properties:31  compatible:32    enum:33      - rockchip,px30-cru34      - rockchip,px30-pmucru35 36  reg:37    maxItems: 138 39  "#clock-cells":40    const: 141 42  "#reset-cells":43    const: 144 45  clocks:46    minItems: 147    items:48      - description: Clock for both PMUCRU and CRU49      - description: Clock for CRU (sourced from PMUCRU)50 51  clock-names:52    minItems: 153    items:54      - const: xin24m55      - const: gpll56 57  rockchip,grf:58    $ref: /schemas/types.yaml#/definitions/phandle59    description:60      Phandle to the syscon managing the "general register files" (GRF),61      if missing pll rates are not changeable, due to the missing pll62      lock status.63 64required:65  - compatible66  - reg67  - clocks68  - clock-names69  - "#clock-cells"70  - "#reset-cells"71 72allOf:73  - if:74      properties:75        compatible:76          contains:77            const: rockchip,px30-cru78 79    then:80      properties:81        clocks:82          minItems: 283 84        clock-names:85          minItems: 286 87    else:88      properties:89        clocks:90          maxItems: 191 92        clock-names:93          maxItems: 194 95additionalProperties: false96 97examples:98  - |99    #include <dt-bindings/clock/px30-cru.h>100 101    pmucru: clock-controller@ff2bc000 {102      compatible = "rockchip,px30-pmucru";103      reg = <0xff2bc000 0x1000>;104      clocks = <&xin24m>;105      clock-names = "xin24m";106      rockchip,grf = <&grf>;107      #clock-cells = <1>;108      #reset-cells = <1>;109    };110 111    cru: clock-controller@ff2b0000 {112      compatible = "rockchip,px30-cru";113      reg = <0xff2b0000 0x1000>;114      clocks = <&xin24m>, <&pmucru PLL_GPLL>;115      clock-names = "xin24m", "gpll";116      rockchip,grf = <&grf>;117      #clock-cells = <1>;118      #reset-cells = <1>;119    };120