forked from len0rd/rockbox
Add iAudio M5 FM radio mod to the advanced build options. * Unify iAudio audio driver, fmradio i2c driver, and power driver (M5 + X5 only).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21264 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
94823c65ac
commit
81b87fe13d
10 changed files with 74 additions and 327 deletions
|
@ -588,22 +588,22 @@ target/coldfire/ata-as-coldfire.S
|
||||||
target/coldfire/pcf50606-coldfire.c
|
target/coldfire/pcf50606-coldfire.c
|
||||||
target/coldfire/iaudio/adc-iaudio.c
|
target/coldfire/iaudio/adc-iaudio.c
|
||||||
target/coldfire/iaudio/ata-iaudio.c
|
target/coldfire/iaudio/ata-iaudio.c
|
||||||
|
target/coldfire/iaudio/fmradio_i2c-iaudio.c
|
||||||
target/coldfire/iaudio/lcd-remote-as-iaudio.S
|
target/coldfire/iaudio/lcd-remote-as-iaudio.S
|
||||||
target/coldfire/iaudio/lcd-remote-iaudio.c
|
target/coldfire/iaudio/lcd-remote-iaudio.c
|
||||||
target/coldfire/iaudio/pcf50606-iaudio.c
|
target/coldfire/iaudio/pcf50606-iaudio.c
|
||||||
|
target/coldfire/iaudio/power-x5m5.c
|
||||||
target/coldfire/iaudio/powermgmt-iaudio.c
|
target/coldfire/iaudio/powermgmt-iaudio.c
|
||||||
target/coldfire/iaudio/system-iaudio.c
|
target/coldfire/iaudio/system-iaudio.c
|
||||||
target/coldfire/iaudio/usb-iaudio.c
|
target/coldfire/iaudio/usb-iaudio.c
|
||||||
target/coldfire/iaudio/x5/backlight-x5.c
|
target/coldfire/iaudio/x5/backlight-x5.c
|
||||||
target/coldfire/iaudio/x5/button-x5.c
|
target/coldfire/iaudio/x5/button-x5.c
|
||||||
target/coldfire/iaudio/x5/ds2411-x5.c
|
target/coldfire/iaudio/x5/ds2411-x5.c
|
||||||
target/coldfire/iaudio/x5/fmradio_i2c-x5.c
|
|
||||||
target/coldfire/iaudio/x5/lcd-as-x5.S
|
target/coldfire/iaudio/x5/lcd-as-x5.S
|
||||||
target/coldfire/iaudio/x5/lcd-x5.c
|
target/coldfire/iaudio/x5/lcd-x5.c
|
||||||
target/coldfire/iaudio/x5/m5636-x5.c
|
target/coldfire/iaudio/x5/m5636-x5.c
|
||||||
target/coldfire/iaudio/x5/power-x5.c
|
|
||||||
#ifndef BOOTLOADER
|
#ifndef BOOTLOADER
|
||||||
target/coldfire/iaudio/x5/audio-x5.c
|
target/coldfire/iaudio/audio-iaudio.c
|
||||||
#endif
|
#endif
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
#endif /* IAUDIO_X5 */
|
#endif /* IAUDIO_X5 */
|
||||||
|
@ -614,19 +614,22 @@ target/coldfire/ata-as-coldfire.S
|
||||||
target/coldfire/pcf50606-coldfire.c
|
target/coldfire/pcf50606-coldfire.c
|
||||||
target/coldfire/iaudio/adc-iaudio.c
|
target/coldfire/iaudio/adc-iaudio.c
|
||||||
target/coldfire/iaudio/ata-iaudio.c
|
target/coldfire/iaudio/ata-iaudio.c
|
||||||
|
#ifdef HAVE_FMRADIO_IN /* FM radio mod */
|
||||||
|
target/coldfire/iaudio/fmradio_i2c-iaudio.c
|
||||||
|
#endif
|
||||||
target/coldfire/iaudio/lcd-remote-as-iaudio.S
|
target/coldfire/iaudio/lcd-remote-as-iaudio.S
|
||||||
target/coldfire/iaudio/lcd-remote-iaudio.c
|
target/coldfire/iaudio/lcd-remote-iaudio.c
|
||||||
target/coldfire/iaudio/m5/backlight-m5.c
|
target/coldfire/iaudio/m5/backlight-m5.c
|
||||||
target/coldfire/iaudio/m5/button-m5.c
|
target/coldfire/iaudio/m5/button-m5.c
|
||||||
target/coldfire/iaudio/m5/lcd-as-m5.S
|
target/coldfire/iaudio/m5/lcd-as-m5.S
|
||||||
target/coldfire/iaudio/m5/lcd-m5.c
|
target/coldfire/iaudio/m5/lcd-m5.c
|
||||||
target/coldfire/iaudio/m5/power-m5.c
|
|
||||||
target/coldfire/iaudio/pcf50606-iaudio.c
|
target/coldfire/iaudio/pcf50606-iaudio.c
|
||||||
|
target/coldfire/iaudio/power-x5m5.c
|
||||||
target/coldfire/iaudio/powermgmt-iaudio.c
|
target/coldfire/iaudio/powermgmt-iaudio.c
|
||||||
target/coldfire/iaudio/system-iaudio.c
|
target/coldfire/iaudio/system-iaudio.c
|
||||||
target/coldfire/iaudio/usb-iaudio.c
|
target/coldfire/iaudio/usb-iaudio.c
|
||||||
#ifndef BOOTLOADER
|
#ifndef BOOTLOADER
|
||||||
target/coldfire/iaudio/m5/audio-m5.c
|
target/coldfire/iaudio/audio-iaudio.c
|
||||||
#endif
|
#endif
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
#endif /* IAUDIO_M5 */
|
#endif /* IAUDIO_M5 */
|
||||||
|
@ -634,11 +637,11 @@ target/coldfire/iaudio/m5/audio-m5.c
|
||||||
#ifdef IAUDIO_M3
|
#ifdef IAUDIO_M3
|
||||||
#ifndef SIMULATOR
|
#ifndef SIMULATOR
|
||||||
target/coldfire/ata-as-coldfire.S
|
target/coldfire/ata-as-coldfire.S
|
||||||
|
target/coldfire/iaudio/fmradio_i2c-iaudio.c
|
||||||
target/coldfire/iaudio/m3/adc-m3.c
|
target/coldfire/iaudio/m3/adc-m3.c
|
||||||
target/coldfire/iaudio/m3/ata-m3.c
|
target/coldfire/iaudio/m3/ata-m3.c
|
||||||
target/coldfire/iaudio/m3/backlight-m3.c
|
target/coldfire/iaudio/m3/backlight-m3.c
|
||||||
target/coldfire/iaudio/m3/button-m3.c
|
target/coldfire/iaudio/m3/button-m3.c
|
||||||
target/coldfire/iaudio/m3/fmradio_i2c-m3.c
|
|
||||||
target/coldfire/iaudio/m3/lcd-m3.c
|
target/coldfire/iaudio/m3/lcd-m3.c
|
||||||
target/coldfire/iaudio/m3/lcd-as-m3.S
|
target/coldfire/iaudio/m3/lcd-as-m3.S
|
||||||
target/coldfire/iaudio/m3/power-m3.c
|
target/coldfire/iaudio/m3/power-m3.c
|
||||||
|
@ -646,7 +649,7 @@ target/coldfire/iaudio/m3/powermgmt-m3.c
|
||||||
target/coldfire/iaudio/m3/system-m3.c
|
target/coldfire/iaudio/m3/system-m3.c
|
||||||
target/coldfire/iaudio/m3/usb-m3.c
|
target/coldfire/iaudio/m3/usb-m3.c
|
||||||
#ifndef BOOTLOADER
|
#ifndef BOOTLOADER
|
||||||
target/coldfire/iaudio/m3/audio-m3.c
|
target/coldfire/iaudio/audio-iaudio.c
|
||||||
#endif
|
#endif
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
#endif /* IAUDIO_M3 */
|
#endif /* IAUDIO_M3 */
|
||||||
|
|
|
@ -16,7 +16,11 @@
|
||||||
|
|
||||||
/* Define bitmask of input sources - recordable bitmask can be defined
|
/* Define bitmask of input sources - recordable bitmask can be defined
|
||||||
explicitly if different */
|
explicitly if different */
|
||||||
|
#ifdef HAVE_FMRADIO_IN /* FM modded M5 */
|
||||||
|
#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
|
||||||
|
#else /* stock M5 */
|
||||||
#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN)
|
#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN)
|
||||||
|
#endif
|
||||||
|
|
||||||
/* define the bitmask of hardware sample rates */
|
/* define the bitmask of hardware sample rates */
|
||||||
#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
|
#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
|
||||||
|
@ -109,6 +113,12 @@
|
||||||
/* The number of bytes reserved for loadable plugins */
|
/* The number of bytes reserved for loadable plugins */
|
||||||
#define PLUGIN_BUFFER_SIZE 0x80000
|
#define PLUGIN_BUFFER_SIZE 0x80000
|
||||||
|
|
||||||
|
#ifdef HAVE_FMRADIO_IN /* FM modded M5 */
|
||||||
|
/* FM Tuner */
|
||||||
|
#define CONFIG_TUNER TEA5767
|
||||||
|
#define CONFIG_TUNER_XTAL 32768
|
||||||
|
#endif
|
||||||
|
|
||||||
#define HAVE_TLV320
|
#define HAVE_TLV320
|
||||||
|
|
||||||
/* TLV320 has no tone controls, so we use the software ones */
|
/* TLV320 has no tone controls, so we use the software ones */
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
* KIND, either express or implied.
|
* KIND, either express or implied.
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
#include "config.h"
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
|
@ -41,9 +42,13 @@ void audio_input_mux(int source, unsigned flags)
|
||||||
{
|
{
|
||||||
/* Prevent pops from unneeded switching */
|
/* Prevent pops from unneeded switching */
|
||||||
static int last_source = AUDIO_SRC_PLAYBACK;
|
static int last_source = AUDIO_SRC_PLAYBACK;
|
||||||
|
#ifdef HAVE_FMRADIO_IN
|
||||||
static bool last_recording = false;
|
static bool last_recording = false;
|
||||||
|
|
||||||
bool recording = flags & SRCF_RECORDING;
|
bool recording = flags & SRCF_RECORDING;
|
||||||
|
#else
|
||||||
|
(void)flags;
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (source)
|
switch (source)
|
||||||
{
|
{
|
||||||
|
@ -76,6 +81,7 @@ void audio_input_mux(int source, unsigned flags)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#ifdef HAVE_FMRADIO_IN
|
||||||
case AUDIO_SRC_FMRADIO: /* recording and playback */
|
case AUDIO_SRC_FMRADIO: /* recording and playback */
|
||||||
if (!recording)
|
if (!recording)
|
||||||
audiohw_set_recvol(23, 23, AUDIO_GAIN_LINEIN);
|
audiohw_set_recvol(23, 23, AUDIO_GAIN_LINEIN);
|
||||||
|
@ -99,17 +105,34 @@ void audio_input_mux(int source, unsigned flags)
|
||||||
coldfire_set_dataincontrol(0);
|
coldfire_set_dataincontrol(0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endif /* HAVE_FMRADIO_IN */
|
||||||
} /* end switch */
|
} /* end switch */
|
||||||
|
|
||||||
/* set line multiplexer */
|
/* set line multiplexer */
|
||||||
|
#ifdef IAUDIO_M3
|
||||||
|
#ifdef HAVE_FMRADIO_IN
|
||||||
|
if (source == AUDIO_SRC_FMRADIO)
|
||||||
|
and_l(~(1 << 25), &GPIO1_OUT); /* FM radio */
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
or_l((1 << 25), &GPIO1_OUT); /* Line In */
|
||||||
|
|
||||||
|
or_l((1 << 25), &GPIO1_ENABLE);
|
||||||
|
or_l((1 << 25), &GPIO1_FUNCTION);
|
||||||
|
|
||||||
|
#else /* iAudio M5, X5 */
|
||||||
|
#ifdef HAVE_FMRADIO_IN
|
||||||
if (source == AUDIO_SRC_FMRADIO)
|
if (source == AUDIO_SRC_FMRADIO)
|
||||||
and_l(~(1 << 29), &GPIO_OUT); /* FM radio */
|
and_l(~(1 << 29), &GPIO_OUT); /* FM radio */
|
||||||
else
|
else
|
||||||
|
#endif
|
||||||
or_l((1 << 29), &GPIO_OUT); /* Line In */
|
or_l((1 << 29), &GPIO_OUT); /* Line In */
|
||||||
|
|
||||||
or_l((1 << 29), &GPIO_ENABLE);
|
or_l((1 << 29), &GPIO_ENABLE);
|
||||||
or_l((1 << 29), &GPIO_FUNCTION);
|
or_l((1 << 29), &GPIO_FUNCTION);
|
||||||
|
|
||||||
|
#endif /* iAudio M5, X5 */
|
||||||
|
|
||||||
last_source = source;
|
last_source = source;
|
||||||
} /* audio_input_mux */
|
} /* audio_input_mux */
|
||||||
|
|
|
@ -1,116 +0,0 @@
|
||||||
/***************************************************************************
|
|
||||||
* __________ __ ___.
|
|
||||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
||||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
||||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
||||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
||||||
* \/ \/ \/ \/ \/
|
|
||||||
* $Id$
|
|
||||||
*
|
|
||||||
* Copyright (C) 2006 by Michael Sevakis
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
* KIND, either express or implied.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
#include "cpu.h"
|
|
||||||
#include "audio.h"
|
|
||||||
#include "sound.h"
|
|
||||||
|
|
||||||
void audio_set_output_source(int source)
|
|
||||||
{
|
|
||||||
int level = set_irq_level(DMA_IRQ_LEVEL);
|
|
||||||
unsigned long txsrc;
|
|
||||||
|
|
||||||
if ((unsigned)source >= AUDIO_NUM_SOURCES)
|
|
||||||
txsrc = (3 << 8); /* playback, PDOR3 */
|
|
||||||
else
|
|
||||||
txsrc = (4 << 8); /* recording, iis1RcvData */
|
|
||||||
|
|
||||||
IIS1CONFIG = (IIS1CONFIG & ~(7 << 8)) | txsrc;
|
|
||||||
restore_irq(level);
|
|
||||||
} /* audio_set_output_source */
|
|
||||||
|
|
||||||
void audio_input_mux(int source, unsigned flags)
|
|
||||||
{
|
|
||||||
/* Prevent pops from unneeded switching */
|
|
||||||
static int last_source = AUDIO_SRC_PLAYBACK;
|
|
||||||
static bool last_recording = false;
|
|
||||||
|
|
||||||
bool recording = flags & SRCF_RECORDING;
|
|
||||||
|
|
||||||
switch (source)
|
|
||||||
{
|
|
||||||
default: /* playback - no recording */
|
|
||||||
source = AUDIO_SRC_PLAYBACK;
|
|
||||||
case AUDIO_SRC_PLAYBACK:
|
|
||||||
if (source != last_source)
|
|
||||||
{
|
|
||||||
audiohw_disable_recording();
|
|
||||||
audiohw_set_monitor(false);
|
|
||||||
coldfire_set_dataincontrol(0);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case AUDIO_SRC_MIC: /* recording only */
|
|
||||||
if (source != last_source)
|
|
||||||
{
|
|
||||||
audiohw_enable_recording(true); /* source mic */
|
|
||||||
/* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
|
|
||||||
coldfire_set_dataincontrol((3 << 14) | (4 << 3));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case AUDIO_SRC_LINEIN: /* recording only */
|
|
||||||
if (source != last_source)
|
|
||||||
{
|
|
||||||
audiohw_enable_recording(false); /* source line */
|
|
||||||
/* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
|
|
||||||
coldfire_set_dataincontrol((3 << 14) | (4 << 3));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case AUDIO_SRC_FMRADIO: /* recording and playback */
|
|
||||||
if (!recording)
|
|
||||||
audiohw_set_recvol(23, 23, AUDIO_GAIN_LINEIN);
|
|
||||||
|
|
||||||
/* I2S recording and analog playback */
|
|
||||||
if (source == last_source && recording == last_recording)
|
|
||||||
break;
|
|
||||||
|
|
||||||
last_recording = recording;
|
|
||||||
|
|
||||||
if (recording)
|
|
||||||
{
|
|
||||||
/* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
|
|
||||||
coldfire_set_dataincontrol((3 << 14) | (4 << 3));
|
|
||||||
audiohw_enable_recording(false); /* source line */
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
audiohw_disable_recording();
|
|
||||||
audiohw_set_monitor(true); /* analog bypass */
|
|
||||||
coldfire_set_dataincontrol(0);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
} /* end switch */
|
|
||||||
|
|
||||||
/* set line multiplexer */
|
|
||||||
if (source == AUDIO_SRC_FMRADIO)
|
|
||||||
and_l(~(1 << 25), &GPIO1_OUT); /* FM radio */
|
|
||||||
else
|
|
||||||
or_l((1 << 25), &GPIO1_OUT); /* Line In */
|
|
||||||
|
|
||||||
or_l((1 << 25), &GPIO1_ENABLE);
|
|
||||||
or_l((1 << 25), &GPIO1_FUNCTION);
|
|
||||||
|
|
||||||
last_source = source;
|
|
||||||
} /* audio_input_mux */
|
|
||||||
|
|
|
@ -1,84 +0,0 @@
|
||||||
/***************************************************************************
|
|
||||||
* __________ __ ___.
|
|
||||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
||||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
||||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
||||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
||||||
* \/ \/ \/ \/ \/
|
|
||||||
* $Id$
|
|
||||||
*
|
|
||||||
* Copyright (C) 2006 by Michael Sevakis
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
* KIND, either express or implied.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
#include "system.h"
|
|
||||||
#include "cpu.h"
|
|
||||||
#include "audio.h"
|
|
||||||
#include "sound.h"
|
|
||||||
|
|
||||||
void audio_set_output_source(int source)
|
|
||||||
{
|
|
||||||
int level = set_irq_level(DMA_IRQ_LEVEL);
|
|
||||||
unsigned long txsrc;
|
|
||||||
|
|
||||||
if ((unsigned)source >= AUDIO_NUM_SOURCES)
|
|
||||||
txsrc = (3 << 8); /* playback, PDOR3 */
|
|
||||||
else
|
|
||||||
txsrc = (4 << 8); /* recording, iis1RcvData */
|
|
||||||
|
|
||||||
IIS1CONFIG = (IIS1CONFIG & ~(7 << 8)) | txsrc;
|
|
||||||
restore_irq(level);
|
|
||||||
} /* audio_set_output_source */
|
|
||||||
|
|
||||||
void audio_input_mux(int source, unsigned flags)
|
|
||||||
{
|
|
||||||
/* Prevent pops from unneeded switching */
|
|
||||||
static int last_source = AUDIO_SRC_PLAYBACK;
|
|
||||||
|
|
||||||
(void)flags;
|
|
||||||
|
|
||||||
switch (source)
|
|
||||||
{
|
|
||||||
default: /* playback - no recording */
|
|
||||||
source = AUDIO_SRC_PLAYBACK;
|
|
||||||
case AUDIO_SRC_PLAYBACK:
|
|
||||||
if (source != last_source)
|
|
||||||
{
|
|
||||||
audiohw_disable_recording();
|
|
||||||
audiohw_set_monitor(false);
|
|
||||||
coldfire_set_dataincontrol(0);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case AUDIO_SRC_MIC: /* recording only */
|
|
||||||
if (source != last_source)
|
|
||||||
{
|
|
||||||
audiohw_enable_recording(true); /* source mic */
|
|
||||||
/* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
|
|
||||||
coldfire_set_dataincontrol((3 << 14) | (4 << 3));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case AUDIO_SRC_LINEIN: /* recording only */
|
|
||||||
if (source != last_source)
|
|
||||||
{
|
|
||||||
audiohw_enable_recording(false); /* source line */
|
|
||||||
/* Int. when 6 samples in FIFO, PDIR2 src = iis1RcvData */
|
|
||||||
coldfire_set_dataincontrol((3 << 14) | (4 << 3));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
} /* end switch */
|
|
||||||
|
|
||||||
or_l((1 << 29), &GPIO_OUT); /* Line In */
|
|
||||||
or_l((1 << 29), &GPIO_ENABLE);
|
|
||||||
or_l((1 << 29), &GPIO_FUNCTION);
|
|
||||||
|
|
||||||
last_source = source;
|
|
||||||
} /* audio_input_mux */
|
|
|
@ -1,67 +0,0 @@
|
||||||
/***************************************************************************
|
|
||||||
* __________ __ ___.
|
|
||||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
||||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
||||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
||||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
||||||
* \/ \/ \/ \/ \/
|
|
||||||
* $Id$
|
|
||||||
*
|
|
||||||
* Copyright (C) 2006 by Linus Nielsen Feltzing
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
* KIND, either express or implied.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
#include "config.h"
|
|
||||||
#include "cpu.h"
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include "kernel.h"
|
|
||||||
#include "system.h"
|
|
||||||
#include "power.h"
|
|
||||||
#include "pcf50606.h"
|
|
||||||
#include "lcd-remote-target.h"
|
|
||||||
|
|
||||||
void power_init(void)
|
|
||||||
{
|
|
||||||
/* Charger detect */
|
|
||||||
and_l(~0x01000000, &GPIO1_ENABLE);
|
|
||||||
or_l(0x01000000, &GPIO1_FUNCTION);
|
|
||||||
|
|
||||||
pcf50606_init();
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int power_input_status(void)
|
|
||||||
{
|
|
||||||
return (GPIO1_READ & 0x01000000) ?
|
|
||||||
POWER_INPUT_MAIN_CHARGER : POWER_INPUT_NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ide_power_enable(bool on)
|
|
||||||
{
|
|
||||||
/* GPOOD3 */
|
|
||||||
int level = disable_irq_save();
|
|
||||||
pcf50606_write(0x3c, on ? 0x07 : 0x00);
|
|
||||||
restore_irq(level);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ide_powered(void)
|
|
||||||
{
|
|
||||||
int level = disable_irq_save();
|
|
||||||
int value = pcf50606_read(0x3c);
|
|
||||||
restore_irq(level);
|
|
||||||
return (value & 0x07) != 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void power_off(void)
|
|
||||||
{
|
|
||||||
lcd_remote_poweroff();
|
|
||||||
set_irq_level(DISABLE_INTERRUPTS);
|
|
||||||
and_l(~0x00000008, &GPIO_OUT); /* Set KEEPACT low */
|
|
||||||
asm("halt");
|
|
||||||
}
|
|
|
@ -66,8 +66,10 @@ void power_off(void)
|
||||||
asm("halt");
|
asm("halt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if (CONFIG_TUNER & TEA5767)
|
||||||
bool tuner_power(bool status)
|
bool tuner_power(bool status)
|
||||||
{
|
{
|
||||||
(void)status;
|
(void)status;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#endif
|
|
@ -1,39 +0,0 @@
|
||||||
/***************************************************************************
|
|
||||||
* __________ __ ___.
|
|
||||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
||||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
||||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
||||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
||||||
* \/ \/ \/ \/ \/
|
|
||||||
* $Id$
|
|
||||||
* Physical interface of the Philips TEA5767 in iAudio x5
|
|
||||||
*
|
|
||||||
* Copyright (C) 2002 by Linus Nielsen Feltzing
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
* KIND, either express or implied.
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#if (CONFIG_TUNER & TEA5767)
|
|
||||||
|
|
||||||
#include "i2c-coldfire.h"
|
|
||||||
|
|
||||||
int fmradio_i2c_write(unsigned char address, const unsigned char* buf,
|
|
||||||
int count)
|
|
||||||
{
|
|
||||||
return i2c_write(I2C_IFACE_0, address, buf, count);
|
|
||||||
}
|
|
||||||
|
|
||||||
int fmradio_i2c_read(unsigned char address, unsigned char* buf, int count)
|
|
||||||
{
|
|
||||||
return i2c_read(I2C_IFACE_0, address, buf, count);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
43
tools/configure
vendored
43
tools/configure
vendored
|
@ -321,12 +321,15 @@ whichadvanced () {
|
||||||
if [ "$memory" = "2" ]; then
|
if [ "$memory" = "2" ]; then
|
||||||
printf ", (8)MB MOD"
|
printf ", (8)MB MOD"
|
||||||
fi
|
fi
|
||||||
if [ "$modelname" = "h120" ]; then
|
|
||||||
printf ", (R)TC MOD"
|
|
||||||
fi
|
|
||||||
if [ "$t_model" = "ondio" ]; then
|
if [ "$t_model" = "ondio" ]; then
|
||||||
printf ", (B)acklight MOD"
|
printf ", (B)acklight MOD"
|
||||||
fi
|
fi
|
||||||
|
if [ "$modelname" = "m5" ]; then
|
||||||
|
printf ", (F)M radio MOD"
|
||||||
|
fi
|
||||||
|
if [ "$modelname" = "h120" ]; then
|
||||||
|
printf ", (R)TC MOD"
|
||||||
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
cont=1
|
cont=1
|
||||||
|
@ -372,6 +375,22 @@ whichadvanced () {
|
||||||
cont=0
|
cont=0
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
[Bb])
|
||||||
|
if [ "$t_model" = "ondio" ]; then
|
||||||
|
have_backlight="#define HAVE_BACKLIGHT"
|
||||||
|
echo "Backlight functions enabled"
|
||||||
|
else
|
||||||
|
cont=0
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
[Ff])
|
||||||
|
if [ "$modelname" = "m5" ]; then
|
||||||
|
have_fmradio_in="#define HAVE_FMRADIO_IN"
|
||||||
|
echo "FM radio functions enabled"
|
||||||
|
else
|
||||||
|
cont=0
|
||||||
|
fi
|
||||||
|
;;
|
||||||
[Rr])
|
[Rr])
|
||||||
if [ "$modelname" = "h120" ]; then
|
if [ "$modelname" = "h120" ]; then
|
||||||
config_rtc="#define CONFIG_RTC RTC_DS1339_DS3231"
|
config_rtc="#define CONFIG_RTC RTC_DS1339_DS3231"
|
||||||
|
@ -381,14 +400,6 @@ whichadvanced () {
|
||||||
cont=0
|
cont=0
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
[Bb])
|
|
||||||
if [ "$t_model" = "ondio" ]; then
|
|
||||||
have_backlight="#define HAVE_BACKLIGHT"
|
|
||||||
echo "Backlight functions enabled"
|
|
||||||
else
|
|
||||||
cont=0
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
cont=0
|
cont=0
|
||||||
;;
|
;;
|
||||||
|
@ -2516,6 +2527,7 @@ sed > autoconf.h \
|
||||||
-e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
|
-e "s,@have_rtc_alarm@,$have_rtc_alarm,g" \
|
||||||
-e "s,@RBDIR@,${rbdir},g" \
|
-e "s,@RBDIR@,${rbdir},g" \
|
||||||
-e "s,@have_backlight@,$have_backlight,g" \
|
-e "s,@have_backlight@,$have_backlight,g" \
|
||||||
|
-e "s,@have_fmradio_in@,$have_fmradio_in,g" \
|
||||||
<<EOF
|
<<EOF
|
||||||
/* This header was made by configure */
|
/* This header was made by configure */
|
||||||
#ifndef __BUILD_AUTOCONF_H
|
#ifndef __BUILD_AUTOCONF_H
|
||||||
|
@ -2527,13 +2539,16 @@ sed > autoconf.h \
|
||||||
/* Define this if you build rockbox to support the logf logging and display */
|
/* Define this if you build rockbox to support the logf logging and display */
|
||||||
#undef ROCKBOX_HAS_LOGF
|
#undef ROCKBOX_HAS_LOGF
|
||||||
|
|
||||||
|
/* optional define for a backlight modded Ondio */
|
||||||
|
@have_backlight@
|
||||||
|
|
||||||
|
/* optional define for FM radio mod for iAudio M5 */
|
||||||
|
@have_fmradio_in@
|
||||||
|
|
||||||
/* optional defines for RTC mod for h1x0 */
|
/* optional defines for RTC mod for h1x0 */
|
||||||
@config_rtc@
|
@config_rtc@
|
||||||
@have_rtc_alarm@
|
@have_rtc_alarm@
|
||||||
|
|
||||||
/* optional define for a backlight modded Ondio */
|
|
||||||
@have_backlight@
|
|
||||||
|
|
||||||
/* root of Rockbox */
|
/* root of Rockbox */
|
||||||
#define ROCKBOX_DIR "/@RBDIR@"
|
#define ROCKBOX_DIR "/@RBDIR@"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue