Skip to contentSkip to conversation

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

PATCH Superseded Rahul Sharma 2 participants 9 messages May 12, 2014

Subsystems (2)

v3 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

v3 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.

V3:
1) Re-spin on dependent patches.
2) Added patch to enable hdmi for Peach-pi board.

V2:
1) Re-spin on dependent patches.
2) Added patch to remove chip specific hdmi hpd gpio from board file top SoC file.

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

It is dependent on
1) Arun's patch for adding peach-pit board dts file at
http://www.spinics.net/lists/linux-samsung-soc/msg30103.html. [Patch is 'ACK'ed.]
2) Sachin's patch for snow board dts file at
https://patches.linaro.org/28325/
3) DRM Hdmi driver patch which is changing the DT binding at
http://www.spinics.net/lists/linux-samsung-soc/msg28052.html
4) Arun's patches for basic Exynos5800 support, available at
http://comments.gmane.org/gmane.linux.kernel.samsung-soc/30667
[Already Applied in Kukjin's v3.16-next/soc-exynos]

Rahul Sharma (5):
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
ARM: dts: remove chip specific hdmi hpd pin from board
ARM: dts: enable hdmi for exynos5800 based peach-pi board

 arch/arm/boot/dts/exynos5250-cros-common.dtsi |    6 +++++-
 arch/arm/boot/dts/exynos5250-pinctrl.dtsi     |    7 +++++++
 arch/arm/boot/dts/exynos5250-snow.dts         |    7 +++++++
 arch/arm/boot/dts/exynos5420-peach-pit.dts    |   19 ++++++++++++++++++
 arch/arm/boot/dts/exynos5420-pinctrl.dtsi     |    7 +++++++
 arch/arm/boot/dts/exynos5420-smdk5420.dts     |    9 ---------
 arch/arm/boot/dts/exynos5420.dtsi             |    7 ++++++-
 arch/arm/boot/dts/exynos5800-peach-pi.dts     |   26 +++++++++++++++++++++++++
 8 files changed, 77 insertions(+), 11 deletions(-)
Signature · 1 line
1.7.9.5
#1 lore raw

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

From: Rahul Sharma <[email protected]>

Enable support for HDMI for exynos5250 based Snow board.

---
 arch/arm/boot/dts/exynos5250-cros-common.dtsi |    6 +++++-
 arch/arm/boot/dts/exynos5250-pinctrl.dtsi     |    7 +++++++
 arch/arm/boot/dts/exynos5250-snow.dts         |    7 +++++++
 3 files changed, 19 insertions(+), 1 deletion(-)
arch/arm/boot/dts/exynos5250-cros-common.dtsi +5 -1
index 2c1560d..89ac90f 100644
@@ -240,7 +240,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 +304,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-pinctrl.dtsi +7 -0
index 9a49e68..da3ae66 100644
@@ -560,6 +560,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 13400000 {
arch/arm/boot/dts/exynos5250-snow.dts +7 -0
index 1ce1088..696850a 100644
@@ -206,4 +206,11 @@
 			clock-frequency = <24000000>;
 		};
 	};
+
+	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
#2 lore raw

PATCH v3 2/5 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 a802f74..016992c 100644
@@ -640,7 +640,7 @@
 	};
 
 	hdmi: 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
#3 lore raw

PATCH v3 3/5 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 |   19 +++++++++++++++++++
 arch/arm/boot/dts/exynos5420-pinctrl.dtsi  |    7 +++++++
 arch/arm/boot/dts/exynos5420.dtsi          |    5 +++++
 3 files changed, 31 insertions(+)
arch/arm/boot/dts/exynos5420-peach-pit.dts +19 -0
index fae33dd..8248255 100644
@@ -137,6 +137,25 @@
 	};
 };
 
