dt-bindings: Add devicetree bindings

Add snapshot of device tree bindings from keystone common kernel, branch
"android-mainline-keystone-qcom-release" at c4c12103f9c0 ("Snap for 9228065
from e32903b9a63bb558df8b803b076619c53c16baad to
android-mainline-keystone-qcom-release").

Change-Id: I7682079615cbd9f29340a5c1f2a1d84ec441a1f1
Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
This commit is contained in:
Melody Olvera
2023-04-03 14:38:11 -07:00
parent c334acf377
commit 6f18ce8026
4878 changed files with 424312 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/hisilicon/controller/cpuctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Hisilicon CPU controller
maintainers:
- Wei Xu <xuwei5@hisilicon.com>
description: |
The clock registers and power registers of secondary cores are defined
in CPU controller, especially in HIX5HD2 SoC.
properties:
compatible:
items:
- const: hisilicon,cpuctrl
reg:
maxItems: 1
"#address-cells":
const: 1
"#size-cells":
const: 1
ranges: true
required:
- compatible
- reg
additionalProperties:
type: object
examples:
- |
cpuctrl@a22000 {
compatible = "hisilicon,cpuctrl";
#address-cells = <1>;
#size-cells = <1>;
reg = <0x00a22000 0x2000>;
ranges = <0 0x00a22000 0x2000>;
clock: clock@0 {
compatible = "hisilicon,hix5hd2-clock";
reg = <0 0x2000>;
#clock-cells = <1>;
};
};
...

View File

@@ -0,0 +1,64 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/hisilicon/controller/hi3798cv200-perictrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Hisilicon Hi3798CV200 Peripheral Controller
maintainers:
- Wei Xu <xuwei5@hisilicon.com>
description: |
The Hi3798CV200 Peripheral Controller controls peripherals, queries
their status, and configures some functions of peripherals.
properties:
compatible:
items:
- const: hisilicon,hi3798cv200-perictrl
- const: syscon
- const: simple-mfd
reg:
maxItems: 1
"#address-cells":
const: 1
"#size-cells":
const: 1
ranges: true
required:
- compatible
- reg
- "#address-cells"
- "#size-cells"
- ranges
additionalProperties:
type: object
examples:
- |
peripheral-controller@8a20000 {
compatible = "hisilicon,hi3798cv200-perictrl", "syscon", "simple-mfd";
reg = <0x8a20000 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x8a20000 0x1000>;
phy@850 {
compatible = "hisilicon,hi3798cv200-combphy";
reg = <0x850 0x8>;
#phy-cells = <1>;
clocks = <&crg 42>;
resets = <&crg 0x188 4>;
assigned-clocks = <&crg 42>;
assigned-clock-rates = <100000000>;
hisilicon,fixed-mode = <4>;
};
};
...

View File

@@ -0,0 +1,68 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/hisilicon/controller/hi6220-domain-ctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Hisilicon Hi6220 domain controller
maintainers:
- Wei Xu <xuwei5@hisilicon.com>
description: |
Hisilicon designs some special domain controllers for mobile platform,
such as: the power Always On domain controller, the Media domain
controller(e.g. codec, G3D ...) and the Power Management domain
controller.
The compatible names of each domain controller are as follows:
Power Always ON domain controller --> hisilicon,hi6220-aoctrl
Media domain controller --> hisilicon,hi6220-mediactrl
Power Management domain controller --> hisilicon,hi6220-pmctrl
properties:
compatible:
items:
- enum:
- hisilicon,hi6220-aoctrl
- hisilicon,hi6220-mediactrl
- hisilicon,hi6220-pmctrl
- const: syscon
reg:
maxItems: 1
'#clock-cells':
const: 1
'#reset-cells':
const: 1
required:
- compatible
- reg
- '#clock-cells'
additionalProperties: false
examples:
- |
ao_ctrl@f7800000 {
compatible = "hisilicon,hi6220-aoctrl", "syscon";
reg = <0xf7800000 0x2000>;
#clock-cells = <1>;
#reset-cells = <1>;
};
media_ctrl@f4410000 {
compatible = "hisilicon,hi6220-mediactrl", "syscon";
reg = <0xf4410000 0x1000>;
#clock-cells = <1>;
};
pm_ctrl@f7032000 {
compatible = "hisilicon,hi6220-pmctrl", "syscon";
reg = <0xf7032000 0x1000>;
#clock-cells = <1>;
};
...

View File

@@ -0,0 +1,35 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/hisilicon/controller/hip04-bootwrapper.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Bootwrapper boot method
maintainers:
- Wei Xu <xuwei5@hisilicon.com>
description: Bootwrapper boot method (software protocol on SMP)
properties:
compatible:
items:
- const: hisilicon,hip04-bootwrapper
boot-method:
$ref: /schemas/types.yaml#/definitions/uint32-array
description: |
Address and size of boot method.
[0]: bootwrapper physical address
[1]: bootwrapper size
[2]: relocation physical address
[3]: relocation size
minItems: 2
maxItems: 4
required:
- compatible
- boot-method
additionalProperties: false
...

View File

@@ -0,0 +1,27 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/hisilicon/controller/hip04-fabric.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Hisilicon Fabric controller
maintainers:
- Wei Xu <xuwei5@hisilicon.com>
description: Hisilicon Fabric controller
properties:
compatible:
items:
- const: hisilicon,hip04-fabric
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
...

View File

@@ -0,0 +1,34 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/hisilicon/controller/pctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Peripheral misc control register
maintainers:
- Wei Xu <xuwei5@hisilicon.com>
description: Peripheral misc control register
properties:
compatible:
items:
- const: hisilicon,pctrl
reg:
maxItems: 1
required:
- compatible
- reg
additionalProperties: false
examples:
- |
pctrl@fca09000 {
compatible = "hisilicon,pctrl";
reg = <0xfca09000 0x1000>;
};
...

View File

@@ -0,0 +1,132 @@
# 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
'#reset-cells':
const: 1
'#address-cells':
const: 1
'#size-cells':
const: 1
ranges: true
required:
- compatible
- reg
additionalProperties:
type: object
examples:
- |
/* Hisilicon system controller */
system-controller@802000 {
compatible = "hisilicon,sysctrl", "syscon";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x802000 0x1000>;
reg = <0x802000 0x1000>;
smp-offset = <0x31c>;
resume-offset = <0x308>;
reboot-offset = <0x4>;
clock: clock@0 {
compatible = "hisilicon,hi3620-clock";
reg = <0 0x10000>;
#clock-cells = <1>;
};
};
/* 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>;
};
...