aos/devices/xeon_phi/xeon_phi_dma_chan.dev
Daniel Schwyn 6d444bf552 Main handout
Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>
2022-03-03 14:57:51 +01:00

171 lines
4.3 KiB
Plaintext

/*
* Copyright (c) 2014 ETH Zurich. All rights reserved.
*
* This file is distributed under the terms in the attached LICENSE file.
* If you do not find this file, copies can be found by writing to:
* ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group.
*/
/*
* xeon_phi_dma.dev
*
* description: register definitions for the Xeon Phi DMA
*/
device xeon_phi_dma_chan lsbfirst(addr base) "Intel Xeon Phi DMA Channel" {
register dcar rw addr(base, 0x00) "DMA Channel Attribute Register" {
_ 23 "";
apic_irq 1 "APIC Interrupt mask bit";
msix_irq 1 "MSI-X Interrupt mask bit";
irq_status 1 "Interrupt status";
_ 6 "";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register dhpr rw addr(base, 0x04) "DMA Descriptor Head Pointer Register" {
index 16 "Index of the head pointer";
_ 16 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register dtpr rw addr(base, 0x08) "DMA Descriptor Tail Pointer Register" {
index 16 "Index of the head pointer";
_ 16 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register aux_lo rw addr(base, 0x0C) "DMA Auxiliary Register 0 Lo" {
r 32 "";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register aux_hi rw addr(base, 0x10) "DMA Auxiliary Register 0 Hi" {
r 32 "";
};
constants drar_shifts "Shift amounts for the field values" {
drar_size_shift=2;
drar_base_shift=6;
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register drar_hi rw addr(base, 0x18) "DMA Descriptor Ring Attributes Register Lo" {
base 4 "base address hi part";
_ 2 "";
size 15 "size of the descriptor ring";
page 5 "";
sysbit 1 "";
_ 5 "";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register drar_lo rw addr(base, 0x14) "DMA Descriptor Ring Attributes Register Lo" {
_ 6 "";
base 26 "base address lo part";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register ditr rw addr(base, 0x1C) "DMA Interrupt Timer Register" {
r 32 "";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register dstat rw addr(base, 0x20) "DMA Status Channel Register" {
completions 16 "Completition count";
_ 16 "";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register dstatwb_lo rw addr(base, 0x24) "DMA Tail Pointer Write Back Register Lo" {
r 32 "";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register dstatwb_hi rw addr(base, 0x28) "DMA Tail Pointer Write Back Register Hi" {
r 32 "";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register dcherr rw addr(base, 0x2C) "DMA Channel Error Register" {
r 32 "";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Dmain: GRPB_REset
* Register Access: CRU
* Number: 8
*/
register dcherrmsk rw addr(base, 0x30) "DMA Channel Error Register Mask" {
r 32 "";
};
};