Hi Can you list supported parallel(not lvds parallel bridge) displays for kernel version 5.10 Also if possible can you provide dts entry for parallel display
Hi anzal,
You can refer here (Example of Parallel(RGB) Panel on RZ/G2L (5.10))
Device Tree and Device Drivers - Renesas-wiki - Confluence
He hienhuynh can you list any displays you have used with the above dts entry???
What do you mean? Do you use panel or HDMI transmitter?
If you have any working displays you have interfaced it would be a great help by sharing the information. I am trying to interface a display (KD43G20-40TC-A2) which doesn't have a driver in Linux so I modified panel simple and still has no luck bringing up the display
Please give me below things:
- Your modified in panel simple driver
- Your devicetree
- Your boot log + log when run "modetest -M rcar-du"
- Your kernel version or BSP version that you are running.
My kernel version is 5.10.131
if run modetest modtest command is not foundi cant add the log here it seems websites say i have been blocked when adding logs here
panel simple driver i edited the giantplus driver code gpm940b0
here is the dts
Could you retry by using drm_display_mode instead of display_timing for panel definition.
You can refer this struct for your panel then retry.
static const struct drm_display_mode giantplus_gpg482739qs5_mode = { .clock = 9000, .hdisplay = 480, .hsync_start = 480 + 5, .hsync_end = 480 + 5 + 1, .htotal = 480 + 5 + 1 + 40, .vdisplay = 272, .vsync_start = 272 + 8, .vsync_end = 272 + 8 + 1, .vtotal = 272 + 8 + 1 + 8, }; static const struct panel_desc giantplus_gpg482739qs5 = { .modes = &giantplus_gpg482739qs5_mode, .num_modes = 1, .bpc = 8, .size = { .width = 95, .height = 54, }, .bus_format = MEDIA_BUS_FMT_RGB888_1X24, }
what about the hsync , vsync and de flags???
Please refer some similar panels info in panel-simple to fill the flags.
By the way, do you enable CONFIG_DRM_PANEL_SIMPLE in your defconfig?
i tried the method with the display mode
&lcdif { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcdif_dat &pinctrl_lcdif_ctrl>; display = <&display0>; status = "okay"; display0: display0 { bits-per-pixel = <16>; bus-width = <24>; display-timings { native-mode = <&timing0>; timing0: timing0 { clock-frequency = <9000000>; hactive = <480>; vactive = <272>; hfront-porch = <8>; hback-porch = <4>; hsync-len = <41>; vback-porch = <2>; vfront-porch = <4>; vsync-len = <10>; hsync-active = <0>; vsync-active = <0>; de-active = <1>; pixelclk-active = <0>; }; }; }; };
this is the working dts entry for this display in imx processor
static const struct drm_display_mode giantplus_gpg482739qs5_mode = { .clock = 9000, .hdisplay = 480, .hsync_start = 480 + 8, .hsync_end = 480 + 8 + 41, .htotal = 480 + 8 + 41 + 4, .vdisplay = 272, .vsync_start = 272 + 4, .vsync_end = 272 + 4 + 10, .vtotal = 272 + 4 + 10 + 2, .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, }; static const struct panel_desc giantplus_gpg482739qs5 = { .modes = &giantplus_gpg482739qs5_mode, .num_modes = 1, .bpc = 16, .size = { .width = 95, .height = 54, }, .bus_format = MEDIA_BUS_FMT_RGB888_1X24, .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE , };
This is the modification i made for display mode of giantplus can you just check and verify if the configuration is okay
i did enable the driver in defconfig
Describe display timings in devicetree when you use "compatible = "panel-simple"".
If you define the specific panel, you just need to describe with your code:
static const struct drm_display_mode giantplus_gpg482739qs5_mode = { .clock = 9000, .hdisplay = 480, .hsync_start = 480 + 8, .hsync_end = 480 + 8 + 41, .htotal = 480 + 8 + 41 + 4, .vdisplay = 272, .vsync_start = 272 + 4, .vsync_end = 272 + 4 + 10, .vtotal = 272 + 4 + 10 + 2, .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,};
static const struct panel_desc giantplus_gpg482739qs5 = { .modes = &giantplus_gpg482739qs5_mode, .num_modes = 1, .bpc = 16, .size = { .width = 95, .height = 54, }, .bus_format = MEDIA_BUS_FMT_RGB888_1X24, .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE ,};
By the way, for sure, you should add the debug in probing function of both panel-simple.c and rcar_du_drv.c to know what makes probing failure.
i did try adding timings in dts with panel-simple as compatible but doesnt seems to work i will try adding debug to driver code and check what is the issue
Maybe you can share your debug log here. By the way, does your rootfs have "modetest" command?