/* * Copyright (c) 2006-2023, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2012-01-08 bernard first version. * 2014-07-12 bernard Add workqueue implementation. */ #ifndef __RT_DEVICE_H__ #define __RT_DEVICE_H__ #include #include #include #include #include #include #include #include #include #include "ipc/ringbuffer.h" #include "ipc/completion.h" #include "ipc/dataqueue.h" #include "ipc/workqueue.h" #include "ipc/condvar.h" #include "ipc/waitqueue.h" #include "ipc/pipe.h" #include "ipc/poll.h" #include "ipc/ringblk_buf.h" #ifdef __cplusplus extern "C" { #endif #define RT_DEVICE(device) ((rt_device_t)device) #ifdef RT_USING_DM #include "drivers/core/dm.h" #include "drivers/core/numa.h" #include "drivers/core/power_domain.h" #include "drivers/platform.h" #ifdef RT_USING_OFW #include "drivers/ofw.h" #include "drivers/ofw_fdt.h" #include "drivers/ofw_io.h" #include "drivers/ofw_irq.h" #include "drivers/ofw_raw.h" #endif /* RT_USING_OFW */ #ifdef RT_USING_PIC #include "drivers/pic.h" #endif #endif /* RT_USING_DM */ #ifdef RT_USING_RTC #include "drivers/dev_rtc.h" #ifdef RT_USING_ALARM #include "drivers/dev_alarm.h" #endif #endif /* RT_USING_RTC */ #ifdef RT_USING_SPI #include "drivers/dev_spi.h" #endif /* RT_USING_SPI */ #ifdef RT_USING_MTD_NOR #include "drivers/mtd_nor.h" #endif /* RT_USING_MTD_NOR */ #ifdef RT_USING_MTD_NAND #include "drivers/mtd_nand.h" #endif /* RT_USING_MTD_NAND */ #ifdef RT_USING_USB_DEVICE #include "drivers/usb_device.h" #endif /* RT_USING_USB_DEVICE */ #ifdef RT_USING_USB_HOST #include "drivers/usb_host.h" #endif /* RT_USING_USB_HOST */ #ifdef RT_USING_SERIAL #ifdef RT_USING_SERIAL_V2 #include "drivers/dev_serial_v2.h" #else #include "drivers/dev_serial.h" #endif #endif /* RT_USING_SERIAL */ #ifdef RT_USING_I2C #include "drivers/dev_i2c.h" #ifdef RT_USING_I2C_BITOPS #include "drivers/dev_i2c_bit_ops.h" #endif /* RT_USING_I2C_BITOPS */ #ifdef RT_USING_DM #include "drivers/dev_i2c_dm.h" #endif /* RT_USING_DM */ #endif /* RT_USING_I2C */ #ifdef RT_USING_PHY #include "drivers/phy.h" #include "drivers/phy_mdio.h" #endif /* RT_USING_PHY */ #ifdef RT_USING_SDIO #include "drivers/dev_mmcsd_core.h" #include "drivers/dev_sd.h" #include "drivers/dev_sdio.h" #endif /* RT_USING_SDIO */ #ifdef RT_USING_WDT #include "drivers/dev_watchdog.h" #endif /* RT_USING_WDT */ #ifdef RT_USING_PIN #include "drivers/dev_pin.h" #endif /* RT_USING_PIN */ #ifdef RT_USING_SENSOR #ifdef RT_USING_SENSOR_V2 #include "drivers/sensor_v2.h" #else #include "drivers/sensor.h" #endif /* RT_USING_SENSOR_V2 */ #endif /* RT_USING_SENSOR */ #ifdef RT_USING_CAN #include "drivers/dev_can.h" #endif /* RT_USING_CAN */ #ifdef RT_USING_HWTIMER #include "drivers/hwtimer.h" #endif /* RT_USING_HWTIMER */ #ifdef RT_USING_AUDIO #include "drivers/dev_audio.h" #endif /* RT_USING_AUDIO */ #ifdef RT_USING_CPUTIME #include "drivers/cputime.h" #endif /* RT_USING_CPUTIME */ #ifdef RT_USING_ADC #include "drivers/adc.h" #endif /* RT_USING_ADC */ #ifdef RT_USING_DAC #include "drivers/dac.h" #endif /* RT_USING_DAC */ #ifdef RT_USING_PWM #include "drivers/dev_pwm.h" #endif /* RT_USING_PWM */ #ifdef RT_USING_PM #include "drivers/pm.h" #endif /* RT_USING_PM */ #ifdef RT_USING_WIFI #include "drivers/wlan.h" #endif /* RT_USING_WIFI */ #ifdef MTD_USING_NOR #include "drivers/mtdnor.h" #endif /* MTD_USING_NOR */ #ifdef MTD_USING_NAND #include "drivers/mtdnand.h" #endif /* MTD_USING_NAND */ #ifdef RT_USING_HWCRYPTO #include "drivers/crypto.h" #endif /* RT_USING_HWCRYPTO */ #ifdef RT_USING_PULSE_ENCODER #include "drivers/pulse_encoder.h" #endif /* RT_USING_PULSE_ENCODER */ #ifdef RT_USING_INPUT_CAPTURE #include "drivers/rt_inputcapture.h" #endif /* RT_USING_INPUT_CAPTURE */ #ifdef RT_USING_TOUCH #include "drivers/dev_touch.h" #endif #ifdef RT_USING_DEV_BUS #include "drivers/rt_dev_bus.h" #endif #ifdef RT_USING_LCD #include "drivers/lcd.h" #endif #ifdef RT_USING_CLK #include "drivers/clk.h" #endif /* RT_USING_CLK */ #ifdef __cplusplus } #endif #endif /* __RT_DEVICE_H__ */