diff options
author | Chao Xu <cxu@nvidia.com> | 2013-06-07 17:55:19 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 13:28:53 -0700 |
commit | 2937027dc332a1e75f8fca2f048a34a895169b4d (patch) | |
tree | c5ed32e66f5ba52397c6369a40cfca593f64b805 /arch/arm/mach-tegra/board-bonaire-panel.c | |
parent | 11aa7a70e4915be11aadac6fc65da64967c51110 (diff) |
ARM: mach-tegra: Add LVDS panel support to bonaire
Change-Id: I74b8536f152f1f8d9f1e37e3e21570cda30c028a
Signed-off-by: Chao Xu <cxu@nvidia.com>
Reviewed-on: http://git-master/r/242518
Diffstat (limited to 'arch/arm/mach-tegra/board-bonaire-panel.c')
-rw-r--r-- | arch/arm/mach-tegra/board-bonaire-panel.c | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/board-bonaire-panel.c b/arch/arm/mach-tegra/board-bonaire-panel.c index 28544b798504..1958ec70eea8 100644 --- a/arch/arm/mach-tegra/board-bonaire-panel.c +++ b/arch/arm/mach-tegra/board-bonaire-panel.c @@ -209,6 +209,7 @@ static int bonaire_panel_disable(void) return 0; } +#if defined(CONFIG_TEGRA_DP) static struct tegra_dc_out_pin edp_out_pins[] = { { .name = TEGRA_DC_OUT_PIN_H_SYNC, @@ -227,6 +228,28 @@ static struct tegra_dc_out_pin edp_out_pins[] = { .pol = TEGRA_DC_OUT_PIN_POL_HIGH, }, }; +#endif + +#if defined(CONFIG_TEGRA_LVDS) +static struct tegra_dc_out_pin lvds_out_pins[] = { + { + .name = TEGRA_DC_OUT_PIN_H_SYNC, + .pol = TEGRA_DC_OUT_PIN_POL_LOW, + }, + { + .name = TEGRA_DC_OUT_PIN_V_SYNC, + .pol = TEGRA_DC_OUT_PIN_POL_LOW, + }, + { + .name = TEGRA_DC_OUT_PIN_PIXEL_CLOCK, + .pol = TEGRA_DC_OUT_PIN_POL_HIGH, + }, + { + .name = TEGRA_DC_OUT_PIN_DATA_ENABLE, + .pol = TEGRA_DC_OUT_PIN_POL_HIGH, + }, +}; +#endif static struct resource bonaire_disp1_resources[] = { { @@ -354,6 +377,24 @@ static struct tegra_dc_mode bonaire_panel_modes[] = { }, }; +#if defined(CONFIG_TEGRA_LVDS) +static struct tegra_dc_mode bonaire_lvds_panel_modes[] = { + { + .pclk = 27000000, + .h_ref_to_sync = 1, + .v_ref_to_sync = 1, + .h_sync_width = 32, + .v_sync_width = 5, + .h_back_porch = 20, + .v_back_porch = 12, + .h_active = 1366, + .v_active = 768, + .h_front_porch = 48, + .v_front_porch = 3, + }, +}; +#endif + static struct tegra_fb_data bonaire_fb_data = { .win = 0, #ifdef CONFIG_TEGRA_SIMULATION_PLATFORM @@ -640,8 +681,10 @@ static struct tegra_dc_out bonaire_disp_out = { #elif defined(CONFIG_TEGRA_LVDS) .type = TEGRA_DC_OUT_LVDS, - .modes = bonaire_panel_modes, - .n_modes = ARRAY_SIZE(bonaire_panel_modes), + .modes = bonaire_lvds_panel_modes, + .n_modes = ARRAY_SIZE(bonaire_lvds_panel_modes), + .out_pins = lvds_out_pins, + .n_out_pins = ARRAY_SIZE(lvds_out_pins), #elif defined(CONFIG_TEGRA_BONAIRE_DSI) .type = TEGRA_DC_OUT_DSI, |