Moving on to the IPU DI and generating the display control signals. Since the DI is not a standard LCD controller (that just uses normal values for HSYNC, VSYNC, back porch, front porch, pixel clock, etc.) is there a spreadsheet that one can put these values in and it generates all of the register settings back? Something similar to the reverse of the CPMEM tool.
Also, from going through the ipu_di.c code, it appears there is more than one DI_STP_REP_i register. It appears that there is one di_step_repeat_2 value for each of the DI_SW_GEN0/DI_SW_GEN1 register pairs (is that what the “i” means – multiple registers??). This would mean that (for DI0) there is one at 0x4_0148, 0x4_014C, 0x4_0150, and 0x4_0154, with DI_STP_REP_9 being at 0x4_0158. The RM doesn’t mention this.
I’m assuming that the register at 0x4_0148 is for DI_SW_GEN0_1/DI_SW_GEN1_1 and DI_SW_GEN0_2/DI_SW_GEN1_2, and the next register (0x4_014C) is for _GEN0_3/_GEN1_3 and _GEN0_4/_GEN1_4 and so on. Can these registers be written x16?
There are other registers that have an “i” suffix such as DI_DW_SET0_i through DI_DW_SET3_i with big address gaps in between. The original ipu_reg_def.h file shows registers in between these. Have these registers been eliminated?