18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/clock/milbeaut-clock.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Milbeaut SoCs Clock Controller Binding
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Taichi Sugaya <sugaya.taichi@socionext.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  Milbeaut SoCs Clock controller is an integrated clock controller, which
148c2ecf20Sopenharmony_ci  generates and supplies to all modules.
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    oneOf:
228c2ecf20Sopenharmony_ci      - items:
238c2ecf20Sopenharmony_ci          - enum:
248c2ecf20Sopenharmony_ci              - socionext,milbeaut-m10v-ccu
258c2ecf20Sopenharmony_ci  clocks:
268c2ecf20Sopenharmony_ci    maxItems: 1
278c2ecf20Sopenharmony_ci    description: external clock
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci  '#clock-cells':
308c2ecf20Sopenharmony_ci    const: 1
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_cirequired:
338c2ecf20Sopenharmony_ci  - compatible
348c2ecf20Sopenharmony_ci  - reg
358c2ecf20Sopenharmony_ci  - clocks
368c2ecf20Sopenharmony_ci  - '#clock-cells'
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciadditionalProperties: false
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciexamples:
418c2ecf20Sopenharmony_ci  # Clock controller node:
428c2ecf20Sopenharmony_ci  - |
438c2ecf20Sopenharmony_ci    m10v-clk-ctrl@1d021000 {
448c2ecf20Sopenharmony_ci        compatible = "socionext,milbeaut-m10v-clk-ccu";
458c2ecf20Sopenharmony_ci        reg = <0x1d021000 0x4000>;
468c2ecf20Sopenharmony_ci        #clock-cells = <1>;
478c2ecf20Sopenharmony_ci        clocks = <&clki40mhz>;
488c2ecf20Sopenharmony_ci    };
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  # Required an external clock for Clock controller node:
518c2ecf20Sopenharmony_ci  - |
528c2ecf20Sopenharmony_ci    clocks {
538c2ecf20Sopenharmony_ci        clki40mhz: clki40mhz {
548c2ecf20Sopenharmony_ci            compatible = "fixed-clock";
558c2ecf20Sopenharmony_ci            #clock-cells = <0>;
568c2ecf20Sopenharmony_ci            clock-frequency = <40000000>;
578c2ecf20Sopenharmony_ci        };
588c2ecf20Sopenharmony_ci        /* other clocks */
598c2ecf20Sopenharmony_ci    };
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci  # The clock consumer shall specify the desired clock-output of the clock
628c2ecf20Sopenharmony_ci  # controller as below by specifying output-id in its "clk" phandle cell.
638c2ecf20Sopenharmony_ci  # 2: uart
648c2ecf20Sopenharmony_ci  # 4: 32-bit timer
658c2ecf20Sopenharmony_ci  # 7: UHS-I/II
668c2ecf20Sopenharmony_ci  - |
678c2ecf20Sopenharmony_ci    serial@1e700010 {
688c2ecf20Sopenharmony_ci        compatible = "socionext,milbeaut-usio-uart";
698c2ecf20Sopenharmony_ci        reg = <0x1e700010 0x10>;
708c2ecf20Sopenharmony_ci        interrupts = <0 141 0x4>, <0 149 0x4>;
718c2ecf20Sopenharmony_ci        interrupt-names = "rx", "tx";
728c2ecf20Sopenharmony_ci        clocks = <&clk 2>;
738c2ecf20Sopenharmony_ci    };
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci...
76