Attention is currently required from: Vinod Polimera, Ravi kumar, Shelley Chen, Mars Chen, mturney mturney. Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/52662 )
Change subject: sc7180: Add display support for mipi panels ......................................................................
Patch Set 22:
(1 comment)
File src/mainboard/google/trogdor/mainboard.c:
https://review.coreboot.org/c/coreboot/+/52662/comment/0db632fd_3c9d8020 PS22, Line 106: get_panel_config
You can append new panels info to the same panel_driver.c and attach it to the get_panel_config(). […]
Well, the question is how get_panel_config() should know which panel to return. This should be decided based on SKU ID for each board.
I think you should move panel_driver.c from src/soc/qualcomm into src/mainboard/google/trogdor, because the panels are entirely board-specific and not really related to the SoC. Then you should expand get_panel_config() to decide what to return based on board name and SKU ID, e.g. something like
const struct panel_data *get_panel_config(struct edid *edid) { struct panel_data *info;
if (CONFIG(BOARD_GOOGLE_HOMESTAR)) { memcpy(edid, &visionox_edid, sizeof(struct edid)); info = &visinox_panel_info; } else if (CONFIG(BOARD_GOOGLE_MRBLAND)) { switch (sku_id()) { case 1: memcpy(edid, &some_panel_edid, sizeof(struct edid)); info = &some_panel_info; case 2: memcpy(edid, &some_other_panel_edid, sizeof(struct edid)); info = &some_other_panel_info; ...etc... } } edid_set_framebuffer_bits_per_pixel(edid, 32, 0); return info; }
(Names and numbers made up, I don't know what the exact IDs and panels are gonna be. Maybe don't add this code yet but at least that's what it should get expanded to when we add the second panel.)