Skip to content

Add support for the Pi Vision 10.1" HMI #6915

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 24, 2025

Conversation

kronoidz
Copy link

This pull request introduces support for the upcoming SECO Pi Vision product, which consists of an LVDS adapter and a display.

Specifically, it:

  • Adds a driver for the Diodes pi4ioe5v6408 GPIO expander
  • Enables the following four necessary modules in the bcm2712 defconfig:
    • Atmel MaxTouch driver
    • panel-lvds
    • pi4ioe5v6408 GPIO driver
    • sn65dsi83 bridge driver
  • Adds the pivision dtoverlay, which gets automatically loaded by the Raspberry Pi bootloader if the EEPROM on the adapter is correctly programmed

@pelwell
Copy link
Contributor

pelwell commented Jun 20, 2025

How does the GPIO driver differ materially from https://github.com/raspberrypi/linux/blob/rpi-6.12.y/drivers/gpio/gpio-fxl6408.c? What happens if you put compatible = "fcs,fxl6408"; in your overlay instead?

@kronoidz kronoidz force-pushed the ap/pivision-final branch from 18d0700 to 99e2f20 Compare June 20, 2025 12:36
@kronoidz
Copy link
Author

You're right, they are equivalent and the board works with the fxl6408 driver as well.
I've removed the other driver.

@pelwell
Copy link
Contributor

pelwell commented Jun 20, 2025

  1. Does the product really only work with Pi 5 hardware?
  2. You've only enabled the required drivers for the Pi 5-specific defconfig, which uses 16kB pages. Is there a reason that your product can't be used with the more generic kernel8.img (built from arch/arm64/configs/bcm2711_defconfig) or the new "realtime" kernel8_rt.img?

target-path = "/";
__overlay__ {
panel: panel {
compatible = "panel-lvds";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The guidance for use of panel-lvds is that you should have a panel specific compatible first, and fall back to panel-lvds.
eg https://github.com/raspberrypi/linux/blob/rpi-6.12.y/arch/arm/boot/dts/allwinner/sun8i-a83t-tbs-a711.dts#L74

Having any form of display timings in DT was accepted to mainline very begrudgingly, and this was their compromise to allow fixing up the timings without requiring a DT change (ABI and all that).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added panel-specific compatible: auo,g101ean02-2

@6by9
Copy link
Contributor

6by9 commented Jun 23, 2025

  1. Does the product really only work with Pi 5 hardware?

Use of GPIO 34 (normally that camera GPIO) for interrupts precludes it working on any board that uses a GPIO expander for the CAM_GPIO lines.
The spec also lists it as exposing PCIe and USB3 ports too, so that does make it CM5 only.

Alessandro Pecugi added 2 commits June 23, 2025 17:08
Enable drivers required by the SECO Pi Vision 10.1 CM5 HMI in all
CM5-compatible defconfigs.

Specifically, this commit enables:
* driver for Atmel MaxTouch controllers
* panel-lvds
* TI SN65DSI83 DSI-LVDS bridge

Signed-off-by: Alessandro Pecugi <[email protected]>
Add overlay for SECO Pi Vision adapter HAT, with the
sn65dsi83 LVDS bridge, a 10.1-inch LVDS panel, and Atmel
mxt touch controller

For the pi4ioe5v6408 GPIO expander, the equivalent fxl6408 driver
is used.

Signed-off-by: Alessandro Pecugi <[email protected]>
@kronoidz kronoidz force-pushed the ap/pivision-final branch from 99e2f20 to 2564a6b Compare June 23, 2025 15:18
@kronoidz
Copy link
Author

  1. You've only enabled the required drivers for the Pi 5-specific defconfig, which uses 16kB pages. Is there a reason that your product can't be used with the more generic kernel8.img (built from arch/arm64/configs/bcm2711_defconfig) or the new "realtime" kernel8_rt.img?

No, there's no specific reason. I've updated and tested both bcm2711_defconfig and bcm2711_rt_defconfig to include the necessary drivers.

@pelwell pelwell merged commit c7712fa into raspberrypi:rpi-6.12.y Jun 24, 2025
11 of 12 checks passed
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Jun 25, 2025
See: raspberrypi/linux#6920

kernel: v2 dwc2 DMA alignment_buffer handling
See: raspberrypi/linux#6923

kernel: Add support for the Pi Vision 10.1" HMI
See: raspberrypi/linux#6915
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Jun 25, 2025
See: raspberrypi/linux#6920

kernel: v2 dwc2 DMA alignment_buffer handling
See: raspberrypi/linux#6923

kernel: Add support for the Pi Vision 10.1" HMI
See: raspberrypi/linux#6915
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