From 6a5ef8e7420bc458993c8d56bb1ed4c1aa4804b8 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Fri, 24 Mar 2006 07:57:55 +0000 Subject: Fixed loong-standing bug in mas_writereg(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9222 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/mas.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/firmware/drivers/mas.c b/firmware/drivers/mas.c index 66ba6b6aff..1630255348 100644 --- a/firmware/drivers/mas.c +++ b/firmware/drivers/mas.c @@ -198,9 +198,15 @@ int mas_writereg(int reg, unsigned int val) buf[0] = MAS_DATA_WRITE; buf[1] = MAS_CMD_WRITE_REG | (reg >> 4); +#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) + buf[2] = ((reg & 0x0f) << 4) | (val >> 16 & 0x0f); + buf[3] = (val >> 8) & 0xff; + buf[4] = val & 0xff; +#else buf[2] = ((reg & 0x0f) << 4) | (val & 0x0f); buf[3] = (val >> 12) & 0xff; buf[4] = (val >> 4) & 0xff; +#endif /* send write command */ if (i2c_write(MAS_DEV_WRITE,buf,5)) -- cgit v1.2.3