/* * Copyright (c) 2004-2005 The Regents of The University of Michigan * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer; * redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution; * neither the name of the copyright holders nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * Authors: Ali Saidi */ /** @file * List of Tsunami CSRs */ // NEEDS TO BE ADJUSTED FOR MALTA BOARD #ifndef __MALTAREG_H__ #define __MALTAREG_H__ #define ALPHA_K0SEG_BASE ULL(0xfffffc0000000000) // CChip Registers #define TSDEV_CC_CSR 0x00 #define TSDEV_CC_MTR 0x01 #define TSDEV_CC_MISC 0x02 #define TSDEV_CC_AAR0 0x04 #define TSDEV_CC_AAR1 0x05 #define TSDEV_CC_AAR2 0x06 #define TSDEV_CC_AAR3 0x07 #define TSDEV_CC_DIM0 0x08 #define TSDEV_CC_DIM1 0x09 #define TSDEV_CC_DIR0 0x0A #define TSDEV_CC_DIR1 0x0B #define TSDEV_CC_DRIR 0x0C #define TSDEV_CC_PRBEN 0x0D #define TSDEV_CC_IIC0 0x0E #define TSDEV_CC_IIC1 0x0F #define TSDEV_CC_MPR0 0x10 #define TSDEV_CC_MPR1 0x11 #define TSDEV_CC_MPR2 0x12 #define TSDEV_CC_MPR3 0x13 #define TSDEV_CC_DIM2 0x18 #define TSDEV_CC_DIM3 0x19 #define TSDEV_CC_DIR2 0x1A #define TSDEV_CC_DIR3 0x1B #define TSDEV_CC_IIC2 0x1C #define TSDEV_CC_IIC3 0x1D // BigTsunami Registers #define TSDEV_CC_BDIMS 0x1000000 #define TSDEV_CC_BDIRS 0x2000000 #define TSDEV_CC_IPIQ 0x20 //0xf01a000800 #define TSDEV_CC_IPIR 0x21 //0xf01a000840 #define TSDEV_CC_ITIR 0x22 //0xf01a000880 // PChip Registers #define TSDEV_PC_WSBA0 0x00 #define TSDEV_PC_WSBA1 0x01 #define TSDEV_PC_WSBA2 0x02 #define TSDEV_PC_WSBA3 0x03 #define TSDEV_PC_WSM0 0x04 #define TSDEV_PC_WSM1 0x05 #define TSDEV_PC_WSM2 0x06 #define TSDEV_PC_WSM3 0x07 #define TSDEV_PC_TBA0 0x08 #define TSDEV_PC_TBA1 0x09 #define TSDEV_PC_TBA2 0x0A #define TSDEV_PC_TBA3 0x0B #define TSDEV_PC_PCTL 0x0C #define TSDEV_PC_PLAT 0x0D #define TSDEV_PC_RES 0x0E #define TSDEV_PC_PERROR 0x0F #define TSDEV_PC_PERRMASK 0x10 #define TSDEV_PC_PERRSET 0x11 #define TSDEV_PC_TLBIV 0x12 #define TSDEV_PC_TLBIA 0x13 #define TSDEV_PC_PMONCTL 0x14 #define TSDEV_PC_PMONCNT 0x15 #define TSDEV_PC_SPST 0x20 // DChip Registers #define TSDEV_DC_DSC 0x20 #define TSDEV_DC_STR 0x21 #define TSDEV_DC_DREV 0x22 #define TSDEV_DC_DSC2 0x23 // I/O Ports #define TSDEV_PIC1_MASK 0x21 #define TSDEV_PIC2_MASK 0xA1 #define TSDEV_PIC1_ISR 0x20 #define TSDEV_PIC2_ISR 0xA0 #define TSDEV_PIC1_ACK 0x20 #define TSDEV_PIC2_ACK 0xA0 #define TSDEV_DMA1_RESET 0x0D #define TSDEV_DMA2_RESET 0xDA #define TSDEV_DMA1_MODE 0x0B #define TSDEV_DMA2_MODE 0xD6 #define TSDEV_DMA1_MASK 0x0A #define TSDEV_DMA2_MASK 0xD4 #define TSDEV_CTRL_PORTB 0x61 #define TSDEV_TMR0_DATA 0x40 #define TSDEV_TMR1_DATA 0x41 #define TSDEV_TMR2_DATA 0x42 #define TSDEV_TMR_CTRL 0x43 #define TSDEV_KBD 0x64 #define TSDEV_DMA1_CMND 0x08 #define TSDEV_DMA1_STAT TSDEV_DMA1_CMND #define TSDEV_DMA2_CMND 0xD0 #define TSDEV_DMA2_STAT TSDEV_DMA2_CMND #define TSDEV_DMA1_MMASK 0x0F #define TSDEV_DMA2_MMASK 0xDE // Added for keyboard accesses / #define TSDEV_KBD 0x64 // Added for ATA PCI DMA / #define ATA_PCI_DMA 0x00 #define ATA_PCI_DMA2 0x02 #define ATA_PCI_DMA3 0x16 #define ATA_PCI_DMA4 0x17 #define ATA_PCI_DMA5 0x1a #define ATA_PCI_DMA6 0x11 #define ATA_PCI_DMA7 0x14 #define TSDEV_RTC_ADDR 0x70 #define TSDEV_RTC_DATA 0x71 #define PCHIP_PCI0_MEMORY ULL(0x00000000000) #define PCHIP_PCI0_IO ULL(0x001FC000000) #define TSUNAMI_UNCACHABLE_BIT ULL(0x80000000000) #define TSUNAMI_PCI0_MEMORY TSUNAMI_UNCACHABLE_BIT + PCHIP_PCI0_MEMORY #define TSUNAMI_PCI0_IO TSUNAMI_UNCACHABLE_BIT + PCHIP_PCI0_IO // UART Defines //Relates to whether the kernel wants an interrupt when data is available #define UART_IER_RDI 0x01 #define UART_IER_THRI 0x02 #define UART_IER_RLSI 0x04 #define UART_LSR_TEMT 0x40 #define UART_LSR_THRE 0x20 #define UART_LSR_DR 0x01 #define UART_MCR_LOOP 0x10 // System Control PortB Status Bits #define PORTB_SPKR_HIGH 0x20 #endif // __MALTAREG_H__