2005-11-14 19:50:16 +00:00
|
|
|
/***************************************************************************
|
|
|
|
* __________ __ ___.
|
|
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
|
|
* \/ \/ \/ \/ \/
|
|
|
|
* $Id$
|
|
|
|
*
|
|
|
|
* Copyright (C) 2005 by Linus Nielsen Feltzing
|
|
|
|
*
|
|
|
|
* 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.
|
|
|
|
*
|
|
|
|
****************************************************************************/
|
|
|
|
#ifndef PCF50606_H
|
|
|
|
#define PCF50606_H
|
|
|
|
|
2008-04-04 20:24:08 +00:00
|
|
|
#include "pcf5060x.h"
|
|
|
|
#include "system.h"
|
|
|
|
|
|
|
|
/* The following functions may either be implemented by an optimised driver
|
|
|
|
in the target tree, or by the generic drivers/pcf50606.c */
|
|
|
|
|
2005-11-14 19:50:16 +00:00
|
|
|
void pcf50606_init(void);
|
2005-11-16 13:27:07 +00:00
|
|
|
int pcf50606_write_multiple(int address, const unsigned char* buf, int count);
|
|
|
|
int pcf50606_write(int address, unsigned char val);
|
|
|
|
int pcf50606_read_multiple(int address, unsigned char* buf, int count);
|
|
|
|
int pcf50606_read(int address);
|
2007-02-01 10:47:22 +00:00
|
|
|
void pcf50606_set_usb_charging(bool on);
|
|
|
|
bool pcf50606_usb_charging_enabled(void);
|
2005-11-14 19:50:16 +00:00
|
|
|
|
2006-08-15 22:54:06 +00:00
|
|
|
/* internal low level calls used by the eeprom driver for h300 */
|
2006-10-25 23:24:07 +00:00
|
|
|
void pcf50606_i2c_init(void);
|
|
|
|
void pcf50606_i2c_recalc_delay(int cpu_clock);
|
2006-08-15 22:54:06 +00:00
|
|
|
void pcf50606_i2c_start(void);
|
|
|
|
void pcf50606_i2c_stop(void);
|
|
|
|
void pcf50606_i2c_ack(bool ack);
|
|
|
|
bool pcf50606_i2c_getack(void);
|
2007-02-01 10:47:22 +00:00
|
|
|
#if defined(IRIVER_H300_SERIES)
|
|
|
|
/* USB charging support */
|
2006-08-15 22:54:06 +00:00
|
|
|
void pcf50606_i2c_outb(unsigned char byte);
|
|
|
|
unsigned char pcf50606_i2c_inb(bool ack);
|
2007-02-01 10:47:22 +00:00
|
|
|
#endif
|
2006-08-15 22:54:06 +00:00
|
|
|
|
2007-03-05 01:31:26 +00:00
|
|
|
#if (defined(IAUDIO_X5) || defined(IAUDIO_M5)) && !defined (SIMULATOR)
|
2006-10-25 23:24:07 +00:00
|
|
|
void pcf50606_reset_timeout(void);
|
2005-11-14 19:50:16 +00:00
|
|
|
#endif
|
2006-10-25 23:24:07 +00:00
|
|
|
|
|
|
|
#endif /* PCF50606_H */
|