diff --git a/keyboards/dp60/config.h b/keyboards/dp60/config.h
index c2aa3152914..37fddf45fe0 100644
--- a/keyboards/dp60/config.h
+++ b/keyboards/dp60/config.h
@@ -18,8 +18,7 @@
 
 /* key matrix size */
 #define MATRIX_ROWS 5
-#define MATRIX_COLS 15
-#define DIODE_DIRECTION COL2ROW
+#define MATRIX_COLS 14
 
 /*
  * Feature disable options
@@ -35,5 +34,3 @@
 //rgb matrix setting
 #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
 #define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_VCC
-
-#define RGB_MATRIX_LED_COUNT 72
diff --git a/keyboards/dp60/dp60.c b/keyboards/dp60/dp60.c
index 349e5cea9b3..4540758b7e0 100644
--- a/keyboards/dp60/dp60.c
+++ b/keyboards/dp60/dp60.c
@@ -24,135 +24,83 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
  *   |  |       G location
  *   |  |       |       B location
  *   |  |       |       | */
-// left CA
-    {0, C1_1,   C3_2,   C4_2},
-    {0, C1_2,   C2_2,   C4_3},
-    {0, C1_3,   C2_3,   C3_3},
-    {0, C1_4,   C2_4,   C3_4},
-    {0, C1_5,   C2_5,   C3_5},
-    {0, C1_6,   C2_6,   C3_6},
-    {0, C1_7,   C2_7,   C3_7},
-    {0, C1_8,   C2_8,   C3_8},
+    {0, C1_9,   C3_10,  C4_10}, // RGB101
+    {0, C1_10,  C2_10,  C4_11}, // RGB102
+    {0, C1_11,  C2_11,  C3_11}, // RGB103
+    {0, C1_12,  C2_12,  C3_12}, // RGB104
+    {0, C1_13,  C2_13,  C3_13}, // RGB105
+    {0, C1_14,  C2_14,  C3_14}, // RGB106
+    {0, C1_15,  C2_15,  C3_15}, // RGB107
+    {1, C5_1,   C4_1,   C6_1}, // RGB108
+    {1, C1_1,   C3_2,   C4_2}, // RGB109
+    {1, C1_2,   C2_2,   C4_3}, // RGB1010
+    {1, C1_3,   C2_3,   C3_3}, // RGB1011
+    {1, C1_4,   C2_4,   C3_4}, // RGB1012
+    {1, C1_5,   C2_5,   C3_5}, // RGB1013
+    {1, C1_6,   C2_6,   C3_6}, // RGB1014
+    {1, C1_7,   C2_7,   C3_7}, // RGB1015-2
+    {1, C1_8,   C2_8,   C3_8}, // RGB1015
 
-    {0, C5_1,   C4_1,   C6_1},
-    {0, C5_8,   C4_8,   C6_8},
+    {0, C5_9,   C4_9,   C6_9}, // RGB201
+    {0, C5_16,  C4_16,  C6_16}, // RGB202
+    {0, C9_9,   C8_9,   C7_9}, // RGB203
+    {0, C9_10,  C8_10,  C7_10}, // RGB204
+    {0, C9_11,  C8_11,  C7_11}, // RGB205
+    {0, C9_12,  C8_12,  C7_12}, // RGB206
+    {0, C1_16,  C2_16,  C3_16}, // RGB207
+    {1, C5_8,   C4_8,   C6_8}, // RGB208
+    {1, C9_1,   C8_1,   C7_1}, // RGB209
+    {1, C9_2,   C8_2,   C7_2}, // RGB2010
+    {1, C9_3,   C8_3,   C7_3}, // RGB2011
+    {1, C9_4,   C8_4,   C7_4}, // RGB2012
+    {1, C9_5,   C8_5,   C7_5}, // RGB2013
+    {1, C9_6,   C8_6,   C7_6}, // RGB2014
 
