dsi.h (9c9f6f8d472cc9e11f2c0b370685ce78ab7eb2fa) dsi.h (dceac340155b66b6c97cb802b03d4778dd82e9be)
1/*
2 * 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,

--- 13 unchanged lines hidden (view full) ---

22#include "drm_panel.h"
23
24#include "msm_drv.h"
25
26#define DSI_0 0
27#define DSI_1 1
28#define DSI_MAX 2
29
1/*
2 * 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,

--- 13 unchanged lines hidden (view full) ---

22#include "drm_panel.h"
23
24#include "msm_drv.h"
25
26#define DSI_0 0
27#define DSI_1 1
28#define DSI_MAX 2
29
30struct msm_dsi_phy_shared_timings;
31
30enum msm_dsi_phy_type {
31 MSM_DSI_PHY_28NM_HPM,
32 MSM_DSI_PHY_28NM_LP,
33 MSM_DSI_PHY_20NM,
34 MSM_DSI_PHY_28NM_8960,
35 MSM_DSI_PHY_MAX
36};
37

--- 43 unchanged lines hidden (view full) ---

81
82/* dsi manager */
83struct drm_bridge *msm_dsi_manager_bridge_init(u8 id);
84void msm_dsi_manager_bridge_destroy(struct drm_bridge *bridge);
85struct drm_connector *msm_dsi_manager_connector_init(u8 id);
86struct drm_connector *msm_dsi_manager_ext_bridge_init(u8 id);
87int msm_dsi_manager_phy_enable(int id,
88 const unsigned long bit_rate, const unsigned long esc_rate,
32enum msm_dsi_phy_type {
33 MSM_DSI_PHY_28NM_HPM,
34 MSM_DSI_PHY_28NM_LP,
35 MSM_DSI_PHY_20NM,
36 MSM_DSI_PHY_28NM_8960,
37 MSM_DSI_PHY_MAX
38};
39

--- 43 unchanged lines hidden (view full) ---

83
84/* dsi manager */
85struct drm_bridge *msm_dsi_manager_bridge_init(u8 id);
86void msm_dsi_manager_bridge_destroy(struct drm_bridge *bridge);
87struct drm_connector *msm_dsi_manager_connector_init(u8 id);
88struct drm_connector *msm_dsi_manager_ext_bridge_init(u8 id);
89int msm_dsi_manager_phy_enable(int id,
90 const unsigned long bit_rate, const unsigned long esc_rate,
89 u32 *clk_pre, u32 *clk_post);
91 struct msm_dsi_phy_shared_timings *shared_timing);
90void msm_dsi_manager_phy_disable(int id);
91int msm_dsi_manager_cmd_xfer(int id, const struct mipi_dsi_msg *msg);
92bool msm_dsi_manager_cmd_xfer_trigger(int id, u32 dma_base, u32 len);
93void msm_dsi_manager_attach_dsi_device(int id, u32 device_flags);
94int msm_dsi_manager_register(struct msm_dsi *msm_dsi);
95void msm_dsi_manager_unregister(struct msm_dsi *msm_dsi);
96
97/* msm dsi */

--- 62 unchanged lines hidden (view full) ---

160 struct msm_dsi_pll *src_pll);
161void msm_dsi_host_destroy(struct mipi_dsi_host *host);
162int msm_dsi_host_modeset_init(struct mipi_dsi_host *host,
163 struct drm_device *dev);
164int msm_dsi_host_init(struct msm_dsi *msm_dsi);
165
166/* dsi phy */
167struct msm_dsi_phy;
92void msm_dsi_manager_phy_disable(int id);
93int msm_dsi_manager_cmd_xfer(int id, const struct mipi_dsi_msg *msg);
94bool msm_dsi_manager_cmd_xfer_trigger(int id, u32 dma_base, u32 len);
95void msm_dsi_manager_attach_dsi_device(int id, u32 device_flags);
96int msm_dsi_manager_register(struct msm_dsi *msm_dsi);
97void msm_dsi_manager_unregister(struct msm_dsi *msm_dsi);
98
99/* msm dsi */

--- 62 unchanged lines hidden (view full) ---

162 struct msm_dsi_pll *src_pll);
163void msm_dsi_host_destroy(struct mipi_dsi_host *host);
164int msm_dsi_host_modeset_init(struct mipi_dsi_host *host,
165 struct drm_device *dev);
166int msm_dsi_host_init(struct msm_dsi *msm_dsi);
167
168/* dsi phy */
169struct msm_dsi_phy;
170struct msm_dsi_phy_shared_timings {
171 u32 clk_post;
172 u32 clk_pre;
173 bool clk_pre_inc_by_2;
174};
168void msm_dsi_phy_driver_register(void);
169void msm_dsi_phy_driver_unregister(void);
170int msm_dsi_phy_enable(struct msm_dsi_phy *phy, int src_pll_id,
171 const unsigned long bit_rate, const unsigned long esc_rate);
172void msm_dsi_phy_disable(struct msm_dsi_phy *phy);
175void msm_dsi_phy_driver_register(void);
176void msm_dsi_phy_driver_unregister(void);
177int msm_dsi_phy_enable(struct msm_dsi_phy *phy, int src_pll_id,
178 const unsigned long bit_rate, const unsigned long esc_rate);
179void msm_dsi_phy_disable(struct msm_dsi_phy *phy);
173void msm_dsi_phy_get_clk_pre_post(struct msm_dsi_phy *phy,
174 u32 *clk_pre, u32 *clk_post);
180void msm_dsi_phy_get_shared_timings(struct msm_dsi_phy *phy,
181 struct msm_dsi_phy_shared_timings *shared_timing);
175struct msm_dsi_pll *msm_dsi_phy_get_pll(struct msm_dsi_phy *phy);
176
177#endif /* __DSI_CONNECTOR_H__ */
178
182struct msm_dsi_pll *msm_dsi_phy_get_pll(struct msm_dsi_phy *phy);
183
184#endif /* __DSI_CONNECTOR_H__ */
185