diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h
index 2c2e19bde0..284e96e4f8 100644
--- a/Marlin/src/pins/pins.h
+++ b/Marlin/src/pins/pins.h
@@ -1165,4 +1165,20 @@
   #define Z3_MS3_PIN -1
 #endif
 
+#if HAS_GRAPHICAL_LCD
+  #if !defined(ST7920_DELAY_1) && defined(BOARD_ST7920_DELAY_1)
+    #define ST7920_DELAY_1 BOARD_ST7920_DELAY_1
+  #endif
+  #if !defined(ST7920_DELAY_2) && defined(BOARD_ST7920_DELAY_2)
+    #define ST7920_DELAY_2 BOARD_ST7920_DELAY_2
+  #endif
+  #if !defined(ST7920_DELAY_3) && defined(BOARD_ST7920_DELAY_3)
+    #define ST7920_DELAY_3 BOARD_ST7920_DELAY_3
+  #endif
+#else
+  #undef ST7920_DELAY_1
+  #undef ST7920_DELAY_2
+  #undef ST7920_DELAY_3
+#endif
+
 #undef HAS_FREE_AUX2_PINS
diff --git a/Marlin/src/pins/sanguino/pins_ANET_10.h b/Marlin/src/pins/sanguino/pins_ANET_10.h
index 81c479c85a..6e49bad616 100644
--- a/Marlin/src/pins/sanguino/pins_ANET_10.h
+++ b/Marlin/src/pins/sanguino/pins_ANET_10.h
@@ -175,15 +175,9 @@
     #define BTN_EN1          11
     #define BTN_EN2          10
     #define BTN_ENC          16
-    #ifndef ST7920_DELAY_1
-      #define ST7920_DELAY_1 DELAY_NS(0)
-    #endif
-    #ifndef ST7920_DELAY_2
-      #define ST7920_DELAY_2 DELAY_NS(63)
-    #endif
-    #ifndef ST7920_DELAY_3
-      #define ST7920_DELAY_3 DELAY_NS(125)
-    #endif
+    #define BOARD_ST7920_DELAY_1 DELAY_NS(0)
+    #define BOARD_ST7920_DELAY_2 DELAY_NS(63)
+    #define BOARD_ST7920_DELAY_3 DELAY_NS(125)
     #define STD_ENCODER_PULSES_PER_STEP 4
     #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
   #endif
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h b/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h
index 8d15c7c31a..66fbd47890 100644
--- a/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h
+++ b/Marlin/src/pins/sanguino/pins_MELZI_CREALITY.h
@@ -59,14 +59,10 @@
 #endif
 
 // Alter timing for graphical display
-#ifndef ST7920_DELAY_1
-  #define ST7920_DELAY_1 DELAY_NS(125)
-#endif
-#ifndef ST7920_DELAY_2
-  #define ST7920_DELAY_2 DELAY_NS(125)
-#endif
-#ifndef ST7920_DELAY_3
-  #define ST7920_DELAY_3 DELAY_NS(125)
+#if HAS_GRAPHICAL_LCD
+  #define BOARD_ST7920_DELAY_1 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_2 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_3 DELAY_NS(125)
 #endif
 
 #if ENABLED(MINIPANEL)
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h b/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h
index eab9940816..fd3f482c06 100644
--- a/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h
+++ b/Marlin/src/pins/sanguino/pins_MELZI_MALYAN.h
@@ -44,12 +44,8 @@
 #define BTN_ENC            28
 
 // Alter timing for graphical display
-#ifndef ST7920_DELAY_1
-  #define ST7920_DELAY_1 DELAY_NS(125)
-#endif
-#ifndef ST7920_DELAY_2
-  #define ST7920_DELAY_2 DELAY_NS(125)
-#endif
-#ifndef ST7920_DELAY_3
-  #define ST7920_DELAY_3 DELAY_NS(125)
+#if HAS_GRAPHICAL_LCD
+  #define BOARD_ST7920_DELAY_1 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_2 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_3 DELAY_NS(125)
 #endif
