summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-05-16 21:12:57 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-05-16 21:12:57 +0000
commit0e085999d50578eff8bf89e71a88b9a9e05e3463 (patch)
tree3dbf4cebcd548f41102cd5c9083a71dc31c44903
parent2f54401455ab5b27e134d6739e1ef4e5edcc4dbc (diff)
downloadrockbox-0e085999d50578eff8bf89e71a88b9a9e05e3463.tar.gz
rockbox-0e085999d50578eff8bf89e71a88b9a9e05e3463.zip
Changed default_read prototype
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@606 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/mas.c31
-rw-r--r--firmware/drivers/mas.h5
2 files changed, 31 insertions, 5 deletions
diff --git a/firmware/drivers/mas.c b/firmware/drivers/mas.c
index 97017e8db5..38344ecc23 100644
--- a/firmware/drivers/mas.c
+++ b/firmware/drivers/mas.c
@@ -20,9 +20,34 @@
20#include "debug.h" 20#include "debug.h"
21#include "mas.h" 21#include "mas.h"
22 22
23int mas_default_read(unsigned long *buf) 23int mas_default_read(unsigned short *buf)
24{ 24{
25 return mas_devread(buf, 1); 25 unsigned char *dest = (unsigned char *)buf;
26 int ret = 0;
27
28 i2c_start();
29 i2c_outb(MAS_DEV_WRITE);
30 if (i2c_getack()) {
31 i2c_outb(MAS_DATA_READ);
32 if (i2c_getack()) {
33 i2c_start();
34 i2c_outb(MAS_DEV_READ);
35 if (i2c_getack()) {
36 dest[0] = i2c_inb(0);
37 dest[1] = i2c_inb(1);
38 }
39 else
40 ret = -3;
41 }
42 else
43 ret = -2;
44 }
45 else
46 ret = -1;
47
48 i2c_stop();
49
50 return ret;
26} 51}
27 52
28int mas_run(unsigned short address) 53int mas_run(unsigned short address)
@@ -126,7 +151,7 @@ int mas_readreg(int reg)
126 return buf[0] | buf[1] << 8 | buf[3] << 16; 151 return buf[0] | buf[1] << 8 | buf[3] << 16;
127} 152}
128 153
129int mas_writereg(int reg, unsigned short val) 154int mas_writereg(int reg, unsigned int val)
130{ 155{
131 int i; 156 int i;
132 unsigned char buf[16]; 157 unsigned char buf[16];
diff --git a/firmware/drivers/mas.h b/firmware/drivers/mas.h
index aca71bd35f..a538bbcbf0 100644
--- a/firmware/drivers/mas.h
+++ b/firmware/drivers/mas.h
@@ -45,12 +45,13 @@
45#define MAS_REG_KBASS 0x6b 45#define MAS_REG_KBASS 0x6b
46#define MAS_REG_KTREBLE 0x6f 46#define MAS_REG_KTREBLE 0x6f
47 47
48int mas_default_read(unsigned long *buf); 48int mas_default_read(unsigned short *buf);
49int mas_run(unsigned short address); 49int mas_run(unsigned short address);
50int mas_readmem(int bank, int addr, unsigned long* dest, int len); 50int mas_readmem(int bank, int addr, unsigned long* dest, int len);
51int mas_writemem(int bank, int addr, unsigned long* src, int len); 51int mas_writemem(int bank, int addr, unsigned long* src, int len);
52int mas_devread(unsigned long *buf, int len); 52int mas_devread(unsigned long *buf, int len);
53int mas_readreg(int reg); 53int mas_readreg(int reg);
54int mas_writereg(int reg, unsigned short val); 54int mas_writereg(int reg, unsigned int val);
55int dac_volume(unsigned int volume);
55 56
56#endif 57#endif