1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers/Makefile.dep
2020-07-14 22:51:59 +02:00

896 lines
20 KiB
Makefile

# driver dependencies (in alphabetical order)
ifneq (,$(filter ad7746,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter adc%1c,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_i2c
USEMODULE += adcxx1c
endif
ifneq (,$(filter ads101%,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_i2c
USEMODULE += ads101x
USEMODULE += xtimer
endif
ifneq (,$(filter adt7310,$(USEMODULE)))
FEATURES_REQUIRED += periph_spi
endif
ifneq (,$(filter adxl345,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter apa102,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
endif
ifneq (,$(filter apds99%full,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter apds99%,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += apds99xx
endif
ifneq (,$(filter at,$(USEMODULE)))
FEATURES_REQUIRED += periph_uart
USEMODULE += fmt
USEMODULE += isrpipe
USEMODULE += isrpipe_read_timeout
_AT_ISR_MODULE := $(filter at_urc_isr_%,$(USEMODULE))
ifneq (,$(_AT_ISR_MODULE))
# pull in the correspondant event_thread_<priority> module
USEMODULE += $(_AT_ISR_MODULE:at_urc_isr_%=event_thread_%)
USEMODULE += at_urc
USEMODULE += at_urc_isr
endif
endif
ifneq (,$(filter at24c%,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
USEMODULE += at24cxxx
endif
ifneq (,$(filter at24mac,$(USEMODULE)))
USEMODULE += at24cxxx
endif
ifneq (,$(filter at25xxx,$(USEMODULE)))
FEATURES_REQUIRED += periph_spi
USEMODULE += xtimer
endif
ifneq (,$(filter at30tse75x,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter at86rf215%,$(USEMODULE)))
USEMODULE += at86rf215
DEFAULT_MODULE += auto_init_at86rf215
DEFAULT_MODULE += at86rf215_subghz
DEFAULT_MODULE += netdev_ieee802154_multimode
DEFAULT_MODULE += netdev_ieee802154_oqpsk
DEFAULT_MODULE += netdev_ieee802154_mr_oqpsk
DEFAULT_MODULE += netdev_ieee802154_mr_ofdm
ifeq (,$(filter at86rf215m,$(USEMODULE)))
DEFAULT_MODULE += at86rf215_24ghz
endif
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
USEMODULE += xtimer
USEMODULE += luid
USEMODULE += netif
USEMODULE += ieee802154
USEMODULE += netdev_ieee802154
endif
ifneq (,$(filter at86rf%, $(filter-out at86rf215%, $(USEMODULE))))
USEMODULE += at86rf2xx
DEFAULT_MODULE += auto_init_at86rf2xx
DEFAULT_MODULE += netdev_ieee802154_oqpsk
USEMODULE += xtimer
USEMODULE += luid
USEMODULE += netif
USEMODULE += ieee802154
USEMODULE += netdev_ieee802154
# only needed for SPI based variants
ifeq (,$(filter at86rfa1 at86rfr2,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
endif
endif
ifneq (,$(filter ata8520e,$(USEMODULE)))
USEMODULE += xtimer
USEMODULE += fmt
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
endif
ifneq (,$(filter atwinc15x0,$(USEMODULE)))
USEMODULE += luid
USEMODULE += netdev_eth
USEMODULE += xtimer
USEPKG += driver_atwinc15x0
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
endif
ifneq (,$(filter bh1750fvi,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter bh1900nux,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter bme680_%,$(USEMODULE)))
USEPKG += driver_bme680
USEMODULE += bme680
ifneq (,$(filter saul%,$(USEMODULE)))
USEMODULE += xtimer
endif
endif
ifneq (,$(filter bme680_i2c,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter bme680_spi,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_spi
endif
ifneq (,$(filter bmp180,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter bm%280_spi,$(USEMODULE)))
FEATURES_REQUIRED += periph_spi
FEATURES_REQUIRED += periph_gpio
USEMODULE += bmx280
endif
ifneq (,$(filter bm%280_i2c,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += bmx280
endif
ifneq (,$(filter bmx280,$(USEMODULE)))
USEMODULE += xtimer
endif
ifneq (,$(filter bmx055,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter cc110%,$(USEMODULE)))
USEMODULE += cc110x
USEMODULE += cc1xxx_common
USEMODULE += luid
USEMODULE += netif
USEMODULE += xtimer
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
ifneq (,$(filter gnrc_ipv6,$(USEMODULE)))
USEMODULE += gnrc_sixlowpan
endif
endif
ifneq (,$(filter cc2420,$(USEMODULE)))
USEMODULE += xtimer
USEMODULE += luid
USEMODULE += netif
USEMODULE += ieee802154
USEMODULE += netdev_ieee802154
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
endif
ifneq (,$(filter ccs811_full,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
USEMODULE += ccs811
endif
ifneq (,$(filter ccs811,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter dcf77,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
USEMODULE += xtimer
endif
ifneq (,$(filter dfplayer,$(USEMODULE)))
FEATURES_REQUIRED += periph_uart
FEATURES_REQUIRED += periph_gpio
USEMODULE += xtimer
endif
ifneq (,$(filter dht,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_gpio
endif
ifneq (,$(filter ds1307,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter ds18,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_gpio
endif
ifneq (,$(filter ds3234,$(USEMODULE)))
FEATURES_REQUIRED += periph_spi
endif
ifneq (,$(filter ds75lx,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter dsp0401,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_pwm
endif
ifneq (,$(filter dynamixel,$(USEMODULE)))
USEMODULE += uart_half_duplex
endif
ifneq (,$(filter edbg_eui,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter enc28j60,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
USEMODULE += netdev_eth
USEMODULE += xtimer
USEMODULE += luid
endif
ifneq (,$(filter encx24j600,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
USEMODULE += netdev_eth
USEMODULE += xtimer
endif
ifneq (,$(filter ethos,$(USEMODULE)))
FEATURES_REQUIRED += periph_uart
USEMODULE += iolist
USEMODULE += netdev_eth
USEMODULE += random
USEMODULE += tsrb
endif
ifneq (,$(filter dose,$(USEMODULE)))
FEATURES_REQUIRED += periph_uart
USEMODULE += iolist
USEMODULE += netdev_eth
USEMODULE += random
USEMODULE += xtimer
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter feetech,$(USEMODULE)))
USEMODULE += uart_half_duplex
endif
ifneq (,$(filter fxos8700,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter grove_ledbar,$(USEMODULE)))
USEMODULE += my9221
endif
ifneq (,$(filter hd44780,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
USEMODULE += xtimer
endif
ifneq (,$(filter hdc1000,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter hih6130,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter hmc5883l,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter hmc5883l_int,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter hts221,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter ili9341,$(USEMODULE)))
FEATURES_REQUIRED += periph_spi
FEATURES_REQUIRED += periph_gpio
USEMODULE += xtimer
endif
ifneq (,$(filter ina2%,$(USEMODULE)))
USEMODULE += ina2xx
endif
ifneq (,$(filter ina2xx,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter ina3221,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter ina3221_alerts,$(USEMODULE)))
USEMODULE += ina3221
USEMODULE += periph_gpio_irq
endif
ifneq (,$(filter io1_xplained,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_adc
USEMODULE += at30tse75x
USEMODULE += sdcard_spi
endif
ifneq (,$(filter isl29020,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter isl29125,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter itg320x_int,$(USEMODULE)))
USEMODULE += itg320x
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter itg320x,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter jc42,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter kw2xrf,$(USEMODULE)))
USEMODULE += luid
USEMODULE += netif
USEMODULE += ieee802154
USEMODULE += netdev_ieee802154
USEMODULE += core_thread_flags
FEATURES_REQUIRED += periph_spi
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter kw41zrf,$(USEMODULE)))
USEMODULE += luid
USEMODULE += netif
USEMODULE += ieee802154
USEMODULE += netdev_ieee802154
USEMODULE += core_thread_flags
USEMODULE += random
USEMODULE += mcux_xcvr_mkw41z
endif
ifneq (,$(filter l3g4200d,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter lc709203f,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter lis2dh12_int,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter lis2dh12%,$(USEMODULE)))
USEMODULE += lis2dh12
ifneq (,$(filter lis2dh12_spi,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_spi
else
FEATURES_REQUIRED += periph_i2c
endif
endif
ifneq (,$(filter lis3dh,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_spi
endif
ifneq (,$(filter lis3mdl,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter lpd8808,$(USEMODULE)))
USEMODULE += color
FEATURES_REQUIRED += periph_gpio
endif
ifneq (,$(filter lps331ap lps2%hb,$(USEMODULE)))
USEMODULE += lpsxxx
endif
ifneq (,$(filter lpsxxx,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter lsm303dlhc,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter lsm6dsl,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter ltc4150_bidirectional,$(USEMODULE)))
USEMODULE += ltc4150
endif
ifneq (,$(filter ltc4150,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
USEMODULE += xtimer
endif
ifneq (,$(filter mag3110,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter mhz19_pwm,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
USEMODULE += xtimer
USEMODULE += mhz19
endif
ifneq (,$(filter mhz19_uart,$(USEMODULE)))
FEATURES_REQUIRED += periph_uart
USEMODULE += xtimer
USEMODULE += mhz19
endif
ifneq (,$(filter mma7660,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter mma8x5x,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter motor_driver,$(USEMODULE)))
FEATURES_REQUIRED += periph_pwm
endif
ifneq (,$(filter mpl3115a2,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter mpu9%50,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
USEMODULE += mpu9x50
endif
ifneq (,$(filter mq3,$(USEMODULE)))
FEATURES_REQUIRED += periph_adc
endif
ifneq (,$(filter mrf24j40m%,$(USEMODULE)))
USEMODULE += mrf24j40
DEFAULT_MODULE += netdev_ieee802154_oqpsk
ifndef CONFIG_KCONFIG_MODULE_MRF24J40
# all modules but mrf24j40ma have an external PA
ifeq (,$(filter mrf24j40ma,$(USEMODULE)))
CFLAGS += -DCONFIG_MRF24J40_USE_EXT_PA_LNA
endif
endif
endif
ifneq (,$(filter mrf24j40,$(USEMODULE)))
USEMODULE += xtimer
USEMODULE += luid
USEMODULE += netif
USEMODULE += ieee802154
USEMODULE += netdev_ieee802154
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
endif
ifneq (,$(filter mtd_%,$(USEMODULE)))
USEMODULE += mtd
ifneq (,$(filter mtd_at24cxxx,$(USEMODULE)))
USEMODULE += at24cxxx
endif
ifneq (,$(filter mtd_at25xxx,$(USEMODULE)))
USEMODULE += at25xxx
endif
ifneq (,$(filter mtd_sdcard,$(USEMODULE)))
USEMODULE += sdcard_spi
endif
ifneq (,$(filter mtd_spi_nor,$(USEMODULE)))
FEATURES_REQUIRED += periph_spi
endif
ifneq (,$(filter mtd_flashpage,$(USEMODULE)))
FEATURES_REQUIRED += periph_flashpage
FEATURES_REQUIRED += periph_flashpage_raw
endif
endif
ifneq (,$(filter my9221,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
USEMODULE += xtimer
endif
ifneq (,$(filter nvc7356,$(USEMODULE)))
USEMODULE += can_trx
FEATURES_REQUIRED += periph_gpio
endif
ifneq (,$(filter nrfmin,$(USEMODULE)))
FEATURES_REQUIRED += radio_nrfmin
FEATURES_REQUIRED += periph_cpuid
USEMODULE += netif
endif
ifneq (,$(filter nrf24l01p,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
USEMODULE += xtimer
endif
ifneq (,$(filter nvram_spi,$(USEMODULE)))
FEATURES_REQUIRED += periph_spi
USEMODULE += nvram
USEMODULE += xtimer
endif
ifneq (,$(filter opt3001,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter pca9633,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter pca9685,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
# efm32 CPU doesn't support PWM_RIGHT
FEATURES_BLACKLIST += arch_efm32
endif
ifneq (,$(filter pcd8544,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_spi
USEMODULE += xtimer
endif
ifneq (,$(filter ph_oem,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter pir,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
USEMODULE += xtimer
endif
ifneq (,$(filter pn532,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter pulse_counter,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter qmc5883l_int,$(USEMODULE)))
USEMODULE += qmc5883l
endif
ifneq (,$(filter qmc5883l,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
ifneq (,$(filter qmc5883l_int,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
endif
endif
ifneq (,$(filter rgbled,$(USEMODULE)))
USEMODULE += color
endif
ifneq (,$(filter rtt_rtc,$(USEMODULE)))
# Unit tests will use a mock implementation
ifeq (,$(UNIT_TESTS))
FEATURES_REQUIRED += periph_rtt
endif
FEATURES_PROVIDED += periph_rtc
endif
ifneq (,$(filter rn2%3,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_uart
USEMODULE += xtimer
USEMODULE += rn2xx3
USEMODULE += fmt
endif
ifneq (,$(filter sdcard_spi,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_spi
FEATURES_OPTIONAL += periph_spi_reconfigure
USEMODULE += checksum
USEMODULE += xtimer
endif
ifneq (,$(filter sdp3x,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
FEATURES_REQUIRED += periph_gpio_irq
USEMODULE += checksum
USEMODULE += xtimer
endif
ifneq (,$(filter sds011,$(USEMODULE)))
FEATURES_REQUIRED += periph_uart
endif
ifneq (,$(filter servo,$(USEMODULE)))
FEATURES_REQUIRED += periph_pwm
endif
ifneq (,$(filter sht1%,$(USEMODULE)))
USEMODULE += sht1x
FEATURES_REQUIRED += periph_gpio
USEMODULE += xtimer
endif
ifneq (,$(filter sht2x,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter sht3x,$(USEMODULE)))
USEMODULE += xtimer
USEMODULE += checksum
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter shtc1,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
USEMODULE += checksum
endif
ifneq (,$(filter si114%,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_i2c
USEMODULE += si114x
endif
ifneq (,$(filter si70%,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_i2c
USEMODULE += si70xx
endif
ifneq (,$(filter stmpe811,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter slipdev,$(USEMODULE)))
USEMODULE += tsrb
FEATURES_REQUIRED += periph_uart
endif
ifneq (,$(filter slipdev_stdio,$(USEMODULE)))
USEMODULE += isrpipe
USEMODULE += slipdev
FEATURES_REQUIRED += periph_uart
endif
ifneq (,$(filter soft_spi,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
USEMODULE += xtimer
endif
ifneq (,$(filter soft_uart,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_timer_periodic
endif
ifneq (,$(filter sps30,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += checksum
endif
ifneq (,$(filter srf02,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter srf04,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
endif
ifneq (,$(filter srf08,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter stm32_eth,$(USEMODULE)))
FEATURES_REQUIRED += periph_eth
FEATURES_REQUIRED += periph_dma
USEMODULE += netdev_eth
USEMODULE += iolist
USEMODULE += luid
endif
ifneq (,$(filter sx127%,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
FEATURES_OPTIONAL += periph_spi_gpio_mode
USEMODULE += iolist
USEMODULE += xtimer
USEMODULE += sx127x
USEMODULE += netif
USEMODULE += lora
ifneq (,$(filter gnrc,$(USEMODULE)))
# Pull in `ifconfig` support for LoRA
USEMODULE += gnrc_netif_cmd_lora
endif
endif
ifneq (,$(filter tcs37727,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter tps6274x,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
endif
ifneq (,$(filter tja1042,$(USEMODULE)))
USEMODULE += can_trx
FEATURES_REQUIRED += periph_gpio
endif
ifneq (,$(filter tmp00%,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
USEMODULE += tmp00x
endif
ifneq (,$(filter tsl2561,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter tsl4531x,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
ifneq (,$(filter uart_half_duplex,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
FEATURES_REQUIRED += periph_uart
USEMODULE += xtimer
endif
ifneq (,$(filter vcnl40%0,$(USEMODULE)))
USEMODULE += vcnl40x0
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter veml6070,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter w5100,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
FEATURES_REQUIRED += periph_spi
USEMODULE += netdev_eth
USEMODULE += luid
endif
ifneq (,$(filter ws281x_%,$(USEMODULE)))
USEMODULE += ws281x
endif
ifneq (,$(filter ws281x,$(USEMODULE)))
FEATURES_REQUIRED_ANY += arch_avr8|arch_esp32|arch_native
ifeq (,$(filter ws281x_%,$(USEMODULE)))
ifneq (,$(filter arch_avr8,$(FEATURES_USED)))
USEMODULE += ws281x_atmega
endif
ifneq (,$(filter arch_native,$(FEATURES_USED)))
USEMODULE += ws281x_vt100
endif
ifneq (,$(filter arch_esp32,$(FEATURES_USED)))
USEMODULE += ws281x_esp32
endif
endif
ifneq (,$(filter ws281x_atmega,$(USEMODULE)))
FEATURES_REQUIRED += arch_avr8
endif
USEMODULE += xtimer
endif
ifneq (,$(filter xbee,$(USEMODULE)))
FEATURES_REQUIRED += periph_uart
FEATURES_REQUIRED += periph_gpio
USEMODULE += ieee802154
USEMODULE += xtimer
USEMODULE += netif
endif