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,
.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
.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,
/* 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 */
#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,
};
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,
};
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);
},
};
-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);
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,
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)
{
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);
-