--- /dev/null
+From 3d00da1de3ea36ba44f4a7ba76c8c8b16f98204b Mon Sep 17 00:00:00 2001
+From: "Enrico Weigelt, metux IT consult" <info@metux.net>
+Date: Thu, 12 Dec 2019 14:27:56 +0100
+Subject: [PATCH] platform/x86: pcengines-apuv2: detect apuv4 board
+
+GPIO stuff on APUv4 seems to be the same as on APUv2, so we just
+need to match on DMI data.
+
+Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+---
+ drivers/platform/x86/pcengines-apuv2.c | 27 ++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+--- a/drivers/platform/x86/pcengines-apuv2.c
++++ b/drivers/platform/x86/pcengines-apuv2.c
+@@ -186,6 +186,33 @@ static const struct dmi_system_id apu_gp
+ },
+ .driver_data = (void *)&board_apu2,
+ },
++ /* APU4 w/ legacy bios < 4.0.8 */
++ {
++ .ident = "apu4",
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
++ DMI_MATCH(DMI_BOARD_NAME, "APU4")
++ },
++ .driver_data = (void *)&board_apu2,
++ },
++ /* APU4 w/ legacy bios >= 4.0.8 */
++ {
++ .ident = "apu4",
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
++ DMI_MATCH(DMI_BOARD_NAME, "apu4")
++ },
++ .driver_data = (void *)&board_apu2,
++ },
++ /* APU4 w/ mainline bios */
++ {
++ .ident = "apu4",
++ .matches = {
++ DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
++ DMI_MATCH(DMI_BOARD_NAME, "PC Engines apu4")
++ },
++ .driver_data = (void *)&board_apu2,
++ },
+ {}
+ };
+