summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-11-20 22:22:13 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-11-20 22:22:13 +0000
commitd5bb9a4e703c1044bcf83b163a41c56353d9178b (patch)
treee060c7ed30d2a04c0f1922c1573a274a54701524
parent5e15aeedfc0f228dd53ed3c109812a65de930f16 (diff)
downloadrockbox-d5bb9a4e703c1044bcf83b163a41c56353d9178b.zip
rockbox-d5bb9a4e703c1044bcf83b163a41c56353d9178b.tar.gz
rockbox-d5bb9a4e703c1044bcf83b163a41c56353d9178b.tar.bz2
rockbox-d5bb9a4e703c1044bcf83b163a41c56353d9178b.tar.xz
Added mas_readver()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2866 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/mas.c34
-rw-r--r--firmware/drivers/mas.h1
2 files changed, 35 insertions, 0 deletions
diff --git a/firmware/drivers/mas.c b/firmware/drivers/mas.c
index e954bce..ec4de76 100644
--- a/firmware/drivers/mas.c
+++ b/firmware/drivers/mas.c
@@ -409,4 +409,38 @@ int mas_codec_readreg(int reg)
i2c_end();
return ret;
}
+
+unsigned long mas_readver(void)
+{
+ int ret = 0;
+ unsigned char buf[16];
+ unsigned long value;
+
+ i2c_begin();
+
+ buf[0] = MAS_DATA_WRITE;
+ buf[1] = MAS_CMD_READ_IC_VER;
+ buf[2] = 0;
+
+ /* send read command */
+ if (i2c_write(MAS_DEV_WRITE,buf,3))
+ {
+ ret = -1;
+ }
+ else
+ {
+ if(mas_devread(&value, 1))
+ {
+ ret = -2;
+ }
+ else
+ {
+ ret = value;
+ }
+ }
+
+ i2c_end();
+ return ret;
+}
+
#endif
diff --git a/firmware/drivers/mas.h b/firmware/drivers/mas.h
index 71604fb..b2c164d 100644
--- a/firmware/drivers/mas.h
+++ b/firmware/drivers/mas.h
@@ -109,5 +109,6 @@ int mas_direct_config_read(unsigned char reg);
int mas_direct_config_write(unsigned char reg, unsigned int val);
int mas_codec_writereg(int reg, unsigned int val);
int mas_codec_readreg(int reg);
+unsigned long mas_readver(void);
#endif