Skip to content

Commit

Permalink
dt-bindings: arm: hisilicon: convert system controller bindings to js…
Browse files Browse the repository at this point in the history
…on-schema

Convert the Hisilicon system controller and its variants binding to DT
schema format using json-schema. All of them are grouped into one yaml
file, to help users understand differences and avoid repeated
descriptions.

Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20200929141454.2312-11-thunder.leizhen@huawei.com
Signed-off-by: Rob Herring <robh@kernel.org>
  • Loading branch information
Zhen Lei authored and Rob Herring committed Oct 1, 2020
1 parent 42f2445 commit f1d60fb
Show file tree
Hide file tree
Showing 5 changed files with 110 additions and 77 deletions.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/hisilicon/controller/sysctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Hisilicon system controller

maintainers:
- Wei Xu <xuwei5@hisilicon.com>

description: |
The Hisilicon system controller is used on many Hisilicon boards, it can be
used to assist the slave core startup, reboot the system, etc.
There are some variants of the Hisilicon system controller, such as HiP01,
Hi3519, Hi6220 system controller, each of them is mostly compatible with the
Hisilicon system controller, but some same registers located at different
offset. In addition, the HiP01 system controller has some specific control
registers for HIP01 SoC family, such as slave core boot.
The compatible names of each system controller are as follows:
Hisilicon system controller --> hisilicon,sysctrl
HiP01 system controller --> hisilicon,hip01-sysctrl
Hi6220 system controller --> hisilicon,hi6220-sysctrl
Hi3519 system controller --> hisilicon,hi3519-sysctrl
allOf:
- if:
properties:
compatible:
contains:
const: hisilicon,hi6220-sysctrl
then:
required:
- '#clock-cells'

properties:
compatible:
oneOf:
- items:
- enum:
- hisilicon,sysctrl
- hisilicon,hi6220-sysctrl
- hisilicon,hi3519-sysctrl
- const: syscon
- items:
- const: hisilicon,hip01-sysctrl
- const: hisilicon,sysctrl

reg:
maxItems: 1

smp-offset:
description: |
offset in sysctrl for notifying slave cpu booting
cpu 1, reg;
cpu 2, reg + 0x4;
cpu 3, reg + 0x8;
If reg value is not zero, cpun exit wfi and go
$ref: /schemas/types.yaml#/definitions/uint32

resume-offset:
description: offset in sysctrl for notifying cpu0 when resume
$ref: /schemas/types.yaml#/definitions/uint32

reboot-offset:
description: offset in sysctrl for system reboot
$ref: /schemas/types.yaml#/definitions/uint32

'#clock-cells':
const: 1

required:
- compatible
- reg

additionalProperties: false

examples:
- |
/* Hisilicon system controller */
system-controller@fc802000 {
compatible = "hisilicon,sysctrl", "syscon";
reg = <0xfc802000 0x1000>;
smp-offset = <0x31c>;
resume-offset = <0x308>;
reboot-offset = <0x4>;
};
/* HiP01 system controller */
system-controller@10000000 {
compatible = "hisilicon,hip01-sysctrl", "hisilicon,sysctrl";
reg = <0x10000000 0x1000>;
reboot-offset = <0x4>;
};
/* Hi6220 system controller */
system-controller@f7030000 {
compatible = "hisilicon,hi6220-sysctrl", "syscon";
reg = <0xf7030000 0x2000>;
#clock-cells = <1>;
};
/* Hi3519 system controller */
system-controller@12010000 {
compatible = "hisilicon,hi3519-sysctrl", "syscon";
reg = <0x12010000 0x1000>;
};
...
14 changes: 0 additions & 14 deletions Documentation/devicetree/bindings/arm/hisilicon/hi3519-sysctrl.txt

This file was deleted.

0 comments on commit f1d60fb

Please sign in to comment.