-    {0, C9_1,   C8_1,   C7_1},
-    {0, C9_2,   C8_2,   C7_2},
-    {0, C9_3,   C8_3,   C7_3},
-    {0, C9_4,   C8_4,   C7_4},
-    {0, C9_5,   C8_5,   C7_5},
-    {0, C9_6,   C8_6,   C7_6},
-    {0, C9_7,   C8_7,   C6_6},
-    {0, C9_8,   C7_7,   C6_7},
-// left CB
-    {0, C1_9,   C3_10,  C4_10},
-    {0, C1_10,  C2_10,  C4_11},
-    {0, C1_11,  C2_11,  C3_11},
-    {0, C1_12,  C2_12,  C3_12},
-    {0, C1_13,  C2_13,  C3_13},
-    {0, C1_14,  C2_14,  C3_14},
-    {0, C1_15,  C2_15,  C3_15},
-    {0, C1_16,  C2_16,  C3_16},
+    {0, C5_1,   C4_1,   C6_1}, // RGB301
+    {0, C5_8,   C4_8,   C6_8}, // RGB302
+    {0, C1_1,   C3_2,   C4_2}, // RGB303
+    {0, C9_13,  C8_13,  C7_13}, // RGB304
+    {0, C9_14,  C8_14,  C7_14}, // RGB305
+    {0, C9_15,  C8_15,  C6_14}, // RGB306
+    {0, C9_16,  C7_15,  C6_15}, // RGB307
+    {1, C1_9,   C3_10,  C4_10}, // RGB308
+    {1, C1_10,  C2_10,  C4_11}, // RGB309
+    {1, C1_11,  C2_11,  C3_11}, // RGB3010
+    {1, C1_12,  C2_12,  C3_12}, // RGB3011
+    {1, C1_13,  C2_13,  C3_13}, // RGB3012
+    {1, C1_14,  C2_14,  C3_14}, // RGB3014
+    {1, C9_7,   C8_7,   C6_6}, // RGB3013-2
+    {1, C9_8,   C7_7,   C6_7}, // RGB3013
 
-    {0, C5_9,   C4_9,   C6_9},
-    {0, C5_16,  C4_16,  C6_16},
+    {0, C9_1,   C8_1,   C7_1}, // RGB401-2
+    {0, C9_2,   C8_2,   C7_2}, // RGB401
+    {0, C9_3,   C8_3,   C7_3}, // RGB4014
+    {0, C9_4,   C8_4,   C7_4}, // RGB402
+    {0, C1_2,   C2_2,   C4_3}, // RGB403
+    {0, C1_3,   C2_3,   C3_3}, // RGB404
+    {0, C1_4,   C2_4,   C3_4}, // RGB405
+    {0, C1_5,   C2_5,   C3_5}, // RGB406
+    {0, C1_6,   C2_6,   C3_6}, // RGB407
+    {1, C5_9,   C4_9,   C6_9}, // RGB408
+    {1, C5_16,  C4_16,  C6_16}, // RGB409
+    {1, C9_9,   C8_9,   C7_9}, // RGB4010
+    {1, C9_10,  C8_10,  C7_10}, // RGB4011
+    {1, C9_11,  C8_11,  C7_11}, // RGB4012
+    {1, C1_15,  C2_15,  C3_15}, // RGB4012-2
+    {1, C1_16,  C2_16,  C3_16}, // RGB4013
 
