Skip to contentSkip to conversation

Add device tree based discovery support for drm-fimd

PATCH New Leela Krishna Amudala 3 participants 6 messages Sep 21, 2012 – Sep 28, 2012

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

v2 cover Add device tree based discovery support for drm-fimd

This patch set adds arch side support for device tree based discovery for drm-fimd.

The patches are created against "for-next" branch of Kukjin Kim's tree on 3.6-rc6 at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git

This patchset has been tested on smdk5250 board and seen the bootup logo on LCD using the patchset http://www.spinics.net/lists/arm-kernel/msg193348.html which was applied on inki-dae's next branch

Changes since V1:
- Renamed the compatible string from "samsung,exynos5-drm" to "samsung,exynos5-fimd"
- Renamed the macro from EXYNOS5_PA_FIMD to EXYNOS5_PA_FIMD1

Leela Krishna Amudala (3):
ARM: EXYNOS5: Add fimd node to the exynos5250 dtsi file
ARM: EXYNOS: add device tree based discovery support for FIMD
ARM: EXYNOS: Add drm-device node to the dtsi file

 arch/arm/boot/dts/exynos5250-smdk5250.dts |   15 +++++++++++++++
 arch/arm/boot/dts/exynos5250.dtsi         |   11 +++++++++++
 arch/arm/mach-exynos/include/mach/map.h   |    1 +
 arch/arm/mach-exynos/mach-exynos5-dt.c    |    2 ++
 4 files changed, 29 insertions(+), 0 deletions(-)
#1 lore raw

PATCH v2 1/3 ARM: EXYNOS5: Add fimd node to the exynos5250 dtsi file

This patch adds the fimd node with compatibility string, hardware address, interrupt line numbers to the exynos5250 dtsi file.

---
 arch/arm/boot/dts/exynos5250.dtsi |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
arch/arm/boot/dts/exynos5250.dtsi +7 -0
index b55794b..6401c94 100644
@@ -488,4 +488,11 @@
 		reg = <0x13e30000 0x1000>;
 		interrupts = <0 88 0>;
 	};
+
+	fimd {
+		compatible = "samsung,exynos5-fimd";
+		interrupt-parent = <&combiner>;
+		reg = <0x14400000 0x40000>;
+		interrupts = <18 5>, <18 4>, <18 6>;
+	};
 };
Signature · 1 line
1.7.0.4
#2 lore raw

PATCH v2 2/3 ARM: EXYNOS: add device tree based discovery support for FIMD

In reply to Leela Krishna Amudala

This patch adds support for device tree based discovery for Samsung's display controller. Adds DRM-Fimd plat data for smdk5250 evt1 to the corresponding dts file

---
 arch/arm/boot/dts/exynos5250-smdk5250.dts |   15 +++++++++++++++
 arch/arm/mach-exynos/include/mach/map.h   |    1 +
 arch/arm/mach-exynos/mach-exynos5-dt.c    |    2 ++
 3 files changed, 18 insertions(+), 0 deletions(-)
arch/arm/boot/dts/exynos5250-smdk5250.dts +15 -0
index 8a5e348..2ebf993 100644
@@ -109,4 +109,19 @@
 	spi_2: spi@12d40000 {
 		status = "disabled";
 	};
+
+	lcd_fimd0: lcd_panel0 {
+			lcd-htiming = <4 4 4 1280>;
+			lcd-vtiming = <4 4 4 800>;
+	};
+
+	fimd {
+		samsung,fimd-display = <&lcd_fimd0>;
+		samsung,fimd-vidout-rgb;
+		samsung,fimd-inv-vclk;
+		samsung,fimd-frame-rate = <60>;
+		samsung,default-window = <0>;
+		samsung,fimd-win-bpp = <32>;
+	};
+
 };
arch/arm/mach-exynos/include/mach/map.h +1 -0
index 5aa77f9..76b4a68 100644
@@ -174,6 +174,7 @@
 #define EXYNOS4_PA_MIPI_CSIS1		0x11890000
 
 #define EXYNOS4_PA_FIMD0		0x11C00000
+#define EXYNOS5_PA_FIMD1		0x14400000
 
 #define EXYNOS4_PA_HSMMC(x)		(0x12510000 + ((x) * 0x10000))
 #define EXYNOS4_PA_DWMCI		0x12550000
arch/arm/mach-exynos/mach-exynos5-dt.c +2 -0
index e707eb1..5fd5068 100644
@@ -64,6 +64,8 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
 				"exynos-gsc.2", NULL),
 	OF_DEV_AUXDATA("samsung,exynos5-gsc", EXYNOS5_PA_GSC3,
 				"exynos-gsc.3", NULL),
+	OF_DEV_AUXDATA("samsung,exynos5-fimd", EXYNOS5_PA_FIMD1,
+				"exynos5-fb.1", NULL),
 	{},
 };
 
Signature · 1 line
1.7.0.4
#3 lore raw

PATCH v2 3/3 ARM: EXYNOS: Add drm-device node to the dtsi file

In reply to Leela Krishna Amudala

This patch adds platform drm-device node to the dtsi file

---
 arch/arm/boot/dts/exynos5250.dtsi |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
arch/arm/boot/dts/exynos5250.dtsi +4 -0
index 6401c94..f0cc06d 100644
@@ -495,4 +495,8 @@
 		reg = <0x14400000 0x40000>;
 		interrupts = <18 5>, <18 4>, <18 6>;
 	};
+
+	drm-device {
+		compatible = "samsung,exynos-drm-device";
+	};
 };
Signature · 1 line
1.7.0.4
#4 lore raw

PATCH v2 3/3 ARM: EXYNOS: Add drm-device node to the dtsi file

Quoted 14 lines · Leela Krishna Amudala

This patch adds platform drm-device node to the dtsi file

---
 arch/arm/boot/dts/exynos5250.dtsi |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
arch/arm/boot/dts/exynos5250.dtsi +0 -0
index 6401c94..f0cc06d 100644

arch/arm/boot/dts/exynos5250.dtsi

Quoted 9 lines
arch/arm/boot/dts/exynos5250.dtsi +4 -1
@@ -495,4 +495,8 @@
 		reg = <0x14400000 0x40000>;
 		interrupts = <18 5>, <18 4>, <18 6>;
 	};
+
+	drm-device {
+		compatible = "samsung,exynos-drm-device";
+	};
 };
--

Please check below comments from Thomas Abraham and I agree with his opinion.

There cannot be a node that represents a virtual device. Device tree should ideally describe the hardware but the above node does not represent a hardware device. The creation of the platform device instance for the above device should handled inside the kernel code.

Thanks.

K-Gene <[email protected]>

#5 lore raw

PATCH v2 3/3 ARM: EXYNOS: Add drm-device node to the dtsi file

Hi,

Quoted 7 lines · On Wednesday 26 of September 2012 10:46:01 Kukjin Kim wrote:

Please check below comments from Thomas Abraham and I agree with his opinion.

There cannot be a node that represents a virtual device. Device tree should ideally describe the hardware but the above node does not represent a hardware device. The creation of the platform device instance for the above device should handled inside the kernel code.

I don't tend to agree with this opinion. Is there any further reasoning behind it? Is it a current policy of the kernel that nodes should only represent real devices?

Best regards,
Tomasz Figa