Skip to contentSkip to conversation

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

PATCH Superseded Rahul Sharma 3 participants 19 messages May 14, 2014 – May 15, 2014

Subsystems (2)

v4 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

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

From: Rahul Sharma <[email protected]>

Enable hdmi for exynos5250 based snow board, exynos5420 based peach pit board and 5800 based peach-pi board. V4:
1) Removed hdmi_hpd_irq pin from peach-pi board as it already present in exynos5420-pinctrl.dtsi.

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) Sachin's patch: "ARM: dts: exynos5250-snow: add tps65090 power regulator" at https://patches.linaro.org/28325/ : [Reviewed-by: Doug Anderson]

All other dependent patches are already landed in maintainers tree.

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     |   19 +++++++++++++++++++
 8 files changed, 70 insertions(+), 11 deletions(-)
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v4 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 v4 1/5 ARM: dts: enable hdmi for exynos5250 based snow board

Hi Rahul,

Quoted 40 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 |    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 +0 -0
index 9a49e68..da3ae66 100644

arch/arm/boot/dts/exynos5250-pinctrl.dtsi line 569

Quoted 10 lines
arch/arm/boot/dts/exynos5250-pinctrl.dtsi +7 -0
@@ -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>;
+		};

Based on the fact that this is just being configured as input, I don't think this is a generic special function, but rather a board-specific GPIO, which should be defined in dts of respective board.

Quoted 8 lines
arch/arm/boot/dts/exynos5250-pinctrl.dtsi +0 -0
 	};
 
 	pinctrl at 13400000 {
arch/arm/boot/dts/exynos5250-snow.dts +0 -0
index 1ce1088..696850a 100644

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

Quoted 9 lines
arch/arm/boot/dts/exynos5250-snow.dts +6 -0
@@ -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>;

Hmm, those regulators don't seem to be listed in Documentation/devicetree/bindings/video/exynos_hdmi.txt, at least in today's linux-next. The driver seems to use them, though.

This isn't a problem with this patch, but if you're working on this, could you also fix the documentation in separate patch?

Best regards,
Tomasz

#3 lore raw

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

Tomasz,

Quoted 49 lines · Tomasz Figa

Hi Rahul,

Quoted 46 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 |    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 +3 -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";
Quoted 9 lines

arch/arm/boot/dts/exynos5250-pinctrl.dtsi line 569

Quoted 4 lines
arch/arm/boot/dts/exynos5250-pinctrl.dtsi +4 -0
+                     samsung,pin-function = <0>;
+                     samsung,pin-pud = <1>;
+                     samsung,pin-drv = <0>;
+             };

Based on the fact that this is just being configured as input, I don't think this is a generic special function, but rather a board-specific GPIO, which should be defined in dts of respective board.

Ok.

