@@ -79,8 +79,6 @@ allOf:
- qcom,msm8916-snoc
- qcom,msm8939-bimc
- qcom,msm8939-pcnoc
- - qcom,msm8939-snoc
- - qcom,msm8939-snoc-mm
- qcom,msm8996-a1noc
- qcom,msm8996-a2noc
- qcom,msm8996-bimc
@@ -182,6 +180,29 @@ allOf:
- description: Aggregate2 USB3 AXI Clock.
- description: Config NoC USB2 AXI Clock.
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,msm8939-snoc
+
+ then:
+ properties:
+ clock-names:
+ items:
+ - const: bus
+ - const: bus_a
+ - const: bus_mm
+ - const: bus_a_mm
+
+ clocks:
+ items:
+ - description: Bus Clock.
+ - description: Bus A Clock.
+ - description: Bus Clock MultiMedia.
+ - description: Bus A Clock MultiMedia.
+
examples:
- |
#include <dt-bindings/clock/qcom,rpmcc.h>
Subsume msm8939-snoc-mm and msm8939-snoc into the one device. Looking at the DTS description for this downstream we see that snoc and snoc_mm share the same address space, the same clocks, indeed the only hint at all in qcom documentation these to are separate in anyway is boxes drawn on a diagram. snoc_mm is in fact simply two higher performance points for multimedia devices tacked onto the msm8916 snoc which was reused for msm8936/msm8939. The various client IP blocks make requests to vote for either X0 or GPLL0 clock rates with the multi-media votes indicating a higher operating point. We don't need to model snoc and snoc_mm separately since the datasheet for this part shows snoc_mm is not a separate device. Breaking up snoc into two pieces is a mistake that was made downstream which we carried over into upstream. Cc: Rob Herring <robh+dt@kernel.org> Cc: devicetree@vger.kernel.org Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- .../bindings/interconnect/qcom,rpm.yaml | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-)