1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mfd/canaan,k210-sysctl.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Canaan Kendryte K210 System Controller 8 9maintainers: 10 - Damien Le Moal <damien.lemoal@wdc.com> 11 12description: 13 Canaan Inc. Kendryte K210 SoC system controller which provides a 14 register map for controlling the clocks, reset signals and pin power 15 domains of the SoC. 16 17properties: 18 compatible: 19 items: 20 - const: canaan,k210-sysctl 21 - const: syscon 22 - const: simple-mfd 23 24 clocks: 25 maxItems: 1 26 description: 27 System controller Advanced Power Bus (APB) interface clock source. 28 29 clock-names: 30 items: 31 - const: pclk 32 33 reg: 34 maxItems: 1 35 36 clock-controller: 37 # Child node 38 type: object 39 $ref: "../clock/canaan,k210-clk.yaml" 40 description: 41 Clock controller for the SoC clocks. This child node definition 42 should follow the bindings specified in 43 Documentation/devicetree/bindings/clock/canaan,k210-clk.yaml. 44 45 reset-controller: 46 # Child node 47 type: object 48 $ref: "../reset/canaan,k210-rst.yaml" 49 description: 50 Reset controller for the SoC. This child node definition 51 should follow the bindings specified in 52 Documentation/devicetree/bindings/reset/canaan,k210-rst.yaml. 53 54 syscon-reboot: 55 # Child node 56 type: object 57 $ref: "../power/reset/syscon-reboot.yaml" 58 description: 59 Reboot method for the SoC. This child node definition 60 should follow the bindings specified in 61 Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml. 62 63required: 64 - compatible 65 - clocks 66 - reg 67 - clock-controller 68 69additionalProperties: false 70 71examples: 72 - | 73 #include <dt-bindings/clock/k210-clk.h> 74 #include <dt-bindings/reset/k210-rst.h> 75 76 clocks { 77 in0: oscllator { 78 compatible = "fixed-clock"; 79 #clock-cells = <0>; 80 clock-frequency = <26000000>; 81 }; 82 }; 83 84 sysctl: syscon@50440000 { 85 compatible = "canaan,k210-sysctl", 86 "syscon", "simple-mfd"; 87 reg = <0x50440000 0x100>; 88 clocks = <&sysclk K210_CLK_APB1>; 89 clock-names = "pclk"; 90 91 sysclk: clock-controller { 92 #clock-cells = <1>; 93 compatible = "canaan,k210-clk"; 94 clocks = <&in0>; 95 }; 96 97 sysrst: reset-controller { 98 compatible = "canaan,k210-rst"; 99 #reset-cells = <1>; 100 }; 101 102 reboot: syscon-reboot { 103 compatible = "syscon-reboot"; 104 regmap = <&sysctl>; 105 offset = <48>; 106 mask = <1>; 107 value = <1>; 108 }; 109 }; 110