Quoted 22 lines
Quoted 8 lines
arch/arm/boot/dts/exynos5250-pinctrl.dtsi +0 -0
      };
 
      pinctrl at 13400000 {
arch/arm/boot/dts/exynos5250-snow.dts +0 -0
index 1ce1088..696850a 100644

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

Quoted 9 lines
arch/arm/boot/dts/exynos5250-snow.dts +6 -0
@@ -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>;

Hmm, those regulators don't seem to be listed in Documentation/devicetree/bindings/video/exynos_hdmi.txt, at least in today's linux-next. The driver seems to use them, though.

Quoted 3 lines

This isn't a problem with this patch, but if you're working on this, could you also fix the documentation in separate patch?

I will post another patch for documentation update.

Regards,
Rahul Sharma.

Quoted 2 lines

Best regards,
Tomasz

#4 lore raw

PATCH v4 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
#5 lore raw

PATCH v4 2/5 ARM: dts: change to correct compatible string for exynos5420 hdmi

Hi Rahul,

Quoted 18 lines · 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 +0 -0
index a802f74..016992c 100644

arch/arm/boot/dts/exynos5420.dtsi line 646

Quoted 8 lines
arch/arm/boot/dts/exynos5420.dtsi +1 -1
@@ -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>,

The compatible string doesn't seem to be documented in linux-next, though. Are the necessary patches adding it already merged?

Best regards,
Tomasz

#6 lore raw

PATCH v4 2/5 ARM: dts: change to correct compatible string for exynos5420 hdmi

Thanks Tomasz,

Patch which add this compatible in documentation is available at
http://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/log/?h=exynos-drm-next

Regards,
Rahul Sharma

Quoted 37 lines · Tomasz Figa

Hi Rahul,

Quoted 18 lines · 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 +0 -0
index a802f74..016992c 100644

arch/arm/boot/dts/exynos5420.dtsi line 646

Quoted 8 lines
arch/arm/boot/dts/exynos5420.dtsi +1 -1
@@ -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>,

The compatible string doesn't seem to be documented in linux-next, though. Are the necessary patches adding it already merged?

Best regards,
Tomasz

#7 lore raw

PATCH v4 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
#8 lore raw

PATCH v4 3/5 ARM: dts: enable hdmi for exynos5420 based peach-pit board

Hi Rahul,

Quoted 10 lines · 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(+)

[snip]

Quoted 5 lines
arch/arm/boot/dts/exynos5420-pinctrl.dtsi +0 -0
index ba686e4..fc17797 100644

arch/arm/boot/dts/exynos5420-pinctrl.dtsi line 74

Quoted 9 lines
arch/arm/boot/dts/exynos5420-pinctrl.dtsi +6 -0
@@ -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>;

Same comment as for patch 1/5.

Quoted 9 lines
arch/arm/boot/dts/exynos5420-pinctrl.dtsi +1 -0
+		};
 	};
 
 	pinctrl at 13410000 {
arch/arm/boot/dts/exynos5420.dtsi +0 -0
index 016992c..df4422c 100644

arch/arm/boot/dts/exynos5420.dtsi line 657

Quoted 10 lines
arch/arm/boot/dts/exynos5420.dtsi +4 -0
@@ -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>;
+	};

Hmm, this doesn't seem like a proper device node and I don't see other properties present in exynos5.dtsi either. Are all the necessary patches already merged in linux-next?

Best regards,
Tomasz

#9 lore raw

PATCH v4 3/5 ARM: dts: enable hdmi for exynos5420 based peach-pit board

Quoted 16 lines · Tomasz Figa

Hi Rahul,

Quoted 10 lines · 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(+)

[snip]

Quoted 16 lines
Quoted 5 lines
arch/arm/boot/dts/exynos5420-pinctrl.dtsi +0 -0
index ba686e4..fc17797 100644

arch/arm/boot/dts/exynos5420-pinctrl.dtsi line 74

Quoted 9 lines
arch/arm/boot/dts/exynos5420-pinctrl.dtsi +6 -0
@@ -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>;

Same comment as for patch 1/5.

Ok.

Quoted 17 lines
Quoted 17 lines
arch/arm/boot/dts/exynos5420-pinctrl.dtsi +1 -0
+             };
      };
 
      pinctrl at 13410000 {
arch/arm/boot/dts/exynos5420.dtsi +1 -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";
      };
 
Quoted 7 lines

arch/arm/boot/dts/exynos5420.dtsi line 657

Quoted 3 lines
arch/arm/boot/dts/exynos5420.dtsi +3 -0
+     hdmiphy: hdmiphy at 145D0000 {
+             reg = <0x145D0000 0x20>;
+     };

Hmm, this doesn't seem like a proper device node and I don't see other properties present in exynos5.dtsi either. Are all the necessary patches already merged in linux-next?

Yea hdmiphy is not a platform driver. It is mapped in hdmi_driver. This code is already there in driver but documentation is not updated. I can also post documentation update patch.

Regards,
Rahul Sharma.

Quoted 3 lines

Best regards,
Tomasz

#10 lore raw

PATCH v4 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
#11 lore raw

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

Quoted 5 lines · 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.

Rahul, you may need to put the change (moving the pin from smdk5420 board to exynos5420-pinctrl.dts) before the patch 3/5.

- Kukjin

Quoted 26 lines
---
  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>;
#12 lore raw

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

Quoted 4 lines · Kukjin Kim
Quoted 3 lines · Rahul Sharma

From: Rahul Sharma<[email protected]>

Quoted 8 lines
Quoted 3 lines

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

Rahul, you may need to put the change (moving the pin from smdk5420 board to exynos5420-pinctrl.dts) before the patch 3/5.

Hi Kukjin,

Ok. I will post with that change tomorrow.

Regards,
Rahul Sharma.

Quoted 30 lines

- Kukjin

Quoted 27 lines
---
  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>;
#13 lore raw

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

