diff mbox

[v2,1/3] ARM: dts: imx6qdl-apalis: Do not rely on DDC I2C bus bitbang for HDMI

Message ID 2263d508999ada9476268138b2922702eb50131f.1474260360.git.maitysanchayan@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sanchayan Sept. 19, 2016, 5:11 a.m. UTC
Remove the use of DDC I2C bus bitbang to support reading of EDID
and rely on support from internal HDMI I2C master controller instead.
As a result remove the device tree property ddc-i2c-bus.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
---
Changes since v1:

Change the ranking in i2c aliases

v1: https://lkml.org/lkml/2016/9/14/55
---
 arch/arm/boot/dts/imx6q-apalis-ixora.dts | 12 +++---------
 arch/arm/boot/dts/imx6qdl-apalis.dtsi    | 25 +++++++++----------------
 2 files changed, 12 insertions(+), 25 deletions(-)

Comments

Sanchayan Sept. 27, 2016, 4:19 a.m. UTC | #1
Hello,

Ping?

- Sanchayan.

On 16-09-19 10:41:51, Sanchayan Maity wrote:
> Remove the use of DDC I2C bus bitbang to support reading of EDID
> and rely on support from internal HDMI I2C master controller instead.
> As a result remove the device tree property ddc-i2c-bus.
> 
> Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
> ---
> Changes since v1:
> 
> Change the ranking in i2c aliases
> 
> v1: https://lkml.org/lkml/2016/9/14/55
> ---
>  arch/arm/boot/dts/imx6q-apalis-ixora.dts | 12 +++---------
>  arch/arm/boot/dts/imx6qdl-apalis.dtsi    | 25 +++++++++----------------
>  2 files changed, 12 insertions(+), 25 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx6q-apalis-ixora.dts b/arch/arm/boot/dts/imx6q-apalis-ixora.dts
> index 207b85b..82b81e0 100644
> --- a/arch/arm/boot/dts/imx6q-apalis-ixora.dts
> +++ b/arch/arm/boot/dts/imx6q-apalis-ixora.dts
> @@ -55,10 +55,9 @@
>  		     "fsl,imx6q";
>  
>  	aliases {
> -		i2c0 = &i2cddc;
> -		i2c1 = &i2c1;
> -		i2c2 = &i2c2;
> -		i2c3 = &i2c3;
> +		i2c0 = &i2c1;
> +		i2c1 = &i2c2;
> +		i2c2 = &i2c3;
>  	};
>  
>  	aliases {
> @@ -186,11 +185,6 @@
>  };
>  
>  &hdmi {
> -	ddc-i2c-bus = <&i2cddc>;
> -	status = "okay";
> -};
> -
> -&i2cddc {
>  	status = "okay";
>  };
>  
> diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
> index 99e323b..8c67dd8 100644
> --- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
> @@ -53,18 +53,6 @@
>  		status = "disabled";
>  	};
>  
> -	/* DDC_I2C: I2C2_SDA/SCL on MXM3 205/207 */
> -	i2cddc: i2c@0 {
> -		compatible = "i2c-gpio";
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&pinctrl_i2c_ddc>;
> -		gpios = <&gpio3 16 GPIO_ACTIVE_HIGH /* sda */
> -			 &gpio2 30 GPIO_ACTIVE_HIGH /* scl */
> -			>;
> -		i2c-gpio,delay-us = <2>;	/* ~100 kHz */
> -		status = "disabled";
> -	};
> -
>  	reg_1p8v: regulator-1p8v {
>  		compatible = "regulator-fixed";
>  		regulator-name = "1P8V";
> @@ -209,6 +197,12 @@
>  	};
>  };
>  
> +&hdmi {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_hdmi_ddc>;
> +	status = "disabled";
> +};
> +
>  /*
>   * GEN1_I2C: I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier
>   * board)
> @@ -633,11 +627,10 @@
>  		>;
>  	};
>  
> -	pinctrl_i2c_ddc: gpioi2cddcgrp {
> +	pinctrl_hdmi_ddc: hdmiddcgrp {
>  		fsl,pins = <
> -			/* DDC bitbang */
> -			MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0
> -			MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x1b0b0
> +			MX6QDL_PAD_EIM_EB2__HDMI_TX_DDC_SCL 0x4001b8b1
> +			MX6QDL_PAD_EIM_D16__HDMI_TX_DDC_SDA 0x4001b8b1
>  		>;
>  	};
>  
> -- 
> 2.9.3
>
Marcel Ziswiler Sept. 27, 2016, 6:28 a.m. UTC | #2
On Mon, 2016-09-19 at 10:41 +0530, Sanchayan Maity wrote:
> Remove the use of DDC I2C bus bitbang to support reading of EDID

