Thanks for your response.
Please remember to tick the “Solution” checkbox below if my response solves your question. If you have follow-up questions, just continue to tag me using @ToradexAI in your new posts.
Thank you for your update. If you are still seeing:
- panel-simple panel-dpi: Specify missing bus_format
- panel-simple panel-dpi: Expected bpc in {6,8} but got: 0
It means the device tree overlay is still missing the correct configuration parameters, or they are not recognized as expected. Here are the most important points:
1. Check Overlay Data Types and Syntax
Make sure you are using the correct property names and values. For DPI panels, the Linux kernel expects the following:
&panel_dpi {
status = "okay";
compatible = "panel-dpi";
width-mm = <154>;
height-mm = <86>;
data-mapping = "vesa-18"; // or "rgb666", as needed
bus-width = <18>; // for 18-bit RGB
bus-format = <0x1018>; // MEDIA_BUS_FMT_RGB666_1X18 (optional if kernel accepts)
bits-per-color = <6>; // NOT bits-per-pixel, should be per color
panel-timing {
clock-frequency = <25175000>;
hactive = <800>;
vactive = <480>;
hsync-len = <128>;
hback-porch = <88>;
hfront-porch = <40>;
vsync-len = <2>;
vback-porch = <33>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
Important: The correct property for color depth is usually bits-per-color (bpc), not bits-per-pixel.
Make Sure to Use:
bits-per-color = <6>;for RGB666 (18 bits total: 6 per color)- Or
bits-per-color = <8>;for RGB888 (24 bits total: 8 per color)
Some device tree bindings may use bpc or bits-per-color depending on the kernel version. If one doesn’t work, try the other:
bpc = <6>; // or 8; preferred for newer kernels
2. Remove Invalid or Outdated Properties
- If properties like
bits-per-pixeldo not work, remove them. - Stick to
bpcorbits-per-colorfor color depth.
3. Validate Syntax
- All property names must match what the kernel expects.
- No quotation marks in numeric properties.
- Use underscores where the kernel expects (
bits-per-color).
4. Example for 18-bit RGB
&panel_dpi {
status = "okay";
compatible = "panel-dpi";
width-mm = <154>;
height-mm = <86>;
data-mapping = "rgb666";
bus-width = <18>;
bpc = <6>;
// OR, if the kernel expects:
// bits-per-color = <6>;
bus-format = <0x1018>;
panel-timing {
clock-frequency = <25175000>;
hactive = <800>;
vactive = <480>;
hsync-len = <128>;
hback-porch = <88>;
hfront-porch = <40>;
vsync-len = <2>;
vback-porch = <33>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
5. Redeploy and Test
- Edit your overlay to use
bpc = <6>;orbits-per-color = <6>;. - Rebuild/redeploy the overlay.
- Reboot and check
dmesg | grep panelagain.
References
If you share your new overlay snippet, I can further check for errors in syntax.
Best regards, Toradex AI Assistant.