37#ifndef _RTEMS_CONFDEFS_IODRIVERS_H
38#define _RTEMS_CONFDEFS_IODRIVERS_H
40#ifndef __CONFIGURATION_TEMPLATE_h
41#error "Do not include this file directly, use <rtems/confdefs.h> instead"
48#if !defined(CONFIGURE_DISABLE_BSP_SETTINGS) && \
49 defined(CONFIGURE_BSP_PREREQUISITE_DRIVERS)
50#define _CONFIGURE_BSP_PREREQUISITE_DRIVERS CONFIGURE_BSP_PREREQUISITE_DRIVERS
53#if defined(_CONFIGURE_BSP_PREREQUISITE_DRIVERS) || \
54 defined(CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS) || \
55 defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) || \
56 defined(CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER) || \
57 defined(CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER) || \
58 defined(CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER) || \
59 defined(CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER) || \
60 defined(CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER) || \
61 defined(CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER) || \
62 defined(CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER) || \
63 defined(CONFIGURE_APPLICATION_EXTRA_DRIVERS)
64#define _CONFIGURE_HAS_IO_DRIVERS
67#if defined(_CONFIGURE_HAS_IO_DRIVERS) || \
68 defined(CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER) || \
69 CONFIGURE_MAXIMUM_DRIVERS > 0
74#ifdef CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
75 #if defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER) \
76 || defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER)
77 #error "CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER, CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER, and CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER are mutually exclusive"
83#ifdef CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
87#ifdef CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
91#ifdef CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
95#ifdef CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
99#ifdef CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
103#ifdef CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
104 #ifndef CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
105 #define CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
108 #include <libchip/ide_ctrl.h>
111#ifdef CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
112 #include <libchip/ata.h>
115#ifndef CONFIGURE_MAXIMUM_DRIVERS
116 #define CONFIGURE_MAXIMUM_DRIVERS
119#define NULL_DRIVER_TABLE_ENTRY { NULL, NULL, NULL, NULL, NULL, NULL }
127 #ifdef _CONFIGURE_BSP_PREREQUISITE_DRIVERS
128 _CONFIGURE_BSP_PREREQUISITE_DRIVERS,
130 #ifdef CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
133 #ifdef CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
136 #ifdef CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
139 #ifdef CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
142 #ifdef CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
143 DEVNULL_DRIVER_TABLE_ENTRY,
145 #ifdef CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
146 DEVZERO_DRIVER_TABLE_ENTRY,
148 #ifdef CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
149 IDE_CONTROLLER_DRIVER_TABLE_ENTRY,
151 #ifdef CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
152 ATA_DRIVER_TABLE_ENTRY,
154 #ifdef CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
157 #ifdef CONFIGURE_APPLICATION_EXTRA_DRIVERS
160 #if defined(CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER) || \
161 !defined(_CONFIGURE_HAS_IO_DRIVERS)
162 NULL_DRIVER_TABLE_ENTRY
166const size_t _IO_Number_of_drivers =
171 RTEMS_SYSINIT_DEVICE_DRIVERS,
172 RTEMS_SYSINIT_ORDER_MIDDLE
175#ifdef CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
176 #ifndef CONFIGURE_ATA_DRIVER_TASK_PRIORITY
177 #define CONFIGURE_ATA_DRIVER_TASK_PRIORITY ATA_DRIVER_TASK_DEFAULT_PRIORITY
200#if defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) || \
201 defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER) || \
202 defined(CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER)
207 rtems_libio_post_driver,
208 RTEMS_SYSINIT_STD_FILE_DESCRIPTORS,
209 RTEMS_SYSINIT_ORDER_MIDDLE
This header file evaluates configuration options related to the BSP configuration.
Console Driver for all Boards.
#define CONSOLE_DRIVER_TABLE_ENTRY
Definition: console.h:57
Real-Time Clock Driver Interface.
RTEMS /dev/null Device Driver.
RTEMS /dev/zero Device Driver.
Frame Buffer Device Driver for all Boards.
#define FRAME_BUFFER_DRIVER_TABLE_ENTRY
Definition: framebuffer.h:64
#define RTEMS_ARRAY_SIZE(_array)
Gets the element count of the array.
Definition: basedefs.h:244
uint32_t rtems_task_priority
This integer type represents task priorities of the Classic API.
Definition: types.h:257
#define RTEMS_SYSINIT_ITEM(handler, module, order)
Creates the system initialization item associated with the handler, module, and order.
Definition: sysinit.h:204
#define CONFIGURE_APPLICATION_EXTRA_DRIVERS
This configuration option is an initializer define.
Definition: appl-config.h:1213
#define CONFIGURE_ATA_DRIVER_TASK_PRIORITY
This configuration option is an integer define.
Definition: appl-config.h:1637
#define CONFIGURE_MAXIMUM_DRIVERS
This configuration option is an integer define.
Definition: appl-config.h:1736
#define CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
This configuration option is an initializer define.
Definition: appl-config.h:1614
void _IO_Initialize_all_drivers(void)
Initialization of all device drivers.
Definition: io.c:47
#define RTC_DRIVER_TABLE_ENTRY
Definition: rtc.h:64
This header file provides interfaces used by the I/O Manager implementation.
This structure contains the device driver entries.
Definition: io.h:140
This header file provides the API of the System Initialization Support.
#define WATCHDOG_DRIVER_TABLE_ENTRY
Definition: watchdogdrv.h:49