1 /* 2 * Copyright (c) 2006-2018, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2012-01-08 bernard first version. 9 * 2014-07-12 bernard Add workqueue implementation. 10 */ 11 12 #ifndef __RT_DEVICE_H__ 13 #define __RT_DEVICE_H__ 14 15 #include <rtthread.h> 16 17 #include "ipc/ringbuffer.h" 18 #include "ipc/completion.h" 19 #include "ipc/dataqueue.h" 20 #include "ipc/workqueue.h" 21 #include "ipc/waitqueue.h" 22 #include "ipc/pipe.h" 23 #include "ipc/poll.h" 24 #include "ipc/ringblk_buf.h" 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif 29 30 #define RT_DEVICE(device) ((rt_device_t)device) 31 32 #ifdef RT_USING_RTC 33 #include "drivers/rtc.h" 34 #ifdef RT_USING_ALARM 35 #include "drivers/alarm.h" 36 #endif 37 #endif /* RT_USING_RTC */ 38 39 #ifdef RT_USING_SPI 40 #include "drivers/spi.h" 41 #endif /* RT_USING_SPI */ 42 43 #ifdef RT_USING_MTD_NOR 44 #include "drivers/mtd_nor.h" 45 #endif /* RT_USING_MTD_NOR */ 46 47 #ifdef RT_USING_MTD_NAND 48 #include "drivers/mtd_nand.h" 49 #endif /* RT_USING_MTD_NAND */ 50 51 #ifdef RT_USING_USB_DEVICE 52 #include "drivers/usb_device.h" 53 #endif /* RT_USING_USB_DEVICE */ 54 55 #ifdef RT_USING_USB_HOST 56 #include "drivers/usb_host.h" 57 #endif /* RT_USING_USB_HOST */ 58 59 #ifdef RT_USING_SERIAL 60 #include "drivers/serial.h" 61 #endif /* RT_USING_SERIAL */ 62 63 #ifdef RT_USING_I2C 64 #include "drivers/i2c.h" 65 #include "drivers/i2c_dev.h" 66 67 #ifdef RT_USING_I2C_BITOPS 68 #include "drivers/i2c-bit-ops.h" 69 #endif /* RT_USING_I2C_BITOPS */ 70 #endif /* RT_USING_I2C */ 71 72 #ifdef RT_USING_SDIO 73 #include "drivers/mmcsd_core.h" 74 #include "drivers/sd.h" 75 #include "drivers/sdio.h" 76 #endif 77 78 #ifdef RT_USING_WDT 79 #include "drivers/watchdog.h" 80 #endif 81 82 #ifdef RT_USING_PIN 83 #include "drivers/pin.h" 84 #endif 85 86 #ifdef RT_USING_CAN 87 #include "drivers/can.h" 88 #endif 89 90 #ifdef RT_USING_HWTIMER 91 #include "drivers/hwtimer.h" 92 #endif 93 94 #ifdef RT_USING_AUDIO 95 #include "drivers/audio.h" 96 #endif 97 98 #ifdef RT_USING_CPUTIME 99 #include "drivers/cputime.h" 100 #endif 101 102 #ifdef RT_USING_ADC 103 #include "drivers/adc.h" 104 #endif 105 106 #ifdef RT_USING_PWM 107 #include "drivers/rt_drv_pwm.h" 108 #endif 109 110 #ifdef RT_USING_PM 111 #include "drivers/pm.h" 112 #endif 113 114 #ifdef RT_USING_WIFI 115 #include "drivers/wlan.h" 116 #endif 117 118 #ifdef MTD_USING_NOR 119 #include "drivers/mtdnor.h" 120 #endif 121 #ifdef MTD_USING_NAND 122 #include "drivers/mtdnand.h" 123 #endif 124 125 #ifdef __cplusplus 126 } 127 #endif 128 129 #endif /* __RT_DEVICE_H__ */ 130