Browse Source

Dedupe I2C, SPI, UART driver inclusions (#22253)

pull/22268/head
Ryan 6 months ago
committed by GitHub
parent
commit
c157c19b81
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
130 changed files with 284 additions and 249 deletions
  1. +89
    -96
      builddefs/common_features.mk
  2. +12
    -0
      docs/i2c_driver.md
  3. +12
    -0
      docs/spi_driver.md
  4. +12
    -0
      docs/uart_driver.md
  5. +1
    -1
      keyboards/3w6/rev1/rules.mk
  6. +1
    -1
      keyboards/3w6/rev2/rules.mk
  7. +1
    -1
      keyboards/40percentclub/ut47/rules.mk
  8. +1
    -1
      keyboards/aeboards/satellite/rev1/rules.mk
  9. +0
    -2
      keyboards/anavi/knob1/rules.mk
  10. +0
    -2
      keyboards/anavi/knobs3/rules.mk
  11. +1
    -1
      keyboards/bajjak/rules.mk
  12. +1
    -1
      keyboards/barleycorn_smd/rules.mk
  13. +1
    -1
      keyboards/bioi/g60/rules.mk
  14. +1
    -1
      keyboards/bioi/g60ble/rules.mk
  15. +1
    -1
      keyboards/bioi/morgan65/rules.mk
  16. +1
    -1
      keyboards/centromere/rules.mk
  17. +2
    -1
      keyboards/clueboard/2x1800/2021/rules.mk
  18. +1
    -1
      keyboards/converter/palm_usb/rules.mk
  19. +1
    -1
      keyboards/converter/sun_usb/rules.mk
  20. +2
    -2
      keyboards/dc01/left/rules.mk
  21. +1
    -1
      keyboards/dichotomy/rules.mk
  22. +1
    -1
      keyboards/ergodox_ez/rules.mk
  23. +1
    -1
      keyboards/ergodox_stm32/rules.mk
  24. +1
    -1
      keyboards/fallacy/rules.mk
  25. +1
    -1
      keyboards/fc660c/rules.mk
  26. +1
    -1
      keyboards/fc980c/rules.mk
  27. +1
    -1
      keyboards/ferris/0_1/rules.mk
  28. +1
    -1
      keyboards/ferris/0_2/rules.mk
  29. +1
    -1
      keyboards/frobiac/blackbowl/rules.mk
  30. +2
    -1
      keyboards/gboards/ergotaco/rules.mk
  31. +2
    -1
      keyboards/gboards/georgi/rules.mk
  32. +2
    -1
      keyboards/gboards/gergo/keymaps/colemak/rules.mk
  33. +2
    -1
      keyboards/gboards/gergo/keymaps/default/rules.mk
  34. +2
    -1
      keyboards/gboards/gergo/keymaps/germ/rules.mk
  35. +2
    -1
      keyboards/gboards/gergo/keymaps/gotham/rules.mk
  36. +1
    -1
      keyboards/gboards/gergo/rules.mk
  37. +1
    -1
      keyboards/gboards/gergoplex/rules.mk
  38. +1
    -1
      keyboards/geistmaschine/macropod/rules.mk
  39. +1
    -1
      keyboards/glenpickle/chimera_ergo/rules.mk
  40. +1
    -1
      keyboards/glenpickle/chimera_ls/rules.mk
  41. +1
    -1
      keyboards/glenpickle/chimera_ortho/rules.mk
  42. +1
    -1
      keyboards/glenpickle/chimera_ortho_plus/rules.mk
  43. +1
    -1
      keyboards/handwired/dactyl/rules.mk
  44. +1
    -1
      keyboards/handwired/dqz11n1g/rules.mk
  45. +1
    -1
      keyboards/handwired/dygma/raise/rules.mk
  46. +2
    -2
      keyboards/handwired/frenchdev/rules.mk
  47. +2
    -1
      keyboards/handwired/lagrange/rules.mk
  48. +0
    -2
      keyboards/handwired/onekey/kb2040/rules.mk
  49. +1
    -1
      keyboards/handwired/onekey/keymaps/i2c_scanner/rules.mk
  50. +1
    -1
      keyboards/handwired/pterodactyl/rules.mk
  51. +1
    -1
      keyboards/hazel/bad_wings/rules.mk
  52. +1
    -1
      keyboards/hotdox/rules.mk
  53. +2
    -2
      keyboards/hs60/v2/ansi/rules.mk
  54. +2
    -2
      keyboards/hs60/v2/hhkb/rules.mk
  55. +2
    -2
      keyboards/hs60/v2/iso/rules.mk
  56. +2
    -2
      keyboards/ibm/model_m/mschwingen/rules.mk
  57. +1
    -1
      keyboards/ingrained/rules.mk
  58. +1
    -1
      keyboards/kagizaraya/chidori/rules.mk
  59. +1
    -1
      keyboards/keebwerk/mega/ansi/rules.mk
  60. +1
    -1
      keyboards/keyboardio/model01/rules.mk
  61. +1
    -1
      keyboards/keyhive/honeycomb/rules.mk
  62. +1
    -1
      keyboards/kprepublic/bm60hsrgb/rev2/rules.mk
  63. +1
    -1
      keyboards/kprepublic/bm60hsrgb_iso/rev2/rules.mk
  64. +1
    -1
      keyboards/kprepublic/bm60hsrgb_poker/rev2/rules.mk
  65. +1
    -1
      keyboards/ktec/ergodone/rules.mk
  66. +1
    -1
      keyboards/matrix/abelx/rules.mk
  67. +1
    -1
      keyboards/matrix/m20add/rules.mk
  68. +1
    -1
      keyboards/mechwild/sugarglider/rules.mk
  69. +1
    -1
      keyboards/mitosis/rules.mk
  70. +1
    -1
      keyboards/molecule/rules.mk
  71. +1
    -1
      keyboards/moon/rules.mk
  72. +1
    -1
      keyboards/moonlander/rules.mk
  73. +1
    -1
      keyboards/mt/split75/rules.mk
  74. +2
    -1
      keyboards/neson_design/700e/rules.mk
  75. +2
    -1
      keyboards/neson_design/n6/rules.mk
  76. +2
    -2
      keyboards/novelkeys/nk65/rules.mk
  77. +2
    -2
      keyboards/novelkeys/nk87/rules.mk
  78. +1
    -1
      keyboards/nullbitsco/nibble/rules.mk
  79. +2
    -2
      keyboards/nullbitsco/snap/rules.mk
  80. +2
    -2
      keyboards/nullbitsco/tidbit/rules.mk
  81. +1
    -1
      keyboards/oddforge/vea/rules.mk
  82. +0
    -1
      keyboards/phoenix/config.h
  83. +2
    -0
      keyboards/phoenix/halconf.h
  84. +1
    -1
      keyboards/redox_w/rules.mk
  85. +1
    -1
      keyboards/rgbkb/mun/rules.mk
  86. +1
    -1
      keyboards/rgbkb/sol3/rules.mk
  87. +1
    -1
      keyboards/satt/comet46/rules.mk
  88. +1
    -1
      keyboards/sirius/uni660/rev1/rules.mk
  89. +1
    -1
      keyboards/sirius/uni660/rev2/rules.mk
  90. +1
    -1
      keyboards/spaceholdings/nebula12/rules.mk
  91. +1
    -1
      keyboards/spaceholdings/nebula68/rules.mk
  92. +1
    -1
      keyboards/spiderisland/split78/rules.mk
  93. +1
    -1
      keyboards/switchplate/southpaw_65/rules.mk
  94. +1
    -1
      keyboards/sx60/rules.mk
  95. +1
    -1
      keyboards/system76/launch_1/rules.mk
  96. +1
    -1
      keyboards/telophase/rules.mk
  97. +1
    -1
      keyboards/tkc/portico/rules.mk
  98. +1
    -1
      keyboards/tkc/portico75/keymaps/via/rules.mk
  99. +1
    -1
      keyboards/torn/rules.mk
  100. +2
    -1
      keyboards/touchpad/rules.mk

+ 89
- 96
builddefs/common_features.mk View File

@ -151,30 +151,25 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
endif
OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(POINTING_DEVICE_DRIVER))
ifeq ($(strip $(POINTING_DEVICE_DRIVER)), adns9800)
OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE
QUANTUM_LIB_SRC += spi_master.c
SPI_DRIVER_REQUIRED = yes
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), analog_joystick)
OPT_DEFS += -DSTM32_ADC -DHAL_USE_ADC=TRUE
LIB_SRC += analog.c
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_i2c)
OPT_DEFS += -DSTM32_I2C -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
SRC += drivers/sensors/cirque_pinnacle.c
SRC += drivers/sensors/cirque_pinnacle_gestures.c
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c
QUANTUM_LIB_SRC += i2c_master.c
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_spi)
OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE
SPI_DRIVER_REQUIRED = yes
SRC += drivers/sensors/cirque_pinnacle.c
SRC += drivers/sensors/cirque_pinnacle_gestures.c
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c
QUANTUM_LIB_SRC += spi_master.c
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), pimoroni_trackball)
OPT_DEFS += -DSTM32_SPI -DHAL_USE_I2C=TRUE
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
else ifneq ($(filter $(strip $(POINTING_DEVICE_DRIVER)),pmw3360 pmw3389),)
OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE
SPI_DRIVER_REQUIRED = yes
SRC += drivers/sensors/pmw33xx_common.c
QUANTUM_LIB_SRC += spi_master.c
endif
endif
endif
@ -204,12 +199,12 @@ else
else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
# External I2C EEPROM implementation
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
SRC += eeprom_driver.c eeprom_i2c.c
else ifeq ($(strip $(EEPROM_DRIVER)), spi)
# External SPI EEPROM implementation
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
QUANTUM_LIB_SRC += spi_master.c
SPI_DRIVER_REQUIRED = yes
SRC += eeprom_driver.c eeprom_spi.c
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
@ -308,10 +303,10 @@ ifneq ($(strip $(FLASH_DRIVER)), none)
else
OPT_DEFS += -DFLASH_ENABLE
ifeq ($(strip $(FLASH_DRIVER)),spi)
SPI_DRIVER_REQUIRED = yes
OPT_DEFS += -DFLASH_DRIVER -DFLASH_SPI
COMMON_VPATH += $(DRIVER_PATH)/flash
SRC += flash_spi.c
QUANTUM_LIB_SRC += spi_master.c
endif
endif
endif
@ -380,80 +375,73 @@ endif
CIE1931_CURVE := yes
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3218)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3218-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3731)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3731-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3733)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3733-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3736)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3736-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3737)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3737-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3741)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3741-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a)
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31flcommon.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3743a)
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31flcommon.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3745)
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31flcommon.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3746a)
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31flcommon.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(LED_MATRIX_DRIVER)), snled27351)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led
SRC += snled27351-simple.c
QUANTUM_LIB_SRC += i2c_master.c
endif
endif
@ -491,87 +479,79 @@ endif
RGB_KEYCODES_ENABLE := yes
ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216s)
OPT_DEFS += -DHAL_USE_SPI=TRUE
SPI_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led
SRC += aw20216s.c
QUANTUM_LIB_SRC += spi_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3218)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3218.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3731)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3731.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3733)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3733.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3736)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3736.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3737)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3737.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3741)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3741.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a)
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31flcommon.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a)
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31flcommon.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745)
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31flcommon.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a)
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
OPT_DEFS += -DIS31FLCOMMON
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31flcommon.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), snled27351)
OPT_DEFS += -DHAL_USE_I2C=TRUE
I2C_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led
SRC += snled27351.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(RGB_MATRIX_DRIVER)), ws2812)
@ -638,35 +618,6 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
endif
endif
VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor
WS2812_DRIVER ?= bitbang
ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes)
ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver)
endif
OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]'))
SRC += ws2812_$(strip $(WS2812_DRIVER)).c
ifeq ($(strip $(PLATFORM)), CHIBIOS)
ifeq ($(strip $(WS2812_DRIVER)), pwm)
OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE
endif
endif
# add extra deps
ifeq ($(strip $(WS2812_DRIVER)), i2c)
QUANTUM_LIB_SRC += i2c_master.c
endif
endif
ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes)
COMMON_VPATH += $(DRIVER_PATH)/led
SRC += apa102.c
endif
ifeq ($(strip $(CIE1931_CURVE)), yes)
OPT_DEFS += -DUSE_CIE1931_CURVE
LED_TABLES := yes
@ -787,8 +738,8 @@ ifeq ($(strip $(HAPTIC_ENABLE)),yes)
COMMON_VPATH += $(DRIVER_PATH)/haptic
ifeq ($(strip $(HAPTIC_DRIVER)), drv2605l)
I2C_DRIVER_REQUIRED = yes
SRC += drv2605l.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(HAPTIC_DRIVER)), solenoid)
@ -823,10 +774,10 @@ ifeq ($(strip $(OLED_ENABLE)), yes)
OPT_DEFS += -DOLED_TRANSPORT_$(strip $(shell echo $(OLED_TRANSPORT) | tr '[:lower:]' '[:upper:]'))
ifeq ($(strip $(OLED_TRANSPORT)), i2c)
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
endif
ifeq ($(strip $(OLED_TRANSPORT)), spi)
QUANTUM_LIB_SRC += spi_master.c
SPI_DRIVER_REQUIRED = yes
endif
endif
endif
@ -834,9 +785,9 @@ endif
ifeq ($(strip $(ST7565_ENABLE)), yes)
OPT_DEFS += -DST7565_ENABLE
SPI_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/oled # For glcdfont.h
COMMON_VPATH += $(DRIVER_PATH)/lcd
QUANTUM_LIB_SRC += spi_master.c
SRC += st7565.c
endif
@ -974,18 +925,16 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
SRC += outputselect.c
ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le)
OPT_DEFS += -DHAL_USE_SPI=TRUE
SPI_DRIVER_REQUIRED = yes
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp
QUANTUM_LIB_SRC += analog.c
QUANTUM_LIB_SRC += spi_master.c
endif
ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42)
OPT_DEFS += -DHAL_USE_SERIAL=TRUE
UART_DRIVER_REQUIRED = yes
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
SRC += $(DRIVER_PATH)/bluetooth/rn42.c
QUANTUM_LIB_SRC += uart.c
endif
endif
@ -1004,3 +953,47 @@ ifeq ($(strip $(OS_DETECTION_ENABLE)), yes)
OPT_DEFS += -DOS_DETECTION_DEBUG_ENABLE
endif
endif
VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor
WS2812_DRIVER ?= bitbang
ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes)
ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver)
endif
OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]'))
SRC += ws2812_$(strip $(WS2812_DRIVER)).c
ifeq ($(strip $(PLATFORM)), CHIBIOS)
ifeq ($(strip $(WS2812_DRIVER)), pwm)
OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE
endif
endif
# add extra deps
ifeq ($(strip $(WS2812_DRIVER)), i2c)
I2C_DRIVER_REQUIRED = yes
endif
endif
ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes)
COMMON_VPATH += $(DRIVER_PATH)/led
SRC += apa102.c
endif
ifeq ($(strip $(I2C_DRIVER_REQUIRED)), yes)
OPT_DEFS += -DHAL_USE_I2C=TRUE
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(SPI_DRIVER_REQUIRED)), yes)
OPT_DEFS += -DHAL_USE_SPI=TRUE
QUANTUM_LIB_SRC += spi_master.c
endif
ifeq ($(strip $(UART_DRIVER_REQUIRED)), yes)
OPT_DEFS += -DHAL_USE_SERIAL=TRUE
QUANTUM_LIB_SRC += uart.c
endif

