/* * Copyright (C) 2010 Ettus Research, LLC * * Written by Philip Balister * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */ #ifndef __USRP_E_H #define __USRP_E_H #include #include struct usrp1_e_ctl { __u32 offset; __u32 count; __u16 buf[]; }; // SPI interface #define UE_SPI_TXONLY 0 #define UE_SPI_TXRX 1 // Defines for spi ctrl register #define UE_SPI_CTRL_ASS (1<<13) #define UE_SPI_CTRL_IE (1<<12) #define UE_SPI_CTRL_LSB (1<<11) #define UE_SPI_CTRL_TXNEG (1<<10) #define UE_SPI_CTRL_RXNEG (1<<9) #define UE_SPI_CTRL_GO_BSY (1<<8) #define UE_SPI_CTRL_CHAR_LEN_MASK 0x7f #define UE_SPI_PUSH_RISE 0 #define UE_SPI_PUSH_FALL UE_SPI_CTRL_TXNEG #define UE_SPI_LATCH_RISE 0 #define UE_SPI_LATCH_FALL UE_SPI_CTRL_RXNEG struct usrp_e_spi { __u8 readback; __u32 slave; __u32 data; __u32 length; __u32 flags; }; #define USRP_E_IOC_MAGIC 'u' #define USRP_E_WRITE_CTL _IOW(USRP_E_IOC_MAGIC, 0x20, struct usrp1_e_ctl) #define USRP_E_READ_CTL _IOWR(USRP_E_IOC_MAGIC, 0x21, struct usrp1_e_ctl) #define USRP_E_SPI _IOW(USRP_E_IOC_MAGIC, 0x22, struct usrp_e_spi) #endif