diff mbox

[6/6] ARM: dts: exynos5420: add sysmmu nodes

Message ID 1433153450-3680-7-git-send-email-m.szyprowski@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Marek Szyprowski June 1, 2015, 10:10 a.m. UTC
This patch adds System MMU nodes to all defined devices that are specific
to Exynos5420/5800/5422 series.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 arch/arm/boot/dts/exynos5420.dtsi | 183 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 183 insertions(+)

Comments

Ben Gamari June 1, 2015, 7:12 p.m. UTC | #1
On 06/01/2015 06:10 AM, Marek Szyprowski wrote:
> This patch adds System MMU nodes to all defined devices that are specific
> to Exynos5420/5800/5422 series.

Apologies in advance if Thunderbird mangles this message; my usual mail 
configuration has suffered an unfortunate run-in with a mug of tea.

As someone who has devoted a few weekends trying to make the mainline 
kernel usable on an Odroid XU2, I can't help but notice that nearly 
every patchset that has hit this list recently excludes the Exynos 541x 
devices, including series which appear to go out of their way to support 
older devices. I would attribute this to the lack of publicly accessible 
documentation, but many of these patches are coming from Samsung 
employees.  Worse, the few patches that have been submitted for the 5410 
have languished in queue-purgatory. What is going on with support for 
this silicon?

These devices really aren't that old but if Samsung insists that they 
aren't worth putting engineering time towards then perhaps they could at 
least release documentation? The Hardkernel folks are on the record[2] 
as saying there was a document under review. Perhaps this document could 
be quickly trimmed into a disclosable state? Even a quick-and-dirty 
documentation release would help my efforts substantially.

Cheers,

- Ben


[1] https://github.com/bgamari/linux/commits/odroid-3.19
[2] http://forum.odroid.com/viewtopic.php?f=65&t=1932#p20457

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Krzysztof Kozlowski June 1, 2015, 11:51 p.m. UTC | #2
2015-06-02 4:12 GMT+09:00 Ben Gamari <ben@smart-cactus.org>:
> On 06/01/2015 06:10 AM, Marek Szyprowski wrote:
>>
>> This patch adds System MMU nodes to all defined devices that are specific
>> to Exynos5420/5800/5422 series.
>
>

(...)

> Worse, the few patches
> that have been submitted for the 5410 have languished in queue-purgatory.

What patches do you have in mind?

Beside of that actually many submissions for different Exynos SoCs and
parts of it were ignored on the list. It is a pity because that means
someone's effort got lost.
Recently I tried to help in that matter and replied to some emails
about resubmitting. If you have anything pending just please let me
know.

To make it clear - I am speaking for myself, not for any company or
employer. Also I do not know anything about other people's motivation
behind doing patches only for chosen SoCs. I leave these questions to
them.

Best regards,
Krzysztof
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ben Gamari June 2, 2015, 8:13 a.m. UTC | #3
On 06/01/2015 07:51 PM, Krzysztof Koz?owski wrote:
> 2015-06-02 4:12 GMT+09:00 Ben Gamari <ben@smart-cactus.org>:
> (...)
>
>> Worse, the few patches
>> that have been submitted for the 5410 have languished in queue-purgatory.
> What patches do you have in mind?
Hmm, my apologies; I guess the reference was dropped somewhere. In 
particular I was referring to this set[1], which added pinctrl support 
for the 5410 and a devicetree for the Odroid XU.

Cheers,

- Ben


[1] 
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-March/330819.html

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Krzysztof Kozlowski June 2, 2015, 8:26 a.m. UTC | #4
2015-06-02 17:13 GMT+09:00 Ben Gamari <ben@smart-cactus.org>:
>
>
> On 06/01/2015 07:51 PM, Krzysztof Koz?owski wrote:
>>
>> 2015-06-02 4:12 GMT+09:00 Ben Gamari <ben@smart-cactus.org>:
>> (...)
>>
>>> Worse, the few patches
>>> that have been submitted for the 5410 have languished in queue-purgatory.
>>
>> What patches do you have in mind?
>
> Hmm, my apologies; I guess the reference was dropped somewhere. In
> particular I was referring to this set[1], which added pinctrl support for
> the 5410 and a devicetree for the Odroid XU.

Thanks. I will take a look at them.

