/*************************************************************************** * __________ __ ___. * Open \______ \ ____ ____ | | _\_ |__ _______ ___ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ * \/ \/ \/ \/ \/ * $Id$ * * Copyright (C) 2006 by Miika Pekkarinen * * 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 "system.h" #include "logf.h" #include "inttypes.h" #include "sw_i2c.h" #include "pcf50606.h" void sw_i2c_init(void) { /* no extra init required */ } int sw_i2c_write(unsigned char chip, unsigned char location, const unsigned char* buf, int count) { int i; pcf50606_i2c_start(); pcf50606_i2c_outb((chip & 0xfe) | SW_I2C_WRITE); if (!pcf50606_i2c_getack()) { pcf50606_i2c_stop(); return -1; } pcf50606_i2c_outb(location); if (!pcf50606_i2c_getack()) { pcf50606_i2c_stop(); return -2; } for (i=0; i