> and rely on support from internal HDMI I2C master controller instead.

> As a result remove the device tree property ddc-i2c-bus.

> 

> Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>


Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>


> ---

> Changes since v1:

> 

> Change the ranking in i2c aliases

> 

> v1: https://lkml.org/lkml/2016/9/14/55

> ---

>  arch/arm/boot/dts/imx6q-apalis-ixora.dts | 12 +++---------

>  arch/arm/boot/dts/imx6qdl-apalis.dtsi    | 25 +++++++++-------------

> ---

>  2 files changed, 12 insertions(+), 25 deletions(-)

> 

> diff --git a/arch/arm/boot/dts/imx6q-apalis-ixora.dts

> b/arch/arm/boot/dts/imx6q-apalis-ixora.dts

> index 207b85b..82b81e0 100644

> --- a/arch/arm/boot/dts/imx6q-apalis-ixora.dts

> +++ b/arch/arm/boot/dts/imx6q-apalis-ixora.dts

> @@ -55,10 +55,9 @@

>  		     "fsl,imx6q";

>  

>  	aliases {

> -		i2c0 = &i2cddc;

> -		i2c1 = &i2c1;

> -		i2c2 = &i2c2;

> -		i2c3 = &i2c3;

> +		i2c0 = &i2c1;

> +		i2c1 = &i2c2;

> +		i2c2 = &i2c3;

>  	};

>  

>  	aliases {

> @@ -186,11 +185,6 @@

>  };

>  

>  &hdmi {

> -	ddc-i2c-bus = <&i2cddc>;

> -	status = "okay";

> -};

> -

> -&i2cddc {

>  	status = "okay";

>  };

>  

> diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi

> b/arch/arm/boot/dts/imx6qdl-apalis.dtsi

> index 99e323b..8c67dd8 100644

> --- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi

> +++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi

> @@ -53,18 +53,6 @@

>  		status = "disabled";

>  	};

>  

> -	/* DDC_I2C: I2C2_SDA/SCL on MXM3 205/207 */

> -	i2cddc: i2c@0 {

> -		compatible = "i2c-gpio";

> -		pinctrl-names = "default";

> -		pinctrl-0 = <&pinctrl_i2c_ddc>;

> -		gpios = <&gpio3 16 GPIO_ACTIVE_HIGH /* sda */

> -			 &gpio2 30 GPIO_ACTIVE_HIGH /* scl */

> -			>;

> -		i2c-gpio,delay-us = <2>;	/* ~100 kHz */

> -		status = "disabled";

> -	};

> -

>  	reg_1p8v: regulator-1p8v {

>  		compatible = "regulator-fixed";

>  		regulator-name = "1P8V";

> @@ -209,6 +197,12 @@

>  	};

>  };

>  

> +&hdmi {

> +	pinctrl-names = "default";

> +	pinctrl-0 = <&pinctrl_hdmi_ddc>;

> +	status = "disabled";

> +};

> +

>  /*

>   * GEN1_I2C: I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier

>   * board)

> @@ -633,11 +627,10 @@

>  		>;

>  	};

>  

> -	pinctrl_i2c_ddc: gpioi2cddcgrp {

> +	pinctrl_hdmi_ddc: hdmiddcgrp {

>  		fsl,pins = <

> -			/* DDC bitbang */

