x86: add missing Lex 3I380NX network detection
authorPaul Spooren <paul.spooren@rhebo.com>
Tue, 19 Jul 2022 13:24:59 +0000 (15:24 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Fri, 5 Aug 2022 12:10:11 +0000 (14:10 +0200)
The Lex 3I380NX industrial PC has 4 ethernet controllers on board
which need pmc_plt_clk0 - 3 to function, add it to the critclk_systems
DMI table, so that drivers/clk/x86/clk-pmc-atom.c will mark the clocks
as CLK_CRITICAL and they will not get turned off.

This commit is nearly redundant to 3d0818f5eba8 ("platform/x86:
pmc_atom: Add Lex 3I380D industrial PC to critclk_systems DMI table")
but for all Lex Baytrail devices.

The original vendor firmware is only available using the WaybackMachine:
http://www.lex.com.tw/products/3I380NX.html

Signed-off-by: Michael Schöne <michael.schoene@rhebo.com>
Signed-off-by: Paul Spooren <paul.spooren@rhebo.com>
(Hans broader version for more Lex Baytrail systems, v5.15)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/x86/patches-5.10/113-v5.21-platform-x86-pmc_atom-Add-Lex-3I380NX-industrial-PC-.patch [new file with mode: 0644]
target/linux/x86/patches-5.15/113-v5.21-platform-x86-pmc_atom-Add-Lex-3I380NX-industrial-PC-.patch [new file with mode: 0644]

diff --git a/target/linux/x86/patches-5.10/113-v5.21-platform-x86-pmc_atom-Add-Lex-3I380NX-industrial-PC-.patch b/target/linux/x86/patches-5.10/113-v5.21-platform-x86-pmc_atom-Add-Lex-3I380NX-industrial-PC-.patch
new file mode 100644 (file)
index 0000000..3cff37c
--- /dev/null
@@ -0,0 +1,52 @@
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Thu, 28 Jul 2022 20:06:35 +0200
+Subject: platform/x86: pmc_atom: Match all Lex BayTrail boards with
+ critclk_systems DMI table
+
+The critclk_systems[] DMI match table already contains 2 Lex BayTrail
+boards and patches were just submitted to add 3 more entries for the
+following models: 3I380NX, 3I380A, 3I380CW.
+
+Looking at: https://www.lex.com.tw/products/embedded-ipc-board/
+we can see that Lex BayTrail makes many embedded boards with
+multiple ethernet boards and none of their products are battery
+powered so we don't need to worry (too much) about power consumption
+when suspended.
+
+Add a new DMI match which simply matches all Lex BayTrail boards and drop
+the 2 existing board specific quirks.
+
+Reported-by: Michael Schöne <michael.schoene@rhebo.com>
+Reported-by: Paul Spooren <paul.spooren@rhebo.com>
+Reported-by: Matwey V. Kornilov <matwey@sai.msu.ru>
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+--- a/drivers/platform/x86/pmc_atom.c
++++ b/drivers/platform/x86/pmc_atom.c
+@@ -376,19 +376,15 @@
+               },
+       },
+       {
+-              /* pmc_plt_clk0 - 3 are used for the 4 ethernet controllers */
+-              .ident = "Lex 3I380D",
++              /*
++               * Lex System / Lex Computech Co. makes a lot of Bay Trail
++               * based embedded boards which often come with multiple
++               * ethernet controllers using multiple pmc_plt_clks. See:
++               * https://www.lex.com.tw/products/embedded-ipc-board/
++               */
++              .ident = "Lex BayTrail",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Lex BayTrail"),
+-                      DMI_MATCH(DMI_PRODUCT_NAME, "3I380D"),
+-              },
+-      },
+-      {
+-              /* pmc_plt_clk* - are used for ethernet controllers */
+-              .ident = "Lex 2I385SW",
+-              .matches = {
+-                      DMI_MATCH(DMI_SYS_VENDOR, "Lex BayTrail"),
+-                      DMI_MATCH(DMI_PRODUCT_NAME, "2I385SW"),
+               },
+       },
+       {
diff --git a/target/linux/x86/patches-5.15/113-v5.21-platform-x86-pmc_atom-Add-Lex-3I380NX-industrial-PC-.patch b/target/linux/x86/patches-5.15/113-v5.21-platform-x86-pmc_atom-Add-Lex-3I380NX-industrial-PC-.patch
new file mode 100644 (file)
index 0000000..3cff37c
--- /dev/null
@@ -0,0 +1,52 @@
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Thu, 28 Jul 2022 20:06:35 +0200
+Subject: platform/x86: pmc_atom: Match all Lex BayTrail boards with
+ critclk_systems DMI table
+
+The critclk_systems[] DMI match table already contains 2 Lex BayTrail
+boards and patches were just submitted to add 3 more entries for the
+following models: 3I380NX, 3I380A, 3I380CW.
+
+Looking at: https://www.lex.com.tw/products/embedded-ipc-board/
+we can see that Lex BayTrail makes many embedded boards with
+multiple ethernet boards and none of their products are battery
+powered so we don't need to worry (too much) about power consumption
+when suspended.
+
+Add a new DMI match which simply matches all Lex BayTrail boards and drop
+the 2 existing board specific quirks.
+
+Reported-by: Michael Schöne <michael.schoene@rhebo.com>
+Reported-by: Paul Spooren <paul.spooren@rhebo.com>
+Reported-by: Matwey V. Kornilov <matwey@sai.msu.ru>
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+--- a/drivers/platform/x86/pmc_atom.c
++++ b/drivers/platform/x86/pmc_atom.c
+@@ -376,19 +376,15 @@
+               },
+       },
+       {
+-              /* pmc_plt_clk0 - 3 are used for the 4 ethernet controllers */
+-              .ident = "Lex 3I380D",
++              /*
++               * Lex System / Lex Computech Co. makes a lot of Bay Trail
++               * based embedded boards which often come with multiple
++               * ethernet controllers using multiple pmc_plt_clks. See:
++               * https://www.lex.com.tw/products/embedded-ipc-board/
++               */
++              .ident = "Lex BayTrail",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Lex BayTrail"),
+-                      DMI_MATCH(DMI_PRODUCT_NAME, "3I380D"),
+-              },
+-      },
+-      {
+-              /* pmc_plt_clk* - are used for ethernet controllers */
+-              .ident = "Lex 2I385SW",
+-              .matches = {
+-                      DMI_MATCH(DMI_SYS_VENDOR, "Lex BayTrail"),
+-                      DMI_MATCH(DMI_PRODUCT_NAME, "2I385SW"),
+               },
+       },
+       {