1 1.5 gdamore /* $NetBSD: dbau1550reg.h,v 1.5 2006/10/02 08:13:53 gdamore Exp $ */ 2 1.2 gdamore 3 1.2 gdamore /*- 4 1.2 gdamore * Copyright (c) 2006 Itronix Inc. 5 1.2 gdamore * All rights reserved. 6 1.2 gdamore * 7 1.2 gdamore * Written by Garrett D'Amore for Itronix Inc. 8 1.2 gdamore * 9 1.2 gdamore * Redistribution and use in source and binary forms, with or without 10 1.2 gdamore * modification, are permitted provided that the following conditions 11 1.2 gdamore * are met: 12 1.2 gdamore * 1. Redistributions of source code must retain the above copyright 13 1.2 gdamore * notice, this list of conditions and the following disclaimer. 14 1.2 gdamore * 2. Redistributions in binary form must reproduce the above copyright 15 1.2 gdamore * notice, this list of conditions and the following disclaimer in the 16 1.2 gdamore * documentation and/or other materials provided with the distribution. 17 1.2 gdamore * 3. The name of Itronix Inc. may not be used to endorse 18 1.2 gdamore * or promote products derived from this software without specific 19 1.2 gdamore * prior written permission. 20 1.2 gdamore * 21 1.2 gdamore * THIS SOFTWARE IS PROVIDED BY ITRONIX INC. ``AS IS'' AND 22 1.2 gdamore * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 23 1.2 gdamore * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 24 1.2 gdamore * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ITRONIX INC. BE LIABLE FOR ANY 25 1.2 gdamore * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 1.2 gdamore * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 1.2 gdamore * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 28 1.2 gdamore * ON ANY THEORY OF LIABILITY, WHETHER IN 29 1.2 gdamore * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30 1.2 gdamore * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 1.2 gdamore * POSSIBILITY OF SUCH DAMAGE. 32 1.2 gdamore */ 33 1.1 gdamore 34 1.1 gdamore /* 35 1.1 gdamore * Board-specific registers for DBAu1550. 36 1.1 gdamore */ 37 1.1 gdamore 38 1.3 gdamore #define DBAU1550_WHOAMI 0x0F000000 39 1.3 gdamore #define DBAU1550_STATUS 0x0F000004 40 1.3 gdamore #define DBAU1550_SWITCHES 0x0F000008 41 1.3 gdamore #define DBAU1550_RESETS 0x0F00000C 42 1.4 gdamore #define DBAU1550_PCMCIA 0x0F000010 43 1.3 gdamore #define DBAU1550_BOARD_SPECIFIC 0x0F000014 44 1.3 gdamore #define DBAU1550_DISC_LEDS 0x0F000018 45 1.3 gdamore #define DBAU1550_SOFTWARE_RESET 0x0F00001C 46 1.3 gdamore #define DBAU1550_HEX_LEDS 0x0F400000 47 1.3 gdamore #define DBAU1550_HEX_BLANK 0x0F400008 48 1.3 gdamore 49 1.3 gdamore /* 50 1.3 gdamore * DBAU1550_WHOAMI 51 1.3 gdamore */ 52 1.4 gdamore #define DBAU1550_WHOAMI_BOARD_MASK 0x0f00 53 1.1 gdamore #define DBAU1550_WHOAMI_PB1500_REV1 0x1 54 1.1 gdamore #define DBAU1550_WHOAMI_PB1500_REV2 0x2 55 1.1 gdamore #define DBAU1550_WHOAMI_PB1100 0x3 56 1.1 gdamore #define DBAU1550_WHOAMI_DBAU1000 0x4 57 1.1 gdamore #define DBAU1550_WHOAMI_DBAU1100 0x5 58 1.1 gdamore #define DBAU1550_WHOAMI_DBAU1500 0x6 59 1.1 gdamore #define DBAU1550_WHOAMI_DBAU1550_REV1 0x7 60 1.1 gdamore #define DBAU1550_WHOAMI_PB1550_DDR 0x8 61 1.1 gdamore #define DBAU1550_WHOAMI_PB1550_SDR 0x9 62 1.1 gdamore 63 1.1 gdamore #define DBAU1550_WHOAMI_BOARD(x) (((x) >> 8) & 0xf) 64 1.1 gdamore #define DBAU1550_WHOAMI_CPLD(x) (((x) >> 4) & 0xf) 65 1.1 gdamore #define DBAU1550_WHOAMI_DAUGHTER(x) ((x) & 0xf) 66 1.1 gdamore 67 1.3 gdamore /* 68 1.3 gdamore * DBAU1550_BCSR 69 1.3 gdamore */ 70 1.4 gdamore #define DBAU1550_STATUS_SWAPBOOT (1 << 13) 71 1.4 gdamore #define DBAU1550_STATUS_PCMCIA1_INSERTED (1 << 5) 72 1.4 gdamore #define DBAU1550_STATUS_PCMCIA0_INSERTED (1 << 4) 73 1.4 gdamore #define DBAU1550_STATUS_PCMCIA_VS_MASK 0x0003 74 1.4 gdamore #define DBAU1550_STATUS_PCMCIA1_VS_SHIFT 2 75 1.4 gdamore #define DBAU1550_STATUS_PCMCIA0_VS_SHIFT 0 76 1.4 gdamore #define DBAU1550_STATUS_PCMCIA_VS_3V_X 0 77 1.4 gdamore #define DBAU1550_STATUS_PCMCIA_VS_3V 2 78 1.4 gdamore #define DBAU1550_STATUS_PCMCIA_VS_GND 1 79 1.4 gdamore #define DBAU1550_STATUS_PCMCIA_VS_5V 3 80 1.3 gdamore 81 1.3 gdamore /* 82 1.3 gdamore * DBAU1550_BOARD_SPECIFIC 83 1.3 gdamore */ 84 1.5 gdamore #define DBAU1550_SPI_DEV_SEL (1 << 13) 85 1.3 gdamore #define DBAU1550_PCI_CFG_HOST (1 << 12) 86 1.3 gdamore #define DBAU1550_PCI_EN_GPIO200_RST (1 << 10) 87 1.3 gdamore #define DBAU1550_PCI_M33 (1 << 8) 88 1.3 gdamore #define DBAU1550_PCI_M66EN (1 << 0) 89 1.3 gdamore 90 1.3 gdamore /* 91 1.3 gdamore * DBAU1550_SOFTWARE_RESET 92 1.3 gdamore */ 93 1.3 gdamore #define DBAU1550_SOFTWARE_RESET_RESET (1 << 15) 94 1.3 gdamore #define DBAU1550_SOFTWARE_RESET_PWROFF (1 << 14) 95 1.4 gdamore 96 1.4 gdamore /* 97 1.4 gdamore * DBAU1550_PCMCIA - note that upper byte is PCMCIA1 and lower is PCMCIA0 98 1.4 gdamore */ 99 1.4 gdamore #define DBAU1550_PCMCIA_PC1_SHIFT (8) 100 1.4 gdamore #define DBAU1550_PCMCIA_PC0_SHIFT (0) 101 1.4 gdamore #define DBAU1550_PCMCIA_MASK 0xff 102 1.4 gdamore 103 1.4 gdamore #define DBAU1550_PCMCIA_RST (1 << 7) 104 1.4 gdamore #define DBAU1550_PCMCIA_DRV_EN (1 << 4) 105 1.4 gdamore /* vcc */ 106 1.4 gdamore #define DBAU1550_PCMCIA_VCC_GND (0 << 2) 107 1.4 gdamore #define DBAU1550_PCMCIA_VCC_3V (1 << 2) 108 1.4 gdamore #define DBAU1550_PCMCIA_VCC_5V (2 << 2) 109 1.4 gdamore /* vpp */ 110 1.4 gdamore #define DBAU1550_PCMCIA_VPP_GND (0 << 0) 111 1.4 gdamore #define DBAU1550_PCMCIA_VPP_VCC (1 << 0) 112 1.4 gdamore #define DBAU1550_PCMCIA_VPP_12V (2 << 0) 113 1.4 gdamore #define DBAU1550_PCMCIA_VPP_HIZ (3 << 0) 114 1.4 gdamore 115 1.4 gdamore /* 116 1.4 gdamore * Address offsets used to select a PCMCIA slot. 117 1.4 gdamore */ 118 1.4 gdamore #define DBAU1550_PC0_ADDR (0) 119 1.4 gdamore #define DBAU1550_PC1_ADDR (1 << 26) 120