| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (c) 2015, The Linux Foundation. All rights reserved. |
|---|
| 3 | | - * |
|---|
| 4 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 5 | | - * it under the terms of the GNU General Public License version 2 and |
|---|
| 6 | | - * only version 2 as published by the Free Software Foundation. |
|---|
| 7 | | - * |
|---|
| 8 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 9 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 10 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 11 | | - * GNU General Public License for more details. |
|---|
| 12 | 4 | */ |
|---|
| 13 | 5 | |
|---|
| 14 | 6 | #ifndef __DSI_CONNECTOR_H__ |
|---|
| .. | .. |
|---|
| 17 | 9 | #include <linux/of_platform.h> |
|---|
| 18 | 10 | #include <linux/platform_device.h> |
|---|
| 19 | 11 | |
|---|
| 12 | +#include <drm/drm_bridge.h> |
|---|
| 20 | 13 | #include <drm/drm_crtc.h> |
|---|
| 21 | 14 | #include <drm/drm_mipi_dsi.h> |
|---|
| 22 | 15 | #include <drm/drm_panel.h> |
|---|
| .. | .. |
|---|
| 37 | 30 | MSM_DSI_PHY_28NM_8960, |
|---|
| 38 | 31 | MSM_DSI_PHY_14NM, |
|---|
| 39 | 32 | MSM_DSI_PHY_10NM, |
|---|
| 33 | + MSM_DSI_PHY_7NM, |
|---|
| 34 | + MSM_DSI_PHY_7NM_V4_1, |
|---|
| 40 | 35 | MSM_DSI_PHY_MAX |
|---|
| 41 | 36 | }; |
|---|
| 42 | 37 | |
|---|
| .. | .. |
|---|
| 79 | 74 | */ |
|---|
| 80 | 75 | struct drm_panel *panel; |
|---|
| 81 | 76 | struct drm_bridge *external_bridge; |
|---|
| 82 | | - unsigned long device_flags; |
|---|
| 83 | 77 | |
|---|
| 84 | 78 | struct device *phy_dev; |
|---|
| 85 | 79 | bool phy_enabled; |
|---|
| .. | .. |
|---|
| 97 | 91 | struct drm_connector *msm_dsi_manager_ext_bridge_init(u8 id); |
|---|
| 98 | 92 | int msm_dsi_manager_cmd_xfer(int id, const struct mipi_dsi_msg *msg); |
|---|
| 99 | 93 | bool msm_dsi_manager_cmd_xfer_trigger(int id, u32 dma_base, u32 len); |
|---|
| 100 | | -void msm_dsi_manager_attach_dsi_device(int id, u32 device_flags); |
|---|
| 94 | +void msm_dsi_manager_setup_encoder(int id); |
|---|
| 101 | 95 | int msm_dsi_manager_register(struct msm_dsi *msm_dsi); |
|---|
| 102 | 96 | void msm_dsi_manager_unregister(struct msm_dsi *msm_dsi); |
|---|
| 103 | 97 | bool msm_dsi_manager_validate_current_config(u8 id); |
|---|
| .. | .. |
|---|
| 168 | 162 | bool is_dual_dsi); |
|---|
| 169 | 163 | int msm_dsi_host_power_off(struct mipi_dsi_host *host); |
|---|
| 170 | 164 | int msm_dsi_host_set_display_mode(struct mipi_dsi_host *host, |
|---|
| 171 | | - struct drm_display_mode *mode); |
|---|
| 172 | | -struct drm_panel *msm_dsi_host_get_panel(struct mipi_dsi_host *host, |
|---|
| 173 | | - unsigned long *panel_flags); |
|---|
| 165 | + const struct drm_display_mode *mode); |
|---|
| 166 | +struct drm_panel *msm_dsi_host_get_panel(struct mipi_dsi_host *host); |
|---|
| 167 | +unsigned long msm_dsi_host_get_mode_flags(struct mipi_dsi_host *host); |
|---|
| 174 | 168 | struct drm_bridge *msm_dsi_host_get_bridge(struct mipi_dsi_host *host); |
|---|
| 175 | 169 | int msm_dsi_host_register(struct mipi_dsi_host *host, bool check_defer); |
|---|
| 176 | 170 | void msm_dsi_host_unregister(struct mipi_dsi_host *host); |
|---|
| .. | .. |
|---|
| 186 | 180 | int msm_dsi_host_init(struct msm_dsi *msm_dsi); |
|---|
| 187 | 181 | int msm_dsi_runtime_suspend(struct device *dev); |
|---|
| 188 | 182 | int msm_dsi_runtime_resume(struct device *dev); |
|---|
| 183 | +int dsi_link_clk_set_rate_6g(struct msm_dsi_host *msm_host); |
|---|
| 184 | +int dsi_link_clk_set_rate_v2(struct msm_dsi_host *msm_host); |
|---|
| 189 | 185 | int dsi_link_clk_enable_6g(struct msm_dsi_host *msm_host); |
|---|
| 190 | 186 | int dsi_link_clk_enable_v2(struct msm_dsi_host *msm_host); |
|---|
| 191 | 187 | void dsi_link_clk_disable_6g(struct msm_dsi_host *msm_host); |
|---|