1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers/Makefile.dep

896 lines
20 KiB
Makefile
Raw Normal View History

# 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
2018-04-04 23:04:56 +02:00
ifneq (,$(filter ads101%,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio_irq
2018-04-04 23:04:56 +02:00
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)))
2017-08-28 11:01:07 +02:00
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
2020-03-23 22:44:03 +01:00
DEFAULT_MODULE += netdev_ieee802154_mr_oqpsk
2020-05-04 03:25:22 +02:00
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
2020-02-10 13:38:09 +01:00
ifneq (,$(filter bh1900nux,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
ifneq (,$(filter bme680_%,$(USEMODULE)))
USEPKG += driver_bme680
USEMODULE += bme680
2020-03-12 08:46:56 +01:00
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
2018-02-19 14:27:39 +01:00
endif
ifneq (,$(filter bm%280_i2c,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += bmx280
2016-10-14 08:32:41 +02:00
endif
ifneq (,$(filter bmx280,$(USEMODULE)))
USEMODULE += xtimer
endif
ifneq (,$(filter bmx055,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
drivers/cc110x: Rewrite of the cc110x driver The cc110x driver has been re-written from scratch to overcome the limitations of the old driver. The main motivation of the rewrite was to achieve better maintainability by a detailed documentation, reduce the complexity and the overhead of the SPI communication with the device, and to allow to simultaneously use transceivers with different configuration regarding the used base band, the channel bandwidth, the modulation rate, and the channel map. Features of this driver include: - Support for the CC1100, CC1101, and the CC1100e sub-gigahertz transceivers. - Detailed documentation of every aspect of this driver. - An easy to use configuration API that allows setting the transceiver configuration (modulation rate, channel bandwidth, base frequency) and the channel map. - Fast channel hopping by pre-calibration of the channels during device configuration (so that no calibration is needed during hopping). - Simplified SPI communication: Only during start-up the MCU has to wait for the transceiver to be ready (for the power regulators and the crystal to stabilize). The old driver did this for every SPI transfer, which resulted in complex communication code. This driver will wait on start up for the transceiver to power up and then use RIOT's SPI API like every other driver. (Not only the data sheet states that this is fine, it also proved to be reliable in practise.) - Greatly reduced latency: The RTT on the old driver (@150 kbps data rate) was about 16ms, the new driver (@250 kbps data rate) has as RTT of ~3ms (depending on SPI clock and on CPU performance) (measured with ping6). - Increased reliability: The preamble size and the sync word size have been doubled compared to the old driver (preamble: 8 bytes instead of 4, sync word: 4 byte instead of 2). The new values are the once recommended by the data sheet for reliable communication. - Basic diagnostic during driver initialization to detect common issues as SPI communication issues and GDO pin configuration/wiring issues. - TX power configuration with netdev_driver_t::set() API-integration - Calls to netdev_driver_t::send() block until the transmission has completed to ease the use of the API (implemented without busy waiting, so that the MCU can enter lower power states or other threads can be executed).
2018-11-08 17:37:07 +01:00
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
2019-05-09 16:12:02 +02:00
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
2020-03-23 17:17:03 +01:00
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
2018-02-27 10:56:44 +01:00
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
2016-03-05 20:16:18 +01:00
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
2017-06-12 22:31:04 +02:00
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
2017-06-12 22:31:04 +02:00
endif
2017-06-12 22:28:55 +02:00
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
2019-08-28 13:21:39 +02:00
ifneq (,$(filter opt3001,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
USEMODULE += xtimer
endif
2020-06-09 16:49:10 +02:00
ifneq (,$(filter pca9633,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
endif
2018-12-06 09:47:24 +01:00
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
2018-12-06 09:47:24 +01:00
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
2017-09-11 14:55:42 +02:00
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
2017-03-23 14:11:44 +01:00
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
2016-07-18 23:05:17 +02:00
endif
2019-04-28 17:54:09 +02:00
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
2018-08-26 07:58:42 +02:00
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
2015-10-22 11:06:38 +02:00
ifneq (,$(filter srf08,$(USEMODULE)))
FEATURES_REQUIRED += periph_i2c
2015-10-22 11:06:38 +02:00
USEMODULE += xtimer
endif
stm32_eth: Multiple Improvements of the original codebase stm32eth: Move to stm32_common periph cpu/stm32_periph_eth: Rebase to current master branch - Update DMA to use new vendor headers - Update send to use iolist. It looks like the packet headers are now transfered as seperate iolist entries which results in the eth periph sending each header as own packet. To fix this a rather ugly workaround is used where the whole iolist content is first copied to a static buffer. This will be fixed soon in another commit - If MAC is set to zero use luid to generate one - Small code style fixes cpu/stm312f7: Add periph config for on-board ethernet boards/nucleo-f767zi: Add config for on board ethernet tests/stm32_eth_lwip: Remove board restriction boards/common/nucleo: Add luid module if stm32 ethernet is used tests/stm32_eth_gnrc: Add Testcase for gnrc using the stm32 eth periph stm32_eth: Rework netdev driver layour tests/stm32_eth_*: Use netdev driver header file for prototypes stm32_eth: Add auto init for stm32 eth netdev driver boards/stm32: Enable ethernet conf for nucleo boards stm32_eth_auto_init: Add dont be pendantic flag stm32_eth: Remove dma specific stuff from periph_cpu.h Looks like this was implemented in PR #9171 and 021697ae94 with the same interface. stm32_eth: Remove eth feature from stm32f4discovery boards stm32_eth: Migrate to stm32 DMA API stm32_eth: Add iolist to module deps stm32_eth: Rework send function to use iolist stm32_eth: Fix ci build warnings stm32_eth: Fix bug introduced with iolist usage stm32_eth: Remove redundant static buffer stm32_eth: Fix feature dependencies stm32_eth: Fix wrong header guard name stm32_eth: Implement correct l2 netstats interface stm32_eth: Rename public functions to stm32_eth_* stm32_eth: Fix doccheck stm32_eth: Move register DEFINE to appropriate header file stm32_eth: remove untested configuration for f446ze boards stm32_eth: Move periph configuration struct to stm32_common stm32_eth: Fix naming of eth_phy_read and eth_phy_write stm32_eth: Remove obsolete test applications
2018-12-15 02:23:37 +01:00
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
2017-11-17 10:51:00 +01:00
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
2020-03-25 17:25:35 +01:00
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