162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2012 Steffen Trumtrar <s.trumtrar@pengutronix.de> 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * generic videomode description 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifndef __LINUX_VIDEOMODE_H 962306a36Sopenharmony_ci#define __LINUX_VIDEOMODE_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <linux/types.h> 1262306a36Sopenharmony_ci#include <video/display_timing.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/* 1562306a36Sopenharmony_ci * Subsystem independent description of a videomode. 1662306a36Sopenharmony_ci * Can be generated from struct display_timing. 1762306a36Sopenharmony_ci */ 1862306a36Sopenharmony_cistruct videomode { 1962306a36Sopenharmony_ci unsigned long pixelclock; /* pixelclock in Hz */ 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci u32 hactive; 2262306a36Sopenharmony_ci u32 hfront_porch; 2362306a36Sopenharmony_ci u32 hback_porch; 2462306a36Sopenharmony_ci u32 hsync_len; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci u32 vactive; 2762306a36Sopenharmony_ci u32 vfront_porch; 2862306a36Sopenharmony_ci u32 vback_porch; 2962306a36Sopenharmony_ci u32 vsync_len; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci enum display_flags flags; /* display flags */ 3262306a36Sopenharmony_ci}; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci/** 3562306a36Sopenharmony_ci * videomode_from_timing - convert display timing to videomode 3662306a36Sopenharmony_ci * @dt: display_timing structure 3762306a36Sopenharmony_ci * @vm: return value 3862306a36Sopenharmony_ci * 3962306a36Sopenharmony_ci * DESCRIPTION: 4062306a36Sopenharmony_ci * This function converts a struct display_timing to a struct videomode. 4162306a36Sopenharmony_ci */ 4262306a36Sopenharmony_civoid videomode_from_timing(const struct display_timing *dt, 4362306a36Sopenharmony_ci struct videomode *vm); 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci/** 4662306a36Sopenharmony_ci * videomode_from_timings - convert one display timings entry to videomode 4762306a36Sopenharmony_ci * @disp: structure with all possible timing entries 4862306a36Sopenharmony_ci * @vm: return value 4962306a36Sopenharmony_ci * @index: index into the list of display timings in devicetree 5062306a36Sopenharmony_ci * 5162306a36Sopenharmony_ci * DESCRIPTION: 5262306a36Sopenharmony_ci * This function converts one struct display_timing entry to a struct videomode. 5362306a36Sopenharmony_ci */ 5462306a36Sopenharmony_ciint videomode_from_timings(const struct display_timings *disp, 5562306a36Sopenharmony_ci struct videomode *vm, unsigned int index); 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci#endif 58