dt-binding: mfd: Document canaan,k210-sysctl bindings
Document the device tree bindings of the Canaan Kendryte K210 SoC system controller driver in Documentation/devicetree/bindings/mfd/canaan,k210-sysctl.yaml. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
This commit is contained in:
parent
802fee26d8
commit
23fb08e72a
109
Documentation/devicetree/bindings/mfd/canaan,k210-sysctl.yaml
Normal file
109
Documentation/devicetree/bindings/mfd/canaan,k210-sysctl.yaml
Normal file
@ -0,0 +1,109 @@
|
||||
# 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 Device Tree Bindings
|
||||
|
||||
maintainers:
|
||||
- Damien Le Moal <damien.lemoal@wdc.com>
|
||||
|
||||
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 <dt-bindings/clock/k210-clk.h>
|
||||
#include <dt-bindings/reset/k210-rst.h>
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue
Block a user