Skip to contentSkip to conversation

ARM: dts: enable hdmi for exynos5 based peach and snow boards

PATCH New Rahul Sharma 2 participants 10 messages Apr 20, 2014 – May 8, 2014

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

cover ARM: dts: enable hdmi for exynos5 based peach and snow boards

From: Rahul Sharma <[email protected]>

Enable hdmi for exynos5250 based snow board and exynos5420 based peach pit board. It also adds properties to hdmi nodes for accessing hdmiphy as simple phys.

This series is based on Kukjin Kims, for-next branch.

It is dependent on
1) Tomasz Stanislawski's Simple phy driver patches at
https://lkml.org/lkml/2014/4/8/226.
2) Arun's patch for adding peach-pit board dts file at
http://www.mail-archive.com/linux-samsung-soc at vger.kernel.org/msg28846.html.

Rahul Sharma (7):
ARM: dtsi: add node for simple phy provider for exynos5250
ARM: dtsi: add node for simple phy provider for exynos5420
ARM: dtsi: add access to simple hdmiphy to exynos5250 hdmi node
ARM: dtsi: add access to simple hdmiphy to exynos5420 hdmi node
ARM: dts: enable hdmi for exynos5250 based snow board
ARM: dts: change to correct compatible string for exynos5420 hdmi
ARM: dts: enable hdmi for exynos5420 based peach-pit board

 arch/arm/boot/dts/exynos5250-cros-common.dtsi |   13 ++++++++++++-
 arch/arm/boot/dts/exynos5250-snow.dts         |    7 +++++++
 arch/arm/boot/dts/exynos5250.dtsi             |    8 ++++++++
 arch/arm/boot/dts/exynos5420-peach-pit.dts    |   26 +++++++++++++++++++++++++
 arch/arm/boot/dts/exynos5420.dtsi             |   15 +++++++++++++-
 5 files changed, 67 insertions(+), 2 deletions(-)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/7 ARM: dtsi: add node for simple phy provider for exynos5250

From: Rahul Sharma <[email protected]>

Add dt node for simple phy provider for exynos5250 SoC.

---
 arch/arm/boot/dts/exynos5250.dtsi |    6 ++++++
 1 file changed, 6 insertions(+)
 mode change 100644 => 100755 arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/exynos5250.dtsi +6 -0
old mode 100644
new mode 100755
index 3742331..bbf2d64
@@ -736,4 +736,10 @@
 		clocks = <&clock 348>;
 		clock-names = "secss";
 	};
+
+	simple_phys: simple-phys at 10040000 {
+		compatible = "samsung,exynos5250-simple-phy";
+		reg = <0x10040000 0x10000>;
+		#phy-cells = <1>;
+	};
 };
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH 2/7 ARM: dtsi: add node for simple phy provider for exynos5420

In reply to Rahul Sharma

From: Rahul Sharma <[email protected]>

Add dt node for simple phy provider for exynos5420 SoC.

---
 arch/arm/boot/dts/exynos5420.dtsi |    6 ++++++
 1 file changed, 6 insertions(+)
 mode change 100644 => 100755 arch/arm/boot/dts/exynos5420.dtsi
arch/arm/boot/dts/exynos5420.dtsi +6 -0
old mode 100644
new mode 100755
index c3a9a66..07a6cdc
@@ -732,4 +732,10 @@
 		clock-names = "secss";
 		samsung,power-domain = <&g2d_pd>;
 	};
+
+	simple_phys: simple-phys at 10040000 {
+		compatible = "samsung,exynos5420-simple-phy";
+		reg = <0x10040000 0x10000>;
+		#phy-cells = <1>;
+	};
 };
Signature · 1 line
1.7.9.5
#3 lore raw

PATCH 3/7 ARM: dtsi: add access to simple hdmiphy to exynos5250 hdmi node

In reply to Rahul Sharma

From: Rahul Sharma <[email protected]>

Add reference to simple phy to hdmi node for exynos5420

---
 arch/arm/boot/dts/exynos5250.dtsi |    2 ++
 1 file changed, 2 insertions(+)
 mode change 100755 => 100644 arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/exynos5250.dtsi +2 -0
old mode 100755
new mode 100644
index bbf2d64..ddd687e
@@ -690,6 +690,8 @@
 			 <&clock CLK_MOUT_HDMI>;
 		clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
 				"sclk_hdmiphy", "mout_hdmi";
