summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2007-10-08 21:20:06 +0000
committerThom Johansen <thomj@rockbox.org>2007-10-08 21:20:06 +0000
commiteb1e35f6af617b61a033fd6a43c2cb545d44c8e8 (patch)
tree27878c2f7e2da553bf71510fa8ca86eae6a81820
parentf35d2e38fe5911b2bc5a079857202693e7d3ccb4 (diff)
downloadrockbox-eb1e35f6af617b61a033fd6a43c2cb545d44c8e8.zip
rockbox-eb1e35f6af617b61a033fd6a43c2cb545d44c8e8.tar.gz
rockbox-eb1e35f6af617b61a033fd6a43c2cb545d44c8e8.tar.bz2
rockbox-eb1e35f6af617b61a033fd6a43c2cb545d44c8e8.tar.xz
Make Ipod Nano use packed 16 bit IIS FIFO transfers as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15040 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/i2s-pp.c3
-rw-r--r--firmware/target/arm/pcm-pp.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/firmware/target/arm/i2s-pp.c b/firmware/target/arm/i2s-pp.c
index 0c33fbc..38a3f98 100644
--- a/firmware/target/arm/i2s-pp.c
+++ b/firmware/target/arm/i2s-pp.c
@@ -70,7 +70,8 @@ void i2s_reset(void)
IISCLK = (IISCLK & ~0x1ff) | 33;
IISDIV = 7;
IISCONFIG = ((IISCONFIG & ~IIS_FIFO_FORMAT_MASK) | IIS_FIFO_FORMAT_LE16);
-#elif defined (IRIVER_H10) || defined (IRIVER_H10_5GB)
+#elif defined (IRIVER_H10) || defined (IRIVER_H10_5GB) || defined(IPOD_NANO)
+ /* Nano works fine with IIS_FIFO_FORMAT_LE16 as well */
IISCONFIG = ((IISCONFIG & ~IIS_FIFO_FORMAT_MASK) | IIS_FIFO_FORMAT_LE16_2);
#else
IISCONFIG = ((IISCONFIG & ~IIS_FIFO_FORMAT_MASK) | IIS_FIFO_FORMAT_LE32);
diff --git a/firmware/target/arm/pcm-pp.c b/firmware/target/arm/pcm-pp.c
index ba2b6e5..ab785a9 100644
--- a/firmware/target/arm/pcm-pp.c
+++ b/firmware/target/arm/pcm-pp.c
@@ -30,7 +30,7 @@
and codec setup using "arithmetic" the hardware supports like halfword
swapping. Try to use 32-bit packed in IIS modes if possible. */
#if defined(SANSA_C200) || defined(SANSA_E200) \
- || defined(IRIVER_H10) || defined(IRIVER_H10_5GB)
+ || defined(IRIVER_H10) || defined(IRIVER_H10_5GB) || defined(IPOD_NANO)
/* 16-bit, L-R packed into 32 bits with left in the least significant halfword */
#define SAMPLE_SIZE 16
#define TRANSFER_SIZE 32