diff options
| author | Jonathan Gordon <rockbox@jdgordon.info> | 2007-10-01 05:27:43 +0000 |
|---|---|---|
| committer | Jonathan Gordon <rockbox@jdgordon.info> | 2007-10-01 05:27:43 +0000 |
| commit | 03f45d3affcee6d8ffb58f1cc6f414284ed418b4 (patch) | |
| tree | 99ebe8a4ef8e86de4770ebe83a65a3b6156db82f /firmware/drivers | |
| parent | ea47ee64f02030c64e0472939ea3c588ce7e8dab (diff) | |
| download | rockbox-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.c | 35 | ||||
| -rw-r--r-- | firmware/drivers/tsc2100.c | 9 |
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) |