On Sat, 11 Mar 2023 02:21:31 +0100, Konrad Dybcio wrote: > The RPM Message RAM is a part of the RPM low-power core's RAM that's a > MMIO-mapped region from the main ARM CPUs' POV. It contains sleep stats > divided per "RPM master" (ARM cluster, *DSP, ...), an interrupt controller > (MPM) that's vital in the low-power mode entry/exit sequence, as it > signals the readiness to enter sleep, replays the interrupts after a total > power collapse recovery and is able to receive external interrupts from > other IPs (like the PMIC, TSENS and USB) on the SoC to initiate a wakeup > sequence. > > On top of that, it contains some regions that are (ab)used by SMEM (by > design!), but we're not completely sure what ranges are r/w to/from. > This would probably need to be determined on a SoC-by-SoC - or even worse > - firmware-by-firmware basis, but since this region is quite "wild west" > by design (it may be accessed and altered in one form or another by all of > the subsystems at the same time) this shouldn't really worry us.. > > Split out the bindings and re-model it as a simple-mfd to allow for better > representation of the partitions within and allow child devices (MPM, > master sleep stats - coming soon). > > Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > --- > .../devicetree/bindings/mfd/qcom,rpm-msg-ram.yaml | 82 ++++++++++++++++++++++ > Documentation/devicetree/bindings/sram/sram.yaml | 2 - > 2 files changed, 82 insertions(+), 2 deletions(-) > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/soc/qcom/qcom,smem.example.dtb: sram@fc428000: compatible: ['qcom,rpm-msg-ram'] is too short From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/qcom,rpm-msg-ram.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/qcom,rpm-msg-ram.example.dtb: sram@45f0000: interrupt-controller@1b8: 'oneOf' conditional failed, one must be fixed: '#power-domain-cells' does not match any of the regexes: 'pinctrl-[0-9]+' From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/qcom,rpm-msg-ram.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/qcom,rpm-msg-ram.example.dtb: interrupt-controller@1b8: '#power-domain-cells' does not match any of the regexes: 'pinctrl-[0-9]+' From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/interrupt-controller/qcom,mpm.yaml doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230311-topic-msg_ram-v1-1-e9c2094daf09@xxxxxxxxxx The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.