summaryrefslogtreecommitdiff
path: root/usrp2/firmware/lib/eeprom.c
diff options
context:
space:
mode:
authorJosh Blum2011-10-19 16:53:11 -0700
committerJosh Blum2011-10-19 16:53:11 -0700
commit604ae82b9f31d8b5d7775810ab2fa06b7595bea0 (patch)
treefe4c7ad82dca0d92d90e37c4b68dd729d29a9d66 /usrp2/firmware/lib/eeprom.c
parentd8d886d42ef9966e0578f39f180348e908965f7a (diff)
parenteb95f431badf197b249131a3119a92bd5317621b (diff)
downloadgnuradio-604ae82b9f31d8b5d7775810ab2fa06b7595bea0.tar.gz
gnuradio-604ae82b9f31d8b5d7775810ab2fa06b7595bea0.tar.bz2
gnuradio-604ae82b9f31d8b5d7775810ab2fa06b7595bea0.zip
Merge branch 'next' of http://gnuradio.org/git/gnuradio into next
Diffstat (limited to 'usrp2/firmware/lib/eeprom.c')
-rw-r--r--usrp2/firmware/lib/eeprom.c69
1 files changed, 0 insertions, 69 deletions
diff --git a/usrp2/firmware/lib/eeprom.c b/usrp2/firmware/lib/eeprom.c
deleted file mode 100644
index b12ffe082..000000000
--- a/usrp2/firmware/lib/eeprom.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2007 Free Software Foundation, Inc.
- *
- * 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 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "i2c.h"
-#include "mdelay.h"
-
-static const int EEPROM_PAGESIZE = 16;
-
-bool
-eeprom_write (int i2c_addr, int eeprom_offset, const void *buf, int len)
-{
- unsigned char cmd[2];
- const unsigned char *p = (unsigned char *) buf;
-
- // The simplest thing that could possibly work:
- // all writes are single byte writes.
- //
- // We could speed this up using the page write feature,
- // but we write so infrequently, why bother...
-
- while (len-- > 0){
- cmd[0] = eeprom_offset++;
- cmd[1] = *p++;
- bool r = i2c_write (i2c_addr, cmd, sizeof (cmd));
- mdelay (10); // delay 10ms worst case write time
- if (!r)
- return false;
- }
- return true;
-}
-
-bool
-eeprom_read (int i2c_addr, int eeprom_offset, void *buf, int len)
-{
- unsigned char *p = (unsigned char *) buf;
-
- // We setup a random read by first doing a "zero byte write".
- // Writes carry an address. Reads use an implicit address.
-
- unsigned char cmd[1];
- cmd[0] = eeprom_offset;
- if (!i2c_write (i2c_addr, cmd, sizeof (cmd)))
- return false;
-
- while (len > 0){
- // int n = std::min (len, MAX_EP0_PKTSIZE);
- int n = len;
- if (!i2c_read (i2c_addr, p, n))
- return false;
- len -= n;
- p += n;
- }
- return true;
-}
-