linux-loongson/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
Krzysztof Kozlowski b92f05bc61 dt-bindings: mailbox: Drop consumers example DTS
Providers DTS examples should not contain consumer nodes, because they
are completely redundant, obvious (defined in common schema) and add
unnecessary bloat.  Drop consumer examples and unneeded node labels.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Nishanth Menon <nm@ti.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
2025-08-06 12:45:05 -05:00

292 lines
7.3 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm APCS global block
description:
This binding describes the APCS "global" block found in various Qualcomm
platforms.
maintainers:
- Jassi Brar <jassisinghbrar@gmail.com>
properties:
compatible:
oneOf:
- items:
- enum:
- qcom,ipq5018-apcs-apps-global
- qcom,ipq5332-apcs-apps-global
- qcom,ipq5424-apcs-apps-global
- qcom,ipq8074-apcs-apps-global
- qcom,ipq9574-apcs-apps-global
- const: qcom,ipq6018-apcs-apps-global
- items:
- enum:
- qcom,msm8226-apcs-kpss-global
- qcom,qcs404-apcs-apps-global
- const: qcom,msm8916-apcs-kpss-global
- const: syscon
- items:
- enum:
- qcom,msm8974-apcs-kpss-global
- qcom,msm8976-apcs-kpss-global
- const: qcom,msm8994-apcs-kpss-global
- const: syscon
- items:
- enum:
- qcom,msm8998-apcs-hmss-global
- qcom,sdm660-apcs-hmss-global
- qcom,sm4250-apcs-hmss-global
- qcom,sm6115-apcs-hmss-global
- qcom,sm6125-apcs-hmss-global
- const: qcom,msm8994-apcs-kpss-global
- items:
- enum:
- qcom,qcs615-apss-shared
- qcom,sc7180-apss-shared
- qcom,sc8180x-apss-shared
- qcom,sm7150-apss-shared
- qcom,sm8150-apss-shared
- const: qcom,sdm845-apss-shared
- items:
- enum:
- qcom,msm8916-apcs-kpss-global
- qcom,msm8939-apcs-kpss-global
- qcom,msm8953-apcs-kpss-global
- qcom,msm8994-apcs-kpss-global
- qcom,sdx55-apcs-gcc
- const: syscon
- enum:
- qcom,ipq6018-apcs-apps-global
- qcom,msm8996-apcs-hmss-global
- qcom,qcm2290-apcs-hmss-global
- qcom,sdm845-apss-shared
reg:
maxItems: 1
clocks:
description: phandles to the parent clocks of the clock driver
minItems: 2
maxItems: 3
deprecated: true
'#mbox-cells':
const: 1
'#clock-cells':
enum: [0, 1]
clock-names:
minItems: 2
maxItems: 3
deprecated: true
clock-controller:
type: object
additionalProperties: false
properties:
clocks:
description: phandles to the parent clocks of the clock driver
minItems: 2
maxItems: 3
'#clock-cells':
enum: [0, 1]
clock-names:
minItems: 2
maxItems: 3
required:
- compatible
- reg
- '#mbox-cells'
additionalProperties: false
# Clocks should be specified either on the parent node or on the child node
oneOf:
- required:
- clock-controller
properties:
clocks: false
clock-names: false
'#clock-cells': false
- properties:
clock-controller: false
$defs:
msm8916-apcs-clock-controller:
properties:
clocks:
items:
- description: primary pll parent of the clock driver
- description: auxiliary parent
clock-names:
items:
- const: pll
- const: aux
'#clock-cells':
const: 0
msm8939-apcs-clock-controller:
properties:
clocks:
items:
- description: primary pll parent of the clock driver
- description: auxiliary parent
- description: reference clock
clock-names:
items:
- const: pll
- const: aux
- const: ref
'#clock-cells':
const: 0
sdx55-apcs-clock-controller:
properties:
clocks:
items:
- description: reference clock
- description: primary pll parent of the clock driver
- description: auxiliary parent
clock-names:
items:
- const: ref
- const: pll
- const: aux
'#clock-cells':
const: 0
ipq6018-apcs-clock-controller:
properties:
clocks:
items:
- description: primary pll parent of the clock driver
- description: XO clock
- description: GCC GPLL0 clock source
clock-names:
items:
- const: pll
- const: xo
- const: gpll0
'#clock-cells':
const: 1
allOf:
- if:
properties:
compatible:
contains:
enum:
- qcom,msm8916-apcs-kpss-global
then:
$ref: "#/$defs/msm8916-apcs-clock-controller"
properties:
clock-controller:
$ref: "#/$defs/msm8916-apcs-clock-controller"
- if:
properties:
compatible:
contains:
enum:
- qcom,msm8939-apcs-kpss-global
then:
$ref: "#/$defs/msm8939-apcs-clock-controller"
properties:
clock-controller:
$ref: "#/$defs/msm8939-apcs-clock-controller"
- if:
properties:
compatible:
contains:
enum:
- qcom,sdx55-apcs-gcc
then:
$ref: "#/$defs/sdx55-apcs-clock-controller"
properties:
clock-controller:
$ref: "#/$defs/sdx55-apcs-clock-controller"
- if:
properties:
compatible:
contains:
enum:
- qcom,ipq6018-apcs-apps-global
then:
$ref: "#/$defs/ipq6018-apcs-clock-controller"
properties:
clock-controller:
$ref: "#/$defs/ipq6018-apcs-clock-controller"
- if:
properties:
compatible:
contains:
enum:
- qcom,msm8953-apcs-kpss-global
- qcom,msm8994-apcs-kpss-global
- qcom,msm8996-apcs-hmss-global
- qcom,qcm2290-apcs-hmss-global
- qcom,sdm845-apss-shared
then:
properties:
clocks: false
clock-names: false
clock-controller: false
'#clock-cells':
const: 0
examples:
# Example apcs with msm8996
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
mailbox@9820000 {
compatible = "qcom,msm8996-apcs-hmss-global";
reg = <0x9820000 0x1000>;
#mbox-cells = <1>;
#clock-cells = <0>;
};
# Example apcs with qcs404
- |
#define GCC_APSS_AHB_CLK_SRC 1
#define GCC_GPLL0_AO_OUT_MAIN 123
mailbox@b011000 {
compatible = "qcom,qcs404-apcs-apps-global",
"qcom,msm8916-apcs-kpss-global", "syscon";
reg = <0x0b011000 0x1000>;
#mbox-cells = <1>;
apcs_clk: clock-controller {
clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
clock-names = "pll", "aux";
#clock-cells = <0>;
};
};
# Example apcs with qcs404 (deprecated: use clock-controller subnode)
- |
#define GCC_APSS_AHB_CLK_SRC 1
#define GCC_GPLL0_AO_OUT_MAIN 123
apcs: mailbox@b011000 {
compatible = "qcom,qcs404-apcs-apps-global",
"qcom,msm8916-apcs-kpss-global", "syscon";
reg = <0x0b011000 0x1000>;
#mbox-cells = <1>;
clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
clock-names = "pll", "aux";
#clock-cells = <0>;
};