| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- # 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 <dlemoal@kernel.org>
- 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: /schemas/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: /schemas/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: /schemas/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>;
- };
- };
|