+ 12
- 0
docs/i2c_driver.md View File

@ -2,6 +2,18 @@
The I2C Master drivers used in QMK have a set of common functions to allow portability between MCUs.
## Usage :id=usage
In most cases, the I2C Master driver code is automatically included if you are using a feature or driver which requires it, such as [OLED](feature_oled_driver.md).
However, if you need to use the driver standalone, add the following to your `rules.mk`:
```make
I2C_DRIVER_REQUIRED = yes
```
You can then call the I2C API by including `i2c_master.h` in your code.
## I2C Addressing :id=note-on-i2c-addresses
All of the addresses expected by this driver should be pushed to the upper 7 bits of the address byte. Setting


+ 12
- 0
docs/spi_driver.md View File

@ -2,6 +2,18 @@
The SPI Master drivers used in QMK have a set of common functions to allow portability between MCUs.
## Usage :id=usage
In most cases, the SPI Master driver code is automatically included if you are using a feature or driver which requires it, such as [OLED](feature_oled_driver.md).
However, if you need to use the driver standalone, add the following to your `rules.mk`:
```make
SPI_DRIVER_REQUIRED = yes
```
You can then call the SPI API by including `spi_master.h` in your code.
## AVR Configuration :id=avr-configuration
No special setup is required - just connect the `SS`, `SCK`, `MOSI` and `MISO` pins of your SPI devices to the matching pins on the MCU:


+ 12
- 0
docs/uart_driver.md View File

@ -4,6 +4,18 @@ The UART drivers used in QMK have a set of common functions to allow portability
Currently, this driver does not support enabling hardware flow control (the `RTS` and `CTS` pins) if available, but may do so in future.
## Usage :id=usage
In most cases, the UART driver code is automatically included if you are using a feature or driver which requires it.
However, if you need to use the driver standalone, add the following to your `rules.mk`:
```make
UART_DRIVER_REQUIRED = yes
```
You can then call the UART API by including `uart.h` in your code.
## AVR Configuration :id=avr-configuration
No special setup is required - just connect the `RX` and `TX` pins of your UART device to the opposite pins on the MCU:


+ 1
- 1
keyboards/3w6/rev1/rules.mk View File

@ -16,4 +16,4 @@ NO_USB_STARTUP_CHECK = yes
LTO_ENABLE = no
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/3w6/rev2/rules.mk View File

@ -16,4 +16,4 @@ NO_USB_STARTUP_CHECK = yes
LTO_ENABLE = no
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/40percentclub/ut47/rules.mk View File

@ -13,4 +13,4 @@ AUDIO_ENABLE = no # Audio output
# custom matrix setup
CUSTOM_MATRIX = yes
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/aeboards/satellite/rev1/rules.mk View File

@ -18,4 +18,4 @@ COMMON_VPATH += $(DRIVER_PATH)/issi
# project specific files
SRC += drivers/led/issi/is31fl3731.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 0
- 2
keyboards/anavi/knob1/rules.mk View File

@ -1,3 +1 @@
OLED_ENABLE = yes
OPT_DEFS += -DHAL_USE_I2C=TRUE

+ 0
- 2
keyboards/anavi/knobs3/rules.mk View File

@ -1,3 +1 @@
OLED_ENABLE = yes
OPT_DEFS += -DHAL_USE_I2C=TRUE

+ 1
- 1
keyboards/bajjak/rules.mk View File

@ -26,4 +26,4 @@ AUDIO_SUPPORTED = no
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/barleycorn_smd/rules.mk View File

@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output
CUSTOM_MATRIX = lite
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/bioi/g60/rules.mk View File

@ -18,5 +18,5 @@ BLUETOOTH_ENABLE = yes
VIA_ENABLE = yes # VIA support should be enabled here due to the main() loop will be compiled first.
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes
SRC += bluetooth_custom.c

+ 1
- 1
keyboards/bioi/g60ble/rules.mk View File

@ -15,5 +15,5 @@ LTO_ENABLE = yes
BLUETOOTH_ENABLE = yes
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes
SRC += bluetooth_custom.c

