All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tobias Jakobi <liquid.acid@gmx.net>
To: linux-samsung-soc@vger.kernel.org
Subject: exynos4412: porting hdmiddc and hdmiphy node entries
Date: Sun, 27 Apr 2014 02:33:14 +0200	[thread overview]
Message-ID: <535C504A.2090809@gmx.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 1964 bytes --]

Hello,

I'm trying to get the HDMI port working on a Exynos4412 based board.
Attached is a snippet of a dts. This config was supposed to "work" in
the past.

However with 3.15-rc1 some things changed. samsung,exynos4210-hdmiddc
and samsung,exynos4212-hdmiphy have no function anymore, the code that
previously handled these compatible strings is gone.

So, it looks like that without some patching, HDMI support is atm broken.

I have applied these:
http://www.spinics.net/lists/linux-samsung-soc/msg28161.html
http://www.spinics.net/lists/linux-samsung-soc/msg28259.html

With the first one I can drop a clock from the hdmi node. But then
trouble starts.

So, first of all I'm unsure what the 'hdmiddc' node should be converted
to. Documentation (exynos_hdmi.txt) doesn't help here, since it just
says "phandle to the hdmi ddc node". What kind of 'hdmi ddc node'? From
the code it looks like that it should point to an i2c adapter now. So
should it point to 'i2c_2' now?

The second thing is 'phy', which should be a "phandle to the hdmi ddc
node". Again, no idea what that node should be. Apparantly such nodes
can't be created with current kernel code anyway, primary reason to
apply the simply-phy patches.

OK, so I have to put a simple-phys node in my dts now. Or, wait, do I
just replace the hdmiphy node with a simple-phys node?

Would look something like this:
hdmiphy: simple-phys@38 {
  compatible = "samsung,exynos4412-simple-phy";
  reg = <0x38 0x10000>;
  #phy-cells = <1>;
};

Somehow this doesn't look right. And indeed:
https://patchwork.kernel.org/patch/4021121/

At least for exynos5250 this node is not a child on an i2c adapter.

And yes, I would still have to add 'phys' and 'phy-names' to the hdmi
node. This looks wrong again. Why do I have to specify 'phys' when I
already have 'phy' there? Isn't that redundant?

Well, you see, lots of confusion here. I would appreciate any kind of
help on how to proceed here.

With best wishes,
Tobias

[-- Attachment #2: exynos-hdmi-dts.txt --]
[-- Type: text/plain, Size: 1311 bytes --]

hdmi {
	compatible = "samsung,exynos4212-hdmi";
	reg = <0x12D00000 0x100000>;
	interrupts = <0 92 0>;
	hpd-gpio = <&gpx3 7 0>;

	clocks = <&clock 271>, <&clock 136>, <&clock 139>,
		<&clock 178>, <&clock 396>;
	clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
		"sclk_hdmiphy", "mout_hdmi";

	pinctrl-names = "default";
	pinctrl-0 = <&hdmi_hpd_irq>;

	samsung,power-domain = <&pd_tv>;

	vdd_osc-supply = <&ldo10_reg>;
	vdd_pll-supply = <&ldo8_reg>;
	vdd-supply = <&ldo8_reg>;
	hdmi-en-supply = <&reg_sysvdd>;

	#address-cells = <1>;
	#size-cells = <1>;

	phy-power-control {
		reg = <0x10020700 0x04>;
	};
};

i2c_2: i2c@13880000 {
	status = "okay";
	pinctrl-0 = <&i2c2_bus>;
	pinctrl-names = "default";

	samsung,i2c-slave-addr = <0x10>;
	samsung,i2c-sda-delay = <100>;
	samsung,i2c-max-bus-freq = <400000>;

	hdmiddc@50 {
		compatible = "samsung,exynos4210-hdmiddc";
		reg = <0x50>;
	};
};

i2c_8: i2c@138e0000 {
	status = "okay";

	samsung,i2c-slave-addr = <0x10>;
	samsung,i2c-sda-delay = <100>;
	samsung,i2c-max-bus-freq = <400000>;

	compatible = "samsung,s3c2440-hdmiphy-i2c";
	reg = <0x138E0000 0x1000>;

	interrupts = <0 93 0>;

	#address-cells = <1>;
	#size-cells = <0>;

	clocks = <&clock 325>;
	clock-names = "i2c";

	hdmiphy@38 {
		compatible = "samsung,exynos4212-hdmiphy";
		reg = <0x38>;
	};
};

             reply	other threads:[~2014-04-27  0:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-27  0:33 Tobias Jakobi [this message]
2014-05-05  9:26 ` exynos4412: porting hdmiddc and hdmiphy node entries Tomasz Stanislawski
2014-05-05 20:55   ` Tobias Jakobi
2014-05-19  0:18   ` Tobias Jakobi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=535C504A.2090809@gmx.net \
    --to=liquid.acid@gmx.net \
    --cc=linux-samsung-soc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.