From 100d4f6e460cc707936d97de3fbbf797ad1eb8ba Mon Sep 17 00:00:00 2001 From: fauxpark Date: Tue, 4 Jul 2023 12:57:52 +1000 Subject: [PATCH 1/6] Relocate backlight drivers --- builddefs/common_features.mk | 7 ++----- {quantum => drivers}/backlight/backlight_software.c | 2 +- .../avr/drivers/backlight_pwm.c | 5 +++-- .../chibios/drivers/backlight_pwm.c | 6 +++--- .../chibios/drivers}/backlight_timer.c | 3 +-- 5 files changed, 10 insertions(+), 13 deletions(-) rename {quantum => drivers}/backlight/backlight_software.c (98%) rename quantum/backlight/backlight_avr.c => platforms/avr/drivers/backlight_pwm.c (99%) rename quantum/backlight/backlight_chibios.c => platforms/chibios/drivers/backlight_pwm.c (98%) rename {quantum/backlight => platforms/chibios/drivers}/backlight_timer.c (99%) diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index e904d6beb975..3c885f879c9f 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -565,6 +565,7 @@ 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 @@ -573,11 +574,7 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER else SRC += $(QUANTUM_DIR)/backlight/backlight_driver_common.c - ifeq ($(strip $(BACKLIGHT_DRIVER)), pwm) - SRC += $(QUANTUM_DIR)/backlight/backlight_$(PLATFORM_KEY).c - else - SRC += $(QUANTUM_DIR)/backlight/backlight_$(strip $(BACKLIGHT_DRIVER)).c - endif + SRC += backlight_$(strip $(BACKLIGHT_DRIVER)).c endif endif diff --git a/quantum/backlight/backlight_software.c b/drivers/backlight/backlight_software.c similarity index 98% rename from quantum/backlight/backlight_software.c rename to drivers/backlight/backlight_software.c index 27ccbd2c9ff9..f2af3e918e55 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/quantum/backlight/backlight_avr.c b/platforms/avr/drivers/backlight_pwm.c similarity index 99% rename from quantum/backlight/backlight_avr.c rename to platforms/avr/drivers/backlight_pwm.c index 474e0a86f5e0..ede8ec6047f7 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 +#include // Maximum duty cycle limit #ifndef BACKLIGHT_LIMIT_VAL diff --git a/quantum/backlight/backlight_chibios.c b/platforms/chibios/drivers/backlight_pwm.c similarity index 98% rename from quantum/backlight/backlight_chibios.c rename to platforms/chibios/drivers/backlight_pwm.c index 30e95bd5c80d..01e6f71307a4 100644 --- a/quantum/backlight/backlight_chibios.c +++ b/platforms/chibios/drivers/backlight_pwm.c @@ -1,7 +1,7 @@ -#include "quantum.h" #include "backlight.h" +#include "gpio.h" +#include "wait.h" #include -#include "debug.h" // Maximum duty cycle limit #ifndef BACKLIGHT_LIMIT_VAL @@ -13,7 +13,7 @@ # define BACKLIGHT_PAL_MODE PAL_MODE_ALTERNATE_PUSHPULL # else // GPIOV2 && GPIOV3 -# define BACKLIGHT_PAL_MODE 5 +# define BACKLIGHT_PAL_MODE 2 # endif #endif diff --git a/quantum/backlight/backlight_timer.c b/platforms/chibios/drivers/backlight_timer.c similarity index 99% rename from quantum/backlight/backlight_timer.c rename to platforms/chibios/drivers/backlight_timer.c index 82fb6a6a83e7..0fabee93b1c8 100644 --- a/quantum/backlight/backlight_timer.c +++ b/platforms/chibios/drivers/backlight_timer.c @@ -1,7 +1,6 @@ -#include "quantum.h" #include "backlight.h" #include "backlight_driver_common.h" -#include "debug.h" +#include "wait.h" #ifndef BACKLIGHT_GPT_DRIVER # define BACKLIGHT_GPT_DRIVER GPTD15 From a4757bb8cde52a6891d72d46cba9d13e9374845a Mon Sep 17 00:00:00 2001 From: fauxpark Date: Tue, 4 Jul 2023 14:59:48 +1000 Subject: [PATCH 2/6] Remove default/incorrect config from keyboards --- .../4pplet/eagle_viper_rep/rev_a/config.h | 1 - keyboards/acheron/athena/alpha/config.h | 1 - keyboards/acheron/athena/beta/config.h | 2 -- keyboards/acheron/shark/alpha/config.h | 1 - keyboards/acheron/shark/beta/config.h | 1 - keyboards/checkerboards/nop60/config.h | 2 -- keyboards/ebastler/e80_1800/config.h | 2 -- keyboards/ebastler/isometria_75/rev1/config.h | 1 - keyboards/geonworks/frogmini/fms/config.h | 1 - .../handwired/onekey/blackpill_f401/config.h | 1 - .../onekey/blackpill_f401_tinyuf2/config.h | 1 - .../handwired/onekey/blackpill_f411/config.h | 1 - .../onekey/blackpill_f411_tinyuf2/config.h | 1 - .../handwired/onekey/evb_wb32f3g71/config.h | 5 ----- .../handwired/onekey/evb_wb32fq95/config.h | 5 ----- .../handwired/onekey/nucleo_f446re/config.h | 5 ----- .../handwired/onekey/nucleo_l432kc/config.h | 5 ----- keyboards/handwired/onekey/proton_c/config.h | 5 ----- keyboards/handwired/onekey/rp2040/config.h | 1 - .../handwired/onekey/stm32f0_disco/config.h | 2 -- keyboards/handwired/pill60/config.h | 19 ----------------- keyboards/linworks/fave104/config.h | 1 - keyboards/linworks/whale75/config.h | 1 - .../adelais/standard_led/arm/config.h | 1 - keyboards/mechlovin/hannah65/config.h | 21 ------------------- keyboards/mechlovin/hex4b/rev2/config.h | 20 ------------------ keyboards/mechlovin/hex6c/config.h | 1 - keyboards/mechlovin/infinity87/rev1/config.h | 1 - keyboards/mechlovin/infinity88/config.h | 1 - keyboards/mechlovin/mechlovin9/rev1/config.h | 21 ------------------- keyboards/mechlovin/tmkl/config.h | 3 --- keyboards/mode/m75s/config.h | 1 - keyboards/smithrune/iron165r2/f411/config.h | 1 - 33 files changed, 136 deletions(-) delete mode 100644 keyboards/handwired/pill60/config.h delete mode 100644 keyboards/mechlovin/hannah65/config.h delete mode 100644 keyboards/mechlovin/hex4b/rev2/config.h delete mode 100644 keyboards/mechlovin/mechlovin9/rev1/config.h diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/config.h b/keyboards/4pplet/eagle_viper_rep/rev_a/config.h index ddd59434a416..1cc2d50f1619 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 . #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/config.h b/keyboards/acheron/athena/alpha/config.h index 1bb03e3783d9..0466710e7169 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 . #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 77985b2ae54f..618cebef0cb4 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 . #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 91f51146f0b4..a34ea41cffb2 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 . #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 25ad6b3bf02e..d4616132e388 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 . #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 cf5b1ff9061d..5cb854aebcd2 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 b0726f908a79..baa707317687 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 29a2ac527d1c..18f4f1f4d6c1 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 . /* 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 6576ee9efe93..ddeaa2abff0b 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 . #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 6183ee981971..22143dfac515 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 6183ee981971..22143dfac515 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 6183ee981971..22143dfac515 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 6183ee981971..22143dfac515 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 4a65e9a72fe9..5f6f04f7b413 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 4a65e9a72fe9..5f6f04f7b413 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 c6c04ed61544..4401623e85ca 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 d344a110942e..03e017892c73 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 49376e474e27..07ce9292211d 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 5cbfb8dbffc1..0563ebfa5f1f 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 806eb69df4e3..b8880f65813a 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 399d0f2212cb..000000000000 --- 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 . - */ -#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 73e72a129f8d..41c1a917f39e 100644 --- a/keyboards/linworks/fave104/config.h +++ b/keyboards/linworks/fave104/config.h @@ -19,5 +19,4 @@ along with this program. If not, see . #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 d12d33bdfd38..3aa16f3eb0be 100644 --- a/keyboards/linworks/whale75/config.h +++ b/keyboards/linworks/whale75/config.h @@ -15,7 +15,6 @@ along with this program. If not, see . #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 d7169c044347..68857621b70c 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 . #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 1686c861fb19..000000000000 --- 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 . -*/ - -#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 14dfffbed3a6..000000000000 --- 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 . -*/ - -#pragma once - -#define BACKLIGHT_PWM_DRIVER PWMD4 diff --git a/keyboards/mechlovin/hex6c/config.h b/keyboards/mechlovin/hex6c/config.h index 48bf7175814d..4cfcaebcdef3 100644 --- a/keyboards/mechlovin/hex6c/config.h +++ b/keyboards/mechlovin/hex6c/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #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 2265fff2d122..e21e5d019f7f 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 9f5eaf5d875f..5d7b823cd44f 100644 --- a/keyboards/mechlovin/infinity88/config.h +++ b/keyboards/mechlovin/infinity88/config.h @@ -18,7 +18,6 @@ along with this program. If not, see . #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 3686536dfb5a..000000000000 --- 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 . -*/ - -#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 e604c6bcfad3..03e3beacd0f3 100644 --- a/keyboards/mechlovin/tmkl/config.h +++ b/keyboards/mechlovin/tmkl/config.h @@ -17,8 +17,5 @@ along with this program. If not, see . #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 c17bf51b35cd..7fdb18d26ab9 100644 --- a/keyboards/mode/m75s/config.h +++ b/keyboards/mode/m75s/config.h @@ -20,7 +20,6 @@ along with this program. If not, see . #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 5ce500d1e592..1cd8a5c1503c 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 . #define BACKLIGHT_PWM_DRIVER PWMD3 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 2 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD From bc3049307ce42c3cb6a9d437bc7642a92b8a3765 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Tue, 4 Jul 2023 15:30:16 +1000 Subject: [PATCH 3/6] Remove more quantum.h includes --- quantum/backlight/backlight.c | 1 - quantum/backlight/backlight_driver_common.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/quantum/backlight/backlight.c b/quantum/backlight/backlight.c index 52ec086bb093..9d9f944f5db4 100644 --- a/quantum/backlight/backlight.c +++ b/quantum/backlight/backlight.c @@ -15,7 +15,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "quantum.h" #include "backlight.h" #include "eeprom.h" #include "eeconfig.h" diff --git a/quantum/backlight/backlight_driver_common.c b/quantum/backlight/backlight_driver_common.c index 1eb8969084e8..89b0df548287 100644 --- a/quantum/backlight/backlight_driver_common.c +++ b/quantum/backlight/backlight_driver_common.c @@ -1,6 +1,6 @@ -#include "quantum.h" #include "backlight.h" #include "backlight_driver_common.h" +#include "gpio.h" #if !defined(BACKLIGHT_PIN) && !defined(BACKLIGHT_PINS) # error "Backlight pin/pins not defined. Please configure." From d9ded17618f69049e40651e97b916ed55d78d776 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Wed, 5 Jul 2023 11:03:59 +1000 Subject: [PATCH 4/6] Remove useless defines; improve driver selection --- builddefs/common_features.mk | 11 +++++++---- platforms/avr/drivers/backlight_pwm.c | 11 ----------- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 3c885f879c9f..5687201d61c0 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -570,11 +570,14 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) 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 - SRC += backlight_$(strip $(BACKLIGHT_DRIVER)).c + + ifeq ($(strip $(BACKLIGHT_DRIVER)), software) + SRC += $(DRIVER_PATH)/backlight/backlight_software.c + else + SRC += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/backlight_$(strip $(BACKLIGHT_DRIVER)).c + endif endif endif diff --git a/platforms/avr/drivers/backlight_pwm.c b/platforms/avr/drivers/backlight_pwm.c index ede8ec6047f7..d2341156410a 100644 --- a/platforms/avr/drivers/backlight_pwm.c +++ b/platforms/avr/drivers/backlight_pwm.c @@ -18,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 @@ -40,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 @@ -70,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) -# define HARDWARE_PWM # define ICRx ICR1 # define TCCRxA TCCR1A # define TCCRxB TCCR1B @@ -92,7 +89,6 @@ # define OCRxx OCR1A # endif #elif defined(__AVR_ATmega32A__) && (BACKLIGHT_PIN == D4 || BACKLIGHT_PIN == D5) -# define HARDWARE_PWM # define ICRx ICR1 # define TCCRxA TCCR1A # define TCCRxB TCCR1B @@ -110,7 +106,6 @@ # define OCRxx OCR1A # endif #elif (defined(__AVR_ATmega328P__) || defined(__AVR_ATmega328__)) && (BACKLIGHT_PIN == B1 || BACKLIGHT_PIN == B2) -# define HARDWARE_PWM # define ICRx ICR1 # define TCCRxA TCCR1A # define TCCRxB TCCR1B @@ -130,7 +125,6 @@ #elif (AUDIO_PIN != B5) && (AUDIO_PIN != B6) && (AUDIO_PIN != B7) && (AUDIO_PIN_ALT != B5) && (AUDIO_PIN_ALT != B6) && (AUDIO_PIN_ALT != B7) // Timer 1 is not in use by Audio feature, Backlight can use it # pragma message "Using hardware timer 1 with software PWM" -# define HARDWARE_PWM # define BACKLIGHT_PWM_TIMER # define ICRx ICR1 # define TCCRxA TCCR1A @@ -149,7 +143,6 @@ #elif (AUDIO_PIN != C4) && (AUDIO_PIN != C5) && (AUDIO_PIN != C6) # pragma message "Using hardware timer 3 with software PWM" // Timer 3 is not in use by Audio feature, Backlight can use it -# define HARDWARE_PWM # define BACKLIGHT_PWM_TIMER # define ICRx ICR1 # define TCCRxA TCCR3A @@ -161,10 +154,6 @@ # define OCIExA OCIE3A # define OCRxx OCR3A -#elif defined(BACKLIGHT_CUSTOM_DRIVER) -error("Please set 'BACKLIGHT_DRIVER = custom' within rules.mk") -#else -error("Please set 'BACKLIGHT_DRIVER = software' within rules.mk") #endif #ifndef BACKLIGHT_PWM_TIMER // pwm through software From 8a378210d91203cbb61518a81b714dabf90f7c72 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Fri, 7 Jul 2023 21:27:49 +1000 Subject: [PATCH 5/6] Add missing include for ARRAY_SIZE --- quantum/backlight/backlight_driver_common.c | 1 + 1 file changed, 1 insertion(+) diff --git a/quantum/backlight/backlight_driver_common.c b/quantum/backlight/backlight_driver_common.c index 89b0df548287..8c3fe461d7ca 100644 --- a/quantum/backlight/backlight_driver_common.c +++ b/quantum/backlight/backlight_driver_common.c @@ -1,6 +1,7 @@ #include "backlight.h" #include "backlight_driver_common.h" #include "gpio.h" +#include "util.h" #if !defined(BACKLIGHT_PIN) && !defined(BACKLIGHT_PINS) # error "Backlight pin/pins not defined. Please configure." From f043a9fd6098811425cd610d498c852dec667e09 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Fri, 7 Jul 2023 23:16:51 +1000 Subject: [PATCH 6/6] Fix athena build failure --- keyboards/acheron/athena/alpha/alpha.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/acheron/athena/alpha/alpha.c b/keyboards/acheron/athena/alpha/alpha.c index 5b5c45b7c7a5..9e4f82f7ad19 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) {