+ 1
- 1
keyboards/bioi/morgan65/rules.mk View File

@ -18,5 +18,5 @@ BLUETOOTH_ENABLE = yes
VIA_ENABLE = yes # VIA support should be enabled here due to the main() loop will be compiled first.
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes
SRC += bluetooth_custom.c

+ 1
- 1
keyboards/centromere/rules.mk View File

@ -18,4 +18,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 2
- 1
keyboards/clueboard/2x1800/2021/rules.mk View File

@ -1 +1,2 @@
QUANTUM_LIB_SRC += max7219.c spi_master.c
SPI_DRIVER_REQUIRED = yes
QUANTUM_LIB_SRC += max7219.c

+ 1
- 1
keyboards/converter/palm_usb/rules.mk View File

@ -14,6 +14,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
CUSTOM_MATRIX = yes
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes
DEFAULT_FOLDER = converter/palm_usb/stowaway

+ 1
- 1
keyboards/converter/sun_usb/rules.mk View File

@ -14,6 +14,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
CUSTOM_MATRIX = yes
SRC += matrix.c led.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes
DEFAULT_FOLDER = converter/sun_usb/type5

+ 2
- 2
keyboards/dc01/left/rules.mk View File

@ -11,5 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
CUSTOM_MATRIX = yes # Use custom matrix
SRC += matrix.c \
i2c_master.c
SRC += matrix.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/dichotomy/rules.mk View File

@ -14,4 +14,4 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
# # project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/ergodox_ez/rules.mk View File

@ -21,7 +21,7 @@ RGB_MATRIX_ENABLE = no # enable later
# project specific files
SRC += matrix.c \
led_i2c.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
# Disable unsupported hardware
AUDIO_SUPPORTED = no


+ 1
- 1
keyboards/ergodox_stm32/rules.mk View File

@ -16,4 +16,4 @@ CUSTOM_MATRIX = yes # Custom matrix file
UNICODE_ENABLE = yes # Unicode
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/fallacy/rules.mk View File

@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output
# project specific files
SRC += indicators.c \
drivers/led/issi/is31fl3731-simple.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/fc660c/rules.mk View File

@ -11,7 +11,7 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
# Optimize size but this may cause error "relocation truncated to fit"
#EXTRALDFLAGS = -Wl,--relax
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
CUSTOM_MATRIX = yes
SRC += matrix.c ad5258.c

+ 1
- 1
keyboards/fc980c/rules.mk View File

@ -11,7 +11,7 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
# Optimize size but this may cause error "relocation truncated to fit"
#EXTRALDFLAGS = -Wl,--relax
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
CUSTOM_MATRIX = yes
SRC += matrix.c ad5258.c

+ 1
- 1
keyboards/ferris/0_1/rules.mk View File

@ -16,4 +16,4 @@ NO_USB_STARTUP_CHECK = yes
LTO_ENABLE = yes
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/ferris/0_2/rules.mk View File

@ -16,6 +16,6 @@ NO_USB_STARTUP_CHECK = yes
LTO_ENABLE = no
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
DEFAULT_FOLDER = ferris/0_2/base

+ 1
- 1
keyboards/frobiac/blackbowl/rules.mk View File

@ -1,7 +1,7 @@
CUSTOM_MATRIX = lite
# project specific files
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
SRC += matrix.c
PS2_MOUSE_ENABLE = yes


+ 2
- 1
keyboards/gboards/ergotaco/rules.mk View File

@ -7,4 +7,5 @@ COMMAND_ENABLE = yes
# know what you're doing.
#
# No touchy, capiche?
SRC += matrix.c i2c_master.c
SRC += matrix.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 1
keyboards/gboards/georgi/rules.mk View File

@ -14,4 +14,5 @@ CUSTOM_MATRIX = yes
STENO_ENABLE = yes
LTO_ENABLE = yes
SRC += matrix.c i2c_master.c
SRC += matrix.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 1
keyboards/gboards/gergo/keymaps/colemak/rules.mk View File

@ -18,7 +18,8 @@ DEBUG_MATRIX = no
# know what you're doing.
#
# No touchy, capiche?
SRC += matrix.c i2c_master.c
SRC += matrix.c
I2C_DRIVER_REQUIRED = yes
ifneq ($(strip $(BALLSTEP)),)
OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP))
endif


+ 2
- 1
keyboards/gboards/gergo/keymaps/default/rules.mk View File

@ -18,7 +18,8 @@ DEBUG_MATRIX = yes
# know what you're doing.
#
# No touchy, capiche?
SRC += matrix.c i2c_master.c
SRC += matrix.c
I2C_DRIVER_REQUIRED = yes
ifneq ($(strip $(BALLSTEP)),)
OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP))
endif


