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:
73
bindings/spmi/hisilicon,hisi-spmi-controller.yaml
Normal file
73
bindings/spmi/hisilicon,hisi-spmi-controller.yaml
Normal file
@@ -0,0 +1,73 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/spmi/hisilicon,hisi-spmi-controller.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: HiSilicon SPMI controller
|
||||
|
||||
maintainers:
|
||||
- Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|
||||
|
||||
description: |
|
||||
The HiSilicon SPMI BUS controller is found on some Kirin-based designs.
|
||||
It is a MIPI System Power Management (SPMI) controller.
|
||||
|
||||
The PMIC part is provided by
|
||||
./Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml.
|
||||
|
||||
allOf:
|
||||
- $ref: spmi.yaml#
|
||||
|
||||
properties:
|
||||
|
||||
$nodename:
|
||||
pattern: "spmi@[0-9a-f]"
|
||||
|
||||
compatible:
|
||||
const: hisilicon,kirin970-spmi-controller
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
hisilicon,spmi-channel:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
number of the Kirin 970 SPMI channel where the SPMI devices are connected.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- hisilicon,spmi-channel
|
||||
|
||||
patternProperties:
|
||||
"@[0-9a-f]$":
|
||||
type: object
|
||||
|
||||
description: |
|
||||
PMIC properties, which are specific to the used SPMI PMIC device(s).
|
||||
When used in combination with HiSilicon 6421v600, the properties
|
||||
are documented at
|
||||
drivers/staging/hikey9xx/hisilicon,hi6421-spmi-pmic.yaml.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
bus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
spmi: spmi@fff24000 {
|
||||
compatible = "hisilicon,kirin970-spmi-controller";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0xfff24000 0x0 0x1000>;
|
||||
hisilicon,spmi-channel = <2>;
|
||||
|
||||
pmic@0 {
|
||||
reg = <0 0>;
|
||||
/* pmic properties */
|
||||
};
|
||||
};
|
||||
};
|
76
bindings/spmi/mtk,spmi-mtk-pmif.yaml
Normal file
76
bindings/spmi/mtk,spmi-mtk-pmif.yaml
Normal file
@@ -0,0 +1,76 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/spmi/mtk,spmi-mtk-pmif.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Mediatek SPMI Controller
|
||||
|
||||
maintainers:
|
||||
- Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>
|
||||
|
||||
description: |+
|
||||
On MediaTek SoCs the PMIC is connected via SPMI and the controller allows
|
||||
for multiple SoCs to control a single SPMI master.
|
||||
|
||||
allOf:
|
||||
- $ref: "spmi.yaml"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- mediatek,mt6873-spmi
|
||||
- mediatek,mt8195-spmi
|
||||
|
||||
reg:
|
||||
maxItems: 2
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: pmif
|
||||
- const: spmimst
|
||||
|
||||
clocks:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: pmif_sys_ck
|
||||
- const: pmif_tmr_ck
|
||||
- const: spmimst_clk_mux
|
||||
|
||||
assigned-clocks:
|
||||
maxItems: 1
|
||||
|
||||
assigned-clock-parents:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/mt8192-clk.h>
|
||||
|
||||
spmi: spmi@10027000 {
|
||||
compatible = "mediatek,mt6873-spmi";
|
||||
reg = <0x10027000 0xe00>,
|
||||
<0x10029000 0x100>;
|
||||
reg-names = "pmif", "spmimst";
|
||||
clocks = <&infracfg CLK_INFRA_PMIC_AP>,
|
||||
<&infracfg CLK_INFRA_PMIC_TMR>,
|
||||
<&topckgen CLK_TOP_SPMI_MST_SEL>;
|
||||
clock-names = "pmif_sys_ck",
|
||||
"pmif_tmr_ck",
|
||||
"spmimst_clk_mux";
|
||||
assigned-clocks = <&topckgen CLK_TOP_PWRAP_ULPOSC_SEL>;
|
||||
assigned-clock-parents = <&topckgen CLK_TOP_OSC_D10>;
|
||||
};
|
||||
...
|
117
bindings/spmi/qcom,spmi-pmic-arb.yaml
Normal file
117
bindings/spmi/qcom,spmi-pmic-arb.yaml
Normal file
@@ -0,0 +1,117 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/spmi/qcom,spmi-pmic-arb.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm SPMI Controller (PMIC Arbiter)
|
||||
|
||||
maintainers:
|
||||
- Stephen Boyd <sboyd@kernel.org>
|
||||
|
||||
description: |
|
||||
The SPMI PMIC Arbiter is found on Snapdragon chipsets. It is an SPMI
|
||||
controller with wrapping arbitration logic to allow for multiple on-chip
|
||||
devices to control a single SPMI master.
|
||||
|
||||
The PMIC Arbiter can also act as an interrupt controller, providing interrupts
|
||||
to slave devices.
|
||||
|
||||
allOf:
|
||||
- $ref: spmi.yaml
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,spmi-pmic-arb
|
||||
|
||||
reg:
|
||||
oneOf:
|
||||
- items: # V1
|
||||
- description: core registers
|
||||
- description: interrupt controller registers
|
||||
- description: configuration registers
|
||||
- items: # V2
|
||||
- description: core registers
|
||||
- description: tx-channel per virtual slave regosters
|
||||
- description: rx-channel (called observer) per virtual slave registers
|
||||
- description: interrupt controller registers
|
||||
- description: configuration registers
|
||||
|
||||
reg-names:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: core
|
||||
- const: intr
|
||||
- const: cnfg
|
||||
- items:
|
||||
- const: core
|
||||
- const: chnls
|
||||
- const: obsrvr
|
||||
- const: intr
|
||||
- const: cnfg
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
interrupt-names:
|
||||
const: periph_irq
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
'#address-cells': true
|
||||
|
||||
'#interrupt-cells':
|
||||
const: 4
|
||||
description: |
|
||||
cell 1: slave ID for the requested interrupt (0-15)
|
||||
cell 2: peripheral ID for requested interrupt (0-255)
|
||||
cell 3: the requested peripheral interrupt (0-7)
|
||||
cell 4: interrupt flags indicating level-sense information,
|
||||
as defined in dt-bindings/interrupt-controller/irq.h
|
||||
|
||||
'#size-cells': true
|
||||
|
||||
qcom,ee:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 5
|
||||
description: >
|
||||
indicates the active Execution Environment identifier
|
||||
|
||||
qcom,channel:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 5
|
||||
description: >
|
||||
which of the PMIC Arb provided channels to use for accesses
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg-names
|
||||
- qcom,ee
|
||||
- qcom,channel
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spmi@fc4cf000 {
|
||||
compatible = "qcom,spmi-pmic-arb";
|
||||
reg-names = "core", "intr", "cnfg";
|
||||
reg = <0xfc4cf000 0x1000>,
|
||||
<0xfc4cb000 0x1000>,
|
||||
<0xfc4ca000 0x1000>;
|
||||
|
||||
interrupt-names = "periph_irq";
|
||||
interrupts = <0 190 0>;
|
||||
|
||||
qcom,ee = <0>;
|
||||
qcom,channel = <0>;
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <4>;
|
||||
};
|
||||
|
75
bindings/spmi/spmi.yaml
Normal file
75
bindings/spmi/spmi.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/spmi/spmi.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: System Power Management Interface (SPMI) Controller
|
||||
|
||||
maintainers:
|
||||
- Stephen Boyd <sboyd@kernel.org>
|
||||
|
||||
description: |
|
||||
The System Power Management (SPMI) controller is a 2-wire bus defined
|
||||
by the MIPI Alliance for power management control to be used on SoC designs.
|
||||
|
||||
SPMI controllers are modelled in device tree using a generic set of
|
||||
bindings defined here, plus any bus controller specific properties, if
|
||||
needed.
|
||||
|
||||
Each SPMI controller has zero or more child nodes (up to 16 ones), each
|
||||
one representing an unique slave at the bus.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^spmi@.*"
|
||||
|
||||
"#address-cells":
|
||||
const: 2
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"@[0-9a-f]$":
|
||||
description: up to 16 child PMIC nodes
|
||||
type: object
|
||||
|
||||
properties:
|
||||
reg:
|
||||
items:
|
||||
- minItems: 1
|
||||
items:
|
||||
- minimum: 0
|
||||
maximum: 0xf
|
||||
- enum: [ 0 ]
|
||||
description:
|
||||
0 means user ID address. 1 is reserved for group ID
|
||||
address.
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
spmi@0 {
|
||||
reg = <0 0>;
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
child@0 {
|
||||
reg = <0 SPMI_USID>;
|
||||
};
|
||||
|
||||
child@7 {
|
||||
reg = <7 SPMI_USID>;
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user