Thanks dom for giving a look at this.
dom wrote:I guess it's the output_enable_polarity (which is set to active low currently).
I need to think of a way of exposing these options.
dt-blob.bin is one possibility
extending hdmi_timings is another
extending dpi_output_format is another
I suspect the whole structure (which is mostly booleans) will fit in the current dpi_output_format word as a 32-bit word with a number of bit fields.
That may be the simplest solution for now. Moving to dt-blob.bin may be a subsequent change when we're a bit clearer on exactly which settings need exposing.
Changing dpi_output_format would outdate gert beautiful documentation. I hate writing doc myself, so I wouldn't force somebody else to rewrite its own
Actually not every bit is usefull. Many of them can be tweaked otherwise :
- HSYNC and VSYNC polarities are already in hdmi_timings
- signal disabling can be done by de-assigning pins in dt-blob
This leaves :
- rgb_order : this is for swapping color bytes? if every panel do not take colors in the same order this may become useful, or to ease PCB routing if some color order is easier than another
- output_format : already in config.txt, if am not mistaken (dpi_output_format?)
- output_enable_mode : what is this?
- invert_pixel_clock : can be done by hard wiring an inversion pin on the serializer I am looking for. But it may be more user-friendly if done in software.
: I definitely want this one
- hsync/vsync/oe phases : this may be useful, but really hard to tweak without some good diagnostics. Probably not useable by many people. Are these booleans or integers?
For me, a dpi_timings would be perfect, not to mess with the existing hdmi_timings. But you are the programmer in charge