> -			MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0

> -			MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x1b0b0

> +			MX6QDL_PAD_EIM_EB2__HDMI_TX_DDC_SCL

> 0x4001b8b1

> +			MX6QDL_PAD_EIM_D16__HDMI_TX_DDC_SDA

> 0x4001b8b1

>  		>;

>  	};
Shawn Guo Oct. 22, 2016, 3:25 a.m. UTC | #3
On Mon, Sep 19, 2016 at 10:41:51AM +0530, Sanchayan Maity wrote:
> Remove the use of DDC I2C bus bitbang to support reading of EDID
> and rely on support from internal HDMI I2C master controller instead.
> As a result remove the device tree property ddc-i2c-bus.
> 
> Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>

I think that the dw-hdmi i2c support [1] is a prerequisite of this
patch.  I do not see it lands on v4.9-rc1.  Or am I missing something?

Shawn

[1] https://patchwork.kernel.org/patch/9296883/

> ---
> Changes since v1:
> 
> Change the ranking in i2c aliases
> 
> v1: https://lkml.org/lkml/2016/9/14/55
> ---
>  arch/arm/boot/dts/imx6q-apalis-ixora.dts | 12 +++---------
>  arch/arm/boot/dts/imx6qdl-apalis.dtsi    | 25 +++++++++----------------
>  2 files changed, 12 insertions(+), 25 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx6q-apalis-ixora.dts b/arch/arm/boot/dts/imx6q-apalis-ixora.dts
> index 207b85b..82b81e0 100644
> --- a/arch/arm/boot/dts/imx6q-apalis-ixora.dts
> +++ b/arch/arm/boot/dts/imx6q-apalis-ixora.dts
> @@ -55,10 +55,9 @@
>  		     "fsl,imx6q";
>  
>  	aliases {
> -		i2c0 = &i2cddc;
> -		i2c1 = &i2c1;
> -		i2c2 = &i2c2;
> -		i2c3 = &i2c3;
> +		i2c0 = &i2c1;
> +		i2c1 = &i2c2;
> +		i2c2 = &i2c3;
>  	};
>  
>  	aliases {
> @@ -186,11 +185,6 @@
>  };
>  
>  &hdmi {
> -	ddc-i2c-bus = <&i2cddc>;
> -	status = "okay";
> -};
> -
> -&i2cddc {
>  	status = "okay";
>  };
>  
> diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
> index 99e323b..8c67dd8 100644
> --- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
> @@ -53,18 +53,6 @@
>  		status = "disabled";
>  	};
>  
> -	/* DDC_I2C: I2C2_SDA/SCL on MXM3 205/207 */
> -	i2cddc: i2c@0 {
> -		compatible = "i2c-gpio";
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&pinctrl_i2c_ddc>;
> -		gpios = <&gpio3 16 GPIO_ACTIVE_HIGH /* sda */
> -			 &gpio2 30 GPIO_ACTIVE_HIGH /* scl */
> -			>;
> -		i2c-gpio,delay-us = <2>;	/* ~100 kHz */
> -		status = "disabled";
> -	};
> -
>  	reg_1p8v: regulator-1p8v {
>  		compatible = "regulator-fixed";
>  		regulator-name = "1P8V";
> @@ -209,6 +197,12 @@
>  	};
>  };
>  
> +&hdmi {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_hdmi_ddc>;
> +	status = "disabled";
> +};
> +
>  /*
>   * GEN1_I2C: I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier
>   * board)
> @@ -633,11 +627,10 @@
>  		>;
>  	};
>  
> -	pinctrl_i2c_ddc: gpioi2cddcgrp {
> +	pinctrl_hdmi_ddc: hdmiddcgrp {
>  		fsl,pins = <
> -			/* DDC bitbang */
> -			MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0
> -			MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x1b0b0
> +			MX6QDL_PAD_EIM_EB2__HDMI_TX_DDC_SCL 0x4001b8b1
> +			MX6QDL_PAD_EIM_D16__HDMI_TX_DDC_SDA 0x4001b8b1
>  		>;
>  	};
>  
> -- 
> 2.9.3
>
Vladimir Zapolskiy Oct. 22, 2016, 12:43 p.m. UTC | #4
Hi Shawn,

