From d5bb9a4e703c1044bcf83b163a41c56353d9178b Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Wed, 20 Nov 2002 22:22:13 +0000 Subject: Added mas_readver() git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2866 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/mas.c | 34 ++++++++++++++++++++++++++++++++++ firmware/drivers/mas.h | 1 + 2 files changed, 35 insertions(+) (limited to 'firmware') diff --git a/firmware/drivers/mas.c b/firmware/drivers/mas.c index e954bcec5e..ec4de76a84 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 71604fb136..b2c164d9e9 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 -- cgit v1.2.3