1 1.5 andvar /* $NetBSD: plumicureg.h,v 1.5 2022/05/31 11:22:33 andvar Exp $ */ 2 1.1 uch 3 1.3 uch /*- 4 1.3 uch * Copyright (c) 1999 The NetBSD Foundation, Inc. 5 1.1 uch * All rights reserved. 6 1.1 uch * 7 1.3 uch * This code is derived from software contributed to The NetBSD Foundation 8 1.3 uch * by UCHIYAMA Yasushi. 9 1.3 uch * 10 1.1 uch * Redistribution and use in source and binary forms, with or without 11 1.1 uch * modification, are permitted provided that the following conditions 12 1.1 uch * are met: 13 1.1 uch * 1. Redistributions of source code must retain the above copyright 14 1.1 uch * notice, this list of conditions and the following disclaimer. 15 1.3 uch * 2. Redistributions in binary form must reproduce the above copyright 16 1.3 uch * notice, this list of conditions and the following disclaimer in the 17 1.3 uch * documentation and/or other materials provided with the distribution. 18 1.1 uch * 19 1.3 uch * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20 1.3 uch * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21 1.3 uch * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22 1.3 uch * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 23 1.3 uch * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 1.3 uch * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 1.3 uch * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 1.3 uch * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 1.3 uch * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 1.3 uch * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 1.3 uch * POSSIBILITY OF SUCH DAMAGE. 30 1.1 uch */ 31 1.1 uch 32 1.1 uch /* 33 1.2 uch * PLUM2 INTERRUPT CONTROLLER UNIT 34 1.1 uch */ 35 1.1 uch #define PLUM_INT_REGBASE 0x8000 36 1.1 uch #define PLUM_INT_REGSIZE 0x1000 37 1.1 uch 38 1.2 uch /* 39 1.2 uch * Interrupt status register 40 1.2 uch */ 41 1.1 uch #define PLUM_INT_INTSTA_REG 0x000 42 1.1 uch #define PLUM_INT_INTSTA_EXTINT 0x00000080 43 1.1 uch #define PLUM_INT_INTSTA_SMINT 0x00000040 44 1.1 uch #define PLUM_INT_INTSTA_USBWAKE 0x00000020 45 1.1 uch #define PLUM_INT_INTSTA_USBINT 0x00000010 46 1.1 uch #define PLUM_INT_INTSTA_DISPINT 0x00000008 47 1.1 uch #define PLUM_INT_INTSTA_C2SCINT 0x00000004 48 1.1 uch #define PLUM_INT_INTSTA_C1SCINT 0x00000002 49 1.1 uch #define PLUM_INT_INTSTA_PCCINT 0x00000001 50 1.1 uch 51 1.2 uch /* 52 1.2 uch * Interrupt enable register 53 1.2 uch */ 54 1.1 uch #define PLUM_INT_INTIEN_REG 0x010 55 1.1 uch #define PLUM_INT_INTIEN 0x00000001 56 1.1 uch 57 1.2 uch /* 58 1.2 uch * External interrupts 59 1.2 uch */ 60 1.1 uch /* outside input interrupt status register */ 61 1.1 uch #define PLUM_INT_EXTINTS_REG 0x100 62 1.1 uch 63 1.2 uch #define PLUM_INT_EXTINTS_IO3INT1 0x00000020 64 1.2 uch #define PLUM_INT_EXTINTS_IO3INT0 0x00000010 65 1.2 uch #define PLUM_INT_EXTINTS_IO5INT3 0x00000008 66 1.2 uch #define PLUM_INT_EXTINTS_IO5INT2 0x00000004 67 1.2 uch #define PLUM_INT_EXTINTS_IO5INT1 0x00000002 68 1.2 uch #define PLUM_INT_EXTINTS_IO5INT0 0x00000001 69 1.2 uch 70 1.2 uch /* outside input interrupt status register (after the mask) */ 71 1.1 uch #define PLUM_INT_EXTINTM_REG 0x104 72 1.2 uch 73 1.2 uch /* interrupt enable register from the outside input */ 74 1.1 uch #define PLUM_INT_EXTIEN_REG 0x110 75 1.1 uch 76 1.2 uch #define PLUM_INT_EXTIEN_IENIO3INT1 0x00000020 77 1.2 uch #define PLUM_INT_EXTIEN_IENIO3INT0 0x00000010 78 1.2 uch #define PLUM_INT_EXTIEN_IENIO5INT3 0x00000008 79 1.2 uch #define PLUM_INT_EXTIEN_IENIO5INT2 0x00000004 80 1.2 uch #define PLUM_INT_EXTIEN_IENIO5INT1 0x00000002 81 1.2 uch #define PLUM_INT_EXTIEN_IENIO5INT0 0x00000001 82 1.2 uch 83 1.2 uch #define PLUM_INT_EXTIEN_SENIO3INT1 0x00002000 84 1.2 uch #define PLUM_INT_EXTIEN_SENIO3INT0 0x00001000 85 1.2 uch #define PLUM_INT_EXTIEN_SENIO5INT3 0x00000800 86 1.2 uch #define PLUM_INT_EXTIEN_SENIO5INT2 0x00000400 87 1.2 uch #define PLUM_INT_EXTIEN_SENIO5INT1 0x00000200 88 1.2 uch #define PLUM_INT_EXTIEN_SENIO5INT0 0x00000100 89 1.1 uch 90 1.2 uch /* 91 1.2 uch * PC-card interrupts 92 1.2 uch */ 93 1.1 uch /* PC-card interrupt status register */ 94 1.1 uch #define PLUM_INT_PCCINTS_REG 0x200 95 1.2 uch 96 1.1 uch #define PLUM_INT_PCCINTS_C2RI 0x00000008 97 1.1 uch #define PLUM_INT_PCCINTS_C2IO 0x00000004 98 1.1 uch #define PLUM_INT_PCCINTS_C1RI 0x00000002 99 1.1 uch #define PLUM_INT_PCCINTS_C1IO 0x00000001 100 1.1 uch 101 1.1 uch /* PC-card interrupt status register (masked) */ 102 1.1 uch #define PLUM_INT_PCCINTM_REG 0x204 103 1.1 uch /* PC-card interrupt enable register */ 104 1.1 uch #define PLUM_INT_PCCIEN_REG 0x210 105 1.1 uch 106 1.2 uch #define PLUM_INT_PCCIEN_SENC2RI 0x00000800 107 1.2 uch #define PLUM_INT_PCCIEN_SENC2IO 0x00000400 108 1.2 uch #define PLUM_INT_PCCIEN_SENC1RI 0x00000200 109 1.2 uch #define PLUM_INT_PCCIEN_SENC1IO 0x00000100 110 1.1 uch #define PLUM_INT_PCCIEN_IENC2RI 0x00000008 111 1.1 uch #define PLUM_INT_PCCIEN_IENC2IO 0x00000004 112 1.1 uch #define PLUM_INT_PCCIEN_IENC1RI 0x00000002 113 1.1 uch #define PLUM_INT_PCCIEN_IENC1IO 0x00000001 114 1.1 uch 115 1.1 uch /* PC-card interrupt detection register */ 116 1.1 uch #define PLUM_INT_PCCLKSL_REG 0x220 117 1.1 uch #define PLUM_INT_PCCLKSL_RTC 0x00000001 /*(for suspend mode)*/ 118 1.1 uch 119 1.2 uch /* 120 1.2 uch * USB interrupts 121 1.2 uch */ 122 1.1 uch /* USB interrupt enable register */ 123 1.1 uch #define PLUM_INT_USBINTEN_REG 0x310 124 1.1 uch 125 1.2 uch /* master-enables the USB interrupts */ 126 1.2 uch #define PLUM_INT_USBINTEN_IEN 0x00000002 127 1.5 andvar /* enables the clock restart request interrupts */ 128 1.2 uch #define PLUM_INT_USBINTEN_WIEN 0x00000001 129 1.1 uch 130 1.2 uch /* 131 1.2 uch * SmartMedia interrupts 132 1.2 uch */ 133 1.1 uch /* SmartMedia interrupt enable register */ 134 1.1 uch #define PLUM_INT_SMIEN_REG 0x410 135 1.1 uch 136 1.1 uch #define PLUM_INT_SMIEN 0x00000001 137