Quoting Maulik Shah (2020-02-21 00:49:43) > diff --git a/Documentation/devicetree/bindings/soc/qcom/soc-sleep-stats.yaml b/Documentation/devicetree/bindings/soc/qcom/soc-sleep-stats.yaml > new file mode 100644 > index 00000000..50352a4 > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/qcom/soc-sleep-stats.yaml > @@ -0,0 +1,47 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/bindings/soc/qcom/soc-sleep-stats.yaml# Drop 'bindings' from above? > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Technologies, Inc. (QTI) SoC sleep stats bindings > + > +maintainers: > + - Maulik Shah <mkshah@xxxxxxxxxxxxxx> > + - Lina Iyer <ilina@xxxxxxxxxxxxxx> > + > +description: | > + Always On Processor/Resource Power Manager maintains statistics of the SoC > + sleep modes involving powering down of the rails and oscillator clock. > + > + Statistics includes SoC sleep mode type, number of times low power mode were > + entered, time of last entry, time of last exit and accumulated sleep duration. > + SoC sleep stats driver provides debugfs interface to show this information. Please remove this last line. It is a Linuxism that doesn't belong in DT bindings. And then make it one paragraph and drop the | because formatting doesn't need to be maintained. > + > +properties: > + compatible: > + enum: > + - qcom,rpmh-sleep-stats > + - qcom,rpm-sleep-stats > + > + reg: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + > +examples: > + # Example of rpmh sleep stats > + - | > + rpmh_sleep_stats: soc-sleep-stats@c3f0000 { > + compatible = "qcom,rpmh-sleep-stats"; > + reg = <0 0xc3f0000 0 0x400>; > + }; I see that on sc7180 aoss-qmp is overlapping with this region. aoss_qmp: qmp@c300000 { compatible = "qcom,sc7180-aoss-qmp"; reg = <0 0x0c300000 0 0x100000>; So is this register region really something more like a TCM or RAM area where rpmh combines multiple software concepts into one hardware memory region? The aoss-qmp driver talks about message RAM, so I think this sleep stats stuff is a carveout of the RPMh message RAM. It seems OK if we want to split that message RAM up into multiple DT nodes, but then we'll need to reduce the reg size for the aoss-qmp node. Finally, the node name 'soc-sleep-stats' is generic, but I wonder why we couldn't name the node 'tcm' or 'memory' or 'msgram'. Similarly for the qmp node it fits better DT style to have the node be something generic. > + # Example of rpm sleep stats > + - | > + rpm_sleep_stats: soc-sleep-stats@4690000 { > + compatible = "qcom,rpm-sleep-stats"; > + reg = <0 0x04690000 0 0x400>; > + }; > +...