Lines Matching full:timing
28 static int tegra_dc_calc_refresh(const struct display_timing *timing) in tegra_dc_calc_refresh() argument
31 int pclk = timing->pixelclock.typ; in tegra_dc_calc_refresh()
33 h_total = timing->hactive.typ + timing->hfront_porch.typ + in tegra_dc_calc_refresh()
34 timing->hback_porch.typ + timing->hsync_len.typ; in tegra_dc_calc_refresh()
35 v_total = timing->vactive.typ + timing->vfront_porch.typ + in tegra_dc_calc_refresh()
36 timing->vback_porch.typ + timing->vsync_len.typ; in tegra_dc_calc_refresh()
46 static void print_mode(const struct display_timing *timing) in print_mode() argument
48 int refresh = tegra_dc_calc_refresh(timing); in print_mode()
51 timing->hactive.typ, timing->vactive.typ, refresh / 1000, in print_mode()
52 refresh % 1000, timing->pixelclock.typ); in print_mode()
56 const struct display_timing *timing, in update_display_mode() argument
59 print_mode(timing); in update_display_mode()
66 writel(timing->vsync_len.typ << 16 | timing->hsync_len.typ, in update_display_mode()
69 writel(((timing->vback_porch.typ - vref_to_sync) << 16) | in update_display_mode()
70 timing->hback_porch.typ, &disp_ctrl->disp.back_porch); in update_display_mode()
72 writel(((timing->vfront_porch.typ + vref_to_sync) << 16) | in update_display_mode()
73 timing->hfront_porch.typ, &disp_ctrl->disp.front_porch); in update_display_mode()
75 writel(timing->hactive.typ | (timing->vactive.typ << 16), in update_display_mode()
95 timing->pixelclock.typ, shift_clock_div); in update_display_mode()
228 const struct display_timing *timing) in update_window() argument
236 writel(((timing->vactive.typ << 16) | timing->hactive.typ), in update_window()
238 writel(((timing->vactive.typ << 16) | in update_window()
239 (timing->hactive.typ * fb_bits_per_pixel / 8)), in update_window()
241 writel(((timing->hactive.typ * fb_bits_per_pixel / 8 + 31) / in update_window()
307 static void dump_config(int panel_bpp, struct display_timing *timing) in dump_config() argument
309 printf("timing->hactive.typ = %d\n", timing->hactive.typ); in dump_config()
310 printf("timing->vactive.typ = %d\n", timing->vactive.typ); in dump_config()
311 printf("timing->pixelclock.typ = %d\n", timing->pixelclock.typ); in dump_config()
313 printf("timing->hfront_porch.typ = %d\n", timing->hfront_porch.typ); in dump_config()
314 printf("timing->hsync_len.typ = %d\n", timing->hsync_len.typ); in dump_config()
315 printf("timing->hback_porch.typ = %d\n", timing->hback_porch.typ); in dump_config()
317 printf("timing->vfront_porch.typ %d\n", timing->vfront_porch.typ); in dump_config()
318 printf("timing->vsync_len.typ = %d\n", timing->vsync_len.typ); in dump_config()
319 printf("timing->vback_porch.typ = %d\n", timing->vback_porch.typ); in dump_config()
326 struct display_timing *timing) in display_update_config_from_edid() argument
328 return display_read_timing(dp_dev, timing); in display_update_config_from_edid()
332 int fb_bits_per_pixel, struct display_timing *timing) in display_init() argument
365 if (ofnode_decode_display_timing(dev_ofnode(dev), 0, timing)) { in display_init()
366 debug("%s: Failed to decode display timing\n", __func__); in display_init()
370 ret = display_update_config_from_edid(dp_dev, &panel_bpp, timing); in display_init()
373 dump_config(panel_bpp, timing); in display_init()
381 plld_rate = clock_set_display_rate(timing->pixelclock.typ * 2); in display_init()
385 } else if (plld_rate != timing->pixelclock.typ * 2) { in display_init()
387 timing->pixelclock.typ = plld_rate / 2; in display_init()
398 ret = update_display_mode(dc_ctlr, timing, href_to_sync, vref_to_sync); in display_init()
405 ret = display_enable(dp_dev, panel_bpp, timing); in display_init()
411 ret = update_window(dc_ctlr, (ulong)lcdbase, fb_bits_per_pixel, timing); in display_init()
432 struct display_timing timing; in tegra124_lcd_init() local
451 ret = display_init(dev, lcdbase, 1 << l2bpp, &timing); in tegra124_lcd_init()
455 uc_priv->xsize = roundup(timing.hactive.typ, 16); in tegra124_lcd_init()
456 uc_priv->ysize = timing.vactive.typ; in tegra124_lcd_init()