On 10/22/2016 06:25 AM, Shawn Guo wrote:
> On Mon, Sep 19, 2016 at 10:41:51AM +0530, Sanchayan Maity wrote:
>> Remove the use of DDC I2C bus bitbang to support reading of EDID
>> and rely on support from internal HDMI I2C master controller instead.
>> As a result remove the device tree property ddc-i2c-bus.
>>
>> Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
>
> I think that the dw-hdmi i2c support [1] is a prerequisite of this
> patch.  I do not see it lands on v4.9-rc1.  Or am I missing something?
>
> Shawn
>
> [1] https://patchwork.kernel.org/patch/9296883/
>

I'm adding Philipp to Cc, since he is the last one who tested the change
and helped me to push the change to the mainline:

   https://lists.freedesktop.org/archives/dri-devel/2016-September/118569.html

The problem is that there is no official DW HDMI bridge maintainer, may be
you can review the change, and if you find it satisfactory push it through
ARM/iMX tree.

--
With best wishes,
Vladimir
Sanchayan Nov. 8, 2016, 5:33 p.m. UTC | #5
Hello Shawn,

On 16-10-22 15:43:04, Vladimir Zapolskiy wrote:
> Hi Shawn,
> 
> On 10/22/2016 06:25 AM, Shawn Guo wrote:
> > On Mon, Sep 19, 2016 at 10:41:51AM +0530, Sanchayan Maity wrote:
> > > Remove the use of DDC I2C bus bitbang to support reading of EDID
> > > and rely on support from internal HDMI I2C master controller instead.
> > > As a result remove the device tree property ddc-i2c-bus.
> > > 
> > > Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
> > 
> > I think that the dw-hdmi i2c support [1] is a prerequisite of this
> > patch.  I do not see it lands on v4.9-rc1.  Or am I missing something?
> > 
> > Shawn
> > 
> > [1] https://patchwork.kernel.org/patch/9296883/
> > 
> 
> I'm adding Philipp to Cc, since he is the last one who tested the change
> and helped me to push the change to the mainline:
> 
>   https://lists.freedesktop.org/archives/dri-devel/2016-September/118569.html
> 
> The problem is that there is no official DW HDMI bridge maintainer, may be
> you can review the change, and if you find it satisfactory push it through
> ARM/iMX tree.

Shawn, is it okay if that patch goes through your ARM/iMX tree?

- Sanchayan.
Stefan Agner Nov. 9, 2016, 12:50 a.m. UTC | #6
On 2016-11-08 09:33, maitysanchayan@gmail.com wrote:
> Hello Shawn,
> 
> On 16-10-22 15:43:04, Vladimir Zapolskiy wrote:
>> Hi Shawn,
>>
>> On 10/22/2016 06:25 AM, Shawn Guo wrote:
>> > On Mon, Sep 19, 2016 at 10:41:51AM +0530, Sanchayan Maity wrote:
>> > > Remove the use of DDC I2C bus bitbang to support reading of EDID
>> > > and rely on support from internal HDMI I2C master controller instead.
>> > > As a result remove the device tree property ddc-i2c-bus.
>> > >
>> > > Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
>> >
>> > I think that the dw-hdmi i2c support [1] is a prerequisite of this
>> > patch.  I do not see it lands on v4.9-rc1.  Or am I missing something?
>> >
>> > Shawn
>> >
>> > [1] https://patchwork.kernel.org/patch/9296883/
>> >
>>
>> I'm adding Philipp to Cc, since he is the last one who tested the change
>> and helped me to push the change to the mainline:
>>
>>   https://lists.freedesktop.org/archives/dri-devel/2016-September/118569.html
>>
>> The problem is that there is no official DW HDMI bridge maintainer, may be
>> you can review the change, and if you find it satisfactory push it through
>> ARM/iMX tree.
> 
> Shawn, is it okay if that patch goes through your ARM/iMX tree?

