On 8/31/21 10:25 PM, Marek Vasut wrote:
The ili251x firmware protocol permits readout of panel resolution, implement this, but make it possible to override this value using DT bindings. This way, older DTs which contain touchscreen-size-x and touchscreen-size-y properties will behave just like before and new DTs may avoid specifying these for ILI251x. Note that the command format is different on other controllers, so this functionality is isolated to ILI251x. Signed-off-by: Marek Vasut <marex@xxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Joe Hung <joe_hung@xxxxxxxxxx> Cc: Luca Hsu <luca_hsu@xxxxxxxxxx> --- V2: New patch V3: - Use le16_to_cpup() byte-swap resolution data - Check Y-resolution range up to 0xffff too - Use .has_firmware_proto flag to discern supported MCU protocol - Use input_abs_set_max() per include/linux/input.h INPUT_GENERATE_ABS_ACCESSORS - Rename variable ret to error - Add a wrapper function ili251x_firmware_update_cached_state(), which would call pull other cacheable state from the controller in subsequent patch (hence also the ret variable in it which looks like it could be removed, this will reduce the number of changes in the next patch). - Wait for the firmware to fully stabilize itself after reset. No, those 200 milliseconds is not a mistake, but a value taken from example code. Anything less sometimes does report partly invalid values.
I hope I addressed all the feedback from V2 in this V3. I haven't heard anything about these patches for a long time. Do you think they can be applied now ?