# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/canaan,k210-sysctl.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Canaan Kendryte K210 System Controller maintainers: - Damien Le Moal description: Canaan Inc. Kendryte K210 SoC system controller which provides a register map for controlling the clocks, reset signals and pin power domains of the SoC. properties: compatible: items: - const: canaan,k210-sysctl - const: syscon - const: simple-mfd clocks: maxItems: 1 description: System controller Advanced Power Bus (APB) interface clock source. clock-names: items: - const: pclk reg: maxItems: 1 clock-controller: # Child node type: object $ref: ../clock/canaan,k210-clk.yaml description: Clock controller for the SoC clocks. This child node definition should follow the bindings specified in Documentation/devicetree/bindings/clock/canaan,k210-clk.yaml. reset-controller: # Child node type: object $ref: ../reset/canaan,k210-rst.yaml description: Reset controller for the SoC. This child node definition should follow the bindings specified in Documentation/devicetree/bindings/reset/canaan,k210-rst.yaml. syscon-reboot: # Child node type: object $ref: ../power/reset/syscon-reboot.yaml description: Reboot method for the SoC. This child node definition should follow the bindings specified in Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml. required: - compatible - clocks - reg - clock-controller additionalProperties: false examples: - | #include #include clocks { in0: oscllator { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <26000000>; }; }; sysctl: syscon@50440000 { compatible = "canaan,k210-sysctl", "syscon", "simple-mfd"; reg = <0x50440000 0x100>; clocks = <&sysclk K210_CLK_APB1>; clock-names = "pclk"; sysclk: clock-controller { #clock-cells = <1>; compatible = "canaan,k210-clk"; clocks = <&in0>; }; sysrst: reset-controller { compatible = "canaan,k210-rst"; #reset-cells = <1>; }; reboot: syscon-reboot { compatible = "syscon-reboot"; regmap = <&sysctl>; offset = <48>; mask = <1>; value = <1>; }; };