-    {0, C9_9,   C8_9,   C7_9},
-    {0, C9_10,  C8_10,  C7_10},
-    {0, C9_11,  C8_11,  C7_11},
-    {0, C9_12,  C8_12,  C7_12},
-    {0, C9_13,  C8_13,  C7_13},
-    {0, C9_14,  C8_14,  C7_14},
-    {0, C9_15,  C8_15,  C6_14},
-    {0, C9_16,  C7_15,  C6_15},
-
-// right CA
-    {1, C1_1,   C3_2,   C4_2},
-    {1, C1_2,   C2_2,   C4_3},
-    {1, C1_3,   C2_3,   C3_3},
-    {1, C1_4,   C2_4,   C3_4},
-    {1, C1_5,   C2_5,   C3_5},
-    {1, C1_6,   C2_6,   C3_6},
-    {1, C1_7,   C2_7,   C3_7},
-    {1, C1_8,   C2_8,   C3_8},
-
-    {1, C5_1,   C4_1,   C6_1},
-    {1, C5_8,   C4_8,   C6_8},
-
-    {1, C9_1,   C8_1,   C7_1},
-    {1, C9_2,   C8_2,   C7_2},
-    {1, C9_3,   C8_3,   C7_3},
-    {1, C9_4,   C8_4,   C7_4},
-    {1, C9_5,   C8_5,   C7_5},
-    {1, C9_6,   C8_6,   C7_6},
-    {1, C9_7,   C8_7,   C6_6},
-    {1, C9_8,   C7_7,   C6_7},
-// right CB
-    {1, C1_9,   C3_10,  C4_10},
-    {1, C1_10,  C2_10,  C4_11},
-    {1, C1_11,  C2_11,  C3_11},
-    {1, C1_12,  C2_12,  C3_12},
-    {1, C1_13,  C2_13,  C3_13},
-    {1, C1_14,  C2_14,  C3_14},
-    {1, C1_15,  C2_15,  C3_15},
-    {1, C1_16,  C2_16,  C3_16},
-
-    {1, C5_9,   C4_9,   C6_9},
-    {1, C5_16,  C4_16,  C6_16},
-
-    {1, C9_9,   C8_9,   C7_9},
-    {1, C9_10,  C8_10,  C7_10},
-    {1, C9_11,  C8_11,  C7_11},
-    {1, C9_12,  C8_12,  C7_12},
-    {1, C9_13,  C8_13,  C7_13},
-    {1, C9_14,  C8_14,  C7_14},
-    {1, C9_15,  C8_15,  C6_14},
-    {1, C9_16,  C7_15,  C6_15},
+    {0, C9_8,   C7_7,   C6_7}, // RGB501
+    {0, C9_7,   C8_7,   C6_6}, // RGB502
+    {0, C9_6,   C8_6,   C7_6}, // RGB503
+    {0, C9_5,   C8_5,   C7_5}, // RGBSP1
+    {0, C1_8,   C2_8,   C3_8}, // RGB506-2
+    {0, C1_7,   C2_7,   C3_7}, // RGB506-3
+    {1, C9_12,  C8_12,  C7_12}, // RGBSP2
+    {1, C9_13,  C8_13,  C7_13}, // RGB507
+    {1, C9_14,  C8_14,  C7_14}, // RGB508
+    {1, C9_15,  C8_15,  C6_14}, // RGB509
+    {1, C9_16,  C7_15,  C6_15}  // RGB5010
 };
-
-led_config_t g_led_config = {
-    {
-        {  0,  1,      2,      3,      4,      5,   6,  36,     37,     38,      39,   40,   41, 42},
-        {  8,  9,     10,     11,     12,     13,   7,  45,     46,     47,      48,   49,   50, 51},
-        {  26,27,     18,     14,     15,     16,  17,  54,     55,     56,      57,   58,   59, 53},
-        {  29,30,     31,     19,     20,     21,  22,  23,     62,     63,      64,   65,   66, 61},
-        {  35,34,     33, NO_LED, NO_LED, NO_LED,  24,  44, NO_LED, NO_LED,      68,   69,   70, 71},
-    },
-    {
-        { 32, 32},{ 48, 48},{ 64, 48},{ 80, 48},{ 96, 48},{112, 48},{ 96, 64},{ 96, 64},
-        {  0, 32},{ 16, 32},
-        {  0, 48},{  0, 48},{ 16, 48},{ 32, 48},{ 64, 64},{ 32, 64},{ 16, 64},{  0, 64},
-        {  0,  0},{ 16,  0},{ 32,  0},{ 48,  0},{ 64,  0},{ 80,  0},{ 96,  0},{ 96, 16},
-        { 0,  16},{ 16, 16},
-        { 32, 16},{ 48, 16},{ 64, 16},{ 80, 16},{ 48, 32},{ 64, 32},{ 80, 32},{ 96, 32},
-
-        {128,  0},{144,  0},{160,  0},{176,  0},{192,  0},{208,  0},{216,  0},{224,  0},
-        {112,  0},{128, 16},
-        {144, 16},{160, 16},{176, 16},{192, 16},{208, 16},{224, 16},{224, 32},{216, 32},
-        {128, 32},{144, 32},{160, 32},{176, 32},{192, 32},{208, 32},{208, 48},{224, 48},
-        {128, 48},{144, 48},
-        {160, 48},{176, 48},{192, 48},{142, 64},{160, 64},{176, 64},{208, 64},{224, 64}
-    },
-    {
-        4, 4, 4, 4, 4, 4, 4, 4,
-        1, 4,
-        4, 4, 1, 1, 1, 4, 4, 4,
-
-        1, 4, 4, 4, 4, 4, 4, 4,
-        1, 4,
-        4, 4, 4, 4, 4, 4, 4, 4,
-
-        4, 4, 4, 4, 4, 4, 1, 1,
-        4, 4,
-        4, 4, 4, 4, 4, 1, 1, 1,
-
-        4, 4, 4, 4, 4, 4, 4, 1,
-        1, 4,
-        4, 4, 4, 4, 1, 1, 1, 1,
-    }
-};
-
 #endif
 
 #ifdef WEBUSB_ENABLE
