apalis-tk1: video: use new modedb based settings
authorBhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Mon, 6 Feb 2017 05:54:01 +0000 (11:24 +0530)
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>
Tue, 4 Apr 2017 11:48:02 +0000 (13:48 +0200)
Use modedb to set mode on Apalis TK1 frame buffer/display
controller.

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
arch/arm/mach-tegra/board-apalis-tk1-panel.c
arch/arm/mach-tegra/panel-c-lvds-1366-14.c

index 71701ff44f1e9438ffc05a4601354e93440e068d..9ee23e710f2f4d16cc0eabfd069da58d7cf78c53 100644 (file)
@@ -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);
 
index 027fb4474072550d421f6c9ec4f66da0cebefa1d..cc9a3ba8bb738e07251e38b9b6956aaff8564add 100644 (file)
@@ -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);
-