rockbox/firmware/target/arm/s3c2440/gigabeat-fx/wmcodec-meg-fx.c
Michael Sevakis 7fb0f71668 Gigabeat: Replace generic i2c driver with one that uses the CPU's builtin controller. Add some clocking registers to 'View I/O ports'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13720 a1c6a512-1295-4272-9138-f99709370657
2007-06-26 02:11:30 +00:00

50 lines
1.5 KiB
C

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Gigabeat specific code for the Wolfson codec
*
* Based on code from the ipodlinux project - http://ipodlinux.org/
* Adapted for Rockbox in December 2005
*
* Original file: linux/arch/armnommu/mach-ipod/audio.c
*
* Copyright (c) 2003-2005 Bernard Leach (leachbj@bouncycastle.org)
*
* 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 "cpu.h"
#include "kernel.h"
#include "sound.h"
#include "i2c-meg-fx.h"
void audiohw_init(void)
{
/* reset I2C */
i2c_init();
/* GPC5 controls headphone output */
GPCCON &= ~(0x3 << 10);
GPCCON |= (1 << 10);
GPCDAT |= (1 << 5);
audiohw_preinit();
}
void wmcodec_write(int reg, int data)
{
unsigned char d[2];
d[0] = (reg << 1) | ((data & 0x100) >> 8);
d[1] = data;
i2c_write(0x34, d, 2);
}