From 7905aa64fa8845e8af2208d20b8075d3a579e2f6 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <thinkyhead@users.noreply.github.com>
Date: Thu, 15 Oct 2020 03:00:27 -0500
Subject: [PATCH] TFT Presets, Generic options, Sanity checks (#19723)

---
 Marlin/Configuration.h                        |  91 ++++++-
 Marlin/Configuration_adv.h                    |   6 +-
 Marlin/src/HAL/LPC1768/inc/SanityCheck.h      |   2 +-
 Marlin/src/HAL/STM32F1/HAL.cpp                |   6 +-
 Marlin/src/core/macros.h                      |   4 +-
 Marlin/src/feature/bedlevel/ubl/ubl.h         |   2 +-
 Marlin/src/inc/Conditionals_LCD.h             | 256 ++++++++----------
 Marlin/src/inc/Conditionals_adv.h             |   4 +-
 Marlin/src/inc/Conditionals_post.h            |   4 +-
 Marlin/src/inc/SanityCheck.h                  | 199 +++++++-------
 Marlin/src/inc/Version.h                      |   2 +-
 Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp   |   2 +-
 Marlin/src/lcd/dogm/HAL_LCD_com_defines.h     |   2 +-
 .../dogm/u8g_dev_tft_upscale_from_128x64.cpp  |   4 +-
 Marlin/src/lcd/dogm/ultralcd_DOGM.h           |   2 +-
 .../lcd/extui/lib/mks_ui/draw_print_file.cpp  |   6 +-
 Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp   |   4 +-
 Marlin/src/lcd/scaled_tft.h                   |   4 +-
 Marlin/src/lcd/ultralcd.cpp                   |   8 +-
 Marlin/src/lcd/ultralcd.h                     |  11 +-
 Marlin/src/pins/esp32/pins_MRR_ESPE.h         |   2 +-
 Marlin/src/pins/linux/pins_RAMPS_LINUX.h      |  14 +-
 Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h |   4 +-
 Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h  |   4 +-
 Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h   |   2 +-
 Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h   |   5 +-
 Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h |   2 +-
 Marlin/src/pins/lpc1768/pins_MKS_SBASE.h      |   2 +-
 Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h     |   2 +-
 Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h   |   8 +-
 Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h |   4 +-
 Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h |   6 +-
 Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h  |   2 +-
 Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h  |   2 +-
 Marlin/src/pins/mega/pins_CHEAPTRONICv2.h     |   2 +-
 Marlin/src/pins/mega/pins_GT2560_REV_A.h      |   6 +-
 Marlin/src/pins/mega/pins_GT2560_V3.h         |   2 +-
 Marlin/src/pins/mega/pins_GT2560_V3_A20.h     |   2 +-
 Marlin/src/pins/mega/pins_HJC2560C_REV2.h     |   4 +-
 Marlin/src/pins/mega/pins_MEGATRONICS.h       |   4 +-
 Marlin/src/pins/mega/pins_MEGATRONICS_2.h     |   2 +-
 Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h  |   2 +-
 Marlin/src/pins/mega/pins_OVERLORD.h          |   2 +-
 Marlin/src/pins/pins.h                        |   4 +-
 Marlin/src/pins/rambo/pins_EINSY_RAMBO.h      |   4 +-
 Marlin/src/pins/rambo/pins_EINSY_RETRO.h      |   4 +-
 Marlin/src/pins/rambo/pins_MINIRAMBO.h        |   4 +-
 Marlin/src/pins/rambo/pins_RAMBO.h            |   6 +-
 Marlin/src/pins/ramps/pins_3DRAG.h            |   6 +-
 Marlin/src/pins/ramps/pins_FELIX2.h           |   4 +-
 Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h   |   2 +-
 .../src/pins/ramps/pins_FORMBOT_TREX2PLUS.h   |   2 +-
 Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h    |   2 +-
 Marlin/src/pins/ramps/pins_FYSETC_F6_13.h     |   2 +-
 Marlin/src/pins/ramps/pins_K8600.h            |   2 +-
 Marlin/src/pins/ramps/pins_K8800.h            |   2 +-
 Marlin/src/pins/ramps/pins_ORTUR_4.h          |   2 +-
 Marlin/src/pins/ramps/pins_RAMPS.h            |  19 +-
 Marlin/src/pins/ramps/pins_RAMPS_PLUS.h       |   2 +-
 Marlin/src/pins/ramps/pins_RIGIDBOARD.h       |   2 +-
 Marlin/src/pins/ramps/pins_RUMBA.h            |   2 +-
 Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h   |   4 +-
 Marlin/src/pins/ramps/pins_TRIGORILLA_14.h    |   4 +-
 Marlin/src/pins/ramps/pins_TT_OSCAR.h         |  16 +-
 Marlin/src/pins/ramps/pins_ULTIMAKER.h        |   6 +-
 Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h    |   8 +-
 Marlin/src/pins/sam/pins_ALLIGATOR_R2.h       |   4 +-
 Marlin/src/pins/sam/pins_ARCHIM1.h            |   4 +-
 Marlin/src/pins/sam/pins_ARCHIM2.h            |  14 +-
 Marlin/src/pins/sam/pins_DUE3DOM.h            |   2 +-
 Marlin/src/pins/sam/pins_DUE3DOM_MINI.h       |   2 +-
 Marlin/src/pins/sam/pins_RADDS.h              |   2 +-
 Marlin/src/pins/sam/pins_RAMPS_DUO.h          |   8 +-
 Marlin/src/pins/sam/pins_RAMPS_FD_V1.h        |   4 +-
 Marlin/src/pins/sam/pins_RURAMPS4D_11.h       |   8 +-
 Marlin/src/pins/sam/pins_RURAMPS4D_13.h       |   8 +-
 Marlin/src/pins/samd/pins_RAMPS_144.h         |  16 +-
 Marlin/src/pins/sanguino/pins_ANET_10.h       |   4 +-
 .../src/pins/sanguino/pins_SANGUINOLOLU_11.h  |   8 +-
 Marlin/src/pins/sanguino/pins_ZMIB_V2.h       |   2 +-
 .../src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h |   2 +-
 Marlin/src/pins/stm32f1/pins_CHITU3D.h        |  12 +-
 Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h     |   3 -
 Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h     |   3 -
 Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h  |   2 +-
 Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h |   2 +-
 Marlin/src/pins/stm32f1/pins_GTM32_MINI.h     |   4 +-
 Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h |   2 +-
 Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h   |   4 +-
 Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h    |   2 +-
 Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h      |  13 +-
 Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h  |  19 +-
 .../pins/stm32f1/pins_MKS_ROBIN_E3_common.h   |   2 +-
 Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h |   2 +-
 .../src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h   |   2 +-
 Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h |  75 ++---
 Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h |   2 +-
 .../src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h |  15 +-
 Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h  |   4 +-
 Marlin/src/pins/stm32f1/pins_STM32F1R.h       |  12 +-
 Marlin/src/pins/stm32f1/pins_STM3R_MINI.h     |  12 +-
 Marlin/src/pins/stm32f4/pins_BEAST.h          |  12 +-
 .../src/pins/stm32f4/pins_BTT_BTT002_V1_0.h   |   2 +-
 Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h   |   2 +-
 .../pins/stm32f4/pins_BTT_SKR_PRO_common.h    |   2 +-
 Marlin/src/pins/stm32f4/pins_FYSETC_S6.h      |   2 +-
 Marlin/src/pins/stm32f4/pins_RUMBA32_common.h |   2 +-
 Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h  |  12 +-
 Marlin/src/pins/teensy2/pins_PRINTRBOARD.h    |   4 +-
 Marlin/src/pins/teensy2/pins_TEENSY2.h        |   2 +-
 Marlin/src/pins/teensy2/pins_TEENSYLU.h       |   4 +-
 Marlin/src/pins/teensy3/pins_TEENSY35_36.h    |   4 +-
 buildroot/tests/STM32F103VE_longer-tests      |   2 -
 buildroot/tests/mks_robin-tests               |   4 +-
 buildroot/tests/mks_robin_nano35-tests        |  41 ++-
 buildroot/tests/mks_robin_pro-tests           |   4 +-
 116 files changed, 593 insertions(+), 599 deletions(-)

diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index db266b524b3..1f6b0db9469 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -35,7 +35,7 @@
  *
  * Advanced settings can be found in Configuration_adv.h
  */
-#define CONFIGURATION_H_VERSION 020007
+#define CONFIGURATION_H_VERSION 020008
 
 //===========================================================================
 //============================= Getting Started =============================
@@ -2205,22 +2205,83 @@
 //=============================================================================
 
 /**
- * TFT Type - Select your Display type
- *
- * Available options are:
- *   MKS_TS35_V2_0,
- *   MKS_ROBIN_TFT24, MKS_ROBIN_TFT28, MKS_ROBIN_TFT32, MKS_ROBIN_TFT35,
- *   MKS_ROBIN_TFT43, MKS_ROBIN_TFT_V1_1R
- *   TFT_TRONXY_X5SA, ANYCUBIC_TFT35, LONGER_LK_TFT28
- *   TFT_GENERIC
- *
- * For TFT_GENERIC, you need to configure these 3 options:
- *   Driver:     TFT_DRIVER
- *               Current Drivers are: AUTO, ST7735, ST7789, ST7796, R61505, ILI9328, ILI9341, ILI9488
- *   Resolution: TFT_WIDTH and TFT_HEIGHT
- *   Interface:  TFT_INTERFACE_FSMC or TFT_INTERFACE_SPI
+ * Specific TFT Model Presets. Enable one of the following options
+ * or enable TFT_GENERIC and set sub-options.
  */
+
+//
+// 480x320, 3.5", SPI Display From MKS
+// Normally used in MKS Robin Nano V2
+//
+//#define MKS_TS35_V2_0
+
+//
+// 320x240, 2.4", FSMC Display From MKS
+// Normally used in MKS Robin Nano V1.2
+//
+//#define MKS_ROBIN_TFT24
+
+//
+// 320x240, 2.8", FSMC Display From MKS
+// Normally used in MKS Robin Nano V1.2
+//
+//#define MKS_ROBIN_TFT28
+
+//
+// 320x240, 3.2", FSMC Display From MKS
+// Normally used in MKS Robin Nano V1.2
+//
+//#define MKS_ROBIN_TFT32
+
+//
+// 480x320, 3.5", FSMC Display From MKS
+// Normally used in MKS Robin Nano V1.2
+//
+//#define MKS_ROBIN_TFT35
+
+//
+// 480x272, 4.3", FSMC Display From MKS
+//
+//#define MKS_ROBIN_TFT43
+
+//
+// 320x240, 3.2", FSMC Display From MKS
+// Normally used in MKS Robin
+//
+//#define MKS_ROBIN_TFT_V1_1R
+
+//
+// 480x320, 3.5", FSMC Stock Display from TronxXY
+//
+//#define TFT_TRONXY_X5SA
+
+//
+// 480x320, 3.5", FSMC Stock Display from AnyCubic
+//
+//#define ANYCUBIC_TFT35
+
+//
+// 320x240, 2.8", FSMC Stock Display from Longer/Alfawise
+//
+//#define LONGER_LK_TFT28
+
+//
+// Generic TFT with detailed options
+//
 //#define TFT_GENERIC
+#if ENABLED(TFT_GENERIC)
+  // :[ 'AUTO', 'ST7735', 'ST7789', 'ST7796', 'R61505', 'ILI9328', 'ILI9341', 'ILI9488' ]
+  #define TFT_DRIVER AUTO
+
+  // Interface. Enable one of the following options:
+  //#define TFT_INTERFACE_FSMC
+  //#define TFT_INTERFACE_SPI
+
+  // TFT Resolution. Enable one of the following options:
+  //#define TFT_RES_320x240
+  //#define TFT_RES_480x272
+  //#define TFT_RES_480x320
+#endif
 
 /**
  * TFT UI - User Interface Selection. Enable one of the following options:
diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index bcacddd20d4..714bcb288f8 100644
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -30,7 +30,7 @@
  *
  * Basic settings can be found in Configuration.h
  */
-#define CONFIGURATION_ADV_H_VERSION 020007
+#define CONFIGURATION_ADV_H_VERSION 020008
 
 //===========================================================================
 //============================= Thermal Settings ============================
@@ -1048,10 +1048,10 @@
 
 // @section lcd
 
-#if EITHER(ULTIPANEL, EXTENSIBLE_UI)
+#if EITHER(IS_ULTIPANEL, EXTENSIBLE_UI)
   #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel
   #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm)
-  #if ENABLED(ULTIPANEL)
+  #if IS_ULTIPANEL
     #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position"
     #define ULTIPANEL_FEEDMULTIPLY  // Encoder sets the feedrate multiplier on the Status Screen
   #endif
diff --git a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h
index f5051d32a16..8b7d27742d4 100644
--- a/Marlin/src/HAL/LPC1768/inc/SanityCheck.h
+++ b/Marlin/src/HAL/LPC1768/inc/SanityCheck.h
@@ -72,7 +72,7 @@ static_assert(!(NUM_SERVOS && ENABLED(FAST_PWM_FAN)), "BLTOUCH and Servos are in
 //#endif
 
 #if MB(RAMPS_14_RE_ARM_EFB, RAMPS_14_RE_ARM_EEB, RAMPS_14_RE_ARM_EFF, RAMPS_14_RE_ARM_EEF, RAMPS_14_RE_ARM_SF)
-  #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && HAS_DRIVER(TMC2130) && DISABLED(TMC_USE_SW_SPI)
+  #if IS_RRD_FG_SC && HAS_DRIVER(TMC2130) && DISABLED(TMC_USE_SW_SPI)
     #error "Re-ARM with REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER and TMC2130 requires TMC_USE_SW_SPI."
   #endif
 #endif
diff --git a/Marlin/src/HAL/STM32F1/HAL.cpp b/Marlin/src/HAL/STM32F1/HAL.cpp
index cd1efc16591..6733aead6d7 100644
--- a/Marlin/src/HAL/STM32F1/HAL.cpp
+++ b/Marlin/src/HAL/STM32F1/HAL.cpp
@@ -130,7 +130,7 @@ const uint8_t adc_pins[] = {
   #if ENABLED(FILAMENT_WIDTH_SENSOR)
     FILWIDTH_PIN,
   #endif
-  #if ENABLED(ADC_KEYPAD)
+  #if HAS_ADC_BUTTONS
     ADC_KEYPAD_PIN,
   #endif
   #if HAS_JOY_ADC_X
@@ -187,7 +187,7 @@ enum TempPinIndex : char {
   #if ENABLED(FILAMENT_WIDTH_SENSOR)
     FILWIDTH,
   #endif
-  #if ENABLED(ADC_KEYPAD)
+  #if HAS_ADC_BUTTONS
     ADC_KEY,
   #endif
   #if HAS_JOY_ADC_X
@@ -389,7 +389,7 @@ void HAL_adc_start_conversion(const uint8_t adc_pin) {
     #if ENABLED(FILAMENT_WIDTH_SENSOR)
       case FILWIDTH_PIN: pin_index = FILWIDTH; break;
     #endif
-    #if ENABLED(ADC_KEYPAD)
+    #if HAS_ADC_BUTTONS
       case ADC_KEYPAD_PIN: pin_index = ADC_KEY; break;
     #endif
     #if ENABLED(POWER_MONITOR_CURRENT)
diff --git a/Marlin/src/core/macros.h b/Marlin/src/core/macros.h
index 21bb32c4cf2..7948e8ce873 100644
--- a/Marlin/src/core/macros.h
+++ b/Marlin/src/core/macros.h
@@ -170,7 +170,7 @@
 #define _DO_12(W,C,A,V...) (_##W##_1(A) C _DO_11(W,C,V))
 #define __DO_N(W,C,N,V...) _DO_##N(W,C,V)
 #define _DO_N(W,C,N,V...)  __DO_N(W,C,N,V)
-#define DO(W,C,V...)       _DO_N(W,C,NUM_ARGS(V),V)
+#define DO(W,C,V...)       (_DO_N(W,C,NUM_ARGS(V),V))
 
 // Macros to support option testing
 #define _CAT(a,V...) a##V
@@ -186,6 +186,7 @@
 #define _DIS_1(O)           NOT(_ENA_1(O))
 #define ENABLED(V...)       DO(ENA,&&,V)
 #define DISABLED(V...)      DO(DIS,&&,V)
+#define COUNT_ENABLED(V...) DO(ENA,+,V)
 
 #define TERN(O,A,B)         _TERN(_ENA_1(O),B,A)    // OPTION converted to '0' or '1'
 #define TERN0(O,A)          _TERN(_ENA_1(O),0,A)    // OPTION converted to A or '0'
@@ -200,6 +201,7 @@
 #define ALL(V...)           ENABLED(V)
 #define BOTH(V1,V2)         ALL(V1,V2)
 #define EITHER(V1,V2)       ANY(V1,V2)
+#define MANY(V...)          (COUNT_ENABLED(V) > 1)
 
 // Macros to support pins/buttons exist testing
 #define PIN_EXISTS(PN)      (defined(PN##_PIN) && PN##_PIN >= 0)
diff --git a/Marlin/src/feature/bedlevel/ubl/ubl.h b/Marlin/src/feature/bedlevel/ubl/ubl.h
index 9ac9de18063..22ca1f69ecc 100644
--- a/Marlin/src/feature/bedlevel/ubl/ubl.h
+++ b/Marlin/src/feature/bedlevel/ubl/ubl.h
@@ -59,7 +59,7 @@ class unified_bed_leveling {
       static int  g29_grid_size;
     #endif
 
-    #if ENABLED(NEWPANEL)
+    #if IS_NEWPANEL
       static void move_z_with_encoder(const float &multiplier);
       static float measure_point_with_encoder();
       static float measure_business_card_thickness(float in_height);
diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h
index 56ce2ca5ed8..4eeb0e8a445 100644
--- a/Marlin/src/inc/Conditionals_LCD.h
+++ b/Marlin/src/inc/Conditionals_LCD.h
@@ -46,7 +46,7 @@
  *
  *  DOGLCD                : Run a Graphical LCD through U8GLib (with MarlinUI)
  *  IS_ULTIPANEL          : Define LCD_PINS_D5/6/7 for direct-connected "Ultipanel" LCDs
- *  IS_ULTRA_LCD          : Ultra LCD, not necessarily Ultipanel. Used most often with NEWPANEL.
+ *  IS_ULTRA_LCD          : Ultra LCD, not necessarily Ultipanel.
  *  IS_RRD_SC             : Common RRD Smart Controller digital interface pins
  *  IS_RRD_FG_SC          : Common RRD Full Graphical Smart Controller digital interface pins
  *  U8GLIB_ST7920         : Most common DOGM display SPI interface, supporting a "lightweight" display mode.
@@ -63,22 +63,21 @@
 #elif ENABLED(CARTESIO_UI)
 
   #define DOGLCD
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 
 #elif EITHER(DWIN_MARLINUI_PORTRAIT, DWIN_MARLINUI_LANDSCAPE)
 
   #define IS_DWIN_MARLINUI 1
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 
 #elif ENABLED(ZONESTAR_LCD)
 
-  #define ADC_KEYPAD
-  #define IS_RRW_KEYPAD
+  #define HAS_ADC_BUTTONS 1
   #define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0
   #define ADC_KEY_NUM 8
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 
-  // This helps to implement ADC_KEYPAD menus
+  // This helps to implement HAS_ADC_BUTTONS menus
   #define REVERSE_MENU_DIRECTION
   #define ENCODER_PULSES_PER_STEP 1
   #define ENCODER_STEPS_PER_MENU_ITEM 1
@@ -86,29 +85,25 @@
 
 #elif ENABLED(ZONESTAR_12864LCD)
   #define DOGLCD
-  #define IS_RRD_SC
+  #define IS_RRD_SC 1
   #define U8GLIB_ST7920
 
 #elif ENABLED(ZONESTAR_12864OLED)
-  #define IS_RRD_SC
+  #define IS_RRD_SC 1
   #define U8GLIB_SH1106
 
 #elif ENABLED(ZONESTAR_12864OLED_SSD1306)
-  #define IS_RRD_SC
+  #define IS_RRD_SC 1
   #define IS_U8GLIB_SSD1306
 
 #elif ENABLED(RADDS_DISPLAY)
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
   #define ENCODER_PULSES_PER_STEP 2
 
-#elif EITHER(ANET_FULL_GRAPHICS_LCD, BQ_LCD_SMART_CONTROLLER)
-
-  #define IS_RRD_FG_SC
-
 #elif ANY(miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864)
 
   #define DOGLCD
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 
   #if ENABLED(miniVIKI)
     #define U8GLIB_ST7565_64128N
@@ -123,40 +118,33 @@
 #elif ENABLED(OLED_PANEL_TINYBOY2)
 
   #define IS_U8GLIB_SSD1306
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 
 #elif ENABLED(RA_CONTROL_PANEL)
 
   #define LCD_I2C_TYPE_PCA8574
   #define LCD_I2C_ADDRESS 0x27   // I2C Address of the port expander
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 
 #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
 
   #define DOGLCD
   #define U8GLIB_ST7920
-  #define IS_ULTIPANEL
-
-#elif ENABLED(CR10_STOCKDISPLAY)
-
-  #define IS_RRD_FG_SC
-  #define BOARD_ST7920_DELAY_1 DELAY_NS(125)
-  #define BOARD_ST7920_DELAY_2 DELAY_NS(125)
-  #define BOARD_ST7920_DELAY_3 DELAY_NS(125)
+  #define IS_ULTIPANEL 1
 
 #elif ENABLED(MKS_12864OLED)
 
-  #define IS_RRD_SC
+  #define IS_RRD_SC 1
   #define U8GLIB_SH1106
 
 #elif ENABLED(MKS_12864OLED_SSD1306)
 
-  #define IS_RRD_SC
+  #define IS_RRD_SC 1
   #define IS_U8GLIB_SSD1306
 
 #elif ENABLED(FYSETC_242_OLED_12864)
 
-  #define IS_RRD_SC
+  #define IS_RRD_SC 1
   #define U8GLIB_SH1106
 
   #define LED_CONTROL_MENU
@@ -179,7 +167,7 @@
 
   #define FYSETC_MINI_12864
   #define DOGLCD
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
   #define LED_COLORS_REDUCE_GREEN
   #if ENABLED(PSU_CONTROL) && EITHER(FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1)
     #define LED_BACKLIGHT_TIMEOUT 10000
@@ -205,7 +193,7 @@
 
 #elif ENABLED(ULTI_CONTROLLER)
 
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
   #define U8GLIB_SSD1309
   #define LCD_RESET_PIN LCD_PINS_D6 //  This controller need a reset pin
   #define ENCODER_PULSES_PER_STEP 2
@@ -213,14 +201,14 @@
 
 #elif ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602)
 
-  #define IS_RRD_SC
+  #define IS_RRD_SC 1
   #define LCD_WIDTH 16
   #define LCD_HEIGHT 2
 
 #elif EITHER(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C)
 
   #define IS_TFTGLCD_PANEL 1
-  #define IS_ULTIPANEL                      // Note that IS_ULTIPANEL leads to HAS_WIRED_LCD
+  #define IS_ULTIPANEL 1                    // Note that IS_ULTIPANEL leads to HAS_WIRED_LCD
 
   #if ENABLED(SDSUPPORT) && DISABLED(LCD_PROGRESS_BAR)
     #define LCD_PROGRESS_BAR
@@ -239,14 +227,35 @@
   #define CONVERT_TO_EXT_ASCII        // Use extended 128-255 symbols from ASCII table.
                                       // At this time present conversion only for cyrillic - bg, ru and uk languages.
                                       // First 7 ASCII symbols in panel font must be replaced with Marlin's special symbols.
+
+#elif ENABLED(CR10_STOCKDISPLAY)
+
+  #define IS_RRD_FG_SC 1
+  #define BOARD_ST7920_DELAY_1 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_2 DELAY_NS(125)
+  #define BOARD_ST7920_DELAY_3 DELAY_NS(125)
+
+#elif ANY(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER, ANET_FULL_GRAPHICS_LCD, BQ_LCD_SMART_CONTROLLER)
+
+  #define IS_RRD_FG_SC 1
+
+#elif ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+
+  // RepRapDiscount LCD or Graphical LCD with rotary click encoder
+  #define IS_RRD_SC 1
+
 #endif
 
-#if ENABLED(IS_RRD_FG_SC)
-  #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
+// ST7920-based graphical displays
+#if ANY(IS_RRD_FG_SC, LCD_FOR_MELZI, SILVER_GATE_GLCD_CONTROLLER)
+  #define DOGLCD
+  #define U8GLIB_ST7920
+  #define IS_RRD_SC 1
 #endif
 
+// ST7565 / 64128N graphical displays
 #if EITHER(MAKRPANEL, MINIPANEL)
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
   #define DOGLCD
   #if ENABLED(MAKRPANEL)
     #define U8GLIB_ST7565_64128N
@@ -258,7 +267,7 @@
 #endif
 
 #if ENABLED(OVERLORD_OLED)
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
   #define U8GLIB_SH1106
   /**
    * PCA9632 for buzzer and LEDs via i2c
@@ -278,64 +287,44 @@
 // 128x64 I2C OLED LCDs - SSD1306/SSD1309/SH1106
 #if ANY(U8GLIB_SSD1306, U8GLIB_SSD1309, U8GLIB_SH1106)
   #define HAS_U8GLIB_I2C_OLED 1
-#endif
-#if HAS_U8GLIB_I2C_OLED
-  #define IS_ULTRA_LCD
+  #define IS_ULTRA_LCD 1
   #define DOGLCD
 #endif
 
-// ST7920-based graphical displays
-#if ANY(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER, LCD_FOR_MELZI, SILVER_GATE_GLCD_CONTROLLER)
-  #define DOGLCD
-  #define U8GLIB_ST7920
-  #define IS_RRD_SC
-#endif
-
-// RepRapDiscount LCD or Graphical LCD with rotary click encoder
-#if ENABLED(IS_RRD_SC)
-  #define REPRAP_DISCOUNT_SMART_CONTROLLER
-#endif
-
 /**
  * SPI Ultipanels
  */
 
 // Basic Ultipanel-like displays
-#if ANY(ULTIMAKERCONTROLLER, REPRAP_DISCOUNT_SMART_CONTROLLER, G3D_PANEL, RIGIDBOT_PANEL, PANEL_ONE, U8GLIB_SH1106)
-  #define IS_ULTIPANEL
+#if ANY(ULTIMAKERCONTROLLER, IS_RRD_SC, G3D_PANEL, RIGIDBOT_PANEL, PANEL_ONE, U8GLIB_SH1106)
+  #define IS_ULTIPANEL 1
 #endif
 
 // Einstart OLED has Cardinal nav via pins defined in pins_EINSTART-S.h
 #if ENABLED(U8GLIB_SH1106_EINSTART)
   #define DOGLCD
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 #endif
 
-// Compatibility
-#if ENABLED(FSMC_GRAPHICAL_TFT)
+// TFT Compatibility
+#if ANY(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT, TFT_320x240, TFT_480x320, TFT_320x240_SPI, TFT_480x320_SPI, TFT_LVGL_UI_FSMC, TFT_LVGL_UI_SPI)
+  #define IS_LEGACY_TFT 1
+  #define TFT_GENERIC
+  #warning "Don't forget to update your TFT settings in Configuration.h."
+#endif
+
+#if ANY(FSMC_GRAPHICAL_TFT, TFT_320x240, TFT_480x320, TFT_LVGL_UI_FSMC)
+  #define TFT_INTERFACE_FSMC
+#elif ANY(SPI_GRAPHICAL_TFT, TFT_320x240_SPI, TFT_480x320_SPI, TFT_LVGL_UI_SPI)
+  #define TFT_INTERFACE_SPI
+#endif
+
+#if EITHER(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT)
   #define TFT_CLASSIC_UI
-  #define TFT_INTERFACE_FSMC
-  #define TFT_GENERIC
-#elif ENABLED(SPI_GRAPHICAL_TFT)
-  #define TFT_CLASSIC_UI
-  #define TFT_INTERFACE_SPI
-  #define TFT_GENERIC
-#elif EITHER(TFT_320x240, TFT_480x320)
+#elif ANY(TFT_320x240, TFT_480x320, TFT_320x240_SPI, TFT_480x320_SPI)
   #define TFT_COLOR_UI
-  #define TFT_INTERFACE_FSMC
-  #define TFT_GENERIC
-#elif EITHER(TFT_320x240_SPI, TFT_480x320_SPI)
-  #define TFT_COLOR_UI
-  #define TFT_INTERFACE_SPI
-  #define TFT_GENERIC
-#elif ENABLED(TFT_LVGL_UI_FSMC)
+#elif EITHER(TFT_LVGL_UI_FSMC, TFT_LVGL_UI_SPI)
   #define TFT_LVGL_UI
-  #define TFT_INTERFACE_FSMC
-  #define TFT_GENERIC
-#elif ENABLED(TFT_LVGL_UI_SPI)
-  #define TFT_LVGL_UI
-  #define TFT_INTERFACE_SPI
-  #define TFT_GENERIC
 #endif
 
 // FSMC/SPI TFT Panels (LVGL)
@@ -350,7 +339,7 @@
 
 #if TFT_SCALED_DOGLCD
   #define DOGLCD
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
   #define DELAYED_BACKLIGHT_INIT
 #elif ENABLED(TFT_LVGL_UI)
   #define DELAYED_BACKLIGHT_INIT
@@ -359,7 +348,7 @@
 // Color UI
 #if ENABLED(TFT_COLOR_UI)
   #define HAS_GRAPHICAL_TFT 1
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 #endif
 
 /**
@@ -383,7 +372,7 @@
   #define LCD_I2C_TYPE_MCP23017
   #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
   #define LCD_USE_I2C_BUZZER   // Enable buzzer on LCD (optional)
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 
 #elif ENABLED(LCD_I2C_VIKI)
 
@@ -398,7 +387,7 @@
   #define LCD_I2C_TYPE_MCP23017
   #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander
   #define LCD_USE_I2C_BUZZER   // Enable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later)
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 
   #define ENCODER_FEEDRATE_DEADZONE 4
 
@@ -410,7 +399,7 @@
   #define STD_ENCODER_PULSES_PER_STEP 2
   #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
 
-#elif ANY(REPRAP_DISCOUNT_SMART_CONTROLLER, miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864, OLED_PANEL_TINYBOY2, BQ_LCD_SMART_CONTROLLER, LCD_I2C_PANELOLU2)
+#elif ANY(IS_RRD_SC, miniVIKI, VIKI2, ELB_FULL_GRAPHIC_CONTROLLER, AZSMZ_12864, OLED_PANEL_TINYBOY2, BQ_LCD_SMART_CONTROLLER, LCD_I2C_PANELOLU2)
 
   #define STD_ENCODER_PULSES_PER_STEP 4
   #define STD_ENCODER_STEPS_PER_MENU_ITEM 1
@@ -443,30 +432,24 @@
 // https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
 #if ENABLED(FF_INTERFACEBOARD)
   #define SR_LCD_3W_NL    // Non latching 3 wire shift register
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
 #elif ENABLED(SAV_3DLCD)
   #define SR_LCD_2W_NL    // Non latching 2 wire shift register
-  #define IS_ULTIPANEL
+  #define IS_ULTIPANEL 1
+#elif ENABLED(ULTIPANEL)
+  #define IS_ULTIPANEL 1
 #endif
 
-#if ENABLED(IS_ULTIPANEL)
-  #define ULTIPANEL
-#endif
-#if ENABLED(ULTIPANEL)
-  #define IS_ULTRA_LCD
-  #define NEWPANEL
-#endif
-#if ENABLED(IS_ULTRA_LCD)
-  #define ULTRA_LCD
+#if EITHER(IS_ULTIPANEL, ULTRA_LCD)
+  #define IS_ULTRA_LCD 1
 #endif
 
-#if ENABLED(IS_RRW_KEYPAD)
-  #define REPRAPWORLD_KEYPAD
+#if EITHER(IS_ULTIPANEL, REPRAPWORLD_KEYPAD)
+  #define IS_NEWPANEL 1
 #endif
 
-// Keypad needs a move step
-#if ENABLED(REPRAPWORLD_KEYPAD)
-  #define NEWPANEL
+#if EITHER(ZONESTAR_LCD, REPRAPWORLD_KEYPAD)
+  #define IS_RRW_KEYPAD 1
   #ifndef REPRAPWORLD_KEYPAD_MOVE_STEP
     #define REPRAPWORLD_KEYPAD_MOVE_STEP 1.0
   #endif
@@ -479,16 +462,16 @@
 
 // Extensible UI serial touch screens. (See src/lcd/extui)
 #if ANY(HAS_DGUS_LCD, MALYAN_LCD, TOUCH_UI_FTDI_EVE, ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON)
-  #define IS_EXTUI
+  #define IS_EXTUI 1
   #define EXTENSIBLE_UI
 #endif
 
 // Aliases for LCD features
-#if EITHER(ULTRA_LCD, EXTENSIBLE_UI)
+#if EITHER(IS_ULTRA_LCD, EXTENSIBLE_UI)
   #define HAS_DISPLAY 1
 #endif
 
-#if ENABLED(ULTRA_LCD)
+#if IS_ULTRA_LCD
   #define HAS_WIRED_LCD 1
   #if ENABLED(DOGLCD)
     #define HAS_MARLINUI_U8GLIB 1
@@ -499,12 +482,9 @@
   #endif
 #endif
 
-#if ENABLED(ULTIPANEL) && DISABLED(NO_LCD_MENUS)
+#if IS_ULTIPANEL && DISABLED(NO_LCD_MENUS)
   #define HAS_LCD_MENU 1
 #endif
-#if ENABLED(ADC_KEYPAD)
-  #define HAS_ADC_BUTTONS 1
-#endif
 
 #if HAS_MARLINUI_U8GLIB
   #ifndef LCD_PIXEL_WIDTH
@@ -837,83 +817,85 @@
 #if ENABLED(MKS_TS35_V2_0)
   // Most common: ST7796
   #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY)
-  #define TFT_WIDTH  480
-  #define TFT_HEIGHT 320
+  #define TFT_RES_480x320
   #define TFT_INTERFACE_SPI
-  #define GRAPHICAL_TFT_UPSCALE 3
 #elif ENABLED(MKS_ROBIN_TFT24)
   // Most common: ST7789
   #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y)
-  #define TFT_WIDTH  320
-  #define TFT_HEIGHT 240
+  #define TFT_RES_320x240
   #define TFT_INTERFACE_FSMC
-  #define GRAPHICAL_TFT_UPSCALE 2
 #elif ENABLED(MKS_ROBIN_TFT28)
   // Most common: ST7789
   #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y)
-  #define TFT_WIDTH  320
-  #define TFT_HEIGHT 240
+  #define TFT_RES_320x240
   #define TFT_INTERFACE_FSMC
-  #define GRAPHICAL_TFT_UPSCALE 2
 #elif ENABLED(MKS_ROBIN_TFT32)
   // Most common: ST7789
   #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_Y)
-  #define TFT_WIDTH  320
-  #define TFT_HEIGHT 240
+  #define TFT_RES_320x240
   #define TFT_INTERFACE_FSMC
-  #define GRAPHICAL_TFT_UPSCALE 2
 #elif ENABLED(MKS_ROBIN_TFT35)
   // Most common: ILI9488
   #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
-  #define TFT_WIDTH  480
-  #define TFT_HEIGHT 320
+  #define TFT_RES_480x320
   #define TFT_INTERFACE_FSMC
-  #define GRAPHICAL_TFT_UPSCALE 3
 #elif ENABLED(MKS_ROBIN_TFT43)
   #define TFT_DEFAULT_ORIENTATION 0
   #define TFT_DRIVER SSD1963
-  #define TFT_WIDTH  480
-  #define TFT_HEIGHT 272
+  #define TFT_RES_480x272
   #define TFT_INTERFACE_FSMC
-  #define GRAPHICAL_TFT_UPSCALE 2
 #elif ENABLED(MKS_ROBIN_TFT_V1_1R)
   // ILI9328 or R61505
-  #define TFT_DEFAULT_ORIENTATION (TFT_INVERT_X | TFT_INVERT_Y | TFT_EXCHANGE_XY)
-  #define TFT_WIDTH  320
-  #define TFT_HEIGHT 240
+  #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
+  #define TFT_RES_320x240
   #define TFT_INTERFACE_FSMC
-  #define GRAPHICAL_TFT_UPSCALE 2
 #elif EITHER(TFT_TRONXY_X5SA, ANYCUBIC_TFT35)
   #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
   #define TFT_DRIVER ILI9488
-  #define TFT_WIDTH  480
-  #define TFT_HEIGHT 320
+  #define TFT_RES_480x320
   #define TFT_INTERFACE_FSMC
-  #define GRAPHICAL_TFT_UPSCALE 3
 #elif ENABLED(LONGER_LK_TFT28)
   #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
-  #define TFT_WIDTH  320
-  #define TFT_HEIGHT 240
+  #define TFT_RES_320x240
   #define TFT_INTERFACE_FSMC
-  #define GRAPHICAL_TFT_UPSCALE 2
 #elif ENABLED(TFT_GENERIC)
   #define TFT_DEFAULT_ORIENTATION (TFT_EXCHANGE_XY | TFT_INVERT_X | TFT_INVERT_Y)
+  #if NONE(TFT_RES_320x240, TFT_RES_480x272, TFT_RES_480x320)
+    #define TFT_RES_320x240
+  #endif
+  #if NONE(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI)
+    #define TFT_INTERFACE_SPI
+  #endif
+#endif
+
+#if ENABLED(TFT_RES_320x240)
+  #define TFT_WIDTH  320
+  #define TFT_HEIGHT 240
+  #define GRAPHICAL_TFT_UPSCALE 2
+#elif ENABLED(TFT_RES_480x272)
+  #define TFT_WIDTH  480
+  #define TFT_HEIGHT 272
+  #define GRAPHICAL_TFT_UPSCALE 2
+#elif ENABLED(TFT_RES_480x320)
+  #define TFT_WIDTH  480
+  #define TFT_HEIGHT 320
+  #define GRAPHICAL_TFT_UPSCALE 3
 #endif
 
 // FSMC/SPI TFT Panels using standard HAL/tft/tft_(fsmc|spi).h
 #if ENABLED(TFT_INTERFACE_FSMC)
   #define HAS_FSMC_TFT 1
   #if ENABLED(TFT_CLASSIC_UI)
-    #define FSMC_GRAPHICAL_TFT
+    #define HAS_FSMC_GRAPHICAL_TFT 1
   #elif ENABLED(TFT_LVGL_UI)
-    #define TFT_LVGL_UI_FSMC
+    #define HAS_TFT_LVGL_UI_FSMC 1
   #endif
 #elif ENABLED(TFT_INTERFACE_SPI)
   #define HAS_SPI_TFT 1
   #if ENABLED(TFT_CLASSIC_UI)
-    #define SPI_GRAPHICAL_TFT
+    #define HAS_SPI_GRAPHICAL_TFT 1
   #elif ENABLED(TFT_LVGL_UI)
-    #define TFT_LVGL_UI_SPI
+    #define HAS_TFT_LVGL_UI_SPI 1
   #endif
 #endif
 
diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h
index 255470bca6e..78c014865c7 100644
--- a/Marlin/src/inc/Conditionals_adv.h
+++ b/Marlin/src/inc/Conditionals_adv.h
@@ -148,7 +148,7 @@
 
 #if ANY(MARLIN_BRICKOUT, MARLIN_INVADERS, MARLIN_SNAKE, MARLIN_MAZE)
   #define HAS_GAMES 1
-  #if (1 < ENABLED(MARLIN_BRICKOUT) + ENABLED(MARLIN_INVADERS) + ENABLED(MARLIN_SNAKE) + ENABLED(MARLIN_MAZE))
+  #if MANY(MARLIN_BRICKOUT, MARLIN_INVADERS, MARLIN_SNAKE, MARLIN_MAZE)
     #define HAS_GAME_MENU 1
   #endif
 #endif
@@ -163,7 +163,7 @@
 #if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
   #define HAS_SOFTWARE_ENDSTOPS 1
 #endif
-#if ANY(EXTENSIBLE_UI, NEWPANEL, EMERGENCY_PARSER, HAS_ADC_BUTTONS, DWIN_CREALITY_LCD)
+#if ANY(EXTENSIBLE_UI, IS_NEWPANEL, EMERGENCY_PARSER, HAS_ADC_BUTTONS, DWIN_CREALITY_LCD)
   #define HAS_RESUME_CONTINUE 1
 #endif
 
diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h
index 798bf009c63..581b36932af 100644
--- a/Marlin/src/inc/Conditionals_post.h
+++ b/Marlin/src/inc/Conditionals_post.h
@@ -383,7 +383,7 @@
 
 #endif
 
-#if ANY(HAS_GRAPHICAL_TFT, LCD_USE_DMA_FSMC, FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT) || !PIN_EXISTS(SD_DETECT)
+#if ANY(HAS_GRAPHICAL_TFT, LCD_USE_DMA_FSMC, HAS_FSMC_GRAPHICAL_TFT, HAS_SPI_GRAPHICAL_TFT) || !PIN_EXISTS(SD_DETECT)
   #define NO_LCD_REINIT 1  // Suppress LCD re-initialization
 #endif
 
@@ -2578,7 +2578,7 @@
 // Force SDCARD_SORT_ALPHA to be enabled for Graphical LCD on LPC1768
 // on boards where SD card and LCD display share the same SPI bus
 // because of a bug in the shared SPI implementation. (See #8122)
-#if defined(TARGET_LPC1768) && ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && (SCK_PIN == LCD_PINS_D4)
+#if defined(TARGET_LPC1768) && IS_RRD_FG_SC && (SCK_PIN == LCD_PINS_D4)
   #define SDCARD_SORT_ALPHA         // Keep one directory level in RAM. Changing directory levels
                                     // may still glitch the screen, but LCD updates clean it up.
   #undef SDSORT_LIMIT
diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h
index e4f278b22b4..9aea18c2d76 100644
--- a/Marlin/src/inc/SanityCheck.h
+++ b/Marlin/src/inc/SanityCheck.h
@@ -702,8 +702,10 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
   #elif PROGRESS_MSG_EXPIRE < 0
     #error "PROGRESS_MSG_EXPIRE must be greater than or equal to 0."
   #endif
-#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && NONE(HAS_MARLINUI_U8GLIB, HAS_GRAPHICAL_TFT, HAS_MARLINUI_HD44780, EXTENSIBLE_UI)
-  #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Character LCD, Graphical LCD, TFT, or EXTENSIBLE_UI."
+#elif ENABLED(LCD_SET_PROGRESS_MANUALLY)
+  #if NONE(HAS_MARLINUI_U8GLIB, HAS_GRAPHICAL_TFT, HAS_MARLINUI_HD44780, EXTENSIBLE_UI)
+    #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Character LCD, Graphical LCD, TFT, or EXTENSIBLE_UI."
+  #endif
 #endif
 
 #if !HAS_LCD_MENU && ENABLED(SD_REPRINT_LAST_SELECTED_FILE)
@@ -843,7 +845,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
     #error "ADVANCED_PAUSE_FEATURE requires FILAMENT_UNLOAD_PURGE_FEEDRATE. Please add it to Configuration_adv.h."
   #elif ENABLED(EXTRUDER_RUNOUT_PREVENT)
     #error "EXTRUDER_RUNOUT_PREVENT is incompatible with ADVANCED_PAUSE_FEATURE."
-  #elif ENABLED(PARK_HEAD_ON_PAUSE) && NONE(SDSUPPORT, NEWPANEL, EMERGENCY_PARSER)
+  #elif ENABLED(PARK_HEAD_ON_PAUSE) && NONE(SDSUPPORT, IS_NEWPANEL, EMERGENCY_PARSER)
     #error "PARK_HEAD_ON_PAUSE requires SDSUPPORT, EMERGENCY_PARSER, or an LCD controller."
   #elif ENABLED(HOME_BEFORE_FILAMENT_CHANGE) && DISABLED(PAUSE_PARK_NO_STEPPER_TIMEOUT)
     #error "HOME_BEFORE_FILAMENT_CHANGE requires PAUSE_PARK_NO_STEPPER_TIMEOUT."
@@ -1026,15 +1028,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
 /**
  * Special tool-changing options
  */
-#if 1 < 0 \
-  + ENABLED(SINGLENOZZLE) \
-  + ENABLED(DUAL_X_CARRIAGE) \
-  + ENABLED(PARKING_EXTRUDER) \
-  + ENABLED(MAGNETIC_PARKING_EXTRUDER) \
-  + ENABLED(SWITCHING_TOOLHEAD) \
-  + ENABLED(MAGNETIC_SWITCHING_TOOLHEAD) \
-  + ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
-  #error "Please select only one of SINGLENOZZLE, DUAL_X_CARRIAGE, PARKING_EXTRUDER, SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, or ELECTROMAGNETIC_SWITCHING_TOOLHEAD."
+#if MANY(SINGLENOZZLE, DUAL_X_CARRIAGE, PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER, SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, ELECTROMAGNETIC_SWITCHING_TOOLHEAD)
+  #error "Please select only one of SINGLENOZZLE, DUAL_X_CARRIAGE, PARKING_EXTRUDER, MAGNETIC_PARKING_EXTRUDER, SWITCHING_TOOLHEAD, MAGNETIC_SWITCHING_TOOLHEAD, or ELECTROMAGNETIC_SWITCHING_TOOLHEAD."
 #endif
 
 /**
@@ -1161,16 +1156,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
 /**
  * Allow only one kinematic type to be defined
  */
-#if 1 < 0 \
-  + ENABLED(DELTA) \
-  + ENABLED(MORGAN_SCARA) \
-  + ENABLED(COREXY) \
-  + ENABLED(COREXZ) \
-  + ENABLED(COREYZ) \
-  + ENABLED(COREYX) \
-  + ENABLED(COREZX) \
-  + ENABLED(COREZY) \
-  + ENABLED(MARKFORGED_XY)
+#if MANY(DELTA, MORGAN_SCARA, COREXY, COREXZ, COREYZ, COREYX, COREZX, COREZY, MARKFORGED_XY)
   #error "Please enable only one of DELTA, MORGAN_SCARA, COREXY, COREYX, COREXZ, COREZX, COREYZ, COREZY, or MARKFORGED_XY."
 #endif
 
@@ -1210,18 +1196,9 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
  * Allow only one probe option to be defined
  */
 #if 1 < 0 \
-  + ENABLED(PROBE_MANUALLY) \
-  + ENABLED(FIX_MOUNTED_PROBE) \
-  + ENABLED(NOZZLE_AS_PROBE) \
-  + (HAS_Z_SERVO_PROBE && DISABLED(BLTOUCH)) \
-  + ENABLED(BLTOUCH) && DISABLED(CREALITY_TOUCH) \
-  + ENABLED(CREALITY_TOUCH) \
-  + ENABLED(TOUCH_MI_PROBE) \
-  + ENABLED(SOLENOID_PROBE) \
-  + ENABLED(Z_PROBE_ALLEN_KEY) \
-  + ENABLED(Z_PROBE_SLED) \
-  + ENABLED(RACK_AND_PINION_PROBE) \
-  + ENABLED(SENSORLESS_PROBING)
+  + (DISABLED(BLTOUCH) && HAS_Z_SERVO_PROBE) \
+  + (ENABLED(BLTOUCH) && DISABLED(CREALITY_TOUCH)) \
+  + COUNT_ENABLED(PROBE_MANUALLY, FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, CREALITY_TOUCH, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, RACK_AND_PINION_PROBE, SENSORLESS_PROBING)
   #error "Please enable only one probe option: PROBE_MANUALLY, SENSORLESS_PROBING, BLTOUCH, FIX_MOUNTED_PROBE, NOZZLE_AS_PROBE, TOUCH_MI_PROBE, SOLENOID_PROBE, Z_PROBE_ALLEN_KEY, Z_PROBE_SLED, or Z Servo."
 #endif
 
@@ -1391,12 +1368,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
 /**
  * Allow only one bed leveling option to be defined
  */
-#if 1 < 0 \
-  + ENABLED(AUTO_BED_LEVELING_LINEAR) \
-  + ENABLED(AUTO_BED_LEVELING_3POINT) \
-  + ENABLED(AUTO_BED_LEVELING_BILINEAR) \
-  + ENABLED(AUTO_BED_LEVELING_UBL) \
-  + ENABLED(MESH_BED_LEVELING)
+#if MANY(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL, MESH_BED_LEVELING)
   #error "Select only one of: MESH_BED_LEVELING, AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_BILINEAR or AUTO_BED_LEVELING_UBL."
 #endif
 
@@ -1558,8 +1530,8 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
 /**
  * ULTIPANEL encoder
  */
-#if ENABLED(ULTIPANEL) && NONE(NEWPANEL, SR_LCD_2W_NL) && !defined(SHIFT_CLK)
-  #error "ULTIPANEL requires some kind of encoder."
+#if IS_ULTIPANEL && NONE(IS_NEWPANEL, SR_LCD_2W_NL) && !defined(SHIFT_CLK)
+  #error "ULTIPANEL controllers require some kind of encoder."
 #endif
 
 #if ENCODER_PULSES_PER_STEP < 0
@@ -2237,89 +2209,100 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
  * Make sure only one display is enabled
  */
 #if 1 < 0 \
-  + (ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) && DISABLED(IS_RRD_SC)) \
-  + (ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && DISABLED(IS_RRD_FG_SC)) \
-  + (ENABLED(ULTRA_LCD) && DISABLED(IS_ULTRA_LCD)) \
+  + ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) \
+  + ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) \
+  + ENABLED(ULTIPANEL) \
+  + ENABLED(ULTRA_LCD) \
   + (ENABLED(U8GLIB_SSD1306) && DISABLED(IS_U8GLIB_SSD1306)) \
   + (ENABLED(MINIPANEL) && NONE(MKS_MINI_12864, ENDER2_STOCKDISPLAY)) \
   + (ENABLED(MKS_MINI_12864) && DISABLED(MKS_LCD12864)) \
   + (ENABLED(EXTENSIBLE_UI) && DISABLED(IS_EXTUI)) \
-  + (ENABLED(ULTIPANEL) && DISABLED(IS_ULTIPANEL)) \
-  + ENABLED(RADDS_DISPLAY) \
-  + ENABLED(ULTIMAKERCONTROLLER) \
-  + ENABLED(PANEL_ONE) \
-  + ENABLED(G3D_PANEL) \
-  + ENABLED(RIGIDBOT_PANEL) \
-  + ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602) \
-  + ENABLED(ZONESTAR_LCD) \
-  + ENABLED(RA_CONTROL_PANEL) \
-  + ENABLED(LCD_SAINSMART_I2C_1602) \
-  + ENABLED(LCD_SAINSMART_I2C_2004) \
-  + ENABLED(LCM1602) \
-  + ENABLED(LCD_I2C_PANELOLU2) \
-  + ENABLED(LCD_I2C_VIKI) \
-  + ENABLED(SAV_3DLCD) \
-  + ENABLED(FF_INTERFACEBOARD) \
-  + ENABLED(REPRAPWORLD_GRAPHICAL_LCD) \
-  + ENABLED(VIKI2) \
-  + ENABLED(miniVIKI) \
-  + ENABLED(MAKRPANEL) \
-  + ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
-  + ENABLED(BQ_LCD_SMART_CONTROLLER) \
-  + ENABLED(CARTESIO_UI) \
-  + ENABLED(LCD_FOR_MELZI) \
-  + ENABLED(ULTI_CONTROLLER) \
-  + ENABLED(MKS_LCD12864) \
-  + ENABLED(ENDER2_STOCKDISPLAY) \
-  + ENABLED(FYSETC_MINI_12864_X_X) \
-  + ENABLED(FYSETC_MINI_12864_1_2) \
-  + ENABLED(FYSETC_MINI_12864_2_0) \
-  + ENABLED(FYSETC_MINI_12864_2_1) \
-  + ENABLED(FYSETC_GENERIC_12864_1_1) \
-  + ENABLED(CR10_STOCKDISPLAY) \
-  + ENABLED(DWIN_CREALITY_LCD) \
+  + (DISABLED(IS_LEGACY_TFT) && ENABLED(TFT_GENERIC)) \
+  + (ENABLED(IS_LEGACY_TFT) && COUNT_ENABLED(TFT_320x240, TFT_320x240_SPI, TFT_480x320, TFT_480x320_SPI)) \
+  + COUNT_ENABLED(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON, ANYCUBIC_TFT35) \
+  + COUNT_ENABLED(DGUS_LCD_UI_ORIGIN, DGUS_LCD_UI_FYSETC, DGUS_LCD_UI_HIPRECY) \
+  + COUNT_ENABLED(ENDER2_STOCKDISPLAY, CR10_STOCKDISPLAY, DWIN_CREALITY_LCD) \
+  + COUNT_ENABLED(FYSETC_MINI_12864_X_X, FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0, FYSETC_MINI_12864_2_1, FYSETC_GENERIC_12864_1_1) \
+  + COUNT_ENABLED(LCD_SAINSMART_I2C_1602, LCD_SAINSMART_I2C_2004) \
+  + COUNT_ENABLED(MKS_12864OLED, MKS_12864OLED_SSD1306) \
+  + COUNT_ENABLED(MKS_TS35_V2_0, MKS_ROBIN_TFT24, MKS_ROBIN_TFT28, MKS_ROBIN_TFT32, MKS_ROBIN_TFT35, MKS_ROBIN_TFT43, MKS_ROBIN_TFT_V1_1R) \
+  + COUNT_ENABLED(TFTGLCD_PANEL_SPI, TFTGLCD_PANEL_I2C) \
+  + COUNT_ENABLED(VIKI2, miniVIKI) \
+  + COUNT_ENABLED(ZONESTAR_12864LCD, ZONESTAR_12864OLED, ZONESTAR_12864OLED_SSD1306) \
   + ENABLED(ANET_FULL_GRAPHICS_LCD) \
   + ENABLED(AZSMZ_12864) \
-  + ENABLED(SILVER_GATE_GLCD_CONTROLLER) \
-  + ENABLED(SAV_3DGLCD) \
-  + ENABLED(OLED_PANEL_TINYBOY2) \
-  + ENABLED(MKS_12864OLED) \
-  + ENABLED(MKS_12864OLED_SSD1306) \
-  + ENABLED(ZONESTAR_12864LCD) \
-  + ENABLED(ZONESTAR_12864OLED) \
-  + ENABLED(ZONESTAR_12864OLED_SSD1306) \
-  + ENABLED(U8GLIB_SH1106_EINSTART) \
-  + ENABLED(OVERLORD_OLED) \
+  + ENABLED(BQ_LCD_SMART_CONTROLLER) \
+  + ENABLED(CARTESIO_UI) \
+  + ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) \
+  + ENABLED(FF_INTERFACEBOARD) \
   + ENABLED(FYSETC_242_OLED_12864) \
-  + ENABLED(DGUS_LCD_UI_ORIGIN) \
-  + ENABLED(DGUS_LCD_UI_FYSETC) \
-  + ENABLED(DGUS_LCD_UI_HIPRECY) \
+  + ENABLED(G3D_PANEL) \
+  + ENABLED(LCD_FOR_MELZI) \
+  + ENABLED(LCD_I2C_PANELOLU2) \
+  + ENABLED(LCD_I2C_VIKI) \
+  + ENABLED(LCM1602) \
+  + ENABLED(LONGER_LK_TFT28) \
+  + ENABLED(MAKEBOARD_MINI_2_LINE_DISPLAY_1602) \
+  + ENABLED(MAKRPANEL) \
   + ENABLED(MALYAN_LCD) \
+  + ENABLED(MKS_LCD12864) \
+  + ENABLED(OLED_PANEL_TINYBOY2) \
+  + ENABLED(OVERLORD_OLED) \
+  + ENABLED(PANEL_ONE) \
+  + ENABLED(RA_CONTROL_PANEL) \
+  + ENABLED(RADDS_DISPLAY) \
+  + ENABLED(REPRAPWORLD_GRAPHICAL_LCD) \
+  + ENABLED(RIGIDBOT_PANEL) \
+  + ENABLED(SAV_3DGLCD) \
+  + ENABLED(SAV_3DLCD) \
+  + ENABLED(SILVER_GATE_GLCD_CONTROLLER) \
+  + ENABLED(TFT_TRONXY_X5SA) \
   + ENABLED(TOUCH_UI_FTDI_EVE) \
-  + ENABLED(TFT_320x240) \
-  + ENABLED(TFT_320x240_SPI) \
-  + ENABLED(FSMC_GRAPHICAL_TFT) \
-  + ENABLED(TFT_LVGL_UI_FSMC) \
-  + ENABLED(TFT_LVGL_UI_SPI) \
-  + ENABLED(ANYCUBIC_LCD_I3MEGA) \
-  + ENABLED(ANYCUBIC_LCD_CHIRON) \
-  + ENABLED(TFTGLCD_PANEL_SPI) \
-  + ENABLED(TFTGLCD_PANEL_I2C)
+  + ENABLED(U8GLIB_SH1106_EINSTART) \
+  + ENABLED(ULTI_CONTROLLER) \
+  + ENABLED(ULTIMAKERCONTROLLER) \
+  + ENABLED(ZONESTAR_LCD)
   #error "Please select only one LCD controller option."
 #endif
 
-#undef IS_RRD_SC
-#undef IS_RRD_FG_SC
-#undef IS_ULTRA_LCD
 #undef IS_U8GLIB_SSD1306
-#undef IS_RRW_KEYPAD
 #undef IS_EXTUI
-#undef IS_ULTIPANEL
+#undef IS_LEGACY_TFT
 
-#if 1 < ENABLED(LCD_SCREEN_ROT_0) + ENABLED(LCD_SCREEN_ROT_90) + ENABLED(LCD_SCREEN_ROT_180) + ENABLED(LCD_SCREEN_ROT_270)
+#if ANY(TFT_GENERIC, MKS_TS35_V2_0, MKS_ROBIN_TFT24, MKS_ROBIN_TFT28, MKS_ROBIN_TFT32, MKS_ROBIN_TFT35, MKS_ROBIN_TFT43, MKS_ROBIN_TFT_V1_1R, TFT_TRONXY_X5SA, ANYCUBIC_TFT35, ANYCUBIC_TFT35, LONGER_LK_TFT28)
+  #if NONE(TFT_COLOR_UI, TFT_CLASSIC_UI, TFT_LVGL_UI)
+    #error "TFT_COLOR_UI, TFT_CLASSIC_UI, TFT_LVGL_UI is required for your TFT. Please enable one."
+  #elif 1 < ENABLED(TFT_COLOR_UI) + ENABLED(TFT_CLASSIC_UI) + ENABLED(TFT_LVGL_UI)
+    #error "Please select only one of TFT_COLOR_UI, TFT_CLASSIC_UI, or TFT_LVGL_UI."
+  #endif
+#elif ANY(TFT_COLOR_UI, TFT_CLASSIC_UI, TFT_LVGL_UI)
+  #error "TFT_(COLOR|CLASSIC|LVGL)_UI requires a TFT display to be enabled."
+#endif
+
+#if ENABLED(TFT_GENERIC) && NONE(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI)
+  #error "TFT_GENERIC requires either TFT_INTERFACE_FSMC or TFT_INTERFACE_SPI interface."
+#endif
+
+#if BOTH(TFT_INTERFACE_FSMC, TFT_INTERFACE_SPI)
+  #error "Please enable only one of TFT_INTERFACE_SPI or TFT_INTERFACE_SPI."
+#endif
+
+#if MANY(LCD_SCREEN_ROT_0, LCD_SCREEN_ROT_90, LCD_SCREEN_ROT_180, LCD_SCREEN_ROT_270)
   #error "Please enable only one LCD_SCREEN_ROT_* option: 0, 90, 180, or 270."
 #endif
 
+#if MANY(TFT_RES_320x240, TFT_RES_480x272, TFT_RES_480x320)
+  #error "Please select only one of TFT_RES_480x320, TFT_RES_480x320, or TFT_RES_480x272."
+#endif
+
+#if HAS_TFT_LVGL_UI && DISABLED(TFT_RES_480x320)
+  #error "(FMSC|SPI)TFT_LVGL_UI requires TFT_RES_480x320."
+#endif
+
+#if defined(GRAPHICAL_TFT_UPSCALE) && !WITHIN(GRAPHICAL_TFT_UPSCALE, 2, 3)
+  #error "GRAPHICAL_TFT_UPSCALE must be set to 2 or 3."
+#endif
+
 /**
  * Serial displays require a dedicated serial port
  */
@@ -2756,7 +2739,7 @@ static_assert(   _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2)
   #error "BLOCK_BUFFER_SIZE must be a power of 2."
 #endif
 
-#if ENABLED(LED_CONTROL_MENU) && DISABLED(ULTIPANEL)
+#if ENABLED(LED_CONTROL_MENU) && !IS_ULTIPANEL
   #error "LED_CONTROL_MENU requires an LCD controller."
 #endif
 
diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h
index 7b6a13bc564..0cea923f6ad 100644
--- a/Marlin/src/inc/Version.h
+++ b/Marlin/src/inc/Version.h
@@ -52,7 +52,7 @@
  * to alert users to major changes.
  */
 
-#define MARLIN_HEX_VERSION 020007
+#define MARLIN_HEX_VERSION 020008
 #ifndef REQUIRED_CONFIGURATION_H_VERSION
   #define REQUIRED_CONFIGURATION_H_VERSION MARLIN_HEX_VERSION
 #endif
diff --git a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp
index b5789091dc2..4aa6bcd4851 100644
--- a/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp
+++ b/Marlin/src/lcd/TFTGLCD/ultralcd_TFTGLCD.cpp
@@ -28,7 +28,7 @@
  * ultralcd_TFTGLCD.cpp
  *
  * Implementation of the LCD display routines for a TFT GLCD displays with external controller.
- * This display looks as a REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER but has good text font
+ * This display looks like a REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER but has good text font
  * and supports color output.
  */
 
diff --git a/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h b/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h
index da7d4f6f1ec..535502f2e1a 100644
--- a/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h
+++ b/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h
@@ -112,7 +112,7 @@
 #ifndef U8G_COM_SSD_I2C_HAL
   #define U8G_COM_SSD_I2C_HAL       u8g_com_null_fn
 #endif
-#if EITHER(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT)
+#if HAS_FSMC_GRAPHICAL_TFT || HAS_SPI_GRAPHICAL_TFT
   uint8_t u8g_com_hal_tft_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr);
   #define U8G_COM_HAL_TFT_FN       u8g_com_hal_tft_fn
 #else
diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp
index d18b617987c..fa9e0067447 100644
--- a/Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp
+++ b/Marlin/src/lcd/dogm/u8g_dev_tft_upscale_from_128x64.cpp
@@ -55,7 +55,7 @@
 
 #include "../../inc/MarlinConfig.h"
 
-#if HAS_MARLINUI_U8GLIB && (PIN_EXISTS(FSMC_CS) || ENABLED(SPI_GRAPHICAL_TFT))
+#if HAS_MARLINUI_U8GLIB && (PIN_EXISTS(FSMC_CS) || HAS_SPI_GRAPHICAL_TFT)
 
 #include "HAL_LCD_com_defines.h"
 #include "ultralcd_DOGM.h"
@@ -477,4 +477,4 @@ uint8_t u8g_com_hal_tft_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_p
 
 U8G_PB_DEV(u8g_dev_tft_320x240_upscale_from_128x64, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_tft_320x240_upscale_from_128x64_fn, U8G_COM_HAL_TFT_FN);
 
-#endif // HAS_MARLINUI_U8GLIB && FSMC_CS
+#endif // HAS_MARLINUI_U8GLIB && (FSMC_CS_PIN || HAS_SPI_GRAPHICAL_TFT)
diff --git a/Marlin/src/lcd/dogm/ultralcd_DOGM.h b/Marlin/src/lcd/dogm/ultralcd_DOGM.h
index 228cee6848b..b0db727f099 100644
--- a/Marlin/src/lcd/dogm/ultralcd_DOGM.h
+++ b/Marlin/src/lcd/dogm/ultralcd_DOGM.h
@@ -189,7 +189,7 @@
   // Unspecified 320x240 TFT pre-initialized by built-in bootloader
 
   #define U8G_CLASS U8GLIB_TFT_320X240_UPSCALE_FROM_128X64
