| /* | |
| * Copyright 2018, Data61, CSIRO (ABN 41 687 119 230) | |
| * | |
| * SPDX-License-Identifier: BSD-2-Clause | |
| */ | |
| #include <plat/serial.h> | |
| import <GetChar.idl4>; | |
| import <PutChar.idl4>; | |
| import <Batch.idl4>; | |
| import <Timer.idl4>; | |
| import <serial.camkes>; | |
| import <VirtQueue/VirtQueue.camkes>; | |
| component SerialServer { | |
| control; | |
| has mutex serial; | |
| provides PutChar processed_putchar; | |
| provides PutChar raw_putchar; | |
| provides Batch processed_batch; | |
| provides Batch raw_batch; | |
| provides GetChar getchar; | |
| uses Timer timeout; | |
| /* Virtqueue connection to faciliate read and write */ | |
| maybe uses VirtQueueDev read; | |
| maybe uses VirtQueueDev write; | |
| //emits Callback self; | |
| emits Callback self_read; | |
| emits Callback self_write; | |
| //maybe consumes Callback serial_wait; | |
| maybe consumes Callback serial_write_wait; | |
| maybe consumes Callback serial_read_wait; | |
| /* Size of the driver's heap */ | |
| attribute int heap_size = 16 * 1024; | |
| HARDWARE_SERIAL_INTERFACES | |
| HARDWARE_SERIAL_ATTRIBUTES | |
| composition { | |
| HARDWARE_SERIAL_COMPOSITION | |
| } | |
| configuration { | |
| HARDWARE_SERIAL_CONFIG | |
| } | |
| } |