diff --git a/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h b/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h
index b49f94998f..d4b05e316e 100644
--- a/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h
+++ b/Marlin/src/pins/sanguino/pins_MELZI_TRONXY.h
@@ -51,12 +51,8 @@
 #define BTN_EN2         11
 #define BTN_ENC         26
 
-#ifndef ST7920_DELAY_1
-  #define ST7920_DELAY_1 DELAY_NS(0)
-#endif
-#ifndef ST7920_DELAY_2
-  #define ST7920_DELAY_2 DELAY_NS(125)
-#endif
-#ifndef ST7920_DELAY_3
-  #define ST7920_DELAY_3 DELAY_NS(0)
+#if HAS_GRAPHICAL_LCD
+  #define BOARD_ST7920_DELAY_1 DELAY_NS(0)
+  #define BOARD_ST7920_DELAY_2 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_3 DELAY_NS(0)
 #endif
diff --git a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
index e4fdf69065..9fc7d6f1a2 100644
--- a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
+++ b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
@@ -235,15 +235,9 @@
     #define BTN_EN1             29
     #define BTN_EN2             30
 
-    #ifndef ST7920_DELAY_1
-      #define ST7920_DELAY_1 DELAY_NS(0)
-    #endif
-    #ifndef ST7920_DELAY_2
-      #define ST7920_DELAY_2 DELAY_NS(188)
-    #endif
-    #ifndef ST7920_DELAY_3
-      #define ST7920_DELAY_3 DELAY_NS(0)
-    #endif
+    #define BOARD_ST7920_DELAY_1 DELAY_NS(0)
+    #define BOARD_ST7920_DELAY_2 DELAY_NS(188)
+    #define BOARD_ST7920_DELAY_3 DELAY_NS(0)
 
   #elif ENABLED(ZONESTAR_LCD) // For the Tronxy Melzi boards
 
diff --git a/Marlin/src/pins/stm32/pins_BIGTREE_BTT002_V1.0.h b/Marlin/src/pins/stm32/pins_BIGTREE_BTT002_V1.0.h
index 3503d7b19a..7b275a7be6 100644
--- a/Marlin/src/pins/stm32/pins_BIGTREE_BTT002_V1.0.h
+++ b/Marlin/src/pins/stm32/pins_BIGTREE_BTT002_V1.0.h
@@ -243,15 +243,9 @@
 
   // Alter timing for graphical display
   #if HAS_GRAPHICAL_LCD
-    #ifndef ST7920_DELAY_1
-      #define ST7920_DELAY_1 DELAY_NS(96)
-    #endif
-    #ifndef ST7920_DELAY_2
-      #define ST7920_DELAY_2 DELAY_NS(48)
-    #endif
-    #ifndef ST7920_DELAY_3
-      #define ST7920_DELAY_3 DELAY_NS(600)
-    #endif
+    #define BOARD_ST7920_DELAY_1 DELAY_NS(96)
+    #define BOARD_ST7920_DELAY_2 DELAY_NS(48)
+    #define BOARD_ST7920_DELAY_3 DELAY_NS(600)
   #endif
 
 #endif // HAS_SPI_LCD
diff --git a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h
index 01719236ad..0041d60e20 100644
--- a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h
+++ b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_MINI_V1_1.h
@@ -209,13 +209,8 @@
 #define ON_BOARD_SPI_DEVICE 1    //SPI1
 #define ONBOARD_SD_CS_PIN  PA4   // Chip select for "System" SD card
 
-#ifndef ST7920_DELAY_1
-  #define ST7920_DELAY_1 DELAY_NS(125)
+#if HAS_GRAPHICAL_LCD
+  #define BOARD_ST7920_DELAY_1 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_2 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_3 DELAY_NS(125)
 #endif
