From 9ac4a32ea1126f8875dc81d4b3a70b29e624712f Mon Sep 17 00:00:00 2001 From: Bhuvanchandra DV Date: Mon, 6 Feb 2017 11:24:01 +0530 Subject: apalis-tk1: video: use new modedb based settings Use modedb to set mode on Apalis TK1 frame buffer/display controller. Signed-off-by: Bhuvanchandra DV Acked-by: Marcel Ziswiler --- arch/arm/mach-tegra/board-apalis-tk1-panel.c | 67 ++-------------------------- arch/arm/mach-tegra/panel-c-lvds-1366-14.c | 56 ----------------------- 2 files changed, 4 insertions(+), 119 deletions(-) diff --git a/arch/arm/mach-tegra/board-apalis-tk1-panel.c b/arch/arm/mach-tegra/board-apalis-tk1-panel.c index 71701ff44f1e..9ee23e710f2f 100644 --- a/arch/arm/mach-tegra/board-apalis-tk1-panel.c +++ b/arch/arm/mach-tegra/board-apalis-tk1-panel.c @@ -204,22 +204,6 @@ static struct resource apalis_tk1_disp2_resources[] = { static struct tegra_dc_sd_settings sd_settings; #ifndef APALIS_TK1_EDP -static struct tegra_dc_mode apalis_tk1_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, - }, -}; - static struct tegra_dc_out_pin lvds_out_pins[] = { { .name = TEGRA_DC_OUT_PIN_H_SYNC, @@ -249,10 +233,9 @@ static struct tegra_dc_out apalis_tk1_disp1_out = { .order = TEGRA_DC_ORDER_RED_BLUE, .flags = TEGRA_DC_OUT_CONTINUOUS_MODE, .type = TEGRA_DC_OUT_LVDS, - .modes = apalis_tk1_lvds_panel_modes, - .n_modes = ARRAY_SIZE(apalis_tk1_lvds_panel_modes), - .out_pins = lvds_out_pins, - .n_out_pins = ARRAY_SIZE(lvds_out_pins), + .default_mode = "640x480-16@60", + .out_pins = lvds_out_pins, + .n_out_pins = ARRAY_SIZE(lvds_out_pins), #endif /* APALIS_TK1_EDP */ }; #endif @@ -386,40 +369,6 @@ struct tegra_hdmi_out apalis_tk1_hdmi_out = { .n_tmds_config = ARRAY_SIZE(apalis_tk1_tmds_config), }; -#if defined(CONFIG_FRAMEBUFFER_CONSOLE) -static struct tegra_dc_mode hdmi_panel_modes[] = { - { - .pclk = 25200000, - .h_ref_to_sync = 1, - .v_ref_to_sync = 1, - .h_sync_width = 96, /* hsync_len */ - .v_sync_width = 2, /* vsync_len */ - .h_back_porch = 48, /* left_margin */ - .v_back_porch = 33, /* upper_margin */ - .h_active = 640, /* xres */ - .v_active = 480, /* yres */ - .h_front_porch = 16, /* right_margin */ - .v_front_porch = 10, /* lower_margin */ - }, -}; -#elif defined(CONFIG_TEGRA_HDMI_PRIMARY) -static struct tegra_dc_mode hdmi_panel_modes[] = { - { - .pclk = 148500000, - .h_ref_to_sync = 1, - .v_ref_to_sync = 1, - .h_sync_width = 44, /* hsync_len */ - .v_sync_width = 5, /* vsync_len */ - .h_back_porch = 148, /* left_margin */ - .v_back_porch = 36, /* upper_margin */ - .h_active = 1920, /* xres */ - .v_active = 1080, /* yres */ - .h_front_porch = 88, /* right_margin */ - .v_front_porch = 4, /* lower_margin */ - }, -}; -#endif /* CONFIG_FRAMEBUFFER_CONSOLE || CONFIG_TEGRA_HDMI_PRIMARY */ - static struct tegra_dc_out apalis_tk1_disp2_out = { .type = TEGRA_DC_OUT_HDMI, .flags = TEGRA_DC_OUT_HOTPLUG_HIGH, @@ -436,8 +385,7 @@ static struct tegra_dc_out apalis_tk1_disp2_out = { /* TODO: update max pclk to POR */ .max_pixclock = KHZ2PICOS(297000), #if defined(CONFIG_FRAMEBUFFER_CONSOLE) || defined(CONFIG_TEGRA_HDMI_PRIMARY) - .modes = hdmi_panel_modes, - .n_modes = ARRAY_SIZE(hdmi_panel_modes), + .default_mode = "1920x1080-16@60", .depth = 24, #endif /* CONFIG_FRAMEBUFFER_CONSOLE */ @@ -453,7 +401,6 @@ static struct tegra_dc_out apalis_tk1_disp2_out = { #ifndef CONFIG_TEGRA_HDMI_PRIMARY static struct tegra_fb_data apalis_tk1_disp1_fb_data = { .win = 0, - .bits_per_pixel = 32, .flags = TEGRA_FB_FLIP_ON_PROBE, }; @@ -471,9 +418,6 @@ static struct tegra_dc_platform_data apalis_tk1_disp1_pdata = { static struct tegra_fb_data apalis_tk1_disp2_fb_data = { .win = 0, - .xres = 1920, - .yres = 1080, - .bits_per_pixel = 32, .flags = TEGRA_FB_FLIP_ON_PROBE, }; @@ -660,9 +604,6 @@ static void apalis_tk1_panel_select(void) if (panel->init_dc_out) panel->init_dc_out(&apalis_tk1_disp1_out); - if (panel->init_fb_data) - panel->init_fb_data(&apalis_tk1_disp1_fb_data); - if (panel->init_cmu_data) panel->init_cmu_data(&apalis_tk1_disp1_pdata); diff --git a/arch/arm/mach-tegra/panel-c-lvds-1366-14.c b/arch/arm/mach-tegra/panel-c-lvds-1366-14.c index 027fb4474072..cc9a3ba8bb73 100644 --- a/arch/arm/mach-tegra/panel-c-lvds-1366-14.c +++ b/arch/arm/mach-tegra/panel-c-lvds-1366-14.c @@ -319,52 +319,6 @@ static struct tegra_dc_out_pin lvds_out_pins[] = { }, }; -static struct tegra_dc_mode lvds_c_1366_14_modes[] = { - { - .pclk = 55000000, /* LDB-AM-800600LTNQW-A0H */ - .h_ref_to_sync = 1, - .v_ref_to_sync = 1, - .h_sync_width = 80, - .v_sync_width = 4, - .h_back_porch = 112, - .v_back_porch = 3, - .h_active = 800, - .v_active = 600, - .h_front_porch = 32, - .v_front_porch = 17, - }, - { - /* - * TouchRevolution Fusion 10" aka - * Chunghwa Picture Tubes CLAA100NC05 - */ - .pclk = 48000000, - .h_ref_to_sync = 1, - .v_ref_to_sync = 1, - .h_sync_width = 5, - .v_sync_width = 5, - .h_back_porch = 104, - .v_back_porch = 24, - .h_active = 1024, - .v_active = 600, - .h_front_porch = 43, - .v_front_porch = 20, - }, - { - .pclk = 74720100, /* 1366 x 768 @ 60hz */ - .h_ref_to_sync = 1, - .v_ref_to_sync = 1, - .h_sync_width = 45, - .v_sync_width = 7, - .h_back_porch = 113, - .v_back_porch = 21, - .h_active = 1366, - .v_active = 768, - .h_front_porch = 68, - .v_front_porch = 4, - }, -}; - static int lvds_c_1366_14_bl_notify(struct device *unused, int brightness) { int cur_sd_brightness = atomic_read(&sd_brightness); @@ -438,8 +392,6 @@ static void lvds_c_1366_14_dc_out_init(struct tegra_dc_out *dc) dc->align = TEGRA_DC_ALIGN_MSB, dc->order = TEGRA_DC_ORDER_RED_BLUE, dc->flags = DC_CTRL_MODE; - dc->modes = lvds_c_1366_14_modes; - dc->n_modes = ARRAY_SIZE(lvds_c_1366_14_modes); dc->out_pins = lvds_out_pins, dc->n_out_pins = ARRAY_SIZE(lvds_out_pins), dc->depth = 18, @@ -451,12 +403,6 @@ static void lvds_c_1366_14_dc_out_init(struct tegra_dc_out *dc) dc->height = 174; } -static void lvds_c_1366_14_fb_data_init(struct tegra_fb_data *fb) -{ - fb->xres = lvds_c_1366_14_modes[0].h_active; - fb->yres = lvds_c_1366_14_modes[0].v_active; -} - static void lvds_c_1366_14_sd_settings_init(struct tegra_dc_sd_settings *settings) { @@ -467,9 +413,7 @@ lvds_c_1366_14_sd_settings_init(struct tegra_dc_sd_settings *settings) struct tegra_panel __initdata lvds_c_1366_14 = { .init_sd_settings = lvds_c_1366_14_sd_settings_init, .init_dc_out = lvds_c_1366_14_dc_out_init, - .init_fb_data = lvds_c_1366_14_fb_data_init, .register_bl_dev = lvds_c_1366_14_register_bl_dev, .set_disp_device = lvds_c_1366_14_set_disp_device, }; EXPORT_SYMBOL(lvds_c_1366_14); - -- cgit v1.2.3