This series depends on https://lore.kernel.org/lkml/[email protected]/. That series is still v7.2 based, but this needs -next material, to work. It compiles on -rc.
The Epson Moverio BT200 AR glasses have two displays. Each is behind a TC358762. As disassembly of that unit is not feasible, not much can be found out about the display chip itself, so no good compatible name for the panel can be found. Also I do not have access to a full datasheet for the bridge, so my knowledge is based to values found in vendor kernel. So more magic numbers than I wanted. As the panel needs to be configured via SPI, add support in the bridge for that, also the initialisation needs to be moved to pre_enable() to be able to use SPI in the panel driver alse in prepare(). To be able to properly narrow down any issues, add some read checks. Since two lanes are in use, the intenal PLL needs to be configured to derive proper clocks. Check for success there. Configuration of the PLL is too tailored to the BT200, it needs proper divider calculation derived from the input clock rate. I did not find any sane looking value for the input clock producing the known constant for SYSPLL3. Issues / Limitations: - SPI only works if bridge is pre-enabled, probably does not matter as the main use case is to control the display behind it and SPI transactions are properly rejected if the bridge is not ready. - SYSPLL3 tailored to BT200. - error messages on first read in reinitialisation without reset, no practical problems seem to be connected to this, will probably went away in most cases if shared reset is enabled. - some lines missing in output, so the picture gets around 10% smaller vertially, with the upper 10% repeating at the button. I have a standalone variant of the panel driver which does not have that issue. I did not find any significant differences in omapdss registers per debugfs yet. Signed-off-by: Andreas Kemnade <[email protected]> --- Andreas Kemnade (9): dt-bindings: display: panel: Add panel for Epson Moverio BT-200 drm: panel: Add panel for Epson Moverio BT200 dt-bindings: display: bridge: tc358762: Add some missing properties drm/bridge: tc358762: Move initialisation to pre_enable drm/bridge: tc358762: add SPI master support to control panels drm/bridge: tc358762: read back ID register drm/bridge: tc358762: make LPTXTIMECNT configurable drm/bridge: tc358762: Basic support for 2 lanes ARM: dts: ti/omap: omap4-embt2ws: Add displays .../bindings/display/bridge/toshiba,tc358762.yaml | 14 ++ .../bindings/display/panel/epson,panel-bt200.yaml | 48 ++++ arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts | 120 ++++++++++ drivers/gpu/drm/bridge/tc358762.c | 234 ++++++++++++++++--- drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-epson-bt200.c | 251 +++++++++++++++++++++ 7 files changed, 651 insertions(+), 27 deletions(-) --- base-commit: ae05b821e09ca387eab7441be8c82fd521f7a42c change-id: 20260921-b2-panel-via-bridge-ba42974b612f prerequisite-change-id: 20260326-tc358762-fixes-6f666500da9e:v4 prerequisite-patch-id: df4c4c2ab36f4504f08fd89804c91ecf1bbc5b85 prerequisite-patch-id: d270eb332c88f888f628b2cf751517500024b12c prerequisite-patch-id: 6050aad2a160d9e85b176e8118f4ac4247de1355 prerequisite-patch-id: a7b3986c944f62156da6b368e6251b29451feaf2 prerequisite-patch-id: eb52b7ed89c1d44539bc7eef61f242dd444d3171 prerequisite-patch-id: e1a953467d847bea6bc9847134c0199e4702423b prerequisite-patch-id: 538b6e710dcc07bd70eed2795d9e463e91bf0b48 prerequisite-patch-id: 6636bdd386becb3622944e57653e4fd1502527cc prerequisite-patch-id: 84cf0fc416da9a016ebbd586020cb67b18aa84b7 prerequisite-patch-id: 64ff4472fe4467e9da0a11f69fe30d50db12204d prerequisite-patch-id: 88939d8af6eef5fea65b7883909856e692c29cfa prerequisite-patch-id: c6c3d34380425f4ee21411e860726786b56c8236 prerequisite-patch-id: ac1f5d7bc054cf7a0d84cb343f4b1d1e393a7956 Best regards, -- Andreas Kemnade <[email protected]>
