Skip to content

Cleaned up version of Edatec HMI drivers#7383

Draft
6by9 wants to merge 10 commits into
raspberrypi:rpi-6.18.yfrom
6by9:rpi-6.18.y-edatec
Draft

Cleaned up version of Edatec HMI drivers#7383
6by9 wants to merge 10 commits into
raspberrypi:rpi-6.18.yfrom
6by9:rpi-6.18.y-edatec

Conversation

@6by9
Copy link
Copy Markdown
Contributor

@6by9 6by9 commented May 19, 2026

My version of #7361 and #7362 actually using the various parts that I've requested.

I have no hardware to test it, but the behaviour should be the same.

I have not replicated the CM0 vs Pi4/CM4 timing difference for the 7" as I do not believe there needs to be one. It also avoids having to change the value for CMD_BRIDGE_INIT.

Patches need to be squashed/split appropriately before merge, hence draft.

@spp-bruk

@FrankLeeEDA
Copy link
Copy Markdown

Thank you for your careful review. We are adjusting the code and conducting testing based on your feedback. I noticed that you have replaced gpio_chip with gpio_degmap_config. Is this a better choice as the default defconfig does not enable CONFIG_GPIO_REGMAP.

@6by9 6by9 force-pushed the rpi-6.18.y-edatec branch from eeb060f to 4c52bcc Compare May 21, 2026 10:44
@6by9
Copy link
Copy Markdown
Contributor Author

6by9 commented May 21, 2026

I noticed that you have replaced gpio_chip with gpio_degmap_config. Is this a better choice as the default defconfig does not enable CONFIG_GPIO_REGMAP.

Modules should select their own dependencies via Kconfig rather than relying on the defconfig to include them.
You are right that I'd missed the select GPIO_REGMAP from the Kconfig entry for REGULATOR_EDATEC_10INCH, now added as an extra patch. It was already being built for me as our REGULATOR_RASPBERRYPI_TOUCHSCREEN_V2 module already selects it.

gpio_regmap_config removes all the boilerplate from the driver when a bank of N GPIOs are controlled via a simple register interface, and does allow for "missing" bits to be present in the register via the init_valid_mask hook. Define it with only reg_set_base and the GPIOs are output only, and only reg_dat_base makes it input only.

@FrankLeeEDA
Copy link
Copy Markdown

Ok, I understand. Our previous choice of gpio_chip was based on compatibility considerations. Prior to 6.18.y kernel merge here, our display driver was based on out-of-tree dynamic compilation and the official Raspberry OS doesn't include gpio_regmap. I will provide feedback on this modification to my colleague.

Another question is whether it is necessary to first use the drm/panel-simple patch #6by9@d69c6e4 before extracting the DSI porch parameter from panel-edatec-dsi driver to dtoverlay. However, I strongly agree with merging the 7inch panel driver and regulator into one driver file.

@FrankLeeEDA
Copy link
Copy Markdown

Also, a lot of redundant code from the original 10inch and 7inch driver had been deleted and we spend some time conducting tests. I will submit the driver update later today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants