-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test LVDS controller #15
Comments
For posterity, my attempt at a kernel patch to drive this thing: diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 204674fccd64..eb1a5950247c 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2570,15 +2570,15 @@ static const struct panel_desc lg_lp079qx1_sp0v = {
};
static const struct drm_display_mode lg_lp097qx1_spa1_mode = {
- .clock = 205210,
- .hdisplay = 2048,
- .hsync_start = 2048 + 150,
- .hsync_end = 2048 + 150 + 5,
- .htotal = 2048 + 150 + 5 + 5,
- .vdisplay = 1536,
- .vsync_start = 1536 + 3,
- .vsync_end = 1536 + 3 + 1,
- .vtotal = 1536 + 3 + 1 + 9,
+ .clock = 205210, // KHz
+ .hdisplay = 2048, // Active
+ .hsync_start = 2048 + 150, // Active + HFP
+ .hsync_end = 2048 + 150 + 5, // Active + HFP + Width-Active
+ .htotal = 2048 + 150 + 5 + 5, // Active + HFP + Width-Active + HBP
+ .vdisplay = 1536, // Active
+ .vsync_start = 1536 + 3, // Active + VFP
+ .vsync_end = 1536 + 3 + 1, // Active + VFP + Width-Active
+ .vtotal = 1536 + 3 + 1 + 9, // Active + VFP + Width-Active + VBP
};
static const struct panel_desc lg_lp097qx1_spa1 = {
@@ -3889,6 +3889,30 @@ static const struct drm_display_mode arm_rtsm_mode[] = {
},
};
+
+static const struct drm_display_mode lg_lp097x02_slq1_mode = {
+ .clock = 100030, // KHz
+ .hdisplay = 1024, // Active
+ .hsync_start = 1024 + 260, // Active + HFP
+ .hsync_end = 1024 + 260 + 320, // Active + HFP + Width-Active
+ .htotal = 1024 + 260 + 320 + 480, // Active + HFP + Width-Active + HBP
+ .vdisplay = 768, // Active
+ .vsync_start = 768 + 16, // Active + VFP
+ .vsync_end = 768 + 16 + 10, // Active + VFP + Width-Active
+ .vtotal = 768 + 16 + 10 + 6, // Active + VFP + Width-Active + VBP
+};
+
+static const struct panel_desc lg_lp097x02_slq1 = {
+ .modes = &lg_lp097qx1_spa1_mode,
+ .num_modes = 1,
+ .size = {
+ .width = 210,
+ .height = 164,
+ },
+};
+
+
+
static const struct panel_desc arm_rtsm = {
.modes = arm_rtsm_mode,
.num_modes = 1,
@@ -4300,6 +4324,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "winstar,wf35ltiacd",
.data = &winstar_wf35ltiacd,
+ }, {
+ .compatible = "lg,lp097x02-slq1",
+ .data = &lg_lp097x02_slq1,
}, {
/* Must be the last entry */
.compatible = "panel-dpi", I'm roughly following https://github.com/anholt/linux/wiki/Raspberry-Pi-and-other-MIPI-DSI-display-panels , though I'm first starting with |
oh, sweet, someone got support for the sn65dsi83 into the linux kernel a few months ago: https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/bridge/ti-sn65dsi83.c I guess I'll cherry-pick this. |
bummer |
I have this dtoverlay which loads the ti-sn65dsi83 driver:
I've got two problems at the moment:
|
I've switched over to the CM4IO using the 22-pin to 15-pin FFC meant for the CSI port, which I think should put clock and data lanes where my board expects them. Now I'm getting basically this exact error: https://www.raspberrypi.org/forums/viewtopic.php?p=1860828&sid=ad26a9c56f475f1c54610b6eac4ca59f#p1860828
|
The text was updated successfully, but these errors were encountered: