| /* | 
 |  * 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__ |