diff options
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/config.h | 15 | ||||
-rw-r--r-- | firmware/export/config/sansafuzeplus.h | 183 | ||||
-rw-r--r-- | firmware/export/cpu.h | 3 | ||||
-rw-r--r-- | firmware/export/imx233.h | 52 |
4 files changed, 250 insertions, 3 deletions
diff --git a/firmware/export/config.h b/firmware/export/config.h index c8531b8f65..003f68335a 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h | |||
@@ -74,6 +74,7 @@ | |||
74 | #define AS3525 3525 | 74 | #define AS3525 3525 |
75 | #define AT91SAM9260 9260 | 75 | #define AT91SAM9260 9260 |
76 | #define AS3525v2 35252 | 76 | #define AS3525v2 35252 |
77 | #define IMX233 233 | ||
77 | 78 | ||
78 | /* platforms | 79 | /* platforms |
79 | * bit fields to allow PLATFORM_HOSTED to be OR'ed e.g. with a | 80 | * bit fields to allow PLATFORM_HOSTED to be OR'ed e.g. with a |
@@ -136,6 +137,7 @@ | |||
136 | #define ANDROID_PAD 45 | 137 | #define ANDROID_PAD 45 |
137 | #define SDL_PAD 46 | 138 | #define SDL_PAD 46 |
138 | #define MPIO_HD300_PAD 47 | 139 | #define MPIO_HD300_PAD 47 |
140 | #define SANSA_FUZEPLUS_PAD 48 | ||
139 | 141 | ||
140 | /* CONFIG_REMOTE_KEYPAD */ | 142 | /* CONFIG_REMOTE_KEYPAD */ |
141 | #define H100_REMOTE 1 | 143 | #define H100_REMOTE 1 |
@@ -219,6 +221,7 @@ | |||
219 | #define LCD_HDD6330 38 /* as used by the Philips HDD6330 */ | 221 | #define LCD_HDD6330 38 /* as used by the Philips HDD6330 */ |
220 | #define LCD_VIBE500 39 /* as used by the Packard Bell Vibe 500 */ | 222 | #define LCD_VIBE500 39 /* as used by the Packard Bell Vibe 500 */ |
221 | #define LCD_IPOD6G 40 /* as used by the iPod Nano 2nd Generation */ | 223 | #define LCD_IPOD6G 40 /* as used by the iPod Nano 2nd Generation */ |
224 | #define LCD_FUZEPLUS 41 | ||
222 | 225 | ||
223 | /* LCD_PIXELFORMAT */ | 226 | /* LCD_PIXELFORMAT */ |
224 | #define HORIZONTAL_PACKING 1 | 227 | #define HORIZONTAL_PACKING 1 |
@@ -256,6 +259,7 @@ Lyre prototype 1 */ | |||
256 | #define I2C_JZ47XX 14 /* Ingenic Jz47XX style */ | 259 | #define I2C_JZ47XX 14 /* Ingenic Jz47XX style */ |
257 | #define I2C_AS3525 15 | 260 | #define I2C_AS3525 15 |
258 | #define I2C_S5L8702 16 /* Same as S5L8700, but with two channels */ | 261 | #define I2C_S5L8702 16 /* Same as S5L8700, but with two channels */ |
262 | #define I2C_IMX233 17 | ||
259 | 263 | ||
260 | /* CONFIG_LED */ | 264 | /* CONFIG_LED */ |
261 | #define LED_REAL 1 /* SW controlled LED (Archos recorders, player) */ | 265 | #define LED_REAL 1 /* SW controlled LED (Archos recorders, player) */ |
@@ -287,14 +291,15 @@ Lyre prototype 1 */ | |||
287 | #define RTC_JZ47XX 16 /* Ingenic Jz47XX */ | 291 | #define RTC_JZ47XX 16 /* Ingenic Jz47XX */ |
288 | #define RTC_NANO2G 17 /* This seems to be a PCF5063x */ | 292 | #define RTC_NANO2G 17 /* This seems to be a PCF5063x */ |
289 | #define RTC_D2 18 /* Either PCF50606 or PCF50635 */ | 293 | #define RTC_D2 18 /* Either PCF50606 or PCF50635 */ |
290 | #define RTC_S35380A 19 | 294 | #define RTC_S35380A 19 |
295 | #define RTC_IMX233 20 | ||
291 | 296 | ||
292 | /* USB On-the-go */ | 297 | /* USB On-the-go */ |
293 | #define USBOTG_M66591 6591 /* M:Robe 500 */ | 298 | #define USBOTG_M66591 6591 /* M:Robe 500 */ |
294 | #define USBOTG_ISP1362 1362 /* iriver H300 */ | 299 | #define USBOTG_ISP1362 1362 /* iriver H300 */ |
295 | #define USBOTG_ISP1583 1583 /* Creative Zen Vision:M */ | 300 | #define USBOTG_ISP1583 1583 /* Creative Zen Vision:M */ |
296 | #define USBOTG_M5636 5636 /* iAudio X5 */ | 301 | #define USBOTG_M5636 5636 /* iAudio X5 */ |
297 | #define USBOTG_ARC 5020 /* PortalPlayer 502x */ | 302 | #define USBOTG_ARC 5020 /* PortalPlayer 502x and IMX233 */ |
298 | #define USBOTG_JZ4740 4740 /* Ingenic Jz4740/Jz4732 */ | 303 | #define USBOTG_JZ4740 4740 /* Ingenic Jz4740/Jz4732 */ |
299 | #define USBOTG_AS3525 3525 /* AMS AS3525 */ | 304 | #define USBOTG_AS3525 3525 /* AMS AS3525 */ |
300 | #define USBOTG_AS3525v2 3535 /* AMS AS3525v2 FIXME : same as S3C6400X */ | 305 | #define USBOTG_AS3525v2 3535 /* AMS AS3525v2 FIXME : same as S3C6400X */ |
@@ -419,6 +424,8 @@ Lyre prototype 1 */ | |||
419 | #include "config/sansafuze.h" | 424 | #include "config/sansafuze.h" |
420 | #elif defined(SANSA_FUZEV2) | 425 | #elif defined(SANSA_FUZEV2) |
421 | #include "config/sansafuzev2.h" | 426 | #include "config/sansafuzev2.h" |
427 | #elif defined(SANSA_FUZEPLUS) | ||
428 | #include "config/sansafuzeplus.h" | ||
422 | #elif defined(SANSA_C200V2) | 429 | #elif defined(SANSA_C200V2) |
423 | #include "config/sansac200v2.h" | 430 | #include "config/sansac200v2.h" |
424 | #elif defined(SANSA_VIEW) | 431 | #elif defined(SANSA_VIEW) |
@@ -526,7 +533,8 @@ Lyre prototype 1 */ | |||
526 | 533 | ||
527 | #elif defined(CPU_TCC77X) || defined(CPU_TCC780X) || (CONFIG_CPU == DM320) \ | 534 | #elif defined(CPU_TCC77X) || defined(CPU_TCC780X) || (CONFIG_CPU == DM320) \ |
528 | || (CONFIG_CPU == AT91SAM9260) || (CONFIG_CPU == AS3525v2) \ | 535 | || (CONFIG_CPU == AT91SAM9260) || (CONFIG_CPU == AS3525v2) \ |
529 | || (CONFIG_CPU == S5L8702) || (CONFIG_PLATFORM & PLATFORM_ANDROID) | 536 | || (CONFIG_CPU == S5L8702) || (CONFIG_PLATFORM & PLATFORM_ANDROID) \ |
537 | || (CONFIG_CPU == IMX233) | ||
530 | #define CPU_ARM | 538 | #define CPU_ARM |
531 | #define ARM_ARCH 5 /* ARMv5 */ | 539 | #define ARM_ARCH 5 /* ARMv5 */ |
532 | 540 | ||
@@ -824,6 +832,7 @@ Lyre prototype 1 */ | |||
824 | (CONFIG_CPU == AS3525v2 && !defined(PLUGIN) && !defined(CODEC) && !defined(BOOTLOADER)) || /* AS3525v2: core only */ \ | 832 | (CONFIG_CPU == AS3525v2 && !defined(PLUGIN) && !defined(CODEC) && !defined(BOOTLOADER)) || /* AS3525v2: core only */ \ |
825 | (CONFIG_CPU == PNX0101) || \ | 833 | (CONFIG_CPU == PNX0101) || \ |
826 | (CONFIG_CPU == TCC7801) || \ | 834 | (CONFIG_CPU == TCC7801) || \ |
835 | (CONFIG_CPU == IMX233) || \ | ||
827 | defined(CPU_S5L870X)) || /* Samsung S5L8700: core, plugins, codecs */ \ | 836 | defined(CPU_S5L870X)) || /* Samsung S5L8700: core, plugins, codecs */ \ |
828 | (CONFIG_CPU == JZ4732 && !defined(PLUGIN) && !defined(CODEC)) /* Jz4740: core only */ | 837 | (CONFIG_CPU == JZ4732 && !defined(PLUGIN) && !defined(CODEC)) /* Jz4740: core only */ |
829 | #define ICODE_ATTR __attribute__ ((section(".icode"))) | 838 | #define ICODE_ATTR __attribute__ ((section(".icode"))) |
diff --git a/firmware/export/config/sansafuzeplus.h b/firmware/export/config/sansafuzeplus.h new file mode 100644 index 0000000000..d39dc79ac1 --- /dev/null +++ b/firmware/export/config/sansafuzeplus.h | |||
@@ -0,0 +1,183 @@ | |||
1 | /* | ||
2 | * This config file is for the Sandisk Sansa Fuze+ | ||
3 | */ | ||
4 | #define TARGET_TREE /* this target is using the target tree system */ | ||
5 | |||
6 | /* For Rolo and boot loader */ | ||
7 | #define MODEL_NUMBER 72 | ||
8 | #define MODEL_NAME "Sandisk Sansa Fuze+" | ||
9 | |||
10 | #define HW_SAMPR_CAPS SAMPR_CAP_ALL | ||
11 | |||
12 | /* define this if you have recording possibility */ | ||
13 | #define HAVE_RECORDING | ||
14 | |||
15 | #define REC_SAMPR_CAPS SAMPR_CAP_ALL | ||
16 | |||
17 | /* Default recording levels */ | ||
18 | #define DEFAULT_REC_MIC_GAIN 23 | ||
19 | #define DEFAULT_REC_LEFT_GAIN 23 | ||
20 | #define DEFAULT_REC_RIGHT_GAIN 23 | ||
21 | |||
22 | /* Define bitmask of input sources - recordable bitmask can be defined | ||
23 | explicitly if different */ | ||
24 | #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO) | ||
25 | |||
26 | /* define this if you have a bitmap LCD display */ | ||
27 | #define HAVE_LCD_BITMAP | ||
28 | /* define this if you have a colour LCD */ | ||
29 | #define HAVE_LCD_COLOR | ||
30 | |||
31 | #ifndef BOOTLOADER/* define this if you want album art for this target */ | ||
32 | #define HAVE_ALBUMART | ||
33 | |||
34 | /* define this to enable bitmap scaling */ | ||
35 | #define HAVE_BMP_SCALING | ||
36 | |||
37 | /* define this to enable JPEG decoding */ | ||
38 | #define HAVE_JPEG | ||
39 | |||
40 | /* define this if you have a light associated with the buttons */ | ||
41 | #define HAVE_BUTTON_LIGHT | ||
42 | |||
43 | /* define this if you have access to the quickscreen */ | ||
44 | #define HAVE_QUICKSCREEN | ||
45 | |||
46 | /* define this if you have access to the pitchscreen */ | ||
47 | #define HAVE_PITCHSCREEN | ||
48 | |||
49 | /* define this if you would like tagcache to build on this target */ | ||
50 | #define HAVE_TAGCACHE | ||
51 | |||
52 | /* define this if you have LCD enable function */ | ||
53 | #define HAVE_LCD_ENABLE | ||
54 | |||
55 | /* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE | ||
56 | should be defined as well. | ||
57 | #define HAVE_LCD_SLEEP | ||
58 | #define HAVE_LCD_SLEEP_SETTING | ||
59 | */ | ||
60 | |||
61 | /* define this if you can flip your LCD | ||
62 | #define HAVE_LCD_FLIP | ||
63 | */ | ||
64 | |||
65 | /* define this if you can invert the colours on your LCD | ||
66 | #define HAVE_LCD_INVERT | ||
67 | */ | ||
68 | |||
69 | /* define this if you have a real-time clock */ | ||
70 | #define CONFIG_RTC RTC_IMX233 | ||
71 | |||
72 | /* There is no hardware tone control */ | ||
73 | #define HAVE_SW_TONE_CONTROLS | ||
74 | |||
75 | #endif /* !BOOTLOADER */ | ||
76 | |||
77 | #define CONFIG_KEYPAD SANSA_FUZEPLUS_PAD | ||
78 | |||
79 | /* Define this to enable morse code input */ | ||
80 | #define HAVE_MORSE_INPUT | ||
81 | |||
82 | /* Define this if you do software codec */ | ||
83 | #define CONFIG_CODEC SWCODEC | ||
84 | |||
85 | |||
86 | /* LCD dimensions */ | ||
87 | #define LCD_WIDTH 240 | ||
88 | #define LCD_HEIGHT 320 | ||
89 | #define LCD_DEPTH 16 /* 65536 colours */ | ||
90 | #define LCD_PIXELFORMAT RGB565 /* rgb565 */ | ||
91 | |||
92 | /* Define this if you have a software controlled poweroff */ | ||
93 | #define HAVE_SW_POWEROFF | ||
94 | |||
95 | /* The number of bytes reserved for loadable codecs */ | ||
96 | #define CODEC_SIZE 0 | ||
97 | |||
98 | /* The number of bytes reserved for loadable plugins */ | ||
99 | #define PLUGIN_BUFFER_SIZE 0 | ||
100 | |||
101 | #define AB_REPEAT_ENABLE | ||
102 | |||
103 | /* Define this for LCD backlight available */ | ||
104 | #define HAVE_BACKLIGHT | ||
105 | #define HAVE_BACKLIGHT_BRIGHTNESS | ||
106 | |||
107 | /* Main LCD backlight brightness range and defaults */ | ||
108 | #define MIN_BRIGHTNESS_SETTING 1 | ||
109 | #define MAX_BRIGHTNESS_SETTING 100 /* unsure */ | ||
110 | #define DEFAULT_BRIGHTNESS_SETTING 60 /* fixme */ | ||
111 | |||
112 | /* Which backlight fading type? */ | ||
113 | #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING | ||
114 | |||
115 | /* define this if you have a flash memory storage */ | ||
116 | #define HAVE_FLASH_STORAGE | ||
117 | |||
118 | /* define this if the flash memory uses the SecureDigital Memory Card protocol */ | ||
119 | #define CONFIG_STORAGE STORAGE_SD | ||
120 | |||
121 | /* todo */ | ||
122 | #define BATTERY_CAPACITY_DEFAULT 550 /* default battery capacity */ | ||
123 | #define BATTERY_CAPACITY_MIN 550 /* min. capacity selectable */ | ||
124 | #define BATTERY_CAPACITY_MAX 550 /* max. capacity selectable */ | ||
125 | #define BATTERY_CAPACITY_INC 0 /* capacity increment */ | ||
126 | #define BATTERY_TYPES_COUNT 1 /* only one type */ | ||
127 | |||
128 | /* Charging implemented in a target-specific algorithm */ | ||
129 | #define CONFIG_CHARGING CHARGING_TARGET | ||
130 | |||
131 | /* define this if the unit can be powered or charged via USB */ | ||
132 | #define HAVE_USB_POWER | ||
133 | |||
134 | /* Define this if you have an IMX233*/ | ||
135 | #define CONFIG_CPU IMX233 | ||
136 | |||
137 | /* Define this if you want to use the IMX233 i2c interface */ | ||
138 | #define CONFIG_I2C I2C_IMX233 | ||
139 | |||
140 | /* define current usage levels (based on battery bench) */ | ||
141 | #define CURRENT_NORMAL 35 | ||
142 | #define CURRENT_BACKLIGHT 30 | ||
143 | #define CURRENT_RECORD CURRENT_NORMAL | ||
144 | |||
145 | /* maximum charging current */ | ||
146 | #define CURRENT_MAX_CHG 200 | ||
147 | |||
148 | /* Define this to the CPU frequency */ | ||
149 | #define CPU_FREQ 454000000 | ||
150 | |||
151 | /* Type of LCD */ | ||
152 | #define CONFIG_LCD LCD_FUZEPLUS | ||
153 | |||
154 | /* Offset ( in the firmware file's header ) to the file CRC and data. These are | ||
155 | only used when loading the old format rockbox.e200 file */ | ||
156 | #define FIRMWARE_OFFSET_FILE_CRC 0x0 | ||
157 | #define FIRMWARE_OFFSET_FILE_DATA 0x8 | ||
158 | |||
159 | #ifndef BOOTLOADER | ||
160 | #define HAVE_MULTIDRIVE | ||
161 | #define NUM_DRIVES 2 | ||
162 | #define HAVE_HOTSWAP | ||
163 | #endif | ||
164 | |||
165 | /* USB On-the-go */ | ||
166 | #define CONFIG_USBOTG USBOTG_ARC | ||
167 | |||
168 | /* enable these for the experimental usb stack */ | ||
169 | #define HAVE_USBSTACK | ||
170 | //#define USB_HANDLED_BY_OF | ||
171 | #define USE_ROCKBOX_USB | ||
172 | #define USB_VENDOR_ID 0x0781 | ||
173 | #define USB_PRODUCT_ID 0x74e1 | ||
174 | #define HAVE_USB_HID_MOUSE | ||
175 | |||
176 | /* Define this if you have adjustable CPU frequency */ | ||
177 | #define HAVE_ADJUSTABLE_CPU_FREQ | ||
178 | |||
179 | #define BOOTFILE_EXT "sansa" | ||
180 | #define BOOTFILE "rockbox." BOOTFILE_EXT | ||
181 | #define BOOTDIR "/.rockbox" | ||
182 | |||
183 | #define INCLUDE_TIMEOUT_API | ||
diff --git a/firmware/export/cpu.h b/firmware/export/cpu.h index 59d210380b..777e36f62d 100644 --- a/firmware/export/cpu.h +++ b/firmware/export/cpu.h | |||
@@ -74,3 +74,6 @@ | |||
74 | #if CONFIG_CPU == AS3525v2 | 74 | #if CONFIG_CPU == AS3525v2 |
75 | #include "as3525v2.h" | 75 | #include "as3525v2.h" |
76 | #endif | 76 | #endif |
77 | #if CONFIG_CPU == IMX233 | ||
78 | #include "imx233.h" | ||
79 | #endif | ||
diff --git a/firmware/export/imx233.h b/firmware/export/imx233.h new file mode 100644 index 0000000000..182442c2ab --- /dev/null +++ b/firmware/export/imx233.h | |||
@@ -0,0 +1,52 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2011 by Amaury Pouly | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or | ||
13 | * modify it under the terms of the GNU General Public License | ||
14 | * as published by the Free Software Foundation; either version 2 | ||
15 | * of the License, or (at your option) any later version. | ||
16 | * | ||
17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
18 | * KIND, either express or implied. | ||
19 | * | ||
20 | ****************************************************************************/ | ||
21 | #ifndef __IMX233_H__ | ||
22 | #define __IMX233_H__ | ||
23 | |||
24 | #define IRAM_ORIG 0 | ||
25 | #define IRAM_SIZE 0x8000 | ||
26 | #define DRAM_ORIG 0x40000000 | ||
27 | #define DRAM_SIZE 0x20000000 | ||
28 | |||
29 | #define TTB_BASE_ADDR (DRAM_ORIG + (MEMORYSIZE*0x100000) - TTB_SIZE) | ||
30 | #define TTB_SIZE (0x4000) | ||
31 | #define TTB_BASE ((unsigned long *)TTB_BASE_ADDR) | ||
32 | #define FRAME_SIZE (240*320*2) | ||
33 | |||
34 | /* USBOTG */ | ||
35 | #define USB_QHARRAY_ATTR __attribute__((section(".qharray"),nocommon,aligned(2048))) | ||
36 | #define USB_NUM_ENDPOINTS 5 | ||
37 | #define USB_DEVBSS_ATTR NOCACHEBSS_ATTR | ||
38 | #define USB_BASE 0x80080000 | ||
39 | /* | ||
40 | #define QHARRAY_SIZE ((64*USB_NUM_ENDPOINTS*2 + 2047) & (0xffffffff - 2047)) | ||
41 | #define QHARRAY_PHYS_ADDR ((FRAME_PHYS_ADDR - QHARRAY_SIZE) & (0xffffffff - 2047)) | ||
42 | */ | ||
43 | |||
44 | #define __REG_SET(reg) (*((volatile uint32_t *)(® + 1))) | ||
45 | #define __REG_CLR(reg) (*((volatile uint32_t *)(® + 2))) | ||
46 | #define __REG_TOG(reg) (*((volatile uint32_t *)(® + 3))) | ||
47 | |||
48 | #define __BLOCK_SFTRST (1 << 31) | ||
49 | #define __BLOCK_CLKGATE (1 << 30) | ||
50 | |||
51 | |||
52 | #endif /* __IMX233_H__ */ | ||