18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/clock/bitmain,bm1880-clk.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Bitmain BM1880 Clock Controller
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  The Bitmain BM1880 clock controller generates and supplies clock to
148c2ecf20Sopenharmony_ci  various peripherals within the SoC.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci  This binding uses common clock bindings
178c2ecf20Sopenharmony_ci  [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciproperties:
208c2ecf20Sopenharmony_ci  compatible:
218c2ecf20Sopenharmony_ci    const: bitmain,bm1880-clk
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  reg:
248c2ecf20Sopenharmony_ci    items:
258c2ecf20Sopenharmony_ci      - description: pll registers
268c2ecf20Sopenharmony_ci      - description: system registers
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci  reg-names:
298c2ecf20Sopenharmony_ci    items:
308c2ecf20Sopenharmony_ci      - const: pll
318c2ecf20Sopenharmony_ci      - const: sys
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  clocks:
348c2ecf20Sopenharmony_ci    maxItems: 1
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci  clock-names:
378c2ecf20Sopenharmony_ci    const: osc
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci  '#clock-cells':
408c2ecf20Sopenharmony_ci    const: 1
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_cirequired:
438c2ecf20Sopenharmony_ci  - compatible
448c2ecf20Sopenharmony_ci  - reg
458c2ecf20Sopenharmony_ci  - reg-names
468c2ecf20Sopenharmony_ci  - clocks
478c2ecf20Sopenharmony_ci  - clock-names
488c2ecf20Sopenharmony_ci  - '#clock-cells'
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciadditionalProperties: false
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciexamples:
538c2ecf20Sopenharmony_ci  # Clock controller node:
548c2ecf20Sopenharmony_ci  - |
558c2ecf20Sopenharmony_ci    clk: clock-controller@e8 {
568c2ecf20Sopenharmony_ci        compatible = "bitmain,bm1880-clk";
578c2ecf20Sopenharmony_ci        reg = <0xe8 0x0c>, <0x800 0xb0>;
588c2ecf20Sopenharmony_ci        reg-names = "pll", "sys";
598c2ecf20Sopenharmony_ci        clocks = <&osc>;
608c2ecf20Sopenharmony_ci        clock-names = "osc";
618c2ecf20Sopenharmony_ci        #clock-cells = <1>;
628c2ecf20Sopenharmony_ci    };
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci  # Example UART controller node that consumes clock generated by the clock controller:
658c2ecf20Sopenharmony_ci  - |
668c2ecf20Sopenharmony_ci    uart0: serial@58018000 {
678c2ecf20Sopenharmony_ci         compatible = "snps,dw-apb-uart";
688c2ecf20Sopenharmony_ci         reg = <0x58018000 0x2000>;
698c2ecf20Sopenharmony_ci         clocks = <&clk 45>, <&clk 46>;
708c2ecf20Sopenharmony_ci         clock-names = "baudclk", "apb_pclk";
718c2ecf20Sopenharmony_ci         interrupts = <0 9 4>;
728c2ecf20Sopenharmony_ci         reg-shift = <2>;
738c2ecf20Sopenharmony_ci         reg-io-width = <4>;
748c2ecf20Sopenharmony_ci    };
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci...
77