1*8503SPengcheng.Chen@Sun.COM /* 2*8503SPengcheng.Chen@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 3*8503SPengcheng.Chen@Sun.COM * Use is subject to license terms. 4*8503SPengcheng.Chen@Sun.COM */ 5*8503SPengcheng.Chen@Sun.COM 6*8503SPengcheng.Chen@Sun.COM /* 7*8503SPengcheng.Chen@Sun.COM * Copyright (c) 2006 by Damien Bergamini <damien.bergamini@free.fr> 8*8503SPengcheng.Chen@Sun.COM * Copyright (c) 2006 by Florian Stoehr <ich@florian-stoehr.de> 9*8503SPengcheng.Chen@Sun.COM * 10*8503SPengcheng.Chen@Sun.COM * Permission to use, copy, modify, and distribute this software for any 11*8503SPengcheng.Chen@Sun.COM * purpose with or without fee is hereby granted, provided that the above 12*8503SPengcheng.Chen@Sun.COM * copyright notice and this permission notice appear in all copies. 13*8503SPengcheng.Chen@Sun.COM * 14*8503SPengcheng.Chen@Sun.COM * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 15*8503SPengcheng.Chen@Sun.COM * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 16*8503SPengcheng.Chen@Sun.COM * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 17*8503SPengcheng.Chen@Sun.COM * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 18*8503SPengcheng.Chen@Sun.COM * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 19*8503SPengcheng.Chen@Sun.COM * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 20*8503SPengcheng.Chen@Sun.COM * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 21*8503SPengcheng.Chen@Sun.COM */ 22*8503SPengcheng.Chen@Sun.COM 23*8503SPengcheng.Chen@Sun.COM /* 24*8503SPengcheng.Chen@Sun.COM * ZyDAS ZD1211/ZD1211B USB WLAN driver. 25*8503SPengcheng.Chen@Sun.COM */ 26*8503SPengcheng.Chen@Sun.COM 27*8503SPengcheng.Chen@Sun.COM #ifndef _ZYD_REG_H 28*8503SPengcheng.Chen@Sun.COM #define _ZYD_REG_H 29*8503SPengcheng.Chen@Sun.COM 30*8503SPengcheng.Chen@Sun.COM #ifdef __cplusplus 31*8503SPengcheng.Chen@Sun.COM extern "C" 32*8503SPengcheng.Chen@Sun.COM { 33*8503SPengcheng.Chen@Sun.COM #endif 34*8503SPengcheng.Chen@Sun.COM 35*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_GPI_EN 0x9418 36*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_RADIO_PD 0x942c 37*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_RF2948_PD 0x942c 38*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_EN_PS_MANUAL_AGC 0x943c 39*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_CONFIG_PHILIPS 0x9440 40*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_I2C_WRITE 0x9444 41*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_SA2400_SER_RP 0x9448 42*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_RADIO_PE 0x9458 43*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_RST_BUS_MASTER 0x945c 44*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_RFCFG 0x9464 45*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_HSTSCHG 0x946c 46*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_PHY_ON 0x9474 47*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_RX_DELAY 0x9478 48*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_RX_PE_DELAY 0x947c 49*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_GPIO_1 0x9490 50*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_GPIO_2 0x9494 51*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_EnZYD_CRyBufMux 0x94a8 52*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_PS_CTRL 0x9500 53*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_ADDA_PWR_DWN 0x9504 54*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_ADDA_MBIAS_WT 0x9508 55*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_INTERRUPT 0x9510 56*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_MAC_PS_STATE 0x950c 57*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_ATIM_WND_PERIOD 0x951c 58*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_BCN_INTERVAL 0x9520 59*8503SPengcheng.Chen@Sun.COM #define ZYD_CR_PRE_TBTT 0x9524 60*8503SPengcheng.Chen@Sun.COM 61*8503SPengcheng.Chen@Sun.COM /* 62*8503SPengcheng.Chen@Sun.COM * MAC registers. 63*8503SPengcheng.Chen@Sun.COM */ 64*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_MACADRL 0x9610 /* MAC address (low) */ 65*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_MACADRH 0x9614 /* MAC address (high) */ 66*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_BSSADRL 0x9618 /* BSS address (low) */ 67*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_BSSADRH 0x961c /* BSS address (high) */ 68*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_BCNCFG 0x9620 /* BCN configuration */ 69*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_GHTBL 0x9624 /* Group hash table (low) */ 70*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_GHTBH 0x9628 /* Group hash table (high) */ 71*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_TIMEOUT 0x962c /* Rx timeout value */ 72*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_BAS_RATE 0x9630 /* Basic rate setting */ 73*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_MAN_RATE 0x9634 /* Mandatory rate setting */ 74*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RTSCTSRATE 0x9638 /* RTS CTS rate */ 75*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_BACKOFF_PROTECT 0x963c /* Backoff protection */ 76*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_THRESHOLD 0x9640 /* Rx threshold */ 77*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_TX_PE_CONTROL 0x9644 /* Tx_PE control */ 78*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_AFTER_PNP 0x9648 /* After PnP */ 79*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_PE_DELAY 0x964c /* Rx_pe delay */ 80*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_ADDR2_L 0x9650 /* RX address2 (low) */ 81*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_ADDR2_H 0x9654 /* RX address2 (high) */ 82*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_SIFS_ACK_TIME 0x9658 /* Dynamic SIFS ack time */ 83*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_PHY_DELAY 0x9660 /* PHY delay */ 84*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_PHY_DELAY2 0x966c /* PHY delay */ 85*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_BCNFIFO 0x9670 /* Beacon FIFO I/O port */ 86*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_SNIFFER 0x9674 /* Sniffer on/off */ 87*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_ENCRYPTION_TYPE 0x9678 /* Encryption type */ 88*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RETRY 0x967c /* Retry time */ 89*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_MISC 0x9680 /* Misc */ 90*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_STMACHINESTAT 0x9684 /* State machine status */ 91*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_TX_UNDERRUN_CNT 0x9688 /* TX underrun counter */ 92*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RXFILTER 0x968c /* Send to host settings */ 93*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_ACK_EXT 0x9690 /* Acknowledge extension */ 94*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_BCNFIFOST 0x9694 /* BCN FIFO set and status */ 95*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_DIFS_EIFS_SIFS 0x9698 /* DIFS, EIFS & SIFS settings */ 96*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_TIMEOUT_CNT 0x969c /* RX timeout count */ 97*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_TOTAL_FRAME 0x96a0 /* RX total frame count */ 98*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_CRC32_CNT 0x96a4 /* RX CRC32 frame count */ 99*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_CRC16_CNT 0x96a8 /* RX CRC16 frame count */ 100*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_UDEC 0x96ac /* RX unicast decr. error count */ 101*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_OVERRUN_CNT 0x96b0 /* RX FIFO overrun count */ 102*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_MDEC 0x96bc /* RX multicast decr. err. cnt. */ 103*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_NAV_TCR 0x96c4 /* NAV timer count read */ 104*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_BACKOFF_ST_RD 0x96c8 /* Backoff status read */ 105*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_DM_RETRY_CNT_RD 0x96cc /* DM retry count read */ 106*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RX_ACR 0x96d0 /* RX arbitration count read */ 107*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_TX_CCR 0x96d4 /* Tx complete count read */ 108*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_TCB_ADDR 0x96e8 /* Current PCI process TCP addr */ 109*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_RCB_ADDR 0x96ec /* Next RCB address */ 110*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_CONT_WIN_LIMIT 0x96f0 /* Contention window limit */ 111*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_TX_PKT 0x96f4 /* Tx total packet count read */ 112*8503SPengcheng.Chen@Sun.COM #define ZYD_MAC_DL_CTRL 0x96f8 /* Download control */ 113*8503SPengcheng.Chen@Sun.COM #define ZYD_MACB_TXPWR_CTL1 0x9b00 114*8503SPengcheng.Chen@Sun.COM #define ZYD_MACB_TXPWR_CTL2 0x9b04 115*8503SPengcheng.Chen@Sun.COM #define ZYD_MACB_TXPWR_CTL3 0x9b08 116*8503SPengcheng.Chen@Sun.COM #define ZYD_MACB_TXPWR_CTL4 0x9b0c 117*8503SPengcheng.Chen@Sun.COM #define ZYD_MACB_AIFS_CTL1 0x9b10 118*8503SPengcheng.Chen@Sun.COM #define ZYD_MACB_AIFS_CTL2 0x9b14 119*8503SPengcheng.Chen@Sun.COM #define ZYD_MACB_TXOP 0x9b20 120*8503SPengcheng.Chen@Sun.COM #define ZYD_MACB_MAX_RETRY 0x9b28 121*8503SPengcheng.Chen@Sun.COM 122*8503SPengcheng.Chen@Sun.COM /* 123*8503SPengcheng.Chen@Sun.COM * Miscellanous registers. 124*8503SPengcheng.Chen@Sun.COM */ 125*8503SPengcheng.Chen@Sun.COM #define ZYD_FIRMWARE_START_ADDR 0xee00 126*8503SPengcheng.Chen@Sun.COM #define ZYD_FIRMWARE_BASE_ADDR 0xee1d /* Firmware base address */ 127*8503SPengcheng.Chen@Sun.COM 128*8503SPengcheng.Chen@Sun.COM /* 129*8503SPengcheng.Chen@Sun.COM * EEPROM registers. 130*8503SPengcheng.Chen@Sun.COM */ 131*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_START_HEAD 0xf800 /* EEPROM start */ 132*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_SUBID 0xf817 133*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_POD 0xf819 134*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_MAC_ADDR_P1 0xf81b /* Part 1 of the MAC address */ 135*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_MAC_ADDR_P2 0xf81d /* Part 2 of the MAC address */ 136*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_PWR_CAL 0xf81f /* Calibration */ 137*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_PWR_INT 0xf827 /* Calibration */ 138*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_ALLOWEDCHAN 0xf82f /* Allowed CH mask, 1 bit each */ 139*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_PHY_REG 0xf831 /* PHY registers */ 140*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_DEVICE_VER 0xf837 /* Device version */ 141*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_36M_CAL 0xf83f /* Calibration */ 142*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_11A_INT 0xf847 /* Interpolation */ 143*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_48M_CAL 0xf84f /* Calibration */ 144*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_48M_INT 0xf857 /* Interpolation */ 145*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_54M_CAL 0xf85f /* Calibration */ 146*8503SPengcheng.Chen@Sun.COM #define ZYD_EEPROM_54M_INT 0xf867 /* Interpolation */ 147*8503SPengcheng.Chen@Sun.COM 148*8503SPengcheng.Chen@Sun.COM /* 149*8503SPengcheng.Chen@Sun.COM * Firmware registers offsets (relative to fwbase). 150*8503SPengcheng.Chen@Sun.COM */ 151*8503SPengcheng.Chen@Sun.COM #define ZYD_FW_FIRMWARE_REV 0x0000 /* Firmware version */ 152*8503SPengcheng.Chen@Sun.COM #define ZYD_FW_USB_SPEED 0x0001 /* USB speed (!=0 if highspeed) */ 153*8503SPengcheng.Chen@Sun.COM #define ZYD_FW_FIX_TX_RATE 0x0002 /* Fixed TX rate */ 154*8503SPengcheng.Chen@Sun.COM #define ZYD_FW_LINK_STATUS 0x0003 155*8503SPengcheng.Chen@Sun.COM #define ZYD_FW_SOFT_RESET 0x0004 156*8503SPengcheng.Chen@Sun.COM #define ZYD_FW_FLASH_CHK 0x0005 157*8503SPengcheng.Chen@Sun.COM 158*8503SPengcheng.Chen@Sun.COM /* possible flags for register ZYD_FW_LINK_STATUS */ 159*8503SPengcheng.Chen@Sun.COM #define ZYD_LED1 (1 << 8) 160*8503SPengcheng.Chen@Sun.COM #define ZYD_LED2 (1 << 9) 161*8503SPengcheng.Chen@Sun.COM 162*8503SPengcheng.Chen@Sun.COM /* 163*8503SPengcheng.Chen@Sun.COM * RF IDs. 164*8503SPengcheng.Chen@Sun.COM */ 165*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_UW2451 0x2 /* not supported yet */ 166*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_UCHIP 0x3 /* not supported yet */ 167*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_AL2230 0x4 168*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_AL7230B 0x5 169*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_THETA 0x6 /* not supported yet */ 170*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_AL2210 0x7 171*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_MAXIM_NEW 0x8 172*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_GCT 0x9 173*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_PV2000 0xa /* not supported yet */ 174*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_RALINK 0xb /* not supported yet */ 175*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_INTERSIL 0xc /* not supported yet */ 176*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_RFMD 0xd 177*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_MAXIM_NEW2 0xe 178*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_PHILIPS 0xf /* not supported yet */ 179*8503SPengcheng.Chen@Sun.COM 180*8503SPengcheng.Chen@Sun.COM /* 181*8503SPengcheng.Chen@Sun.COM * PHY registers (8 bits, not documented). 182*8503SPengcheng.Chen@Sun.COM */ 183*8503SPengcheng.Chen@Sun.COM #define ZYD_CR0 0x9000 184*8503SPengcheng.Chen@Sun.COM #define ZYD_CR1 0x9004 185*8503SPengcheng.Chen@Sun.COM #define ZYD_CR2 0x9008 186*8503SPengcheng.Chen@Sun.COM #define ZYD_CR3 0x900c 187*8503SPengcheng.Chen@Sun.COM #define ZYD_CR5 0x9010 188*8503SPengcheng.Chen@Sun.COM #define ZYD_CR6 0x9014 189*8503SPengcheng.Chen@Sun.COM #define ZYD_CR7 0x9018 190*8503SPengcheng.Chen@Sun.COM #define ZYD_CR8 0x901c 191*8503SPengcheng.Chen@Sun.COM #define ZYD_CR4 0x9020 192*8503SPengcheng.Chen@Sun.COM #define ZYD_CR9 0x9024 193*8503SPengcheng.Chen@Sun.COM #define ZYD_CR10 0x9028 194*8503SPengcheng.Chen@Sun.COM #define ZYD_CR11 0x902c 195*8503SPengcheng.Chen@Sun.COM #define ZYD_CR12 0x9030 196*8503SPengcheng.Chen@Sun.COM #define ZYD_CR13 0x9034 197*8503SPengcheng.Chen@Sun.COM #define ZYD_CR14 0x9038 198*8503SPengcheng.Chen@Sun.COM #define ZYD_CR15 0x903c 199*8503SPengcheng.Chen@Sun.COM #define ZYD_CR16 0x9040 200*8503SPengcheng.Chen@Sun.COM #define ZYD_CR17 0x9044 201*8503SPengcheng.Chen@Sun.COM #define ZYD_CR18 0x9048 202*8503SPengcheng.Chen@Sun.COM #define ZYD_CR19 0x904c 203*8503SPengcheng.Chen@Sun.COM #define ZYD_CR20 0x9050 204*8503SPengcheng.Chen@Sun.COM #define ZYD_CR21 0x9054 205*8503SPengcheng.Chen@Sun.COM #define ZYD_CR22 0x9058 206*8503SPengcheng.Chen@Sun.COM #define ZYD_CR23 0x905c 207*8503SPengcheng.Chen@Sun.COM #define ZYD_CR24 0x9060 208*8503SPengcheng.Chen@Sun.COM #define ZYD_CR25 0x9064 209*8503SPengcheng.Chen@Sun.COM #define ZYD_CR26 0x9068 210*8503SPengcheng.Chen@Sun.COM #define ZYD_CR27 0x906c 211*8503SPengcheng.Chen@Sun.COM #define ZYD_CR28 0x9070 212*8503SPengcheng.Chen@Sun.COM #define ZYD_CR29 0x9074 213*8503SPengcheng.Chen@Sun.COM #define ZYD_CR30 0x9078 214*8503SPengcheng.Chen@Sun.COM #define ZYD_CR31 0x907c 215*8503SPengcheng.Chen@Sun.COM #define ZYD_CR32 0x9080 216*8503SPengcheng.Chen@Sun.COM #define ZYD_CR33 0x9084 217*8503SPengcheng.Chen@Sun.COM #define ZYD_CR34 0x9088 218*8503SPengcheng.Chen@Sun.COM #define ZYD_CR35 0x908c 219*8503SPengcheng.Chen@Sun.COM #define ZYD_CR36 0x9090 220*8503SPengcheng.Chen@Sun.COM #define ZYD_CR37 0x9094 221*8503SPengcheng.Chen@Sun.COM #define ZYD_CR38 0x9098 222*8503SPengcheng.Chen@Sun.COM #define ZYD_CR39 0x909c 223*8503SPengcheng.Chen@Sun.COM #define ZYD_CR40 0x90a0 224*8503SPengcheng.Chen@Sun.COM #define ZYD_CR41 0x90a4 225*8503SPengcheng.Chen@Sun.COM #define ZYD_CR42 0x90a8 226*8503SPengcheng.Chen@Sun.COM #define ZYD_CR43 0x90ac 227*8503SPengcheng.Chen@Sun.COM #define ZYD_CR44 0x90b0 228*8503SPengcheng.Chen@Sun.COM #define ZYD_CR45 0x90b4 229*8503SPengcheng.Chen@Sun.COM #define ZYD_CR46 0x90b8 230*8503SPengcheng.Chen@Sun.COM #define ZYD_CR47 0x90bc 231*8503SPengcheng.Chen@Sun.COM #define ZYD_CR48 0x90c0 232*8503SPengcheng.Chen@Sun.COM #define ZYD_CR49 0x90c4 233*8503SPengcheng.Chen@Sun.COM #define ZYD_CR50 0x90c8 234*8503SPengcheng.Chen@Sun.COM #define ZYD_CR51 0x90cc 235*8503SPengcheng.Chen@Sun.COM #define ZYD_CR52 0x90d0 236*8503SPengcheng.Chen@Sun.COM #define ZYD_CR53 0x90d4 237*8503SPengcheng.Chen@Sun.COM #define ZYD_CR54 0x90d8 238*8503SPengcheng.Chen@Sun.COM #define ZYD_CR55 0x90dc 239*8503SPengcheng.Chen@Sun.COM #define ZYD_CR56 0x90e0 240*8503SPengcheng.Chen@Sun.COM #define ZYD_CR57 0x90e4 241*8503SPengcheng.Chen@Sun.COM #define ZYD_CR58 0x90e8 242*8503SPengcheng.Chen@Sun.COM #define ZYD_CR59 0x90ec 243*8503SPengcheng.Chen@Sun.COM #define ZYD_CR60 0x90f0 244*8503SPengcheng.Chen@Sun.COM #define ZYD_CR61 0x90f4 245*8503SPengcheng.Chen@Sun.COM #define ZYD_CR62 0x90f8 246*8503SPengcheng.Chen@Sun.COM #define ZYD_CR63 0x90fc 247*8503SPengcheng.Chen@Sun.COM #define ZYD_CR64 0x9100 248*8503SPengcheng.Chen@Sun.COM #define ZYD_CR65 0x9104 249*8503SPengcheng.Chen@Sun.COM #define ZYD_CR66 0x9108 250*8503SPengcheng.Chen@Sun.COM #define ZYD_CR67 0x910c 251*8503SPengcheng.Chen@Sun.COM #define ZYD_CR68 0x9110 252*8503SPengcheng.Chen@Sun.COM #define ZYD_CR69 0x9114 253*8503SPengcheng.Chen@Sun.COM #define ZYD_CR70 0x9118 254*8503SPengcheng.Chen@Sun.COM #define ZYD_CR71 0x911c 255*8503SPengcheng.Chen@Sun.COM #define ZYD_CR72 0x9120 256*8503SPengcheng.Chen@Sun.COM #define ZYD_CR73 0x9124 257*8503SPengcheng.Chen@Sun.COM #define ZYD_CR74 0x9128 258*8503SPengcheng.Chen@Sun.COM #define ZYD_CR75 0x912c 259*8503SPengcheng.Chen@Sun.COM #define ZYD_CR76 0x9130 260*8503SPengcheng.Chen@Sun.COM #define ZYD_CR77 0x9134 261*8503SPengcheng.Chen@Sun.COM #define ZYD_CR78 0x9138 262*8503SPengcheng.Chen@Sun.COM #define ZYD_CR79 0x913c 263*8503SPengcheng.Chen@Sun.COM #define ZYD_CR80 0x9140 264*8503SPengcheng.Chen@Sun.COM #define ZYD_CR81 0x9144 265*8503SPengcheng.Chen@Sun.COM #define ZYD_CR82 0x9148 266*8503SPengcheng.Chen@Sun.COM #define ZYD_CR83 0x914c 267*8503SPengcheng.Chen@Sun.COM #define ZYD_CR84 0x9150 268*8503SPengcheng.Chen@Sun.COM #define ZYD_CR85 0x9154 269*8503SPengcheng.Chen@Sun.COM #define ZYD_CR86 0x9158 270*8503SPengcheng.Chen@Sun.COM #define ZYD_CR87 0x915c 271*8503SPengcheng.Chen@Sun.COM #define ZYD_CR88 0x9160 272*8503SPengcheng.Chen@Sun.COM #define ZYD_CR89 0x9164 273*8503SPengcheng.Chen@Sun.COM #define ZYD_CR90 0x9168 274*8503SPengcheng.Chen@Sun.COM #define ZYD_CR91 0x916c 275*8503SPengcheng.Chen@Sun.COM #define ZYD_CR92 0x9170 276*8503SPengcheng.Chen@Sun.COM #define ZYD_CR93 0x9174 277*8503SPengcheng.Chen@Sun.COM #define ZYD_CR94 0x9178 278*8503SPengcheng.Chen@Sun.COM #define ZYD_CR95 0x917c 279*8503SPengcheng.Chen@Sun.COM #define ZYD_CR96 0x9180 280*8503SPengcheng.Chen@Sun.COM #define ZYD_CR97 0x9184 281*8503SPengcheng.Chen@Sun.COM #define ZYD_CR98 0x9188 282*8503SPengcheng.Chen@Sun.COM #define ZYD_CR99 0x918c 283*8503SPengcheng.Chen@Sun.COM #define ZYD_CR100 0x9190 284*8503SPengcheng.Chen@Sun.COM #define ZYD_CR101 0x9194 285*8503SPengcheng.Chen@Sun.COM #define ZYD_CR102 0x9198 286*8503SPengcheng.Chen@Sun.COM #define ZYD_CR103 0x919c 287*8503SPengcheng.Chen@Sun.COM #define ZYD_CR104 0x91a0 288*8503SPengcheng.Chen@Sun.COM #define ZYD_CR105 0x91a4 289*8503SPengcheng.Chen@Sun.COM #define ZYD_CR106 0x91a8 290*8503SPengcheng.Chen@Sun.COM #define ZYD_CR107 0x91ac 291*8503SPengcheng.Chen@Sun.COM #define ZYD_CR108 0x91b0 292*8503SPengcheng.Chen@Sun.COM #define ZYD_CR109 0x91b4 293*8503SPengcheng.Chen@Sun.COM #define ZYD_CR110 0x91b8 294*8503SPengcheng.Chen@Sun.COM #define ZYD_CR111 0x91bc 295*8503SPengcheng.Chen@Sun.COM #define ZYD_CR112 0x91c0 296*8503SPengcheng.Chen@Sun.COM #define ZYD_CR113 0x91c4 297*8503SPengcheng.Chen@Sun.COM #define ZYD_CR114 0x91c8 298*8503SPengcheng.Chen@Sun.COM #define ZYD_CR115 0x91cc 299*8503SPengcheng.Chen@Sun.COM #define ZYD_CR116 0x91d0 300*8503SPengcheng.Chen@Sun.COM #define ZYD_CR117 0x91d4 301*8503SPengcheng.Chen@Sun.COM #define ZYD_CR118 0x91d8 302*8503SPengcheng.Chen@Sun.COM #define ZYD_CR119 0x91dc 303*8503SPengcheng.Chen@Sun.COM #define ZYD_CR120 0x91e0 304*8503SPengcheng.Chen@Sun.COM #define ZYD_CR121 0x91e4 305*8503SPengcheng.Chen@Sun.COM #define ZYD_CR122 0x91e8 306*8503SPengcheng.Chen@Sun.COM #define ZYD_CR123 0x91ec 307*8503SPengcheng.Chen@Sun.COM #define ZYD_CR124 0x91f0 308*8503SPengcheng.Chen@Sun.COM #define ZYD_CR125 0x91f4 309*8503SPengcheng.Chen@Sun.COM #define ZYD_CR126 0x91f8 310*8503SPengcheng.Chen@Sun.COM #define ZYD_CR127 0x91fc 311*8503SPengcheng.Chen@Sun.COM #define ZYD_CR128 0x9200 312*8503SPengcheng.Chen@Sun.COM #define ZYD_CR129 0x9204 313*8503SPengcheng.Chen@Sun.COM #define ZYD_CR130 0x9208 314*8503SPengcheng.Chen@Sun.COM #define ZYD_CR131 0x920c 315*8503SPengcheng.Chen@Sun.COM #define ZYD_CR132 0x9210 316*8503SPengcheng.Chen@Sun.COM #define ZYD_CR133 0x9214 317*8503SPengcheng.Chen@Sun.COM #define ZYD_CR134 0x9218 318*8503SPengcheng.Chen@Sun.COM #define ZYD_CR135 0x921c 319*8503SPengcheng.Chen@Sun.COM #define ZYD_CR136 0x9220 320*8503SPengcheng.Chen@Sun.COM #define ZYD_CR137 0x9224 321*8503SPengcheng.Chen@Sun.COM #define ZYD_CR138 0x9228 322*8503SPengcheng.Chen@Sun.COM #define ZYD_CR139 0x922c 323*8503SPengcheng.Chen@Sun.COM #define ZYD_CR140 0x9230 324*8503SPengcheng.Chen@Sun.COM #define ZYD_CR141 0x9234 325*8503SPengcheng.Chen@Sun.COM #define ZYD_CR142 0x9238 326*8503SPengcheng.Chen@Sun.COM #define ZYD_CR143 0x923c 327*8503SPengcheng.Chen@Sun.COM #define ZYD_CR144 0x9240 328*8503SPengcheng.Chen@Sun.COM #define ZYD_CR145 0x9244 329*8503SPengcheng.Chen@Sun.COM #define ZYD_CR146 0x9248 330*8503SPengcheng.Chen@Sun.COM #define ZYD_CR147 0x924c 331*8503SPengcheng.Chen@Sun.COM #define ZYD_CR148 0x9250 332*8503SPengcheng.Chen@Sun.COM #define ZYD_CR149 0x9254 333*8503SPengcheng.Chen@Sun.COM #define ZYD_CR150 0x9258 334*8503SPengcheng.Chen@Sun.COM #define ZYD_CR151 0x925c 335*8503SPengcheng.Chen@Sun.COM #define ZYD_CR152 0x9260 336*8503SPengcheng.Chen@Sun.COM #define ZYD_CR153 0x9264 337*8503SPengcheng.Chen@Sun.COM #define ZYD_CR154 0x9268 338*8503SPengcheng.Chen@Sun.COM #define ZYD_CR155 0x926c 339*8503SPengcheng.Chen@Sun.COM #define ZYD_CR156 0x9270 340*8503SPengcheng.Chen@Sun.COM #define ZYD_CR157 0x9274 341*8503SPengcheng.Chen@Sun.COM #define ZYD_CR158 0x9278 342*8503SPengcheng.Chen@Sun.COM #define ZYD_CR159 0x927c 343*8503SPengcheng.Chen@Sun.COM #define ZYD_CR160 0x9280 344*8503SPengcheng.Chen@Sun.COM #define ZYD_CR161 0x9284 345*8503SPengcheng.Chen@Sun.COM #define ZYD_CR162 0x9288 346*8503SPengcheng.Chen@Sun.COM #define ZYD_CR163 0x928c 347*8503SPengcheng.Chen@Sun.COM #define ZYD_CR164 0x9290 348*8503SPengcheng.Chen@Sun.COM #define ZYD_CR165 0x9294 349*8503SPengcheng.Chen@Sun.COM #define ZYD_CR166 0x9298 350*8503SPengcheng.Chen@Sun.COM #define ZYD_CR167 0x929c 351*8503SPengcheng.Chen@Sun.COM #define ZYD_CR168 0x92a0 352*8503SPengcheng.Chen@Sun.COM #define ZYD_CR169 0x92a4 353*8503SPengcheng.Chen@Sun.COM #define ZYD_CR170 0x92a8 354*8503SPengcheng.Chen@Sun.COM #define ZYD_CR171 0x92ac 355*8503SPengcheng.Chen@Sun.COM #define ZYD_CR172 0x92b0 356*8503SPengcheng.Chen@Sun.COM #define ZYD_CR173 0x92b4 357*8503SPengcheng.Chen@Sun.COM #define ZYD_CR174 0x92b8 358*8503SPengcheng.Chen@Sun.COM #define ZYD_CR175 0x92bc 359*8503SPengcheng.Chen@Sun.COM #define ZYD_CR176 0x92c0 360*8503SPengcheng.Chen@Sun.COM #define ZYD_CR177 0x92c4 361*8503SPengcheng.Chen@Sun.COM #define ZYD_CR178 0x92c8 362*8503SPengcheng.Chen@Sun.COM #define ZYD_CR179 0x92cc 363*8503SPengcheng.Chen@Sun.COM #define ZYD_CR180 0x92d0 364*8503SPengcheng.Chen@Sun.COM #define ZYD_CR181 0x92d4 365*8503SPengcheng.Chen@Sun.COM #define ZYD_CR182 0x92d8 366*8503SPengcheng.Chen@Sun.COM #define ZYD_CR183 0x92dc 367*8503SPengcheng.Chen@Sun.COM #define ZYD_CR184 0x92e0 368*8503SPengcheng.Chen@Sun.COM #define ZYD_CR185 0x92e4 369*8503SPengcheng.Chen@Sun.COM #define ZYD_CR186 0x92e8 370*8503SPengcheng.Chen@Sun.COM #define ZYD_CR187 0x92ec 371*8503SPengcheng.Chen@Sun.COM #define ZYD_CR188 0x92f0 372*8503SPengcheng.Chen@Sun.COM #define ZYD_CR189 0x92f4 373*8503SPengcheng.Chen@Sun.COM #define ZYD_CR190 0x92f8 374*8503SPengcheng.Chen@Sun.COM #define ZYD_CR191 0x92fc 375*8503SPengcheng.Chen@Sun.COM #define ZYD_CR192 0x9300 376*8503SPengcheng.Chen@Sun.COM #define ZYD_CR193 0x9304 377*8503SPengcheng.Chen@Sun.COM #define ZYD_CR194 0x9308 378*8503SPengcheng.Chen@Sun.COM #define ZYD_CR195 0x930c 379*8503SPengcheng.Chen@Sun.COM #define ZYD_CR196 0x9310 380*8503SPengcheng.Chen@Sun.COM #define ZYD_CR197 0x9314 381*8503SPengcheng.Chen@Sun.COM #define ZYD_CR198 0x9318 382*8503SPengcheng.Chen@Sun.COM #define ZYD_CR199 0x931c 383*8503SPengcheng.Chen@Sun.COM #define ZYD_CR200 0x9320 384*8503SPengcheng.Chen@Sun.COM #define ZYD_CR201 0x9324 385*8503SPengcheng.Chen@Sun.COM #define ZYD_CR202 0x9328 386*8503SPengcheng.Chen@Sun.COM #define ZYD_CR203 0x932c 387*8503SPengcheng.Chen@Sun.COM #define ZYD_CR204 0x9330 388*8503SPengcheng.Chen@Sun.COM #define ZYD_CR205 0x9334 389*8503SPengcheng.Chen@Sun.COM #define ZYD_CR206 0x9338 390*8503SPengcheng.Chen@Sun.COM #define ZYD_CR207 0x933c 391*8503SPengcheng.Chen@Sun.COM #define ZYD_CR208 0x9340 392*8503SPengcheng.Chen@Sun.COM #define ZYD_CR209 0x9344 393*8503SPengcheng.Chen@Sun.COM #define ZYD_CR210 0x9348 394*8503SPengcheng.Chen@Sun.COM #define ZYD_CR211 0x934c 395*8503SPengcheng.Chen@Sun.COM #define ZYD_CR212 0x9350 396*8503SPengcheng.Chen@Sun.COM #define ZYD_CR213 0x9354 397*8503SPengcheng.Chen@Sun.COM #define ZYD_CR214 0x9358 398*8503SPengcheng.Chen@Sun.COM #define ZYD_CR215 0x935c 399*8503SPengcheng.Chen@Sun.COM #define ZYD_CR216 0x9360 400*8503SPengcheng.Chen@Sun.COM #define ZYD_CR217 0x9364 401*8503SPengcheng.Chen@Sun.COM #define ZYD_CR218 0x9368 402*8503SPengcheng.Chen@Sun.COM #define ZYD_CR219 0x936c 403*8503SPengcheng.Chen@Sun.COM #define ZYD_CR220 0x9370 404*8503SPengcheng.Chen@Sun.COM #define ZYD_CR221 0x9374 405*8503SPengcheng.Chen@Sun.COM #define ZYD_CR222 0x9378 406*8503SPengcheng.Chen@Sun.COM #define ZYD_CR223 0x937c 407*8503SPengcheng.Chen@Sun.COM #define ZYD_CR224 0x9380 408*8503SPengcheng.Chen@Sun.COM #define ZYD_CR225 0x9384 409*8503SPengcheng.Chen@Sun.COM #define ZYD_CR226 0x9388 410*8503SPengcheng.Chen@Sun.COM #define ZYD_CR227 0x938c 411*8503SPengcheng.Chen@Sun.COM #define ZYD_CR228 0x9390 412*8503SPengcheng.Chen@Sun.COM #define ZYD_CR229 0x9394 413*8503SPengcheng.Chen@Sun.COM #define ZYD_CR230 0x9398 414*8503SPengcheng.Chen@Sun.COM #define ZYD_CR231 0x939c 415*8503SPengcheng.Chen@Sun.COM #define ZYD_CR232 0x93a0 416*8503SPengcheng.Chen@Sun.COM #define ZYD_CR233 0x93a4 417*8503SPengcheng.Chen@Sun.COM #define ZYD_CR234 0x93a8 418*8503SPengcheng.Chen@Sun.COM #define ZYD_CR235 0x93ac 419*8503SPengcheng.Chen@Sun.COM #define ZYD_CR236 0x93b0 420*8503SPengcheng.Chen@Sun.COM #define ZYD_CR240 0x93c0 421*8503SPengcheng.Chen@Sun.COM #define ZYD_CR241 0x93c4 422*8503SPengcheng.Chen@Sun.COM #define ZYD_CR242 0x93c8 423*8503SPengcheng.Chen@Sun.COM #define ZYD_CR243 0x93cc 424*8503SPengcheng.Chen@Sun.COM #define ZYD_CR244 0x93d0 425*8503SPengcheng.Chen@Sun.COM #define ZYD_CR245 0x93d4 426*8503SPengcheng.Chen@Sun.COM #define ZYD_CR251 0x93ec 427*8503SPengcheng.Chen@Sun.COM #define ZYD_CR252 0x93f0 428*8503SPengcheng.Chen@Sun.COM #define ZYD_CR253 0x93f4 429*8503SPengcheng.Chen@Sun.COM #define ZYD_CR254 0x93f8 430*8503SPengcheng.Chen@Sun.COM #define ZYD_CR255 0x93fc 431*8503SPengcheng.Chen@Sun.COM 432*8503SPengcheng.Chen@Sun.COM /* copied nearly verbatim from the Linux driver rewrite */ 433*8503SPengcheng.Chen@Sun.COM #define ZYD_DEF_PHY \ 434*8503SPengcheng.Chen@Sun.COM { \ 435*8503SPengcheng.Chen@Sun.COM { ZYD_CR0, 0x0a }, { ZYD_CR1, 0x06 }, { ZYD_CR2, 0x26 }, \ 436*8503SPengcheng.Chen@Sun.COM { ZYD_CR3, 0x38 }, { ZYD_CR4, 0x80 }, { ZYD_CR9, 0xa0 }, \ 437*8503SPengcheng.Chen@Sun.COM { ZYD_CR10, 0x81 }, { ZYD_CR11, 0x00 }, { ZYD_CR12, 0x7f }, \ 438*8503SPengcheng.Chen@Sun.COM { ZYD_CR13, 0x8c }, { ZYD_CR14, 0x80 }, { ZYD_CR15, 0x3d }, \ 439*8503SPengcheng.Chen@Sun.COM { ZYD_CR16, 0x20 }, { ZYD_CR17, 0x1e }, { ZYD_CR18, 0x0a }, \ 440*8503SPengcheng.Chen@Sun.COM { ZYD_CR19, 0x48 }, { ZYD_CR20, 0x0c }, { ZYD_CR21, 0x0c }, \ 441*8503SPengcheng.Chen@Sun.COM { ZYD_CR22, 0x23 }, { ZYD_CR23, 0x90 }, { ZYD_CR24, 0x14 }, \ 442*8503SPengcheng.Chen@Sun.COM { ZYD_CR25, 0x40 }, { ZYD_CR26, 0x10 }, { ZYD_CR27, 0x19 }, \ 443*8503SPengcheng.Chen@Sun.COM { ZYD_CR28, 0x7f }, { ZYD_CR29, 0x80 }, { ZYD_CR30, 0x4b }, \ 444*8503SPengcheng.Chen@Sun.COM { ZYD_CR31, 0x60 }, { ZYD_CR32, 0x43 }, { ZYD_CR33, 0x08 }, \ 445*8503SPengcheng.Chen@Sun.COM { ZYD_CR34, 0x06 }, { ZYD_CR35, 0x0a }, { ZYD_CR36, 0x00 }, \ 446*8503SPengcheng.Chen@Sun.COM { ZYD_CR37, 0x00 }, { ZYD_CR38, 0x38 }, { ZYD_CR39, 0x0c }, \ 447*8503SPengcheng.Chen@Sun.COM { ZYD_CR40, 0x84 }, { ZYD_CR41, 0x2a }, { ZYD_CR42, 0x80 }, \ 448*8503SPengcheng.Chen@Sun.COM { ZYD_CR43, 0x10 }, { ZYD_CR44, 0x12 }, { ZYD_CR46, 0xff }, \ 449*8503SPengcheng.Chen@Sun.COM { ZYD_CR47, 0x08 }, { ZYD_CR48, 0x26 }, { ZYD_CR49, 0x5b }, \ 450*8503SPengcheng.Chen@Sun.COM { ZYD_CR64, 0xd0 }, { ZYD_CR65, 0x04 }, { ZYD_CR66, 0x58 }, \ 451*8503SPengcheng.Chen@Sun.COM { ZYD_CR67, 0xc9 }, { ZYD_CR68, 0x88 }, { ZYD_CR69, 0x41 }, \ 452*8503SPengcheng.Chen@Sun.COM { ZYD_CR70, 0x23 }, { ZYD_CR71, 0x10 }, { ZYD_CR72, 0xff }, \ 453*8503SPengcheng.Chen@Sun.COM { ZYD_CR73, 0x32 }, { ZYD_CR74, 0x30 }, { ZYD_CR75, 0x65 }, \ 454*8503SPengcheng.Chen@Sun.COM { ZYD_CR76, 0x41 }, { ZYD_CR77, 0x1b }, { ZYD_CR78, 0x30 }, \ 455*8503SPengcheng.Chen@Sun.COM { ZYD_CR79, 0x68 }, { ZYD_CR80, 0x64 }, { ZYD_CR81, 0x64 }, \ 456*8503SPengcheng.Chen@Sun.COM { ZYD_CR82, 0x00 }, { ZYD_CR83, 0x00 }, { ZYD_CR84, 0x00 }, \ 457*8503SPengcheng.Chen@Sun.COM { ZYD_CR85, 0x02 }, { ZYD_CR86, 0x00 }, { ZYD_CR87, 0x00 }, \ 458*8503SPengcheng.Chen@Sun.COM { ZYD_CR88, 0xff }, { ZYD_CR89, 0xfc }, { ZYD_CR90, 0x00 }, \ 459*8503SPengcheng.Chen@Sun.COM { ZYD_CR91, 0x00 }, { ZYD_CR92, 0x00 }, { ZYD_CR93, 0x08 }, \ 460*8503SPengcheng.Chen@Sun.COM { ZYD_CR94, 0x00 }, { ZYD_CR95, 0x00 }, { ZYD_CR96, 0xff }, \ 461*8503SPengcheng.Chen@Sun.COM { ZYD_CR97, 0xe7 }, { ZYD_CR98, 0x00 }, { ZYD_CR99, 0x00 }, \ 462*8503SPengcheng.Chen@Sun.COM { ZYD_CR100, 0x00 }, { ZYD_CR101, 0xae }, { ZYD_CR102, 0x02 }, \ 463*8503SPengcheng.Chen@Sun.COM { ZYD_CR103, 0x00 }, { ZYD_CR104, 0x03 }, { ZYD_CR105, 0x65 }, \ 464*8503SPengcheng.Chen@Sun.COM { ZYD_CR106, 0x04 }, { ZYD_CR107, 0x00 }, { ZYD_CR108, 0x0a }, \ 465*8503SPengcheng.Chen@Sun.COM { ZYD_CR109, 0xaa }, { ZYD_CR110, 0xaa }, { ZYD_CR111, 0x25 }, \ 466*8503SPengcheng.Chen@Sun.COM { ZYD_CR112, 0x25 }, { ZYD_CR113, 0x00 }, { ZYD_CR119, 0x1e }, \ 467*8503SPengcheng.Chen@Sun.COM { ZYD_CR125, 0x90 }, { ZYD_CR126, 0x00 }, { ZYD_CR127, 0x00 }, \ 468*8503SPengcheng.Chen@Sun.COM { ZYD_CR5, 0x00 }, { ZYD_CR6, 0x00 }, { ZYD_CR7, 0x00 }, \ 469*8503SPengcheng.Chen@Sun.COM { ZYD_CR8, 0x00 }, { ZYD_CR9, 0x20 }, { ZYD_CR12, 0xf0 }, \ 470*8503SPengcheng.Chen@Sun.COM { ZYD_CR20, 0x0e }, { ZYD_CR21, 0x0e }, { ZYD_CR27, 0x10 }, \ 471*8503SPengcheng.Chen@Sun.COM { ZYD_CR44, 0x33 }, { ZYD_CR47, 0x30 }, { ZYD_CR83, 0x24 }, \ 472*8503SPengcheng.Chen@Sun.COM { ZYD_CR84, 0x04 }, { ZYD_CR85, 0x00 }, { ZYD_CR86, 0x0C }, \ 473*8503SPengcheng.Chen@Sun.COM { ZYD_CR87, 0x12 }, { ZYD_CR88, 0x0C }, { ZYD_CR89, 0x00 }, \ 474*8503SPengcheng.Chen@Sun.COM { ZYD_CR90, 0x10 }, { ZYD_CR91, 0x08 }, { ZYD_CR93, 0x00 }, \ 475*8503SPengcheng.Chen@Sun.COM { ZYD_CR94, 0x01 }, { ZYD_CR95, 0x00 }, { ZYD_CR96, 0x50 }, \ 476*8503SPengcheng.Chen@Sun.COM { ZYD_CR97, 0x37 }, { ZYD_CR98, 0x35 }, { ZYD_CR101, 0x13 }, \ 477*8503SPengcheng.Chen@Sun.COM { ZYD_CR102, 0x27 }, { ZYD_CR103, 0x27 }, { ZYD_CR104, 0x18 }, \ 478*8503SPengcheng.Chen@Sun.COM { ZYD_CR105, 0x12 }, { ZYD_CR109, 0x27 }, { ZYD_CR110, 0x27 }, \ 479*8503SPengcheng.Chen@Sun.COM { ZYD_CR111, 0x27 }, { ZYD_CR112, 0x27 }, { ZYD_CR113, 0x27 }, \ 480*8503SPengcheng.Chen@Sun.COM { ZYD_CR114, 0x27 }, { ZYD_CR115, 0x26 }, { ZYD_CR116, 0x24 }, \ 481*8503SPengcheng.Chen@Sun.COM { ZYD_CR117, 0xfc }, { ZYD_CR118, 0xfa }, { ZYD_CR120, 0x4f }, \ 482*8503SPengcheng.Chen@Sun.COM { ZYD_CR123, 0x27 }, { ZYD_CR125, 0xaa }, { ZYD_CR127, 0x03 }, \ 483*8503SPengcheng.Chen@Sun.COM { ZYD_CR128, 0x14 }, { ZYD_CR129, 0x12 }, { ZYD_CR130, 0x10 }, \ 484*8503SPengcheng.Chen@Sun.COM { ZYD_CR131, 0x0C }, { ZYD_CR136, 0xdf }, { ZYD_CR137, 0x40 }, \ 485*8503SPengcheng.Chen@Sun.COM { ZYD_CR138, 0xa0 }, { ZYD_CR139, 0xb0 }, { ZYD_CR140, 0x99 }, \ 486*8503SPengcheng.Chen@Sun.COM { ZYD_CR141, 0x82 }, { ZYD_CR142, 0x54 }, { ZYD_CR143, 0x1c }, \ 487*8503SPengcheng.Chen@Sun.COM { ZYD_CR144, 0x6c }, { ZYD_CR147, 0x07 }, { ZYD_CR148, 0x4c }, \ 488*8503SPengcheng.Chen@Sun.COM { ZYD_CR149, 0x50 }, { ZYD_CR150, 0x0e }, { ZYD_CR151, 0x18 }, \ 489*8503SPengcheng.Chen@Sun.COM { ZYD_CR160, 0xfe }, { ZYD_CR161, 0xee }, { ZYD_CR162, 0xaa }, \ 490*8503SPengcheng.Chen@Sun.COM { ZYD_CR163, 0xfa }, { ZYD_CR164, 0xfa }, { ZYD_CR165, 0xea }, \ 491*8503SPengcheng.Chen@Sun.COM { ZYD_CR166, 0xbe }, { ZYD_CR167, 0xbe }, { ZYD_CR168, 0x6a }, \ 492*8503SPengcheng.Chen@Sun.COM { ZYD_CR169, 0xba }, { ZYD_CR170, 0xba }, { ZYD_CR171, 0xba }, \ 493*8503SPengcheng.Chen@Sun.COM { ZYD_CR204, 0x7d }, { ZYD_CR203, 0x30 }, \ 494*8503SPengcheng.Chen@Sun.COM { 0, 0 } \ 495*8503SPengcheng.Chen@Sun.COM } 496*8503SPengcheng.Chen@Sun.COM 497*8503SPengcheng.Chen@Sun.COM #define ZYD_DEF_PHYB \ 498*8503SPengcheng.Chen@Sun.COM { \ 499*8503SPengcheng.Chen@Sun.COM { ZYD_CR0, 0x14 }, { ZYD_CR1, 0x06 }, { ZYD_CR2, 0x26 }, \ 500*8503SPengcheng.Chen@Sun.COM { ZYD_CR3, 0x38 }, { ZYD_CR4, 0x80 }, { ZYD_CR9, 0xe0 }, \ 501*8503SPengcheng.Chen@Sun.COM { ZYD_CR10, 0x81 }, { ZYD_CR11, 0x00 }, { ZYD_CR12, 0xf0 }, \ 502*8503SPengcheng.Chen@Sun.COM { ZYD_CR13, 0x8c }, { ZYD_CR14, 0x80 }, { ZYD_CR15, 0x3d }, \ 503*8503SPengcheng.Chen@Sun.COM { ZYD_CR16, 0x20 }, { ZYD_CR17, 0x1e }, { ZYD_CR18, 0x0a }, \ 504*8503SPengcheng.Chen@Sun.COM { ZYD_CR19, 0x48 }, { ZYD_CR20, 0x10 }, { ZYD_CR21, 0x0e }, \ 505*8503SPengcheng.Chen@Sun.COM { ZYD_CR22, 0x23 }, { ZYD_CR23, 0x90 }, { ZYD_CR24, 0x14 }, \ 506*8503SPengcheng.Chen@Sun.COM { ZYD_CR25, 0x40 }, { ZYD_CR26, 0x10 }, { ZYD_CR27, 0x10 }, \ 507*8503SPengcheng.Chen@Sun.COM { ZYD_CR28, 0x7f }, { ZYD_CR29, 0x80 }, { ZYD_CR30, 0x4b }, \ 508*8503SPengcheng.Chen@Sun.COM { ZYD_CR31, 0x60 }, { ZYD_CR32, 0x43 }, { ZYD_CR33, 0x08 }, \ 509*8503SPengcheng.Chen@Sun.COM { ZYD_CR34, 0x06 }, { ZYD_CR35, 0x0a }, { ZYD_CR36, 0x00 }, \ 510*8503SPengcheng.Chen@Sun.COM { ZYD_CR37, 0x00 }, { ZYD_CR38, 0x38 }, { ZYD_CR39, 0x0c }, \ 511*8503SPengcheng.Chen@Sun.COM { ZYD_CR40, 0x84 }, { ZYD_CR41, 0x2a }, { ZYD_CR42, 0x80 }, \ 512*8503SPengcheng.Chen@Sun.COM { ZYD_CR43, 0x10 }, { ZYD_CR44, 0x33 }, { ZYD_CR46, 0xff }, \ 513*8503SPengcheng.Chen@Sun.COM { ZYD_CR47, 0x1E }, { ZYD_CR48, 0x26 }, { ZYD_CR49, 0x5b }, \ 514*8503SPengcheng.Chen@Sun.COM { ZYD_CR64, 0xd0 }, { ZYD_CR65, 0x04 }, { ZYD_CR66, 0x58 }, \ 515*8503SPengcheng.Chen@Sun.COM { ZYD_CR67, 0xc9 }, { ZYD_CR68, 0x88 }, { ZYD_CR69, 0x41 }, \ 516*8503SPengcheng.Chen@Sun.COM { ZYD_CR70, 0x23 }, { ZYD_CR71, 0x10 }, { ZYD_CR72, 0xff }, \ 517*8503SPengcheng.Chen@Sun.COM { ZYD_CR73, 0x32 }, { ZYD_CR74, 0x30 }, { ZYD_CR75, 0x65 }, \ 518*8503SPengcheng.Chen@Sun.COM { ZYD_CR76, 0x41 }, { ZYD_CR77, 0x1b }, { ZYD_CR78, 0x30 }, \ 519*8503SPengcheng.Chen@Sun.COM { ZYD_CR79, 0xf0 }, { ZYD_CR80, 0x64 }, { ZYD_CR81, 0x64 }, \ 520*8503SPengcheng.Chen@Sun.COM { ZYD_CR82, 0x00 }, { ZYD_CR83, 0x24 }, { ZYD_CR84, 0x04 }, \ 521*8503SPengcheng.Chen@Sun.COM { ZYD_CR85, 0x00 }, { ZYD_CR86, 0x0c }, { ZYD_CR87, 0x12 }, \ 522*8503SPengcheng.Chen@Sun.COM { ZYD_CR88, 0x0c }, { ZYD_CR89, 0x00 }, { ZYD_CR90, 0x58 }, \ 523*8503SPengcheng.Chen@Sun.COM { ZYD_CR91, 0x04 }, { ZYD_CR92, 0x00 }, { ZYD_CR93, 0x00 }, \ 524*8503SPengcheng.Chen@Sun.COM { ZYD_CR94, 0x01 }, { ZYD_CR95, 0x20 }, { ZYD_CR96, 0x50 }, \ 525*8503SPengcheng.Chen@Sun.COM { ZYD_CR97, 0x37 }, { ZYD_CR98, 0x35 }, { ZYD_CR99, 0x00 }, \ 526*8503SPengcheng.Chen@Sun.COM { ZYD_CR100, 0x01 }, { ZYD_CR101, 0x13 }, { ZYD_CR102, 0x27 }, \ 527*8503SPengcheng.Chen@Sun.COM { ZYD_CR103, 0x27 }, { ZYD_CR104, 0x18 }, { ZYD_CR105, 0x12 }, \ 528*8503SPengcheng.Chen@Sun.COM { ZYD_CR106, 0x04 }, { ZYD_CR107, 0x00 }, { ZYD_CR108, 0x0a }, \ 529*8503SPengcheng.Chen@Sun.COM { ZYD_CR109, 0x27 }, { ZYD_CR110, 0x27 }, { ZYD_CR111, 0x27 }, \ 530*8503SPengcheng.Chen@Sun.COM { ZYD_CR112, 0x27 }, { ZYD_CR113, 0x27 }, { ZYD_CR114, 0x27 }, \ 531*8503SPengcheng.Chen@Sun.COM { ZYD_CR115, 0x26 }, { ZYD_CR116, 0x24 }, { ZYD_CR117, 0xfc }, \ 532*8503SPengcheng.Chen@Sun.COM { ZYD_CR118, 0xfa }, { ZYD_CR119, 0x1e }, { ZYD_CR125, 0x90 }, \ 533*8503SPengcheng.Chen@Sun.COM { ZYD_CR126, 0x00 }, { ZYD_CR127, 0x00 }, { ZYD_CR128, 0x14 }, \ 534*8503SPengcheng.Chen@Sun.COM { ZYD_CR129, 0x12 }, { ZYD_CR130, 0x10 }, { ZYD_CR131, 0x0c }, \ 535*8503SPengcheng.Chen@Sun.COM { ZYD_CR136, 0xdf }, { ZYD_CR137, 0xa0 }, { ZYD_CR138, 0xa8 }, \ 536*8503SPengcheng.Chen@Sun.COM { ZYD_CR139, 0xb4 }, { ZYD_CR140, 0x98 }, { ZYD_CR141, 0x82 }, \ 537*8503SPengcheng.Chen@Sun.COM { ZYD_CR142, 0x53 }, { ZYD_CR143, 0x1c }, { ZYD_CR144, 0x6c }, \ 538*8503SPengcheng.Chen@Sun.COM { ZYD_CR147, 0x07 }, { ZYD_CR148, 0x40 }, { ZYD_CR149, 0x40 }, \ 539*8503SPengcheng.Chen@Sun.COM { ZYD_CR150, 0x14 }, { ZYD_CR151, 0x18 }, { ZYD_CR159, 0x70 }, \ 540*8503SPengcheng.Chen@Sun.COM { ZYD_CR160, 0xfe }, { ZYD_CR161, 0xee }, { ZYD_CR162, 0xaa }, \ 541*8503SPengcheng.Chen@Sun.COM { ZYD_CR163, 0xfa }, { ZYD_CR164, 0xfa }, { ZYD_CR165, 0xea }, \ 542*8503SPengcheng.Chen@Sun.COM { ZYD_CR166, 0xbe }, { ZYD_CR167, 0xbe }, { ZYD_CR168, 0x6a }, \ 543*8503SPengcheng.Chen@Sun.COM { ZYD_CR169, 0xba }, { ZYD_CR170, 0xba }, { ZYD_CR171, 0xba }, \ 544*8503SPengcheng.Chen@Sun.COM { ZYD_CR204, 0x7d }, { ZYD_CR203, 0x30 }, \ 545*8503SPengcheng.Chen@Sun.COM { 0, 0 } \ 546*8503SPengcheng.Chen@Sun.COM } 547*8503SPengcheng.Chen@Sun.COM 548*8503SPengcheng.Chen@Sun.COM #define ZYD_RFMD_PHY \ 549*8503SPengcheng.Chen@Sun.COM { \ 550*8503SPengcheng.Chen@Sun.COM { ZYD_CR2, 0x1e }, { ZYD_CR9, 0x20 }, { ZYD_CR10, 0x89 }, \ 551*8503SPengcheng.Chen@Sun.COM { ZYD_CR11, 0x00 }, { ZYD_CR15, 0xd0 }, { ZYD_CR17, 0x68 }, \ 552*8503SPengcheng.Chen@Sun.COM { ZYD_CR19, 0x4a }, { ZYD_CR20, 0x0c }, { ZYD_CR21, 0x0e }, \ 553*8503SPengcheng.Chen@Sun.COM { ZYD_CR23, 0x48 }, { ZYD_CR24, 0x14 }, { ZYD_CR26, 0x90 }, \ 554*8503SPengcheng.Chen@Sun.COM { ZYD_CR27, 0x30 }, { ZYD_CR29, 0x20 }, { ZYD_CR31, 0xb2 }, \ 555*8503SPengcheng.Chen@Sun.COM { ZYD_CR32, 0x43 }, { ZYD_CR33, 0x28 }, { ZYD_CR38, 0x30 }, \ 556*8503SPengcheng.Chen@Sun.COM { ZYD_CR34, 0x0f }, { ZYD_CR35, 0xf0 }, { ZYD_CR41, 0x2a }, \ 557*8503SPengcheng.Chen@Sun.COM { ZYD_CR46, 0x7f }, { ZYD_CR47, 0x1e }, { ZYD_CR51, 0xc5 }, \ 558*8503SPengcheng.Chen@Sun.COM { ZYD_CR52, 0xc5 }, { ZYD_CR53, 0xc5 }, { ZYD_CR79, 0x58 }, \ 559*8503SPengcheng.Chen@Sun.COM { ZYD_CR80, 0x30 }, { ZYD_CR81, 0x30 }, { ZYD_CR82, 0x00 }, \ 560*8503SPengcheng.Chen@Sun.COM { ZYD_CR83, 0x24 }, { ZYD_CR84, 0x04 }, { ZYD_CR85, 0x00 }, \ 561*8503SPengcheng.Chen@Sun.COM { ZYD_CR86, 0x10 }, { ZYD_CR87, 0x2a }, { ZYD_CR88, 0x10 }, \ 562*8503SPengcheng.Chen@Sun.COM { ZYD_CR89, 0x24 }, { ZYD_CR90, 0x18 }, { ZYD_CR91, 0x00 }, \ 563*8503SPengcheng.Chen@Sun.COM { ZYD_CR92, 0x0a }, { ZYD_CR93, 0x00 }, { ZYD_CR94, 0x01 }, \ 564*8503SPengcheng.Chen@Sun.COM { ZYD_CR95, 0x00 }, { ZYD_CR96, 0x40 }, { ZYD_CR97, 0x37 }, \ 565*8503SPengcheng.Chen@Sun.COM { ZYD_CR98, 0x05 }, { ZYD_CR99, 0x28 }, { ZYD_CR100, 0x00 }, \ 566*8503SPengcheng.Chen@Sun.COM { ZYD_CR101, 0x13 }, { ZYD_CR102, 0x27 }, { ZYD_CR103, 0x27 }, \ 567*8503SPengcheng.Chen@Sun.COM { ZYD_CR104, 0x18 }, { ZYD_CR105, 0x12 }, { ZYD_CR106, 0x1a }, \ 568*8503SPengcheng.Chen@Sun.COM { ZYD_CR107, 0x24 }, { ZYD_CR108, 0x0a }, { ZYD_CR109, 0x13 }, \ 569*8503SPengcheng.Chen@Sun.COM { ZYD_CR110, 0x2f }, { ZYD_CR111, 0x27 }, { ZYD_CR112, 0x27 }, \ 570*8503SPengcheng.Chen@Sun.COM { ZYD_CR113, 0x27 }, { ZYD_CR114, 0x27 }, { ZYD_CR115, 0x40 }, \ 571*8503SPengcheng.Chen@Sun.COM { ZYD_CR116, 0x40 }, { ZYD_CR117, 0xf0 }, { ZYD_CR118, 0xf0 }, \ 572*8503SPengcheng.Chen@Sun.COM { ZYD_CR119, 0x16 }, { ZYD_CR122, 0x00 }, { ZYD_CR127, 0x03 }, \ 573*8503SPengcheng.Chen@Sun.COM { ZYD_CR131, 0x08 }, { ZYD_CR138, 0x28 }, { ZYD_CR148, 0x44 }, \ 574*8503SPengcheng.Chen@Sun.COM { ZYD_CR150, 0x10 }, { ZYD_CR169, 0xbb }, { ZYD_CR170, 0xbb } \ 575*8503SPengcheng.Chen@Sun.COM } 576*8503SPengcheng.Chen@Sun.COM 577*8503SPengcheng.Chen@Sun.COM #define ZYD_RFMD_RF \ 578*8503SPengcheng.Chen@Sun.COM { \ 579*8503SPengcheng.Chen@Sun.COM 0x000007, 0x07dd43, 0x080959, 0x0e6666, 0x116a57, 0x17dd43, \ 580*8503SPengcheng.Chen@Sun.COM 0x1819f9, 0x1e6666, 0x214554, 0x25e7fa, 0x27fffa, 0x294128, \ 581*8503SPengcheng.Chen@Sun.COM 0x2c0000, 0x300000, 0x340000, 0x381e0f, 0x6c180f \ 582*8503SPengcheng.Chen@Sun.COM } 583*8503SPengcheng.Chen@Sun.COM 584*8503SPengcheng.Chen@Sun.COM #define ZYD_RFMD_CHANTABLE \ 585*8503SPengcheng.Chen@Sun.COM { \ 586*8503SPengcheng.Chen@Sun.COM { 0x181979, 0x1e6666 }, \ 587*8503SPengcheng.Chen@Sun.COM { 0x181989, 0x1e6666 }, \ 588*8503SPengcheng.Chen@Sun.COM { 0x181999, 0x1e6666 }, \ 589*8503SPengcheng.Chen@Sun.COM { 0x1819a9, 0x1e6666 }, \ 590*8503SPengcheng.Chen@Sun.COM { 0x1819b9, 0x1e6666 }, \ 591*8503SPengcheng.Chen@Sun.COM { 0x1819c9, 0x1e6666 }, \ 592*8503SPengcheng.Chen@Sun.COM { 0x1819d9, 0x1e6666 }, \ 593*8503SPengcheng.Chen@Sun.COM { 0x1819e9, 0x1e6666 }, \ 594*8503SPengcheng.Chen@Sun.COM { 0x1819f9, 0x1e6666 }, \ 595*8503SPengcheng.Chen@Sun.COM { 0x181a09, 0x1e6666 }, \ 596*8503SPengcheng.Chen@Sun.COM { 0x181a19, 0x1e6666 }, \ 597*8503SPengcheng.Chen@Sun.COM { 0x181a29, 0x1e6666 }, \ 598*8503SPengcheng.Chen@Sun.COM { 0x181a39, 0x1e6666 }, \ 599*8503SPengcheng.Chen@Sun.COM { 0x181a60, 0x1c0000 } \ 600*8503SPengcheng.Chen@Sun.COM } 601*8503SPengcheng.Chen@Sun.COM 602*8503SPengcheng.Chen@Sun.COM 603*8503SPengcheng.Chen@Sun.COM 604*8503SPengcheng.Chen@Sun.COM #define ZYD_AL2230_PHY \ 605*8503SPengcheng.Chen@Sun.COM { \ 606*8503SPengcheng.Chen@Sun.COM { ZYD_CR15, 0x20 }, { ZYD_CR23, 0x40 }, { ZYD_CR24, 0x20 }, \ 607*8503SPengcheng.Chen@Sun.COM { ZYD_CR26, 0x11 }, { ZYD_CR28, 0x3e }, { ZYD_CR29, 0x00 }, \ 608*8503SPengcheng.Chen@Sun.COM { ZYD_CR44, 0x33 }, { ZYD_CR106, 0x2a }, { ZYD_CR107, 0x1a }, \ 609*8503SPengcheng.Chen@Sun.COM { ZYD_CR109, 0x09 }, { ZYD_CR110, 0x27 }, { ZYD_CR111, 0x2b }, \ 610*8503SPengcheng.Chen@Sun.COM { ZYD_CR112, 0x2b }, { ZYD_CR119, 0x0a }, { ZYD_CR10, 0x89 }, \ 611*8503SPengcheng.Chen@Sun.COM { ZYD_CR17, 0x28 }, { ZYD_CR26, 0x93 }, { ZYD_CR34, 0x30 }, \ 612*8503SPengcheng.Chen@Sun.COM { ZYD_CR35, 0x3e }, { ZYD_CR41, 0x24 }, { ZYD_CR44, 0x32 }, \ 613*8503SPengcheng.Chen@Sun.COM { ZYD_CR46, 0x96 }, { ZYD_CR47, 0x1e }, { ZYD_CR79, 0x58 }, \ 614*8503SPengcheng.Chen@Sun.COM { ZYD_CR80, 0x30 }, { ZYD_CR81, 0x30 }, { ZYD_CR87, 0x0a }, \ 615*8503SPengcheng.Chen@Sun.COM { ZYD_CR89, 0x04 }, { ZYD_CR92, 0x0a }, { ZYD_CR99, 0x28 }, \ 616*8503SPengcheng.Chen@Sun.COM { ZYD_CR100, 0x00 }, { ZYD_CR101, 0x13 }, { ZYD_CR102, 0x27 }, \ 617*8503SPengcheng.Chen@Sun.COM { ZYD_CR106, 0x24 }, { ZYD_CR107, 0x2a }, { ZYD_CR109, 0x09 }, \ 618*8503SPengcheng.Chen@Sun.COM { ZYD_CR110, 0x13 }, { ZYD_CR111, 0x1f }, { ZYD_CR112, 0x1f }, \ 619*8503SPengcheng.Chen@Sun.COM { ZYD_CR113, 0x27 }, { ZYD_CR114, 0x27 }, { ZYD_CR115, 0x24 }, \ 620*8503SPengcheng.Chen@Sun.COM { ZYD_CR116, 0x24 }, { ZYD_CR117, 0xf4 }, { ZYD_CR118, 0xfc }, \ 621*8503SPengcheng.Chen@Sun.COM { ZYD_CR119, 0x10 }, { ZYD_CR120, 0x4f }, { ZYD_CR121, 0x77 }, \ 622*8503SPengcheng.Chen@Sun.COM { ZYD_CR122, 0xe0 }, { ZYD_CR137, 0x88 }, { ZYD_CR252, 0xff }, \ 623*8503SPengcheng.Chen@Sun.COM { ZYD_CR253, 0xff }, { ZYD_CR251, 0x2f }, { ZYD_CR251, 0x3f }, \ 624*8503SPengcheng.Chen@Sun.COM { ZYD_CR138, 0x28 }, { ZYD_CR203, 0x06 } \ 625*8503SPengcheng.Chen@Sun.COM } 626*8503SPengcheng.Chen@Sun.COM 627*8503SPengcheng.Chen@Sun.COM #define ZYD_AL2230_PHY_B \ 628*8503SPengcheng.Chen@Sun.COM { \ 629*8503SPengcheng.Chen@Sun.COM { ZYD_CR10, 0x89 }, { ZYD_CR15, 0x20 }, { ZYD_CR17, 0x2b }, \ 630*8503SPengcheng.Chen@Sun.COM { ZYD_CR23, 0x40 }, { ZYD_CR24, 0x20 }, { ZYD_CR26, 0x93 }, \ 631*8503SPengcheng.Chen@Sun.COM { ZYD_CR28, 0x3e }, { ZYD_CR29, 0x00 }, { ZYD_CR33, 0x28 }, \ 632*8503SPengcheng.Chen@Sun.COM { ZYD_CR34, 0x30 }, { ZYD_CR35, 0x3e }, { ZYD_CR41, 0x24 }, \ 633*8503SPengcheng.Chen@Sun.COM { ZYD_CR44, 0x32 }, { ZYD_CR46, 0x99 }, { ZYD_CR47, 0x1e }, \ 634*8503SPengcheng.Chen@Sun.COM { ZYD_CR48, 0x00 }, { ZYD_CR49, 0x00 }, { ZYD_CR51, 0x01 }, \ 635*8503SPengcheng.Chen@Sun.COM { ZYD_CR52, 0x80 }, { ZYD_CR53, 0x7e }, { ZYD_CR65, 0x00 }, \ 636*8503SPengcheng.Chen@Sun.COM { ZYD_CR66, 0x00 }, { ZYD_CR67, 0x00 }, { ZYD_CR68, 0x00 }, \ 637*8503SPengcheng.Chen@Sun.COM { ZYD_CR69, 0x28 }, { ZYD_CR79, 0x58 }, { ZYD_CR80, 0x30 }, \ 638*8503SPengcheng.Chen@Sun.COM { ZYD_CR81, 0x30 }, { ZYD_CR87, 0x0a }, { ZYD_CR89, 0x04 }, \ 639*8503SPengcheng.Chen@Sun.COM { ZYD_CR91, 0x00 }, { ZYD_CR92, 0x0a }, { ZYD_CR98, 0x8d }, \ 640*8503SPengcheng.Chen@Sun.COM { ZYD_CR99, 0x00 }, { ZYD_CR101, 0x13 }, { ZYD_CR106, 0x24 }, \ 641*8503SPengcheng.Chen@Sun.COM { ZYD_CR107, 0x2a }, { ZYD_CR109, 0x13 }, { ZYD_CR110, 0x1f }, \ 642*8503SPengcheng.Chen@Sun.COM { ZYD_CR111, 0x1f }, { ZYD_CR114, 0x27 }, { ZYD_CR115, 0x26 }, \ 643*8503SPengcheng.Chen@Sun.COM { ZYD_CR116, 0x24 }, { ZYD_CR117, 0xfa }, { ZYD_CR118, 0xfa }, \ 644*8503SPengcheng.Chen@Sun.COM { ZYD_CR119, 0x10 }, { ZYD_CR120, 0x4f }, { ZYD_CR121, 0x6c }, \ 645*8503SPengcheng.Chen@Sun.COM { ZYD_CR122, 0xfc }, { ZYD_CR123, 0x57 }, { ZYD_CR125, 0xad }, \ 646*8503SPengcheng.Chen@Sun.COM { ZYD_CR126, 0x6c }, { ZYD_CR127, 0x03 }, { ZYD_CR137, 0x50 }, \ 647*8503SPengcheng.Chen@Sun.COM { ZYD_CR138, 0xa8 }, { ZYD_CR144, 0xac }, { ZYD_CR150, 0x0d }, \ 648*8503SPengcheng.Chen@Sun.COM { ZYD_CR252, 0x00 }, { ZYD_CR253, 0x00 } \ 649*8503SPengcheng.Chen@Sun.COM } 650*8503SPengcheng.Chen@Sun.COM 651*8503SPengcheng.Chen@Sun.COM #define ZYD_AL2230_RF \ 652*8503SPengcheng.Chen@Sun.COM { \ 653*8503SPengcheng.Chen@Sun.COM 0x03f790, 0x033331, 0x00000d, 0x0b3331, 0x03b812, 0x00fff3, \ 654*8503SPengcheng.Chen@Sun.COM 0x000da4, 0x0f4dc5, 0x0805b6, 0x011687, 0x000688, 0x0403b9, \ 655*8503SPengcheng.Chen@Sun.COM 0x00dbba, 0x00099b, 0x0bdffc, 0x00000d, 0x00500f, 0x00d00f, \ 656*8503SPengcheng.Chen@Sun.COM 0x004c0f, 0x00540f, 0x00700f, 0x00500f \ 657*8503SPengcheng.Chen@Sun.COM } 658*8503SPengcheng.Chen@Sun.COM 659*8503SPengcheng.Chen@Sun.COM #define ZYD_AL2230_RF_B \ 660*8503SPengcheng.Chen@Sun.COM { \ 661*8503SPengcheng.Chen@Sun.COM 0x03f790, 0x033331, 0x00000d, 0x0b3331, 0x03b812, 0x00fff3, \ 662*8503SPengcheng.Chen@Sun.COM 0x0005a4, 0x0f4dc5, 0x0805b6, 0x0146c7, 0x000688, 0x0403b9, \ 663*8503SPengcheng.Chen@Sun.COM 0x00dbba, 0x00099b, 0x0bdffc, 0x00000d, 0x00580f \ 664*8503SPengcheng.Chen@Sun.COM } 665*8503SPengcheng.Chen@Sun.COM 666*8503SPengcheng.Chen@Sun.COM #define ZYD_AL2230_CHANTABLE \ 667*8503SPengcheng.Chen@Sun.COM { \ 668*8503SPengcheng.Chen@Sun.COM { 0x03f790, 0x033331, 0x00000d }, \ 669*8503SPengcheng.Chen@Sun.COM { 0x03f790, 0x0b3331, 0x00000d }, \ 670*8503SPengcheng.Chen@Sun.COM { 0x03e790, 0x033331, 0x00000d }, \ 671*8503SPengcheng.Chen@Sun.COM { 0x03e790, 0x0b3331, 0x00000d }, \ 672*8503SPengcheng.Chen@Sun.COM { 0x03f7a0, 0x033331, 0x00000d }, \ 673*8503SPengcheng.Chen@Sun.COM { 0x03f7a0, 0x0b3331, 0x00000d }, \ 674*8503SPengcheng.Chen@Sun.COM { 0x03e7a0, 0x033331, 0x00000d }, \ 675*8503SPengcheng.Chen@Sun.COM { 0x03e7a0, 0x0b3331, 0x00000d }, \ 676*8503SPengcheng.Chen@Sun.COM { 0x03f7b0, 0x033331, 0x00000d }, \ 677*8503SPengcheng.Chen@Sun.COM { 0x03f7b0, 0x0b3331, 0x00000d }, \ 678*8503SPengcheng.Chen@Sun.COM { 0x03e7b0, 0x033331, 0x00000d }, \ 679*8503SPengcheng.Chen@Sun.COM { 0x03e7b0, 0x0b3331, 0x00000d }, \ 680*8503SPengcheng.Chen@Sun.COM { 0x03f7c0, 0x033331, 0x00000d }, \ 681*8503SPengcheng.Chen@Sun.COM { 0x03e7c0, 0x066661, 0x00000d } \ 682*8503SPengcheng.Chen@Sun.COM } 683*8503SPengcheng.Chen@Sun.COM 684*8503SPengcheng.Chen@Sun.COM 685*8503SPengcheng.Chen@Sun.COM 686*8503SPengcheng.Chen@Sun.COM #define ZYD_AL7230B_PHY_1 \ 687*8503SPengcheng.Chen@Sun.COM { \ 688*8503SPengcheng.Chen@Sun.COM { ZYD_CR240, 0x57 }, { ZYD_CR15, 0x20 }, { ZYD_CR23, 0x40 }, \ 689*8503SPengcheng.Chen@Sun.COM { ZYD_CR24, 0x20 }, { ZYD_CR26, 0x11 }, { ZYD_CR28, 0x3e }, \ 690*8503SPengcheng.Chen@Sun.COM { ZYD_CR29, 0x00 }, { ZYD_CR44, 0x33 }, { ZYD_CR106, 0x22 }, \ 691*8503SPengcheng.Chen@Sun.COM { ZYD_CR107, 0x1a }, { ZYD_CR109, 0x09 }, { ZYD_CR110, 0x27 }, \ 692*8503SPengcheng.Chen@Sun.COM { ZYD_CR111, 0x2b }, { ZYD_CR112, 0x2b }, { ZYD_CR119, 0x0a }, \ 693*8503SPengcheng.Chen@Sun.COM { ZYD_CR122, 0xfc }, { ZYD_CR10, 0x89 }, { ZYD_CR17, 0x28 }, \ 694*8503SPengcheng.Chen@Sun.COM { ZYD_CR26, 0x93 }, { ZYD_CR34, 0x30 }, { ZYD_CR35, 0x3e }, \ 695*8503SPengcheng.Chen@Sun.COM { ZYD_CR41, 0x24 }, { ZYD_CR44, 0x32 }, { ZYD_CR46, 0x96 }, \ 696*8503SPengcheng.Chen@Sun.COM { ZYD_CR47, 0x1e }, { ZYD_CR79, 0x58 }, { ZYD_CR80, 0x30 }, \ 697*8503SPengcheng.Chen@Sun.COM { ZYD_CR81, 0x30 }, { ZYD_CR87, 0x0a }, { ZYD_CR89, 0x04 }, \ 698*8503SPengcheng.Chen@Sun.COM { ZYD_CR92, 0x0a }, { ZYD_CR99, 0x28 }, { ZYD_CR100, 0x02 }, \ 699*8503SPengcheng.Chen@Sun.COM { ZYD_CR101, 0x13 }, { ZYD_CR102, 0x27 }, { ZYD_CR106, 0x22 }, \ 700*8503SPengcheng.Chen@Sun.COM { ZYD_CR107, 0x3f }, { ZYD_CR109, 0x09 }, { ZYD_CR110, 0x1f }, \ 701*8503SPengcheng.Chen@Sun.COM { ZYD_CR111, 0x1f }, { ZYD_CR112, 0x1f }, { ZYD_CR113, 0x27 }, \ 702*8503SPengcheng.Chen@Sun.COM { ZYD_CR114, 0x27 }, { ZYD_CR115, 0x24 }, { ZYD_CR116, 0x3f }, \ 703*8503SPengcheng.Chen@Sun.COM { ZYD_CR117, 0xfa }, { ZYD_CR118, 0xfc }, { ZYD_CR119, 0x10 }, \ 704*8503SPengcheng.Chen@Sun.COM { ZYD_CR120, 0x4f }, { ZYD_CR121, 0x77 }, { ZYD_CR137, 0x88 }, \ 705*8503SPengcheng.Chen@Sun.COM { ZYD_CR138, 0xa8 }, { ZYD_CR252, 0x34 }, { ZYD_CR253, 0x34 }, \ 706*8503SPengcheng.Chen@Sun.COM { ZYD_CR251, 0x2f } \ 707*8503SPengcheng.Chen@Sun.COM } 708*8503SPengcheng.Chen@Sun.COM 709*8503SPengcheng.Chen@Sun.COM #define ZYD_AL7230B_PHY_2 \ 710*8503SPengcheng.Chen@Sun.COM { \ 711*8503SPengcheng.Chen@Sun.COM { ZYD_CR251, 0x3f }, { ZYD_CR128, 0x14 }, { ZYD_CR129, 0x12 }, \ 712*8503SPengcheng.Chen@Sun.COM { ZYD_CR130, 0x10 }, { ZYD_CR38, 0x38 }, { ZYD_CR136, 0xdf } \ 713*8503SPengcheng.Chen@Sun.COM } 714*8503SPengcheng.Chen@Sun.COM 715*8503SPengcheng.Chen@Sun.COM #define ZYD_AL7230B_PHY_3 \ 716*8503SPengcheng.Chen@Sun.COM { \ 717*8503SPengcheng.Chen@Sun.COM { ZYD_CR203, 0x06 }, { ZYD_CR240, 0x80 } \ 718*8503SPengcheng.Chen@Sun.COM } 719*8503SPengcheng.Chen@Sun.COM 720*8503SPengcheng.Chen@Sun.COM #define ZYD_AL7230B_RF_1 \ 721*8503SPengcheng.Chen@Sun.COM { \ 722*8503SPengcheng.Chen@Sun.COM 0x09ec04, 0x8cccc8, 0x4ff821, 0xc5fbfc, 0x21ebfe, 0xafd401, \ 723*8503SPengcheng.Chen@Sun.COM 0x6cf56a, 0xe04073, 0x193d76, 0x9dd844, 0x500007, 0xd8c010, \ 724*8503SPengcheng.Chen@Sun.COM 0x3c9000, 0xbfffff, 0x700000, 0xf15d58 \ 725*8503SPengcheng.Chen@Sun.COM } 726*8503SPengcheng.Chen@Sun.COM 727*8503SPengcheng.Chen@Sun.COM #define ZYD_AL7230B_RF_2 \ 728*8503SPengcheng.Chen@Sun.COM { \ 729*8503SPengcheng.Chen@Sun.COM 0xf15d59, 0xf15d5c, 0xf15d58 \ 730*8503SPengcheng.Chen@Sun.COM } 731*8503SPengcheng.Chen@Sun.COM 732*8503SPengcheng.Chen@Sun.COM #define ZYD_AL7230B_RF_SETCHANNEL \ 733*8503SPengcheng.Chen@Sun.COM { \ 734*8503SPengcheng.Chen@Sun.COM 0x4ff821, 0xc5fbfc, 0x21ebfe, 0xafd401, 0x6cf56a, 0xe04073, \ 735*8503SPengcheng.Chen@Sun.COM 0x193d76, 0x9dd844, 0x500007, 0xd8c010, 0x3c9000, 0xf15d58 \ 736*8503SPengcheng.Chen@Sun.COM } 737*8503SPengcheng.Chen@Sun.COM 738*8503SPengcheng.Chen@Sun.COM #define ZYD_AL7230B_CHANTABLE \ 739*8503SPengcheng.Chen@Sun.COM { \ 740*8503SPengcheng.Chen@Sun.COM { 0x09ec00, 0x8cccc8 }, \ 741*8503SPengcheng.Chen@Sun.COM { 0x09ec00, 0x8cccd8 }, \ 742*8503SPengcheng.Chen@Sun.COM { 0x09ec00, 0x8cccc0 }, \ 743*8503SPengcheng.Chen@Sun.COM { 0x09ec00, 0x8cccd0 }, \ 744*8503SPengcheng.Chen@Sun.COM { 0x05ec00, 0x8cccc8 }, \ 745*8503SPengcheng.Chen@Sun.COM { 0x05ec00, 0x8cccd8 }, \ 746*8503SPengcheng.Chen@Sun.COM { 0x05ec00, 0x8cccc0 }, \ 747*8503SPengcheng.Chen@Sun.COM { 0x05ec00, 0x8cccd0 }, \ 748*8503SPengcheng.Chen@Sun.COM { 0x0dec00, 0x8cccc8 }, \ 749*8503SPengcheng.Chen@Sun.COM { 0x0dec00, 0x8cccd8 }, \ 750*8503SPengcheng.Chen@Sun.COM { 0x0dec00, 0x8cccc0 }, \ 751*8503SPengcheng.Chen@Sun.COM { 0x0dec00, 0x8cccd0 }, \ 752*8503SPengcheng.Chen@Sun.COM { 0x03ec00, 0x8cccc8 }, \ 753*8503SPengcheng.Chen@Sun.COM { 0x03ec00, 0x866660 } \ 754*8503SPengcheng.Chen@Sun.COM } 755*8503SPengcheng.Chen@Sun.COM 756*8503SPengcheng.Chen@Sun.COM 757*8503SPengcheng.Chen@Sun.COM 758*8503SPengcheng.Chen@Sun.COM #define ZYD_AL2210_PHY \ 759*8503SPengcheng.Chen@Sun.COM { \ 760*8503SPengcheng.Chen@Sun.COM { ZYD_CR9, 0xe0 }, { ZYD_CR10, 0x91 }, { ZYD_CR12, 0x90 }, \ 761*8503SPengcheng.Chen@Sun.COM { ZYD_CR15, 0xd0 }, { ZYD_CR16, 0x40 }, { ZYD_CR17, 0x58 }, \ 762*8503SPengcheng.Chen@Sun.COM { ZYD_CR18, 0x04 }, { ZYD_CR23, 0x66 }, { ZYD_CR24, 0x14 }, \ 763*8503SPengcheng.Chen@Sun.COM { ZYD_CR26, 0x90 }, { ZYD_CR31, 0x80 }, { ZYD_CR34, 0x06 }, \ 764*8503SPengcheng.Chen@Sun.COM { ZYD_CR35, 0x3e }, { ZYD_CR38, 0x38 }, { ZYD_CR46, 0x90 }, \ 765*8503SPengcheng.Chen@Sun.COM { ZYD_CR47, 0x1e }, { ZYD_CR64, 0x64 }, { ZYD_CR79, 0xb5 }, \ 766*8503SPengcheng.Chen@Sun.COM { ZYD_CR80, 0x38 }, { ZYD_CR81, 0x30 }, { ZYD_CR113, 0xc0 }, \ 767*8503SPengcheng.Chen@Sun.COM { ZYD_CR127, 0x03 } \ 768*8503SPengcheng.Chen@Sun.COM } 769*8503SPengcheng.Chen@Sun.COM 770*8503SPengcheng.Chen@Sun.COM #define ZYD_AL2210_RF \ 771*8503SPengcheng.Chen@Sun.COM { \ 772*8503SPengcheng.Chen@Sun.COM 0x2396c0, 0x00fcb1, 0x358132, 0x0108b3, 0xc77804, 0x456415, \ 773*8503SPengcheng.Chen@Sun.COM 0xff2226, 0x806667, 0x7860f8, 0xbb01c9, 0x00000a, 0x00000b \ 774*8503SPengcheng.Chen@Sun.COM } 775*8503SPengcheng.Chen@Sun.COM 776*8503SPengcheng.Chen@Sun.COM #define ZYD_AL2210_CHANTABLE \ 777*8503SPengcheng.Chen@Sun.COM { \ 778*8503SPengcheng.Chen@Sun.COM 0x0196c0, 0x019710, 0x019760, 0x0197b0, 0x019800, 0x019850, \ 779*8503SPengcheng.Chen@Sun.COM 0x0198a0, 0x0198f0, 0x019940, 0x019990, 0x0199e0, 0x019a30, \ 780*8503SPengcheng.Chen@Sun.COM 0x019a80, 0x019b40 \ 781*8503SPengcheng.Chen@Sun.COM } 782*8503SPengcheng.Chen@Sun.COM 783*8503SPengcheng.Chen@Sun.COM 784*8503SPengcheng.Chen@Sun.COM 785*8503SPengcheng.Chen@Sun.COM #define ZYD_GCT_PHY \ 786*8503SPengcheng.Chen@Sun.COM { \ 787*8503SPengcheng.Chen@Sun.COM { ZYD_CR47, 0x1e }, { ZYD_CR15, 0xdc }, { ZYD_CR113, 0xc0 }, \ 788*8503SPengcheng.Chen@Sun.COM { ZYD_CR20, 0x0c }, { ZYD_CR17, 0x65 }, { ZYD_CR34, 0x04 }, \ 789*8503SPengcheng.Chen@Sun.COM { ZYD_CR35, 0x35 }, { ZYD_CR24, 0x20 }, { ZYD_CR9, 0xe0 }, \ 790*8503SPengcheng.Chen@Sun.COM { ZYD_CR127, 0x02 }, { ZYD_CR10, 0x91 }, { ZYD_CR23, 0x7f }, \ 791*8503SPengcheng.Chen@Sun.COM { ZYD_CR27, 0x10 }, { ZYD_CR28, 0x7a }, { ZYD_CR79, 0xb5 }, \ 792*8503SPengcheng.Chen@Sun.COM { ZYD_CR64, 0x80 }, { ZYD_CR33, 0x28 }, { ZYD_CR38, 0x30 } \ 793*8503SPengcheng.Chen@Sun.COM } 794*8503SPengcheng.Chen@Sun.COM 795*8503SPengcheng.Chen@Sun.COM #define ZYD_GCT_RF \ 796*8503SPengcheng.Chen@Sun.COM { \ 797*8503SPengcheng.Chen@Sun.COM 0x1f0000, 0x1f0000, 0x1f0200, 0x1f0600, 0x1f8600, 0x1f8600, \ 798*8503SPengcheng.Chen@Sun.COM 0x002050, 0x1f8000, 0x1f8200, 0x1f8600, 0x1c0000, 0x10c458, \ 799*8503SPengcheng.Chen@Sun.COM 0x088e92, 0x187b82, 0x0401b4, 0x140816, 0x0c7000, 0x1c0000, \ 800*8503SPengcheng.Chen@Sun.COM 0x02ccae, 0x128023, 0x0a0000, 0x1a0000, 0x06e380, 0x16cb94, \ 801*8503SPengcheng.Chen@Sun.COM 0x0e1740, 0x014980, 0x116240, 0x090000, 0x192304, 0x05112f, \ 802*8503SPengcheng.Chen@Sun.COM 0x0d54a8, 0x0f8000, 0x1c0008, 0x1c0000, 0x1a0000, 0x1c0008, \ 803*8503SPengcheng.Chen@Sun.COM 0x150000, 0x0c7000, 0x150800, 0x150000 \ 804*8503SPengcheng.Chen@Sun.COM } 805*8503SPengcheng.Chen@Sun.COM 806*8503SPengcheng.Chen@Sun.COM #define ZYD_GCT_CHANTABLE \ 807*8503SPengcheng.Chen@Sun.COM { \ 808*8503SPengcheng.Chen@Sun.COM 0x1a0000, 0x1a8000, 0x1a4000, 0x1ac000, 0x1a2000, 0x1aa000, \ 809*8503SPengcheng.Chen@Sun.COM 0x1a6000, 0x1ae000, 0x1a1000, 0x1a9000, 0x1a5000, 0x1ad000, \ 810*8503SPengcheng.Chen@Sun.COM 0x1a3000, 0x1ab000 \ 811*8503SPengcheng.Chen@Sun.COM } 812*8503SPengcheng.Chen@Sun.COM 813*8503SPengcheng.Chen@Sun.COM 814*8503SPengcheng.Chen@Sun.COM 815*8503SPengcheng.Chen@Sun.COM #define ZYD_MAXIM_PHY \ 816*8503SPengcheng.Chen@Sun.COM { \ 817*8503SPengcheng.Chen@Sun.COM { ZYD_CR23, 0x40 }, { ZYD_CR15, 0x20 }, { ZYD_CR28, 0x3e }, \ 818*8503SPengcheng.Chen@Sun.COM { ZYD_CR29, 0x00 }, { ZYD_CR26, 0x11 }, { ZYD_CR44, 0x33 }, \ 819*8503SPengcheng.Chen@Sun.COM { ZYD_CR106, 0x2a }, { ZYD_CR107, 0x1a }, { ZYD_CR109, 0x2b }, \ 820*8503SPengcheng.Chen@Sun.COM { ZYD_CR110, 0x2b }, { ZYD_CR111, 0x2b }, { ZYD_CR112, 0x2b }, \ 821*8503SPengcheng.Chen@Sun.COM { ZYD_CR10, 0x89 }, { ZYD_CR17, 0x20 }, { ZYD_CR26, 0x93 }, \ 822*8503SPengcheng.Chen@Sun.COM { ZYD_CR34, 0x30 }, { ZYD_CR35, 0x40 }, { ZYD_CR41, 0x24 }, \ 823*8503SPengcheng.Chen@Sun.COM { ZYD_CR44, 0x32 }, { ZYD_CR46, 0x90 }, { ZYD_CR89, 0x18 }, \ 824*8503SPengcheng.Chen@Sun.COM { ZYD_CR92, 0x0a }, { ZYD_CR101, 0x13 }, { ZYD_CR102, 0x27 }, \ 825*8503SPengcheng.Chen@Sun.COM { ZYD_CR106, 0x20 }, { ZYD_CR107, 0x24 }, { ZYD_CR109, 0x09 }, \ 826*8503SPengcheng.Chen@Sun.COM { ZYD_CR110, 0x13 }, { ZYD_CR111, 0x13 }, { ZYD_CR112, 0x13 }, \ 827*8503SPengcheng.Chen@Sun.COM { ZYD_CR113, 0x27 }, { ZYD_CR114, 0x27 }, { ZYD_CR115, 0x24 }, \ 828*8503SPengcheng.Chen@Sun.COM { ZYD_CR116, 0x24 }, { ZYD_CR117, 0xf4 }, { ZYD_CR118, 0xfa }, \ 829*8503SPengcheng.Chen@Sun.COM { ZYD_CR120, 0x4f }, { ZYD_CR121, 0x77 }, { ZYD_CR122, 0xfe }, \ 830*8503SPengcheng.Chen@Sun.COM { ZYD_CR10, 0x89 }, { ZYD_CR17, 0x20 }, { ZYD_CR26, 0x93 }, \ 831*8503SPengcheng.Chen@Sun.COM { ZYD_CR34, 0x30 }, { ZYD_CR35, 0x40 }, { ZYD_CR41, 0x24 }, \ 832*8503SPengcheng.Chen@Sun.COM { ZYD_CR44, 0x32 }, { ZYD_CR46, 0x90 }, { ZYD_CR89, 0x18 }, \ 833*8503SPengcheng.Chen@Sun.COM { ZYD_CR92, 0x0a }, { ZYD_CR101, 0x13 }, { ZYD_CR102, 0x27 }, \ 834*8503SPengcheng.Chen@Sun.COM { ZYD_CR106, 0x20 }, { ZYD_CR107, 0x24 }, { ZYD_CR109, 0x13 }, \ 835*8503SPengcheng.Chen@Sun.COM { ZYD_CR110, 0x27 }, { ZYD_CR111, 0x27 }, { ZYD_CR112, 0x13 }, \ 836*8503SPengcheng.Chen@Sun.COM { ZYD_CR113, 0x27 }, { ZYD_CR114, 0x27 }, { ZYD_CR115, 0x24 }, \ 837*8503SPengcheng.Chen@Sun.COM { ZYD_CR116, 0x24 }, { ZYD_CR117, 0xf4 }, { ZYD_CR118, 0x00 }, \ 838*8503SPengcheng.Chen@Sun.COM { ZYD_CR120, 0x4f }, { ZYD_CR121, 0x06 }, { ZYD_CR122, 0xfe }, \ 839*8503SPengcheng.Chen@Sun.COM { ZYD_CR150, 0x0d } \ 840*8503SPengcheng.Chen@Sun.COM } 841*8503SPengcheng.Chen@Sun.COM 842*8503SPengcheng.Chen@Sun.COM #define ZYD_MAXIM_RF \ 843*8503SPengcheng.Chen@Sun.COM { \ 844*8503SPengcheng.Chen@Sun.COM 0x00ccd4, 0x030a03, 0x000400, 0x000ca1, 0x010072, 0x018645, \ 845*8503SPengcheng.Chen@Sun.COM 0x004006, 0x0000a7, 0x008258, 0x003fc9, 0x00040a, 0x00000b, \ 846*8503SPengcheng.Chen@Sun.COM 0x00026c \ 847*8503SPengcheng.Chen@Sun.COM } 848*8503SPengcheng.Chen@Sun.COM 849*8503SPengcheng.Chen@Sun.COM #define ZYD_MAXIM_CHANTABLE \ 850*8503SPengcheng.Chen@Sun.COM { \ 851*8503SPengcheng.Chen@Sun.COM { 0x0ccd4, 0x30a03 }, \ 852*8503SPengcheng.Chen@Sun.COM { 0x22224, 0x00a13 }, \ 853*8503SPengcheng.Chen@Sun.COM { 0x37774, 0x10a13 }, \ 854*8503SPengcheng.Chen@Sun.COM { 0x0ccd4, 0x30a13 }, \ 855*8503SPengcheng.Chen@Sun.COM { 0x22224, 0x00a23 }, \ 856*8503SPengcheng.Chen@Sun.COM { 0x37774, 0x10a23 }, \ 857*8503SPengcheng.Chen@Sun.COM { 0x0ccd4, 0x30a23 }, \ 858*8503SPengcheng.Chen@Sun.COM { 0x22224, 0x00a33 }, \ 859*8503SPengcheng.Chen@Sun.COM { 0x37774, 0x10a33 }, \ 860*8503SPengcheng.Chen@Sun.COM { 0x0ccd4, 0x30a33 }, \ 861*8503SPengcheng.Chen@Sun.COM { 0x22224, 0x00a43 }, \ 862*8503SPengcheng.Chen@Sun.COM { 0x37774, 0x10a43 }, \ 863*8503SPengcheng.Chen@Sun.COM { 0x0ccd4, 0x30a43 }, \ 864*8503SPengcheng.Chen@Sun.COM { 0x199a4, 0x20a53 } \ 865*8503SPengcheng.Chen@Sun.COM } 866*8503SPengcheng.Chen@Sun.COM 867*8503SPengcheng.Chen@Sun.COM 868*8503SPengcheng.Chen@Sun.COM 869*8503SPengcheng.Chen@Sun.COM #define ZYD_MAXIM2_PHY \ 870*8503SPengcheng.Chen@Sun.COM { \ 871*8503SPengcheng.Chen@Sun.COM { ZYD_CR23, 0x40 }, { ZYD_CR15, 0x20 }, { ZYD_CR28, 0x3e }, \ 872*8503SPengcheng.Chen@Sun.COM { ZYD_CR29, 0x00 }, { ZYD_CR26, 0x11 }, { ZYD_CR44, 0x33 }, \ 873*8503SPengcheng.Chen@Sun.COM { ZYD_CR106, 0x2a }, { ZYD_CR107, 0x1a }, { ZYD_CR109, 0x2b }, \ 874*8503SPengcheng.Chen@Sun.COM { ZYD_CR110, 0x2b }, { ZYD_CR111, 0x2b }, { ZYD_CR112, 0x2b }, \ 875*8503SPengcheng.Chen@Sun.COM { ZYD_CR10, 0x89 }, { ZYD_CR17, 0x20 }, { ZYD_CR26, 0x93 }, \ 876*8503SPengcheng.Chen@Sun.COM { ZYD_CR34, 0x30 }, { ZYD_CR35, 0x40 }, { ZYD_CR41, 0x24 }, \ 877*8503SPengcheng.Chen@Sun.COM { ZYD_CR44, 0x32 }, { ZYD_CR46, 0x90 }, { ZYD_CR89, 0x18 }, \ 878*8503SPengcheng.Chen@Sun.COM { ZYD_CR92, 0x0a }, { ZYD_CR101, 0x13 }, { ZYD_CR102, 0x27 }, \ 879*8503SPengcheng.Chen@Sun.COM { ZYD_CR106, 0x20 }, { ZYD_CR107, 0x24 }, { ZYD_CR109, 0x09 }, \ 880*8503SPengcheng.Chen@Sun.COM { ZYD_CR110, 0x13 }, { ZYD_CR111, 0x13 }, { ZYD_CR112, 0x13 }, \ 881*8503SPengcheng.Chen@Sun.COM { ZYD_CR113, 0x27 }, { ZYD_CR114, 0x27 }, { ZYD_CR115, 0x24 }, \ 882*8503SPengcheng.Chen@Sun.COM { ZYD_CR116, 0x24 }, { ZYD_CR117, 0xf4 }, { ZYD_CR118, 0xfa }, \ 883*8503SPengcheng.Chen@Sun.COM { ZYD_CR120, 0x4f }, { ZYD_CR121, 0x77 }, { ZYD_CR122, 0xfe }, \ 884*8503SPengcheng.Chen@Sun.COM { ZYD_CR10, 0x89 }, { ZYD_CR17, 0x20 }, { ZYD_CR26, 0x93 }, \ 885*8503SPengcheng.Chen@Sun.COM { ZYD_CR34, 0x30 }, { ZYD_CR35, 0x40 }, { ZYD_CR41, 0x24 }, \ 886*8503SPengcheng.Chen@Sun.COM { ZYD_CR44, 0x32 }, { ZYD_CR46, 0x90 }, { ZYD_CR79, 0x58 }, \ 887*8503SPengcheng.Chen@Sun.COM { ZYD_CR80, 0x30 }, { ZYD_CR81, 0x30 }, { ZYD_CR89, 0x18 }, \ 888*8503SPengcheng.Chen@Sun.COM { ZYD_CR92, 0x0a }, { ZYD_CR101, 0x13 }, { ZYD_CR102, 0x27 }, \ 889*8503SPengcheng.Chen@Sun.COM { ZYD_CR106, 0x20 }, { ZYD_CR107, 0x24 }, { ZYD_CR109, 0x09 }, \ 890*8503SPengcheng.Chen@Sun.COM { ZYD_CR110, 0x13 }, { ZYD_CR111, 0x13 }, { ZYD_CR112, 0x13 }, \ 891*8503SPengcheng.Chen@Sun.COM { ZYD_CR113, 0x27 }, { ZYD_CR114, 0x27 }, { ZYD_CR115, 0x24 }, \ 892*8503SPengcheng.Chen@Sun.COM { ZYD_CR116, 0x24 }, { ZYD_CR117, 0xf4 }, { ZYD_CR118, 0x00 }, \ 893*8503SPengcheng.Chen@Sun.COM { ZYD_CR120, 0x4f }, { ZYD_CR121, 0x06 }, { ZYD_CR122, 0xfe } \ 894*8503SPengcheng.Chen@Sun.COM } 895*8503SPengcheng.Chen@Sun.COM 896*8503SPengcheng.Chen@Sun.COM #define ZYD_MAXIM2_RF \ 897*8503SPengcheng.Chen@Sun.COM { \ 898*8503SPengcheng.Chen@Sun.COM 0x33334, 0x10a03, 0x00400, 0x00ca1, 0x10072, 0x18645, 0x04006, \ 899*8503SPengcheng.Chen@Sun.COM 0x000a7, 0x08258, 0x03fc9, 0x0040a, 0x0000b, 0x0026c \ 900*8503SPengcheng.Chen@Sun.COM } 901*8503SPengcheng.Chen@Sun.COM 902*8503SPengcheng.Chen@Sun.COM #define ZYD_MAXIM2_CHANTABLE_F \ 903*8503SPengcheng.Chen@Sun.COM { \ 904*8503SPengcheng.Chen@Sun.COM 0x33334, 0x08884, 0x1ddd4, 0x33334, 0x08884, 0x1ddd4, 0x33334, \ 905*8503SPengcheng.Chen@Sun.COM 0x08884, 0x1ddd4, 0x33334, 0x08884, 0x1ddd4, 0x33334, 0x26664 \ 906*8503SPengcheng.Chen@Sun.COM } 907*8503SPengcheng.Chen@Sun.COM 908*8503SPengcheng.Chen@Sun.COM #define ZYD_MAXIM2_CHANTABLE \ 909*8503SPengcheng.Chen@Sun.COM { \ 910*8503SPengcheng.Chen@Sun.COM { 0x33334, 0x10a03 }, \ 911*8503SPengcheng.Chen@Sun.COM { 0x08884, 0x20a13 }, \ 912*8503SPengcheng.Chen@Sun.COM { 0x1ddd4, 0x30a13 }, \ 913*8503SPengcheng.Chen@Sun.COM { 0x33334, 0x10a13 }, \ 914*8503SPengcheng.Chen@Sun.COM { 0x08884, 0x20a23 }, \ 915*8503SPengcheng.Chen@Sun.COM { 0x1ddd4, 0x30a23 }, \ 916*8503SPengcheng.Chen@Sun.COM { 0x33334, 0x10a23 }, \ 917*8503SPengcheng.Chen@Sun.COM { 0x08884, 0x20a33 }, \ 918*8503SPengcheng.Chen@Sun.COM { 0x1ddd4, 0x30a33 }, \ 919*8503SPengcheng.Chen@Sun.COM { 0x33334, 0x10a33 }, \ 920*8503SPengcheng.Chen@Sun.COM { 0x08884, 0x20a43 }, \ 921*8503SPengcheng.Chen@Sun.COM { 0x1ddd4, 0x30a43 }, \ 922*8503SPengcheng.Chen@Sun.COM { 0x33334, 0x10a43 }, \ 923*8503SPengcheng.Chen@Sun.COM { 0x26664, 0x20a53 } \ 924*8503SPengcheng.Chen@Sun.COM } 925*8503SPengcheng.Chen@Sun.COM 926*8503SPengcheng.Chen@Sun.COM /* 927*8503SPengcheng.Chen@Sun.COM * Control pipe requests. 928*8503SPengcheng.Chen@Sun.COM */ 929*8503SPengcheng.Chen@Sun.COM #define ZYD_DOWNLOADREQ 0x30 930*8503SPengcheng.Chen@Sun.COM #define ZYD_DOWNLOADSTS 0x31 931*8503SPengcheng.Chen@Sun.COM 932*8503SPengcheng.Chen@Sun.COM /* possible values for register ZYD_CR_INTERRUPT */ 933*8503SPengcheng.Chen@Sun.COM #define ZYD_HWINT_MASK 0x004f0000 934*8503SPengcheng.Chen@Sun.COM 935*8503SPengcheng.Chen@Sun.COM /* possible values for register ZYD_MAC_MISC */ 936*8503SPengcheng.Chen@Sun.COM #define ZYD_UNLOCK_PHY_REGS 0x80 937*8503SPengcheng.Chen@Sun.COM 938*8503SPengcheng.Chen@Sun.COM /* possible values for register ZYD_MAC_ENCRYPTION_TYPE */ 939*8503SPengcheng.Chen@Sun.COM #define ZYD_ENC_SNIFFER 8 940*8503SPengcheng.Chen@Sun.COM 941*8503SPengcheng.Chen@Sun.COM /* flags for register ZYD_MAC_RXFILTER */ 942*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_ASS_REQ (1 << 0) 943*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_ASS_RSP (1 << 1) 944*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_REASS_REQ (1 << 2) 945*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_REASS_RSP (1 << 3) 946*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_PRB_REQ (1 << 4) 947*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_PRB_RSP (1 << 5) 948*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_BCN (1 << 8) 949*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_ATIM (1 << 9) 950*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_DEASS (1 << 10) 951*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_AUTH (1 << 11) 952*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_DEAUTH (1 << 12) 953*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_PS_POLL (1 << 26) 954*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_RTS (1 << 27) 955*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_CTS (1 << 28) 956*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_ACK (1 << 29) 957*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_CFE (1 << 30) 958*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_CFE_A (1 << 31) 959*8503SPengcheng.Chen@Sun.COM 960*8503SPengcheng.Chen@Sun.COM /* helpers for register ZYD_MAC_RXFILTER */ 961*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_MONITOR 0xffffffff 962*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_BSS \ 963*8503SPengcheng.Chen@Sun.COM (ZYD_FILTER_ASS_RSP | ZYD_FILTER_REASS_RSP | \ 964*8503SPengcheng.Chen@Sun.COM ZYD_FILTER_PRB_RSP | ZYD_FILTER_BCN | ZYD_FILTER_DEASS | \ 965*8503SPengcheng.Chen@Sun.COM ZYD_FILTER_AUTH | ZYD_FILTER_DEAUTH) 966*8503SPengcheng.Chen@Sun.COM #define ZYD_FILTER_HOSTAP \ 967*8503SPengcheng.Chen@Sun.COM (ZYD_FILTER_ASS_REQ | ZYD_FILTER_REASS_REQ | \ 968*8503SPengcheng.Chen@Sun.COM ZYD_FILTER_PRB_REQ | ZYD_FILTER_DEASS | ZYD_FILTER_AUTH | \ 969*8503SPengcheng.Chen@Sun.COM ZYD_FILTER_DEAUTH | ZYD_FILTER_PS_POLL) 970*8503SPengcheng.Chen@Sun.COM 971*8503SPengcheng.Chen@Sun.COM /* 972*8503SPengcheng.Chen@Sun.COM * RF configuration defs 973*8503SPengcheng.Chen@Sun.COM */ 974*8503SPengcheng.Chen@Sun.COM /* FIXME: this should be 1 for the 3683-A rf chip */ 975*8503SPengcheng.Chen@Sun.COM #define ZYD_RFCFG_VALUE 2 976*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_DATA 0x0008 /* value of the bit used for sending data */ 977*8503SPengcheng.Chen@Sun.COM 978*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_IF_LE (1 << 1) 979*8503SPengcheng.Chen@Sun.COM #define ZYD_RF_CLK (1 << 2) 980*8503SPengcheng.Chen@Sun.COM 981*8503SPengcheng.Chen@Sun.COM 982*8503SPengcheng.Chen@Sun.COM /* 983*8503SPengcheng.Chen@Sun.COM * Control registers use byte-addressing, other registers 984*8503SPengcheng.Chen@Sun.COM * use word adressing. FIXME: Do this properly. 985*8503SPengcheng.Chen@Sun.COM */ 986*8503SPengcheng.Chen@Sun.COM #define ZYD_REG32_LO(x) (x) 987*8503SPengcheng.Chen@Sun.COM #define ZYD_REG32_HI(x) ((x) + ((((x) & 0xf000) == 0x9000) ? 2 : 1)) 988*8503SPengcheng.Chen@Sun.COM 989*8503SPengcheng.Chen@Sun.COM #define ZYD_MIN_FRAGSZ \ 990*8503SPengcheng.Chen@Sun.COM (sizeof (struct zyd_plcphdr) + IEEE80211_MIN_LEN + \ 991*8503SPengcheng.Chen@Sun.COM sizeof (struct zyd_rx_stat)) 992*8503SPengcheng.Chen@Sun.COM 993*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_CIPHER_WEP64 1 994*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_CIPHER_TKIP 2 995*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_CIPHER_AES 4 996*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_CIPHER_WEP128 5 997*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_CIPHER_WEP256 6 998*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_CIPHER_WEP \ 999*8503SPengcheng.Chen@Sun.COM (ZYD_RX_CIPHER_WEP64 | ZYD_RX_CIPHER_WEP128 | ZYD_RX_CIPHER_WEP256) 1000*8503SPengcheng.Chen@Sun.COM 1001*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_OFDM (1 << 0) 1002*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_TIMEOUT (1 << 1) 1003*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_OVERRUN (1 << 2) 1004*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_DECRYPTERR (1 << 3) 1005*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_BADCRC32 (1 << 4) 1006*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_NOT2ME (1 << 5) 1007*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_BADCRC16 (1 << 6) 1008*8503SPengcheng.Chen@Sun.COM #define ZYD_RX_ERROR (1 << 7) 1009*8503SPengcheng.Chen@Sun.COM 1010*8503SPengcheng.Chen@Sun.COM /* 1011*8503SPengcheng.Chen@Sun.COM * USB cmd_out pipe command codes 1012*8503SPengcheng.Chen@Sun.COM */ 1013*8503SPengcheng.Chen@Sun.COM #define ZYD_CMD_IORD 0x0022 /* i/o register read */ 1014*8503SPengcheng.Chen@Sun.COM #define ZYD_CMD_IOWR 0x0021 /* i/o register write */ 1015*8503SPengcheng.Chen@Sun.COM #define ZYD_CMD_RFCFG 0x0023 /* RF configuration register write */ 1016*8503SPengcheng.Chen@Sun.COM 1017*8503SPengcheng.Chen@Sun.COM /* 1018*8503SPengcheng.Chen@Sun.COM * USB cmd_in pipe response codes 1019*8503SPengcheng.Chen@Sun.COM */ 1020*8503SPengcheng.Chen@Sun.COM #define ZYD_RESPONSE_IOREAD 0x9001 /* i/o read response */ 1021*8503SPengcheng.Chen@Sun.COM 1022*8503SPengcheng.Chen@Sun.COM /* 1023*8503SPengcheng.Chen@Sun.COM * Number of bits used for different radio setups 1024*8503SPengcheng.Chen@Sun.COM */ 1025*8503SPengcheng.Chen@Sun.COM #define ZYD_AL2230_RF_BITS 24 1026*8503SPengcheng.Chen@Sun.COM #define ZYD_RFMD_RF_BITS 24 1027*8503SPengcheng.Chen@Sun.COM 1028*8503SPengcheng.Chen@Sun.COM #ifdef __cplusplus 1029*8503SPengcheng.Chen@Sun.COM } 1030*8503SPengcheng.Chen@Sun.COM #endif 1031*8503SPengcheng.Chen@Sun.COM 1032*8503SPengcheng.Chen@Sun.COM #endif /* _ZYD_REG_H */ 1033