Part Number: AM5728
I am attempting to use the information/patches from https://www.ti.com/lit/an/sprac49/sprac49.pdf, however, this document is severely out of date. The document covers changes to U-boot and the Linux kernel. I managed to get the U-boot changes adjusted for my hardware and a splash screen does appear correctly until the kernel takes over. At this point, the document becomes mostly useless since dra7/am57xx has moved from the omapfb driver to omapdrm and there have been numerous changes to hwmod and other init-related systems.
The gist of the document is that U-boot sets up DSS plane VIDEO3 and the minimum required settings to drive the LCD then various hacks to the kernel keep omapfb from resetting VIDEO3 until a user application disables it with a register write via /dev/mem. This sort of approach should work with omapdrm, though not in the exact same way.
Observations:
1. VIDEO3 gets reset even if omapdrm isn't loaded. Maybe by hwmod? All of the VIDEO3-specific registers are at their reset values after Linux boots.
2. Putting "ti,no-reset-on-init"/"ti,no-idle-on-init" in the device tree nodes for DSS and DISPC has no effect.
3. Returning early out of omap_dss_reset (hwmod function related to DSS) has no effect.
Questions:
1. Where is the DSS reset during Linux init?
2. How can I stop DSS/DISPC VIDEO3 from being reset during init?
3. Would it be possible to update SPRAC49?
I am using PHY-TEC's 4.19.79-derived kernel, which is a derivative of TI's 4.19 kernel (TISDK v06.02.00.81).