In reply to Rahul Sharma

Hi Rahul,

Quoted 16 lines · 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 -0
index 6910485..11cd9bf 100644

arch/arm/boot/dts/exynos5420-smdk5420.dts line 139

Quoted 9 lines
arch/arm/boot/dts/exynos5420-smdk5420.dts +0 -6
@@ -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>;

Again, the same comment as for patch 1/5. This pin is being configured as input, which doesn't look like a dedicated special function pin. Shouldn't this node rather stay here?

Best regards,
Tomasz

#14 lore raw

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

Quoted 22 lines · Tomasz Figa

Hi Rahul,

Quoted 19 lines · 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 -0
index 6910485..11cd9bf 100644
@@ -131,15 +131,6 @@
              };
      };
 
Quoted 11 lines

arch/arm/boot/dts/exynos5420-smdk5420.dts line 139

Quoted 6 lines
arch/arm/boot/dts/exynos5420-smdk5420.dts +0 -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>;

Again, the same comment as for patch 1/5. This pin is being configured as input, which doesn't look like a dedicated special function pin. Shouldn't this node rather stay here?

Yea, I will take care fo this in v5.

Quoted 2 lines

Best regards,
Tomasz

#15 lore raw

PATCH v4 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 |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
arch/arm/boot/dts/exynos5800-peach-pi.dts +19 -0
index 742655b..2a6f23b8 100644
@@ -134,6 +134,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
#16 lore raw

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

Hi Rahul,

Quoted 21 lines · Rahul Sharma

From: Rahul Sharma <[email protected]>

Enable hdmi for peach-pi board.

---
 arch/arm/boot/dts/exynos5800-peach-pi.dts |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
arch/arm/boot/dts/exynos5800-peach-pi.dts +4 -0
index 742655b..2a6f23b8 100644
@@ -134,6 +134,25 @@
 	};
 };
 
+&i2c_2 {
+	status = "okay";
+	samsung,i2c-sda-delay = <100>;
+	samsung,i2c-max-bus-freq = <66000>;

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

Quoted 10 lines
arch/arm/boot/dts/exynos5800-peach-pi.dts +10 -0
+	samsung,i2c-slave-addr = <0x50>;
+
+	hdmiddc at 50 {
+		reg = <0x50>;
+	};
+};
+
+&hdmi {
+	status = "okay";
+	hpd-gpio = <&gpx3 7 2>;

What is the 2 flag? I don't see any value other than 0 and 1 defined in include/dt-bindings/gpio/gpio.h. Also it would be better to use preprocessor macros instead of magic numbers for flags like this.

Best regards,
Tomasz

#17 lore raw

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

Quoted 20 lines · Tomasz Figa

Hi Rahul,

Quoted 17 lines · Rahul Sharma

From: Rahul Sharma <[email protected]>

Enable hdmi for peach-pi board.

---
 arch/arm/boot/dts/exynos5800-peach-pi.dts |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
arch/arm/boot/dts/exynos5800-peach-pi.dts +0 -0
index 742655b..2a6f23b8 100644
@@ -134,6 +134,25 @@
 	};
 };
 
Quoted 9 lines

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

Quoted 9 lines
arch/arm/boot/dts/exynos5800-peach-pi.dts +9 -0
+&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>;
+	};

Aha, also with the new Exynos HDMI bindings, I don't think the DDC device node is necessary any longer.

Best regards,
Tomasz

#18 lore raw

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

Quoted 23 lines · Tomasz Figa
Quoted 20 lines · Tomasz Figa

Hi Rahul,

Quoted 17 lines · Rahul Sharma

From: Rahul Sharma <[email protected]>

Enable hdmi for peach-pi board.

---
 arch/arm/boot/dts/exynos5800-peach-pi.dts |   19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
arch/arm/boot/dts/exynos5800-peach-pi.dts +0 -0
index 742655b..2a6f23b8 100644
@@ -134,6 +134,25 @@
     };
 };
 
Quoted 12 lines
Quoted 9 lines

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

Quoted 9 lines
arch/arm/boot/dts/exynos5800-peach-pi.dts +9 -0
+&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>;
+    };

Aha, also with the new Exynos HDMI bindings, I don't think the DDC device node is necessary any longer.

Yea it is not necessary now. I added it to list the i2c devices under controller node. Just for completion.

Quoted 3 lines

Best regards,
Tomasz