DTS conifguration issues for HDMI_DDC on i.MX6Q

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

DTS conifguration issues for HDMI_DDC on i.MX6Q

Jump to solution
1,572 Views
cconley
Contributor II

I'm trying to get the i.MX6Q HDMI_DDC I2C bus configured on my platform and I'm running into issues.  I've looked at all the dts files up through 3.12.y and I see a lot of using other buses (I2C2, etc), but other than a pinmux for HDCP, there's nothing I can find showing how to setup the DDC as a master I2C bus.

I tried the following:

hdmi_ddc: i2c@00127F00 {

                compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";

                #address-cells = <1>;

                #size-cells = <0>;

                reg = <0x00127F00 0x4000>;

                clocks = <&clks 124>, <&clks 123>;

                clock-names = "hdmi_isfr", "hdmi_iahb";

                interrupt-parent = <&intc>;

                interrupts = <147 0x04>;

                status = "disabled";

                sink: edid@50 {

                    compatible = "fsl,imx6-hdmi-i2c";

                    reg = <0x50>;

                };

            };

hdmi_ddc {

        pinctrl_hdmiddc_1: hdmiddcgrp-1 {

            fsl,pins = <

                MX6QDL_PAD_KEY_COL3__HDMI_TX_DDC_SCL 0x4001b8b1

                MX6QDL_PAD_KEY_ROW3__HDMI_TX_DDC_SDA 0x4001b8b1

            >;

        };

    };

&hdmi_ddc {

    pinctrl-names = "default";

  pinctrl-0 = <&pinctrl_hdmiddc_1>;

  status = "okay";

};

It fails to get the IRQ (there's only 2 HDMI-related IRQs listed in the TRM, the CEC connect IRQ and the main HDMI IRQ (147)). 

I'm building this with Yocto using linux-imx 3.10.17+1.0.0_beta.  I2C1, 2, and 3 are all already created in the system.

Anyone have ideas on why imx-i2c isn't able to create the i2c bus adapter? 

Thanks,

//Chris

Labels (3)
Tags (2)
0 Kudos
1 Solution
604 Views
cconley
Contributor II

Found out what the issue was.

It seems that in order for EDID to work at all, HDCP needs to be enabled, as the DDC support is embedded inside the HDCP support and not freestanding. Once this was enabled, the DDC channel was created and EDID queries worked as I'd've expected them to in the HDMI driver.

View solution in original post

0 Kudos
1 Reply
605 Views
cconley
Contributor II

Found out what the issue was.

It seems that in order for EDID to work at all, HDCP needs to be enabled, as the DDC support is embedded inside the HDCP support and not freestanding. Once this was enabled, the DDC channel was created and EDID queries worked as I'd've expected them to in the HDMI driver.

0 Kudos