summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--builddefs/common_features.mk12
-rw-r--r--drivers/backlight/backlight_software.c (renamed from quantum/backlight/backlight_software.c)2
-rw-r--r--keyboards/4pplet/eagle_viper_rep/rev_a/config.h1
-rw-r--r--keyboards/acheron/athena/alpha/alpha.c2
-rw-r--r--keyboards/acheron/athena/alpha/config.h1
-rw-r--r--keyboards/acheron/athena/beta/config.h2
-rw-r--r--keyboards/acheron/shark/alpha/config.h1
-rw-r--r--keyboards/acheron/shark/beta/config.h1
-rw-r--r--keyboards/checkerboards/nop60/config.h2
-rw-r--r--keyboards/ebastler/e80_1800/config.h2
-rw-r--r--keyboards/ebastler/isometria_75/rev1/config.h1
-rw-r--r--keyboards/geonworks/frogmini/fms/config.h1
-rw-r--r--keyboards/handwired/onekey/blackpill_f401/config.h1
-rwxr-xr-xkeyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h1
-rw-r--r--keyboards/handwired/onekey/blackpill_f411/config.h1
-rwxr-xr-xkeyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h1
-rw-r--r--keyboards/handwired/onekey/evb_wb32f3g71/config.h5
-rw-r--r--keyboards/handwired/onekey/evb_wb32fq95/config.h5
-rw-r--r--keyboards/handwired/onekey/nucleo_f446re/config.h5
-rw-r--r--keyboards/handwired/onekey/nucleo_l432kc/config.h5
-rw-r--r--keyboards/handwired/onekey/proton_c/config.h5
-rw-r--r--keyboards/handwired/onekey/rp2040/config.h1
-rw-r--r--keyboards/handwired/onekey/stm32f0_disco/config.h2
-rw-r--r--keyboards/handwired/pill60/config.h19
-rw-r--r--keyboards/linworks/fave104/config.h1
-rw-r--r--keyboards/linworks/whale75/config.h1
-rw-r--r--keyboards/mechlovin/adelais/standard_led/arm/config.h1
-rw-r--r--keyboards/mechlovin/hannah65/config.h21
-rw-r--r--keyboards/mechlovin/hex4b/rev2/config.h20
-rw-r--r--keyboards/mechlovin/hex6c/config.h1
-rw-r--r--keyboards/mechlovin/infinity87/rev1/config.h1
-rw-r--r--keyboards/mechlovin/infinity88/config.h1
-rw-r--r--keyboards/mechlovin/mechlovin9/rev1/config.h21
-rw-r--r--keyboards/mechlovin/tmkl/config.h3
-rw-r--r--keyboards/mode/m75s/config.h1
-rw-r--r--keyboards/smithrune/iron165r2/f411/config.h1
-rw-r--r--platforms/avr/drivers/backlight_pwm.c (renamed from quantum/backlight/backlight_avr.c)16
-rw-r--r--platforms/chibios/drivers/backlight_pwm.c (renamed from quantum/backlight/backlight_chibios.c)6
-rw-r--r--platforms/chibios/drivers/backlight_timer.c (renamed from quantum/backlight/backlight_timer.c)3
-rw-r--r--quantum/backlight/backlight.c1
-rw-r--r--quantum/backlight/backlight_driver_common.c3
41 files changed, 17 insertions, 164 deletions
diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk
index e904d6beb9..5687201d61 100644
--- a/builddefs/common_features.mk
+++ b/builddefs/common_features.mk
@@ -565,18 +565,18 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
endif
COMMON_VPATH += $(QUANTUM_DIR)/backlight
+ COMMON_VPATH += $(DRIVER_PATH)/backlight
SRC += $(QUANTUM_DIR)/backlight/backlight.c
SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c
OPT_DEFS += -DBACKLIGHT_ENABLE
- ifeq ($(strip $(BACKLIGHT_DRIVER)), custom)
- OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER
- else
+ ifneq ($(strip $(BACKLIGHT_DRIVER)), custom)
SRC += $(QUANTUM_DIR)/backlight/backlight_driver_common.c
- ifeq ($(strip $(BACKLIGHT_DRIVER)), pwm)
- SRC += $(QUANTUM_DIR)/backlight/backlight_$(PLATFORM_KEY).c
+
+ ifeq ($(strip $(BACKLIGHT_DRIVER)), software)
+ SRC += $(DRIVER_PATH)/backlight/backlight_software.c
else
- SRC += $(QUANTUM_DIR)/backlight/backlight_$(strip $(BACKLIGHT_DRIVER)).c
+ SRC += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/backlight_$(strip $(BACKLIGHT_DRIVER)).c
endif
endif
endif
diff --git a/quantum/backlight/backlight_software.c b/drivers/backlight/backlight_software.c
index 27ccbd2c9f..f2af3e918e 100644
--- a/quantum/backlight/backlight_software.c
+++ b/drivers/backlight/backlight_software.c
@@ -1,6 +1,6 @@
-#include "quantum.h"
#include "backlight.h"
#include "backlight_driver_common.h"
+#include "util.h"
#ifdef BACKLIGHT_BREATHING
# error "Backlight breathing is not available for software PWM. Please disable."
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
index ddd59434a4..1cc2d50f16 100644
--- a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
+++ b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h
@@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_PWM_DRIVER PWMD2
#define BACKLIGHT_PWM_CHANNEL 4
-#define BACKLIGHT_PAL_MODE 2
/* Underglow */
#define WS2812_SPI SPID1
diff --git a/keyboards/acheron/athena/alpha/alpha.c b/keyboards/acheron/athena/alpha/alpha.c
index 5b5c45b7c7..9e4f82f7ad 100644
--- a/keyboards/acheron/athena/alpha/alpha.c
+++ b/keyboards/acheron/athena/alpha/alpha.c
@@ -23,7 +23,7 @@ void board_init(void) {
void keyboard_post_init_kb(void){
// Defining the backlight pin (A6) as an floating (no pullup or pulldown resistor) opendrain output pin
- palSetLineMode(BACKLIGHT_PIN, PAL_MODE_ALTERNATE(BACKLIGHT_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING);
+ palSetLineMode(BACKLIGHT_PIN, PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING);
}
void led_init_ports(void) {
diff --git a/keyboards/acheron/athena/alpha/config.h b/keyboards/acheron/athena/alpha/config.h
index 1bb03e3783..0466710e71 100644
--- a/keyboards/acheron/athena/alpha/config.h
+++ b/keyboards/acheron/athena/alpha/config.h
@@ -22,7 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 1
-#define BACKLIGHT_PAL_MODE 2
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/acheron/athena/beta/config.h b/keyboards/acheron/athena/beta/config.h
index 77985b2ae5..618cebef0c 100644
--- a/keyboards/acheron/athena/beta/config.h
+++ b/keyboards/acheron/athena/beta/config.h
@@ -21,8 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_RESYNC_ENABLE
#define BACKLIGHT_PWM_DRIVER PWMD3
-#define BACKLIGHT_PWM_CHANNEL 3
-#define BACKLIGHT_PAL_MODE 2
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/acheron/shark/alpha/config.h b/keyboards/acheron/shark/alpha/config.h
index 91f51146f0..a34ea41cff 100644
--- a/keyboards/acheron/shark/alpha/config.h
+++ b/keyboards/acheron/shark/alpha/config.h
@@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define BACKLIGHT_PWM_DRIVER PWMD3
-#define BACKLIGHT_PWM_CHANNEL 3
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/acheron/shark/beta/config.h b/keyboards/acheron/shark/beta/config.h
index 25ad6b3bf0..d4616132e3 100644
--- a/keyboards/acheron/shark/beta/config.h
+++ b/keyboards/acheron/shark/beta/config.h
@@ -22,7 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 1
-#define BACKLIGHT_PAL_MODE 2
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/checkerboards/nop60/config.h b/keyboards/checkerboards/nop60/config.h
index cf5b1ff906..5cb854aebc 100644
--- a/keyboards/checkerboards/nop60/config.h
+++ b/keyboards/checkerboards/nop60/config.h
@@ -17,8 +17,6 @@ Copyright 2021 Nathan Spears
#pragma once
-#define BACKLIGHT_PWM_DRIVER PWMD3
-
// ws2812 options
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/ebastler/e80_1800/config.h b/keyboards/ebastler/e80_1800/config.h
index b0726f908a..baa7073176 100644
--- a/keyboards/ebastler/e80_1800/config.h
+++ b/keyboards/ebastler/e80_1800/config.h
@@ -16,8 +16,6 @@
#define BACKLIGHT_PWM_DRIVER PWMD1
#define BACKLIGHT_PWM_CHANNEL 2
-#define BACKLIGHT_PAL_MODE 2
-
#ifdef OLED_ENABLE
diff --git a/keyboards/ebastler/isometria_75/rev1/config.h b/keyboards/ebastler/isometria_75/rev1/config.h
index 29a2ac527d..18f4f1f4d6 100644
--- a/keyboards/ebastler/isometria_75/rev1/config.h
+++ b/keyboards/ebastler/isometria_75/rev1/config.h
@@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Backlight */
#define BACKLIGHT_PWM_DRIVER PWMD1
#define BACKLIGHT_PWM_CHANNEL 2
-#define BACKLIGHT_PAL_MODE 2
#define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 // Increases backlight PWM freq if compiled with an unmerged PR. Does no harm without it.
/* Underglow */
diff --git a/keyboards/geonworks/frogmini/fms/config.h b/keyboards/geonworks/frogmini/fms/config.h
index 6576ee9efe..ddeaa2abff 100644
--- a/keyboards/geonworks/frogmini/fms/config.h
+++ b/keyboards/geonworks/frogmini/fms/config.h
@@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define BACKLIGHT_PWM_DRIVER PWMD1
-#define BACKLIGHT_PWM_CHANNEL 3
#define BACKLIGHT_PAL_MODE 1
#define I2C_DRIVER I2CD1
diff --git a/keyboards/handwired/onekey/blackpill_f401/config.h b/keyboards/handwired/onekey/blackpill_f401/config.h
index 6183ee9819..22143dfac5 100644
--- a/keyboards/handwired/onekey/blackpill_f401/config.h
+++ b/keyboards/handwired/onekey/blackpill_f401/config.h
@@ -19,7 +19,6 @@
#define BACKLIGHT_PWM_DRIVER PWMD5
#define BACKLIGHT_PWM_CHANNEL 1
-#define BACKLIGHT_PAL_MODE 2
#define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h
index 6183ee9819..22143dfac5 100755
--- a/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h
+++ b/keyboards/handwired/onekey/blackpill_f401_tinyuf2/config.h
@@ -19,7 +19,6 @@
#define BACKLIGHT_PWM_DRIVER PWMD5
#define BACKLIGHT_PWM_CHANNEL 1
-#define BACKLIGHT_PAL_MODE 2
#define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/blackpill_f411/config.h b/keyboards/handwired/onekey/blackpill_f411/config.h
index 6183ee9819..22143dfac5 100644
--- a/keyboards/handwired/onekey/blackpill_f411/config.h
+++ b/keyboards/handwired/onekey/blackpill_f411/config.h
@@ -19,7 +19,6 @@
#define BACKLIGHT_PWM_DRIVER PWMD5
#define BACKLIGHT_PWM_CHANNEL 1
-#define BACKLIGHT_PAL_MODE 2
#define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
index 6183ee9819..22143dfac5 100755
--- a/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
+++ b/keyboards/handwired/onekey/blackpill_f411_tinyuf2/config.h
@@ -19,7 +19,6 @@
#define BACKLIGHT_PWM_DRIVER PWMD5
#define BACKLIGHT_PWM_CHANNEL 1
-#define BACKLIGHT_PAL_MODE 2
#define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/evb_wb32f3g71/config.h b/keyboards/handwired/onekey/evb_wb32f3g71/config.h
index 4a65e9a72f..5f6f04f7b4 100644
--- a/keyboards/handwired/onekey/evb_wb32f3g71/config.h
+++ b/keyboards/handwired/onekey/evb_wb32f3g71/config.h
@@ -3,13 +3,8 @@
#pragma once
-
#define ADC_PIN A0
-#define BACKLIGHT_PWM_DRIVER PWMD4
-#define BACKLIGHT_PWM_CHANNEL 3
-#define BACKLIGHT_PAL_MODE 2
-
#define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4)))
#define SOLENOID_PIN B12
diff --git a/keyboards/handwired/onekey/evb_wb32fq95/config.h b/keyboards/handwired/onekey/evb_wb32fq95/config.h
index 4a65e9a72f..5f6f04f7b4 100644
--- a/keyboards/handwired/onekey/evb_wb32fq95/config.h
+++ b/keyboards/handwired/onekey/evb_wb32fq95/config.h
@@ -3,13 +3,8 @@
#pragma once
-
#define ADC_PIN A0
-#define BACKLIGHT_PWM_DRIVER PWMD4
-#define BACKLIGHT_PWM_CHANNEL 3
-#define BACKLIGHT_PAL_MODE 2
-
#define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4)))
#define SOLENOID_PIN B12
diff --git a/keyboards/handwired/onekey/nucleo_f446re/config.h b/keyboards/handwired/onekey/nucleo_f446re/config.h
index c6c04ed615..4401623e85 100644
--- a/keyboards/handwired/onekey/nucleo_f446re/config.h
+++ b/keyboards/handwired/onekey/nucleo_f446re/config.h
@@ -2,11 +2,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-
-#define BACKLIGHT_PWM_DRIVER PWMD4
-#define BACKLIGHT_PWM_CHANNEL 3
-#define BACKLIGHT_PAL_MODE 2
-
#define ADC_PIN A0
#define SOLENOID_PINS { B12, B13, B14, B15 }
diff --git a/keyboards/handwired/onekey/nucleo_l432kc/config.h b/keyboards/handwired/onekey/nucleo_l432kc/config.h
index d344a11094..03e017892c 100644
--- a/keyboards/handwired/onekey/nucleo_l432kc/config.h
+++ b/keyboards/handwired/onekey/nucleo_l432kc/config.h
@@ -2,9 +2,4 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-
-#define BACKLIGHT_PWM_DRIVER PWMD4
-#define BACKLIGHT_PWM_CHANNEL 3
-#define BACKLIGHT_PAL_MODE 2
-
#define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/proton_c/config.h b/keyboards/handwired/onekey/proton_c/config.h
index 49376e474e..07ce929221 100644
--- a/keyboards/handwired/onekey/proton_c/config.h
+++ b/keyboards/handwired/onekey/proton_c/config.h
@@ -16,9 +16,4 @@
#pragma once
-
-#define BACKLIGHT_PWM_DRIVER PWMD4
-#define BACKLIGHT_PWM_CHANNEL 3
-#define BACKLIGHT_PAL_MODE 2
-
#define ADC_PIN A0
diff --git a/keyboards/handwired/onekey/rp2040/config.h b/keyboards/handwired/onekey/rp2040/config.h
index 5cbfb8dbff..0563ebfa5f 100644
--- a/keyboards/handwired/onekey/rp2040/config.h
+++ b/keyboards/handwired/onekey/rp2040/config.h
@@ -13,7 +13,6 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
-#define BACKLIGHT_PWM_DRIVER PWMD4
#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B
#define AUDIO_PIN GP16
diff --git a/keyboards/handwired/onekey/stm32f0_disco/config.h b/keyboards/handwired/onekey/stm32f0_disco/config.h
index 806eb69df4..b8880f6581 100644
--- a/keyboards/handwired/onekey/stm32f0_disco/config.h
+++ b/keyboards/handwired/onekey/stm32f0_disco/config.h
@@ -16,9 +16,7 @@
#pragma once
-
#define BACKLIGHT_PWM_DRIVER PWMD3
-#define BACKLIGHT_PWM_CHANNEL 3
#define BACKLIGHT_PAL_MODE 0
#define ADC_PIN A0
diff --git a/keyboards/handwired/pill60/config.h b/keyboards/handwired/pill60/config.h
deleted file mode 100644
index 399d0f2212..0000000000
--- a/keyboards/handwired/pill60/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
- /* Copyright 2020 Imam Rafii
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#pragma once
-
-#define BACKLIGHT_PWM_DRIVER PWMD5
-#define BACKLIGHT_PWM_CHANNEL 1
diff --git a/keyboards/linworks/fave104/config.h b/keyboards/linworks/fave104/config.h
index 73e72a129f..41c1a917f3 100644
--- a/keyboards/linworks/fave104/config.h
+++ b/keyboards/linworks/fave104/config.h
@@ -19,5 +19,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_PWM_DRIVER PWMD2
#define BACKLIGHT_PWM_CHANNEL 2
-#define BACKLIGHT_PAL_MODE 2
#define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 // Increases backlight PWM freq if compiled with an unmerged PR. Does no harm without it.
diff --git a/keyboards/linworks/whale75/config.h b/keyboards/linworks/whale75/config.h
index d12d33bdfd..3aa16f3eb0 100644
--- a/keyboards/linworks/whale75/config.h
+++ b/keyboards/linworks/whale75/config.h
@@ -15,7 +15,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define BACKLIGHT_PWM_DRIVER PWMD1
-#define BACKLIGHT_PWM_CHANNEL 3
#define BACKLIGHT_PAL_MODE 6
#define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000 // Increases backlight PWM freq if compiled with an unmerged PR. Does no harm without it.
diff --git a/keyboards/mechlovin/adelais/standard_led/arm/config.h b/keyboards/mechlovin/adelais/standard_led/arm/config.h
index d7169c0443..68857621b7 100644
--- a/keyboards/mechlovin/adelais/standard_led/arm/config.h
+++ b/keyboards/mechlovin/adelais/standard_led/arm/config.h
@@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define BACKLIGHT_PWM_DRIVER PWMD3
-#define BACKLIGHT_PWM_CHANNEL 3
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/mechlovin/hannah65/config.h b/keyboards/mechlovin/hannah65/config.h
deleted file mode 100644
index 1686c861fb..0000000000
--- a/keyboards/mechlovin/hannah65/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2020 Team Mechlovin
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define BACKLIGHT_PWM_DRIVER PWMD4
-#define BACKLIGHT_PWM_CHANNEL 3
diff --git a/keyboards/mechlovin/hex4b/rev2/config.h b/keyboards/mechlovin/hex4b/rev2/config.h
deleted file mode 100644
index 14dfffbed3..0000000000
--- a/keyboards/mechlovin/hex4b/rev2/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2020 Team Mechlovin
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define BACKLIGHT_PWM_DRIVER PWMD4
diff --git a/keyboards/mechlovin/hex6c/config.h b/keyboards/mechlovin/hex6c/config.h
index 48bf717581..4cfcaebcde 100644
--- a/keyboards/mechlovin/hex6c/config.h
+++ b/keyboards/mechlovin/hex6c/config.h
@@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define BACKLIGHT_PWM_DRIVER PWMD3
-#define BACKLIGHT_PWM_CHANNEL 3
#define WEAR_LEVELING_BACKING_SIZE 4096
#define WEAR_LEVELING_LOGICAL_SIZE 2048
diff --git a/keyboards/mechlovin/infinity87/rev1/config.h b/keyboards/mechlovin/infinity87/rev1/config.h
index 2265fff2d1..e21e5d019f 100644
--- a/keyboards/mechlovin/infinity87/rev1/config.h
+++ b/keyboards/mechlovin/infinity87/rev1/config.h
@@ -17,4 +17,3 @@
#pragma once
#define BACKLIGHT_PWM_DRIVER PWMD3
-#define BACKLIGHT_PWM_CHANNEL 3
diff --git a/keyboards/mechlovin/infinity88/config.h b/keyboards/mechlovin/infinity88/config.h
index 9f5eaf5d87..5d7b823cd4 100644
--- a/keyboards/mechlovin/infinity88/config.h
+++ b/keyboards/mechlovin/infinity88/config.h
@@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define BACKLIGHT_PWM_DRIVER PWMD3
-#define BACKLIGHT_PWM_CHANNEL 3
/*== all animations enable ==*/#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/mechlovin/mechlovin9/rev1/config.h b/keyboards/mechlovin/mechlovin9/rev1/config.h
deleted file mode 100644
index 3686536dfb..0000000000
--- a/keyboards/mechlovin/mechlovin9/rev1/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Mechlovin' Studio
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define BACKLIGHT_PWM_DRIVER PWMD3
-#define BACKLIGHT_PWM_CHANNEL 3
diff --git a/keyboards/mechlovin/tmkl/config.h b/keyboards/mechlovin/tmkl/config.h
index e604c6bcfa..03e3beacd0 100644
--- a/keyboards/mechlovin/tmkl/config.h
+++ b/keyboards/mechlovin/tmkl/config.h
@@ -17,8 +17,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define BACKLIGHT_PWM_DRIVER PWMD3
-#define BACKLIGHT_PWM_CHANNEL 3
-
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/mode/m75s/config.h b/keyboards/mode/m75s/config.h
index c17bf51b35..7fdb18d26a 100644
--- a/keyboards/mode/m75s/config.h
+++ b/keyboards/mode/m75s/config.h
@@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_DEFAULT_LEVEL 20
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 1
-#define BACKLIGHT_PAL_MODE 2
#define WEAR_LEVELING_LOGICAL_SIZE 2048
#define WEAR_LEVELING_BACKING_SIZE 4096
diff --git a/keyboards/smithrune/iron165r2/f411/config.h b/keyboards/smithrune/iron165r2/f411/config.h
index 5ce500d1e5..1cd8a5c150 100644
--- a/keyboards/smithrune/iron165r2/f411/config.h
+++ b/keyboards/smithrune/iron165r2/f411/config.h
@@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 1
-#define BACKLIGHT_PAL_MODE 2
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/quantum/backlight/backlight_avr.c b/platforms/avr/drivers/backlight_pwm.c
index 474e0a86f5..d234115641 100644
--- a/quantum/backlight/backlight_avr.c
+++ b/platforms/avr/drivers/backlight_pwm.c
@@ -1,7 +1,8 @@
-#include "quantum.h"
#include "backlight.h"
#include "backlight_driver_common.h"
-#include "debug.h"
+#include "progmem.h"
+#include <avr/io.h>
+#include <avr/interrupt.h>
// Maximum duty cycle limit
#ifndef BACKLIGHT_LIMIT_VAL
@@ -17,7 +18,6 @@
// 3. Full software PWM, driven by the matrix scan, if both timers are used by Audio.
#if (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) && (BACKLIGHT_PIN == B5 || BACKLIGHT_PIN == B6 || BACKLIGHT_PIN == B7)
-# define HARDWARE_PWM
# define ICRx ICR1
# define TCCRxA TCCR1A
# define TCCRxB TCCR1B
@@ -39,7 +39,6 @@
# define OCRxx OCR1C
# endif
#elif (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__)) && (BACKLIGHT_PIN == C4 || BACKLIGHT_PIN == C5 || BACKLIGHT_PIN == C6)
-# define HARDWARE_PWM
# define ICRx ICR3
# define TCCRxA TCCR3A
# define TCCRxB TCCR3B
@@ -69,7 +68,6 @@
# define OCRxx OCR3A
# endif
#elif (defined(__AVR_AT90USB162__) || defined(__AVR_ATmega16U2__) || defined(__AVR_ATmega32U2__)) && (BACKLIGHT_PIN == B7 || BACKLIGHT_PIN == C5 || BACKLIGHT_PIN == C6)
-# d