diff options
author | Sandor Yu <R01008@freescale.com> | 2012-06-26 17:28:33 +0800 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2012-07-20 13:39:29 +0800 |
commit | 15eb89df3aed572b5d337caafb9acd93808e3d62 (patch) | |
tree | 72b4fac5f37bf0ecee9e7e4c3c0bae01796b9936 | |
parent | 2600c7faa00f17bd5f08e9f45d8bc08774da0ac6 (diff) |
ENGR00213014-1 MX6x Sabrelite: IOMUX setting for HDMI HDCP
Added enable_pins/disable_pins functions for Mx6q sabrelite HDMI.
Added HDMI DDC IOMUX setting.
Signed-off-by: Sandor Yu <R01008@freescale.com>
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_sabrelite.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/mach-mx6/board-mx6q_sabrelite.c b/arch/arm/mach-mx6/board-mx6q_sabrelite.c index dd289ebdf15a..57b83ff06ebf 100644 --- a/arch/arm/mach-mx6/board-mx6q_sabrelite.c +++ b/arch/arm/mach-mx6/board-mx6q_sabrelite.c @@ -326,6 +326,16 @@ static iomux_v3_cfg_t mx6q_sabrelite_csi0_sensor_pads[] = { MX6Q_PAD_NANDF_WP_B__GPIO_6_9, /* J16 - MIPI GP */ }; +static iomux_v3_cfg_t mx6q_sabrelite_hdmi_ddc_pads[] = { + MX6Q_PAD_KEY_COL3__HDMI_TX_DDC_SCL, /* HDMI DDC SCL */ + MX6Q_PAD_KEY_ROW3__HDMI_TX_DDC_SDA, /* HDMI DDC SDA */ +}; + +static iomux_v3_cfg_t mx6q_sabrelite_i2c2_pads[] = { + MX6Q_PAD_KEY_COL3__I2C2_SCL, /* I2C2 SCL */ + MX6Q_PAD_KEY_ROW3__I2C2_SDA, /* I2C2 SDA */ +}; + #define MX6Q_USDHC_PAD_SETTING(id, speed) \ mx6q_sd##id##_##speed##mhz[] = { \ MX6Q_PAD_SD##id##_CLK__USDHC##id##_CLK_##speed##MHZ, \ @@ -803,8 +813,26 @@ static void hdmi_init(int ipu_id, int disp_id) mxc_iomux_set_gpr_register(3, 2, 2, hdmi_mux_setting); } +/* On mx6x sbarelite board i2c2 iomux with hdmi ddc, + * the pins default work at i2c2 function, + when hdcp enable, the pins should work at ddc function */ + +static void hdmi_enable_ddc_pin(void) +{ + mxc_iomux_v3_setup_multiple_pads(mx6q_sabrelite_hdmi_ddc_pads, + ARRAY_SIZE(mx6q_sabrelite_hdmi_ddc_pads)); +} + +static void hdmi_disable_ddc_pin(void) +{ + mxc_iomux_v3_setup_multiple_pads(mx6q_sabrelite_i2c2_pads, + ARRAY_SIZE(mx6q_sabrelite_i2c2_pads)); +} + static struct fsl_mxc_hdmi_platform_data hdmi_data = { .init = hdmi_init, + .enable_pins = hdmi_enable_ddc_pin, + .disable_pins = hdmi_disable_ddc_pin, }; static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = { |