summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHal Feng <hal.feng@starfivetech.com>2023-08-22 11:13:50 +0300
committerHal Feng <hal.feng@starfivetech.com>2023-11-29 05:54:59 +0300
commit9338dd6190d43bfa59df24ec6b0920eab34967fd (patch)
tree6166feeb89f13595681f211cf7bbbc31eed92a2a
parent493ae680a34dc739736ac05171d387e0e967a1a5 (diff)
downloadu-boot-9338dd6190d43bfa59df24ec6b0920eab34967fd.tar.xz
video: Rename raydium-rm68200-starfive.c to starfive_seeed_panel.c
The code is ported from tag JH7110_DVK_515_v3.9.3 of Devkits repo. Signed-off-by: Keith Zhao <keith.zhao@starfivetech.com> Signed-off-by: Shengyang Chen <shengyang.chen@starfivetech.com> Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
-rw-r--r--drivers/video/Makefile2
-rw-r--r--drivers/video/starfive_seeed_panel.c (renamed from drivers/video/raydium-rm68200-starfive.c)33
2 files changed, 25 insertions, 10 deletions
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index 33066e2d7f..bfab1e3d9c 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -57,7 +57,7 @@ obj-$(CONFIG_VIDEO_LCD_ANX9804) += anx9804.o
obj-$(CONFIG_VIDEO_LCD_HITACHI_TX18D42VM) += hitachi_tx18d42vm_lcd.o
obj-$(CONFIG_VIDEO_LCD_ORISETECH_OTM8009A) += orisetech_otm8009a.o
obj-$(CONFIG_VIDEO_LCD_RAYDIUM_RM68200) += raydium-rm68200.o
-obj-$(CONFIG_VIDEO_LCD_STARFIVE_SEEED) += raydium-rm68200-starfive.o
+obj-$(CONFIG_VIDEO_LCD_STARFIVE_SEEED) += starfive_seeed_panel.o
obj-$(CONFIG_VIDEO_SF_MIPI2EDP) += starfive_edp.o
obj-$(CONFIG_VIDEO_LCD_SSD2828) += ssd2828.o
obj-$(CONFIG_VIDEO_LCD_TDO_TL070WSH30) += tdo-tl070wsh30.o
diff --git a/drivers/video/raydium-rm68200-starfive.c b/drivers/video/starfive_seeed_panel.c
index c4234d58f2..636974fd7e 100644
--- a/drivers/video/raydium-rm68200-starfive.c
+++ b/drivers/video/starfive_seeed_panel.c
@@ -4,8 +4,8 @@
* Author(s): Yannick Fertre <yannick.fertre@st.com> for STMicroelectronics.
* Philippe Cornu <philippe.cornu@st.com> for STMicroelectronics.
*
- * This rm68200 panel driver is inspired from the Linux Kernel driver
- * drivers/gpu/drm/panel/panel-raydium-rm68200.c.
+ * This seeed panel driver is inspired from the Linux Kernel driver
+ * drivers/gpu/drm/panel/panel-raydium-seeed.c.
*/
#include <common.h>
#include <backlight.h>
@@ -145,15 +145,16 @@ enum REG_ADDR {
/* Chip/Rev Registers */
#define IDREG 0x04A0
-/* Debug Registers */
+/* printf Registers */
#define WCMDQUEUE 0x0500
#define RCMDQUEUE 0x0504
-struct rm68200_panel_priv {
+struct seeed_panel_priv {
struct udevice *reg;
struct udevice *backlight;
- struct gpio_desc reset;
+ struct gpio_desc *sel_gpio; //select
+
};
static const struct display_timing default_timing = {
@@ -292,6 +293,9 @@ static int rm68200_panel_of_to_plat(struct udevice *dev)
static int rm68200_panel_probe(struct udevice *dev)
{
struct mipi_dsi_panel_plat *plat = dev_get_plat(dev);
+#if CONFIG_IS_ENABLED(TARGET_STARFIVE_DEVKITS)
+ struct seeed_panel_priv *priv = dev_get_priv(dev);
+#endif
u8 reg_value = 0;
@@ -315,6 +319,17 @@ static int rm68200_panel_probe(struct udevice *dev)
return -ENODEV;
}
+#if CONFIG_IS_ENABLED(TARGET_STARFIVE_DEVKITS)
+ priv->sel_gpio = devm_gpiod_get_optional(dev, "sel", GPIOD_IS_OUT);
+
+ if (IS_ERR(priv->sel_gpio)) {
+ pr_err("Failed get reset sel gpio\n");
+ return PTR_ERR(priv->sel_gpio);
+ }
+
+ dm_gpio_set_value(priv->sel_gpio, 0);
+#endif
+
return 0;
}
@@ -324,17 +339,17 @@ static const struct panel_ops rm68200_panel_ops = {
};
static const struct udevice_id rm68200_panel_ids[] = {
- { .compatible = "raydium,rm68200" },
+ { .compatible = "starfive,seeed" },
{ }
};
-U_BOOT_DRIVER(rm68200_panel) = {
- .name = "rm68200_panel",
+U_BOOT_DRIVER(seeed_panel) = {
+ .name = "seeed_panel",
.id = UCLASS_PANEL,
.of_match = rm68200_panel_ids,
.ops = &rm68200_panel_ops,
.of_to_plat = rm68200_panel_of_to_plat,
.probe = rm68200_panel_probe,
.plat_auto = sizeof(struct mipi_dsi_panel_plat),
- .priv_auto = sizeof(struct rm68200_panel_priv),
+ .priv_auto = sizeof(struct seeed_panel_priv),
};