diff --git a/keyboards/dp60/keyboard.json b/keyboards/dp60/keyboard.json
index c9b3b6fddef..9780141ceab 100644
--- a/keyboards/dp60/keyboard.json
+++ b/keyboards/dp60/keyboard.json
@@ -60,7 +60,85 @@
             "pixel_flow": true,
             "pixel_fractal": true
         },
-        "driver": "is31fl3731"
+        "driver": "is31fl3731",
+        "layout": [
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+            {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
+            {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
+            {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
+            {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4},
+            {"matrix": [4, 7], "x": 112, "y": 0, "flags": 4},
+            {"matrix": [0, 7], "x": 128, "y": 0, "flags": 4},
+            {"matrix": [0, 8], "x": 144, "y": 0, "flags": 4},
+            {"matrix": [0, 9], "x": 160, "y": 0, "flags": 4},
+            {"matrix": [0, 10], "x": 176, "y": 0, "flags": 4},
+            {"matrix": [0, 11], "x": 192, "y": 0, "flags": 4},
+            {"matrix": [0, 12], "x": 208, "y": 0, "flags": 1},
+            {"x": 216, "y": 0, "flags": 1},
+            {"matrix": [0, 13], "x": 224, "y": 0, "flags": 1},
+
+            {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1},
+            {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4},
+            {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4},
+            {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4},
+            {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4},
+            {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4},
+            {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4},
+            {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4},
+            {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4},
+            {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4},
+            {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4},
+            {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4},
+            {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4},
+            {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1},
+
+            {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1},
+            {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4},
+            {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4},
+            {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4},
+            {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4},
+            {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4},
+            {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4},
+            {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4},
+            {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4},
+            {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4},
+            {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4},
+            {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4},
+            {"matrix": [2, 12], "x": 204, "y": 32, "flags": 4},
+            {"x": 222, "y": 24, "flags": 1},
+            {"matrix": [2, 13], "x": 214, "y": 32, "flags": 1},
+
+            {"matrix": [3, 0], "x": 2, "y": 48, "flags": 1},
+            {"x": 10, "y": 48, "flags": 1},
+            {"matrix": [3, 1], "x": 20, "y": 48, "flags": 4},
+            {"matrix": [3, 2], "x": 36, "y": 48, "flags": 4},
+            {"matrix": [3, 3], "x": 52, "y": 48, "flags": 4},
+            {"matrix": [3, 4], "x": 68, "y": 48, "flags": 4},
+            {"matrix": [3, 5], "x": 84, "y": 48, "flags": 4},
+            {"matrix": [3, 6], "x": 100, "y": 48, "flags": 4},
+            {"matrix": [3, 7], "x": 116, "y": 48, "flags": 4},
+            {"matrix": [3, 8], "x": 132, "y": 48, "flags": 4},
+            {"matrix": [3, 9], "x": 148, "y": 48, "flags": 4},
+            {"matrix": [3, 10], "x": 164, "y": 48, "flags": 4},
+            {"matrix": [3, 11], "x": 180, "y": 48, "flags": 4},
+            {"matrix": [3, 12], "x": 202, "y": 48, "flags": 1},
+            {"x": 210, "y": 48, "flags": 1},
+            {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1},
+
+            {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
+            {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1},
+            {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1},
+            {"x": 60, "y": 64, "flags": 2},
+            {"matrix": [4, 6], "x": 102, "y": 64, "flags": 4},
+            {"x": 112, "y": 64, "flags": 4},
+            {"x": 144, "y": 64, "flags": 2},
+            {"matrix": [4, 10], "x": 162, "y": 64, "flags": 1},
+            {"matrix": [4, 11], "x": 182, "y": 64, "flags": 1},
+            {"matrix": [4, 12], "x": 202, "y": 64, "flags": 1},
+            {"matrix": [4, 13], "x": 222, "y": 64, "flags": 1}
+        ]
     },
     "processor": "atmega32u4",
     "bootloader": "atmel-dfu",