summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2007-10-01 05:27:43 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2007-10-01 05:27:43 +0000
commit03f45d3affcee6d8ffb58f1cc6f414284ed418b4 (patch)
tree99ebe8a4ef8e86de4770ebe83a65a3b6156db82f /firmware/drivers
parentea47ee64f02030c64e0472939ea3c588ce7e8dab (diff)
downloadrockbox-03f45d3affcee6d8ffb58f1cc6f414284ed418b4.zip
rockbox-03f45d3affcee6d8ffb58f1cc6f414284ed418b4.tar.gz
rockbox-03f45d3affcee6d8ffb58f1cc6f414284ed418b4.tar.bz2
rockbox-03f45d3affcee6d8ffb58f1cc6f414284ed418b4.tar.xz
spi is shared between the rtc and tsc2100
adds the very begining of the rtc driver (only reads the time currently git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14935 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/rtc/rtc_rx5x348ab.c35
-rw-r--r--firmware/drivers/tsc2100.c9
2 files changed, 41 insertions, 3 deletions
diff --git a/firmware/drivers/rtc/rtc_rx5x348ab.c b/firmware/drivers/rtc/rtc_rx5x348ab.c
new file mode 100644
index 0000000..3db30d2
--- /dev/null
+++ b/firmware/drivers/rtc/rtc_rx5x348ab.c
@@ -0,0 +1,35 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id: rtc_as3514.c 12131 2007-01-27 20:48:48Z dan_a $
+ *
+ * Copyright (C) 2007 by Jonathan Gordon
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include "config.h"
+#include "spi.h"
+#include "rtc.h"
+#include <stdbool.h>
+
+void rtc_init(void)
+{
+}
+
+int rtc_read_datetime(unsigned char* buf)
+{
+ char command = 0x04; /* burst read from the start of the time/date reg */
+ spi_block_transfer(SPI_target_RX5X348AB,
+ &command, 1, buf, 7);
+ return 1;
+} \ No newline at end of file
diff --git a/firmware/drivers/tsc2100.c b/firmware/drivers/tsc2100.c
index 19da33e..ccb8c1f 100644
--- a/firmware/drivers/tsc2100.c
+++ b/firmware/drivers/tsc2100.c
@@ -30,7 +30,8 @@ void tsc2100_read_values(short *x, short* y, short *z1, short *z2)
unsigned short command = 0x8000|(page << 11)|(address << 5);
unsigned char out[] = {command >> 8, command & 0xff};
unsigned char in[8];
- spi_block_transfer(out, sizeof(out), in, sizeof(in));
+ spi_block_transfer(SPI_target_TSC2100,
+ out, sizeof(out), in, sizeof(in));
*x = (in[0]<<8)|in[1];
*y = (in[2]<<8)|in[3];
@@ -43,7 +44,8 @@ short tsc2100_readreg(int page, int address)
unsigned short command = 0x8000|(page << 11)|(address << 5);
unsigned char out[] = {command >> 8, command & 0xff};
unsigned char in[2];
- spi_block_transfer(out, sizeof(out), in, sizeof(in));
+ spi_block_transfer(SPI_target_TSC2100,
+ out, sizeof(out), in, sizeof(in));
return (in[0]<<8)|in[1];
}
@@ -53,7 +55,8 @@ void tsc2100_writereg(int page, int address, short value)
unsigned short command = 0x8000|(page << 11)|(address << 5);
unsigned char out[4] = {command >> 8, command & 0xff,
value >> 8, value & 0xff};
- spi_block_transfer(out, sizeof(out), NULL, 0);
+ spi_block_transfer(SPI_target_TSC2100,
+ out, sizeof(out), NULL, 0);
}
void tsc2100_keyclick(void)