forked from len0rd/rockbox
Basic changes to add nano 2g to the build system, based on the Meizu M3 port. The bootloader builds, but does nothing due to lack of any drivers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21828 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
40c6e7d282
commit
afe43d3fcb
9 changed files with 532 additions and 25 deletions
|
@ -51,4 +51,6 @@ show_logo.c
|
||||||
#elif defined(LYRE_PROTO1)
|
#elif defined(LYRE_PROTO1)
|
||||||
lyre_proto1.c
|
lyre_proto1.c
|
||||||
show_logo.c
|
show_logo.c
|
||||||
|
#elif defined(IPOD_NANO2G)
|
||||||
|
ipodnano2g.c
|
||||||
#endif
|
#endif
|
||||||
|
|
54
bootloader/ipodnano2g.c
Normal file
54
bootloader/ipodnano2g.c
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* __________ __ ___.
|
||||||
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
* \/ \/ \/ \/ \/
|
||||||
|
* $Id$
|
||||||
|
*
|
||||||
|
* Copyright (C) 2009 by ???? [to be completed by first author]
|
||||||
|
*
|
||||||
|
* 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 <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include "inttypes.h"
|
||||||
|
#include "cpu.h"
|
||||||
|
#include "system.h"
|
||||||
|
#include "lcd.h"
|
||||||
|
#include "kernel.h"
|
||||||
|
#include "thread.h"
|
||||||
|
#include "storage.h"
|
||||||
|
#include "fat.h"
|
||||||
|
#include "disk.h"
|
||||||
|
#include "font.h"
|
||||||
|
#include "backlight.h"
|
||||||
|
#include "backlight-target.h"
|
||||||
|
#include "button.h"
|
||||||
|
#include "panic.h"
|
||||||
|
#include "power.h"
|
||||||
|
#include "file.h"
|
||||||
|
#include "common.h"
|
||||||
|
|
||||||
|
char version[] = APPSVERSION;
|
||||||
|
|
||||||
|
void main(void)
|
||||||
|
{
|
||||||
|
/* Do nothing... */
|
||||||
|
while(1);
|
||||||
|
}
|
||||||
|
|
|
@ -1272,6 +1272,10 @@ target/arm/s5l8700/udacodec-meizu.c
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
#endif /* MEIZU_M3 */
|
#endif /* MEIZU_M3 */
|
||||||
|
|
||||||
|
#ifdef IPOD_NANO2G
|
||||||
|
target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef SIMULATOR
|
#ifndef SIMULATOR
|
||||||
#if CONFIG_CPU == JZ4732
|
#if CONFIG_CPU == JZ4732
|
||||||
target/mips/ingenic_jz47xx/ata-nand-jz4740.c
|
target/mips/ingenic_jz47xx/ata-nand-jz4740.c
|
||||||
|
|
184
firmware/export/config-ipodnano2g.h
Normal file
184
firmware/export/config-ipodnano2g.h
Normal file
|
@ -0,0 +1,184 @@
|
||||||
|
/*
|
||||||
|
* This config file is for iPod Nano 2nd Generation
|
||||||
|
*/
|
||||||
|
#define TARGET_TREE /* this target is using the target tree system */
|
||||||
|
|
||||||
|
/* For Rolo and boot loader */
|
||||||
|
#define MODEL_NUMBER 62
|
||||||
|
|
||||||
|
#define MODEL_NAME "Apple iPod Nano 2g"
|
||||||
|
|
||||||
|
/* define this if you have recording possibility */
|
||||||
|
//#define HAVE_RECORDING
|
||||||
|
|
||||||
|
/* Define bitmask of input sources - recordable bitmask can be defined
|
||||||
|
explicitly if different */
|
||||||
|
#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
|
||||||
|
|
||||||
|
/* define the bitmask of hardware sample rates */
|
||||||
|
#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
|
||||||
|
|
||||||
|
/* define the bitmask of recording sample rates */
|
||||||
|
#define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
|
||||||
|
|
||||||
|
/* define this if you have a bitmap LCD display */
|
||||||
|
#define HAVE_LCD_BITMAP
|
||||||
|
|
||||||
|
/* define this if you can flip your LCD */
|
||||||
|
//#define HAVE_LCD_FLIP
|
||||||
|
|
||||||
|
/* define this if you have a colour LCD */
|
||||||
|
#define HAVE_LCD_COLOR
|
||||||
|
|
||||||
|
/* define this if you want album art for this target */
|
||||||
|
#define HAVE_ALBUMART
|
||||||
|
|
||||||
|
/* define this to enable bitmap scaling */
|
||||||
|
#define HAVE_BMP_SCALING
|
||||||
|
|
||||||
|
/* define this to enable JPEG decoding */
|
||||||
|
#define HAVE_JPEG
|
||||||
|
|
||||||
|
/* define this if you can invert the colours on your LCD */
|
||||||
|
//#define HAVE_LCD_INVERT
|
||||||
|
|
||||||
|
/* define this if you have access to the quickscreen */
|
||||||
|
#define HAVE_QUICKSCREEN
|
||||||
|
|
||||||
|
/* define this if you have access to the pitchscreen */
|
||||||
|
#define HAVE_PITCHSCREEN
|
||||||
|
|
||||||
|
/* define this if you would like tagcache to build on this target */
|
||||||
|
#define HAVE_TAGCACHE
|
||||||
|
|
||||||
|
/* define this if you have a flash memory storage */
|
||||||
|
#define HAVE_FLASH_STORAGE
|
||||||
|
|
||||||
|
#define CONFIG_STORAGE STORAGE_NAND
|
||||||
|
|
||||||
|
#define CONFIG_NAND NAND_SAMSUNG
|
||||||
|
|
||||||
|
/* LCD dimensions */
|
||||||
|
#define LCD_WIDTH 176
|
||||||
|
#define LCD_HEIGHT 132
|
||||||
|
#define LCD_DEPTH 16 /* pseudo 262.144 colors */
|
||||||
|
#define LCD_PIXELFORMAT RGB565 /* rgb565 */
|
||||||
|
|
||||||
|
/* Define this if your LCD can be enabled/disabled */
|
||||||
|
//#define HAVE_LCD_ENABLE
|
||||||
|
|
||||||
|
/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
|
||||||
|
should be defined as well. */
|
||||||
|
//#define HAVE_LCD_SLEEP
|
||||||
|
|
||||||
|
#define CONFIG_KEYPAD IPOD_4G_PAD
|
||||||
|
|
||||||
|
//#define AB_REPEAT_ENABLE 1
|
||||||
|
//#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
|
||||||
|
|
||||||
|
/* Define this if you do software codec */
|
||||||
|
#define CONFIG_CODEC SWCODEC
|
||||||
|
|
||||||
|
/* define this if you have a real-time clock */
|
||||||
|
//#define CONFIG_RTC RTC_S5L8700
|
||||||
|
#define CONFIG_RTC RTC_S35390A
|
||||||
|
|
||||||
|
#define CONFIG_LCD LCD_NANO2G
|
||||||
|
|
||||||
|
/* Define the type of audio codec */
|
||||||
|
#define HAVE_UDA1380
|
||||||
|
|
||||||
|
/* Define this for LCD backlight available */
|
||||||
|
#define HAVE_BACKLIGHT
|
||||||
|
#define HAVE_BACKLIGHT_BRIGHTNESS
|
||||||
|
|
||||||
|
/* Define this if you have a software controlled poweroff */
|
||||||
|
#define HAVE_SW_POWEROFF
|
||||||
|
|
||||||
|
/* The number of bytes reserved for loadable codecs */
|
||||||
|
#define CODEC_SIZE 0x100000
|
||||||
|
|
||||||
|
/* The number of bytes reserved for loadable plugins */
|
||||||
|
#define PLUGIN_BUFFER_SIZE 0x80000
|
||||||
|
|
||||||
|
/* FM Tuner */
|
||||||
|
#define CONFIG_TUNER TEA5760
|
||||||
|
#define CONFIG_TUNER_XTAL 32768
|
||||||
|
|
||||||
|
//#define HAVE_TLV320
|
||||||
|
|
||||||
|
/* TLV320 has no tone controls, so we use the software ones */
|
||||||
|
#define HAVE_SW_TONE_CONTROLS
|
||||||
|
|
||||||
|
#define BATTERY_CAPACITY_DEFAULT 700 /* default battery capacity */
|
||||||
|
#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
|
||||||
|
#define BATTERY_CAPACITY_MAX 2250 /* max. capacity selectable */
|
||||||
|
#define BATTERY_CAPACITY_INC 50 /* capacity increment */
|
||||||
|
#define BATTERY_TYPES_COUNT 1 /* only one type */
|
||||||
|
|
||||||
|
/* Hardware controlled charging? FIXME */
|
||||||
|
#define CONFIG_CHARGING CHARGING_SIMPLE
|
||||||
|
|
||||||
|
#ifndef SIMULATOR
|
||||||
|
|
||||||
|
/* Define this if your LCD can set contrast */
|
||||||
|
//#define HAVE_LCD_CONTRAST
|
||||||
|
|
||||||
|
/* Define this if you have a Motorola SCF5250 */
|
||||||
|
#define CONFIG_CPU S5L8700
|
||||||
|
|
||||||
|
/* Define this if you want to use coldfire's i2c interface */
|
||||||
|
#define CONFIG_I2C I2C_S5L8700
|
||||||
|
|
||||||
|
/* define this if the hardware can be powered off while charging */
|
||||||
|
#define HAVE_POWEROFF_WHILE_CHARGING
|
||||||
|
|
||||||
|
/* The size of the flash ROM */
|
||||||
|
#define FLASH_SIZE 0x400000
|
||||||
|
|
||||||
|
/* Define this to the CPU frequency */
|
||||||
|
#define CPU_FREQ 11289600
|
||||||
|
|
||||||
|
/* Define this if you have ATA power-off control */
|
||||||
|
//#define HAVE_ATA_POWER_OFF
|
||||||
|
|
||||||
|
/* Virtual LED (icon) */
|
||||||
|
#define CONFIG_LED LED_VIRTUAL
|
||||||
|
|
||||||
|
/* Offset ( in the firmware file's header ) to the file CRC */
|
||||||
|
#define FIRMWARE_OFFSET_FILE_CRC 0
|
||||||
|
|
||||||
|
/* Offset ( in the firmware file's header ) to the real data */
|
||||||
|
#define FIRMWARE_OFFSET_FILE_DATA 8
|
||||||
|
|
||||||
|
/* USB On-the-go */
|
||||||
|
//#define CONFIG_USBOTG USBOTG_M5636
|
||||||
|
|
||||||
|
/* Define this if you have adjustable CPU frequency */
|
||||||
|
#define HAVE_ADJUSTABLE_CPU_FREQ
|
||||||
|
|
||||||
|
#define BOOTFILE_EXT "ipod"
|
||||||
|
#define BOOTFILE "rockbox." BOOTFILE_EXT
|
||||||
|
#define BOOTDIR "/.rockbox"
|
||||||
|
|
||||||
|
#define BOOTLOADER_ENTRYPOINT 0x001F0000
|
||||||
|
#define FLASH_ENTRYPOINT 0x00001000
|
||||||
|
#define FLASH_MAGIC 0xfbfbfbf1
|
||||||
|
|
||||||
|
#endif /* SIMULATOR */
|
||||||
|
|
||||||
|
/* Define this for FM radio input available */
|
||||||
|
#define HAVE_FMRADIO_IN
|
||||||
|
|
||||||
|
/** Port-specific settings **/
|
||||||
|
|
||||||
|
/* Main LCD contrast range and defaults */
|
||||||
|
#define MIN_CONTRAST_SETTING 1
|
||||||
|
#define MAX_CONTRAST_SETTING 30
|
||||||
|
#define DEFAULT_CONTRAST_SETTING 19 /* Match boot contrast */
|
||||||
|
|
||||||
|
/* Main LCD backlight brightness range and defaults */
|
||||||
|
#define MIN_BRIGHTNESS_SETTING 0
|
||||||
|
#define MAX_BRIGHTNESS_SETTING 15
|
||||||
|
#define DEFAULT_BRIGHTNESS_SETTING 10
|
||||||
|
|
|
@ -302,6 +302,8 @@ Lyre prototype 1*/
|
||||||
#include "config-ipod3g.h"
|
#include "config-ipod3g.h"
|
||||||
#elif defined(IPOD_4G)
|
#elif defined(IPOD_4G)
|
||||||
#include "config-ipod4g.h"
|
#include "config-ipod4g.h"
|
||||||
|
#elif defined(IPOD_NANO2G)
|
||||||
|
#include "config-ipodnano2g.h"
|
||||||
#elif defined(IRIVER_IFP7XX)
|
#elif defined(IRIVER_IFP7XX)
|
||||||
#include "config-ifp7xx.h"
|
#include "config-ifp7xx.h"
|
||||||
#elif defined(GIGABEAT_F)
|
#elif defined(GIGABEAT_F)
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
ENTRY(_start)
|
ENTRY(_start)
|
||||||
|
#ifdef ROCKBOX_LITTLE_ENDIAN
|
||||||
|
OUTPUT_FORMAT(elf32-littlearm)
|
||||||
|
#else
|
||||||
OUTPUT_FORMAT(elf32-bigarm)
|
OUTPUT_FORMAT(elf32-bigarm)
|
||||||
|
#endif
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
STARTUP(target/arm/s5l8700/crt0.o)
|
STARTUP(target/arm/s5l8700/crt0.o)
|
||||||
|
|
||||||
|
@ -29,6 +33,11 @@ MEMORY
|
||||||
FLASH : ORIGIN = FLASHORIG, LENGTH = FLASHSIZE
|
FLASH : ORIGIN = FLASHORIG, LENGTH = FLASHSIZE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef IPOD_NANO2G
|
||||||
|
#define LOAD_AREA IRAM
|
||||||
|
#else
|
||||||
|
#define LOAD_AREA FLASH
|
||||||
|
#endif
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
@ -36,19 +45,19 @@ SECTIONS
|
||||||
_intvectstart = . ;
|
_intvectstart = . ;
|
||||||
*(.intvect)
|
*(.intvect)
|
||||||
_intvectend = _newstart ;
|
_intvectend = _newstart ;
|
||||||
} >IRAM AT> FLASH
|
} >IRAM AT> LOAD_AREA
|
||||||
_intvectcopy = LOADADDR(.intvect) ;
|
_intvectcopy = LOADADDR(.intvect) ;
|
||||||
|
|
||||||
.text : {
|
.text : {
|
||||||
*(.init.text)
|
*(.init.text)
|
||||||
*(.text*)
|
*(.text*)
|
||||||
*(.glue_7*)
|
*(.glue_7*)
|
||||||
} > FLASH
|
} > LOAD_AREA
|
||||||
|
|
||||||
.rodata : {
|
.rodata : {
|
||||||
*(.rodata*)
|
*(.rodata*)
|
||||||
. = ALIGN(0x4);
|
. = ALIGN(0x4);
|
||||||
} > FLASH
|
} > LOAD_AREA
|
||||||
|
|
||||||
.data : {
|
.data : {
|
||||||
_datastart = . ;
|
_datastart = . ;
|
||||||
|
@ -59,7 +68,7 @@ SECTIONS
|
||||||
*(.ncdata*);
|
*(.ncdata*);
|
||||||
. = ALIGN(0x4);
|
. = ALIGN(0x4);
|
||||||
_dataend = . ;
|
_dataend = . ;
|
||||||
} > IRAM AT> FLASH
|
} > IRAM AT> LOAD_AREA
|
||||||
_datacopy = LOADADDR(.data) ;
|
_datacopy = LOADADDR(.data) ;
|
||||||
|
|
||||||
.stack :
|
.stack :
|
||||||
|
|
78
firmware/target/arm/s5l8700/ipodnano2g/button-target.h
Normal file
78
firmware/target/arm/s5l8700/ipodnano2g/button-target.h
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* __________ __ ___.
|
||||||
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
* \/ \/ \/ \/ \/
|
||||||
|
* $Id$
|
||||||
|
*
|
||||||
|
* Copyright (C) 2006 by Barry Wardell
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
#ifndef _BUTTON_TARGET_H_
|
||||||
|
#define _BUTTON_TARGET_H_
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#define HAS_BUTTON_HOLD
|
||||||
|
|
||||||
|
bool button_hold(void);
|
||||||
|
void button_init_device(void);
|
||||||
|
int button_read_device(void);
|
||||||
|
|
||||||
|
void ipod_mini_button_int(void);
|
||||||
|
void ipod_3g_button_int(void);
|
||||||
|
void ipod_4g_button_int(void);
|
||||||
|
|
||||||
|
/* iPod specific button codes */
|
||||||
|
|
||||||
|
#define BUTTON_SELECT 0x00000001
|
||||||
|
#define BUTTON_MENU 0x00000002
|
||||||
|
|
||||||
|
#define BUTTON_LEFT 0x00000004
|
||||||
|
#define BUTTON_RIGHT 0x00000008
|
||||||
|
#define BUTTON_SCROLL_FWD 0x00000010
|
||||||
|
#define BUTTON_SCROLL_BACK 0x00000020
|
||||||
|
|
||||||
|
#define BUTTON_PLAY 0x00000040
|
||||||
|
|
||||||
|
#define BUTTON_MAIN (BUTTON_SELECT|BUTTON_MENU\
|
||||||
|
|BUTTON_LEFT|BUTTON_RIGHT|BUTTON_SCROLL_FWD\
|
||||||
|
|BUTTON_SCROLL_BACK|BUTTON_PLAY)
|
||||||
|
|
||||||
|
/* Remote control's buttons */
|
||||||
|
#ifdef IPOD_ACCESSORY_PROTOCOL
|
||||||
|
#define BUTTON_RC_PLAY 0x00100000
|
||||||
|
#define BUTTON_RC_STOP 0x00080000
|
||||||
|
|
||||||
|
#define BUTTON_RC_LEFT 0x00040000
|
||||||
|
#define BUTTON_RC_RIGHT 0x00020000
|
||||||
|
#define BUTTON_RC_VOL_UP 0x00010000
|
||||||
|
#define BUTTON_RC_VOL_DOWN 0x00008000
|
||||||
|
|
||||||
|
#define BUTTON_REMOTE (BUTTON_RC_PLAY|BUTTON_RC_STOP\
|
||||||
|
|BUTTON_RC_LEFT|BUTTON_RC_RIGHT\
|
||||||
|
|BUTTON_RC_VOL_UP|BUTTON_RC_VOL_DOWN)
|
||||||
|
#else
|
||||||
|
#define BUTTON_REMOTE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* This is for later
|
||||||
|
#define BUTTON_SCROLL_TOUCH 0x00000200
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#define POWEROFF_BUTTON BUTTON_PLAY
|
||||||
|
#define POWEROFF_COUNT 40
|
||||||
|
|
||||||
|
#endif /* _BUTTON_TARGET_H_ */
|
142
firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
Normal file
142
firmware/target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
/***************************************************************************
|
||||||
|
* __________ __ ___.
|
||||||
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
* \/ \/ \/ \/ \/
|
||||||
|
* $Id$
|
||||||
|
*
|
||||||
|
* Copyright (C) 2009 by ????
|
||||||
|
*
|
||||||
|
* 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 "hwcompat.h"
|
||||||
|
#include "kernel.h"
|
||||||
|
#include "lcd.h"
|
||||||
|
#include "system.h"
|
||||||
|
#include "cpu.h"
|
||||||
|
|
||||||
|
/** globals **/
|
||||||
|
|
||||||
|
static int xoffset; /* needed for flip */
|
||||||
|
|
||||||
|
/*** hardware configuration ***/
|
||||||
|
|
||||||
|
int lcd_default_contrast(void)
|
||||||
|
{
|
||||||
|
return 0x1f;
|
||||||
|
}
|
||||||
|
|
||||||
|
void lcd_set_contrast(int val)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void lcd_set_invert_display(bool yesno)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/* turn the display upside down (call lcd_update() afterwards) */
|
||||||
|
void lcd_set_flip(bool yesno)
|
||||||
|
{
|
||||||
|
/* TODO: flip mode isn't working. The commands in the else part of
|
||||||
|
this function are how the original firmware inits the LCD */
|
||||||
|
|
||||||
|
if (yesno)
|
||||||
|
{
|
||||||
|
xoffset = 132 - LCD_WIDTH; /* 132 colums minus the 128 we have */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
xoffset = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void lcd_off(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void lcd_on(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LCD init */
|
||||||
|
void lcd_init_device(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*** Update functions ***/
|
||||||
|
|
||||||
|
/* Performance function that works with an external buffer
|
||||||
|
note that by and bheight are in 8-pixel units! */
|
||||||
|
void lcd_blit_mono(const unsigned char *data, int x, int by, int width,
|
||||||
|
int bheight, int stride)
|
||||||
|
{
|
||||||
|
/* Copy display bitmap to hardware */
|
||||||
|
while (bheight--)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Performance function that works with an external buffer
|
||||||
|
note that by and bheight are in 8-pixel units! */
|
||||||
|
void lcd_blit_grey_phase_blit(unsigned char *values, unsigned char *phases,
|
||||||
|
int x, int by, int width, int bheight, int stride)
|
||||||
|
{
|
||||||
|
(void)values;
|
||||||
|
(void)phases;
|
||||||
|
(void)x;
|
||||||
|
(void)by;
|
||||||
|
(void)width;
|
||||||
|
(void)bheight;
|
||||||
|
(void)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++)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 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++)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
72
tools/configure
vendored
72
tools/configure
vendored
|
@ -275,6 +275,14 @@ arm940tbecc () {
|
||||||
gccchoice="4.0.3"
|
gccchoice="4.0.3"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
arm940tcc () {
|
||||||
|
prefixtools arm-elf-
|
||||||
|
GCCOPTS="$CCOPTS -mcpu=arm940t -mlong-calls"
|
||||||
|
GCCOPTIMIZE="-fomit-frame-pointer"
|
||||||
|
endian="little"
|
||||||
|
gccchoice="4.0.3"
|
||||||
|
}
|
||||||
|
|
||||||
arm946cc () {
|
arm946cc () {
|
||||||
prefixtools arm-elf-
|
prefixtools arm-elf-
|
||||||
GCCOPTS="$CCOPTS -mcpu=arm9e -mlong-calls"
|
GCCOPTS="$CCOPTS -mcpu=arm9e -mlong-calls"
|
||||||
|
@ -769,27 +777,27 @@ cat <<EOF
|
||||||
5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
|
5) Ondio FM 15) H10 5/6Gb 25) Mini 1G
|
||||||
6) AV300 26) Mini 2G
|
6) AV300 26) Mini 2G
|
||||||
==Toshiba== 27) 1G, 2G
|
==Toshiba== 27) 1G, 2G
|
||||||
==Cowon/iAudio== 40) Gigabeat F
|
==Cowon/iAudio== 40) Gigabeat F 28) Nano 2G
|
||||||
30) X5/X5V/X5L 41) Gigabeat S ==SanDisk==
|
30) X5/X5V/X5L 41) Gigabeat S
|
||||||
31) M5/M5L 50) Sansa e200
|
31) M5/M5L ==SanDisk==
|
||||||
32) 7 ==Olympus= 51) Sansa e200R
|
32) 7 ==Olympus= 50) Sansa e200
|
||||||
33) D2 70) M:Robe 500 52) Sansa c200
|
33) D2 70) M:Robe 500 51) Sansa e200R
|
||||||
34) M3/M3L 71) M:Robe 100 53) Sansa m200
|
34) M3/M3L 71) M:Robe 100 52) Sansa c200
|
||||||
54) Sansa c100
|
53) Sansa m200
|
||||||
==Creative== ==Philips== 55) Sansa Clip
|
==Creative== ==Philips== 54) Sansa c100
|
||||||
90) Zen Vision:M 30GB 100) GoGear SA9200 56) Sansa e200v2
|
90) Zen Vision:M 30GB 100) GoGear SA9200 55) Sansa Clip
|
||||||
91) Zen Vision:M 60GB 101) GoGear HDD1630/ 57) Sansa m200v4
|
91) Zen Vision:M 60GB 101) GoGear HDD1630/ 56) Sansa e200v2
|
||||||
92) Zen Vision HDD1830 58) Sansa Fuze
|
92) Zen Vision HDD1830 57) Sansa m200v4
|
||||||
59) Sansa c200v2
|
58) Sansa Fuze
|
||||||
==Onda== ==Meizu== 60) Sansa Clipv2
|
==Onda== ==Meizu== 59) Sansa c200v2
|
||||||
120) VX747 110) M6SL
|
120) VX747 110) M6SL 60) Sansa Clipv2
|
||||||
121) VX767 111) M6SP ==Logik==
|
121) VX767 111) M6SP
|
||||||
122) VX747+ 112) M3 80) DAX 1GB MP3/DAB
|
122) VX747+ 112) M3 ==Logik==
|
||||||
123) VX777
|
123) VX777 80) DAX 1GB MP3/DAB
|
||||||
|
|
||||||
==Samsung== ==Tatung== ==Lyre project==
|
==Samsung== ==Tatung==
|
||||||
140) YH-820 150) Elio TPJ-1022 130) Lyre proto 1
|
140) YH-820 150) Elio TPJ-1022 ==Lyre project==
|
||||||
141) YH-920
|
141) YH-920 130) Lyre proto 1
|
||||||
142) YH-925
|
142) YH-925
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
@ -1329,6 +1337,30 @@ fi
|
||||||
t_model="1g2g"
|
t_model="1g2g"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
28|ipodnano2g)
|
||||||
|
target_id=62
|
||||||
|
modelname="ipodnano2g"
|
||||||
|
target="-DIPOD_NANO2G"
|
||||||
|
memory=32 # always
|
||||||
|
arm940tcc
|
||||||
|
tool="$rootdir/tools/scramble -add=nn2g"
|
||||||
|
bmp2rb_mono="$rootdir/tools/bmp2rb -f 0"
|
||||||
|
bmp2rb_native="$rootdir/tools/bmp2rb -f 6"
|
||||||
|
output="rockbox.ipod"
|
||||||
|
appextra="recorder:gui"
|
||||||
|
plugins="yes"
|
||||||
|
swcodec="yes"
|
||||||
|
boottool="cp"
|
||||||
|
bootoutput="bootloader-$modelname.bin"
|
||||||
|
# toolset is the tools within the tools directory that we build for
|
||||||
|
# this particular target.
|
||||||
|
toolset=$ipodbitmaptools
|
||||||
|
# architecture, manufacturer and model for the target-tree build
|
||||||
|
t_cpu="arm"
|
||||||
|
t_manufacturer="s5l8700"
|
||||||
|
t_model="ipodnano2g"
|
||||||
|
;;
|
||||||
|
|
||||||
30|x5)
|
30|x5)
|
||||||
target_id=12
|
target_id=12
|
||||||
modelname="x5"
|
modelname="x5"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue