1 1.2 msaitoh /* $NetBSD: if_urereg.h,v 1.2 2019/04/12 03:32:06 msaitoh Exp $ */ 2 1.1 rin /* $OpenBSD: if_urereg.h,v 1.5 2018/11/02 21:32:30 jcs Exp $ */ 3 1.1 rin /*- 4 1.1 rin * Copyright (c) 2015-2016 Kevin Lo <kevlo (at) FreeBSD.org> 5 1.1 rin * All rights reserved. 6 1.1 rin * 7 1.1 rin * Redistribution and use in source and binary forms, with or without 8 1.1 rin * modification, are permitted provided that the following conditions 9 1.1 rin * are met: 10 1.1 rin * 1. Redistributions of source code must retain the above copyright 11 1.1 rin * notice, this list of conditions and the following disclaimer. 12 1.1 rin * 2. Redistributions in binary form must reproduce the above copyright 13 1.1 rin * notice, this list of conditions and the following disclaimer in the 14 1.1 rin * documentation and/or other materials provided with the distribution. 15 1.1 rin * 16 1.1 rin * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17 1.1 rin * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 1.1 rin * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 1.1 rin * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20 1.1 rin * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 1.1 rin * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 1.1 rin * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 1.1 rin * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 1.1 rin * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 1.1 rin * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 1.1 rin * SUCH DAMAGE. 27 1.1 rin * 28 1.1 rin * $FreeBSD$ 29 1.1 rin */ 30 1.1 rin 31 1.1 rin #define URE_CONFIG_IDX 0 /* config number 1 */ 32 1.1 rin #define URE_IFACE_IDX 0 33 1.1 rin 34 1.1 rin #define URE_CTL_READ 0x01 35 1.1 rin #define URE_CTL_WRITE 0x02 36 1.1 rin 37 1.1 rin #define URE_TIMEOUT 1000 38 1.1 rin #define URE_PHY_TIMEOUT 2000 39 1.1 rin 40 1.1 rin #define URE_BYTE_EN_DWORD 0xff 41 1.1 rin #define URE_BYTE_EN_WORD 0x33 42 1.1 rin #define URE_BYTE_EN_BYTE 0x11 43 1.1 rin #define URE_BYTE_EN_SIX_BYTES 0x3f 44 1.1 rin 45 1.1 rin #define URE_MAX_FRAMELEN (ETHER_MAX_LEN + ETHER_VLAN_ENCAP_LEN) 46 1.1 rin 47 1.1 rin #define URE_PLA_IDR 0xc000 48 1.1 rin #define URE_PLA_RCR 0xc010 49 1.1 rin #define URE_PLA_RMS 0xc016 50 1.1 rin #define URE_PLA_RXFIFO_CTRL0 0xc0a0 51 1.1 rin #define URE_PLA_RXFIFO_CTRL1 0xc0a4 52 1.1 rin #define URE_PLA_RXFIFO_CTRL2 0xc0a8 53 1.1 rin #define URE_PLA_DMY_REG0 0xc0b0 54 1.1 rin #define URE_PLA_FMC 0xc0b4 55 1.1 rin #define URE_PLA_CFG_WOL 0xc0b6 56 1.1 rin #define URE_PLA_TEREDO_CFG 0xc0bc 57 1.1 rin #define URE_PLA_MAR0 0xcd00 58 1.1 rin #define URE_PLA_MAR4 0xcd04 59 1.1 rin #define URE_PLA_BACKUP 0xd000 60 1.1 rin #define URE_PLA_BDC_CR 0xd1a0 61 1.1 rin #define URE_PLA_TEREDO_TIMER 0xd2cc 62 1.1 rin #define URE_PLA_REALWOW_TIMER 0xd2e8 63 1.1 rin #define URE_PLA_LEDSEL 0xdd90 64 1.1 rin #define URE_PLA_LED_FEATURE 0xdd92 65 1.1 rin #define URE_PLA_PHYAR 0xde00 66 1.1 rin #define URE_PLA_BOOT_CTRL 0xe004 67 1.1 rin #define URE_PLA_GPHY_INTR_IMR 0xe022 68 1.1 rin #define URE_PLA_EEE_CR 0xe040 69 1.1 rin #define URE_PLA_EEEP_CR 0xe080 70 1.1 rin #define URE_PLA_MAC_PWR_CTRL 0xe0c0 71 1.1 rin #define URE_PLA_MAC_PWR_CTRL2 0xe0ca 72 1.1 rin #define URE_PLA_MAC_PWR_CTRL3 0xe0cc 73 1.1 rin #define URE_PLA_MAC_PWR_CTRL4 0xe0ce 74 1.1 rin #define URE_PLA_WDT6_CTRL 0xe428 75 1.1 rin #define URE_PLA_TCR0 0xe610 76 1.1 rin #define URE_PLA_TCR1 0xe612 77 1.1 rin #define URE_PLA_MTPS 0xe615 78 1.1 rin #define URE_PLA_TXFIFO_CTRL 0xe618 79 1.1 rin #define URE_PLA_RSTTELLY 0xe800 80 1.1 rin #define URE_PLA_CR 0xe813 81 1.1 rin #define URE_PLA_CRWECR 0xe81c 82 1.1 rin #define URE_PLA_CONFIG5 0xe822 83 1.1 rin #define URE_PLA_PHY_PWR 0xe84c 84 1.1 rin #define URE_PLA_OOB_CTRL 0xe84f 85 1.1 rin #define URE_PLA_CPCR 0xe854 86 1.1 rin #define URE_PLA_MISC_0 0xe858 87 1.1 rin #define URE_PLA_MISC_1 0xe85a 88 1.1 rin #define URE_PLA_OCP_GPHY_BASE 0xe86c 89 1.1 rin #define URE_PLA_TELLYCNT 0xe890 90 1.1 rin #define URE_PLA_SFF_STS_7 0xe8de 91 1.1 rin #define URE_PLA_PHYSTATUS 0xe908 92 1.1 rin 93 1.1 rin #define URE_USB_USB2PHY 0xb41e 94 1.1 rin #define URE_USB_SSPHYLINK2 0xb428 95 1.1 rin #define URE_USB_U2P3_CTRL 0xb460 96 1.1 rin #define URE_USB_CSR_DUMMY1 0xb464 97 1.1 rin #define URE_USB_CSR_DUMMY2 0xb466 98 1.1 rin #define URE_USB_DEV_STAT 0xb808 99 1.1 rin #define URE_USB_CONNECT_TIMER 0xcbf8 100 1.1 rin #define URE_USB_BURST_SIZE 0xcfc0 101 1.1 rin #define URE_USB_USB_CTRL 0xd406 102 1.1 rin #define URE_USB_PHY_CTRL 0xd408 103 1.1 rin #define URE_USB_TX_AGG 0xd40a 104 1.1 rin #define URE_USB_RX_BUF_TH 0xd40c 105 1.1 rin #define URE_USB_USB_TIMER 0xd428 106 1.1 rin #define URE_USB_RX_EARLY_AGG 0xd42c 107 1.1 rin #define URE_USB_PM_CTRL_STATUS 0xd432 108 1.1 rin #define URE_USB_TX_DMA 0xd434 109 1.1 rin #define URE_USB_TOLERANCE 0xd490 110 1.1 rin #define URE_USB_LPM_CTRL 0xd41a 111 1.1 rin #define URE_USB_UPS_CTRL 0xd800 112 1.1 rin #define URE_USB_MISC_0 0xd81a 113 1.1 rin #define URE_USB_POWER_CUT 0xd80a 114 1.1 rin #define URE_USB_AFE_CTRL2 0xd824 115 1.1 rin #define URE_USB_WDT11_CTRL 0xe43c 116 1.1 rin 117 1.1 rin /* OCP Registers. */ 118 1.1 rin #define URE_OCP_ALDPS_CONFIG 0x2010 119 1.1 rin #define URE_OCP_EEE_CONFIG1 0x2080 120 1.1 rin #define URE_OCP_EEE_CONFIG2 0x2092 121 1.1 rin #define URE_OCP_EEE_CONFIG3 0x2094 122 1.1 rin #define URE_OCP_BASE_MII 0xa400 123 1.1 rin #define URE_OCP_EEE_AR 0xa41a 124 1.1 rin #define URE_OCP_EEE_DATA 0xa41c 125 1.1 rin #define URE_OCP_PHY_STATUS 0xa420 126 1.1 rin #define URE_OCP_POWER_CFG 0xa430 127 1.1 rin #define URE_OCP_EEE_CFG 0xa432 128 1.1 rin #define URE_OCP_SRAM_ADDR 0xa436 129 1.1 rin #define URE_OCP_SRAM_DATA 0xa438 130 1.1 rin #define URE_OCP_DOWN_SPEED 0xa442 131 1.1 rin #define URE_OCP_EEE_ABLE 0xa5c4 132 1.1 rin #define URE_OCP_EEE_ADV 0xa5d0 133 1.1 rin #define URE_OCP_EEE_LPABLE 0xa5d2 134 1.1 rin #define URE_OCP_PHY_STATE 0xa708 135 1.1 rin #define URE_OCP_ADC_CFG 0xbc06 136 1.1 rin 137 1.1 rin /* SRAM Register. */ 138 1.1 rin #define URE_SRAM_LPF_CFG 0x8012 139 1.1 rin #define URE_SRAM_10M_AMP1 0x8080 140 1.1 rin #define URE_SRAM_10M_AMP2 0x8082 141 1.1 rin #define URE_SRAM_IMPEDANCE 0x8084 142 1.1 rin 143 1.1 rin /* PLA_RCR */ 144 1.1 rin #define URE_RCR_AAP 0x00000001 145 1.1 rin #define URE_RCR_APM 0x00000002 146 1.1 rin #define URE_RCR_AM 0x00000004 147 1.1 rin #define URE_RCR_AB 0x00000008 148 1.1 rin #define URE_RCR_ACPT_ALL \ 149 1.1 rin (URE_RCR_AAP | URE_RCR_APM | URE_RCR_AM | URE_RCR_AB) 150 1.1 rin 151 1.1 rin /* PLA_RXFIFO_CTRL0 */ 152 1.1 rin #define URE_RXFIFO_THR1_NORMAL 0x00080002 153 1.1 rin #define URE_RXFIFO_THR1_OOB 0x01800003 154 1.1 rin 155 1.1 rin /* PLA_RXFIFO_CTRL1 */ 156 1.1 rin #define URE_RXFIFO_THR2_FULL 0x00000060 157 1.1 rin #define URE_RXFIFO_THR2_HIGH 0x00000038 158 1.1 rin #define URE_RXFIFO_THR2_OOB 0x0000004a 159 1.1 rin #define URE_RXFIFO_THR2_NORMAL 0x00a0 160 1.1 rin 161 1.1 rin /* PLA_RXFIFO_CTRL2 */ 162 1.1 rin #define URE_RXFIFO_THR3_FULL 0x00000078 163 1.1 rin #define URE_RXFIFO_THR3_HIGH 0x00000048 164 1.1 rin #define URE_RXFIFO_THR3_OOB 0x0000005a 165 1.1 rin #define URE_RXFIFO_THR3_NORMAL 0x0110 166 1.1 rin 167 1.1 rin /* PLA_TXFIFO_CTRL */ 168 1.1 rin #define URE_TXFIFO_THR_NORMAL 0x00400008 169 1.1 rin #define URE_TXFIFO_THR_NORMAL2 0x01000008 170 1.1 rin 171 1.1 rin /* PLA_DMY_REG0 */ 172 1.1 rin #define URE_ECM_ALDPS 0x0002 173 1.1 rin 174 1.1 rin /* PLA_FMC */ 175 1.1 rin #define URE_FMC_FCR_MCU_EN 0x0001 176 1.1 rin 177 1.1 rin /* PLA_EEEP_CR */ 178 1.1 rin #define URE_EEEP_CR_EEEP_TX 0x0002 179 1.1 rin 180 1.1 rin /* PLA_WDT6_CTRL */ 181 1.2 msaitoh #define URE_WDT6_SET_MODE 0x0010 182 1.1 rin 183 1.1 rin /* PLA_TCR0 */ 184 1.1 rin #define URE_TCR0_TX_EMPTY 0x0800 185 1.1 rin #define URE_TCR0_AUTO_FIFO 0x0080 186 1.1 rin 187 1.1 rin /* PLA_TCR1 */ 188 1.1 rin #define URE_VERSION_MASK 0x7cf0 189 1.1 rin 190 1.1 rin /* PLA_CR */ 191 1.1 rin #define URE_CR_RST 0x10 192 1.1 rin #define URE_CR_RE 0x08 193 1.1 rin #define URE_CR_TE 0x04 194 1.1 rin 195 1.1 rin /* PLA_CRWECR */ 196 1.1 rin #define URE_CRWECR_NORAML 0x00 197 1.1 rin #define URE_CRWECR_CONFIG 0xc0 198 1.1 rin 199 1.1 rin /* PLA_OOB_CTRL */ 200 1.1 rin #define URE_NOW_IS_OOB 0x80 201 1.1 rin #define URE_TXFIFO_EMPTY 0x20 202 1.1 rin #define URE_RXFIFO_EMPTY 0x10 203 1.1 rin #define URE_LINK_LIST_READY 0x02 204 1.1 rin #define URE_DIS_MCU_CLROOB 0x01 205 1.1 rin #define URE_FIFO_EMPTY (URE_TXFIFO_EMPTY | URE_RXFIFO_EMPTY) 206 1.1 rin 207 1.1 rin /* PLA_MISC_1 */ 208 1.1 rin #define URE_RXDY_GATED_EN 0x0008 209 1.1 rin 210 1.1 rin /* PLA_SFF_STS_7 */ 211 1.1 rin #define URE_RE_INIT_LL 0x8000 212 1.1 rin #define URE_MCU_BORW_EN 0x4000 213 1.1 rin 214 1.1 rin /* PLA_CPCR */ 215 1.1 rin #define URE_CPCR_RX_VLAN 0x0040 216 1.1 rin 217 1.1 rin /* PLA_TEREDO_CFG */ 218 1.1 rin #define URE_TEREDO_SEL 0x8000 219 1.1 rin #define URE_TEREDO_WAKE_MASK 0x7f00 220 1.1 rin #define URE_TEREDO_RS_EVENT_MASK 0x00fe 221 1.1 rin #define URE_OOB_TEREDO_EN 0x0001 222 1.1 rin 223 1.1 rin /* PAL_BDC_CR */ 224 1.1 rin #define URE_ALDPS_PROXY_MODE 0x0001 225 1.1 rin 226 1.1 rin /* PLA_CONFIG5 */ 227 1.1 rin #define URE_LAN_WAKE_EN 0x0002 228 1.1 rin 229 1.1 rin /* PLA_LED_FEATURE */ 230 1.1 rin #define URE_LED_MODE_MASK 0x0700 231 1.1 rin 232 1.1 rin /* PLA_PHY_PWR */ 233 1.1 rin #define URE_TX_10M_IDLE_EN 0x0080 234 1.1 rin #define URE_PFM_PWM_SWITCH 0x0040 235 1.1 rin 236 1.1 rin /* PLA_MAC_PWR_CTRL */ 237 1.1 rin #define URE_D3_CLK_GATED_EN 0x00004000 238 1.1 rin #define URE_MCU_CLK_RATIO 0x07010f07 239 1.1 rin #define URE_MCU_CLK_RATIO_MASK 0x0f0f0f0f 240 1.1 rin #define URE_ALDPS_SPDWN_RATIO 0x0f87 241 1.1 rin 242 1.1 rin /* PLA_MAC_PWR_CTRL2 */ 243 1.1 rin #define URE_EEE_SPDWN_RATIO 0x8007 244 1.1 rin 245 1.1 rin /* PLA_MAC_PWR_CTRL3 */ 246 1.1 rin #define URE_PKT_AVAIL_SPDWN_EN 0x0100 247 1.1 rin #define URE_SUSPEND_SPDWN_EN 0x0004 248 1.1 rin #define URE_U1U2_SPDWN_EN 0x0002 249 1.1 rin #define URE_L1_SPDWN_EN 0x0001 250 1.1 rin 251 1.1 rin /* PLA_MAC_PWR_CTRL4 */ 252 1.1 rin #define URE_PWRSAVE_SPDWN_EN 0x1000 253 1.1 rin #define URE_RXDV_SPDWN_EN 0x0800 254 1.1 rin #define URE_TX10MIDLE_EN 0x0100 255 1.1 rin #define URE_TP100_SPDWN_EN 0x0020 256 1.1 rin #define URE_TP500_SPDWN_EN 0x0010 257 1.1 rin #define URE_TP1000_SPDWN_EN 0x0008 258 1.1 rin #define URE_EEE_SPDWN_EN 0x0001 259 1.1 rin 260 1.1 rin /* PLA_GPHY_INTR_IMR */ 261 1.1 rin #define URE_GPHY_STS_MSK 0x0001 262 1.1 rin #define URE_SPEED_DOWN_MSK 0x0002 263 1.1 rin #define URE_SPDWN_RXDV_MSK 0x0004 264 1.1 rin #define URE_SPDWN_LINKCHG_MSK 0x0008 265 1.1 rin 266 1.1 rin /* PLA_PHYAR */ 267 1.1 rin #define URE_PHYAR_PHYDATA 0x0000ffff 268 1.1 rin #define URE_PHYAR_BUSY 0x80000000 269 1.1 rin 270 1.1 rin /* PLA_EEE_CR */ 271 1.1 rin #define URE_EEE_RX_EN 0x0001 272 1.1 rin #define URE_EEE_TX_EN 0x0002 273 1.1 rin 274 1.1 rin /* PLA_BOOT_CTRL */ 275 1.1 rin #define URE_AUTOLOAD_DONE 0x0002 276 1.1 rin 277 1.1 rin /* USB_USB2PHY */ 278 1.1 rin #define URE_USB2PHY_SUSPEND 0x0001 279 1.1 rin #define URE_USB2PHY_L1 0x0002 280 1.1 rin 281 1.1 rin /* USB_SSPHYLINK2 */ 282 1.1 rin #define URE_PWD_DN_SCALE_MASK 0x3ffe 283 1.1 rin #define URE_PWD_DN_SCALE(x) ((x) << 1) 284 1.1 rin 285 1.1 rin /* USB_CSR_DUMMY1 */ 286 1.1 rin #define URE_DYNAMIC_BURST 0x0001 287 1.1 rin 288 1.1 rin /* USB_CSR_DUMMY2 */ 289 1.1 rin #define URE_EP4_FULL_FC 0x0001 290 1.1 rin 291 1.1 rin /* USB_DEV_STAT */ 292 1.1 rin #define URE_STAT_SPEED_MASK 0x0006 293 1.1 rin #define URE_STAT_SPEED_HIGH 0x0000 294 1.1 rin #define URE_STAT_SPEED_FULL 0x0001 295 1.1 rin 296 1.1 rin /* USB_TX_AGG */ 297 1.1 rin #define URE_TX_AGG_MAX_THRESHOLD 0x03 298 1.1 rin 299 1.1 rin /* USB_RX_BUF_TH */ 300 1.1 rin #define URE_RX_THR_SUPER 0x0c350180 301 1.1 rin #define URE_RX_THR_HIGH 0x7a120180 302 1.1 rin #define URE_RX_THR_SLOW 0xffff0180 303 1.1 rin 304 1.1 rin /* USB_TX_DMA */ 305 1.1 rin #define URE_TEST_MODE_DISABLE 0x00000001 306 1.1 rin #define URE_TX_SIZE_ADJUST1 0x00000100 307 1.1 rin 308 1.1 rin /* USB_UPS_CTRL */ 309 1.1 rin #define URE_POWER_CUT 0x0100 310 1.1 rin 311 1.1 rin /* USB_PM_CTRL_STATUS */ 312 1.1 rin #define URE_RESUME_INDICATE 0x0001 313 1.1 rin 314 1.1 rin /* USB_USB_CTRL */ 315 1.1 rin #define URE_RX_AGG_DISABLE 0x0010 316 1.1 rin #define URE_RX_ZERO_EN 0x0080 317 1.1 rin 318 1.1 rin /* USB_U2P3_CTRL */ 319 1.1 rin #define URE_U2P3_ENABLE 0x0001 320 1.1 rin 321 1.1 rin /* USB_POWER_CUT */ 322 1.1 rin #define URE_PWR_EN 0x0001 323 1.1 rin #define URE_PHASE2_EN 0x0008 324 1.1 rin 325 1.1 rin /* USB_MISC_0 */ 326 1.1 rin #define URE_PCUT_STATUS 0x0001 327 1.1 rin 328 1.1 rin /* USB_RX_EARLY_TIMEOUT */ 329 1.1 rin #define URE_COALESCE_SUPER 85000U 330 1.1 rin #define URE_COALESCE_HIGH 250000U 331 1.1 rin #define URE_COALESCE_SLOW 524280U 332 1.1 rin 333 1.1 rin /* USB_WDT11_CTRL */ 334 1.1 rin #define URE_TIMER11_EN 0x0001 335 1.1 rin 336 1.1 rin /* USB_LPM_CTRL */ 337 1.1 rin #define URE_FIFO_EMPTY_1FB 0x30 338 1.1 rin #define URE_LPM_TIMER_MASK 0x0c 339 1.1 rin #define URE_LPM_TIMER_500MS 0x04 340 1.1 rin #define URE_LPM_TIMER_500US 0x0c 341 1.1 rin #define URE_ROK_EXIT_LPM 0x02 342 1.1 rin 343 1.1 rin /* USB_AFE_CTRL2 */ 344 1.1 rin #define URE_SEN_VAL_MASK 0xf800 345 1.1 rin #define URE_SEN_VAL_NORMAL 0xa000 346 1.1 rin #define URE_SEL_RXIDLE 0x0100 347 1.1 rin 348 1.1 rin /* OCP_ALDPS_CONFIG */ 349 1.1 rin #define URE_ENPWRSAVE 0x8000 350 1.1 rin #define URE_ENPDNPS 0x0200 351 1.1 rin #define URE_LINKENA 0x0100 352 1.1 rin #define URE_DIS_SDSAVE 0x0010 353 1.1 rin 354 1.1 rin /* OCP_PHY_STATUS */ 355 1.1 rin #define URE_PHY_STAT_MASK 0x0007 356 1.1 rin #define URE_PHY_STAT_LAN_ON 3 357 1.1 rin #define URE_PHY_STAT_PWRDN 5 358 1.1 rin 359 1.1 rin /* OCP_POWER_CFG */ 360 1.1 rin #define URE_EEE_CLKDIV_EN 0x8000 361 1.1 rin #define URE_EN_ALDPS 0x0004 362 1.1 rin #define URE_EN_10M_PLLOFF 0x0001 363 1.1 rin 364 1.1 rin /* OCP_EEE_CFG */ 365 1.1 rin #define URE_CTAP_SHORT_EN 0x0040 366 1.1 rin #define URE_EEE10_EN 0x0010 367 1.1 rin 368 1.1 rin /* OCP_DOWN_SPEED */ 369 1.1 rin #define URE_EN_10M_BGOFF 0x0080 370 1.1 rin 371 1.1 rin /* OCP_PHY_STATE */ 372 1.1 rin #define URE_TXDIS_STATE 0x01 373 1.1 rin #define URE_ABD_STATE 0x02 374 1.1 rin 375 1.1 rin /* OCP_ADC_CFG */ 376 1.1 rin #define URE_CKADSEL_L 0x0100 377 1.1 rin #define URE_ADC_EN 0x0080 378 1.1 rin #define URE_EN_EMI_L 0x0040 379 1.1 rin 380 1.1 rin #define URE_MCU_TYPE_PLA 0x0100 381 1.1 rin #define URE_MCU_TYPE_USB 0x0000 382