; Cypress WirelessUSB RF IC Protocol Definition File v002 ; This file defines the transfers to/from a CYWUSB6935 RF IC ; using the SPI bus ; [Protocol] name = CYWUSB6935 bytewise [DEBUG] ;DebugOn [Packet] [Start] type = event event = 1 ; SS goes active [End] type = event event = 2 ; SS goes inactive [Decode] [Fields] ; REG_CONTROL Write Command Fields Dir.1y=0.L, Inc.1y.tf, Address.6y=03h.L, Dummy.8x.i, RXEN.1x.h, TXEN.1x.h, PNSEL.1x.h, ASYNSEL.1x.h, APADIS.1x.h, PAEN.1x.h, ASYNDIS.1x.h, SYNEN.1x.h Fields Dir.1y=1.L, Inc.1y.tf, Address.6y=03h.L, RXEN.1y.h, TXEN.1y.h, PNSEL.1y.h, ASYNSEL.1y.h, APADIS.1y.h, PAEN.1y.h, ASYNDIS.1y.h, SYNEN.1y.h ; REG_DATA_RATE Write Command Fields Dir.1y=0.L, Inc.1y.tf, Address.6y=04h.L, Dummy.8x.i, RSVD.5x.h, PN_CODEWIDTH.1x.L, DATA_RATE.1x.L, SAMPLE_RATE.1x.L Fields Dir.1y=1.L, Inc.1y.tf, Address.6y=04h.L, RSVD.5y.h, PN_CODEWIDTH.1y.L, DATA_RATE.1y.L, SAMPLE_RATE.1y.L ; REG_CONFIG Write Command Fields Dir.1y=0.L, Inc.1y.tf, Address.6y=05h.L, Dummy.8x.i, RSVD.3x.h, RXINV.1x.h, TXINV.1x.h, RSVD.1x.h, IRQSEL.2x.h Fields Dir.1y=1.L, Inc.1y.tf, Address.6y=05h.L, RSVD.1y.h, RSVD.3y.h, TXINV.1y.h, RSVD.1y.h, IRQSEL.2y.h ; REG_SERDES_CTL Write Command Fields Dir.1y=0.L, Inc.1y.tf, Address.6y=06h.L, Dummy.8x.i, RSVD.4x.h, SEREN.1x.h, EOF.3x.h Fields Dir.1y=1.L, Inc.1y.tf, Address.6y=06h.L, RSVD.4y.h, SEREN.1y.h, EOF.3y.h ; REG_RX_INT_EN Read Command Fields Dir.1y=0.L, Inc.1y.tf, Address.6y=07h.L, Dummy.8x.i, UFB.1x.h, OFB.1x.h, EOFB.1x.h, FULLB.1x.h, UFA.1x.h, OFA.1x.h, EOFA.1x.h, FULLA.1x.h Fields Dir.1y=1.L, Inc.1y.tf, Address.6y=07h.L, UFB.1y.h, OFB.1y.h, EOFB.1y.h, FULLB.1y.h, UFA.1y.h, OFA.1y.h, EOFA.1y.h, FULLA.1y.h ; REG_RX_INT_STAT Read Command Fields Dir.1y=0.L, Inc.1y.tf, Address.6y=08h.L, Dummy.8x.i, VALIDB.1x.h, OFB.1x.h, EOFB.1x.h, FULLB.1x.h, VALIDA.1x.h, OFA.1x.h, EOFA.1x.h, FULLA.1x.h Fields Dir.1y=1.L, Inc.1y.tf, Address.6y=08h.L, VALIDB.1y.h, OFB.1y.h, EOFB.1y.h, FULLB.1y.h, VALIDA.1y.h, OFA.1y.h, EOFA.1y.h, FULLA.1y.h ; REG_ANALOG_CTL Write Command Fields Dir.1y=0.L, Inc.1y.tf, Address.6y=20h.L, Dummy.8x.i, RSVD.1x.h, RWRCTL.1x.h, MIDREN.1x.h, RSVD.1x.h, RSVD.1x.h, PAOEN.1x.h, PAINV.1x.h, RST.1x.h Fields Dir.1y=1.L, Inc.1y.tf, Address.6y=20h.L, RSVD.1y.h, RWRCTL.1y.h, MIDREN.1y.h, RSVD.1y.h, RSVD.1y.h, PAOEN.1y.h, PAINV.1y.h, RST.1y.h ; REG_TX_INT_STAT Read Command Fields Dir.1y=0.L, Inc.1y.tf, Address.6y=0Eh.L, Dummy.8x.i, RSVD.1x.h, RSVD.1x.h, RSVD.1x.h, RSVD.1x.h, UF.1x.h, OF.1x.h, DONE.1x.h, EMPTY.1x.h Fields Dir.1y=1.L, Inc.1y.tf, Address.6y=0Eh.L, RSVD.1y.h, RSVD.1y.h, RSVD.1y.h, RSVD.1y.h, UF.1y.h, OF.1y.h, DONE.1y.h, EMPTY.1y.h ; REG_TX_DATA Write Command Fields Dir.1y=0.L, Inc.1y.tf, Address.6y=0Fh.L, Dummy.8x.i, TxData.Nx.h Fields Dir.1y=1.L, Inc.1y.tf, Address.6y=0Fh.L, TxData.Ny.h ; REG_RX_DATA_A Read Command Fields Dir.1y=0.L, Inc.1y.tf, Address.6y=09h.L, Dummy.8x.i, RxData.Nx.h Fields Dir.1y=1.L, Inc.1y.tf, Address.6y=09h.L, RxData.Ny.h Fields Dir.1y=0.L, Inc.1y.tf, Address.6y.L, Dummy.8x.i, ReadData.Nx.h Fields Dir.1y=1.L, Inc.1y.tf, Address.6y.L, WriteData.Nmy.h Lookup Dir [0]=$Read [1]=$Write Lookup Address [00h]=$REG_ID [01h]=$RSVD [02h]=$RSVD [03h]=$REG_CONTROL [04h]=$REG_DATA_RATE [05h]=$REG_CONFIG [06h]=$REG_SERDES_CTL [07h]=$REG_RX_INT_EN [08h]=$REG_RX_INT_STAT [09h]=$REG_RX_DATA_A [0ah]=$REG_RX_VALID_A [0bh]=$REG_RX_DATA_B [0ch]=$REG_RX_VALID_B [0dh]=$REG_TX_INT_EN [0eh]=$REG_TX_INT_STAT [0fh]=$REG_TX_DATA [10h]=$REG_TX_VALID [11h]=$REG_PN_CODE [12h]=$REG_PN_CODE [13h]=$REG_PN_CODE [14h]=$REG_PN_CODE [15h]=$REG_PN_CODE [16h]=$REG_PN_CODE [17h]=$REG_PN_CODE [18h]=$REG_PN_CODE [19h]=$REG_THRESHOLD_L [1ah]=$REG_THRESHOLD_H [1bh]=$RSVD [1ch]=$REG_WAKE_EN [1dh]=$REG_WAKE_STAT [1eh]=$RSVD [1fh]=$RSVD [20h]=$REG_ANALOG_CTL [21h]=$REG_CHANNEL [22h]=$REG_RSSI [23h]=$REG_PA [24h]=$REG_CRYSTAL_ADJ [25h]=$RSVD [26h]=$REG_VCO_CAL [27h]=$RSVD [28h]=$RSVD [29h]=$RSVD [2ah]=$RSVD [2bh]=$RSVD [2ch]=$RSVD [2dh]=$RSVD [2eh]=$REG_PWR_CTL [2fh]=$REG_CARRIER_DETECT [30h]=$RSVD [31h]=$RSVD [32h]=$REG_CLOCK_MANUAL [33h]=$REG_CLOCK_ENABLE [34h]=$RSVD [35h]=$RSVD [36h]=$RSVD [37h]=$RSVD [38h]=$REG_SYN_LOCK_CNT [39h]=$RSVD [3ah]=$RSVD [3bh]=$RSVD [3ch]=$REG_MID [3dh]=$REG_MID [3eh]=$REG_MID [3fh]=$REG_MID Lookup PN_CODEWIDTH [0]=$64_CHIPS_PER_BIT [1]=$32_CHIPS_PER_BIT Lookup DATA_RATE [0]=$SDR_32KBPS [1]=$DDR_64KBPS Lookup SAMPLE_RATE [0]=$6X_OVERSAMPLING [1]=$12X_OVERSAMPLING Lookup IRQSEL [0]=$ACTIVE_LOW_DRIVEN [1]=$ACTIVE_HIGH_DRIVEN [2]=$ACTIVE_LOW_ELSE_HI_Z [3]=$ACTIVE_HIGH_ELSE_HI_Z [Protocol] name = RxData bytewise [DEBUG] ;DebugOn [Packet] [Start] type = next channelX [End] type = event event = 127 ; All Data passed in [Decode] [Fields] ; REG_RX_DATA_A Read Command ; Fields ReceiveData.Nx.h Fields ReceiveData.8x.h, Valids.8x.h [Protocol] name = TxData bytewise [DEBUG] ;DebugOn [Packet] [Start] type = next channely [End] type = event event = 127 ; All Data passed in [Decode] [Fields] ; REG_TX_DATA Write Command Fields TransmitData.Ny.h