From 6ffbe3896b89ce86cccfe3b1f492f60e34d89603 Mon Sep 17 00:00:00 2001 From: Marcoen Hirschberg Date: Thu, 19 Apr 2007 10:14:55 +0000 Subject: move the iriver ifp7xx and other pnx0101 related files together in the target tree git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13207 a1c6a512-1295-4272-9138-f99709370657 --- .../target/arm/pnx0101/iriver-ifp7xx/adc-ifp7xx.c | 57 ++++++ .../target/arm/pnx0101/iriver-ifp7xx/adc-target.h | 29 +++ .../arm/pnx0101/iriver-ifp7xx/backlight-ifp7xx.c | 33 ++++ .../arm/pnx0101/iriver-ifp7xx/button-ifp7xx.c | 89 +++++++++ .../arm/pnx0101/iriver-ifp7xx/button-target.h | 56 ++++++ .../target/arm/pnx0101/iriver-ifp7xx/lcd-ifp7xx.c | 208 +++++++++++++++++++++ .../arm/pnx0101/iriver-ifp7xx/power-ifp7xx.c | 85 +++++++++ .../arm/pnx0101/iriver-ifp7xx/system-target.h | 34 ++++ .../target/arm/pnx0101/iriver-ifp7xx/usb-ifp7xx.c | 50 +++++ 9 files changed, 641 insertions(+) create mode 100644 firmware/target/arm/pnx0101/iriver-ifp7xx/adc-ifp7xx.c create mode 100644 firmware/target/arm/pnx0101/iriver-ifp7xx/adc-target.h create mode 100644 firmware/target/arm/pnx0101/iriver-ifp7xx/backlight-ifp7xx.c create mode 100644 firmware/target/arm/pnx0101/iriver-ifp7xx/button-ifp7xx.c create mode 100644 firmware/target/arm/pnx0101/iriver-ifp7xx/button-target.h create mode 100644 firmware/target/arm/pnx0101/iriver-ifp7xx/lcd-ifp7xx.c create mode 100644 firmware/target/arm/pnx0101/iriver-ifp7xx/power-ifp7xx.c create mode 100644 firmware/target/arm/pnx0101/iriver-ifp7xx/system-target.h create mode 100644 firmware/target/arm/pnx0101/iriver-ifp7xx/usb-ifp7xx.c (limited to 'firmware/target/arm/pnx0101/iriver-ifp7xx') diff --git a/firmware/target/arm/pnx0101/iriver-ifp7xx/adc-ifp7xx.c b/firmware/target/arm/pnx0101/iriver-ifp7xx/adc-ifp7xx.c new file mode 100644 index 0000000000..79b1ad0fcb --- /dev/null +++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/adc-ifp7xx.c @@ -0,0 +1,57 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * 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 "cpu.h" +#include "system.h" +#include "kernel.h" +#include "thread.h" +#include "adc.h" + +static unsigned short adcdata[NUM_ADC_CHANNELS]; + +unsigned short adc_read(int channel) +{ + return adcdata[channel]; +} + +static void adc_tick(void) +{ + if (ADCST & 0x10) { + adcdata[0] = ADCCH0 & 0x3ff; + adcdata[1] = ADCCH1 & 0x3ff; + adcdata[2] = ADCCH2 & 0x3ff; + adcdata[3] = ADCCH3 & 0x3ff; + adcdata[4] = ADCCH4 & 0x3ff; + ADCST = 0xa; + } +} + +void adc_init(void) +{ + ADCR24 = 0xaaaaa; + ADCR28 = 0; + ADCST = 2; + ADCST = 0xa; + + while (!(ADCST & 0x10)); + adc_tick(); + + tick_add_task(adc_tick); +} + diff --git a/firmware/target/arm/pnx0101/iriver-ifp7xx/adc-target.h b/firmware/target/arm/pnx0101/iriver-ifp7xx/adc-target.h new file mode 100644 index 0000000000..8e5e6edbc5 --- /dev/null +++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/adc-target.h @@ -0,0 +1,29 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * 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 _ADC_TARGET_H_ +#define _ADC_TARGET_H_ + +#define NUM_ADC_CHANNELS 5 + +#define ADC_BUTTONS 0 +#define ADC_BATTERY 1 +#define ADC_BUTTON_PLAY 2 +#define ADC_UNREG_POWER ADC_BATTERY /* For compatibility */ + +#endif diff --git a/firmware/target/arm/pnx0101/iriver-ifp7xx/backlight-ifp7xx.c b/firmware/target/arm/pnx0101/iriver-ifp7xx/backlight-ifp7xx.c new file mode 100644 index 0000000000..c0dc3974c0 --- /dev/null +++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/backlight-ifp7xx.c @@ -0,0 +1,33 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * 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 "cpu.h" +#include "system.h" +#include "backlight.h" +#include "lcd.h" + +void __backlight_on(void) +{ + GPIO3_SET = 1; +} + +void __backlight_off(void) +{ + GPIO3_CLR = 1; +} diff --git a/firmware/target/arm/pnx0101/iriver-ifp7xx/button-ifp7xx.c b/firmware/target/arm/pnx0101/iriver-ifp7xx/button-ifp7xx.c new file mode 100644 index 0000000000..52e29fdfdf --- /dev/null +++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/button-ifp7xx.c @@ -0,0 +1,89 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * 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 +#include "config.h" +#include "cpu.h" +#include "system.h" +#include "button.h" +#include "kernel.h" +#include "backlight.h" +#include "adc.h" +#include "system.h" + + +void button_init_device(void) +{ + +} + +bool button_hold(void) +{ + return (GPIO5_READ & 4) ? false : true; +} + +/* + * Get button pressed from hardware + */ +int button_read_device(void) +{ + int btn = BUTTON_NONE; + int data; + static bool hold_button = false; + bool hold_button_old; + + /* normal buttons */ + hold_button_old = hold_button; + hold_button = button_hold(); + + if (hold_button != hold_button_old) + backlight_hold_changed(hold_button); + + if (!button_hold()) + { + data = adc_read(ADC_BUTTONS); + if (data < 0x35c) + { + if (data < 0x151) + if (data < 0xc7) + if (data < 0x41) + btn = BUTTON_LEFT; + else + btn = BUTTON_RIGHT; + else + btn = BUTTON_SELECT; + else + if (data < 0x268) + if (data < 0x1d7) + btn = BUTTON_UP; + else + btn = BUTTON_DOWN; + else + if (data < 0x2f9) + btn = BUTTON_EQ; + else + btn = BUTTON_MODE; + } + + if (adc_read(ADC_BUTTON_PLAY) < 0x64) + btn |= BUTTON_PLAY; + } + return btn; +} diff --git a/firmware/target/arm/pnx0101/iriver-ifp7xx/button-target.h b/firmware/target/arm/pnx0101/iriver-ifp7xx/button-target.h new file mode 100644 index 0000000000..954a2dfe9c --- /dev/null +++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/button-target.h @@ -0,0 +1,56 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * 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. + * + ****************************************************************************/ + +/* Custom written for the ifp7xx */ + +#ifndef _BUTTON_TARGET_H_ +#define _BUTTON_TARGET_H_ + +#include +#include "config.h" + +#define HAS_BUTTON_HOLD + +bool button_hold(void); +void button_init_device(void); +int button_read_device(void); + +/* iriver IFP7XX specific button codes */ + +#define BUTTON_PLAY 0x00000001 +#define BUTTON_SELECT 0x00000002 + +#define BUTTON_LEFT 0x00000004 +#define BUTTON_RIGHT 0x00000008 +#define BUTTON_UP 0x00000010 +#define BUTTON_DOWN 0x00000020 + +#define BUTTON_MODE 0x00000040 +#define BUTTON_EQ 0x00000080 + +#define BUTTON_MAIN (BUTTON_PLAY|BUTTON_SELECT\ + |BUTTON_LEFT|BUTTON_RIGHT|BUTTON_UP|BUTTON_DOWN\ + |BUTTON_MODE|BUTTON_EQ) + +#define BUTTON_REMOTE 0 + +#define POWEROFF_BUTTON BUTTON_PLAY +#define POWEROFF_COUNT 40 + +#endif /* _BUTTON_TARGET_H_ */ diff --git a/firmware/target/arm/pnx0101/iriver-ifp7xx/lcd-ifp7xx.c b/firmware/target/arm/pnx0101/iriver-ifp7xx/lcd-ifp7xx.c new file mode 100644 index 0000000000..0aacd8af67 --- /dev/null +++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/lcd-ifp7xx.c @@ -0,0 +1,208 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 by Alan Korr + * + * 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 "kernel.h" +#include "lcd.h" +#include "system.h" + +/*** definitions ***/ + +#define LCD_SET_LOWER_COLUMN_ADDRESS ((char)0x00) +#define LCD_SET_HIGHER_COLUMN_ADDRESS ((char)0x10) +#define LCD_SET_INTERNAL_REGULATOR_RESISTOR_RATIO ((char)0x20) +#define LCD_SET_POWER_CONTROL_REGISTER ((char)0x28) +#define LCD_SET_DISPLAY_START_LINE ((char)0x40) +#define LCD_SET_CONTRAST_CONTROL_REGISTER ((char)0x81) +#define LCD_SET_SEGMENT_REMAP ((char)0xA0) +#define LCD_SET_LCD_BIAS ((char)0xA2) +#define LCD_SET_ENTIRE_DISPLAY_OFF ((char)0xA4) +#define LCD_SET_ENTIRE_DISPLAY_ON ((char)0xA5) +#define LCD_SET_NORMAL_DISPLAY ((char)0xA6) +#define LCD_SET_REVERSE_DISPLAY ((char)0xA7) +#define LCD_SET_MULTIPLEX_RATIO ((char)0xA8) +#define LCD_SET_BIAS_TC_OSC ((char)0xA9) +#define LCD_SET_1OVER4_BIAS_RATIO ((char)0xAA) +#define LCD_SET_INDICATOR_OFF ((char)0xAC) +#define LCD_SET_INDICATOR_ON ((char)0xAD) +#define LCD_SET_DISPLAY_OFF ((char)0xAE) +#define LCD_SET_DISPLAY_ON ((char)0xAF) +#define LCD_SET_PAGE_ADDRESS ((char)0xB0) +#define LCD_SET_COM_OUTPUT_SCAN_DIRECTION ((char)0xC0) +#define LCD_SET_TOTAL_FRAME_PHASES ((char)0xD2) +#define LCD_SET_DISPLAY_OFFSET ((char)0xD3) +#define LCD_SET_READ_MODIFY_WRITE_MODE ((char)0xE0) +#define LCD_SOFTWARE_RESET ((char)0xE2) +#define LCD_NOP ((char)0xE3) +#define LCD_SET_END_OF_READ_MODIFY_WRITE_MODE ((char)0xEE) + +/* LCD command codes */ +#define LCD_CNTL_RESET 0xe2 /* Software reset */ +#define LCD_CNTL_POWER 0x2f /* Power control */ +#define LCD_CNTL_CONTRAST 0x81 /* Contrast */ +#define LCD_CNTL_OUTSCAN 0xc8 /* Output scan direction */ +#define LCD_CNTL_SEGREMAP 0xa1 /* Segment remap */ +#define LCD_CNTL_DISPON 0xaf /* Display on */ + +#define LCD_CNTL_PAGE 0xb0 /* Page address */ +#define LCD_CNTL_HIGHCOL 0x10 /* Upper column address */ +#define LCD_CNTL_LOWCOL 0x00 /* Lower column address */ + +/*** driver routines ***/ + +void lcd_write_command(int cmd) +{ + while ((LCDSTAT & 3) != 3); + LCDCMD = cmd; +} + +void lcd_write_data( const unsigned char* data, int count ) +{ + int i; + for (i=0; i < count; i++) { + while ((LCDSTAT & 3) != 3); + LCDDATA = data[i]; + } +} + +/*** hardware configuration ***/ + +int lcd_default_contrast(void) +{ + return 45; +} + +void lcd_set_contrast(int val) +{ + lcd_write_command(LCD_CNTL_CONTRAST); + lcd_write_command(val); +} + +void lcd_set_invert_display(bool yesno) +{ + if (yesno) + lcd_write_command(LCD_SET_REVERSE_DISPLAY); + else + lcd_write_command(LCD_SET_NORMAL_DISPLAY); +} + +/* turn the display upside down (call lcd_update() afterwards) */ +void lcd_set_flip(bool yesno) +{ + if (yesno) + { + lcd_write_command(LCD_SET_SEGMENT_REMAP); + lcd_write_command(LCD_SET_COM_OUTPUT_SCAN_DIRECTION); + } + else + { + lcd_write_command(LCD_SET_SEGMENT_REMAP | 0x01); + lcd_write_command(LCD_SET_COM_OUTPUT_SCAN_DIRECTION | 0x08); + } +} + +void lcd_init_device(void) +{ + LCDREG10 = 0xf; + LCDREG04 = 0x4084; + + /* inits like the original firmware */ + lcd_write_command(LCD_SOFTWARE_RESET); + lcd_write_command(LCD_SET_INTERNAL_REGULATOR_RESISTOR_RATIO + 4); + lcd_write_command(LCD_SET_LCD_BIAS); + lcd_write_command(LCD_SET_POWER_CONTROL_REGISTER + 7); + /* power control register: op-amp=1, regulator=1, booster=1 */ + lcd_write_command(LCD_SET_DISPLAY_ON); + lcd_write_command(LCD_SET_NORMAL_DISPLAY); + lcd_set_flip(false); + lcd_write_command(LCD_SET_DISPLAY_START_LINE + 0); + lcd_set_contrast(lcd_default_contrast()); + lcd_write_command(LCD_SET_PAGE_ADDRESS); + lcd_write_command(LCD_SET_LOWER_COLUMN_ADDRESS + 0); + lcd_write_command(LCD_SET_HIGHER_COLUMN_ADDRESS + 0); + + lcd_clear_display(); + lcd_update(); +} + +/*** Update functions ***/ + +/* Performance function that works with an external buffer + note that by and bheight are in 8-pixel units! */ +void lcd_blit(const unsigned char* data, int x, int by, int width, + int bheight, int stride) +{ + /* Copy display bitmap to hardware */ + while (bheight--) + { + lcd_write_command (LCD_CNTL_PAGE | (by++ & 0xf)); + lcd_write_command (LCD_CNTL_HIGHCOL | (((x+4)>>4) & 0xf)); + lcd_write_command (LCD_CNTL_LOWCOL | ((x+4) & 0xf)); + + lcd_write_data(data, width); + data += stride; + } +} + + +/* Update the display. + This must be called after all other LCD functions that change the display. */ +void lcd_update(void) ICODE_ATTR; +void lcd_update(void) +{ + int y; + + /* Copy display bitmap to hardware */ + for (y = 0; y < LCD_FBHEIGHT; y++) + { + lcd_write_command (LCD_CNTL_PAGE | (y & 0xf)); + lcd_write_command (LCD_CNTL_HIGHCOL); + lcd_write_command (LCD_CNTL_LOWCOL | 4); + + lcd_write_data (lcd_framebuffer[y], LCD_WIDTH); + } +} + +/* Update a fraction of the display. */ +void lcd_update_rect(int, int, int, int) ICODE_ATTR; +void lcd_update_rect(int x, int y, int width, int height) +{ + int ymax; + + /* The Y coordinates have to work on even 8 pixel rows */ + ymax = (y + height-1) >> 3; + y >>= 3; + + if(x + width > LCD_WIDTH) + width = LCD_WIDTH - x; + if (width <= 0) + return; /* nothing left to do, 0 is harmful to lcd_write_data() */ + if(ymax >= LCD_FBHEIGHT) + ymax = LCD_FBHEIGHT-1; + + /* Copy specified rectange bitmap to hardware */ + for (; y <= ymax; y++) + { + lcd_write_command (LCD_CNTL_PAGE | (y & 0xf)); + lcd_write_command (LCD_CNTL_HIGHCOL | (((x+4) >> 4) & 0xf)); + lcd_write_command (LCD_CNTL_LOWCOL | ((x+4) & 0xf)); + + lcd_write_data (&lcd_framebuffer[y][x], width); + } +} diff --git a/firmware/target/arm/pnx0101/iriver-ifp7xx/power-ifp7xx.c b/firmware/target/arm/pnx0101/iriver-ifp7xx/power-ifp7xx.c new file mode 100644 index 0000000000..4e4f585298 --- /dev/null +++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/power-ifp7xx.c @@ -0,0 +1,85 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 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. + * + ****************************************************************************/ +#include "config.h" +#include "cpu.h" +#include +#include "adc.h" +#include "kernel.h" +#include "system.h" +#include "power.h" +#include "logf.h" +#include "usb.h" + +#if CONFIG_TUNER + +static bool powered = false; + +bool radio_powered(void) +{ + return powered; +} + +bool radio_power(bool status) +{ + bool old_status = powered; + powered = status; + + return old_status; +} + +#endif /* #if CONFIG_TUNER */ + +#ifndef SIMULATOR + +void power_init(void) +{ +} + +void ide_power_enable(bool on) +{ + (void)on; + /* no ide controller */ +} + +bool ide_powered(void) +{ + return true; /* pretend always powered if not controlable */ +} + +void power_off(void) +{ + set_irq_level(HIGHEST_IRQ_LEVEL); + GPIO1_CLR = 1 << 16; + GPIO2_SET = 1; + while(1) + yield(); +} + +#else + +void power_off(void) +{ +} + +void ide_power_enable(bool on) +{ + (void)on; +} + +#endif /* SIMULATOR */ diff --git a/firmware/target/arm/pnx0101/iriver-ifp7xx/system-target.h b/firmware/target/arm/pnx0101/iriver-ifp7xx/system-target.h new file mode 100644 index 0000000000..dc11bb74da --- /dev/null +++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/system-target.h @@ -0,0 +1,34 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 by Alan Korr + * + * 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 SYSTEM_TARGET_H +#define SYSTEM_TARGET_H + +#include "system-arm.h" + +#define CPUFREQ_DEFAULT 12000000 +#define CPUFREQ_NORMAL 48000000 +#define CPUFREQ_MAX 60000000 + +typedef void (*interrupt_handler_t)(void); + +void irq_set_int_handler(int n, interrupt_handler_t handler); +void irq_enable_int(int n); +void irq_disable_int(int n); + +#endif /* SYSTEM_TARGET_H */ diff --git a/firmware/target/arm/pnx0101/iriver-ifp7xx/usb-ifp7xx.c b/firmware/target/arm/pnx0101/iriver-ifp7xx/usb-ifp7xx.c new file mode 100644 index 0000000000..a22a227b15 --- /dev/null +++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/usb-ifp7xx.c @@ -0,0 +1,50 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Barry Wardell + * + * 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 "cpu.h" +#include "kernel.h" +#include "thread.h" +#include "system.h" +#include "debug.h" +#include "ata.h" +#include "fat.h" +#include "disk.h" +#include "panic.h" +#include "lcd.h" +#include "adc.h" +#include "usb.h" +#include "button.h" +#include "sprintf.h" +#include "string.h" + +void usb_init_device(void) +{ +} + +bool usb_detect(void) +{ + /* TODO: Implement USB_ISP1582 */ + return false; +} + +void usb_enable(bool on) +{ + /* TODO: Implement USB_ISP1582 */ + (void)on; +} -- cgit v1.2.3