+		phys = <&simple_phys 0>;
+		phy-names = "hdmiphy";
 	};
 
 	mixer {
Signature · 1 line
1.7.9.5
#4 lore raw

PATCH 4/7 ARM: dtsi: add access to simple hdmiphy to exynos5420 hdmi node

In reply to Rahul Sharma

From: Rahul Sharma <[email protected]>

add reference for hdmiphy phy to the client node, which is hdmi for exynos5420.

---
 arch/arm/boot/dts/exynos5420.dtsi |    2 ++
 1 file changed, 2 insertions(+)
 mode change 100755 => 100644 arch/arm/boot/dts/exynos5420.dtsi
arch/arm/boot/dts/exynos5420.dtsi +2 -0
old mode 100755
new mode 100644
index 07a6cdc..398cb20
@@ -642,6 +642,8 @@
 		clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
 			"sclk_hdmiphy", "mout_hdmi";
 		status = "disabled";
+		phys = <&simple_phys 0>;
+		phy-names = "hdmiphy";
 	};
 
 	mixer at 14450000 {
Signature · 1 line
1.7.9.5
#5 lore raw

PATCH 5/7 ARM: dts: enable hdmi for exynos5250 based snow board

In reply to Rahul Sharma

From: Rahul Sharma <[email protected]>

Enable support for HDMI for exynos5250 based Snow board.

---
 arch/arm/boot/dts/exynos5250-cros-common.dtsi |   13 ++++++++++++-
 arch/arm/boot/dts/exynos5250-snow.dts         |    7 +++++++
 2 files changed, 19 insertions(+), 1 deletion(-)
arch/arm/boot/dts/exynos5250-cros-common.dtsi +12 -1
index 2c1560d..50c39a3 100644
@@ -34,6 +34,13 @@
 			samsung,pin-pud = <0>;
 			samsung,pin-drv = <0>;
 		};
+
+		hdmi_hpd_irq: hdmi-hpd-irq {
+			samsung,pins = "gpx3-7";
+			samsung,pin-function = <0>;
+			samsung,pin-pud = <1>;
+			samsung,pin-drv = <0>;
+		};
 	};
 
 	i2c at 12C60000 {
@@ -240,7 +247,7 @@
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <378000>;
 
-		hdmiphy at 38 {
+		hdmiphy: hdmiphy at 38 {
 			compatible = "samsung,exynos4212-hdmiphy";
 			reg = <0x38>;
 		};
@@ -304,6 +311,10 @@
 
 	hdmi {
 		hpd-gpio = <&gpx3 7 0>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&hdmi_hpd_irq>;
+		phy = <&hdmiphy>;
+		ddc = <&i2c_2>;
 	};
 
 	gpio-keys {
arch/arm/boot/dts/exynos5250-snow.dts +7 -0
index 52ae335..586cd38 100644
@@ -343,4 +343,11 @@
 			pinctrl-0 = <&ptn3460_gpios>;
 		};
 	};
+
+	hdmi {
+		hdmi-en-supply = <&tps65090_fet7>;
+		vdd-supply = <&ldo8_reg>;
+		vdd_osc-supply = <&ldo10_reg>;
+		vdd_pll-supply = <&ldo8_reg>;
+	};
 };
Signature · 1 line
1.7.9.5
#6 lore raw

PATCH 5/7 ARM: dts: enable hdmi for exynos5250 based snow board

Quoted 9 lines · Rahul Sharma

From: Rahul Sharma <[email protected]>

Enable support for HDMI for exynos5250 based Snow board.

---
 arch/arm/boot/dts/exynos5250-cros-common.dtsi |   13 ++++++++++++-
 arch/arm/boot/dts/exynos5250-snow.dts         |    7 +++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

[ ... ]

arch/arm/boot/dts/exynos5250-snow.dts line 348

Quoted 11 lines
arch/arm/boot/dts/exynos5250-snow.dts +3 -0
index 52ae335..586cd38 100644
@@ -343,4 +343,11 @@
 			pinctrl-0 = <&ptn3460_gpios>;
 		};
 	};
+
+	hdmi {
+		hdmi-en-supply = <&tps65090_fet7>;

Looks like tps65090_fet7 is not defined yet or might be not mentioned as dependency.

Quoted 6 lines
arch/arm/boot/dts/exynos5250-snow.dts +4 -0
+		vdd-supply = <&ldo8_reg>;
+		vdd_osc-supply = <&ldo10_reg>;
+		vdd_pll-supply = <&ldo8_reg>;
+	};
 };
Signature · 1 line
Tushar Behera
#7 lore raw

PATCH 5/7 ARM: dts: enable hdmi for exynos5250 based snow board

Thanks Tushar,

Quoted 13 lines · Tushar Behera
Quoted 9 lines · Rahul Sharma

From: Rahul Sharma <[email protected]>

Enable support for HDMI for exynos5250 based Snow board.