+ 2
- 1
keyboards/gboards/gergo/keymaps/germ/rules.mk View File

@ -18,7 +18,8 @@ DEBUG_MATRIX = no
# know what you're doing.
#
# No touchy, capiche?
SRC += matrix.c i2c_master.c
SRC += matrix.c
I2C_DRIVER_REQUIRED = yes
ifneq ($(strip $(BALLSTEP)),)
OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP))
endif


+ 2
- 1
keyboards/gboards/gergo/keymaps/gotham/rules.mk View File

@ -18,7 +18,8 @@ DEBUG_MATRIX = yes
# know what you're doing.
#
# No touchy, capiche?
SRC += matrix.c i2c_master.c
SRC += matrix.c
I2C_DRIVER_REQUIRED = yes
ifneq ($(strip $(BALLSTEP)),)
OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP))
endif


+ 1
- 1
keyboards/gboards/gergo/rules.mk View File

@ -8,4 +8,4 @@ COMMAND_ENABLE = yes
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/gboards/gergoplex/rules.mk View File

@ -13,4 +13,4 @@ AUDIO_ENABLE = no # Audio output
CUSTOM_MATRIX = yes
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/geistmaschine/macropod/rules.mk View File

@ -2,4 +2,4 @@ CUSTOM_MATRIX = lite
VPATH += drivers/gpio
SRC += pca9555.c matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/glenpickle/chimera_ergo/rules.mk View File

@ -14,4 +14,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/glenpickle/chimera_ls/rules.mk View File

@ -14,7 +14,7 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no


+ 1
- 1
keyboards/glenpickle/chimera_ortho/rules.mk View File

@ -14,4 +14,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/glenpickle/chimera_ortho_plus/rules.mk View File

@ -15,4 +15,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/handwired/dactyl/rules.mk View File

@ -14,5 +14,5 @@ SWAP_HANDS_ENABLE = yes # Allow swapping hands of keyboard
RGBLIGHT_ENABLE = no
# project specific files
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
SRC += matrix.c

+ 1
- 1
keyboards/handwired/dqz11n1g/rules.mk View File

@ -1,7 +1,7 @@
# Keyboard matrix uses shift-registers read via SPI
CUSTOM_MATRIX = lite
SRC += matrix.c
QUANTUM_LIB_SRC += spi_master.c
SPI_DRIVER_REQUIRED = yes
# Build Options
# change yes to no to disable


+ 1
- 1
keyboards/handwired/dygma/raise/rules.mk View File

@ -19,7 +19,7 @@ CUSTOM_MATRIX = lite
# alternate usb endpoints.
RAW_ENABLE = yes
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
SRC += matrix.c
DEFAULT_FOLDER = handwired/dygma/raise/ansi

+ 2
- 2
keyboards/handwired/frenchdev/rules.mk View File

@ -13,5 +13,5 @@ AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no
# project specific files
SRC = i2c_master.c \
matrix.c
SRC = matrix.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 1
keyboards/handwired/lagrange/rules.mk View File

@ -14,4 +14,5 @@ UNICODE_ENABLE = yes
SPLIT_KEYBOARD = yes
SPLIT_TRANSPORT = custom
SRC += transport.c spi_master.c
SRC += transport.c
SPI_DRIVER_REQUIRED = yes

+ 0
- 2
keyboards/handwired/onekey/kb2040/rules.mk View File

@ -1,3 +1 @@
OLED_ENABLE = yes
OPT_DEFS += -DHAL_USE_I2C=TRUE

+ 1
- 1
keyboards/handwired/onekey/keymaps/i2c_scanner/rules.mk View File

@ -1,3 +1,3 @@
CONSOLE_ENABLE = yes
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/handwired/pterodactyl/rules.mk View File

@ -18,4 +18,4 @@ CUSTOM_MATRIX = yes
BLUETOOTH_ENABLE = yes
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/hazel/bad_wings/rules.mk View File

@ -3,7 +3,7 @@ CAPS_WORD_ENABLE = yes
SRC += matrix.c
QUANTUM_LIB_SRC += spi_master.c
SPI_DRIVER_REQUIRED = yes
CUSTOM_MATRIX = lite
POINTING_DEVICE_DRIVER = cirque_pinnacle_spi


+ 1
- 1
keyboards/hotdox/rules.mk View File

@ -15,5 +15,5 @@ RGBLIGHT_ENABLE = no
# project specific files
SRC = matrix.c \
i2c_master.c \
left.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 2
keyboards/hs60/v2/ansi/rules.mk View File

@ -22,5 +22,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/led/issi/is31fl3733.c \
quantum/color.c \
i2c_master.c
quantum/color.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 2
keyboards/hs60/v2/hhkb/rules.mk View File