I don't think it makes sense that the DRM bridge changes go through
Shawn's tree. Dave should merge Philipps pull request...

--
Stefan
Vladimir Zapolskiy Nov. 10, 2016, 6:29 p.m. UTC | #7
Hi Stefan, Philipp,

On 11/09/2016 02:50 AM, Stefan Agner wrote:
> On 2016-11-08 09:33, maitysanchayan@gmail.com wrote:
>> Hello Shawn,
>>
>> On 16-10-22 15:43:04, Vladimir Zapolskiy wrote:
>>> Hi Shawn,
>>>
>>> On 10/22/2016 06:25 AM, Shawn Guo wrote:
>>>> On Mon, Sep 19, 2016 at 10:41:51AM +0530, Sanchayan Maity wrote:
>>>>> Remove the use of DDC I2C bus bitbang to support reading of EDID
>>>>> and rely on support from internal HDMI I2C master controller instead.
>>>>> As a result remove the device tree property ddc-i2c-bus.
>>>>>
>>>>> Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
>>>>
>>>> I think that the dw-hdmi i2c support [1] is a prerequisite of this
>>>> patch.  I do not see it lands on v4.9-rc1.  Or am I missing something?
>>>>
>>>> Shawn
>>>>
>>>> [1] https://patchwork.kernel.org/patch/9296883/
>>>>
>>>
>>> I'm adding Philipp to Cc, since he is the last one who tested the change
>>> and helped me to push the change to the mainline:
>>>
>>>   https://lists.freedesktop.org/archives/dri-devel/2016-September/118569.html
>>>
>>> The problem is that there is no official DW HDMI bridge maintainer, may be
>>> you can review the change, and if you find it satisfactory push it through
>>> ARM/iMX tree.
>>
>> Shawn, is it okay if that patch goes through your ARM/iMX tree?
>
> I don't think it makes sense that the DRM bridge changes go through
> Shawn's tree. Dave should merge Philipps pull request...
>

Philipp, do you mind to submit a rebased pull request one more time?

--
With best wishes,
Vladimir
Stefan Agner Nov. 11, 2016, 4:27 a.m. UTC | #8
On 2016-11-10 10:29, Vladimir Zapolskiy wrote:
> Hi Stefan, Philipp,
> 
> On 11/09/2016 02:50 AM, Stefan Agner wrote:
>> On 2016-11-08 09:33, maitysanchayan@gmail.com wrote:
>>> Hello Shawn,
>>> 
>>> On 16-10-22 15:43:04, Vladimir Zapolskiy wrote:
>>>> Hi Shawn,
>>>> 
>>>> On 10/22/2016 06:25 AM, Shawn Guo wrote:
>>>>> On Mon, Sep 19, 2016 at 10:41:51AM +0530, Sanchayan Maity wrote:
>>>>>> Remove the use of DDC I2C bus bitbang to support reading of EDID
>>>>>> and rely on support from internal HDMI I2C master controller instead.
>>>>>> As a result remove the device tree property ddc-i2c-bus.
>>>>>> 
>>>>>> Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
>>>>> 
>>>>> I think that the dw-hdmi i2c support [1] is a prerequisite of this
>>>>> patch.  I do not see it lands on v4.9-rc1.  Or am I missing something?
>>>>> 
>>>>> Shawn
>>>>> 
>>>>> [1] https://patchwork.kernel.org/patch/9296883/
>>>>> 
>>>> 
>>>> I'm adding Philipp to Cc, since he is the last one who tested the change
>>>> and helped me to push the change to the mainline:
>>>> 
>>>>   https://lists.freedesktop.org/archives/dri-devel/2016-September/118569.html
>>>> 
>>>> The problem is that there is no official DW HDMI bridge maintainer, may be
>>>> you can review the change, and if you find it satisfactory push it through
>>>> ARM/iMX tree.
>>> 
>>> Shawn, is it okay if that patch goes through your ARM/iMX tree?
>> 
>> I don't think it makes sense that the DRM bridge changes go through
>> Shawn's tree. Dave should merge Philipps pull request...
>> 
> 
> Philipp, do you mind to submit a rebased pull request one more time?
> 

