diff options
author | Vinod Polimera <vpolimer@codeaurora.org> | 2021-03-16 18:37:40 +0530 |
---|---|---|
committer | Julius Werner <jwerner@chromium.org> | 2021-08-03 21:22:26 +0000 |
commit | e8cd480046b2f8660c52d5503d5cc0cd4a5cd002 (patch) | |
tree | a736c1e6fe9c69b11a90c2be2fc53c737e82c05d /src/soc/qualcomm/sc7180/include | |
parent | 8ca68cf2ae8d172c237cf05d37f2b5c5a2775f9f (diff) |
sc7180: Add display support for mipi panels
- configure TROGDOR_HAS_MIPI_PANEL to "n" by default, it can be updated for mipi panels.
- add simple rm69299 panel as an example to append new mipi panels.
- use existing edid struct to update mipi panel parameters.
- add dsi command tx interface for mipi panel on commands.
Change-Id: Id698265a4e2399ad1c26e026e9a5f8ecd305467f
Signed-off-by: Vinod Polimera <vpolimer@codeaurora.org>
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52662
Reviewed-by: Shelley Chen <shchen@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/qualcomm/sc7180/include')
-rw-r--r-- | src/soc/qualcomm/sc7180/include/soc/display/mipi_dsi.h | 11 | ||||
-rw-r--r-- | src/soc/qualcomm/sc7180/include/soc/display/panel.h | 17 |
2 files changed, 26 insertions, 2 deletions
diff --git a/src/soc/qualcomm/sc7180/include/soc/display/mipi_dsi.h b/src/soc/qualcomm/sc7180/include/soc/display/mipi_dsi.h index 47fd3084c6..3b3dc513ab 100644 --- a/src/soc/qualcomm/sc7180/include/soc/display/mipi_dsi.h +++ b/src/soc/qualcomm/sc7180/include/soc/display/mipi_dsi.h @@ -3,6 +3,7 @@ #ifndef _SOC_DISPLAY_MIPI_DSI_H_ #define _SOC_DISPLAY_MIPI_DSI_H_ +#include <soc/display/panel.h> /********************************************************** DSI register configuration options **********************************************************/ @@ -14,6 +15,12 @@ #define DSI_VIDEO_DST_FORMAT_RGB666_LOOSE 2 #define DSI_VIDEO_DST_FORMAT_RGB888 3 +struct mipi_dsi_cmd { + char payload[4]; + uint32_t size; + int delay_us; +}; + enum { DSI_VIDEO_MODE, DSI_CMD_MODE, @@ -21,7 +28,7 @@ enum { enum cb_err mdss_dsi_config(struct edid *edid, uint32_t num_of_lanes, uint32_t bpp); void mdss_dsi_clock_config(void); -void mdss_dsi_video_mode_config(struct edid *edid, - uint32_t bpp); +void mdss_dsi_video_mode_config(struct edid *edid, uint32_t bpp); +int mdss_dsi_panel_initialize(const struct panel_data *pinfo); #endif diff --git a/src/soc/qualcomm/sc7180/include/soc/display/panel.h b/src/soc/qualcomm/sc7180/include/soc/display/panel.h new file mode 100644 index 0000000000..04a7a6ab06 --- /dev/null +++ b/src/soc/qualcomm/sc7180/include/soc/display/panel.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef _PANEL_H_ +#define _PANEL_H_ + +#include <types.h> + +struct panel_data { + uint8_t lanes; + struct mipi_dsi_cmd *init_cmd; + uint32_t init_cmd_count; +}; + +void panel_power_on(void); +const struct panel_data *get_panel_config(struct edid *edid); + +#endif /*_PANEL_H_ */ |