Colour targets: Revert an optimisation from almost 18 months ago that actually turned...
[Rockbox.git] / firmware / export / config-c200.h
blob81b79373e4eb1cb68889ff041d5f1e60f25cf1a4
1 /*
2 * This config file is for the Sandisk Sansa e200
3 */
4 #define TARGET_TREE /* this target is using the target tree system */
6 /* For Rolo and boot loader */
7 #define MODEL_NUMBER 20
8 #define MODEL_NAME "Sandisk Sansa c200"
10 #define HW_SAMPR_CAPS (SAMPR_CAP_44)
12 /* define this if you have recording possibility */
13 #define HAVE_RECORDING
15 #define REC_SAMPR_CAPS (SAMPR_CAP_22)
16 #define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */
17 #define REC_SAMPR_DEFAULT SAMPR_22
19 /* Define bitmask of input sources - recordable bitmask can be defined
20 explicitly if different */
21 #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
23 /* define this if you have a bitmap LCD display */
24 #define HAVE_LCD_BITMAP
26 /* define this if you have a colour LCD */
27 #define HAVE_LCD_COLOR
29 /* define this if you want album art for this target */
30 #define HAVE_ALBUMART
32 /* define this if you have a light associated with the buttons */
33 #define HAVE_BUTTON_LIGHT
35 /* define this if you have access to the quickscreen */
36 #define HAVE_QUICKSCREEN
38 /* define this if you have access to the pitchscreen */
39 #define HAVE_PITCHSCREEN
41 /* define this if you would like tagcache to build on this target */
42 #define HAVE_TAGCACHE
44 /* LCD dimensions */
45 #define LCD_WIDTH 132
46 #define LCD_HEIGHT 80
47 #define LCD_DEPTH 16 /* 65536 colours */
48 #define LCD_PIXELFORMAT RGB565 /* rgb565 */
50 /* define this if you have LCD enable function */
51 /* TODO: #define HAVE_LCD_ENABLE */
53 /* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
54 should be defined as well. */
55 /* TODO: #define HAVE_LCD_SLEEP */
56 /* TODO: #define HAVE_LCD_SLEEP_SETTING <= optional */
58 /* define this if you can flip your LCD */
59 #define HAVE_LCD_FLIP
61 /* define this if you can invert the colours on your LCD */
62 /* TODO: #define HAVE_LCD_INVERT */
64 /* Define this if your LCD can set contrast */
65 #define HAVE_LCD_CONTRAST
67 #define MIN_CONTRAST_SETTING 0
68 #define MAX_CONTRAST_SETTING 255
69 #define DEFAULT_CONTRAST_SETTING 85
71 /* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR *//* put the lcd frame buffer in IRAM */
73 #define CONFIG_KEYPAD SANSA_C200_PAD
75 /* define this if the target has volume keys which can be used in the lists */
76 #define HAVE_VOLUME_IN_LIST
78 /* Define this if you do software codec */
79 #define CONFIG_CODEC SWCODEC
81 /* There is no hardware tone control */
82 #define HAVE_SW_TONE_CONTROLS
84 /* The PP5024 has a built-in AustriaMicrosystems AS3514 */
85 #define HAVE_AS3514
87 /* define this if you have a real-time clock */
88 #ifndef BOOTLOADER
89 #define CONFIG_RTC RTC_AS3514
90 #endif
92 /* Define this if you have a software controlled poweroff */
93 #define HAVE_SW_POWEROFF
95 /* Some Sansa E200s seem to be FAT16 formatted */
96 #define HAVE_FAT16SUPPORT
98 /* The number of bytes reserved for loadable codecs */
99 #define CODEC_SIZE 0x80000
101 /* The number of bytes reserved for loadable plugins */
102 #define PLUGIN_BUFFER_SIZE 0x80000
104 #define AB_REPEAT_ENABLE 1
106 /* FM Tuner */
107 #define CONFIG_TUNER LV24020LP
108 #define HAVE_TUNER_PWR_CTRL
110 /* Define this for LCD backlight available */
111 #define HAVE_BACKLIGHT
112 #define HAVE_BACKLIGHT_BRIGHTNESS
114 /* define this if you have a flash memory storage */
115 #define HAVE_FLASH_STORAGE
117 /* define this if the flash memory uses the SecureDigital Memory Card protocol */
118 #define HAVE_ATA_SD
120 #define BATTERY_CAPACITY_DEFAULT 530 /* default battery capacity */
121 #define BATTERY_CAPACITY_MIN 530 /* min. capacity selectable */
122 #define BATTERY_CAPACITY_MAX 530 /* max. capacity selectable */
123 #define BATTERY_CAPACITY_INC 0 /* capacity increment */
124 #define BATTERY_TYPES_COUNT 1 /* only one type */
126 /* Hardware controlled charging? FIXME */
127 #define CONFIG_CHARGING CHARGING_SIMPLE
129 /* define this if the unit can be powered or charged via USB */
130 #define HAVE_USB_POWER
132 /** Non-simulator section **/
133 #ifndef SIMULATOR
135 /* Define this if you have a PortalPlayer PP5024 */
136 #define CONFIG_CPU PP5022
138 /* Define this if you want to use the PP5024 i2c interface */
139 #define CONFIG_I2C I2C_PP5024
141 /* define this if the hardware can be powered off while charging */
142 /* Sansa can't be powered off while charging */
143 /* #define HAVE_POWEROFF_WHILE_CHARGING */
145 /* The start address index for ROM builds */
146 #define ROM_START 0x00000000
148 /* Define this to the CPU frequency */
149 #define CPU_FREQ 75000000
151 /* Type of LCD TODO: hopefully the same as the x5 but check this*/
152 #define CONFIG_LCD LCD_C200
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
159 /* #define USB_IPODSTYLE */
161 #ifndef BOOTLOADER
162 #define HAVE_MULTIVOLUME
163 #define HAVE_HOTSWAP
164 #endif
166 /* USB On-the-go */
167 #define CONFIG_USBOTG USBOTG_ARC
169 /* enable these for the experimental usb stack */
170 #define HAVE_USBSTACK
171 #define USB_VENDOR_ID 0x0781
172 #define USB_PRODUCT_ID 0x7450
174 /* Virtual LED (icon) */
175 #define CONFIG_LED LED_VIRTUAL
177 /* Define this if you have adjustable CPU frequency */
178 #define HAVE_ADJUSTABLE_CPU_FREQ
180 #define MI4_FORMAT
181 #define BOOTFILE_EXT "mi4"
182 #define BOOTFILE "rockbox." BOOTFILE_EXT
183 #define BOOTDIR "/.rockbox"
185 #define ICODE_ATTR_TREMOR_NOT_MDCT
187 #define INCLUDE_TIMEOUT_API
189 #endif /* SIMULATOR */
191 /** Port-specific settings **/
193 /* Main LCD backlight brightness range and defaults */
194 #define MIN_BRIGHTNESS_SETTING 1
195 #define MAX_BRIGHTNESS_SETTING 12
196 #define DEFAULT_BRIGHTNESS_SETTING 6
198 /* Default recording levels */
199 #define DEFAULT_REC_MIC_GAIN 23
200 #define DEFAULT_REC_LEFT_GAIN 23
201 #define DEFAULT_REC_RIGHT_GAIN 23