If you have any other stuff which was missed/skipped/ignored, don't
hesitate to resend (if you're the author) or ping.

Best regards,
Krzysztof


> Cheers,
>
> - Ben
>
>
> [1]
> http://lists.infradead.org/pipermail/linux-arm-kernel/2015-March/330819.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ben Gamari June 4, 2015, 7:28 p.m. UTC | #5
On 06/01/2015 03:12 PM, Ben Gamari wrote:
> On 06/01/2015 06:10 AM, Marek Szyprowski wrote:
>> This patch adds System MMU nodes to all defined devices that are specific
>> to Exynos5420/5800/5422 series.
>
> Apologies in advance if Thunderbird mangles this message; my usual mail
> configuration has suffered an unfortunate run-in with a mug of tea.
>
> As someone who has devoted a few weekends trying to make the mainline
> kernel usable on an Odroid XU2, I can't help but notice that nearly
> every patchset that has hit this list recently excludes the Exynos 541x
> devices, including series which appear to go out of their way to support
> older devices. I would attribute this to the lack of publicly accessible
> documentation, but many of these patches are coming from Samsung
> employees.  Worse, the few patches that have been submitted for the 5410
> have languished in queue-purgatory. What is going on with support for
> this silicon?
>
> These devices really aren't that old but if Samsung insists that they
> aren't worth putting engineering time towards then perhaps they could at
> least release documentation? The Hardkernel folks are on the record[2]
> as saying there was a document under review. Perhaps this document could
> be quickly trimmed into a disclosable state? Even a quick-and-dirty
> documentation release would help my efforts substantially.
>
Could someone from Samsung please provide some sort of feedback here? It 
would be greatly appreciated.

Thanks,

- Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index d0be412dfbea..534f27ceb10b 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -179,6 +179,8 @@ 
 		clocks = <&clock CLK_MFC>;
 		clock-names = "mfc";
 		power-domains = <&mfc_pd>;
+		iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
+		iommu-names = "left", "right";
 	};
 
 	mmc_0: mmc@12200000 {
@@ -713,6 +715,7 @@ 
 			 <&clock CLK_SCLK_HDMI>;
 		clock-names = "mixer", "hdmi", "sclk_hdmi";
 		power-domains = <&disp_pd>;
+		iommus = <&sysmmu_tv>;
 	};
 
 	gsc_0: video-scaler@13e00000 {
@@ -722,6 +725,7 @@ 
 		clocks = <&clock CLK_GSCL0>;
 		clock-names = "gscl";
 		power-domains = <&gsc_pd>;
+		iommus = <&sysmmu_gscl0>;
 	};
 
 	gsc_1: video-scaler@13e10000 {
@@ -731,6 +735,7 @@ 
 		clocks = <&clock CLK_GSCL1>;
 		clock-names = "gscl";
 		power-domains = <&gsc_pd>;
+		iommus = <&sysmmu_gscl1>;
 	};
 
 	jpeg_0: jpeg@11F50000 {
@@ -739,6 +744,7 @@ 
 		interrupts = <0 89 0>;
 		clock-names = "jpeg";
 		clocks = <&clock CLK_JPEG>;
+		iommus = <&sysmmu_jpeg0>;
 	};
 
 	jpeg_1: jpeg@11F60000 {
@@ -747,6 +753,7 @@ 
 		interrupts = <0 168 0>;
 		clock-names = "jpeg";
 		clocks = <&clock CLK_JPEG2>;
+		iommus = <&sysmmu_jpeg1>;
 	};
 
 	pmu_system_controller: system-controller@10040000 {
@@ -941,6 +948,180 @@ 
 		samsung,sysreg-phandle = <&sysreg_system_controller>;
 		samsung,pmureg-phandle = <&pmu_system_controller>;
 	};
+
+	sysmmu_g2dr: sysmmu@0x10A60000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x10A60000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <24 5>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_g2dw: sysmmu@0x10A70000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x10A70000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <22 2>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_tv: sysmmu@0x14650000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x14650000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <7 4>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_MIXER>, <&clock CLK_MIXER>;
+		power-domains = <&disp_pd>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_gscl0: sysmmu@0x13E80000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x13E80000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <2 0>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_GSCL0>, <&clock CLK_GSCL0>;
+		power-domains = <&gsc_pd>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_gscl1: sysmmu@0x13E90000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x13E90000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <2 2>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_GSCL1>, <&clock CLK_GSCL1>;
+		power-domains = <&gsc_pd>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_scaler0r: sysmmu@0x12880000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x12880000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <22 4>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_MSCL0>, <&clock CLK_MSCL0>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_scaler1r: sysmmu@0x12890000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x12890000 0x1000>;
+		interrupts = <0 186 0>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_MSCL1>, <&clock CLK_MSCL1>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_scaler2r: sysmmu@0x128A0000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x128A0000 0x1000>;
+		interrupts = <0 188 0>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_MSCL2>, <&clock CLK_MSCL2>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_scaler0w: sysmmu@0x128C0000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x128C0000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <27 2>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_MSCL0>, <&clock CLK_MSCL0>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_scaler1w: sysmmu@0x128D0000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x128D0000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <22 6>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_MSCL1>, <&clock CLK_MSCL1>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_scaler2w: sysmmu@0x128E0000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x128E0000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <19 6>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_MSCL2>, <&clock CLK_MSCL2>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_jpeg0: sysmmu@0x11F10000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x11F10000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <4 2>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_JPEG>, <&clock CLK_JPEG>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_jpeg1: sysmmu@0x11F20000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x11F20000 0x1000>;
+		interrupts = <0 169 0>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_JPEG2>, <&clock CLK_JPEG2>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_mfc_l: sysmmu@0x11200000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x11200000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <6 2>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_MFCL>, <&clock CLK_MFC>;
+		power-domains = <&mfc_pd>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_mfc_r: sysmmu@0x11210000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x11210000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <8 5>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_MFCR>, <&clock CLK_MFC>;
+		power-domains = <&mfc_pd>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_fimd1_0: sysmmu@0x14640000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x14640000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <3 2>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_FIMD1M0>, <&clock CLK_FIMD1>;
+		power-domains = <&disp_pd>;
+		#iommu-cells = <0>;
+	};
+
+	sysmmu_fimd1_1: sysmmu@0x14680000 {
+		compatible = "samsung,exynos-sysmmu";
+		reg = <0x14680000 0x1000>;
+		interrupt-parent = <&combiner>;
+		interrupts = <3 0>;
+		clock-names = "sysmmu", "master";
+		clocks = <&clock CLK_SMMU_FIMD1M0>, <&clock CLK_FIMD1>;
+		power-domains = <&disp_pd>;
+		#iommu-cells = <0>;
+	};
 };
 
 &dp {
@@ -955,6 +1136,8 @@ 
 	clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
 	clock-names = "sclk_fimd", "fimd";
 	power-domains = <&disp_pd>;
+	iommus = <&sysmmu_fimd1_0>, <&sysmmu_fimd1_1>;
+	iommu-names = "m0", "m1";
 };
 
 &rtc {