+&i2c_2	{
+	status = "okay";
+	samsung,i2c-sda-delay = <100>;
+	samsung,i2c-max-bus-freq = <66000>;
+	samsung,i2c-slave-addr = <0x50>;
+
+	hdmiddc at 50 {
+		reg = <0x50>;
+	};
+};
+
+&hdmi {
+	status = "okay";
+	hpd-gpio = <&gpx3 7 2>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&hdmi_hpd_irq>;
+	ddc = <&i2c_2>;
+};
+
 /*
  * Use longest HW watchdog in SoC (32 seconds) since the hardware
  * watchdog provides no debugging information (compared to soft/hard
arch/arm/boot/dts/exynos5420-pinctrl.dtsi +7 -0
index ba686e4..fc17797 100644
@@ -66,6 +66,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 13410000 {
arch/arm/boot/dts/exynos5420.dtsi +5 -0
index 016992c..df4422c 100644
@@ -648,9 +648,14 @@
 			 <&clock CLK_MOUT_HDMI>;
 		clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
 			"sclk_hdmiphy", "mout_hdmi";
+		phy = <&hdmiphy>;
 		status = "disabled";
 	};
 
+	hdmiphy: hdmiphy at 145D0000 {
+		reg = <0x145D0000 0x20>;
+	};
+
 	mixer: mixer at 14450000 {
 		compatible = "samsung,exynos5420-mixer";
 		reg = <0x14450000 0x10000>;
Signature · 1 line
1.7.9.5
#4 lore raw

PATCH v3 4/5 ARM: dts: remove chip specific hdmi hpd pin from board

In reply to Rahul Sharma

From: Rahul Sharma <[email protected]>

"gpx3-7" is chip specific pin in Exynos5420 for hdmi hotplug. This pin is moved to exynos5420-pinctrl.dts and removed from the board file.

---
 arch/arm/boot/dts/exynos5420-smdk5420.dts |    9 ---------
 1 file changed, 9 deletions(-)
arch/arm/boot/dts/exynos5420-smdk5420.dts +0 -9
index 6910485..11cd9bf 100644
@@ -131,15 +131,6 @@
 		};
 	};
 
-	pinctrl at 13400000 {
-		hdmi_hpd_irq: hdmi-hpd-irq {
-			samsung,pins = "gpx3-7";
-			samsung,pin-function = <0>;
-			samsung,pin-pud = <1>;
-			samsung,pin-drv = <0>;
-		};
-	};
-
 	hdmi at 14530000 {
 		status = "okay";
 		hpd-gpio = <&gpx3 7 0>;
Signature · 1 line
1.7.9.5
#5 lore raw

PATCH v3 5/5 ARM: dts: enable hdmi for exynos5800 based peach-pi board

In reply to Rahul Sharma

From: Rahul Sharma <[email protected]>

Enable hdmi for peach-pi board.

---
 arch/arm/boot/dts/exynos5800-peach-pi.dts |   26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
arch/arm/boot/dts/exynos5800-peach-pi.dts +26 -0
index 742655b..bbb445a 100644
@@ -72,6 +72,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>;
+	};
 };
 
 &rtc {
@@ -134,6 +141,25 @@
 	};
 };
 
+&i2c_2 {
+	status = "okay";
+	samsung,i2c-sda-delay = <100>;
+	samsung,i2c-max-bus-freq = <66000>;
+	samsung,i2c-slave-addr = <0x50>;
+
+	hdmiddc at 50 {
+		reg = <0x50>;
+	};
+};
+
+&hdmi {
+	status = "okay";
+	hpd-gpio = <&gpx3 7 2>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&hdmi_hpd_irq>;
+	ddc = <&i2c_2>;
+};
+
 /*
  * Use longest HW watchdog in SoC (32 seconds) since the hardware
  * watchdog provides no debugging information (compared to soft/hard
Signature · 1 line
1.7.9.5
#6 lore raw

PATCH v3 5/5 ARM: dts: enable hdmi for exynos5800 based peach-pi board

Hi Rahul,

Quoted 14 lines · Rahul Sharma

From: Rahul Sharma <[email protected]>

Enable hdmi for peach-pi board.

---
 arch/arm/boot/dts/exynos5800-peach-pi.dts |   26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
arch/arm/boot/dts/exynos5800-peach-pi.dts +0 -0
index 742655b..bbb445a 100644

arch/arm/boot/dts/exynos5800-peach-pi.dts line 81

Quoted 10 lines
arch/arm/boot/dts/exynos5800-peach-pi.dts +7 -0
@@ -72,6 +72,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>;
+	};

This node is already added in 5420-pinctrl.dtsi in patch 3/5. You can drop it from here.

Regards
Arun

Quoted 30 lines
arch/arm/boot/dts/exynos5800-peach-pi.dts +19 -0
 };
 
 &rtc {
@@ -134,6 +141,25 @@
 	};
 };
 
+&i2c_2 {
+	status = "okay";
+	samsung,i2c-sda-delay = <100>;
+	samsung,i2c-max-bus-freq = <66000>;
+	samsung,i2c-slave-addr = <0x50>;
+
+	hdmiddc at 50 {
+		reg = <0x50>;
+	};
+};
+
+&hdmi {
+	status = "okay";
+	hpd-gpio = <&gpx3 7 2>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&hdmi_hpd_irq>;
+	ddc = <&i2c_2>;
+};
+
 /*
  * Use longest HW watchdog in SoC (32 seconds) since the hardware
  * watchdog provides no debugging information (compared to soft/hard
#7 lore raw

PATCH v3 5/5 ARM: dts: enable hdmi for exynos5800 based peach-pi board

Quoted 22 lines · Arun Kumar K

Hi Rahul,

Quoted 19 lines · Rahul Sharma

From: Rahul Sharma <[email protected]>

Enable hdmi for peach-pi board.

---
 arch/arm/boot/dts/exynos5800-peach-pi.dts |   26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
arch/arm/boot/dts/exynos5800-peach-pi.dts +2 -0
index 742655b..bbb445a 100644
@@ -72,6 +72,13 @@
              samsung,pin-pud = <0>;
              samsung,pin-drv = <0>;
      };
+
+     hdmi_hpd_irq: hdmi-hpd-irq {
Quoted 9 lines

arch/arm/boot/dts/exynos5800-peach-pi.dts line 81

Quoted 5 lines
arch/arm/boot/dts/exynos5800-peach-pi.dts +5 -0
+             samsung,pins = "gpx3-7";
+             samsung,pin-function = <0>;
+             samsung,pin-pud = <1>;
+             samsung,pin-drv = <0>;
+     };

This node is already added in 5420-pinctrl.dtsi in patch 3/5. You can drop it from here.

yea correct. I will remove this pin.

Regards,
Rahul Sharma.

Quoted 33 lines

Regards
Arun

Quoted 30 lines
arch/arm/boot/dts/exynos5800-peach-pi.dts +19 -0
 };
 
 &rtc {
@@ -134,6 +141,25 @@
      };
 };
 
+&i2c_2 {
+     status = "okay";
+     samsung,i2c-sda-delay = <100>;
+     samsung,i2c-max-bus-freq = <66000>;
+     samsung,i2c-slave-addr = <0x50>;
+
+     hdmiddc at 50 {
+             reg = <0x50>;
+     };
+};
+
+&hdmi {
+     status = "okay";
+     hpd-gpio = <&gpx3 7 2>;
+     pinctrl-names = "default";
+     pinctrl-0 = <&hdmi_hpd_irq>;
+     ddc = <&i2c_2>;
+};
+
 /*
  * Use longest HW watchdog in SoC (32 seconds) since the hardware
  * watchdog provides no debugging information (compared to soft/hard
#8 lore raw

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

In reply to Rahul Sharma
Quoted 17 lines · Rahul Sharma

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.

V3:
1) Re-spin on dependent patches.
2) Added patch to enable hdmi for Peach-pi board.

V2:
1) Re-spin on dependent patches.
2) Added patch to remove chip specific hdmi hpd gpio from board file top SoC file.

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

Quoted 11 lines

It is dependent on
1) Arun's patch for adding peach-pit board dts file at
http://www.spinics.net/lists/linux-samsung-soc/msg30103.html. [Patch is 'ACK'ed.]
2) Sachin's patch for snow board dts file at
https://patches.linaro.org/28325/
3) DRM Hdmi driver patch which is changing the DT binding at
http://www.spinics.net/lists/linux-samsung-soc/msg28052.html
4) Arun's patches for basic Exynos5800 support, available at
http://comments.gmane.org/gmane.linux.kernel.samsung-soc/30667
[Already Applied in Kukjin's v3.16-next/soc-exynos]

Updating the dependency:
1) Sachin's patch for snow board dts file at

       https://patches.linaro.org/28325/
2) DRM Hdmi driver patch which is changing the DT binding at
       http://www.spinics.net/lists/linux-samsung-soc/msg28052.html

All other patches are already Applied in Kukjin's for-next and v3.16-next/soc-exynos branches.

Quoted 20 lines

Rahul Sharma (5):
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
ARM: dts: remove chip specific hdmi hpd pin from board
ARM: dts: enable hdmi for exynos5800 based peach-pi board

 arch/arm/boot/dts/exynos5250-cros-common.dtsi |    6 +++++-
 arch/arm/boot/dts/exynos5250-pinctrl.dtsi     |    7 +++++++
 arch/arm/boot/dts/exynos5250-snow.dts         |    7 +++++++
 arch/arm/boot/dts/exynos5420-peach-pit.dts    |   19 ++++++++++++++++++
 arch/arm/boot/dts/exynos5420-pinctrl.dtsi     |    7 +++++++
 arch/arm/boot/dts/exynos5420-smdk5420.dts     |    9 ---------
 arch/arm/boot/dts/exynos5420.dtsi             |    7 ++++++-
 arch/arm/boot/dts/exynos5800-peach-pi.dts     |   26 +++++++++++++++++++++++++
 8 files changed, 77 insertions(+), 11 deletions(-)

--
1.7.9.5