devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Resolve MPM register space situation
@ 2023-04-05 10:48 Konrad Dybcio
  2023-04-05 10:48 ` [PATCH v2 1/2] dt-bindings: interrupt-controller: mpm: Pass MSG RAM slice through phandle Konrad Dybcio
  2023-04-05 10:48 ` [PATCH v2 2/2] irqchip: irq-qcom-mpm: Support passing a slice of SRAM as reg space Konrad Dybcio
  0 siblings, 2 replies; 18+ messages in thread
From: Konrad Dybcio @ 2023-04-05 10:48 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Thomas Gleixner, Marc Zyngier,
	Rob Herring, Krzysztof Kozlowski, Shawn Guo
  Cc: Marijn Suijten, linux-arm-msm, linux-kernel, devicetree,
	Konrad Dybcio

v1 -> v2:
- deprecate 'reg', make qcom,rpm-msg-ram required [1/2]
- Use devm_ioremap() [2/2]

Link to v1: https://lore.kernel.org/r/20230328-topic-msgram_mpm-v1-0-1b788a5f5a33@linaro.org

Depends on resolution of https://github.com/devicetree-org/dt-schema/issues/104

The MPM (and some other things, irrelevant to this patchset) resides
(as far as the ARM cores are concerned, anyway) in a MMIO-mapped region
that's a portion of the RPM (low-power management core)'s RAM, known
as the RPM Message RAM. Representing this relation in the Device Tree
creates some challenges, as one would either have to treat a memory
region as a bus, map nodes in a way such that their reg-s would be
overlapping, or supply the nodes with a slice of that region.

This series implements the third option, by adding a qcom,rpm-msg-ram
property, which has been used for some drivers poking into this region
before. Bindings ABI compatibility is preserved through keeping the
"normal" (a.k.a read the reg property and map that region) way of
passing the register space.

Example representation with this patchset:

/ {
	[...]

	mpm: interrupt-controller {
		compatible = "qcom,mpm";
		qcom,rpm-msg-ram = <&apss_mpm>;
		[...]
	};

	[...]

	soc: soc@0 {
		[...]

		rpm_msg_ram: sram@45f0000 {
			compatible = "qcom,rpm-msg-ram", "mmio-sram";
			reg = <0 0x045f0000 0 0x7000>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0 0x0 0x045f0000 0x7000>;

			apss_mpm: sram@1b8 {
				reg = <0x1b8 0x48>;
			};
		};
	};
};

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Konrad Dybcio (2):
      dt-bindings: interrupt-controller: mpm: Pass MSG RAM slice through phandle
      irqchip: irq-qcom-mpm: Support passing a slice of SRAM as reg space

 .../bindings/interrupt-controller/qcom,mpm.yaml     | 12 +++++++++---
 drivers/irqchip/irq-qcom-mpm.c                      | 21 ++++++++++++++++++---
 2 files changed, 27 insertions(+), 6 deletions(-)
---
base-commit: 8417c8f5007bf4567ccffda850a3157c7d905f67
change-id: 20230328-topic-msgram_mpm-c688be3bc294

Best regards,
-- 
Konrad Dybcio <konrad.dybcio@linaro.org>


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2023-05-18 12:54 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-05 10:48 [PATCH v2 0/2] Resolve MPM register space situation Konrad Dybcio
2023-04-05 10:48 ` [PATCH v2 1/2] dt-bindings: interrupt-controller: mpm: Pass MSG RAM slice through phandle Konrad Dybcio
2023-04-05 12:22   ` Rob Herring
2023-04-05 13:47     ` Rob Herring
2023-04-05 13:49       ` Konrad Dybcio
2023-04-06 17:45         ` Krzysztof Kozlowski
2023-04-06 19:55           ` Konrad Dybcio
2023-04-07  7:00             ` Krzysztof Kozlowski
2023-04-07 11:36             ` Stephan Gerhold
2023-04-12 11:47               ` Konrad Dybcio
2023-04-12 11:55                 ` Krzysztof Kozlowski
2023-04-12 12:09                   ` Konrad Dybcio
2023-04-12 16:53                     ` Krzysztof Kozlowski
2023-04-12 17:06                       ` Konrad Dybcio
2023-04-13  8:50                         ` Krzysztof Kozlowski
2023-05-18 12:54                           ` Konrad Dybcio
2023-04-05 10:48 ` [PATCH v2 2/2] irqchip: irq-qcom-mpm: Support passing a slice of SRAM as reg space Konrad Dybcio
2023-04-06  4:08   ` Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).