---
 arch/arm/boot/dts/exynos5250-cros-common.dtsi |   13 ++++++++++++-
 arch/arm/boot/dts/exynos5250-snow.dts         |    7 +++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

[ ... ]

Quoted 15 lines

arch/arm/boot/dts/exynos5250-snow.dts line 348

Quoted 11 lines
arch/arm/boot/dts/exynos5250-snow.dts +3 -0
index 52ae335..586cd38 100644
@@ -343,4 +343,11 @@
                      pinctrl-0 = <&ptn3460_gpios>;
              };
      };
+
+     hdmi {
+             hdmi-en-supply = <&tps65090_fet7>;

Looks like tps65090_fet7 is not defined yet or might be not mentioned as dependency.

I should have mentioned one more dependency on Sachin's patches for snow DTS.( https://patches.linaro.org/28325/ ). Sorry for confusion.

Regards,
Rahul Sharma.

Quoted 9 lines

arch/arm/boot/dts/exynos5250-snow.dts line 353

Quoted 6 lines
arch/arm/boot/dts/exynos5250-snow.dts +4 -0
+             vdd-supply = <&ldo8_reg>;
+             vdd_osc-supply = <&ldo10_reg>;
+             vdd_pll-supply = <&ldo8_reg>;
+     };
 };

--
Tushar Behera

#8 lore raw

PATCH 6/7 ARM: dts: change to correct compatible string for exynos5420 hdmi

In reply to Rahul Sharma

From: Rahul Sharma <[email protected]>

Replace compatible string for HDMI node in Exynos5420. Since latest restructring in Drm hdmi driver, it is agreed to use a seperate compatible string for Exynos5420 HDMI IP siince it uses APB mapped Phy.

---
 arch/arm/boot/dts/exynos5420.dtsi |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/boot/dts/exynos5420.dtsi +1 -1
index 398cb20..663fca9 100644
@@ -633,7 +633,7 @@
 	};
 
 	hdmi at 14530000 {
-		compatible = "samsung,exynos4212-hdmi";
+		compatible = "samsung,exynos5420-hdmi";
 		reg = <0x14530000 0x70000>;
 		interrupts = <0 95 0>;
 		clocks = <&clock CLK_HDMI>, <&clock CLK_SCLK_HDMI>,
Signature · 1 line
1.7.9.5
#9 lore raw

PATCH 7/7 ARM: dts: enable hdmi for exynos5420 based peach-pit board

In reply to Rahul Sharma

From: Rahul Sharma <[email protected]>

Enable hdmi for exynos5420 based peach-pit board.

---
 arch/arm/boot/dts/exynos5420-peach-pit.dts |   26 ++++++++++++++++++++++++++
 arch/arm/boot/dts/exynos5420.dtsi          |    5 +++++
 2 files changed, 31 insertions(+)
arch/arm/boot/dts/exynos5420-peach-pit.dts +26 -0
index 4d61a5e..5b70522 100644
@@ -54,6 +54,13 @@
 			samsung,pin-pud = <0>;
 			samsung,pin-drv = <0>;
 		};
+
+		hdmi_hpd_irq: hdmi-hpd-irq {
+		        samsung,pins = "gpx3-7";
+			samsung,pin-function = <0>;
+			samsung,pin-pud = <1>;
+			samsung,pin-drv = <0>;
+		};
 	};
 
 	pinctrl at 14010000 {
@@ -222,4 +229,23 @@
 	watchdog at 101D0000 {
 		timeout-sec = <32>;
 	};
+
+	i2c at 12C80000 {
+		samsung,i2c-sda-delay = <100>;
+		samsung,i2c-max-bus-freq = <66000>;
+		samsung,i2c-slave-addr = <0x50>;
+		status = "okay";
+
+		hdmiddc at 50 {
+			reg = <0x50>;
+		};
+	};
+
+	hdmi at 14530000 {
+		hpd-gpio = <&gpx3 7 2>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&hdmi_hpd_irq>;
+		ddc = <&i2c_2>;
+		status = "okay";
+	};
 };
arch/arm/boot/dts/exynos5420.dtsi +5 -0
index 663fca9..f474e96 100644
@@ -642,10 +642,15 @@
 		clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
 			"sclk_hdmiphy", "mout_hdmi";
 		status = "disabled";
+		phy = <&hdmiphy>;
 		phys = <&simple_phys 0>;
 		phy-names = "hdmiphy";
 	};
 
+	hdmiphy: hdmiphy at 145D0000 {
+		reg = <0x145D0000 0x20>;
+	};
+
 	mixer at 14450000 {
 		compatible = "samsung,exynos5420-mixer";
 		reg = <0x14450000 0x10000>;
Signature · 1 line
1.7.9.5