aboutsummaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorYannick Fertre <yannick.fertre@st.com>2020-06-24 10:43:59 +0200
committerAnatolij Gustschin <agust@denx.de>2020-06-28 01:22:24 +0200
commit670eda329329d591d276b02c8918e7918aaedde7 (patch)
treec5ff7c08718b9c9faa7c28bb2ed70e5399470c9a /drivers/video
parent70b06d95426c016ce302b408f6d2ba9bd3bbda02 (diff)
downloadu-boot-670eda329329d591d276b02c8918e7918aaedde7.zip
u-boot-670eda329329d591d276b02c8918e7918aaedde7.tar.gz
u-boot-670eda329329d591d276b02c8918e7918aaedde7.tar.bz2
video: check hardware version of DSI
Check the hardware version of DSI. Versions 1.30 & 1.31 are only supported. Signed-off-by: Yannick Fertre <yannick.fertre@st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com> Reviewed-by: Philippe Cornu <philippe.cornu@st.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/stm32/stm32_dsi.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/video/stm32/stm32_dsi.c b/drivers/video/stm32/stm32_dsi.c
index 0479643..31ab8eb 100644
--- a/drivers/video/stm32/stm32_dsi.c
+++ b/drivers/video/stm32/stm32_dsi.c
@@ -271,7 +271,6 @@ static int dsi_get_lane_mbps(void *priv_data, struct display_timing *timings,
u32 val;
/* Update lane capabilities according to hw version */
- dsi->hw_version = dsi_read(dsi, DSI_VERSION) & VERSION;
dsi->lane_min_kbps = LANE_MIN_KBPS;
dsi->lane_max_kbps = LANE_MAX_KBPS;
if (dsi->hw_version == HWVER_131) {
@@ -475,6 +474,15 @@ static int stm32_dsi_probe(struct udevice *dev)
/* Reset */
reset_deassert(&rst);
+ /* check hardware version */
+ priv->hw_version = dsi_read(priv, DSI_VERSION) & VERSION;
+ if (priv->hw_version != HWVER_130 &&
+ priv->hw_version != HWVER_131) {
+ dev_err(dev, "DSI version 0x%x not supported\n", priv->hw_version);
+ ret = -ENODEV;
+ goto err_clk;
+ }
+
return 0;
err_clk:
clk_disable(&clk);