You probably saw it, Dave merged it today in his drm-next branch:
https://cgit.freedesktop.org/~airlied/linux/?h=drm-next

I guess with that Shawn can go ahead and merge this patchset for next
too...?

--
Stefan
Shawn Guo Nov. 14, 2016, 1:55 a.m. UTC | #9
On Thu, Nov 10, 2016 at 08:27:50PM -0800, Stefan Agner wrote:
> You probably saw it, Dave merged it today in his drm-next branch:
> https://cgit.freedesktop.org/~airlied/linux/?h=drm-next
> 
> I guess with that Shawn can go ahead and merge this patchset for next
> too...?

I merged #2 and #3 a couple of weeks ago.  But for the first one, I have
to wait for the drm changes to appear on my tree, i.e. v4.10-rc1 likely.
Otherwise, HDMI will stop working on my tree if I apply that patch right
now.

So please ping me when drm changes are in place.

Shawn
diff mbox

Patch

diff --git a/arch/arm/boot/dts/imx6q-apalis-ixora.dts b/arch/arm/boot/dts/imx6q-apalis-ixora.dts
index 207b85b..82b81e0 100644
--- a/arch/arm/boot/dts/imx6q-apalis-ixora.dts
+++ b/arch/arm/boot/dts/imx6q-apalis-ixora.dts
@@ -55,10 +55,9 @@ 
 		     "fsl,imx6q";
 
 	aliases {
-		i2c0 = &i2cddc;
-		i2c1 = &i2c1;
-		i2c2 = &i2c2;
-		i2c3 = &i2c3;
+		i2c0 = &i2c1;
+		i2c1 = &i2c2;
+		i2c2 = &i2c3;
 	};
 
 	aliases {
@@ -186,11 +185,6 @@ 
 };
 
 &hdmi {
-	ddc-i2c-bus = <&i2cddc>;
-	status = "okay";
-};
-
-&i2cddc {
 	status = "okay";
 };
 
diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
index 99e323b..8c67dd8 100644
--- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
@@ -53,18 +53,6 @@ 
 		status = "disabled";
 	};
 
-	/* DDC_I2C: I2C2_SDA/SCL on MXM3 205/207 */
-	i2cddc: i2c@0 {
-		compatible = "i2c-gpio";
-		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_i2c_ddc>;
-		gpios = <&gpio3 16 GPIO_ACTIVE_HIGH /* sda */
-			 &gpio2 30 GPIO_ACTIVE_HIGH /* scl */
-			>;
-		i2c-gpio,delay-us = <2>;	/* ~100 kHz */
-		status = "disabled";
-	};
-
 	reg_1p8v: regulator-1p8v {
 		compatible = "regulator-fixed";
 		regulator-name = "1P8V";
@@ -209,6 +197,12 @@ 
 	};
 };
 
+&hdmi {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_hdmi_ddc>;
+	status = "disabled";
+};
+
 /*
  * GEN1_I2C: I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier
  * board)
@@ -633,11 +627,10 @@ 
 		>;
 	};
 
-	pinctrl_i2c_ddc: gpioi2cddcgrp {
+	pinctrl_hdmi_ddc: hdmiddcgrp {
 		fsl,pins = <
-			/* DDC bitbang */
-			MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0
-			MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x1b0b0
+			MX6QDL_PAD_EIM_EB2__HDMI_TX_DDC_SCL 0x4001b8b1
+			MX6QDL_PAD_EIM_D16__HDMI_TX_DDC_SDA 0x4001b8b1
 		>;
 	};