diff options
author | Thierry Reding <treding@nvidia.com> | 2013-11-15 10:06:05 -0500 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2014-04-04 03:12:50 -0400 |
commit | 6b6b604215c64666fbf0fed939a5c312cc7b12fe (patch) | |
tree | 965dec0ece2b01700f4f68b4e75542219ee37bec /drivers/gpu/drm/tegra/drm.h | |
parent | 64400c3791d9fcebf23318a289f9da964547a6f3 (diff) |
drm/tegra: Add eDP support
Add support for eDP functionality found on Tegra124 and later SoCs. Only
fast link training is currently supported.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/gpu/drm/tegra/drm.h')
-rw-r--r-- | drivers/gpu/drm/tegra/drm.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/drm.h b/drivers/gpu/drm/tegra/drm.h index bf1cac7658f8..126332c3ecbb 100644 --- a/drivers/gpu/drm/tegra/drm.h +++ b/drivers/gpu/drm/tegra/drm.h | |||
@@ -179,12 +179,14 @@ struct tegra_output_ops { | |||
179 | int (*check_mode)(struct tegra_output *output, | 179 | int (*check_mode)(struct tegra_output *output, |
180 | struct drm_display_mode *mode, | 180 | struct drm_display_mode *mode, |
181 | enum drm_mode_status *status); | 181 | enum drm_mode_status *status); |
182 | enum drm_connector_status (*detect)(struct tegra_output *output); | ||
182 | }; | 183 | }; |
183 | 184 | ||
184 | enum tegra_output_type { | 185 | enum tegra_output_type { |
185 | TEGRA_OUTPUT_RGB, | 186 | TEGRA_OUTPUT_RGB, |
186 | TEGRA_OUTPUT_HDMI, | 187 | TEGRA_OUTPUT_HDMI, |
187 | TEGRA_OUTPUT_DSI, | 188 | TEGRA_OUTPUT_DSI, |
189 | TEGRA_OUTPUT_EDP, | ||
188 | }; | 190 | }; |
189 | 191 | ||
190 | struct tegra_output { | 192 | struct tegra_output { |
@@ -265,6 +267,22 @@ extern int tegra_output_remove(struct tegra_output *output); | |||
265 | extern int tegra_output_init(struct drm_device *drm, struct tegra_output *output); | 267 | extern int tegra_output_init(struct drm_device *drm, struct tegra_output *output); |
266 | extern int tegra_output_exit(struct tegra_output *output); | 268 | extern int tegra_output_exit(struct tegra_output *output); |
267 | 269 | ||
270 | /* from dpaux.c */ | ||
271 | |||
272 | struct tegra_dpaux; | ||
273 | struct drm_dp_link; | ||
274 | struct drm_dp_aux; | ||
275 | |||
276 | struct tegra_dpaux *tegra_dpaux_find_by_of_node(struct device_node *np); | ||
277 | enum drm_connector_status tegra_dpaux_detect(struct tegra_dpaux *dpaux); | ||
278 | int tegra_dpaux_attach(struct tegra_dpaux *dpaux, struct tegra_output *output); | ||
279 | int tegra_dpaux_detach(struct tegra_dpaux *dpaux); | ||
280 | int tegra_dpaux_enable(struct tegra_dpaux *dpaux); | ||
281 | int tegra_dpaux_disable(struct tegra_dpaux *dpaux); | ||
282 | int tegra_dpaux_prepare(struct tegra_dpaux *dpaux, u8 encoding); | ||
283 | int tegra_dpaux_train(struct tegra_dpaux *dpaux, struct drm_dp_link *link, | ||
284 | u8 pattern); | ||
285 | |||
268 | /* from fb.c */ | 286 | /* from fb.c */ |
269 | struct tegra_bo *tegra_fb_get_plane(struct drm_framebuffer *framebuffer, | 287 | struct tegra_bo *tegra_fb_get_plane(struct drm_framebuffer *framebuffer, |
270 | unsigned int index); | 288 | unsigned int index); |
@@ -278,7 +296,9 @@ extern void tegra_fbdev_restore_mode(struct tegra_fbdev *fbdev); | |||
278 | 296 | ||
279 | extern struct platform_driver tegra_dc_driver; | 297 | extern struct platform_driver tegra_dc_driver; |
280 | extern struct platform_driver tegra_dsi_driver; | 298 | extern struct platform_driver tegra_dsi_driver; |
299 | extern struct platform_driver tegra_sor_driver; | ||
281 | extern struct platform_driver tegra_hdmi_driver; | 300 | extern struct platform_driver tegra_hdmi_driver; |
301 | extern struct platform_driver tegra_dpaux_driver; | ||
282 | extern struct platform_driver tegra_gr2d_driver; | 302 | extern struct platform_driver tegra_gr2d_driver; |
283 | extern struct platform_driver tegra_gr3d_driver; | 303 | extern struct platform_driver tegra_gr3d_driver; |
284 | 304 | ||