Commit b7590f38 authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Georgi Djakov

dt-bindings: interconnect: qcom,msm8998-bwmon: Resolve MSM8998 support

BWMONv4 has two sets of registers: one for handling the monitor itself
and one called "global" which hosts some sort of a headswitch and an
interrupt control register. We did not handle that one before, as on
SoCs starting with SDM845 they have been merged into a single contiguous
range.

To make the qcom,msm8998-bwmon less confusing and in preparation for
actual MSM8998 support, describe the global register space and introduce
new "qcom,sdm845-cpu-bwmon" compatible while keeping the
"qcom,sdm845-bwmon" as a fallback for SoCs with this merged register space
scheme.
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230304-topic-ddr_bwmon-v3-1-77a050c2fbda@linaro.orgSigned-off-by: default avatarGeorgi Djakov <djakov@kernel.org>
parent e0c35141
...@@ -22,14 +22,14 @@ description: | ...@@ -22,14 +22,14 @@ description: |
properties: properties:
compatible: compatible:
oneOf: oneOf:
- const: qcom,msm8998-bwmon # BWMON v4
- items: - items:
- enum: - enum:
- qcom,sc7280-cpu-bwmon - qcom,sc7280-cpu-bwmon
- qcom,sc8280xp-cpu-bwmon - qcom,sc8280xp-cpu-bwmon
- qcom,sdm845-bwmon - qcom,sdm845-cpu-bwmon
- qcom,sm8550-cpu-bwmon - qcom,sm8550-cpu-bwmon
- const: qcom,msm8998-bwmon - const: qcom,sdm845-bwmon # BWMON v4, unified register space
- const: qcom,msm8998-bwmon # BWMON v4
- items: - items:
- enum: - enum:
- qcom,sc8280xp-llcc-bwmon - qcom,sc8280xp-llcc-bwmon
...@@ -49,9 +49,13 @@ properties: ...@@ -49,9 +49,13 @@ properties:
type: object type: object
reg: reg:
# BWMON v4 (currently described) and BWMON v5 use one register address # BWMON v5 uses one register address space, v1-v4 use one or two.
# space. BWMON v2 uses two register spaces - not yet described. minItems: 1
maxItems: 1 maxItems: 2
reg-names:
minItems: 1
maxItems: 2
required: required:
- compatible - compatible
...@@ -63,13 +67,36 @@ required: ...@@ -63,13 +67,36 @@ required:
additionalProperties: false additionalProperties: false
allOf:
- if:
properties:
compatible:
const: qcom,msm8998-bwmon
then:
properties:
reg:
minItems: 2
reg-names:
items:
- const: monitor
- const: global
else:
properties:
reg:
maxItems: 1
reg-names:
maxItems: 1
examples: examples:
- | - |
#include <dt-bindings/interconnect/qcom,sdm845.h> #include <dt-bindings/interconnect/qcom,sdm845.h>
#include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/interrupt-controller/arm-gic.h>
pmu@1436400 { pmu@1436400 {
compatible = "qcom,sdm845-bwmon", "qcom,msm8998-bwmon"; compatible = "qcom,sdm845-cpu-bwmon", "qcom,sdm845-bwmon";
reg = <0x01436400 0x600>; reg = <0x01436400 0x600>;
interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>;
interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_LLCC 3>; interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_LLCC 3>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment