xref: /linux/Documentation/devicetree/bindings/soc/spacemit/spacemit,k1-syscon.yaml (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
161e312a0SHaylen Chu# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
261e312a0SHaylen Chu%YAML 1.2
361e312a0SHaylen Chu---
461e312a0SHaylen Chu$id: http://devicetree.org/schemas/soc/spacemit/spacemit,k1-syscon.yaml#
561e312a0SHaylen Chu$schema: http://devicetree.org/meta-schemas/core.yaml#
661e312a0SHaylen Chu
761e312a0SHaylen Chutitle: SpacemiT K1 SoC System Controller
861e312a0SHaylen Chu
961e312a0SHaylen Chumaintainers:
1061e312a0SHaylen Chu  - Haylen Chu <heylenay@4d2.org>
1161e312a0SHaylen Chu
1261e312a0SHaylen Chudescription:
1361e312a0SHaylen Chu  System controllers found on SpacemiT K1 SoC, which are capable of
1461e312a0SHaylen Chu  clock, reset and power-management functions.
1561e312a0SHaylen Chu
1661e312a0SHaylen Chuproperties:
1761e312a0SHaylen Chu  compatible:
1861e312a0SHaylen Chu    enum:
1961e312a0SHaylen Chu      - spacemit,k1-syscon-apbc
2061e312a0SHaylen Chu      - spacemit,k1-syscon-apmu
2161e312a0SHaylen Chu      - spacemit,k1-syscon-mpmu
22*25a59e81SAlex Elder      - spacemit,k1-syscon-rcpu
23*25a59e81SAlex Elder      - spacemit,k1-syscon-rcpu2
24*25a59e81SAlex Elder      - spacemit,k1-syscon-apbc2
2561e312a0SHaylen Chu
2661e312a0SHaylen Chu  reg:
2761e312a0SHaylen Chu    maxItems: 1
2861e312a0SHaylen Chu
2961e312a0SHaylen Chu  clocks:
3061e312a0SHaylen Chu    maxItems: 4
3161e312a0SHaylen Chu
3261e312a0SHaylen Chu  clock-names:
3361e312a0SHaylen Chu    items:
3461e312a0SHaylen Chu      - const: osc
3561e312a0SHaylen Chu      - const: vctcxo_1m
3661e312a0SHaylen Chu      - const: vctcxo_3m
3761e312a0SHaylen Chu      - const: vctcxo_24m
3861e312a0SHaylen Chu
3961e312a0SHaylen Chu  "#clock-cells":
4061e312a0SHaylen Chu    const: 1
4161e312a0SHaylen Chu    description:
4261e312a0SHaylen Chu      See <dt-bindings/clock/spacemit,k1-syscon.h> for valid indices.
4361e312a0SHaylen Chu
4461e312a0SHaylen Chu  "#power-domain-cells":
4561e312a0SHaylen Chu    const: 1
4661e312a0SHaylen Chu
4761e312a0SHaylen Chu  "#reset-cells":
4861e312a0SHaylen Chu    const: 1
4961e312a0SHaylen Chu
5061e312a0SHaylen Churequired:
5161e312a0SHaylen Chu  - compatible
5261e312a0SHaylen Chu  - reg
5361e312a0SHaylen Chu  - "#reset-cells"
5461e312a0SHaylen Chu
5561e312a0SHaylen ChuallOf:
5661e312a0SHaylen Chu  - if:
5761e312a0SHaylen Chu      properties:
5861e312a0SHaylen Chu        compatible:
5961e312a0SHaylen Chu          contains:
60*25a59e81SAlex Elder            enum:
61*25a59e81SAlex Elder              - spacemit,k1-syscon-apmu
62*25a59e81SAlex Elder              - spacemit,k1-syscon-mpmu
6361e312a0SHaylen Chu    then:
6461e312a0SHaylen Chu      required:
6561e312a0SHaylen Chu        - "#power-domain-cells"
66*25a59e81SAlex Elder    else:
67*25a59e81SAlex Elder      properties:
68*25a59e81SAlex Elder        "#power-domain-cells": false
69*25a59e81SAlex Elder  - if:
70*25a59e81SAlex Elder      properties:
71*25a59e81SAlex Elder        compatible:
72*25a59e81SAlex Elder          contains:
73*25a59e81SAlex Elder            enum:
74*25a59e81SAlex Elder              - spacemit,k1-syscon-apbc
75*25a59e81SAlex Elder              - spacemit,k1-syscon-apmu
76*25a59e81SAlex Elder              - spacemit,k1-syscon-mpmu
77*25a59e81SAlex Elder    then:
78*25a59e81SAlex Elder      required:
79*25a59e81SAlex Elder        - clocks
80*25a59e81SAlex Elder        - clock-names
81*25a59e81SAlex Elder        - "#clock-cells"
8261e312a0SHaylen Chu
8361e312a0SHaylen ChuadditionalProperties: false
8461e312a0SHaylen Chu
8561e312a0SHaylen Chuexamples:
8661e312a0SHaylen Chu  - |
8761e312a0SHaylen Chu    system-controller@d4050000 {
8861e312a0SHaylen Chu        compatible = "spacemit,k1-syscon-mpmu";
8961e312a0SHaylen Chu        reg = <0xd4050000 0x209c>;
9061e312a0SHaylen Chu        clocks = <&osc>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>;
9161e312a0SHaylen Chu        clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m";
9261e312a0SHaylen Chu        #clock-cells = <1>;
9361e312a0SHaylen Chu        #power-domain-cells = <1>;
9461e312a0SHaylen Chu        #reset-cells = <1>;
9561e312a0SHaylen Chu    };
96