xref: /linux/include/drm/bridge/inno_hdmi.h (revision a87fef0880c4f52769b5a3c2fc1b2d73aaa04eb3)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Copyright (c) 2025 Rockchip Electronics Co., Ltd.
4  */
5 
6 #ifndef __INNO_HDMI__
7 #define __INNO_HDMI__
8 
9 struct device;
10 struct drm_encoder;
11 struct drm_display_mode;
12 struct inno_hdmi;
13 
14 struct inno_hdmi_plat_ops {
15 	void (*enable)(struct device *pdev, struct drm_display_mode *mode);
16 };
17 
18 struct inno_hdmi_phy_config {
19 	unsigned long pixelclock;
20 	u8 pre_emphasis;
21 	u8 voltage_level_control;
22 };
23 
24 struct inno_hdmi_plat_data {
25 	const struct inno_hdmi_plat_ops *ops;
26 	struct inno_hdmi_phy_config *phy_configs;
27 	struct inno_hdmi_phy_config *default_phy_config;
28 };
29 
30 struct inno_hdmi *inno_hdmi_bind(struct device *pdev,
31 				 struct drm_encoder *encoder,
32 				 const struct inno_hdmi_plat_data *plat_data);
33 #endif /* __INNO_HDMI__ */
34