-#ifndef ST7920_DELAY_2
-  #define ST7920_DELAY_2 DELAY_NS(125)
-#endif
-#ifndef ST7920_DELAY_3
-  #define ST7920_DELAY_3 DELAY_NS(125)
-#endif
-
diff --git a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_PRO_V1.1.h b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_PRO_V1.1.h
index 4bfce83a63..dad46716fd 100644
--- a/Marlin/src/pins/stm32/pins_BIGTREE_SKR_PRO_V1.1.h
+++ b/Marlin/src/pins/stm32/pins_BIGTREE_SKR_PRO_V1.1.h
@@ -260,15 +260,9 @@
 
   // Alter timing for graphical display
   #if HAS_GRAPHICAL_LCD
-    #ifndef ST7920_DELAY_1
-      #define ST7920_DELAY_1 DELAY_NS(96)
-    #endif
-    #ifndef ST7920_DELAY_2
-      #define ST7920_DELAY_2 DELAY_NS(48)
-    #endif
-    #ifndef ST7920_DELAY_3
-      #define ST7920_DELAY_3 DELAY_NS(600)
-    #endif
+    #define BOARD_ST7920_DELAY_1 DELAY_NS(96)
+    #define BOARD_ST7920_DELAY_2 DELAY_NS(48)
+    #define BOARD_ST7920_DELAY_3 DELAY_NS(600)
   #endif
 
 #endif // HAS_SPI_LCD
diff --git a/Marlin/src/pins/stm32/pins_GENERIC_STM32F4.h b/Marlin/src/pins/stm32/pins_GENERIC_STM32F4.h
index 39ccf57dff..a55bd34bcb 100644
--- a/Marlin/src/pins/stm32/pins_GENERIC_STM32F4.h
+++ b/Marlin/src/pins/stm32/pins_GENERIC_STM32F4.h
@@ -183,14 +183,8 @@
 //
 // ST7920 Delays
 //
-#ifndef ST7920_DELAY_1
-  #define ST7920_DELAY_1 DELAY_NS(96)
-#endif
-
-#ifndef ST7920_DELAY_2
-  #define ST7920_DELAY_2 DELAY_NS(48)
-#endif
-
-#ifndef ST7920_DELAY_3
-  #define ST7920_DELAY_3 DELAY_NS(715)
+#if HAS_GRAPHICAL_LCD
+  #define BOARD_ST7920_DELAY_1 DELAY_NS(96)
+  #define BOARD_ST7920_DELAY_2 DELAY_NS(48)
+  #define BOARD_ST7920_DELAY_3 DELAY_NS(715)
 #endif
diff --git a/Marlin/src/pins/stm32/pins_GTM32_PRO_VB.h b/Marlin/src/pins/stm32/pins_GTM32_PRO_VB.h
index 95a90e7539..36d7377ffa 100644
--- a/Marlin/src/pins/stm32/pins_GTM32_PRO_VB.h
+++ b/Marlin/src/pins/stm32/pins_GTM32_PRO_VB.h
@@ -153,14 +153,10 @@
     //#define LCD_UART_RX    PD9
   #endif
 
-  #ifndef ST7920_DELAY_1
-    #define ST7920_DELAY_1 DELAY_NS(96)
-  #endif
-  #ifndef ST7920_DELAY_2
-    #define ST7920_DELAY_2 DELAY_NS(48)
-  #endif
-  #ifndef ST7920_DELAY_3
-    #define ST7920_DELAY_3 DELAY_NS(715)
+  #if HAS_GRAPHICAL_LCD
+    #define BOARD_ST7920_DELAY_1 DELAY_NS(96)
+    #define BOARD_ST7920_DELAY_2 DELAY_NS(48)
+    #define BOARD_ST7920_DELAY_3 DELAY_NS(715)
   #endif
 
 #endif // HAS_SPI_LCD
diff --git a/Marlin/src/pins/stm32/pins_LERDGE_K.h b/Marlin/src/pins/stm32/pins_LERDGE_K.h
index a9d20f5d0e..10a36d8c6f 100644
--- a/Marlin/src/pins/stm32/pins_LERDGE_K.h
+++ b/Marlin/src/pins/stm32/pins_LERDGE_K.h
@@ -170,12 +170,8 @@
 //
 // ST7920 Delays
 //
