#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "console.h"
#include "cpu.h"
#include "devices.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
#include "thirdparty/dc7085.h"
Go to the source code of this file.
Classes | |
struct | dc_data |
Macros | |
#define | DC_TICK_SHIFT 14 |
#define | MAX_QUEUE_LEN 32768 |
Functions | |
void | add_to_rx_queue (void *e, int ch, int line_no) |
DEVICE_TICK (dc7085) | |
DEVICE_ACCESS (dc7085) | |
int | dev_dc7085_init (struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, int use_fb) |
#define DC_TICK_SHIFT 14 |
Definition at line 45 of file dev_dc7085.cc.
Referenced by dev_dc7085_init().
#define MAX_QUEUE_LEN 32768 |
Definition at line 47 of file dev_dc7085.cc.
Referenced by add_to_rx_queue(), and DEVICE_ACCESS().
void add_to_rx_queue | ( | void * | e, |
int | ch, | ||
int | line_no | ||
) |
Definition at line 74 of file dev_dc7085.cc.
References dc_data::cur_rx_queue_pos_read, dc_data::cur_rx_queue_pos_write, DCMOUSE_PORT, fatal(), MAX_QUEUE_LEN, dc_data::rx_queue_char, and dc_data::rx_queue_lineno.
Referenced by dev_dc7085_init(), and lk201_init().
int dev_dc7085_init | ( | struct machine * | machine, |
struct memory * | mem, | ||
uint64_t | baseaddr, | ||
char * | irq_path, | ||
int | use_fb | ||
) |
Definition at line 298 of file dev_dc7085.cc.
References add_to_rx_queue(), CHECK_ALLOCATION, dc_data::console_handle, console_start_slave(), CSR_MSE, CSR_TRDY, dc7085regs::dc_csr, dc7085regs::dc_tcr, DC_TICK_SHIFT, dev_dc7085_access(), DEV_DC7085_LENGTH, dev_dc7085_tick(), DM_DEFAULT, INTERRUPT_CONNECT, dc_data::irq, dc_data::lk201, lk201_init(), machine_add_tickfunction(), memory_device_register(), dc_data::regs, and dc_data::use_fb.
Referenced by MACHINE_SETUP().
DEVICE_ACCESS | ( | dc7085 | ) |
Definition at line 160 of file dev_dc7085.cc.
References CSR_CLR, CSR_MAINT, CSR_MSE, CSR_RDONE, CSR_RIE, CSR_TIE, CSR_TRDY, dc_data::cur_rx_queue_pos_read, dc_data::cur_rx_queue_pos_write, data, dc7085regs::dc_csr, dc7085regs::dc_msr_tdr, dc7085regs::dc_rbuf_lpr, dc7085regs::dc_tcr, debug, dev_dc7085_tick(), INTERRUPT_DEASSERT, dc_data::irq, dc_data::just_transmitted_something, dc_data::lk201, lk201_tx_data(), MAX_QUEUE_LEN, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), MSR_CD2, MSR_CD3, MSR_DSR2, MSR_DSR3, RBUF_DVAL, RBUF_LINE_NUM_SHIFT, dc_data::regs, dc_data::rx_queue_char, and dc_data::rx_queue_lineno.
DEVICE_TICK | ( | dc7085 | ) |
Definition at line 98 of file dev_dc7085.cc.
References CSR_MSE, CSR_RDONE, CSR_RIE, CSR_TIE, CSR_TRDY, CSR_TX_LINE_NUM, dc_data::cur_rx_queue_pos_read, dc_data::cur_rx_queue_pos_write, dc7085regs::dc_csr, dc7085regs::dc_tcr, INTERRUPT_ASSERT, dc_data::irq, dc_data::just_transmitted_something, dc_data::lk201, lk201_tick(), cpu::machine, dc_data::regs, machine::slow_serial_interrupts_hack_for_linux, and dc_data::tx_scanner.