159104f23SKuninori Morimoto /* SPDX-License-Identifier: GPL-2.0+ */
251c13278SLaurent Pinchart /*
351c13278SLaurent Pinchart  * shmob_drm.h  --  SH Mobile DRM driver
451c13278SLaurent Pinchart  *
551c13278SLaurent Pinchart  * Copyright (C) 2012 Renesas Corporation
651c13278SLaurent Pinchart  *
751c13278SLaurent Pinchart  * Laurent Pinchart ([email protected])
851c13278SLaurent Pinchart  */
951c13278SLaurent Pinchart 
1051c13278SLaurent Pinchart #ifndef __SHMOB_DRM_H__
1151c13278SLaurent Pinchart #define __SHMOB_DRM_H__
1251c13278SLaurent Pinchart 
136a6ab0c7SLaurent Pinchart #include <video/videomode.h>
1451c13278SLaurent Pinchart 
1551c13278SLaurent Pinchart enum shmob_drm_clk_source {
1651c13278SLaurent Pinchart 	SHMOB_DRM_CLK_BUS,
1751c13278SLaurent Pinchart 	SHMOB_DRM_CLK_PERIPHERAL,
1851c13278SLaurent Pinchart 	SHMOB_DRM_CLK_EXTERNAL,
1951c13278SLaurent Pinchart };
2051c13278SLaurent Pinchart 
2151c13278SLaurent Pinchart struct shmob_drm_panel_data {
2251c13278SLaurent Pinchart 	unsigned int width_mm;		/* Panel width in mm */
2351c13278SLaurent Pinchart 	unsigned int height_mm;		/* Panel height in mm */
246a6ab0c7SLaurent Pinchart 	struct videomode mode;
2551c13278SLaurent Pinchart };
2651c13278SLaurent Pinchart 
2751c13278SLaurent Pinchart struct shmob_drm_interface_data {
28*fa32c6bcSGeert Uytterhoeven 	unsigned int bus_fmt;		/* MEDIA_BUS_FMT_* */
2951c13278SLaurent Pinchart 	unsigned int clk_div;
3051c13278SLaurent Pinchart };
3151c13278SLaurent Pinchart 
3251c13278SLaurent Pinchart struct shmob_drm_platform_data {
3351c13278SLaurent Pinchart 	enum shmob_drm_clk_source clk_source;
3451c13278SLaurent Pinchart 	struct shmob_drm_interface_data iface;
3551c13278SLaurent Pinchart 	struct shmob_drm_panel_data panel;
3651c13278SLaurent Pinchart };
3751c13278SLaurent Pinchart 
3851c13278SLaurent Pinchart #endif /* __SHMOB_DRM_H__ */
39