3 * Copyright 2004,2007 Free Software Foundation, Inc.
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef INCLUDED_USRP2_I2C_ADDR_H
20 #define INCLUDED_USRP2_I2C_ADDR_H
22 #include "usrp2_cdefs.h"
28 #define I2C_DEV_EEPROM 0x50 // 24LC02[45]: 7-bits 1010xxx
30 #define I2C_ADDR_MBOARD (I2C_DEV_EEPROM | 0x0)
31 #define I2C_ADDR_TX_A (I2C_DEV_EEPROM | 0x4)
32 #define I2C_ADDR_RX_A (I2C_DEV_EEPROM | 0x5)
35 // format of USRP2 motherboard rom
36 // 00: 0x00 h/w rev (LSB)
37 // 01: 0x00 h/w rev (MSB)
38 // 02: 0x00 MAC addr 0
39 // 03: 0x50 MAC addr 1
40 // 04: 0xC2 MAC addr 2
41 // 05: 0x85 MAC addr 3
42 // 06: 0x3. MAC addr 4
43 // 07: 0x.. MAC addr 5
45 #define MBOARD_REV_LSB 0x00
46 #define MBOARD_REV_MSB 0x01
47 #define MBOARD_MAC_ADDR 0x02
50 // format of daughterboard EEPROM
51 // 00: 0xDB code for ``I'm a daughterboard''
52 // 01: .. Daughterboard ID (LSB)
53 // 02: .. Daughterboard ID (MSB)
54 // 03: .. io bits 7-0 direction (bit set if it's an output from m'board)
55 // 04: .. io bits 15-8 direction (bit set if it's an output from m'board)
56 // 05: .. ADC0 DC offset correction (LSB)
57 // 06: .. ADC0 DC offset correction (MSB)
58 // 07: .. ADC1 DC offset correction (LSB)
59 // 08: .. ADC1 DC offset correction (MSB)
61 // 1f: .. negative of the sum of bytes [0x00, 0x1e]
63 #define DB_EEPROM_MAGIC 0x00
64 #define DB_EEPROM_MAGIC_VALUE 0xDB
65 #define DB_EEPROM_ID_LSB 0x01
66 #define DB_EEPROM_ID_MSB 0x02
67 #define DB_EEPROM_OE_LSB 0x03
68 #define DB_EEPROM_OE_MSB 0x04
69 #define DB_EEPROM_OFFSET_0_LSB 0x05 // offset correction for ADC or DAC 0
70 #define DB_EEPROM_OFFSET_0_MSB 0x06
71 #define DB_EEPROM_OFFSET_1_LSB 0x07 // offset correction for ADC or DAC 1
72 #define DB_EEPROM_OFFSET_1_MSB 0x08
73 #define DB_EEPROM_CHKSUM 0x1f
75 #define DB_EEPROM_CLEN 0x20 // length of common portion of eeprom
77 #define DB_EEPROM_CUSTOM_BASE DB_EEPROM_CLEN // first avail offset for
78 // daughterboard specific use
81 #endif /* INCLUDED_USRP2_I2C_ADDR_H */