/* * $Id$ * * Copyright (C) 2003-2015 JNode.org * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; If not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.jnode.system.x86; /** * @author epr */ public interface DMAConstants { /* DMA controller registers */ public static final int DMA1_CMD_REG = 0x08; /* command register (w) */ public static final int DMA1_STAT_REG = 0x08; /* status register (r) */ public static final int DMA1_REQ_REG = 0x09; /* request register (w) */ public static final int DMA1_MASK_REG = 0x0A; /* single-channel mask (w) */ public static final int DMA1_MODE_REG = 0x0B; /* mode register (w) */ public static final int DMA1_CLEAR_FF_REG = 0x0C; /* clear pointer flip-flop (w) */ public static final int DMA1_TEMP_REG = 0x0D; /* Temporary Register (r) */ public static final int DMA1_RESET_REG = 0x0D; /* Master Clear (w) */ public static final int DMA1_CLR_MASK_REG = 0x0E; /* Clear Mask */ public static final int DMA1_MASK_ALL_REG = 0x0F; /* all-channels mask (w) */ public static final int DMA2_CMD_REG = 0xD0; /* command register (w) */ public static final int DMA2_STAT_REG = 0xD0; /* status register (r) */ public static final int DMA2_REQ_REG = 0xD2; /* request register (w) */ public static final int DMA2_MASK_REG = 0xD4; /* single-channel mask (w) */ public static final int DMA2_MODE_REG = 0xD6; /* mode register (w) */ public static final int DMA2_CLEAR_FF_REG = 0xD8; /* clear pointer flip-flop (w) */ public static final int DMA2_TEMP_REG = 0xDA; /* Temporary Register (r) */ public static final int DMA2_RESET_REG = 0xDA; /* Master Clear (w) */ public static final int DMA2_CLR_MASK_REG = 0xDC; /* Clear Mask */ public static final int DMA2_MASK_ALL_REG = 0xDE; /* all-channels mask (w) */ public static final int DMA_ADDR_0 = 0x00; /* DMA address registers */ public static final int DMA_ADDR_1 = 0x02; public static final int DMA_ADDR_2 = 0x04; public static final int DMA_ADDR_3 = 0x06; public static final int DMA_ADDR_4 = 0xC0; public static final int DMA_ADDR_5 = 0xC4; public static final int DMA_ADDR_6 = 0xC8; public static final int DMA_ADDR_7 = 0xCC; public static final int DMA_CNT_0 = 0x01; /* DMA count registers */ public static final int DMA_CNT_1 = 0x03; public static final int DMA_CNT_2 = 0x05; public static final int DMA_CNT_3 = 0x07; public static final int DMA_CNT_4 = 0xC2; public static final int DMA_CNT_5 = 0xC6; public static final int DMA_CNT_6 = 0xCA; public static final int DMA_CNT_7 = 0xCE; public static final int DMA_PAGE_0 = 0x87; /* DMA page registers */ public static final int DMA_PAGE_1 = 0x83; public static final int DMA_PAGE_2 = 0x81; public static final int DMA_PAGE_3 = 0x82; public static final int DMA_PAGE_5 = 0x8B; public static final int DMA_PAGE_6 = 0x89; public static final int DMA_PAGE_7 = 0x8A; /** * I/O to memory, no autoinit, increment, single mode */ public static final int DMA_MODE_READ = 0x44; /** * memory to I/O, no autoinit, increment, single mode */ public static final int DMA_MODE_WRITE = 0x48; /** * pass thru DREQ->HRQ, DACK<-HLDA only */ public static final int DMA_MODE_CASCADE = 0xC0; public static final int DMA_AUTOINIT = 0x10; }