-  #if ENABLED(FSMC_GRAPHICAL_TFT)
+  #if HAS_FSMC_GRAPHICAL_TFT
     #define U8G_PARAM FSMC_CS_PIN, FSMC_RS_PIN
   #else
     #define U8G_PARAM -1, -1
diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp
index 6d7b68af42a..e84bb395e09 100644
--- a/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp
+++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_print_file.cpp
@@ -520,7 +520,7 @@ void lv_gcode_file_read(uint8_t *data_buf) {
       j = 0;
       ignore_start = false;
     }
-    #if ENABLED(TFT_LVGL_UI_SPI)
+    #if HAS_TFT_LVGL_UI_SPI
       for (i = 0; i < 200;) {
         p_index = (uint16_t *)(&public_buf[i]);
 
@@ -529,7 +529,7 @@ void lv_gcode_file_read(uint8_t *data_buf) {
         i += 2;
         if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full;
       }
-    #else
+    #else // !HAS_TFT_LVGL_UI_SPI
       for (i = 0; i < 200;) {
         p_index = (uint16_t *)(&public_buf[i]);
         //Color = (*p_index >> 8);
@@ -537,7 +537,7 @@ void lv_gcode_file_read(uint8_t *data_buf) {
         i += 2;
         if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full; // 0x18C3;
       }
-    #endif // TFT_LVGL_UI_SPI
+    #endif // !HAS_TFT_LVGL_UI_SPI
     memcpy(data_buf, public_buf, 200);
   #endif // SDSUPPORT
 }
diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp
index d600b09a5f1..519fae2f396 100644
--- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp
+++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp
@@ -751,7 +751,7 @@ char *creat_title_text() {
         card.openFileRead(cur_name);
 
         card.setIndex((PREVIEW_LITTLE_PIC_SIZE + To_pre_view) + size * row + 8);
-        #if ENABLED(TFT_LVGL_UI_SPI)
+        #if HAS_TFT_LVGL_UI_SPI
           SPI_TFT.setWindow(xpos_pixel, ypos_pixel + row, 200, 1);
         #else
           LCD_setWindowArea(xpos_pixel, ypos_pixel + row, 200, 1);
@@ -782,7 +782,7 @@ char *creat_title_text() {
           //#endif
 
         }
-        #if ENABLED(TFT_LVGL_UI_SPI)
+        #if HAS_TFT_LVGL_UI_SPI
           for (i = 0; i < 400;) {
             p_index = (uint16_t *)(&bmp_public_buf[i]);
 
diff --git a/Marlin/src/lcd/scaled_tft.h b/Marlin/src/lcd/scaled_tft.h
index 2c05e5f26d8..54bf6f8d134 100644
--- a/Marlin/src/lcd/scaled_tft.h
+++ b/Marlin/src/lcd/scaled_tft.h
@@ -49,7 +49,7 @@
     #define TFT_PIXEL_OFFSET_X 48
   #endif
 #endif
+
 #ifndef TFT_PIXEL_OFFSET_Y
-  // 32 is better for both 320x240 and 480x320
-  #define TFT_PIXEL_OFFSET_Y 32
+  #define TFT_PIXEL_OFFSET_Y 32 // 32 is best for both 320x240 and 480x320
 #endif
diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp
index 7003d13fdd7..da9c3e24569 100644
--- a/Marlin/src/lcd/ultralcd.cpp
+++ b/Marlin/src/lcd/ultralcd.cpp
@@ -400,7 +400,7 @@ bool MarlinUI::get_blink() {
 ///////////// Keypad Handling //////////////
 ////////////////////////////////////////////
 
-#if BOTH(REPRAPWORLD_KEYPAD, HAS_ENCODER_ACTION)
+#if IS_RRW_KEYPAD && HAS_ENCODER_ACTION
 
   volatile uint8_t MarlinUI::keypad_buttons;
 
@@ -432,7 +432,7 @@ bool MarlinUI::get_blink() {
         #if HAS_ENCODER_ACTION
           refresh(LCDVIEW_REDRAW_NOW);
           #if HAS_LCD_MENU
-            if (encoderDirection == -(ENCODERBASE)) { // ADC_KEYPAD forces REVERSE_MENU_DIRECTION, so this indicates menu navigation
+            if (encoderDirection == -(ENCODERBASE)) { // HAS_ADC_BUTTONS forces REVERSE_MENU_DIRECTION, so this indicates menu navigation
                    if (RRK(EN_KEYPAD_UP))     encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;
               else if (RRK(EN_KEYPAD_DOWN))   encoderPosition -= ENCODER_STEPS_PER_MENU_ITEM;
               else if (RRK(EN_KEYPAD_LEFT))   { MenuItem_back::action(); quick_feedback(); }
@@ -497,12 +497,12 @@ bool MarlinUI::get_blink() {
         return true;
       }
 
-    #endif // !ADC_KEYPAD
+    #endif // !HAS_ADC_BUTTONS
 
     return false;
   }
 
-#endif // REPRAPWORLD_KEYPAD
+#endif // IS_RRW_KEYPAD && HAS_ENCODER_ACTION
 
 /**
  * Status Screen
diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h
index c7ef41596df..bf9e47e0c84 100644
--- a/Marlin/src/lcd/ultralcd.h
+++ b/Marlin/src/lcd/ultralcd.h
@@ -34,13 +34,13 @@
 #if EITHER(HAS_LCD_MENU, ULTIPANEL_FEEDMULTIPLY)
   #define HAS_ENCODER_ACTION 1
 #endif
-#if ((!HAS_ADC_BUTTONS && ENABLED(NEWPANEL)) || BUTTONS_EXIST(EN1, EN2)) && !IS_TFTGLCD_PANEL
+#if ((!HAS_ADC_BUTTONS && IS_NEWPANEL) || BUTTONS_EXIST(EN1, EN2)) && !IS_TFTGLCD_PANEL
   #define HAS_ENCODER_WHEEL 1
 #endif
 #if HAS_ENCODER_WHEEL || ANY_BUTTON(ENC, BACK, UP, DWN, LFT, RT)
   #define HAS_DIGITAL_BUTTONS 1
 #endif
-#if !HAS_ADC_BUTTONS && (ENABLED(REPRAPWORLD_KEYPAD) || (HAS_WIRED_LCD && DISABLED(NEWPANEL)))
+#if !HAS_ADC_BUTTONS && (IS_RRW_KEYPAD || (HAS_WIRED_LCD && !IS_NEWPANEL))
   #define HAS_SHIFT_ENCODER 1
 #endif
 
@@ -106,8 +106,7 @@
 
 #endif // HAS_WIRED_LCD
 
-// REPRAPWORLD_KEYPAD (and ADC_KEYPAD)
-#if ENABLED(REPRAPWORLD_KEYPAD)
+#if IS_RRW_KEYPAD
   #define BTN_OFFSET          0 // Bit offset into buttons for shift register values
 
   #define BLEN_KEYPAD_F3      0
@@ -136,7 +135,7 @@
     #define BUTTON_CLICK() RRK(EN_KEYPAD_MIDDLE)
   #endif
 
-#endif
+#endif // IS_RRW_KEYPAD
 
 #if HAS_DIGITAL_BUTTONS
 
@@ -633,7 +632,7 @@ public:
   #if HAS_ENCODER_ACTION
 
     static volatile uint8_t buttons;
-    #if ENABLED(REPRAPWORLD_KEYPAD)
+    #if IS_RRW_KEYPAD
       static volatile uint8_t keypad_buttons;
       static bool handle_keypad();
     #endif
diff --git a/Marlin/src/pins/esp32/pins_MRR_ESPE.h b/Marlin/src/pins/esp32/pins_MRR_ESPE.h
index 95f761f26ad..d22a82d7a45 100644
--- a/Marlin/src/pins/esp32/pins_MRR_ESPE.h
+++ b/Marlin/src/pins/esp32/pins_MRR_ESPE.h
@@ -134,7 +134,7 @@
 
     #define BEEPER_PIN                       151
 
-  #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+  #elif IS_RRD_FG_SC
 
     #define BEEPER_PIN                       151
 
diff --git a/Marlin/src/pins/linux/pins_RAMPS_LINUX.h b/Marlin/src/pins/linux/pins_RAMPS_LINUX.h
index 002d2ebd9c6..ce2ee2579ab 100644
--- a/Marlin/src/pins/linux/pins_RAMPS_LINUX.h
+++ b/Marlin/src/pins/linux/pins_RAMPS_LINUX.h
@@ -400,7 +400,7 @@
     #define LCD_PINS_ENABLE                   51  // SID (MOSI)
     #define LCD_PINS_D4                       52  // SCK (CLK) clock
 
-  #elif BOTH(NEWPANEL, PANEL_ONE)
+  #elif BOTH(IS_NEWPANEL, PANEL_ONE)
 
     #define LCD_PINS_RS                       40
     #define LCD_PINS_ENABLE                   42
@@ -417,7 +417,7 @@
       #define LCD_PINS_ENABLE                 29
       #define LCD_PINS_D4                     25
 
-      #if DISABLED(NEWPANEL)
+      #if !IS_NEWPANEL
         #define BEEPER_PIN                    37
       #endif
 
@@ -450,13 +450,13 @@
 
       #define LCD_PINS_D7                     29
 
-      #if DISABLED(NEWPANEL)
+      #if !IS_NEWPANEL
         #define BEEPER_PIN                    33
       #endif
 
     #endif
 
-    #if DISABLED(NEWPANEL)
+    #if !IS_NEWPANEL
       // Buttons attached to a shift register
       // Not wired yet
       //#define SHIFT_CLK                     38
@@ -470,7 +470,7 @@
   //
   // LCD Display input pins
   //
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
     #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
 
@@ -607,7 +607,7 @@
       #define BEEPER_PIN                      33
 
       // Buttons are directly attached to AUX-2
-      #if ENABLED(REPRAPWORLD_KEYPAD)
+      #if IS_RRW_KEYPAD
         #define SHIFT_OUT                     40
         #define SHIFT_CLK                     44
         #define SHIFT_LD                      42
@@ -630,6 +630,6 @@
       #endif
 
     #endif
-  #endif // NEWPANEL
+  #endif // IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h
index df182049f99..8c1c124d90a 100644
--- a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h
+++ b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h
@@ -138,8 +138,8 @@
   #define LCD_PINS_ENABLE                  P0_18  // (MOSI) EXP1-3
   #define LCD_PINS_D4                      P0_15  // (SCK)  EXP1-5
 
-  #if BOTH(HAS_MARLINUI_HD44780, REPRAP_DISCOUNT_SMART_CONTROLLER)
-    #error "REPRAP_DISCOUNT_SMART_CONTROLLER is not supported by the BIQU B300 v1.0"
+  #if BOTH(HAS_MARLINUI_HD44780, IS_RRD_SC)
+    #error "REPRAP_DISCOUNT_SMART_CONTROLLER displays aren't supported by the BIQU B300 v1.0"
   #endif
 
   #if ENABLED(SDSUPPORT)
diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h
index bcff04eb85e..d92d5e578f6 100644
--- a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h
+++ b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h
@@ -109,8 +109,8 @@
   #define LCD_PINS_ENABLE                  P0_18  // (MOSI) EXP1-3
   #define LCD_PINS_D4                      P0_15  // (SCK)  EXP1-5
 
-  #if BOTH(HAS_MARLINUI_HD44780, REPRAP_DISCOUNT_SMART_CONTROLLER)
-    #error "REPRAP_DISCOUNT_SMART_CONTROLLER is not supported by the BIQU BQ111-A4"
+  #if BOTH(HAS_MARLINUI_HD44780, IS_RRD_SC)
+    #error "REPRAP_DISCOUNT_SMART_CONTROLLER displays aren't supported by the BIQU BQ111-A4"
   #endif
 
   #if ENABLED(SDSUPPORT)
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
index 31373fedff6..51e48fc8e94 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
@@ -348,7 +348,7 @@
         #define LCD_BACKLIGHT_PIN          -1
       #endif
 
-      #if ENABLED(ULTIPANEL)
+      #if IS_ULTIPANEL
         #define LCD_PINS_D5         EXPA1_05_PIN
         #define LCD_PINS_D6         EXPA1_04_PIN
         #define LCD_PINS_D7         EXPA1_03_PIN
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
index 4686e984b08..f2afc23bc2e 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
@@ -293,9 +293,6 @@
     #define TOUCH_BUTTONS_HW_SPI
     #define TOUCH_BUTTONS_HW_SPI_DEVICE        1
 
-    #ifndef GRAPHICAL_TFT_UPSCALE
-      #define GRAPHICAL_TFT_UPSCALE            3
-    #endif
     // SPI 1
     #define SCK_PIN                        P0_15
     #define MISO_PIN                       P0_17
@@ -398,7 +395,7 @@
         #define FORCE_SOFT_SPI
       #endif
 
-      #if ENABLED(ULTIPANEL)
+      #if IS_ULTIPANEL
         #define LCD_PINS_D5                P1_21
         #define LCD_PINS_D6                P1_22
         #define LCD_PINS_D7                P1_23
diff --git a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
index 5132081a559..3562619f5c0 100644
--- a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
+++ b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
@@ -125,7 +125,7 @@
 //
 // LCD
 //
-#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+#if IS_RRD_SC
   #define BEEPER_PIN                       P0_19
   #define BTN_EN1                          P1_23
   #define BTN_EN2                          P1_24
diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
index 6c6a9ea306e..2430958895e 100644
--- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
+++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
@@ -147,7 +147,7 @@
 //
 // Ethernet pins
 //
-#ifndef ULTIPANEL
+#if !IS_ULTIPANEL
   #define ENET_MDIO                        P1_17  // J12-4
   #define ENET_RX_ER                       P1_14  // J12-6
   #define ENET_RXD1                        P1_10  // J12-8
diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
index d269ecbdc90..0a8f3a6da8a 100644
--- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
+++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
@@ -319,7 +319,7 @@
           #define DOGLCD_A0                P1_00
         #endif
 
-        #if ENABLED(ULTIPANEL)
+        #if IS_ULTIPANEL
           #define LCD_PINS_D5              P0_17
           #define LCD_PINS_D6              P1_00
           #define LCD_PINS_D7              P1_22
diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
index 294e7527a87..674bd6b0ff9 100644
--- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
+++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
@@ -357,8 +357,8 @@
   #define LCD_PINS_RS                      P0_16  // (16) J3-7 & AUX-4
   #define LCD_SDSS                         P1_23  // (53) J3-5 & AUX-3
 
-  #if ENABLED(NEWPANEL)
-    #if ENABLED(REPRAPWORLD_KEYPAD)
+  #if IS_NEWPANEL
+    #if IS_RRW_KEYPAD
       #define SHIFT_OUT                    P0_18  // (51) (MOSI) J3-10 & AUX-3
       #define SHIFT_CLK                    P0_15  // (52) (SCK)  J3-9 & AUX-3
       #define SHIFT_LD                     P1_31  // (49)        J3-1 & AUX-3 (NOT 5V tolerant)
@@ -416,7 +416,7 @@
     #define LCD_BACKLIGHT_PIN              P0_16  //(16) J3-7 & AUX-4 - only used on DOGLCD controllers
     #define LCD_PINS_ENABLE                P0_18  // (51) (MOSI) J3-10 & AUX-3
     #define LCD_PINS_D4                    P0_15  // (52) (SCK)  J3-9 & AUX-3
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                  P1_17  // (71) ENET_MDIO
       #define LCD_PINS_D6                  P1_14  // (73) ENET_RX_ER
       #define LCD_PINS_D7                  P1_10  // (75) ENET_RXD1
@@ -436,7 +436,7 @@
 //
 // Ethernet pins
 //
-#if DISABLED(ULTIPANEL)
+#if !IS_ULTIPANEL
   #define ENET_MDIO                        P1_17  // (71)  J12-4
   #define ENET_RX_ER                       P1_14  // (73)  J12-6
   #define ENET_RXD1                        P1_10  // (75)  J12-8
diff --git a/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h b/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h
index f9b9db918d5..4e3b2ef4258 100644
--- a/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h
+++ b/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h
@@ -96,7 +96,7 @@
 // Display
 //
 
-#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+#if IS_RRD_FG_SC
     #define LCD_PINS_RS                    P0_16
     #define LCD_PINS_ENABLE                P0_18
     #define LCD_PINS_D4                    P0_15
@@ -110,4 +110,4 @@
     #define BTN_ENC                        P1_30
 
     #define SD_DETECT_PIN                  -1
-#endif // REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
+#endif // IS_RRD_FG_SC
diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h
index 6331d6aa7c0..ad792447ea7 100644
--- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h
+++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h
@@ -144,11 +144,11 @@
 
     #define DOGLCD_A0                      P2_06  // (59) J3-8 & AUX-2
 
-    #if ENABLED(REPRAPWORLD_KEYPAD)
+    #if IS_RRW_KEYPAD
       #define SHIFT_OUT                    P0_18  // (51)  (MOSI) J3-10 & AUX-3
       #define SHIFT_CLK                    P0_15  // (52)  (SCK)  J3-9 & AUX-3
       #define SHIFT_LD                     P1_31  // (49)  not 5V tolerant   J3-1 & AUX-3
-    #elif DISABLED(NEWPANEL)
+    #elif !IS_NEWPANEL
       //#define SHIFT_OUT                  P2_11  // (35)  J3-3 & AUX-4
       //#define SHIFT_CLK                  P3_26  // (31)  J3-2 & AUX-4
       //#define SHIFT_LD                   P3_25  // (33)  J3-4 & AUX-4
@@ -166,7 +166,7 @@
       #define STAT_LED_BLUE_PIN            P0_26  // (63)  may change if cable changes
       #define STAT_LED_RED_PIN             P1_21  // ( 6)  may change if cable changes
     #else
-      #if ENABLED(ULTIPANEL)
+      #if IS_ULTIPANEL
         #define LCD_PINS_D5                P1_17  // (71) ENET_MDIO
         #define LCD_PINS_D6                P1_14  // (73) ENET_RX_ER
         #define LCD_PINS_D7                P1_10  // (75) ENET_RXD1
diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h
index 62660935f5b..e18f938dc45 100644
--- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h
+++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN_L_V2.h
@@ -325,7 +325,7 @@
           #define DOGLCD_A0                P1_00
         #endif
 
-        #if ENABLED(ULTIPANEL)
+        #if IS_ULTIPANEL
           #define LCD_PINS_D5              P0_17
           #define LCD_PINS_D6              P1_00
           #define LCD_PINS_D7              P1_22
diff --git a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h
index f2811b14abd..3c47a701012 100644
--- a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h
+++ b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h
@@ -138,7 +138,7 @@
    * http://chibidibidiwah.wdfiles.com/local--files/panel/smoothieboard2sd.jpg
    * http://smoothieware.org/panel
    */
-  #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+  #if IS_RRD_FG_SC
     //  EXP1 Pins
     #define BEEPER_PIN                     P1_31  // EXP1 Pin 1
     #define BTN_ENC                        P1_30  // EXP1 Pin 2
diff --git a/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h b/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h
index 3a84f4395f3..af9f683c7d3 100644
--- a/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h
+++ b/Marlin/src/pins/mega/pins_CHEAPTRONICv2.h
@@ -129,7 +129,7 @@
   #define SD_DETECT_PIN                       49
 #endif
 
-#if ENABLED(NEWPANEL)
+#if IS_NEWPANEL
   #define BTN_EN1                             11
   #define BTN_EN2                             12
   #define BTN_ENC                             43
diff --git a/Marlin/src/pins/mega/pins_GT2560_REV_A.h b/Marlin/src/pins/mega/pins_GT2560_REV_A.h
index 2fe9a43ba13..f481db2b967 100644
--- a/Marlin/src/pins/mega/pins_GT2560_REV_A.h
+++ b/Marlin/src/pins/mega/pins_GT2560_REV_A.h
@@ -109,7 +109,7 @@
 
   #define BEEPER_PIN                          18
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
     #if ENABLED(MKS_MINI_12864)
       #define DOGLCD_A0                        5
@@ -130,7 +130,7 @@
     #define BTN_ENC                           19
     #define SD_DETECT_PIN                     38
 
-  #else                                           // !NEWPANEL
+  #else                                           // !IS_NEWPANEL
 
     #define SHIFT_CLK                         38
     #define SHIFT_LD                          42
@@ -146,6 +146,6 @@
 
     #define SD_DETECT_PIN                     -1
 
-  #endif // !NEWPANEL
+  #endif // !IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/mega/pins_GT2560_V3.h b/Marlin/src/pins/mega/pins_GT2560_V3.h
index d71a1954191..606debd1b06 100644
--- a/Marlin/src/pins/mega/pins_GT2560_V3.h
+++ b/Marlin/src/pins/mega/pins_GT2560_V3.h
@@ -172,7 +172,7 @@
   #define LCD_PINS_D7                         36
 #endif
 
-#if ENABLED(NEWPANEL)
+#if IS_NEWPANEL
   #ifndef BTN_EN1
     #define BTN_EN1                           42
   #endif
diff --git a/Marlin/src/pins/mega/pins_GT2560_V3_A20.h b/Marlin/src/pins/mega/pins_GT2560_V3_A20.h
index e1956488c6c..20cccf148f9 100644
--- a/Marlin/src/pins/mega/pins_GT2560_V3_A20.h
+++ b/Marlin/src/pins/mega/pins_GT2560_V3_A20.h
@@ -32,7 +32,7 @@
 
 #define SPEAKER  // The speaker can produce tones
 
-#if ENABLED(NEWPANEL)
+#if IS_NEWPANEL
   #define BTN_EN1                            16
   #define BTN_EN2                            17
   #define BTN_ENC                            19
diff --git a/Marlin/src/pins/mega/pins_HJC2560C_REV2.h b/Marlin/src/pins/mega/pins_HJC2560C_REV2.h
index e30a65b90e1..fa2027fb782 100644
--- a/Marlin/src/pins/mega/pins_HJC2560C_REV2.h
+++ b/Marlin/src/pins/mega/pins_HJC2560C_REV2.h
@@ -127,7 +127,7 @@
 
   #define BEEPER_PIN                          18
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
     #define LCD_PINS_RS                       20  // LCD_CS
     #define LCD_PINS_ENABLE                   15  // LCD_SDA
@@ -168,6 +168,6 @@
     #define LCD_PINS_D6                       20
     #define LCD_PINS_D7                       19
 
-  #endif // !NEWPANEL
+  #endif // !IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS.h b/Marlin/src/pins/mega/pins_MEGATRONICS.h
index 1c37b21ab70..f813366a14e 100644
--- a/Marlin/src/pins/mega/pins_MEGATRONICS.h
+++ b/Marlin/src/pins/mega/pins_MEGATRONICS.h
@@ -108,7 +108,7 @@
 //
 #define BEEPER_PIN                            33
 
-#if BOTH(ULTRA_LCD, NEWPANEL)
+#if IS_ULTRA_LCD && IS_NEWPANEL
 
   #define LCD_PINS_RS                         16
   #define LCD_PINS_ENABLE                     17
@@ -124,7 +124,7 @@
 
   #define SD_DETECT_PIN                       -1  // RAMPS doesn't use this
 
-#endif // ULTRA_LCD && NEWPANEL
+#endif // IS_ULTRA_LCD && IS_NEWPANEL
 
 //
 // M3/M4/M5 - Spindle/Laser Control
diff --git a/Marlin/src/pins/mega/pins_MEGATRONICS_2.h b/Marlin/src/pins/mega/pins_MEGATRONICS_2.h
index ff7cf157146..67ec24ed6f7 100644
--- a/Marlin/src/pins/mega/pins_MEGATRONICS_2.h
+++ b/Marlin/src/pins/mega/pins_MEGATRONICS_2.h
@@ -139,7 +139,7 @@
   #define LCD_PINS_D6                         32
   #define LCD_PINS_D7                         33
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
     // Buttons are directly attached using keypad
     #define BTN_EN1                           61
     #define BTN_EN2                           59
diff --git a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h
index 963911ec5d7..d074db8b256 100644
--- a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h
+++ b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h
@@ -214,7 +214,7 @@
 //
 #if HAS_WIRED_LCD
 
-  #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+  #if IS_RRD_FG_SC
 
     #define LCD_PINS_RS                       33  // C4: LCD-STROBE
     #define LCD_PINS_ENABLE                   72  // J2: LEFT
diff --git a/Marlin/src/pins/mega/pins_OVERLORD.h b/Marlin/src/pins/mega/pins_OVERLORD.h
index 045c1bc0fa6..18bb1f27bf4 100644
--- a/Marlin/src/pins/mega/pins_OVERLORD.h
+++ b/Marlin/src/pins/mega/pins_OVERLORD.h
@@ -132,7 +132,7 @@
   #endif
 #endif
 
-#if ENABLED(NEWPANEL)
+#if IS_NEWPANEL
   #define BTN_ENC                             16  // Enter Pin
   #define BTN_UP                              19  // Button UP Pin
   #define BTN_DWN                             17  // Button DOWN Pin
diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h
index c5dbd208762..bd85c448995 100644
--- a/Marlin/src/pins/pins.h
+++ b/Marlin/src/pins/pins.h
@@ -49,7 +49,9 @@
   #define IS_RAMPS_SF
 #endif
 
-#define HAS_FREE_AUX2_PINS !(BOTH(ULTRA_LCD, NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD))
+#if !(BOTH(IS_ULTRA_LCD, IS_NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD))
+  #define HAS_FREE_AUX2_PINS 1
+#endif
 
 // Test the target within the included pins file
 #ifdef __MARLIN_DEPS__
diff --git a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h
index 2ea15c97d33..c2cc24943ab 100644
--- a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h
+++ b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h
@@ -164,7 +164,7 @@
 
   #define KILL_PIN                            32
 
-  #if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL
+  #if IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
 
     #if ENABLED(CR10_STOCKDISPLAY)
       #define LCD_PINS_RS                     85
@@ -187,5 +187,5 @@
     #define BEEPER_PIN                        84  // AUX-4
     #define SD_DETECT_PIN                     15
 
-  #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL
+  #endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/rambo/pins_EINSY_RETRO.h b/Marlin/src/pins/rambo/pins_EINSY_RETRO.h
index 4a1bf70b6ea..7e532461812 100644
--- a/Marlin/src/pins/rambo/pins_EINSY_RETRO.h
+++ b/Marlin/src/pins/rambo/pins_EINSY_RETRO.h
@@ -170,7 +170,7 @@
 
   #define KILL_PIN                            32
 
-  #if ANY(ULTIPANEL, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE)
+  #if ANY(IS_ULTIPANEL, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE)
 
     #if ENABLED(CR10_STOCKDISPLAY)
       #define LCD_PINS_RS                     85
@@ -194,6 +194,6 @@
 
     #define SD_DETECT_PIN                     15
 
-  #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE
+  #endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE
 
 #endif // HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE
diff --git a/Marlin/src/pins/rambo/pins_MINIRAMBO.h b/Marlin/src/pins/rambo/pins_MINIRAMBO.h
index 6314bc07b8c..8b034820cfd 100644
--- a/Marlin/src/pins/rambo/pins_MINIRAMBO.h
+++ b/Marlin/src/pins/rambo/pins_MINIRAMBO.h
@@ -147,7 +147,7 @@
     #define KILL_PIN                          32
   #endif
 
-  #if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL
+  #if IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
 
     #if MB(MINIRAMBO_10A)
 
@@ -187,6 +187,6 @@
 
     #endif // !MINIRAMBO_10A
 
-  #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL
+  #endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
 
 #endif // HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL
diff --git a/Marlin/src/pins/rambo/pins_RAMBO.h b/Marlin/src/pins/rambo/pins_RAMBO.h
index 735852b2ff7..0254edea26a 100644
--- a/Marlin/src/pins/rambo/pins_RAMBO.h
+++ b/Marlin/src/pins/rambo/pins_RAMBO.h
@@ -187,7 +187,7 @@
 
   #define KILL_PIN                            80
 
-  #if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL
+  #if IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
 
     #define LCD_PINS_RS                       70
     #define LCD_PINS_ENABLE                   71
@@ -228,7 +228,7 @@
 
     #endif // !VIKI2 && !miniVIKI
 
-  #else                                           // !NEWPANEL - old style panel with shift register
+  #else                                           // !IS_NEWPANEL - old style panel with shift register
 
     // No Beeper added
     #define BEEPER_PIN                        33
@@ -247,6 +247,6 @@
     #define LCD_PINS_D6                       27
     #define LCD_PINS_D7                       29
 
-  #endif // !NEWPANEL
+  #endif // !IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/ramps/pins_3DRAG.h b/Marlin/src/pins/ramps/pins_3DRAG.h
index f0057e1fc98..b7f0517aac0 100644
--- a/Marlin/src/pins/ramps/pins_3DRAG.h
+++ b/Marlin/src/pins/ramps/pins_3DRAG.h
@@ -78,7 +78,7 @@
 //
 // LCD / Controller
 //
-#if BOTH(ULTRA_LCD, NEWPANEL)
+#if IS_ULTRA_LCD && IS_NEWPANEL
   #undef BEEPER_PIN
 
   #undef LCD_PINS_RS
@@ -106,7 +106,7 @@
 
   #define BEEPER_PIN                          33
 
-#endif // ULTRA_LCD && NEWPANEL
+#endif // IS_ULTRA_LCD && IS_NEWPANEL
 
 /**
  *  M3/M4/M5 - Spindle/Laser Control
@@ -157,7 +157,7 @@
     #define SPINDLE_LASER_PWM_PIN             46  // Hardware PWM
     #define SPINDLE_LASER_ENA_PIN             62  // Pullup!
     #define SPINDLE_DIR_PIN                   48
-  #elif !BOTH(ULTRA_LCD, NEWPANEL)                // use expansion header if no LCD in use
+  #elif !BOTH(IS_ULTRA_LCD, IS_NEWPANEL)             // use expansion header if no LCD in use
     #define SPINDLE_LASER_ENA_PIN             16  // Pullup or pulldown!
     #define SPINDLE_DIR_PIN                   17
   #endif
diff --git a/Marlin/src/pins/ramps/pins_FELIX2.h b/Marlin/src/pins/ramps/pins_FELIX2.h
index 6cc6997adc5..e572d3f2866 100644
--- a/Marlin/src/pins/ramps/pins_FELIX2.h
+++ b/Marlin/src/pins/ramps/pins_FELIX2.h
@@ -49,11 +49,11 @@
 //
 // LCD / Controller
 //
-#if BOTH(ULTRA_LCD, NEWPANEL)
+#if IS_ULTRA_LCD && IS_NEWPANEL
 
   #define SD_DETECT_PIN                       6
 
-#endif // NEWPANEL && ULTRA_LCD
+#endif
 
 //
 // M3/M4/M5 - Spindle/Laser Control
diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h
index 0877d168d60..5b724787e94 100644
--- a/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h
+++ b/Marlin/src/pins/ramps/pins_FORMBOT_RAPTOR.h
@@ -181,7 +181,7 @@
 //
 // Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
 //
-#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+#if IS_RRD_SC
   #define BEEPER_PIN                          37
   #define BTN_EN1                             31
   #define BTN_EN2                             33
diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h
index 75a219c177d..81b6ea16d7f 100644
--- a/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h
+++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX2PLUS.h
@@ -175,7 +175,7 @@
 //
 // Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
 //
-#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+#if IS_RRD_SC
   #ifndef BEEPER_PIN
     #define BEEPER_PIN                        37
   #endif
diff --git a/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h b/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h
index 0470fc47e98..a97b0d2d122 100644
--- a/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h
+++ b/Marlin/src/pins/ramps/pins_FORMBOT_TREX3.h
@@ -155,7 +155,7 @@
 //
 // Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
 //
-#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+#if IS_RRD_SC
   #define LCD_PINS_RS                         16
   #define LCD_PINS_ENABLE                     17
   #define LCD_PINS_D4                         23
diff --git a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
index 3fa3cc9e8c9..9e4ee100960 100644
--- a/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
+++ b/Marlin/src/pins/ramps/pins_FYSETC_F6_13.h
@@ -277,7 +277,7 @@
 
   #endif
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
     #define BTN_EN1                           31
     #define BTN_EN2                           33
     #define BTN_ENC                           35
diff --git a/Marlin/src/pins/ramps/pins_K8600.h b/Marlin/src/pins/ramps/pins_K8600.h
index 0de01927528..60bb18204a4 100644
--- a/Marlin/src/pins/ramps/pins_K8600.h
+++ b/Marlin/src/pins/ramps/pins_K8600.h
@@ -96,7 +96,7 @@
 //
 // LCD / Controller
 //
-#if BOTH(ULTRA_LCD, NEWPANEL)
+#if IS_ULTRA_LCD && IS_NEWPANEL
   #undef BEEPER_PIN
 
   #undef LCD_PINS_RS
diff --git a/Marlin/src/pins/ramps/pins_K8800.h b/Marlin/src/pins/ramps/pins_K8800.h
index 7e8c245a415..5388c9621da 100644
--- a/Marlin/src/pins/ramps/pins_K8800.h
+++ b/Marlin/src/pins/ramps/pins_K8800.h
@@ -113,7 +113,7 @@
   #define LCD_CONTRAST_MAX                   100
   #define DEFAULT_LCD_CONTRAST                30
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
     #define BTN_EN1                           17
     #define BTN_EN2                           16
     #define BTN_ENC                           23
diff --git a/Marlin/src/pins/ramps/pins_ORTUR_4.h b/Marlin/src/pins/ramps/pins_ORTUR_4.h
index cef01bf62a4..e79973e06f0 100644
--- a/Marlin/src/pins/ramps/pins_ORTUR_4.h
+++ b/Marlin/src/pins/ramps/pins_ORTUR_4.h
@@ -91,7 +91,7 @@
 //
 // LCD / Controller
 //
-#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+#if IS_RRD_FG_SC
   #undef BEEPER_PIN
   #define BEEPER_PIN                          35
 
diff --git a/Marlin/src/pins/ramps/pins_RAMPS.h b/Marlin/src/pins/ramps/pins_RAMPS.h
index de56d2b59d9..c8578f2fa1f 100644
--- a/Marlin/src/pins/ramps/pins_RAMPS.h
+++ b/Marlin/src/pins/ramps/pins_RAMPS.h
@@ -441,7 +441,7 @@
     #define LCD_PINS_ENABLE                   51  // SID (MOSI)
     #define LCD_PINS_D4                       52  // SCK (CLK) clock
 
-  #elif BOTH(NEWPANEL, PANEL_ONE)
+  #elif BOTH(IS_NEWPANEL, PANEL_ONE)
 
     #define LCD_PINS_RS                       40
     #define LCD_PINS_ENABLE                   42
@@ -462,7 +462,7 @@
       #define LCD_PINS_ENABLE                 29
       #define LCD_PINS_D4                     25
 
-      #if DISABLED(NEWPANEL)
+      #if !IS_NEWPANEL
         #define BEEPER_PIN                    37
       #endif
 
@@ -481,10 +481,10 @@
         #define LCD_PINS_DC                   25  // Set as output on init
         #define LCD_PINS_RS                   27  // Pull low for 1s to init
         // DOGM SPI LCD Support
+        #define DOGLCD_A0            LCD_PINS_DC
         #define DOGLCD_CS                     16
         #define DOGLCD_MOSI                   17
         #define DOGLCD_SCK                    23
-        #define DOGLCD_A0            LCD_PINS_DC
       #else
         #define LCD_PINS_RS                   16
         #define LCD_PINS_ENABLE               17
@@ -495,13 +495,13 @@
 
       #define LCD_PINS_D7                     29
 
-      #if DISABLED(NEWPANEL)
+      #if !IS_NEWPANEL
         #define BEEPER_PIN                    33
       #endif
 
     #endif
 
-    #if DISABLED(NEWPANEL)
+    #if !IS_NEWPANEL
       // Buttons attached to a shift register
       // Not wired yet
       //#define SHIFT_CLK                     38
@@ -515,9 +515,9 @@
   //
   // LCD Display input pins
   //
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
-    #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+    #if IS_RRD_SC
 
       #define BEEPER_PIN                      37
 
@@ -685,6 +685,7 @@
     #elif ENABLED(AZSMZ_12864)
 
       // Pins only defined for RAMPS_SMART currently
+      #error "No pins defined for RAMPS with AZSMZ_12864."
 
     #elif IS_TFTGLCD_PANEL
 
@@ -712,11 +713,11 @@
       #endif
 
     #endif
-  #endif // NEWPANEL
+  #endif // IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
 
-#if ENABLED(REPRAPWORLD_KEYPAD) && DISABLED(ADC_KEYPAD)
+#if IS_RRW_KEYPAD && !HAS_ADC_BUTTONS
   #define SHIFT_OUT                           40
   #define SHIFT_CLK                           44
   #define SHIFT_LD                            42
diff --git a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h
index 9908d9494f3..23b1dfa3469 100644
--- a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h
+++ b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h
@@ -73,7 +73,7 @@
 #undef E0_CS_PIN
 #undef E1_CS_PIN
 
-#if ENABLED(ULTRA_LCD) && NONE(REPRAPWORLD_GRAPHICAL_LCD, CR10_STOCKDISPLAY) && !BOTH(NEWPANEL, PANEL_ONE)
+#if IS_ULTRA_LCD && NONE(REPRAPWORLD_GRAPHICAL_LCD, CR10_STOCKDISPLAY) && !BOTH(IS_NEWPANEL, PANEL_ONE)
   #if DISABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306)
     #undef LCD_PINS_RS
     #define LCD_PINS_RS                       42  // 3DYMY boards pin 16 -> 42
diff --git a/Marlin/src/pins/ramps/pins_RIGIDBOARD.h b/Marlin/src/pins/ramps/pins_RIGIDBOARD.h
index c43d786aa2e..345c51d5de5 100644
--- a/Marlin/src/pins/ramps/pins_RIGIDBOARD.h
+++ b/Marlin/src/pins/ramps/pins_RIGIDBOARD.h
@@ -124,7 +124,7 @@
   #undef SD_DETECT_PIN
   #define SD_DETECT_PIN                       22
 
-#elif ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+#elif IS_RRD_SC
 
   #undef SD_DETECT_PIN
   #define SD_DETECT_PIN                       22
diff --git a/Marlin/src/pins/ramps/pins_RUMBA.h b/Marlin/src/pins/ramps/pins_RUMBA.h
index 5be2896e18c..4af49d9164d 100644
--- a/Marlin/src/pins/ramps/pins_RUMBA.h
+++ b/Marlin/src/pins/ramps/pins_RUMBA.h
@@ -227,7 +227,7 @@
   #define SD_DETECT_PIN                       49
 #endif
 
-#if ENABLED(NEWPANEL)
+#if IS_NEWPANEL
   #define BTN_EN1                             11
   #define BTN_EN2                             12
   #define BTN_ENC                             43
diff --git a/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h b/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h
index e7a59a69dff..84e7e311264 100644
--- a/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h
+++ b/Marlin/src/pins/ramps/pins_TENLOG_D3_HERO.h
@@ -163,7 +163,7 @@
 // LCD / Controller
 //
 
-//#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+//#if IS_RRD_SC
 
 #define LCD_PINS_RS                           -1
 #define LCD_PINS_ENABLE                       -1
@@ -182,4 +182,4 @@
 #define BEEPER_PIN                            -1
 //#endif
 
-//#endif // REPRAP_DISCOUNT_SMART_CONTROLLER
+//#endif // IS_RRD_SC
diff --git a/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h b/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h
index 1c2cb609579..54d91cee6a8 100644
--- a/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h
+++ b/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h
@@ -131,13 +131,13 @@
 #if 0 && HAS_WIRED_LCD
 
   // LCD Display output pins
-  #if BOTH(NEWPANEL, PANEL_ONE)
+  #if BOTH(IS_NEWPANEL, PANEL_ONE)
     #undef LCD_PINS_D6
     #define LCD_PINS_D6                       57
   #endif
 
   // LCD Display input pins
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
     #if ANY(VIKI2, miniVIKI)
       #undef DOGLCD_A0
       #define DOGLCD_A0                       23
diff --git a/Marlin/src/pins/ramps/pins_TT_OSCAR.h b/Marlin/src/pins/ramps/pins_TT_OSCAR.h
index 1568288e69b..725d36466c2 100644
--- a/Marlin/src/pins/ramps/pins_TT_OSCAR.h
+++ b/Marlin/src/pins/ramps/pins_TT_OSCAR.h
@@ -282,7 +282,7 @@
     #define LCD_PINS_ENABLE                   51  // SID (MOSI)
     #define LCD_PINS_D4                       52  // SCK (CLK) clock
 
-  #elif BOTH(NEWPANEL, PANEL_ONE)
+  #elif BOTH(IS_NEWPANEL, PANEL_ONE)
 
     #define LCD_PINS_RS                       40
     #define LCD_PINS_ENABLE                   42
@@ -309,7 +309,7 @@
       #define LCD_PINS_ENABLE                 29
       #define LCD_PINS_D4                     25
 
-      #if DISABLED(NEWPANEL)
+      #if !IS_NEWPANEL
         #define BEEPER_PIN                    37
       #endif
 
@@ -333,13 +333,13 @@
 
       #define LCD_PINS_D7                     29
 
-      #if DISABLED(NEWPANEL)
+      #if !IS_NEWPANEL
         #define BEEPER_PIN                    33
       #endif
 
     #endif
 
-    #if DISABLED(NEWPANEL)
+    #if !IS_NEWPANEL
       // Buttons attached to a shift register
       // Not wired yet
       //#define SHIFT_CLK                     38
@@ -353,9 +353,9 @@
   //
   // LCD Display input pins
   //
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
-    #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+    #if IS_RRD_SC
 
       #define BEEPER_PIN                      37
 
@@ -486,7 +486,7 @@
       #define BEEPER_PIN                      33
 
       // Buttons are directly attached to AUX-2
-      #if ENABLED(REPRAPWORLD_KEYPAD)
+      #if IS_RRW_KEYPAD
         #define SHIFT_OUT                     40
         #define SHIFT_CLK                     44
         #define SHIFT_LD                      42
@@ -510,6 +510,6 @@
 
     #endif
 
-  #endif // NEWPANEL
+  #endif // IS_NEWPANEL
 
 #endif
diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER.h b/Marlin/src/pins/ramps/pins_ULTIMAKER.h
index 597a37bdbc8..116301f4d45 100644
--- a/Marlin/src/pins/ramps/pins_ULTIMAKER.h
+++ b/Marlin/src/pins/ramps/pins_ULTIMAKER.h
@@ -123,7 +123,7 @@
 
   #define BEEPER_PIN                          18
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
     #define LCD_PINS_RS                       20
     #define LCD_PINS_ENABLE                   17
@@ -139,7 +139,7 @@
 
     #define SD_DETECT_PIN                     38
 
-  #else                                           // !NEWPANEL - Old style panel with shift register
+  #else                                           // !IS_NEWPANEL - Old style panel with shift register
 
     // Buttons attached to a shift register
     #define SHIFT_CLK                         38
@@ -156,7 +156,7 @@
 
     #define SD_DETECT_PIN                     -1
 
-  #endif // !NEWPANEL
+  #endif // !IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
 
diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h
index c5bbd02bf5a..9b17384aaf5 100644
--- a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h
+++ b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h
@@ -174,11 +174,11 @@
   #define LCD_PINS_D6                         32
   #define LCD_PINS_D7                         30
 
-#elif BOTH(BOARD_REV_1_5, ULTRA_LCD)
+#elif BOTH(BOARD_REV_1_5, IS_ULTRA_LCD)
 
   #define BEEPER_PIN                          18
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
     #define LCD_PINS_RS                       20
     #define LCD_PINS_ENABLE                   17
@@ -194,7 +194,7 @@
 
     #define SD_DETECT_PIN                     38
 
-  #else                                           // !NEWPANEL - Old style panel with shift register
+  #else                                           // !IS_NEWPANEL - Old style panel with shift register
 
     // Buttons attached to a shift register
     #define SHIFT_CLK                         38
@@ -209,7 +209,7 @@
     #define LCD_PINS_D6                       20
     #define LCD_PINS_D7                       19
 
-  #endif // !NEWPANEL
+  #endif // !IS_NEWPANEL
 
 #endif
 
diff --git a/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h b/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h
index 8d6906117dd..b01d1aafdfe 100644
--- a/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h
+++ b/Marlin/src/pins/sam/pins_ALLIGATOR_R2.h
@@ -143,7 +143,7 @@
 //
 // LCD / Controller
 //
-#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+#if IS_RRD_FG_SC
   #define LCD_PINS_RS                         18
   #define LCD_PINS_ENABLE                     15
   #define LCD_PINS_D4                         19
@@ -152,7 +152,7 @@
   #define UI_VOLTAGE_LEVEL                     1
 #endif
 
-#if ENABLED(NEWPANEL)
+#if IS_NEWPANEL
   #define BTN_EN1                             14
   #define BTN_EN2                             16
   #define BTN_ENC                             17
diff --git a/Marlin/src/pins/sam/pins_ARCHIM1.h b/Marlin/src/pins/sam/pins_ARCHIM1.h
index 6e3768c663b..347afe9ebdf 100644
--- a/Marlin/src/pins/sam/pins_ARCHIM1.h
+++ b/Marlin/src/pins/sam/pins_ARCHIM1.h
@@ -192,10 +192,10 @@
 
   #define SD_DETECT_PIN                        2  // D2  PB25_TIOA0
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
     // Buttons on AUX-2
     #define BTN_EN1                           60  // D60 PA3_TIOB1
     #define BTN_EN2                           13  // D13 PB27_TIOB0
     #define BTN_ENC                           16  // D16 PA13_TXD1
-  #endif // NEWPANEL
+  #endif // IS_NEWPANEL
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/sam/pins_ARCHIM2.h b/Marlin/src/pins/sam/pins_ARCHIM2.h
index 5a3fe0e4d5c..5923ea0f8f8 100644
--- a/Marlin/src/pins/sam/pins_ARCHIM2.h
+++ b/Marlin/src/pins/sam/pins_ARCHIM2.h
@@ -247,11 +247,11 @@
   #define LCD_PINS_D7                         34  // D34 PC2_PWML0
 
   #define SD_DETECT_PIN                        2  // D2  PB25_TIOA0
-
-  #if ANY(ULTIPANEL, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE)
-    // Buttons on AUX-2
-    #define BTN_EN1                           60  // D60 PA3_TIOB1
-    #define BTN_EN2                           13  // D13 PB27_TIOB0
-    #define BTN_ENC                           16  // D16 PA13_TXD1 // the click
-  #endif
+#endif
+
+#if ANY(IS_ULTIPANEL, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE)
+  // Buttons on AUX-2
+  #define BTN_EN1                             60  // D60 PA3_TIOB1
+  #define BTN_EN2                             13  // D13 PB27_TIOB0
+  #define BTN_ENC                             16  // D16 PA13_TXD1 // the click
 #endif
diff --git a/Marlin/src/pins/sam/pins_DUE3DOM.h b/Marlin/src/pins/sam/pins_DUE3DOM.h
index cd4033aa6f1..a5c22ff3f2b 100644
--- a/Marlin/src/pins/sam/pins_DUE3DOM.h
+++ b/Marlin/src/pins/sam/pins_DUE3DOM.h
@@ -122,7 +122,7 @@
   #define LCD_PINS_D6                         46
   #define LCD_PINS_D7                         47
 
-  #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+  #if IS_RRD_SC
 
     #define BEEPER_PIN                        41
 
diff --git a/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h b/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h
index 5f9ad48a08c..b3e76199dcc 100644
--- a/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h
+++ b/Marlin/src/pins/sam/pins_DUE3DOM_MINI.h
@@ -114,7 +114,7 @@
   #define LCD_PINS_D6                         46
   #define LCD_PINS_D7                         47
 
-  #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+  #if IS_RRD_SC
 
     #define BEEPER_PIN                        41
 
diff --git a/Marlin/src/pins/sam/pins_RADDS.h b/Marlin/src/pins/sam/pins_RADDS.h
index 60fe3512378..cd895365d04 100644
--- a/Marlin/src/pins/sam/pins_RADDS.h
+++ b/Marlin/src/pins/sam/pins_RADDS.h
@@ -248,7 +248,7 @@
     #define SDSS                              10
     #define SD_DETECT_PIN                     14
 
-  #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+  #elif IS_RRD_FG_SC
 
     // The REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER requires
     // an adapter such as https://www.thingiverse.com/thing:1740725
diff --git a/Marlin/src/pins/sam/pins_RAMPS_DUO.h b/Marlin/src/pins/sam/pins_RAMPS_DUO.h
index bfc3968ffac..44e2695a535 100644
--- a/Marlin/src/pins/sam/pins_RAMPS_DUO.h
+++ b/Marlin/src/pins/sam/pins_RAMPS_DUO.h
@@ -78,7 +78,7 @@
 //
 #if HAS_WIRED_LCD
 
-  #if BOTH(NEWPANEL, PANEL_ONE)
+  #if BOTH(IS_NEWPANEL, PANEL_ONE)
     #undef LCD_PINS_D4
     #define LCD_PINS_D4                       68
 
@@ -89,7 +89,7 @@
     #define LCD_PINS_D7                       67
   #endif
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
     #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
 
@@ -115,7 +115,7 @@
 
     #else
 
-      #if ENABLED(REPRAPWORLD_KEYPAD)
+      #if IS_RRW_KEYPAD
         #undef BTN_EN1
         #define BTN_EN1                       67  // encoder
 
@@ -127,6 +127,6 @@
       #endif
     #endif
 
-  #endif // NEWPANEL
+  #endif // IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h b/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h
index ee525eefaa5..a0dbddf5679 100644
--- a/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h
+++ b/Marlin/src/pins/sam/pins_RAMPS_FD_V1.h
@@ -148,7 +148,7 @@
   #define BTN_ENC                             35
   #define SD_DETECT_PIN                       49
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
     #define LCD_PINS_RS                       16
     #define LCD_PINS_ENABLE                   17
   #endif
@@ -178,7 +178,7 @@
       #define NEOPIXEL_PIN                    25
     #endif
 
-  #elif ENABLED(NEWPANEL)
+  #elif IS_NEWPANEL
 
     #define LCD_PINS_D4                       23
     #define LCD_PINS_D5                       25
diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h
index b9e61fb27c5..49378541a9c 100644
--- a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h
+++ b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h
@@ -202,7 +202,7 @@
 //
 #if HAS_WIRED_LCD
 
-  #if ANY(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER, REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+  #if ANY(RADDS_DISPLAY, IS_RRD_SC, IS_RRD_FG_SC)
     #define BEEPER_PIN                        62
     #define LCD_PINS_D4                       48
     #define LCD_PINS_D5                       50
@@ -211,12 +211,12 @@
     #define SD_DETECT_PIN                     51
   #endif
 
-  #if EITHER(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER)
+  #if EITHER(RADDS_DISPLAY, IS_RRD_SC)
 
     #define LCD_PINS_RS                       63
     #define LCD_PINS_ENABLE                   64
 
-  #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+  #elif IS_RRD_FG_SC
 
     #define LCD_PINS_RS                       52
     #define LCD_PINS_ENABLE                   53
@@ -265,7 +265,7 @@
 
   #endif // SPARK_FULL_GRAPHICS
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
     #define BTN_EN1                           44
     #define BTN_EN2                           42
     #define BTN_ENC                           40
diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h
index dc0c1279954..1cc2eee6b0b 100644
--- a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h
+++ b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h
@@ -188,7 +188,7 @@
 //
 #if HAS_WIRED_LCD
 
-  #if ANY(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER, REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+  #if ANY(RADDS_DISPLAY, IS_RRD_SC, IS_RRD_FG_SC)
     #define BEEPER_PIN                        62
     #define LCD_PINS_D4                       48
     #define LCD_PINS_D5                       50
@@ -197,12 +197,12 @@
     #define SD_DETECT_PIN                     51
   #endif
 
-  #if EITHER(RADDS_DISPLAY, REPRAP_DISCOUNT_SMART_CONTROLLER)
+  #if EITHER(RADDS_DISPLAY, IS_RRD_SC)
 
     #define LCD_PINS_RS                       63
     #define LCD_PINS_ENABLE                   64
 
-  #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+  #elif IS_RRD_FG_SC
 
     #define LCD_PINS_RS                       52
     #define LCD_PINS_ENABLE                   53
@@ -247,7 +247,7 @@
 
   #endif
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
     #define BTN_EN1                           44
     #define BTN_EN2                           42
     #define BTN_ENC                           40
diff --git a/Marlin/src/pins/samd/pins_RAMPS_144.h b/Marlin/src/pins/samd/pins_RAMPS_144.h
index 6076be07e9d..1948acf8971 100644
--- a/Marlin/src/pins/samd/pins_RAMPS_144.h
+++ b/Marlin/src/pins/samd/pins_RAMPS_144.h
@@ -299,7 +299,7 @@
     //#define LCD_PINS_ENABLE                 51  // SID (MOSI)
     //#define LCD_PINS_D4                     52  // SCK (CLK) clock
 
-  #elif BOTH(NEWPANEL, PANEL_ONE)
+  #elif BOTH(IS_NEWPANEL, PANEL_ONE)
 
     // TO TEST
     //#define LCD_PINS_RS                     40
@@ -318,7 +318,7 @@
       //#define LCD_PINS_ENABLE               29
       //#define LCD_PINS_D4                   25
 
-      #if DISABLED(NEWPANEL)
+      #if !IS_NEWPANEL
         // TO TEST
         //#define BEEPER_PIN                  37
       #endif
@@ -354,13 +354,13 @@
 
       #define LCD_PINS_D7                     29
 
-      #if DISABLED(NEWPANEL)
+      #if !IS_NEWPANEL
         #define BEEPER_PIN                    33
       #endif
 
     #endif
 
-    #if DISABLED(NEWPANEL)
+    #if !IS_NEWPANEL
       // Buttons attached to a shift register
       // Not wired yet
       //#define SHIFT_CLK                     38
@@ -374,9 +374,9 @@
   //
   // LCD Display input pins
   //
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
-    #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+    #if IS_RRD_SC
 
       #define BEEPER_PIN                      37
 
@@ -565,7 +565,7 @@
       //#define BEEPER_PIN                    33
 
       // Buttons are directly attached to AUX-2
-      #if ENABLED(REPRAPWORLD_KEYPAD)
+      #if IS_RRW_KEYPAD
         // TO TEST
         //#define SHIFT_OUT                   40
         //#define SHIFT_CLK                   44
@@ -592,7 +592,7 @@
       #endif
 
     #endif
-  #endif // NEWPANEL
+  #endif // IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
 
diff --git a/Marlin/src/pins/sanguino/pins_ANET_10.h b/Marlin/src/pins/sanguino/pins_ANET_10.h
index 74692a21a39..d48db36287e 100644
--- a/Marlin/src/pins/sanguino/pins_ANET_10.h
+++ b/Marlin/src/pins/sanguino/pins_ANET_10.h
@@ -151,7 +151,7 @@
 
 #if HAS_WIRED_LCD
   #define LCD_SDSS                            28
-  #if ENABLED(ADC_KEYPAD)
+  #if HAS_ADC_BUTTONS
     #define SERVO0_PIN                        27  // free for BLTouch/3D-Touch
     #define LCD_PINS_RS                       28
     #define LCD_PINS_ENABLE                   29
@@ -160,7 +160,7 @@
     #define LCD_PINS_D6                       16
     #define LCD_PINS_D7                       17
     #define ADC_KEYPAD_PIN                     1
-  #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+  #elif IS_RRD_FG_SC
     // Pin definitions for the Anet A6 Full Graphics display and the RepRapDiscount Full Graphics
     // display using an adapter board  // https://go.aisler.net/benlye/anet-lcd-adapter/pcb
     // See below for alternative pin definitions for use with https://www.thingiverse.com/thing:2103748
diff --git a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
index 438d49d615c..69b351e3fce 100644
--- a/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
+++ b/Marlin/src/pins/sanguino/pins_SANGUINOLOLU_11.h
@@ -136,7 +136,7 @@
   #define LCD_BACKLIGHT_PIN                   17  // LCD backlight LED
 #endif
 
-#if NONE(SPINDLE_FEATURE, LASER_FEATURE) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(ULTRA_LCD, NEWPANEL)// try to use IO Header
+#if NONE(SPINDLE_FEATURE, LASER_FEATURE) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(IS_ULTRA_LCD, IS_NEWPANEL) // try to use IO Header
   #define CASE_LIGHT_PIN                       4  // Hardware PWM  - see if IO Header is available
 #endif
 
@@ -185,7 +185,7 @@
         // with M42 instead of BEEPER_PIN.
         #define BEEPER_PIN                    27
 
-        #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+        #if IS_RRD_FG_SC
           #ifndef BOARD_ST7920_DELAY_1
             #define BOARD_ST7920_DELAY_1 DELAY_NS(0)
           #endif
@@ -283,7 +283,7 @@
 
   #endif
 
-  #if ENABLED(NEWPANEL) && !defined(BTN_EN1)
+  #if IS_NEWPANEL && !defined(BTN_EN1)
     #define BTN_EN1                           11
     #define BTN_EN2                           10
   #endif
@@ -294,7 +294,7 @@
 // M3/M4/M5 - Spindle/Laser Control
 //
 #if HAS_CUTTER
-  #if !MB(AZTEEG_X1) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(ULTRA_LCD, NEWPANEL)// try to use IO Header
+  #if !MB(AZTEEG_X1) && ENABLED(SANGUINOLOLU_V_1_2) && !BOTH(IS_ULTRA_LCD, IS_NEWPANEL) // try to use IO Header
 
     #define SPINDLE_LASER_ENA_PIN             10  // Pullup or pulldown!
     #define SPINDLE_LASER_PWM_PIN              4  // Hardware PWM
diff --git a/Marlin/src/pins/sanguino/pins_ZMIB_V2.h b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h
index 838ffe38aa9..4257b2c40e1 100644
--- a/Marlin/src/pins/sanguino/pins_ZMIB_V2.h
+++ b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h
@@ -225,7 +225,7 @@
 //
 // All the above are also RRDSC with rotary encoder
 //
-#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+#if IS_RRD_SC
   #define BTN_EN1                              2
   #define BTN_EN2                             12
   #define BTN_ENC                             29
diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h
index 47fff4467c7..ce43e677e28 100644
--- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h
+++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h
@@ -175,7 +175,7 @@
     #else                                         // !FYSETC_MINI_12864
 
       #define LCD_PINS_D4                   PC13
-      #if ENABLED(ULTIPANEL)
+      #if IS_ULTIPANEL
         #define LCD_PINS_D5                 PB7
         #define LCD_PINS_D6                 PC15
         #define LCD_PINS_D7                 PC14
diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D.h b/Marlin/src/pins/stm32f1/pins_CHITU3D.h
index 3a872db0253..1d8f4f684b0 100644
--- a/Marlin/src/pins/stm32f1/pins_CHITU3D.h
+++ b/Marlin/src/pins/stm32f1/pins_CHITU3D.h
@@ -126,7 +126,7 @@
     #define LCD_PINS_RS                     PD1   // 49  // CS chip select /SS chip slave select
     #define LCD_PINS_ENABLE                 PD3   // 51  // SID (MOSI)
     #define LCD_PINS_D4                     PD4   // 52  // SCK (CLK) clock
-  #elif BOTH(NEWPANEL, PANEL_ONE)
+  #elif BOTH(IS_NEWPANEL, PANEL_ONE)
     #define LCD_PINS_RS                     PB8
     #define LCD_PINS_ENABLE                 PD2
     #define LCD_PINS_D4                     PB12
@@ -140,7 +140,7 @@
     #define LCD_PINS_D5                     PB13
     #define LCD_PINS_D6                     PB14
     #define LCD_PINS_D7                     PB15
-    #if DISABLED(NEWPANEL)
+    #if !IS_NEWPANEL
       #define BEEPER_PIN                    PC1   // 33
       // Buttons attached to a shift register
       // Not wired yet
@@ -151,9 +151,9 @@
     #endif
   #endif
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
-    #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+    #if IS_RRD_SC
 
       #define BEEPER_PIN                    PC5
 
@@ -254,7 +254,7 @@
       #define BEEPER_PIN                    PC1   // 33
 
       // Buttons directly attached to AUX-2
-      #if ENABLED(REPRAPWORLD_KEYPAD)
+      #if IS_RRW_KEYPAD
         #define BTN_EN1                     PE0   // 64
         #define BTN_EN2                     PD11  // 59
         #define BTN_ENC                     PD15  // 63
@@ -279,6 +279,6 @@
       #endif
 
     #endif
-  #endif // NEWPANEL
+  #endif // IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h
index b02d414089f..33ec27ddbad 100644
--- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h
+++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h
@@ -152,9 +152,6 @@
   // Color UI
   #define TFT_DRIVER                     ILI9488
   #define TFT_BUFFER_SIZE                  14400
-#elif ENABLED(TFT_CLASSIC_UI)
-  // Emulated DOGM
-  #define GRAPHICAL_TFT_UPSCALE                3
 #endif
 
 // XPT2046 Touch Screen calibration
diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h
index cafd50dcf22..990d33b759a 100644
--- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h
+++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h
@@ -167,9 +167,6 @@
   // Color UI
   #define TFT_DRIVER                     ILI9488
   #define TFT_BUFFER_SIZE                  14400
-#elif ENABLED(TFT_CLASSIC_UI)
-  // Emulated DOGM
-  #define GRAPHICAL_TFT_UPSCALE                3
 #endif
 
 // XPT2046 Touch Screen calibration
diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h
index ebe5964d058..d2c587beb85 100644
--- a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h
+++ b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h
@@ -162,7 +162,7 @@
   // not connected to a pin
   #define SD_DETECT_PIN                     PC3
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
     // The encoder and click button
     #define BTN_EN1                         PC10
     #define BTN_EN2                         PC11
diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h
index de5ea45d44e..deca1a05464 100644
--- a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h
+++ b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h
@@ -153,7 +153,7 @@
 
   //#define LCD_CONTRAST_INIT                190
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
     #define BTN_EN1                         PC10
     #define BTN_EN2                         PC11
     #define BTN_ENC                         PC12
diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h
index ca25c45a7bb..00c5721384d 100644
--- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h
+++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h
@@ -137,7 +137,7 @@
 //
 #if HAS_WIRED_LCD
 
-  #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+  #if IS_RRD_SC
     //
     // LCD display on J2 FFC40
     // Geeetech's LCD2004A Control Panel is very much like
@@ -172,7 +172,7 @@
 
 #endif // HAS_WIRED_LCD
 
-#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+#if IS_RRD_SC
   //
   // Geeetech's LCD2004A Control Panel is very much like
   // RepRapDiscount Smart Controller, but adds an FFC40 connector
diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h
index 02fd3bcae72..b10748e57f3 100644
--- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h
+++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h
@@ -137,7 +137,7 @@
 //
 #if HAS_WIRED_LCD
 
-  #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+  #if IS_RRD_SC
     //
     // LCD display on J2 FFC40
     // Geeetech's LCD2004A Control Panel is very much like
diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h
index ca25c45a7bb..00c5721384d 100644
--- a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h
+++ b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h
@@ -137,7 +137,7 @@
 //
 #if HAS_WIRED_LCD
 
-  #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+  #if IS_RRD_SC
     //
     // LCD display on J2 FFC40
     // Geeetech's LCD2004A Control Panel is very much like
@@ -172,7 +172,7 @@
 
 #endif // HAS_WIRED_LCD
 
-#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+#if IS_RRD_SC
   //
   // Geeetech's LCD2004A Control Panel is very much like
   // RepRapDiscount Smart Controller, but adds an FFC40 connector
diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h
index fc18263fddf..b913530f676 100644
--- a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h
+++ b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h
@@ -137,7 +137,7 @@
 //
 #if HAS_WIRED_LCD
 
- #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+ #if IS_RRD_SC
 
     //
     // LCD display on J2 FFC40
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h
index 8831d6804b0..63c0da476df 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h
@@ -126,6 +126,11 @@
 #endif
 #define LED_PIN                             PB2
 
+#if HAS_FSMC_TFT || HAS_GRAPHICAL_TFT
+  #define TFT_CS_PIN                        PG12  // NE4
+  #define TFT_RS_PIN                        PF0   // A0
+#endif
+
 #if HAS_FSMC_TFT
   /**
    * Note: MKS Robin TFT screens use various TFT controllers
@@ -141,10 +146,8 @@
    */
   //#define LCD_RESET_PIN                   PF6
   #define LCD_BACKLIGHT_PIN                 PG11
-  #define FSMC_CS_PIN                       PG12  // NE4
-  #define FSMC_RS_PIN                       PF0   // A0
-  #define TFT_CS_PIN                 FSMC_CS_PIN
-  #define TFT_RS_PIN                 FSMC_RS_PIN
+  #define FSMC_CS_PIN                 TFT_CS_PIN
+  #define FSMC_RS_PIN                 TFT_RS_PIN
 
   #define LCD_USE_DMA_FSMC                        // Use DMA transfers to send data to the TFT
   #define FSMC_DMA_DEV                      DMA2
@@ -152,8 +155,6 @@
 #elif HAS_GRAPHICAL_TFT
   #define TFT_RESET_PIN                     PF6
   #define TFT_BACKLIGHT_PIN                 PG11
-  #define TFT_CS_PIN                        PG12  // NE4
-  #define TFT_RS_PIN                        PF0   // A0
 #endif
 
 #if NEED_TOUCH_PINS
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h
index 94a28953ccf..4998c92dc5b 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3P.h
@@ -269,22 +269,13 @@
 
 #endif
 
-#if ENABLED(SPI_GRAPHICAL_TFT)
+#if HAS_SPI_GRAPHICAL_TFT
   // Emulated DOGM SPI
-  #ifndef GRAPHICAL_TFT_UPSCALE
-    #define GRAPHICAL_TFT_UPSCALE              3
-  #endif
-  #ifndef TFT_PIXEL_OFFSET_Y
-    #define TFT_PIXEL_OFFSET_Y                32
-  #endif
-
+  #define LCD_PINS_ENABLE                   PD13
+  #define LCD_PINS_RS                       PC6
   #define BTN_ENC                           PE13
   #define BTN_EN1                           PE8
   #define BTN_EN2                           PE11
-
-  #define LCD_PINS_ENABLE                   PD13
-  #define LCD_PINS_RS                       PC6
-
 #elif ENABLED(TFT_480x320_SPI)
   #define TFT_DRIVER                      ST7796
   #define TFT_BUFFER_SIZE                  14400
@@ -304,7 +295,7 @@
   #ifndef XPT2046_Y_OFFSET
     #define XPT2046_Y_OFFSET                 -24
   #endif
-#elif ENABLED(SPI_GRAPHICAL_TFT)
+#elif HAS_SPI_GRAPHICAL_TFT
   #ifndef XPT2046_X_CALIBRATION
     #define XPT2046_X_CALIBRATION         -11386
   #endif
@@ -342,7 +333,7 @@
   #else                                           // !MKS_MINI_12864
 
     #define LCD_PINS_D4                     PE14
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                   PE15
       #define LCD_PINS_D6                   PD11
       #define LCD_PINS_D7                   PD10
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
index 015e29bdbe6..af2908545bd 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
@@ -154,7 +154,7 @@
   #else
 
     #define LCD_PINS_D4                     PA6
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                   PA7
       #define LCD_PINS_D6                   PC4
       #define LCD_PINS_D7                   PC5
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h
index aa1ccedb355..ffd21917dd6 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE.h
@@ -103,7 +103,7 @@
   #else                                           // !MKS_MINI_12864
 
     #define LCD_PINS_D4                     PC1
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                   -1
       #define LCD_PINS_D6                   -1
       #define LCD_PINS_D7                   -1
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h
index d5318b8e878..493efc5c7b8 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h
@@ -124,7 +124,7 @@
   #else                                           // !MKS_MINI_12864
 
     #define LCD_PINS_D4                     PA6
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                   PA7
       #define LCD_PINS_D6                   PC4
       #define LCD_PINS_D7                   PC5
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h
index 2b099b3e937..14f9c3b6260 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h
@@ -139,6 +139,35 @@
  * If the screen stays white, disable 'LCD_RESET_PIN'
  * to let the bootloader init the screen.
  */
+#if EITHER(HAS_FSMC_GRAPHICAL_TFT, TFT_320x240)
+  #define FSMC_CS_PIN                       PD7   // NE4
+  #define FSMC_RS_PIN                       PD11  // A0
+
+  #define LCD_USE_DMA_FSMC                        // Use DMA transfers to send data to the TFT
+  #define FSMC_DMA_DEV                      DMA2
+  #define FSMC_DMA_CHANNEL               DMA_CH5
+
+  #define LCD_RESET_PIN                     PC6   // FSMC_RST
+  #define LCD_BACKLIGHT_PIN                 PD13
+#endif
+
+#if BOTH(NEED_TOUCH_PINS, HAS_FSMC_GRAPHICAL_TFT) || ENABLED(TFT_320x240)
+  #define TOUCH_CS_PIN                      PC2   // SPI2_NSS
+  #define TOUCH_SCK_PIN                     PB13  // SPI2_SCK
+  #define TOUCH_MISO_PIN                    PB14  // SPI2_MISO
+  #define TOUCH_MOSI_PIN                    PB15  // SPI2_MOSI
+#endif
+
+#if ENABLED(TFT_320x240)                          // TFT32/28
+  #define TFT_DRIVER                     ILI9341
+  #define TFT_BUFFER_SIZE                  14400
+  #define ILI9341_COLOR_RGB
+  // YV for normal screen mounting
+  #define ILI9341_ORIENTATION  ILI9341_MADCTL_MY | ILI9341_MADCTL_MV
+  // XV for 180° rotated screen mounting
+  //#define ILI9341_ORIENTATION  ILI9341_MADCTL_MX | ILI9341_MADCTL_MV
+#endif
+
 #if ENABLED(TOUCH_SCREEN)
   #ifndef XPT2046_X_CALIBRATION
     #define XPT2046_X_CALIBRATION          12033
@@ -154,52 +183,6 @@
   #endif
 #endif
 
-#if ENABLED(FSMC_GRAPHICAL_TFT)
-
-  #define FSMC_CS_PIN                       PD7   // NE4
-  #define FSMC_RS_PIN                       PD11  // A0
-
-  #define LCD_USE_DMA_FSMC                        // Use DMA transfers to send data to the TFT
-  #define FSMC_DMA_DEV                      DMA2
-  #define FSMC_DMA_CHANNEL               DMA_CH5
-
-  #define LCD_RESET_PIN                     PC6   // FSMC_RST
-  #define LCD_BACKLIGHT_PIN                 PD13
-
-  #if NEED_TOUCH_PINS
-    #define TOUCH_CS_PIN                    PC2   // SPI2_NSS
-    #define TOUCH_SCK_PIN                   PB13  // SPI2_SCK
-    #define TOUCH_MISO_PIN                  PB14  // SPI2_MISO
-    #define TOUCH_MOSI_PIN                  PB15  // SPI2_MOSI
-  #endif
-
-#elif ENABLED(TFT_320x240)                        //TFT32/28
-
-  #define TFT_RESET_PIN                     PC6
-  #define TFT_BACKLIGHT_PIN                 PD13
-
-  #define LCD_USE_DMA_FSMC                        // Use DMA transfers to send data to the TFT
-  #define FSMC_CS_PIN                       PD7
-  #define FSMC_RS_PIN                       PD11
-  #define FSMC_DMA_DEV                      DMA2
-  #define FSMC_DMA_CHANNEL               DMA_CH5
-
-  #define TOUCH_CS_PIN                      PC2   // SPI2_NSS
-  #define TOUCH_SCK_PIN                     PB13  // SPI2_SCK
-  #define TOUCH_MISO_PIN                    PB14  // SPI2_MISO
-  #define TOUCH_MOSI_PIN                    PB15  // SPI2_MOSI
-
-  #define TFT_DRIVER                     ILI9341
-  #define TFT_BUFFER_SIZE                  14400
-
-  // YV for normal screen mounting
-  #define ILI9341_ORIENTATION  ILI9341_MADCTL_MY | ILI9341_MADCTL_MV
-  // XV for 180° rotated screen mounting
-  //#define ILI9341_ORIENTATION  ILI9341_MADCTL_MX | ILI9341_MADCTL_MV
-
-  #define ILI9341_COLOR_RGB
-#endif
-
 #define HAS_SPI_FLASH                          1
 #if HAS_SPI_FLASH
   #define SPI_FLASH_SIZE               0x1000000  // 16MB
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h
index 16d6d2ffc44..86dab411212 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h
@@ -198,7 +198,7 @@
 #endif
 
 // XPT2046 Touch Screen calibration
-#if EITHER(TFT_LVGL_UI_FSMC, TFT_480x320)
+#if EITHER(HAS_TFT_LVGL_UI_FSMC, TFT_480x320)
   #ifndef XPT2046_X_CALIBRATION
     #define XPT2046_X_CALIBRATION          17880
   #endif
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h
index 846fe80a08f..b1e49f4d9fd 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h
@@ -275,20 +275,11 @@
 
 #if ENABLED(TFT_CLASSIC_UI)
   // Emulated DOGM SPI
-  #ifndef GRAPHICAL_TFT_UPSCALE
-    #define GRAPHICAL_TFT_UPSCALE              3
-  #endif
-  #ifndef TFT_PIXEL_OFFSET_Y
-    #define TFT_PIXEL_OFFSET_Y                32
-  #endif
-
+  #define LCD_PINS_ENABLE                   PD13
+  #define LCD_PINS_RS                       PC6
   #define BTN_ENC                           PE13
   #define BTN_EN1                           PE8
   #define BTN_EN2                           PE11
-
-  #define LCD_PINS_ENABLE                   PD13
-  #define LCD_PINS_RS                       PC6
-
 #elif ENABLED(TFT_COLOR_UI)
   #define TFT_BUFFER_SIZE                  14400
 #endif
@@ -354,7 +345,7 @@
   #else                                           // !MKS_MINI_12864
 
     #define LCD_PINS_D4                     PE14
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                   PE15
       #define LCD_PINS_D6                   PD11
       #define LCD_PINS_D7                   PD10
diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h
index 32203f52ea8..db6bc932050 100644
--- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h
+++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h
@@ -210,7 +210,7 @@
  * If the screen stays white, disable 'LCD_RESET_PIN'
  * to let the bootloader init the screen.
  */
-#if ENABLED(FSMC_GRAPHICAL_TFT)
+#if HAS_FSMC_GRAPHICAL_TFT
   #define FSMC_CS_PIN                       PD7   // NE4
   #define FSMC_RS_PIN                       PD11  // A0
 
@@ -254,7 +254,7 @@
   #else                                           // !MKS_MINI_12864 && !ENDER2_STOCKDISPLAY
 
     #define LCD_PINS_D4                     PF14
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                   PF15
       #define LCD_PINS_D6                   PF12
       #define LCD_PINS_D7                   PF13
diff --git a/Marlin/src/pins/stm32f1/pins_STM32F1R.h b/Marlin/src/pins/stm32f1/pins_STM32F1R.h
index cf2ba2c5fa7..1b9a62fe9ed 100644
--- a/Marlin/src/pins/stm32f1/pins_STM32F1R.h
+++ b/Marlin/src/pins/stm32f1/pins_STM32F1R.h
@@ -103,7 +103,7 @@
     #define LCD_PINS_RS                       49  // CS chip select /SS chip slave select
     #define LCD_PINS_ENABLE                   51  // SID (MOSI)
     #define LCD_PINS_D4                       52  // SCK (CLK) clock
-  #elif BOTH(NEWPANEL, PANEL_ONE)
+  #elif BOTH(IS_NEWPANEL, PANEL_ONE)
     #define LCD_PINS_RS                     PB8
     #define LCD_PINS_ENABLE                 PD2
     #define LCD_PINS_D4                     PB12
@@ -117,7 +117,7 @@
     #define LCD_PINS_D5                     PB13
     #define LCD_PINS_D6                     PB14
     #define LCD_PINS_D7                     PB15
-    #if DISABLED(NEWPANEL)
+    #if !IS_NEWPANEL
       #define BEEPER_PIN                      33
       // Buttons attached to a shift register
       // Not wired yet
@@ -128,9 +128,9 @@
     #endif
   #endif
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
-    #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+    #if IS_RRD_SC
 
       #define BEEPER_PIN                      37
 
@@ -231,7 +231,7 @@
       #define BEEPER_PIN                      33
 
       // Buttons directly attached to AUX-2
-      #if ENABLED(REPRAPWORLD_KEYPAD)
+      #if IS_RRW_KEYPAD
         #define BTN_EN1                       64
         #define BTN_EN2                       59
         #define BTN_ENC                       63
@@ -256,6 +256,6 @@
       #endif
 
     #endif
-  #endif // NEWPANEL
+  #endif // IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h
index e74698f89ef..3ebc4bca571 100644
--- a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h
+++ b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h
@@ -118,7 +118,7 @@
     #define LCD_PINS_RS                       49  // CS chip select /SS chip slave select
     #define LCD_PINS_ENABLE                   51  // SID (MOSI)
     #define LCD_PINS_D4                       52  // SCK (CLK) clock
-  #elif BOTH(NEWPANEL, PANEL_ONE)
+  #elif BOTH(IS_NEWPANEL, PANEL_ONE)
     #define LCD_PINS_RS                     PB8
     #define LCD_PINS_ENABLE                 PD2
     #define LCD_PINS_D4                     PB12
@@ -132,7 +132,7 @@
     #define LCD_PINS_D5                     PB13
     #define LCD_PINS_D6                     PB14
     #define LCD_PINS_D7                     PB15
-    #if DISABLED(NEWPANEL)
+    #if !IS_NEWPANEL
       #define BEEPER_PIN                      33
       // Buttons attached to a shift register
       // Not wired yet
@@ -151,9 +151,9 @@
     #define TOUCH_MISO_PIN                  PB15
     #define TOUCH_INT_PIN                   PC6   // (PenIRQ coming from ADS7843)
 
-  #elif ENABLED(NEWPANEL)
+  #elif IS_NEWPANEL
 
-    #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+    #if IS_RRD_SC
 
       #define BEEPER_PIN                      37
 
@@ -255,7 +255,7 @@
       #define BEEPER_PIN                      33
 
       // Buttons directly attached to AUX-2
-      #if ENABLED(REPRAPWORLD_KEYPAD)
+      #if IS_RRW_KEYPAD
         #define BTN_EN1                       64
         #define BTN_EN2                       59
         #define BTN_ENC                       63
@@ -280,6 +280,6 @@
       #endif
 
     #endif
-  #endif // NEWPANEL
+  #endif // IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/stm32f4/pins_BEAST.h b/Marlin/src/pins/stm32f4/pins_BEAST.h
index 268b7b59cd4..279d0b9ec70 100644
--- a/Marlin/src/pins/stm32f4/pins_BEAST.h
+++ b/Marlin/src/pins/stm32f4/pins_BEAST.h
@@ -126,7 +126,7 @@
     #define LCD_PINS_RS                       49  // CS chip select /SS chip slave select
     #define LCD_PINS_ENABLE                   51  // SID (MOSI)
     #define LCD_PINS_D4                       52  // SCK (CLK) clock
-  #elif BOTH(NEWPANEL, PANEL_ONE)
+  #elif BOTH(IS_NEWPANEL, PANEL_ONE)
     #define LCD_PINS_RS                     PB8
     #define LCD_PINS_ENABLE                 PD2
     #define LCD_PINS_D4                     PB12
@@ -140,7 +140,7 @@
     #define LCD_PINS_D5                     PB13
     #define LCD_PINS_D6                     PB14
     #define LCD_PINS_D7                     PB15
-    #if DISABLED(NEWPANEL)
+    #if !IS_NEWPANEL
       #define BEEPER_PIN                      33
       // Buttons attached to a shift register
       // Not wired yet
@@ -151,9 +151,9 @@
     #endif
   #endif
 
-  #if ENABLED(NEWPANEL)
+  #if IS_NEWPANEL
 
-    #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+    #if IS_RRD_SC
 
       #define BEEPER_PIN                      37
 
@@ -255,7 +255,7 @@
       #define BEEPER_PIN                      33
 
       // Buttons directly attached to AUX-2
-      #if ENABLED(REPRAPWORLD_KEYPAD)
+      #if IS_RRW_KEYPAD
         #define BTN_EN1                       64
         #define BTN_EN2                       59
         #define BTN_ENC                       63
@@ -280,6 +280,6 @@
       #endif
 
     #endif
-  #endif // NEWPANEL
+  #endif // IS_NEWPANEL
 
 #endif // HAS_WIRED_LCD
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
index c37f6cce044..6f9c3d30958 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
@@ -228,7 +228,7 @@
     #define LCD_PINS_ENABLE                 PE9
     #define LCD_PINS_D4                     PE10
 
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                   PE11
       #define LCD_PINS_D6                   PE12
       #define LCD_PINS_D7                   PE13
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
index dc8ce9f2d1b..eaf90da1aee 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
@@ -385,7 +385,7 @@
       #endif
     #endif // !FYSETC_MINI_12864
 
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                   PG7
       #define LCD_PINS_D6                   PG6
       #define LCD_PINS_D7                   PG5
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h
index 83fd987d9db..995fcb95854 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h
@@ -350,7 +350,7 @@
       #endif
     #endif // !FYSETC_MINI_12864
 
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                   PG3
       #define LCD_PINS_D6                   PG6
       #define LCD_PINS_D7                   PG7
diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
index 151f6c3bc06..8638e9a4cfb 100644
--- a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
+++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
@@ -252,7 +252,7 @@
       #endif
     #endif // !FYSETC_MINI_12864
 
-    #if ENABLED(ULTIPANEL)
+    #if IS_ULTIPANEL
       #define LCD_PINS_D5                   PC12
       #define LCD_PINS_D6                   PD0
       #define LCD_PINS_D7                   PD1
diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h
index d52bb11d120..9a6a16516ca 100644
--- a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h
+++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h
@@ -161,7 +161,7 @@
     #define DOGLCD_A0                       PE14
   #endif
 
-  #if ENABLED(ULTIPANEL)
+  #if IS_ULTIPANEL
     #define LCD_PINS_D5                     PE13
     #define LCD_PINS_D6                     PE14
     #define LCD_PINS_D7                     PE15
diff --git a/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h b/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h
index 5e3d5f4ab53..7d95521eb6a 100644
--- a/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h
+++ b/Marlin/src/pins/stm32f7/pins_NUCLEO_F767ZI.h
@@ -41,7 +41,7 @@
 
 /**
  * Timer assignments
- * 
+ *
  * TIM1 -
  * TIM2 - Hardware PWM (Fan/Heater Pins)
  * TIM3 - Hardware PWM (Servo Pins)
@@ -55,7 +55,7 @@
  * TIM12 -
  * TIM13 -
  * TIM14 - TEMP_TIMER (Marlin)
- * 
+ *
  */
 #define STEP_TIMER 4
 #define TEMP_TIMER 14
@@ -66,7 +66,7 @@
  * Assignments may not be ideal, and not every assignment has been tested.
  * Proceed at your own risk.
  *                                                            _CN7_
- *                                              (X_STEP) PC6 | · · | PB8 (X_EN) 
+ *                                              (X_STEP) PC6 | · · | PB8 (X_EN)
  *                                              (X_DIR) PB15 | · · | PB9 (X_CS)
  *                                             (LCD_D4) PB13 | · · | AVDD
  *                 _CN8_                                PB12 | · · | GND
@@ -77,7 +77,7 @@
  *            +5V | · · | PC12                    (SDSS) PA4 | · · | PD15 (LCD_ENABLE)
  *            GND | · · | PD2               (SERVO0_PIN) PB4 | · · | PF12 (LCD_RS)
  *            GND | · · | PG2                                  ̄ ̄ ̄
- *            VIN | · · | PG3                                 
+ *            VIN | · · | PG3
 _*                  ̄ ̄ ̄                                      _CN10
  *                                                      AVDD | · · | PF13 (BTN_EN1)
  *                 _CN9_                                AGND | · · | PE9  (BTN_EN2)
@@ -140,7 +140,7 @@ _*                  ̄ ̄ ̄                                      _CN10
   #define Z_SERIAL_RX_PIN                   PE12
 
   #define E_SERIAL_TX_PIN                   PG9
-  #define E_SERIAL_RX_PIN                   PG9      
+  #define E_SERIAL_RX_PIN                   PG9
 #endif
 
 //
@@ -182,7 +182,7 @@ _*                  ̄ ̄ ̄                                      _CN10
 //
 // LCD / Controller
 //
-#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
+#if IS_RRD_FG_SC
   #define BEEPER_PIN                        PC7  // LCD_BEEPER
   #define BTN_ENC                           PE11  // BTN_ENC
   #define SD_DETECT_PIN                     PD14
diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h
index ffecc03b4a2..2401c976f15 100644
--- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h
+++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD.h
@@ -124,7 +124,7 @@
 //
 // LCD / Controller
 //
-#if BOTH(ULTRA_LCD, NEWPANEL)
+#if IS_ULTRA_LCD && IS_NEWPANEL
 
   #define LCD_PINS_RS                          9  // E1       JP11-11
   #define LCD_PINS_ENABLE                      8  // E0       JP11-10
@@ -166,4 +166,4 @@
 
   #endif
 
-#endif // ULTRA_LCD && NEWPANEL
+#endif // IS_ULTRA_LCD && IS_NEWPANEL
diff --git a/Marlin/src/pins/teensy2/pins_TEENSY2.h b/Marlin/src/pins/teensy2/pins_TEENSY2.h
index 4efd83d9bc5..d43e39b09aa 100644
--- a/Marlin/src/pins/teensy2/pins_TEENSY2.h
+++ b/Marlin/src/pins/teensy2/pins_TEENSY2.h
@@ -168,7 +168,7 @@
 //
 // LCD / Controller
 //
-#if ENABLED(ULTIPANEL)
+#if IS_ULTIPANEL
   #define LCD_PINS_RS                          8  // E0
   #define LCD_PINS_ENABLE                      9  // E1
   #define LCD_PINS_D4                         10  // C0
diff --git a/Marlin/src/pins/teensy2/pins_TEENSYLU.h b/Marlin/src/pins/teensy2/pins_TEENSYLU.h
index 9de119b62b4..54cee137ad2 100644
--- a/Marlin/src/pins/teensy2/pins_TEENSYLU.h
+++ b/Marlin/src/pins/teensy2/pins_TEENSYLU.h
@@ -141,7 +141,7 @@
 //
 // LCD / Controller
 //
-#if BOTH(ULTRA_LCD, NEWPANEL)
+#if IS_ULTRA_LCD && IS_NEWPANEL
 
   #define BEEPER_PIN                          -1
 
@@ -154,7 +154,7 @@
 
   #define SD_DETECT_PIN                       -1
 
-#endif // ULTRA_LCD && NEWPANEL
+#endif // IS_ULTRA_LCD && IS_NEWPANEL
 
 //
 // M3/M4/M5 - Spindle/Laser Control
diff --git a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h
index 2e09c8a425c..b8a0ffe2c80 100644
--- a/Marlin/src/pins/teensy3/pins_TEENSY35_36.h
+++ b/Marlin/src/pins/teensy3/pins_TEENSY35_36.h
@@ -139,13 +139,13 @@
   #define LCD_PINS_D7                         45
 #endif
 
-#if ENABLED(NEWPANEL)
+#if IS_NEWPANEL
   #define BTN_EN1                             46
   #define BTN_EN2                             47
   #define BTN_ENC                             48
 #endif
 
-#if ENABLED(REPRAPWORLD_KEYPAD)
+#if IS_RRW_KEYPAD
   #define SHIFT_OUT                           40
   #define SHIFT_CLK                           44
   #define SHIFT_LD                            42
diff --git a/buildroot/tests/STM32F103VE_longer-tests b/buildroot/tests/STM32F103VE_longer-tests
index 85b22c1284d..8eb9e4cd1b0 100755
--- a/buildroot/tests/STM32F103VE_longer-tests
+++ b/buildroot/tests/STM32F103VE_longer-tests
@@ -7,8 +7,6 @@
 set -e
 
 use_example_configs Alfawise/U20
-opt_set MOTHERBOARD BOARD_LONGER3D_LK
-opt_set SERIAL_PORT 1
 opt_enable BAUD_RATE_GCODE
 exec_test $1 $2 "Full-featured U20 config"
 
diff --git a/buildroot/tests/mks_robin-tests b/buildroot/tests/mks_robin-tests
index d6350622052..42462310709 100644
--- a/buildroot/tests/mks_robin-tests
+++ b/buildroot/tests/mks_robin-tests
@@ -8,9 +8,7 @@
 set -e
 
 use_example_configs Mks/Robin
-opt_disable TFT_320x240
-opt_enable FSMC_GRAPHICAL_TFT
-exec_test $1 $2 "MKS Robin base configuration"
+exec_test $1 $2 "MKS Robin config (FSMC Color UI)"
 
 # cleanup
 restore_configs
diff --git a/buildroot/tests/mks_robin_nano35-tests b/buildroot/tests/mks_robin_nano35-tests
index 92c97be756c..ce98f563b9d 100644
--- a/buildroot/tests/mks_robin_nano35-tests
+++ b/buildroot/tests/mks_robin_nano35-tests
@@ -7,39 +7,50 @@
 # exit on first failure
 set -e
 
+#
+# MKS Robin nano v1.2 Emulated DOGM FSMC
+#
 use_example_configs Mks/Robin
 opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO
-opt_disable TFT_320x240
-opt_enable TOUCH_SCREEN
-opt_enable FSMC_GRAPHICAL_TFT
 exec_test $1 $2 "MKS Robin nano v1.2 Emulated DOGM FSMC"
 
+#
+# MKS Robin v2 nano LVGL SPI
+# (Robin v2 nano has no FSMC interface)
+#
 use_example_configs Mks/Robin
 opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2
-opt_disable TFT_320x240
-opt_enable TOUCH_SCREEN
-opt_enable SPI_GRAPHICAL_TFT
+opt_disable TFT_INTERFACE_FSMC
+opt_enable TFT_INTERFACE_SPI
 exec_test $1 $2 "MKS Robin v2 nano Emulated DOGM SPI"
 
+#
+# MKS Robin nano v1.2 LVGL FSMC
+#
 use_example_configs Mks/Robin
 opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO
-opt_disable TFT_320x240
-opt_disable TOUCH_SCREEN
-opt_enable TFT_LVGL_UI_FSMC
+opt_disable TFT_CLASSIC_UI TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240
+opt_enable TFT_LVGL_UI TFT_RES_480x320
 exec_test $1 $2 "MKS Robin nano v1.2 LVGL FSMC"
 
+#
+# MKS Robin v2 nano LVGL SPI
+# (Robin v2 nano has no FSMC interface)
+#
 use_example_configs Mks/Robin
 opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2
-opt_disable TFT_320x240
-opt_disable TOUCH_SCREEN
-opt_enable TFT_LVGL_UI_SPI
+opt_disable TFT_INTERFACE_FSMC TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240
+opt_enable TFT_INTERFACE_SPI TFT_LVGL_UI TFT_RES_480x320
 exec_test $1 $2 "MKS Robin v2 nano LVGL SPI"
 
+#
+# MKS Robin v2 nano New Color UI 480x320 SPI
+# (Robin v2 nano has no FSMC interface)
+#
 use_example_configs Mks/Robin
 opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2
-opt_disable TFT_320x240
-opt_enable TOUCH_SCREEN
-opt_enable TFT_480x320_SPI
+opt_disable TFT_INTERFACE_FSMC TFT_RES_320x240
+opt_enable TFT_INTERFACE_SPI TFT_RES_480x320
 exec_test $1 $2 "MKS Robin v2 nano New Color UI 480x320 SPI"
 
 # cleanup
diff --git a/buildroot/tests/mks_robin_pro-tests b/buildroot/tests/mks_robin_pro-tests
index 7ae4670feda..50ec7b0dd12 100644
--- a/buildroot/tests/mks_robin_pro-tests
+++ b/buildroot/tests/mks_robin_pro-tests
@@ -13,7 +13,7 @@ opt_set X_DRIVER_TYPE TMC2209
 opt_set Y_DRIVER_TYPE TMC2130
 opt_set TEMP_SENSOR_BED 1
 opt_disable THERMAL_PROTECTION_HOTENDS
-exec_test $1 $2 "MKS Robin Pro with TMC Drivers, hotend thermal protection disabled"
+exec_test $1 $2 "MKS Robin Pro, TMC Drivers, no thermal protection"
 
 # cleanup
-#restore_configs
+restore_configs