-#ifndef ST7920_DELAY_1
-  #define ST7920_DELAY_1 DELAY_NS(96)
-#endif
-#ifndef ST7920_DELAY_2
-  #define ST7920_DELAY_2 DELAY_NS(48)
-#endif
-#ifndef ST7920_DELAY_3
-  #define ST7920_DELAY_3 DELAY_NS(715)
+#if HAS_GRAPHICAL_LCD
+  #define BOARD_ST7920_DELAY_1 DELAY_NS(96)
+  #define BOARD_ST7920_DELAY_2 DELAY_NS(48)
+  #define BOARD_ST7920_DELAY_3 DELAY_NS(715)
 #endif
diff --git a/Marlin/src/pins/stm32/pins_LERDGE_X.h b/Marlin/src/pins/stm32/pins_LERDGE_X.h
index 3b5cf63ab8..c9c1da17e8 100644
--- a/Marlin/src/pins/stm32/pins_LERDGE_X.h
+++ b/Marlin/src/pins/stm32/pins_LERDGE_X.h
@@ -167,12 +167,8 @@
 //
 // ST7920 Delays
 //
-#ifndef ST7920_DELAY_1
-  #define ST7920_DELAY_1 DELAY_NS(96)
-#endif
-#ifndef ST7920_DELAY_2
-  #define ST7920_DELAY_2 DELAY_NS(48)
-#endif
-#ifndef ST7920_DELAY_3
-  #define ST7920_DELAY_3 DELAY_NS(715)
+#if HAS_GRAPHICAL_LCD
+  #define BOARD_ST7920_DELAY_1 DELAY_NS(96)
+  #define BOARD_ST7920_DELAY_2 DELAY_NS(48)
+  #define BOARD_ST7920_DELAY_3 DELAY_NS(715)
 #endif
diff --git a/Marlin/src/pins/stm32/pins_MKS_ROBIN_LITE.h b/Marlin/src/pins/stm32/pins_MKS_ROBIN_LITE.h
index d8870f9bf1..da2c6967ae 100644
--- a/Marlin/src/pins/stm32/pins_MKS_ROBIN_LITE.h
+++ b/Marlin/src/pins/stm32/pins_MKS_ROBIN_LITE.h
@@ -132,12 +132,8 @@
 #define MOSI_PIN           P1B5
 #define SS_PIN             PA15
 
-#ifndef ST7920_DELAY_1
-  #define ST7920_DELAY_1 DELAY_NS(125)
-#endif
-#ifndef ST7920_DELAY_2
-  #define ST7920_DELAY_2 DELAY_NS(125)
-#endif
-#ifndef ST7920_DELAY_3
-  #define ST7920_DELAY_3 DELAY_NS(125)
+#if HAS_GRAPHICAL_LCD
+  #define BOARD_ST7920_DELAY_1 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_2 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_3 DELAY_NS(125)
 #endif
diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h
index 90c31132a7..6aaa037d25 100644
--- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h
+++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h
@@ -247,15 +247,9 @@
     //#define MISO         23   //         13               B3                ICSP-06             EXP2-05
 
     // increase delays
-    #ifndef ST7920_DELAY_1
-      #define ST7920_DELAY_1 DELAY_NS(313)
-    #endif
-    #ifndef ST7920_DELAY_2
-      #define ST7920_DELAY_2 DELAY_NS(313)
-    #endif
-    #ifndef ST7920_DELAY_3
-      #define ST7920_DELAY_3 DELAY_NS(313)
-    #endif
+    #define BOARD_ST7920_DELAY_1 DELAY_NS(313)
+    #define BOARD_ST7920_DELAY_2 DELAY_NS(313)
+    #define BOARD_ST7920_DELAY_3 DELAY_NS(313)
 
   #else