diff options
| author | Linus Nielsen Feltzing <linus@haxx.se> | 2002-11-20 22:22:13 +0000 |
|---|---|---|
| committer | Linus Nielsen Feltzing <linus@haxx.se> | 2002-11-20 22:22:13 +0000 |
| commit | d5bb9a4e703c1044bcf83b163a41c56353d9178b (patch) | |
| tree | e060c7ed30d2a04c0f1922c1573a274a54701524 | |
| parent | 5e15aeedfc0f228dd53ed3c109812a65de930f16 (diff) | |
| download | rockbox-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.c | 34 | ||||
| -rw-r--r-- | firmware/drivers/mas.h | 1 |
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 |