1 1.1 jkunz /* $Id: imx23_uartdbgreg.h,v 1.1 2012/11/20 19:06:14 jkunz Exp $ */ 2 1.1 jkunz 3 1.1 jkunz /* 4 1.1 jkunz * Copyright (c) 2012 The NetBSD Foundation, Inc. 5 1.1 jkunz * All rights reserved. 6 1.1 jkunz * 7 1.1 jkunz * This code is derived from software contributed to The NetBSD Foundation 8 1.1 jkunz * by Petri Laakso. 9 1.1 jkunz * 10 1.1 jkunz * Redistribution and use in source and binary forms, with or without 11 1.1 jkunz * modification, are permitted provided that the following conditions 12 1.1 jkunz * are met: 13 1.1 jkunz * 1. Redistributions of source code must retain the above copyright 14 1.1 jkunz * notice, this list of conditions and the following disclaimer. 15 1.1 jkunz * 2. Redistributions in binary form must reproduce the above copyright 16 1.1 jkunz * notice, this list of conditions and the following disclaimer in the 17 1.1 jkunz * documentation and/or other materials provided with the distribution. 18 1.1 jkunz * 19 1.1 jkunz * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20 1.1 jkunz * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21 1.1 jkunz * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 22 1.1 jkunz * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 23 1.1 jkunz * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 1.1 jkunz * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 1.1 jkunz * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 1.1 jkunz * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 1.1 jkunz * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 1.1 jkunz * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 1.1 jkunz * POSSIBILITY OF SUCH DAMAGE. 30 1.1 jkunz */ 31 1.1 jkunz 32 1.1 jkunz #ifndef _ARM_IMX_IMX23_UARTDBGREG_H_ 33 1.1 jkunz #define _ARM_IMX_IMX23_UARTDBGREG_H_ 34 1.1 jkunz 35 1.1 jkunz #ifdef _LOCORE 36 1.1 jkunz #include <machine/asm.h> 37 1.1 jkunz #else 38 1.1 jkunz #include <sys/cdefs.h> 39 1.1 jkunz #endif /* !_LOCORE */ 40 1.1 jkunz 41 1.1 jkunz #define HW_UARTDBG_BASE 0x80070000 42 1.1 jkunz #define HW_UARTDBG_SIZE 0x00002000 /* 8kB */ 43 1.1 jkunz 44 1.1 jkunz /* 45 1.1 jkunz * UART Data Register. 46 1.1 jkunz */ 47 1.1 jkunz #define HW_UARTDBGDR 0x000 48 1.1 jkunz 49 1.1 jkunz #define HW_UARTDBGDR_UNAVAILABLE __BITS(31, 16) 50 1.1 jkunz #define HW_UARTDBGDR_RESERVED __BITS(15, 12) 51 1.1 jkunz #define HW_UARTDBGDR_OE __BIT(11) 52 1.1 jkunz #define HW_UARTDBGDR_BE __BIT(10) 53 1.1 jkunz #define HW_UARTDBGDR_PE __BIT(9) 54 1.1 jkunz #define HW_UARTDBGDR_FE __BIT(8) 55 1.1 jkunz #define HW_UARTDBGDR_DATA __BITS(7,0) 56 1.1 jkunz 57 1.1 jkunz /* 58 1.1 jkunz * UART Receive Status Register. 59 1.1 jkunz */ 60 1.1 jkunz #define HW_UARTDBGRSR_ECR 0x004 61 1.1 jkunz 62 1.1 jkunz #define HW_UARTDBGRSR_ECR_UNAVAILABLE __BITS(31, 8) 63 1.1 jkunz #define HW_UARTDBGRSR_ECR_EC __BITS(7, 4) 64 1.1 jkunz #define HW_UARTDBGRSR_ECR_OE __BIT(3) 65 1.1 jkunz #define HW_UARTDBGRSR_ECR_BE __BIT(2) 66 1.1 jkunz #define HW_UARTDBGRSR_ECR_PE __BIT(1) 67 1.1 jkunz #define HW_UARTDBGRSR_ECR_FE __BIT(0) 68 1.1 jkunz 69 1.1 jkunz /* 70 1.1 jkunz * UART Flag Register. 71 1.1 jkunz */ 72 1.1 jkunz #define HW_UARTDBGFR 0x018 73 1.1 jkunz 74 1.1 jkunz #define HW_UARTDBGFR_RUNAVAILABLE __BITS(31, 16) 75 1.1 jkunz #define HW_UARTDBGFR_RESERVED __BITS(15, 9) 76 1.1 jkunz #define HW_UARTDBGFR_RI __BIT(8) 77 1.1 jkunz #define HW_UARTDBGFR_TXFE __BIT(7) 78 1.1 jkunz #define HW_UARTDBGFR_RXFF __BIT(6) 79 1.1 jkunz #define HW_UARTDBGFR_TXFF __BIT(5) 80 1.1 jkunz #define HW_UARTDBGFR_RXFE __BIT(4) 81 1.1 jkunz #define HW_UARTDBGFR_BUSY __BIT(3) 82 1.1 jkunz #define HW_UARTDBGFR_DCD __BIT(2) 83 1.1 jkunz #define HW_UARTDBGFR_DSR __BIT(1) 84 1.1 jkunz #define HW_UARTDBGFR_CTS __BIT(0) 85 1.1 jkunz 86 1.1 jkunz /* 87 1.1 jkunz * UART IrDA Low-Power Counter Register. 88 1.1 jkunz */ 89 1.1 jkunz #define HW_UARTDBGILPR 0x020 90 1.1 jkunz 91 1.1 jkunz #define HW_UARTDBGILPR_UNAVAILABLE __BITS(31, 8) 92 1.1 jkunz #define HW_UARTDBGILPR_ILPDVSR __BIT(7, 0) 93 1.1 jkunz 94 1.1 jkunz /* 95 1.1 jkunz * UART Integer Baud Rate Divisor Register. 96 1.1 jkunz */ 97 1.1 jkunz #define HW_UARTDBGIBRD 0x024 98 1.1 jkunz 99 1.1 jkunz #define HW_UARTDBGIBRD_UNAVAILABLE __BITS(31, 16) 100 1.1 jkunz #define HW_UARTDBGIBRD_BAUD_DIVINT __BITS(15, 0) 101 1.1 jkunz 102 1.1 jkunz /* 103 1.1 jkunz * UART Fractional Baud Rate Divisor Register. 104 1.1 jkunz */ 105 1.1 jkunz #define HW_UARTDBGFBRD 0x028 106 1.1 jkunz 107 1.1 jkunz #define HW_UARTDBGFBRD_UNAVAILABLE __BITS(31, 8) 108 1.1 jkunz #define HW_UARTDBGFBRD_RESERVED __BITS(7, 6) 109 1.1 jkunz #define HW_UARTDBGFBRD_BAUD_DIVFRAC __BITS(5, 0) 110 1.1 jkunz 111 1.1 jkunz /* 112 1.1 jkunz * UART Line Control Register. 113 1.1 jkunz */ 114 1.1 jkunz #define HW_UARTDBGLCR_H 0x02C 115 1.1 jkunz 116 1.1 jkunz #define HW_UARTDBGLCR_H_UNAVAILABLE __BITS(31, 16) 117 1.1 jkunz #define HW_UARTDBGLCR_H_RESERVED __BITS(15, 8) 118 1.1 jkunz #define HW_UARTDBGLCR_H_SPS __BIT(7) 119 1.1 jkunz #define HW_UARTDBGLCR_H_WLEN __BITS(6, 5) 120 1.1 jkunz #define HW_UARTDBGLCR_H_FEN __BIT(4) 121 1.1 jkunz #define HW_UARTDBGLCR_H_STP2 __BIT(3) 122 1.1 jkunz #define HW_UARTDBGLCR_H_EPS __BIT(2) 123 1.1 jkunz #define HW_UARTDBGLCR_H_PEN __BIT(1) 124 1.1 jkunz #define HW_UARTDBGLCR_H_BRK __BIT(0) 125 1.1 jkunz 126 1.1 jkunz /* 127 1.1 jkunz * UART Control Register. 128 1.1 jkunz */ 129 1.1 jkunz #define HW_UARTDBGCR 0x030 130 1.1 jkunz 131 1.1 jkunz #define HW_UARTDBGCR_UNAVAILABLE __BITS(31, 16) 132 1.1 jkunz #define HW_UARTDBGCR_CTSEN __BIT(15) 133 1.1 jkunz #define HW_UARTDBGCR_RTSEN __BIT(14) 134 1.1 jkunz #define HW_UARTDBGCR_OUT2 __BIT(13) 135 1.1 jkunz #define HW_UARTDBGCR_OUT1 __BIT(12) 136 1.1 jkunz #define HW_UARTDBGCR_RTS __BIT(11) 137 1.1 jkunz #define HW_UARTDBGCR_DTR __BIT(10) 138 1.1 jkunz #define HW_UARTDBGCR_RXE __BIT(9) 139 1.1 jkunz #define HW_UARTDBGCR_TXE __BIT(8) 140 1.1 jkunz #define HW_UARTDBGCR_LBE __BIT(7) 141 1.1 jkunz #define HW_UARTDBGCR_RESERVED __BITS(6, 3) 142 1.1 jkunz #define HW_UARTDBGCR_SIRLP __BIT(2) 143 1.1 jkunz #define HW_UARTDBGCR_SIREN __BIT(1) 144 1.1 jkunz #define HW_UARTDBGCR_UARTEN __BIT(0) 145 1.1 jkunz 146 1.1 jkunz /* 147 1.1 jkunz * UART Interrupt FIFO Level Select Register. 148 1.1 jkunz */ 149 1.1 jkunz #define HW_UARTDBGIFLS 0x034 150 1.1 jkunz 151 1.1 jkunz #define HW_UARTDBGIFLS_UNAVAILABLE __BITS(31, 16) 152 1.1 jkunz #define HW_UARTDBGIFLS_RESERVED __BITS(15, 6) 153 1.1 jkunz #define HW_UARTDBGIFLS_RXIFLSEL __BITS(5, 3) 154 1.1 jkunz #define HW_UARTDBGIFLS_TXIFLSEL __BITS(2, 0) 155 1.1 jkunz 156 1.1 jkunz /* 157 1.1 jkunz * UART Interrupt Mask Set/Clear Register. 158 1.1 jkunz */ 159 1.1 jkunz #define HW_UARTDBGIMSC 0x038 160 1.1 jkunz 161 1.1 jkunz #define HW_UARTDBGIMSC_UNAVAILABLE __BITS(31, 16) 162 1.1 jkunz #define HW_UARTDBGIMSC_RESERVED __BITS(15, 11) 163 1.1 jkunz #define HW_UARTDBGIMSC_OEIM __BIT(10) 164 1.1 jkunz #define HW_UARTDBGIMSC_BEIM __BIT(9) 165 1.1 jkunz #define HW_UARTDBGIMSC_PEIM __BIT(8) 166 1.1 jkunz #define HW_UARTDBGIMSC_FEIM __BIT(7) 167 1.1 jkunz #define HW_UARTDBGIMSC_RTIM __BIT(6) 168 1.1 jkunz #define HW_UARTDBGIMSC_TXIM __BIT(5) 169 1.1 jkunz #define HW_UARTDBGIMSC_RXIM __BIT(4) 170 1.1 jkunz #define HW_UARTDBGIMSC_DSRMIM __BIT(3) 171 1.1 jkunz #define HW_UARTDBGIMSC_DCDMIM __BIT(2) 172 1.1 jkunz #define HW_UARTDBGIMSC_CTSMIM __BIT(1) 173 1.1 jkunz #define HW_UARTDBGIMSC_RIMIM __BIT(0) 174 1.1 jkunz 175 1.1 jkunz /* 176 1.1 jkunz * UART Raw Interrupt Status Register. 177 1.1 jkunz */ 178 1.1 jkunz #define HW_UARTDBGRIS 0x03C 179 1.1 jkunz 180 1.1 jkunz #define HW_UARTDBGRIS_UNAVAILABLE __BITS(31, 16) 181 1.1 jkunz #define HW_UARTDBGRIS_RESERVED __BITS(15, 11) 182 1.1 jkunz #define HW_UARTDBGRIS_OERIS __BIT(10) 183 1.1 jkunz #define HW_UARTDBGRIS_BERIS __BIT(9) 184 1.1 jkunz #define HW_UARTDBGRIS_PERIS __BIT(8) 185 1.1 jkunz #define HW_UARTDBGRIS_FERIS __BIT(7) 186 1.1 jkunz #define HW_UARTDBGRIS_RTRIS __BIT(6) 187 1.1 jkunz #define HW_UARTDBGRIS_TXRIS __BIT(5) 188 1.1 jkunz #define HW_UARTDBGRIS_RXRIS __BIT(4) 189 1.1 jkunz #define HW_UARTDBGRIS_DSRRMIS __BIT(3) 190 1.1 jkunz #define HW_UARTDBGRIS_DCDRMIS __BIT(2) 191 1.1 jkunz #define HW_UARTDBGRIS_CTSRMIS __BIT(1) 192 1.1 jkunz #define HW_UARTDBGRIS_RIRMIS __BIT(0) 193 1.1 jkunz 194 1.1 jkunz /* 195 1.1 jkunz * UART Masked Interrupt Status Register. 196 1.1 jkunz */ 197 1.1 jkunz #define HW_UARTDBGMIS 0x040 198 1.1 jkunz 199 1.1 jkunz #define HW_UARTDBGMIS_UNAVAILABLE __BITS(31, 16) 200 1.1 jkunz #define HW_UARTDBGMIS_RESERVED __BITS(15, 11) 201 1.1 jkunz #define HW_UARTDBGMIS_OEMIS __BIT(10) 202 1.1 jkunz #define HW_UARTDBGMIS_BEMIS __BIT(9) 203 1.1 jkunz #define HW_UARTDBGMIS_PEMIS __BIT(8) 204 1.1 jkunz #define HW_UARTDBGMIS_FEMIS __BIT(7) 205 1.1 jkunz #define HW_UARTDBGMIS_RTMIS __BIT(6) 206 1.1 jkunz #define HW_UARTDBGMIS_TXMIS __BIT(5) 207 1.1 jkunz #define HW_UARTDBGMIS_RXMIS __BIT(4) 208 1.1 jkunz #define HW_UARTDBGMIS_DSRMMIS __BIT(3) 209 1.1 jkunz #define HW_UARTDBGMIS_DCDMMIS __BIT(2) 210 1.1 jkunz #define HW_UARTDBGMIS_CTSMMIS __BIT(1) 211 1.1 jkunz #define HW_UARTDBGMIS_RIMMIS __BIT(0) 212 1.1 jkunz 213 1.1 jkunz /* 214 1.1 jkunz * UART Interrupt Clear Register. 215 1.1 jkunz */ 216 1.1 jkunz #define HW_UARTDBGICR 0x044 217 1.1 jkunz 218 1.1 jkunz #define HW_UARTDBGICR_UNAVAILABLE __BITS(31, 16) 219 1.1 jkunz #define HW_UARTDBGICR_RESERVED __BITS(15, 11) 220 1.1 jkunz #define HW_UARTDBGICR_OEIC __BIT(10) 221 1.1 jkunz #define HW_UARTDBGICR_BEIC __BIT(9) 222 1.1 jkunz #define HW_UARTDBGICR_PEIC __BIT(8) 223 1.1 jkunz #define HW_UARTDBGICR_FEIC __BIT(7) 224 1.1 jkunz #define HW_UARTDBGICR_RTIC __BIT(6) 225 1.1 jkunz #define HW_UARTDBGICR_TXIC __BIT(5) 226 1.1 jkunz #define HW_UARTDBGICR_RXIC __BIT(4) 227 1.1 jkunz #define HW_UARTDBGICR_DSRMIC __BIT(3) 228 1.1 jkunz #define HW_UARTDBGICR_DCDMIC __BIT(2) 229 1.1 jkunz #define HW_UARTDBGICR_CTSMIC __BIT(1) 230 1.1 jkunz #define HW_UARTDBGICR_RIMIC __BIT(0) 231 1.1 jkunz 232 1.1 jkunz /* 233 1.1 jkunz * UART DMA Control Register. 234 1.1 jkunz */ 235 1.1 jkunz #define HW_UARTDBGDMACR 0x048 236 1.1 jkunz 237 1.1 jkunz #define HW_UARTDBGDMACR_UNAVAILABLE __BITS(31, 16) 238 1.1 jkunz #define HW_UARTDBGDMACR_RESERVED __BITS(15, 3) 239 1.1 jkunz #define HW_UARTDBGDMACR_DMAONERR __BIT(2) 240 1.1 jkunz #define HW_UARTDBGDMACR_TXDMAE __BIT(1) 241 1.1 jkunz #define HW_UARTDBGDMACR_RXDMAE __BIT(0) 242 1.1 jkunz 243 1.1 jkunz #endif /* !_ARM_IMX_IMX23_UARTDBGREG_H_ */ 244