@ -22,5 +22,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/led/issi/is31fl3733.c \
quantum/color.c \
i2c_master.c
quantum/color.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 2
keyboards/hs60/v2/iso/rules.mk View File

@ -22,5 +22,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/led/issi/is31fl3733.c \
quantum/color.c \
i2c_master.c
quantum/color.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 2
keyboards/ibm/model_m/mschwingen/rules.mk View File

@ -19,8 +19,8 @@ DYNAMIC_MACRO_ENABLE = yes
UART_DEBUG = no
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c \
spi_master.c
UART_DRIVER_REQUIRED = yes
SPI_DRIVER_REQUIRED = yes
OPT_DEFS += -DSLEEP_LED_ENABLE # we need our own sleep callbacks to turn of WS2812 LEDs


+ 1
- 1
keyboards/ingrained/rules.mk View File

@ -16,4 +16,4 @@ NO_USB_STARTUP_CHECK = yes
LTO_ENABLE = yes
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/kagizaraya/chidori/rules.mk View File

@ -16,4 +16,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
SRC += board.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/keebwerk/mega/ansi/rules.mk View File

@ -24,4 +24,4 @@ SRC += keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/led/issi/is31fl3733.c \
quantum/color.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/keyboardio/model01/rules.mk View File

@ -9,7 +9,7 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
CUSTOM_MATRIX = yes
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
SRC += leds.c \
matrix.c


+ 1
- 1
keyboards/keyhive/honeycomb/rules.mk View File

@ -14,4 +14,4 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
# # project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/kprepublic/bm60hsrgb/rev2/rules.mk View File

@ -17,4 +17,4 @@ WS2812_DRIVER_REQUIRED = yes
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3733.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/kprepublic/bm60hsrgb_iso/rev2/rules.mk View File

@ -20,5 +20,5 @@ RGB_MATRIX_ENABLE = yes
# here manually.
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3733.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
WS2812_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/kprepublic/bm60hsrgb_poker/rev2/rules.mk View File

@ -19,5 +19,5 @@ RGB_MATRIX_ENABLE = yes
# here manually.
COMMON_VPATH += $(DRIVER_PATH)/led/issi
SRC += is31fl3733.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
WS2812_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/ktec/ergodone/rules.mk View File

@ -3,4 +3,4 @@ CUSTOM_MATRIX = lite
VPATH += drivers/gpio
SRC += mcp23018.c matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/matrix/abelx/rules.mk View File

@ -45,4 +45,4 @@ NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in
CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c tca6424.c aw9523b.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/matrix/m20add/rules.mk View File

@ -29,4 +29,4 @@ RGBLIGHT_ENABLE = yes
CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c tca6424.c rgb_ring.c drivers/led/issi/is31fl3731.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/mechwild/sugarglider/rules.mk View File

@ -13,7 +13,7 @@ CUSTOM_MATRIX = lite
VPATH += drivers/gpio
SRC += mcp23018.c matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
DEFAULT_FOLDER = mechwild/sugarglider/wide_oled


+ 1
- 1
keyboards/mitosis/rules.mk View File

@ -15,4 +15,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/molecule/rules.mk View File

@ -15,4 +15,4 @@ AUDIO_ENABLE = no # Audio output
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = custom
SRC += adns.c
QUANTUM_LIB_SRC += spi_master.c
SPI_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/moon/rules.mk View File

@ -16,4 +16,4 @@ CUSTOM_MATRIX = yes
VPATH += drivers/gpio
SRC += pca9555.c matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/moonlander/rules.mk View File

@ -17,6 +17,6 @@ RGB_MATRIX_ENABLE = yes
#project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
MOUSE_SHARED_EP = no

+ 1
- 1
keyboards/mt/split75/rules.mk View File

@ -12,4 +12,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
# custom matrix setup
CUSTOM_MATRIX = lite
SRC = matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 1
keyboards/neson_design/700e/rules.mk View File

@ -11,4 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
NO_USB_STARTUP_CHECK = yes
QUANTUM_LIB_SRC += i2c_master.c drivers/led/issi/is31fl3731.c
QUANTUM_LIB_SRC += drivers/led/issi/is31fl3731.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 1
keyboards/neson_design/n6/rules.mk View File

@ -10,4 +10,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
QUANTUM_LIB_SRC += i2c_master.c drivers/led/issi/is31fl3731.c
QUANTUM_LIB_SRC += drivers/led/issi/is31fl3731.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 2
keyboards/novelkeys/nk65/rules.mk View File

@ -22,7 +22,7 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/led/issi/is31fl3733.c \
quantum/color.c \
i2c_master.c
quantum/color.c
I2C_DRIVER_REQUIRED = yes
DEFAULT_FOLDER = novelkeys/nk65/base

+ 2
- 2
keyboards/novelkeys/nk87/rules.mk View File

@ -22,5 +22,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/led/issi/is31fl3733.c \
quantum/color.c \
i2c_master.c
quantum/color.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/nullbitsco/nibble/rules.mk View File

