1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware/export/config/lyreproto1.h
Aidan MacDonald b0a8cacd1d rolo: simplify parsing scramble header in load_firmware()
The standard load_firmware() function is used on targets which
use the "scramble -add" method for generating Rockbox binaries.

While it tries to be a bit more generic and allows the CRC/data
offsets to be placed anywhere in the file, there are no targets
which actually need this flexibility, because they are all using
plain old "scramble -add".

So we can actually simplify load_firmware() and remove defines
from the target headers. All the targets used CRC offset = 0 and
data offset = 8, except for a few which I assume never supported
ROLO or were never tested -- eg. samsungyh820: the CRC and data
offsets cannot both be 0.

The actual motivation for this is removing the calls to lseek(),
which can help make bootloaders a tiny bit smaller, as lseek is
typically not used anywhere else in bootloaders.

Change-Id: Ic2d01e5b75a32e88363f085e3e839146a0710bf4
2024-03-31 11:24:07 -04:00

102 lines
3 KiB
C

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
*
* Copyright (C) 2009 by Jorge Pinto
*
* 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.
*
****************************************************************************/
/*
* This config file is for the Lyre prototype 1.
*/
#define CONFIG_SDRAM_START 0x20000000
/* For Rolo and boot loader */
#define MODEL_NUMBER 130
/* define this if the flash memory uses the
* SecureDigital Memory Card protocol */
#define CONFIG_STORAGE STORAGE_SD
#define HAVE_FLASH_STORAGE
/* define this if you have a colour LCD */
#define HAVE_LCD_COLOR
#define CONFIG_LCD LCD_LYRE_PROTO1
/* LCD dimensions */
#define LCD_WIDTH 128
#define LCD_HEIGHT 128
/* sqrt(128^2 + 128^2) / 1.8 = 100.6 */
#define LCD_DPI 101
/* The LCD used is just rgb444, 64 colours. We do a bit conversion on LCD
* drivers. */
#define LCD_DEPTH 16 /* 65536 colours */
#define LCD_PIXELFORMAT RGB565 /* rgb565 */
#define HAVE_ALBUMART
/* define this to enable bitmap scaling */
#define HAVE_BMP_SCALING
/* define this to enable JPEG decoding */
#define HAVE_JPEG
#define CONFIG_KEYPAD LYRE_PROTO1_PAD
/* The number of bytes reserved for loadable codecs */
#define CODEC_SIZE 0x100000
/* The number of bytes reserved for loadable plugins */
#define PLUGIN_BUFFER_SIZE 0x100000
/* Lyre prototype 1 do not use I2C, just SPI */
#define CONFIG_I2C I2C_NONE
/* Define this if you have the TLV320 audio codec -> controlled by the DSP */
#define HAVE_TLV320
/* TLV320 has no tone controls, so we use the software ones */
#define HAVE_SW_TONE_CONTROLS
#define BATTERY_CAPACITY_DEFAULT 1100 /* default battery capacity */
#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
#define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */
#define BATTERY_CAPACITY_INC 100 /* capacity increment */
#define BATTERY_TYPES_COUNT 1 /* only one type */
#define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE
#define CONFIG_CPU AT91SAM9260
/* Define this to the CPU frequency */
#define CPU_FREQ 198656000
#define MCK_FREQ 99328000
#define SLOW_CLOCK 32768
#define BOOTFILE_EXT "lyre_proto1"
#define BOOTFILE "rockbox." BOOTFILE_EXT
#define BOOTDIR "/.rockbox"
/* Define this if a programmable hotkey is mapped */
//#define HAVE_HOTKEY