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