@ -19,4 +19,4 @@ SRC += matrix.c \
common/bitc_led.c \
big_led.c \
common/remote_kb.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 2
- 2
keyboards/nullbitsco/snap/rules.mk View File

@ -19,5 +19,5 @@ CUSTOM_MATRIX = lite # Split custom matrix
# Project specific files
SRC += common/bitc_led.c \
common/remote_kb.c \
matrix.c \
uart.c
matrix.c
UART_DRIVER_REQUIRED = yes

+ 2
- 2
keyboards/nullbitsco/tidbit/rules.mk View File

@ -16,5 +16,5 @@ LTO_ENABLE = yes
# Project specific files
SRC += common/bitc_led.c \
common/remote_kb.c
QUANTUM_LIB_SRC += i2c_master.c \
uart.c
I2C_DRIVER_REQUIRED = yes
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/oddforge/vea/rules.mk View File

@ -12,4 +12,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
# custom matrix setup
CUSTOM_MATRIX = lite
SRC = matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 0
- 1
keyboards/phoenix/config.h View File

@ -26,7 +26,6 @@
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
#define HAL_USE_SERIAL TRUE
#define SPLIT_HAND_PIN B9
#define SERIAL_USART_DRIVER SD1
#define SERIAL_USART_TX_PAL_MODE 7

+ 2
- 0
keyboards/phoenix/halconf.h View File

@ -21,6 +21,8 @@
#pragma once
#define HAL_USE_SERIAL TRUE
#define SERIAL_USB_BUFFERS_SIZE 256
#include_next <halconf.h>


+ 1
- 1
keyboards/redox_w/rules.mk View File

@ -14,4 +14,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/rgbkb/mun/rules.mk View File

@ -2,7 +2,7 @@
VPATH += keyboards/rgbkb/common
SRC += touch_encoder.c
SRC += common_oled.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
# Build Options
# change yes to no to disable


+ 1
- 1
keyboards/rgbkb/sol3/rules.mk View File

@ -2,7 +2,7 @@
VPATH += keyboards/rgbkb/common
SRC += touch_encoder.c
SRC += common_oled.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
# Build Options
# change yes to no to disable


+ 1
- 1
keyboards/satt/comet46/rules.mk View File

@ -14,4 +14,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/sirius/uni660/rev1/rules.mk View File

@ -15,4 +15,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/sirius/uni660/rev2/rules.mk View File

@ -15,6 +15,6 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes
DEFAULT_FOLDER = sirius/uni660/rev2/ansi

+ 1
- 1
keyboards/spaceholdings/nebula12/rules.mk View File

@ -24,4 +24,4 @@ SRC += keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/led/issi/is31fl3731.c \
quantum/color.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/spaceholdings/nebula68/rules.mk View File

@ -24,4 +24,4 @@ SRC += keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/led/issi/is31fl3733.c \
quantum/color.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/spiderisland/split78/rules.mk View File

@ -12,4 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
# custom matrix setup
CUSTOM_MATRIX = lite
SRC += matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/switchplate/southpaw_65/rules.mk View File

@ -17,4 +17,4 @@ CUSTOM_MATRIX = lite
VPATH += drivers/gpio
SRC += pca9555.c matrix.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/sx60/rules.mk View File

@ -13,5 +13,5 @@ RGBLIGHT_ENABLE = no
CUSTOM_MATRIX = yes
# project specific files
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes
SRC += matrix.c

+ 1
- 1
keyboards/system76/launch_1/rules.mk View File

@ -23,4 +23,4 @@ LTO_ENABLE = yes # Link-time optimization for smaller binary
# Add System76 EC command interface as well as I2C and USB mux drivers
SRC += system76_ec.c usb_mux.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/telophase/rules.mk View File

@ -14,7 +14,7 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
UART_DRIVER_REQUIRED = yes
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no


+ 1
- 1
keyboards/tkc/portico/rules.mk View File

@ -19,4 +19,4 @@ SRC += keyboards/wilba_tech/wt_main.c \
quantum/color.c \
drivers/led/issi/is31fl3731.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/tkc/portico75/keymaps/via/rules.mk View File

@ -9,4 +9,4 @@ SRC += keyboards/wilba_tech/wt_main.c \
quantum/color.c \
drivers/led/issi/is31fl3741.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 1
- 1
keyboards/torn/rules.mk View File

@ -18,4 +18,4 @@ SRC += matrix.c \
mcp23018.c \
torn_encoder.c
QUANTUM_LIB_SRC += i2c_master.c
I2C_DRIVER_REQUIRED = yes

+ 2
- 1
keyboards/touchpad/rules.mk View File

@ -12,4 +12,5 @@ AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
CUSTOM_MATRIX = yes
SRC += matrix.c i2c_master.c
SRC += matrix.c
I2C_DRIVER_REQUIRED = yes

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save